The Nuvio API uses API keys to authenticate requests. Send the key in the Authorization header
as a bearer token:
Authorization: Bearer <api_key>
A key belongs to the Nuvio company it was created in, not to a person: every request made with it reads or writes that company's records. Each key carries scopes, and an endpoint answers only a key that has its scope.
Keep your keys secret. Don't put them in code that runs in a browser or an app, or in a public repository;
read them from an environment variable on your server instead. The examples here use
NUVIO_API_TOKEN.
Create an API key
Owners and Company Admins of a company can create its keys in Nuvio:
- In Nuvio, open Settings › Company › Developers.
- Under API Keys, choose Add New API Key.
- Give the key a name that says where it's used, such as the app or service that will call the API.
- Select the scopes it needs (see below), then choose Save.
- Copy the key and store it somewhere safe. Nuvio shows it only once: after you close the window, it can't be shown again.
To revoke a key, choose Delete next to it on the same page. Requests made with it are refused from then on. If a key may have leaked, delete it and create a new one.
Scopes
Give each key only the scopes its integration needs. A request with a key that lacks the endpoint's scope gets
403 with error 1001.
-
readRead records: every GET endpoint, and the expense and income lists.
Show 17 endpoints Hide endpoints
-
GET
/v1/transactionsList all Transactions -
GET
/v1/transactions/{id}Get a Transaction by ID -
GET
/v1/accountsList all Bank Accounts -
GET
/v1/accounts/{id}Get a Bank Account by ID -
GET
/v1/business-entitiesList all Customers or Suppliers -
GET
/v1/business-entities/{id}Get a Customer or Supplier by ID -
POST
/v1/list-expensesList all expenses -
GET
/v1/expense/{id}Get an Expense by ID -
POST
/v1/list-incomesList all incomes -
GET
/v1/income/{id}Get an Income by ID -
GET
/v1/product-servicesList all Products & Services -
GET
/v1/product-services/{id}Get a Product / Service by ID -
GET
/v1/projectList all Projects -
GET
/v1/project/{id}Get a Project by ID -
GET
/v1/tagsList all Tags -
GET
/v1/tags/{id}Get a Tag by ID -
GET
/v1/taxTax List
-
GET
-
writeCreate records, and record or match payments.
Show 10 endpoints Hide endpoints
-
POST
/v1/transactionsAdd a new Transaction -
POST
/v1/accountsCreate a new Bank Account -
POST
/v1/business-entitiesCreate a new Customer or Supplier -
POST
/v1/expenseCreate a new Expense -
POST
/v1/incomeCreate a new Income -
POST
/v1/add-paymentRecord a new payment -
POST
/v1/match-payment/{transactionId}Match payment with an existing Transaction -
POST
/v1/product-servicesCreate a new Product or Service -
POST
/v1/projectCreate a new Project -
POST
/v1/tagsCreate a new Tag
-
POST
-
updateChange existing records: every PUT endpoint.
Show 8 endpoints Hide endpoints
-
PUT
/v1/transactions/{id}Update Transaction -
PUT
/v1/accounts/{id}Update Bank Account -
PUT
/v1/business-entities/{id}Update Customer or Supplier -
PUT
/v1/expense/{id}Update expense -
PUT
/v1/income/{id}Update income -
PUT
/v1/product-services/{id}Update Product or Service -
PUT
/v1/project/{id}Update Project -
PUT
/v1/tags/{id}Update Tag
-
PUT
When authentication fails
401- No usable
Authorization: Bearer <api_key>header. Error code1002. 403- The key is unknown or deleted, or lacks the scope the endpoint needs. Error code
1001.