Responsive Invoices REST API
Responsive Invoices is a SaaS accounting platform that provides the ability to manage day to day financial information.
The REST API allows for areas of customer data within Responsive Invoices to be read and manipulated. It is a developer platform for businesses to control their own data, should a custom need be required.
Please note that the REST API is available for customers with a paid subscription to Responsive Invoices.
Authentication
There are 2 use cases for requirements when authenticating with Responsive Invoices.
- Single account access - Personal Access Token
- Multiple account and/or customer access - OAuth 2
Personal Access Token
Example request
curl https://rest.responsiveinvoices.com/v1/invoices \
-H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImEwMGRiMTBlYjljNWFmYjc4NmExMTViNjdjNDQyNDQ1OWY1ZGZkMmI2NDViMGM2ZGYzNTBiNjFkYjYwYmUzZDE3Mjk3ZDNiNDBjMzM1YWY5In0.eyJhdWQiOiIxIiwianRpIjoiYTAwZGIxMGViOWM1YWZiNzg2YTExNWI2N2M0NDI0NDU5ZjVkZmQyYjY0NWIwYzZkZjM1MGI2MWRiNjBiZTNkMTcyOTdkM2I0MGMzMzVhZjkiLCJpYXQiOjE1NzIxMjY2MDYsIm5iZiI6MTU3MjEyNjYwNiwiZXhwIjoxNjAzNzQ5MDA2LCJzdWIiOiIxMDEiLCJzY29wZXMiOlsicmVhZF9hcGkiXX0.PWkM-yZNXSYjt5maky6tFe7E3y1RVRuk8fpRQEd9THi00JdfysTMOaABAbFWucVv8bmyaH_BF7_asPc_PV1QYD7PGKCBSVw2Q-LtwqulD1qcfWCp3OnrWZ7cbi21rDmi0roRxJg6WCx1ptip8OAGHnAXRB6zOvwyF6DZRdPN61isSCBtcSLuc3ehKvRWLz1Putk_QxAhsJZ6K0f60Z1YNvhWSwiutKU3Eoo0y1a5LnjoUVEvw1_PiKXnKrA_bGDuABlEePG40mGMtEtXYWapheO1S6csb1iCnQe05R0CeXu5JApLIEIofrWIHDSzGujkbvG6MzeYiWjsgl9EdVUM0OC6F_DjVa9sW3GvBnT5Ht6lwbKW71GHVIydwVQfyX_erAmnRVbkjlGAnwW77PgDJxqFFKPJ1sXT_7GLuZUthSbEW527lrZtcfRcVYpXBJIcDctRiwztHQ3PkgjCyECZPxFkd3TGguIZxBF8_ylRKnN7Z6g95N35x6727JqpaL-8K3IjMQxpc27EBUCPjp4wyQOTLqZERoWlEsbdGFtqDDGN3Y8p_1VL8_tU4q_c3ihgUQlgBF9a2j60-JSoKm5PE8NPYqi_67-R0Xc7YWgKnBfb3g5fRCooJ-oBK5Q2htMzboOeUk2HCPnYfCOcEvnnGQo1Ni5aarXQjrRa-FyChh8"
Authentication with a single personal access token is the easiest way to connect to your account quickly. Once a token is
generated it can be used within the Authorization
header.
A personal access token can be created within the Developers page of your account, found here: https://my.responsiveinvoices.com/account/oauth
OAuth 2
If you are requiring integration access to customer accounts we recommend that the process is automated via OAuth 2 authentication. To set up OAuth 2 you will need to register a client within the Developers page of your account, found here: https://my.responsiveinvoices.com/account/oauth.
The current API is based on version 22 of the OAuth 2.0 specification. If you are familiar with OAuth, then the authentication endpoints are as follows:
- Authorization: https://rest.responsiveinvoices.com/oauth/authorize
- Token Request: https://rest.responsiveinvoices.com/oauth/token
We very highly recommend using a third-party library in your chosen language rather than trying to implement OAuth flows manually. You can find a list of recommended libraries here
Pagination
curl https://rest.responsiveinvoices.com/invoice?limit \
-H "Authorization: Bearer {ACCESS_TOKEN}"
-d limit=20 \
-d page=3
For all methods that return more than a single object we provide pagination. This can be used by sending the following query parameters.
Attribute | Type | Description | Readonly |
---|---|---|---|
limit | Integer | The total number of objects that can be returned. Defaults to 10 . Has a maximum of 100 . |
|
page | Integer | The current page offset. Increasing this number will multiply limit . Defaults to 1 . |
Rate Limiting
To ensure that the API experience is quick for all customers we do implement rate limiting. Should you reach our limits you will be presented with an error message. If you are having difficulties with limits please feel free to contact us.
Errors
Responsive Invoices uses HTTP response codes to indicate the success or failure of a request. Codes within the
2xx
range are considered as successfully completed transactions. Codes within the 4xx
and 5xx
ranges will
indicate that a failure has occurred.
We use the following error codes to manage common failures.
Error Code | Meaning |
---|---|
400 | Bad Request -- You have passed a malformed request |
401 | Unauthorized -- Please check your Authorization header. The Bearer token provided is not valid. |
402 | Payment Required -- Your subscription has lapsed |
404 | Not Found -- The specified method could not be found. |
405 | Method Not Allowed -- You tried to access an endpoint with an invalid method. |
406 | Not Acceptable -- You requested a format that isn't json. |
422 | Unprocessable Entity -- There is a validation issue with your request. We will provide codes and messages within the response. |
429 | Too Many Requests -- The rate that you are sending messages is too fast. We recommend slowing down your requests. |
500, 502, 503, 504 | There is an issue with Responsive Invoices. These are rare and we will be messaged when they occur. |
Invoice
This is an object representing an invoice
The Invoice object
{
"id": 34523,
"object": "invoice",
"recurringInvoice": {
"id": 725,
"object": "recurring-invoice"
},
"status": "unpaid",
"seller": {
"id": 342,
"object": "seller",
"name": "Retrovee - Online Fashion",
"description": "23 Business St\nThe City",
"email": "accounts@retrovee.***",
"currency": {
"id": 23,
"object": "currency",
"code": "USD"
},
"invoiceLabelPrefix": "RET",
"paymentTerm": "net-30",
"active": true
},
"buyer": {
"id": 77283,
"object": "buyer",
"name": "Simon Hall",
"description": "",
"email": "*******@gmail.com",
"active": true
},
"summary": "",
"paymentTerm": "net-30",
"issueDate": "2019-04-14",
"dueDate": "2019-05-14",
"invoiceNo": "RET3482",
"lineItems": [
{
"name": "Retro Shirt",
"description": "Colour: Red\nSize: Large",
"price": 39.96,
"quantity": 2,
"lineItemTotal": 79.92,
"lineSubtotal": 79.92,
"position": 1
},
{
"name": "Retro Shorts",
"description": "",
"price": 19,
"quantity": 1,
"lineItemTotal": 19,
"lineSubtotal": 98.92,
"position": 2
}
],
"subtotal": 98.92,
"discountLineItems": [
{
"key": "flat",
"label": "Discount",
"value": 10,
"lineItemTotal": 10,
"lineSubtotal": 88.92,
"position": 1
}
],
"taxLineItems": [
{
"tax_id": 2,
"label": "GST",
"value": 10,
"lineItemTotal": 8.89,
"lineSubtotal": 97.81,
"position": 1
}
],
"total": 97.81,
"totalPaid": 0,
"totalDue": 97.81,
"currency": {
"id": 23,
"object": "currency",
"code": "USD"
},
"paymentMethod": "Please proceed to the cashier to pay.",
"notes": "",
"termsOfSale": ""
}
Attribute | Type | Description | Readonly |
---|---|---|---|
id | Integer | A unique identifier for the resource. | Yes |
object | String | String representing the object’s type. Value is invoice . |
Yes |
recurringInvoice | Object | A Recurring Invoice object. | Yes |
version | Integer | The current invoice version | Yes |
status | String | The current status of the invoice. One of unpaid , sent , paid , overdue and written-off . Defaults to unpaid . |
Yes |
seller | Object | A Seller object. The Seller linked to the Invoice object. | |
buyer | Object | A Buyer object. The Buyer linked to the Invoice object. | |
summary | String | The summary line at the top of the invoice. | |
paymentTerm | String | Defaults to the Seller's paymentTerm . One of upon-receipt , net-15 , net-30 , net-45 , net-60 and due-date . |
|
issueDate | String | The issue date in an ISO 8601 format of YYYY-MM-DD . |
|
dueDate | String | The due date in an ISO 8601 format of YYYY-MM-DD . |
|
invoiceNo | String | The invoice number is automatically generated with a Seller's invoiceLabelPrefix . |
Yes |
lineItems | Array | An array of Line Item objects. | |
subtotal | Float | The line item subtotal. | Yes |
discountLineItems | Array | An array of Discount Line Item objects. | |
taxLineItems | Array | An array of Tax Line Item objects. | |
total | Float | The total of the invoice. | Yes |
totalPaid | Float | The total sum of payments to this invoice. | Yes |
totalDue | Float | The remaining sum to be paid. | Yes |
currency | Object | A Currency object. The Currency linked to the Invoice object. | |
paymentMethod | String | Defaults to the Account's paymentMethod . |
|
notes | String | Additional notes specific to this invoice. | |
termsOfSale | String | Defaults to the Account's termsOfSale . |
|
writtenOffAt | String | Null | The written off date of the invoice. | Yes |
Recurring Invoice
Attribute | Type | Description | Readonly |
---|---|---|---|
id | Integer | A unique identifier for the resource. | Yes |
object | String | String representing the object’s type. Value is recurring-invoice . |
Yes |
Seller
Attribute | Type | Description | Readonly |
---|---|---|---|
id | Integer | A unique identifier for the resource. | Yes |
object | String | String representing the object’s type. Value is seller . |
Yes |
name | String | Yes | |
description | String | This message will be shown by default on all new invoices. Be sure to include any tax particulars required by your region. | Yes |
String | Yes | ||
currency | Object | A Currency object. This currency will be shown by default on all new invoices for this seller. | |
invoiceLabelPrefix | String | Changes to this code will only apply to new invoices. | Yes |
paymentTerm | String | This term will be shown by default on all new Invoice objects for this seller. One of upon-receipt , net-15 , net-30 , net-45 , net-60 and due-date . |
Yes |
active | Boolean | Defaults to true . |
Yes |
Currency
Attribute | Type | Description | Readonly |
---|---|---|---|
id | Integer | A unique identifier for the resource. | Yes |
object | String | String representing the object’s type. Value is currency . |
Yes |
code | String | The ISO 4217 currency code. | Yes |
Buyer
Attribute | Type | Description | Readonly |
---|---|---|---|
id | Integer | A unique identifier for the resource. | Yes |
object | String | String representing the object’s type. Value is buyer . |
Yes |
name | String | ||
description | String | This message will be shown by default on all new invoices. Be sure to include any tax particulars required by their region. | |
String | |||
active | Boolean | Defaults to true . |
Line Item
Attribute | Type | Description | Readonly |
---|---|---|---|
name | String | The name of the line item. | |
description | String | The description of the line item. This value can be displayed across multiple lines. This assists with any variants that need to be displayed. | |
price | Float | Defaults to 0 . |
|
quantity | Float | Defaults to 1 . |
|
lineItemTotal | Float | Yes | |
lineSubtotal | Float | Yes | |
position | Integer | The display order of line items Defaults to 1 . |
Discount Line Item
Attribute | Type | Description | Readonly |
---|---|---|---|
key | String | Value is flat , percentage . |
|
label | String | The description added to the invoice. ie, Discount (33%). | Yes |
value | Float | The flat number (ie, 134.50 ) or percentage (ie, 33 ). |
|
lineItemTotal | Float | Yes | |
lineSubtotal | Float | Yes | |
position | Integer | The display order of line items Defaults to 1 . |
Tax Line Item
Attribute | Type | Description | Readonly |
---|---|---|---|
id | Integer | A unique identifier for the Tax object. | |
label | String | The Tax's name . |
Yes |
value | Float | The Tax's percentage . |
Yes |
lineItemTotal | Float | Yes | |
lineSubtotal | Float | Yes | |
position | Integer | The display order of line items Defaults to 1 . |
Currency
Attribute | Type | Description | Readonly |
---|---|---|---|
id | Integer | A unique identifier for the resource. | Yes |
object | String | String representing the object’s type. Value is currency . |
Yes |
code | String | The ISO 4217 currency code. | Yes |
List all invoices
curl https://rest.responsiveinvoices.com/v1/invoices \
-H "Authorization: Bearer {ACCESS_TOKEN}"
{
"data": [
{
"id": 34523,
"object": "invoice",
"recurringInvoice": {
"id": 725,
"object": "recurring-invoice"
},
"status": "unpaid",
"seller": {
"id": 342,
"name": "Retrovee - Online Fashion",
"description": "23 Business St\nThe City",
"email": "accounts@retrovee.***",
"currency": {
"id": 23,
"object": "currency",
"code": "USD"
},
"invoiceLabelPrefix": "RET",
"paymentTerm": "net-30",
"active": true
},
"buyer": {
"id": 77283,
"name": "Simon Hall",
"description": "",
"email": "*******@gmail.com",
"active": true
},
"summary": "",
"paymentTerm": "net-30",
"issueDate": "2019-04-14",
"dueDate": "2019-05-14",
"invoiceNo": "RET3482",
"lineItems": [
{
"name": "Retro Shirt",
"description": "Colour: Red\nSize: Large",
"price": 39.96,
"quantity": 2,
"lineItemTotal": 79.92,
"lineSubtotal": 79.92,
"position": 1
},
{
"name": "Retro Shorts",
"description": "",
"price": 19,
"quantity": 1,
"lineItemTotal": 19,
"lineSubtotal": 98.92,
"position": 2
}
],
"subtotal": 98.92,
"discountLineItems": [
{
"key": "flat",
"label": "Discount",
"value": 10,
"lineItemTotal": 10,
"lineSubtotal": 88.92,
"position": 1
}
],
"taxLineItems": [
{
"tax_id": 2,
"label": "GST",
"value": 10,
"lineItemTotal": 8.89,
"lineSubtotal": 97.81,
"position": 1
}
],
"total": 97.81,
"totalPaid": 0,
"totalDue": 97.81,
"currency": {
"id": 23,
"object": "currency",
"code": "USD"
},
"paymentMethod": "Please proceed to the cashier to pay.",
"notes": "",
"termsOfSale": ""
},
{...},
{...}
],
"links": {
"first": "https:\/\/rest.responsiveinvoices.com\/v1\/invoices?page=1",
"last": "https:\/\/rest.responsiveinvoices.com\/v1\/invoices?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "https:\/\/rest.responsiveinvoices.com\/v1\/invoices",
"per_page": 10,
"to": 1,
"total": 1
}
}
GET /invoices
Returns a list of invoices you’ve previously created. The invoices are returned in sorted order, with the most recent invoices appearing first.
Create a new invoice
curl https://rest.responsiveinvoices.com/v1/invoices \
-H "Authorization: Bearer {ACCESS_TOKEN}" \
-d seller[id]=342 \
-d buyer[name]="Simon Hall" \
-d buyer[description]="" \
-d buyer[email]="*******@gmail.com" \
-d summary="In store purchase" \
-d paymentTerm="net-30" \
-d issueDate="2019-04-14" \
-d lineItems[0][name]="Retro Shirt" \
-d lineItems[0][description]="Colour: Red\nSize: Large" \
-d lineItems[0][price]=39.96 \
-d lineItems[0][quantity]=2 \
-d lineItems[0][position]=1 \
-d lineItems[1][name]="Retro Shorts" \
-d lineItems[1][description]="" \
-d lineItems[1][price]=19 \
-d lineItems[1][quantity]=1 \
-d lineItems[1][position]=2 \
-d discountLineItems[0][key]="flat" \
-d discountLineItems[0][value]=10 \
-d taxLineItems[0][id]=2 \
-d paymentMethod="Please proceed to the cashier to pay."
{
"id": 34523,
"object": "invoice"
}
POST /invoices
Creates a new invoice object.
Attribute | Type | Description | Required |
---|---|---|---|
seller | Object | A Seller object. | Yes |
buyer | Object | A Buyer object. | Yes |
summary | String | The summary line at the top of the invoice. | |
paymentTerm | String | Defaults to the Seller's paymentTerm . One of upon-receipt , net-15 , net-30 , net-45 , net-60 and due-date . |
|
issueDate | String | The issue date in an ISO 8601 format of YYYY-MM-DD . |
Yes |
dueDate | String | The due date in an ISO 8601 format of YYYY-MM-DD . |
|
lineItems | Array | An array of Line Item objects. | |
discountLineItems | Array | An array of Discount Line Item objects. | |
taxLineItems | Array | An array of Tax Line Item objects. | |
paymentMethod | String | Defaults to the Account's paymentMethod . |
|
notes | String | Additional notes specific to this invoice. | |
termsOfSale | String | Defaults to the Account's termsOfSale . |
Seller
Attribute | Type | Description | Required |
---|---|---|---|
id | Integer | A unique identifier for the resource. | |
name | String | ||
description | String | This message will be shown by default on all new invoices. Be sure to include any tax particulars required by your region. | |
String |
Buyer
Attribute | Type | Description | Required |
---|---|---|---|
id | Integer | A unique identifier for the resource. | |
name | String | ||
description | String | This message will be shown by default on all new invoices. Be sure to include any tax particulars required by their region. | |
String |
Line Item
Attribute | Type | Description | Required |
---|---|---|---|
name | String | The name of the line item. | |
description | String | The description of the line item. This value can be displayed across multiple lines. This assists with any variants that need to be displayed. | |
price | Float | Defaults to 0 . |
|
quantity | Float | Defaults to 1 . |
|
position | Integer | The display order of line items Defaults to 1 . |
Discount Line Item
Attribute | Type | Description | Required |
---|---|---|---|
key | String | Value is flat , percentage . |
|
value | Float | The flat number (ie, 134.50 ) or percentage (ie, 33 ). |
Tax Line Item
Attribute | Type | Description | Required |
---|---|---|---|
id | Integer | A unique identifier for the Tax object. |
Retrieve a particular invoice
curl https://rest.responsiveinvoices.com/v1/invoices/989 \
-H "Authorization: Bearer {ACCESS_TOKEN}"
{
"id": 34523,
"object": "invoice",
"recurringInvoice": {
"id": 725,
"object": "recurring-invoice"
},
"status": "unpaid",
"seller": {
"id": 342,
"object": "seller",
"name": "Retrovee - Online Fashion",
"description": "23 Business St\nThe City",
"email": "accounts@retrovee.***",
"currency": {
"id": 23,
"object": "currency",
"code": "USD"
},
"invoiceLabelPrefix": "RET",
"paymentTerm": "net-30",
"active": true
},
"buyer": {
"id": 77283,
"object": "buyer",
"name": "Simon Hall",
"description": "",
"email": "*******@gmail.com",
"active": true
},
"summary": "",
"paymentTerm": "net-30",
"issueDate": "2019-04-14",
"dueDate": "2019-05-14",
"invoiceNo": "RET3482",
"lineItems": [
{
"name": "Retro Shirt",
"description": "Colour: Red\nSize: Large",
"price": 39.96,
"quantity": 2,
"lineItemTotal": 79.92,
"lineSubtotal": 79.92,
"position": 1
},
{
"name": "Retro Shorts",
"description": "",
"price": 19,
"quantity": 1,
"lineItemTotal": 19,
"lineSubtotal": 98.92,
"position": 2
}
],
"subtotal": 98.92,
"discountLineItems": [
{
"key": "flat",
"label": "Discount",
"value": 10,
"lineItemTotal": 10,
"lineSubtotal": 88.92,
"position": 1
}
],
"taxLineItems": [
{
"tax_id": 2,
"label": "GST",
"value": 10,
"lineItemTotal": 8.89,
"lineSubtotal": 97.81,
"position": 1
}
],
"total": 97.81,
"totalPaid": 0,
"totalDue": 97.81,
"currency": {
"id": 23,
"object": "currency",
"code": "USD"
},
"paymentMethod": "Please proceed to the cashier to pay.",
"notes": "",
"termsOfSale": ""
}
GET /invoices/{RESOURCE_ID}
Retrieves the details of an existing invoice. You need only supply the unique invoice identifier that was returned upon invoice creation.
Update an invoice
curl https://rest.responsiveinvoices.com/v1/invoices/920 \
-H "Authorization: Bearer {ACCESS_TOKEN}" \
-d seller[id]=342 \
-d seller[name]="Retrovee - Online Fashion" \
-d seller[description]="23 Business St
The City" \
-d seller[email]="accounts@retrovee.***" \
-d buyer[id]=77283 \
-d buyer[name]="Simon Hall" \
-d buyer[description]="" \
-d buyer[email]="*******@gmail.com" \
-d summary="In store purchase" \
-d paymentTerm="net-30" \
-d issueDate="2019-04-14" \
-d lineItems[0][name]="Retro Shirt" \
-d lineItems[0][description]="Colour: Red\nSize: Large" \
-d lineItems[0][price]=39.96 \
-d lineItems[0][quantity]=2 \
-d lineItems[0][position]=1 \
-d lineItems[1][name]="Retro Shorts" \
-d lineItems[1][description]="" \
-d lineItems[1][price]=19 \
-d lineItems[1][quantity]=1 \
-d lineItems[1][position]=2 \
-d discountLineItems[0][key]="flat" \
-d discountLineItems[0][value]=10 \
-d taxLineItems[0][id]=2 \
-d paymentMethod="Please proceed to the cashier to pay."
{
"id": 34523,
"object": "invoice"
}
POST /invoices/{RESOURCE_ID}
Updates the specified invoice by setting the values of the parameters passed.
Any parameters not provided will be left unchanged. This request accepts the same arguments as the invoice creation call.
Attribute | Type | Description | Required |
---|---|---|---|
seller | Float | The Seller's id . |
Yes |
buyer | Float | The Buyer's id . |
Yes |
summary | String | The summary line at the top of the invoice. | |
paymentTerm | String | Defaults to the Seller's paymentTerm . One of upon-receipt , net-15 , net-30 , net-45 , net-60 and due-date . |
|
issueDate | String | The issue date in an ISO 8601 format of YYYY-MM-DD . |
Yes |
dueDate | String | The due date in an ISO 8601 format of YYYY-MM-DD . |
|
lineItems | Array | An array of Line Item objects. | |
discountLineItems | Array | An array of Discount Line Item objects. | |
taxLineItems | Array | An array of Tax Line Item objects. | |
paymentMethod | String | Defaults to the Account's paymentMethod . |
|
notes | String | Additional notes specific to this invoice. | |
termsOfSale | String | Defaults to the Account's termsOfSale . |
Line Item
Attribute | Type | Description | Required |
---|---|---|---|
name | String | The name of the line item. | |
description | String | The description of the line item. This value can be displayed across multiple lines. This assists with any variants that need to be displayed. | |
price | Float | Defaults to 0 . |
|
quantity | Float | Defaults to 1 . |
|
position | Integer | The display order of line items Defaults to 1 . |
Discount Line Item
Attribute | Type | Description | Required |
---|---|---|---|
key | String | Value is flat , percentage . |
|
value | Float | The flat number (ie, 134.50 ) or percentage (ie, 33 ). |
Tax Line Item
Attribute | Type | Description | Required |
---|---|---|---|
id | Integer | A unique identifier for the Tax object. |
Delete an invoice
curl https://rest.responsiveinvoices.com/v1/invoices/599 \
-X DELETE \
-H "Authorization: Bearer {ACCESS_TOKEN}"
{
"id": 877,
"object": "invoice",
"deleted": true
}
DELETE /invoices/{RESOURCE_ID}
Permanently deletes an invoice. It cannot be undone.
Invoice Payments
This is an object representing an invoice payment
The Invoice Payment object
{
"id": 8672,
"object": "invoice-payment",
"date": "2019-06-02",
"amount": 239.45,
"currency": {
"id": 23,
"object": "currency",
"code": "USD"
},
"description": "Paid to business bank account",
"createdAt": "2019-11-01T19:10:01+0000",
"deletedAt": null
}
Attribute | Type | Description | Readonly |
---|---|---|---|
id | Integer | A unique identifier for the resource. | Yes |
object | String | String representing the object’s type. Value is invoice-payment . |
Yes |
invoice | Object | Yes | |
method | String | Value is direct , stripe . |
Yes |
date | String | The payment date in an ISO 8601 format of YYYY-MM-DD . |
|
amount | Float | ||
currency | Object | A Currency object. The Currency linked to the Invoice Payment object. | |
description | String | ||
createdAt | String | The datetime the message was created in an ISO 8601 format of YYYY-MM-DDTHH:MM:SS+0000 . |
Yes |
deletedAt | String | Null | The deletion date of a payment is recorded against a payment. Payments cannot be permanently deleted. | Yes |
Attribute | Type | Description | Readonly |
---|---|---|---|
id | Integer | A unique identifier for the resource. | Yes |
Currency
Attribute | Type | Description | Readonly |
---|---|---|---|
id | Integer | A unique identifier for the resource. | Yes |
object | String | String representing the object’s type. Value is currency . |
Yes |
code | String | The ISO 4217 currency code. | Yes |
List all invoice payments
curl https://rest.responsiveinvoices.com/v1/invoice-payments \
-H "Authorization: Bearer {ACCESS_TOKEN}"
{
"data": [
{
"id": 8672,
"object": "invoice-payment",
"date": "2019-06-02",
"amount": 239.45,
"description": "Paid to business bank account",
"createdAt": "2019-11-01T19:10:01+0000",
"deletedAt": null
},
{...},
{...}
],
"links": {
"first": "https:\/\/rest.responsiveinvoices.com\/v1\/invoices\/12\/payments?page=1",
"last": "https:\/\/rest.responsiveinvoices.com\/v1\/invoices\/12\/payments?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "https:\/\/rest.responsiveinvoices.com\/v1\/invoices\/12\/payments",
"per_page": 10,
"to": 1,
"total": 1
}
}
GET /invoice-payments
Returns a list of invoice payments you’ve previously created. The invoice payments are returned in sorted order, with the most recent invoice payments appearing first.
Create a new invoice payment
curl https://rest.responsiveinvoices.com/v1/invoice-payments \
-H "Authorization: Bearer {ACCESS_TOKEN}" \
-d date="2019-05-15" \
-d amount=457.8
{
"id": 8672,
"object": "invoice-payment"
}
POST /invoice-payments
Creates a new invoice payment object.
Attribute | Type | Description | Required |
---|---|---|---|
date | String | The payment date in an ISO 8601 format of YYYY-MM-DD . |
Yes |
amount | Float | Yes | |
description | String |
Retrieve a particular invoice payment
curl https://rest.responsiveinvoices.com/v1/invoice-payments/983 \
-H "Authorization: Bearer {ACCESS_TOKEN}"
{
"id": 8672,
"object": "invoice-payment",
"date": "2019-06-02",
"amount": 239.45,
"currency": {
"id": 23,
"object": "currency",
"code": "USD"
},
"description": "Paid to business bank account",
"createdAt": "2019-11-01T19:10:01+0000",
"deletedAt": null
}
GET /invoice-payments/{RESOURCE_ID}
Retrieves the details of an existing invoice payment. You need only supply the unique invoice payment identifier that was returned upon invoice payment creation.
Update an invoice payment
curl https://rest.responsiveinvoices.com/v1/invoice-payments/477 \
-H "Authorization: Bearer {ACCESS_TOKEN}" \
-d date="2019-05-15" \
-d amount=457.8
{
"id": 8672,
"object": "invoice-payment"
}
POST /invoice-payments/{RESOURCE_ID}
Updates the specified invoice payment by setting the values of the parameters passed.
Any parameters not provided will be left unchanged. This request accepts the same arguments as the invoice payment creation call.
Delete an invoice payment
curl https://rest.responsiveinvoices.com/v1/invoice-payments/156 \
-X DELETE \
-H "Authorization: Bearer {ACCESS_TOKEN}"
{
"id": 148,
"object": "invoice-payment",
"deleted": true
}
DELETE /invoice-payments/{RESOURCE_ID}
This method marks the invoice payment as deleted. The resource will remain with an updated deletedAt
value. Once deleted an invoice payment cannot be restored.
Invoice Messages
This is an object representing a invoice message
The Invoice Message object
{
"id": 424,
"object": "invoice-message",
"message": "buyer-invoice-notification",
"gateway": "email",
"from": [
{
"id": 334,
"name": "Fortune Company",
"email": "accounts@fortunecompany.com"
}
],
"to": [
{
"id": 2,
"name": "Sam",
"email": "sam@gmail.com"
}
],
"name": "Sam Evans",
"subject": "Your payment is overdue",
"content": "This document has been created for you with a total of $100 and a due date of 2019-05-23.",
"createdAt": "2019-08-14T13:03:23+0000"
}
Attribute | Type | Description | Readonly |
---|---|---|---|
id | Integer | A unique identifier for the resource. | Yes |
object | String | String representing the object’s type. Value is invoice-message . |
Yes |
message | String | One of buyer-invoice-notification , seller-invoice-notification , unpaid-invoice-notification , paid-invoice-notification and invoice-payment-receipt . |
Yes |
gateway | String | Value is email , slack . |
Yes |
from | Array | Yes | |
to | Array | Yes | |
name | String | Yes | |
subject | String | Yes | |
content | String | Yes | |
createdAt | String | The datetime the message was created in an ISO 8601 format of YYYY-MM-DDTHH:MM:SS+0000 . |
Yes |
Attribute | Type | Description | Readonly |
---|---|---|---|
id | Float | Yes | |
name | String | Yes | |
String | Yes |
Attribute | Type | Description | Readonly |
---|---|---|---|
id | Float | Yes | |
name | String | Yes | |
String | Yes |
List all invoice messages
curl https://rest.responsiveinvoices.com/v1/invoice-messages \
-H "Authorization: Bearer {ACCESS_TOKEN}"
{
"data": [
{
"id": 424,
"object": "invoice-message",
"message": "buyer-invoice-notification",
"gateway": "email",
"from": [
{
"id": 334,
"name": "Fortune Company",
"email": "accounts@fortunecompany.com"
}
],
"to": [
{
"id": 2,
"name": "Sam",
"email": "sam@gmail.com"
}
],
"name": "Sam Evans",
"subject": "Your payment is overdue",
"content": "This document has been created for you with a total of $100 and a due date of 2019-05-23.",
"createdAt": "2019-08-14T13:03:23+0000"
},
{...},
{...}
],
"links": {
"first": "https:\/\/rest.responsiveinvoices.com\/v1\/invoices\/12\/messages?page=1",
"last": "https:\/\/rest.responsiveinvoices.com\/v1\/invoices\/12\/messages?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "https:\/\/rest.responsiveinvoices.com\/v1\/invoices\/12\/messages",
"per_page": 10,
"to": 1,
"total": 1
}
}
GET /invoice-messages
Returns a list of invoice messages you’ve previously created. The invoice messages are returned in sorted order, with the most recent invoice messages appearing first.
Retrieve a particular invoice message
curl https://rest.responsiveinvoices.com/v1/invoice-messages/914 \
-H "Authorization: Bearer {ACCESS_TOKEN}"
{
"id": 424,
"object": "invoice-message",
"message": "buyer-invoice-notification",
"gateway": "email",
"from": [
{
"id": 334,
"name": "Fortune Company",
"email": "accounts@fortunecompany.com"
}
],
"to": [
{
"id": 2,
"name": "Sam",
"email": "sam@gmail.com"
}
],
"name": "Sam Evans",
"subject": "Your payment is overdue",
"content": "This document has been created for you with a total of $100 and a due date of 2019-05-23.",
"createdAt": "2019-08-14T13:03:23+0000"
}
GET /invoice-messages/{RESOURCE_ID}
Retrieves the details of an existing invoice message. You need only supply the unique invoice message identifier that was returned upon invoice message creation.
Invoice Notes
This is an object representing an invoice note
The Invoice Note object
{
"id": 324,
"object": "invoice-note",
"description": "Paid to business bank account",
"createdAt": "2019-03-14T15:13:00+0000"
}
Attribute | Type | Description | Readonly |
---|---|---|---|
id | Integer | A unique identifier for the resource. | Yes |
object | String | String representing the object’s type. Value is invoice-note . |
Yes |
description | String | ||
createdAt | String | The datetime the message was created in an ISO 8601 format of YYYY-MM-DDTHH:MM:SS+0000 . |
Yes |
List all invoice notes
curl https://rest.responsiveinvoices.com/v1/invoice-notes \
-H "Authorization: Bearer {ACCESS_TOKEN}"
{
"data": [
{
"id": 324,
"object": "invoice-note",
"description": "Paid to business bank account",
"createdAt": "2019-03-14T15:13:00+0000"
},
{...},
{...}
],
"links": {
"first": "https:\/\/rest.responsiveinvoices.com\/v1\/invoices\/12\/notes?page=1",
"last": "https:\/\/rest.responsiveinvoices.com\/v1\/invoices\/12\/notes?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "https:\/\/rest.responsiveinvoices.com\/v1\/invoices\/12\/notes",
"per_page": 10,
"to": 1,
"total": 1
}
}
GET /invoice-notes
Returns a list of invoice notes you’ve previously created. The invoice notes are returned in sorted order, with the most recent invoice notes appearing first.
Retrieve a particular invoice note
curl https://rest.responsiveinvoices.com/v1/invoice-notes/810 \
-H "Authorization: Bearer {ACCESS_TOKEN}"
{
"id": 324,
"object": "invoice-note",
"description": "Paid to business bank account",
"createdAt": "2019-03-14T15:13:00+0000"
}
GET /invoice-notes/{RESOURCE_ID}
Retrieves the details of an existing invoice note. You need only supply the unique invoice note identifier that was returned upon invoice note creation.
Buyers
This is an object representing a buyer
The Buyer object
{
"id": 77283,
"object": "buyer",
"name": "Simon Hall",
"description": "",
"email": "*******@gmail.com",
"active": true
}
Attribute | Type | Description | Readonly |
---|---|---|---|
id | Integer | A unique identifier for the resource. | Yes |
object | String | String representing the object’s type. Value is buyer . |
Yes |
name | String | ||
description | String | This message will be shown by default on all new invoices. Be sure to include any tax particulars required by their region. | |
String | |||
active | Boolean | Defaults to true . |
List all buyers
curl https://rest.responsiveinvoices.com/v1/buyers \
-H "Authorization: Bearer {ACCESS_TOKEN}"
{
"data": [
{
"id": 77283,
"object": "buyer",
"name": "Simon Hall",
"description": "",
"email": "*******@gmail.com",
"active": true
},
{...},
{...}
],
"links": {
"first": "https:\/\/rest.responsiveinvoices.com\/v1\/buyers?page=1",
"last": "https:\/\/rest.responsiveinvoices.com\/v1\/buyers?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "https:\/\/rest.responsiveinvoices.com\/v1\/buyers",
"per_page": 10,
"to": 1,
"total": 1
}
}
GET /buyers
Returns a list of buyers you’ve previously created. The buyers are returned in sorted order, with the most recent buyers appearing first.
Create a new buyer
curl https://rest.responsiveinvoices.com/v1/buyers \
-H "Authorization: Bearer {ACCESS_TOKEN}" \
-d name="Simon Hall" \
-d email="*******@gmail.com"
{
"id": 77283,
"object": "buyer"
}
POST /buyers
Creates a new buyer object.
Attribute | Type | Description | Required |
---|---|---|---|
name | String | Yes | |
description | String | This message will be shown by default on all new invoices. Be sure to include any tax particulars required by their region. | |
String | Yes | ||
active | Boolean | Defaults to true . |
Retrieve a particular buyer
curl https://rest.responsiveinvoices.com/v1/buyers/341 \
-H "Authorization: Bearer {ACCESS_TOKEN}"
{
"id": 77283,
"object": "buyer",
"name": "Simon Hall",
"description": "",
"email": "*******@gmail.com",
"active": true
}
GET /buyers/{RESOURCE_ID}
Retrieves the details of an existing buyer. You need only supply the unique buyer identifier that was returned upon buyer creation.
Update a buyer
curl https://rest.responsiveinvoices.com/v1/buyers/134 \
-H "Authorization: Bearer {ACCESS_TOKEN}" \
-d name="Simon Hall" \
-d email="*******@gmail.com"
{
"id": 77283,
"object": "buyer"
}
POST /buyers/{RESOURCE_ID}
Updates the specified buyer by setting the values of the parameters passed.
Any parameters not provided will be left unchanged. This request accepts the same arguments as the buyer creation call.
Attribute | Type | Description | Required |
---|---|---|---|
name | String | Yes | |
description | String | This message will be shown by default on all new invoices. Be sure to include any tax particulars required by their region. | |
String | Yes | ||
active | Boolean | Defaults to true . |
Delete a buyer
curl https://rest.responsiveinvoices.com/v1/buyers/409 \
-X DELETE \
-H "Authorization: Bearer {ACCESS_TOKEN}"
{
"id": 489,
"object": "buyer",
"deleted": true
}
DELETE /buyers/{RESOURCE_ID}
Permanently deletes a buyer. It cannot be undone.
Sellers
This is an object representing a seller
The Seller object
{
"id": 342,
"object": "seller",
"name": "Retrovee - Online Fashion",
"description": "23 Business St\nThe City",
"email": "accounts@retrovee.***",
"currency": {
"id": 23,
"object": "currency",
"code": "USD"
},
"invoiceLabelPrefix": "RET",
"paymentTerm": "net-30",
"active": true
}
Attribute | Type | Description | Readonly |
---|---|---|---|
id | Integer | A unique identifier for the resource. | Yes |
object | String | String representing the object’s type. Value is seller . |
Yes |
name | String | Yes | |
description | String | This message will be shown by default on all new invoices. Be sure to include any tax particulars required by your region. | Yes |
String | Yes | ||
currency | Object | A Currency object. This currency will be shown by default on all new invoices for this seller. | |
invoiceLabelPrefix | String | Changes to this code will only apply to new invoices. | Yes |
paymentTerm | String | This term will be shown by default on all new Invoice objects for this seller. One of upon-receipt , net-15 , net-30 , net-45 , net-60 and due-date . |
Yes |
active | Boolean | Defaults to true . |
Yes |
Currency
Attribute | Type | Description | Readonly |
---|---|---|---|
id | Integer | A unique identifier for the resource. | Yes |
object | String | String representing the object’s type. Value is currency . |
Yes |
code | String | The ISO 4217 currency code. | Yes |
List all sellers
curl https://rest.responsiveinvoices.com/v1/sellers \
-H "Authorization: Bearer {ACCESS_TOKEN}"
{
"data": [
{
"id": 342,
"object": "seller",
"name": "Retrovee - Online Fashion",
"description": "23 Business St\nThe City",
"email": "accounts@retrovee.***",
"currency": {
"id": 23,
"object": "currency",
"code": "USD"
},
"invoiceLabelPrefix": "RET",
"paymentTerm": "net-30",
"active": true
},
{...},
{...}
],
"links": {
"first": "https:\/\/rest.responsiveinvoices.com\/v1\/sellers?page=1",
"last": "https:\/\/rest.responsiveinvoices.com\/v1\/sellers?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "https:\/\/rest.responsiveinvoices.com\/v1\/sellers",
"per_page": 10,
"to": 1,
"total": 1
}
}
GET /sellers
Returns a list of sellers you’ve previously created. The sellers are returned in sorted order, with the most recent sellers appearing first.
Retrieve a particular seller
curl https://rest.responsiveinvoices.com/v1/sellers/767 \
-H "Authorization: Bearer {ACCESS_TOKEN}"
{
"id": 342,
"object": "seller",
"name": "Retrovee - Online Fashion",
"description": "23 Business St\nThe City",
"email": "accounts@retrovee.***",
"currency": {
"id": 23,
"object": "currency",
"code": "USD"
},
"invoiceLabelPrefix": "RET",
"paymentTerm": "net-30",
"active": true
}
GET /sellers/{RESOURCE_ID}
Retrieves the details of an existing seller. You need only supply the unique seller identifier that was returned upon seller creation.
Taxes
This is an object representing a tax
The Tax object
{
"id": 7,
"object": "tax",
"name": "GST",
"percentage": 10,
"active": true
}
Attribute | Type | Description | Readonly |
---|---|---|---|
id | Integer | A unique identifier for the resource. | Yes |
object | String | String representing the object’s type. Value is tax . |
Yes |
name | String | ||
percentage | Float | This percentage will only be applied to new invoices. | |
active | Boolean | Defaults to true . |
List all taxes
curl https://rest.responsiveinvoices.com/v1/taxes \
-H "Authorization: Bearer {ACCESS_TOKEN}"
{
"data": [
{
"id": 7,
"object": "tax",
"name": "GST",
"percentage": 10,
"active": true
},
{...},
{...}
],
"links": {
"first": "https:\/\/rest.responsiveinvoices.com\/v1\/taxes?page=1",
"last": "https:\/\/rest.responsiveinvoices.com\/v1\/taxes?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "https:\/\/rest.responsiveinvoices.com\/v1\/taxes",
"per_page": 10,
"to": 1,
"total": 1
}
}
GET /taxes
Returns a list of taxes you’ve previously created. The taxes are returned in sorted order, with the most recent taxes appearing first.
Retrieve a particular tax
curl https://rest.responsiveinvoices.com/v1/taxes/574 \
-H "Authorization: Bearer {ACCESS_TOKEN}"
{
"id": 7,
"object": "tax",
"name": "GST",
"percentage": 10,
"active": true
}
GET /taxes/{RESOURCE_ID}
Retrieves the details of an existing tax. You need only supply the unique tax identifier that was returned upon tax creation.
Recurring Invoices
This is an object representing a recurring invoice
The Recurring Invoice object
{
"id": 34523,
"object": "recurring-invoice",
"startDate": "2019-02-02",
"nextDate": "2019-07-02",
"cycle": "daily",
"cycleFrequency": 2,
"dayOfWeek": "monday",
"action": "send",
"unpaidLimit": 2,
"sendOnWeekends": true,
"lastInvoice": {
"object": "invoice",
"id": 234
},
"invoice": {
"object": "invoice",
"seller": {
"id": 342,
"name": "Retrovee - Online Fashion",
"description": "23 Business St\nThe City",
"email": "accounts@retrovee.***",
"currency": {
"id": 23,
"object": "currency",
"code": "USD"
},
"invoiceLabelPrefix": "RET",
"paymentTerm": "net-30",
"active": true
},
"buyer": {
"id": 77283,
"name": "Simon Hall",
"description": "",
"email": "*******@gmail.com",
"active": true
},
"summary": "",
"paymentTerm": "net-30",
"issueDate": "2019-04-14",
"dueDate": "2019-05-14",
"invoiceNo": "RET3482",
"lineItems": [
{
"name": "Retro Shirt",
"description": "Colour: Red\nSize: Large",
"price": 39.96,
"quantity": 2,
"lineItemTotal": 79.92,
"lineSubtotal": 79.92,
"position": 1
},
{
"name": "Retro Shorts",
"description": "",
"price": 19,
"quantity": 1,
"lineItemTotal": 19,
"lineSubtotal": 98.92,
"position": 2
}
],
"subtotal": 98.92,
"discountLineItems": [
{
"key": "flat",
"label": "Discount",
"value": 10,
"lineItemTotal": 10,
"lineSubtotal": 88.92,
"position": 1
}
],
"taxLineItems": [
{
"tax_id": 2,
"label": "GST",
"value": 10,
"lineItemTotal": 8.89,
"lineSubtotal": 97.81,
"position": 1
}
],
"total": 97.81,
"totalPaid": 0,
"totalDue": 97.81,
"currency": {
"id": 23,
"object": "currency",
"code": "USD"
},
"paymentMethod": "Please proceed to the cashier to pay.",
"notes": "",
"termsOfSale": ""
}
}
Attribute | Type | Description | Readonly |
---|---|---|---|
id | Integer | A unique identifier for the resource. | Yes |
object | String | String representing the object’s type. Value is recurring-invoice . |
Yes |
startDate | String | The start date in an ISO 8601 format of YYYY-MM-DD . |
Yes |
nextDate | String | The next date in an ISO 8601 format of YYYY-MM-DD . |
Yes |
cycle | String | To what cycle are recurring invoices created? One of weekly , monthly and daily . Defaults to monthly . |
|
cycleFrequency | Float | How many cycles are required before an recurring invoices is created? Defaults to monthly . |
|
dayOfWeek | String | Null | What is the preferred day of week to create a recurring invoice? One of null , sunday , monday , tuesday , wednesday , thursday , friday and saturday . |
|
action | String | The action to take when creating an invoice. Value is store , send . Defaults to store . |
|
unpaidLimit | Float | If the number of unpaid invoices for this recurring invoices totals this number then no more invoices will be created. If the number of unpaid invoices lowers then the cycle will start again. Defaults to monthly . |
|
sendOnWeekends | Boolean | Can this recurring invoice be sent on weekends? Defaults to ``. | |
lastInvoice | Object | ||
invoice | Object | The Invoice linked to the Recurring Invoice object. |
List all recurring invoices
curl https://rest.responsiveinvoices.com/v1/recurring-invoices \
-H "Authorization: Bearer {ACCESS_TOKEN}"
{
"data": [
{
"id": 34523,
"object": "recurring-invoice",
"startDate": "2019-02-02",
"nextDate": "2019-07-02",
"cycle": "daily",
"cycleFrequency": 2,
"dayOfWeek": "monday",
"action": "send",
"unpaidLimit": 2,
"sendOnWeekends": true,
"lastInvoice": {
"object": "invoice",
"id": 234
},
"invoice": {
"object": "invoice",
"seller": {
"id": 342,
"name": "Retrovee - Online Fashion",
"description": "23 Business St\nThe City",
"email": "accounts@retrovee.***",
"currency": {
"id": 23,
"object": "currency",
"code": "USD"
},
"invoiceLabelPrefix": "RET",
"paymentTerm": "net-30",
"active": true
},
"buyer": {
"id": 77283,
"name": "Simon Hall",
"description": "",
"email": "*******@gmail.com",
"active": true
},
"summary": "",
"paymentTerm": "net-30",
"issueDate": "2019-04-14",
"dueDate": "2019-05-14",
"invoiceNo": "RET3482",
"lineItems": [
{
"name": "Retro Shirt",
"description": "Colour: Red\nSize: Large",
"price": 39.96,
"quantity": 2,
"lineItemTotal": 79.92,
"lineSubtotal": 79.92,
"position": 1
},
{
"name": "Retro Shorts",
"description": "",
"price": 19,
"quantity": 1,
"lineItemTotal": 19,
"lineSubtotal": 98.92,
"position": 2
}
],
"subtotal": 98.92,
"discountLineItems": [
{
"key": "flat",
"label": "Discount",
"value": 10,
"lineItemTotal": 10,
"lineSubtotal": 88.92,
"position": 1
}
],
"taxLineItems": [
{
"tax_id": 2,
"label": "GST",
"value": 10,
"lineItemTotal": 8.89,
"lineSubtotal": 97.81,
"position": 1
}
],
"total": 97.81,
"totalPaid": 0,
"totalDue": 97.81,
"currency": {
"id": 23,
"object": "currency",
"code": "USD"
},
"paymentMethod": "Please proceed to the cashier to pay.",
"notes": "",
"termsOfSale": ""
}
},
{...},
{...}
],
"links": {
"first": "https:\/\/rest.responsiveinvoices.com\/v1\/recurring-invoices?page=1",
"last": "https:\/\/rest.responsiveinvoices.com\/v1\/recurring-invoices?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "https:\/\/rest.responsiveinvoices.com\/v1\/recurring-invoices",
"per_page": 10,
"to": 1,
"total": 1
}
}
GET /recurring-invoices
Returns a list of recurring invoices you’ve previously created. The recurring invoices are returned in sorted order, with the most recent recurring invoices appearing first.
Create a new recurring invoice
curl https://rest.responsiveinvoices.com/v1/recurring-invoices \
-H "Authorization: Bearer {ACCESS_TOKEN}" \
-d startDate="2019-02-02" \
-d cycle="daily" \
-d cycleFrequency=2 \
-d dayOfWeek="monday" \
-d action="send" \
-d unpaidLimit=2 \
-d sendOnWeekends=1 \
-d invoice[seller][id]=342 \
-d invoice[buyer][name]="Simon Hall" \
-d invoice[buyer][description]="" \
-d invoice[buyer][email]="*******@gmail.com" \
-d invoice[summary]="In store purchase" \
-d invoice[paymentTerm]="net-30" \
-d invoice[issueDate]="2019-04-14" \
-d invoice[lineItems][0][name]="Retro Shirt" \
-d invoice[lineItems][0][description]="Colour: Red\nSize: Large" \
-d invoice[lineItems][0][price]=39.96 \
-d invoice[lineItems][0][quantity]=2 \
-d invoice[lineItems][0][position]=1 \
-d invoice[lineItems][1][name]="Retro Shorts" \
-d invoice[lineItems][1][description]="" \
-d invoice[lineItems][1][price]=19 \
-d invoice[lineItems][1][quantity]=1 \
-d invoice[lineItems][1][position]=2 \
-d invoice[discountLineItems][0][key]="flat" \
-d invoice[discountLineItems][0][value]=10 \
-d invoice[taxLineItems][0][id]=2 \
-d invoice[paymentMethod]="Please proceed to the cashier to pay."
{
"id": 9832,
"object": "recurring-invoice"
}
POST /recurring-invoices
Creates a new recurring invoice object.
Attribute | Type | Description | Required |
---|---|---|---|
startDate | String | The start date in an ISO 8601 format of YYYY-MM-DD . |
Yes |
cycle | String | To what cycle are recurring invoices created? One of weekly , monthly and daily . Defaults to monthly . |
Yes |
cycleFrequency | Float | How many cycles are required before an recurring invoices is created? Defaults to monthly . |
Yes |
dayOfWeek | String | Null | What is the preferred day of week to create a recurring invoice? One of `, sunday, monday, tuesday, wednesday, thursday, fridayand saturday`. |
|
action | String | The action to take when creating an invoice. Value is store , send . Defaults to store . |
Yes |
unpaidLimit | Float | If the number of unpaid invoices for this recurring invoices totals this number then no more invoices will be created. If the number of unpaid invoices lowers then the cycle will start again. Defaults to monthly . |
|
sendOnWeekends | Boolean | Can this recurring invoice be sent on weekends? Defaults to ``. | |
invoice | Yes |
Retrieve a particular recurring invoice
curl https://rest.responsiveinvoices.com/v1/recurring-invoices/644 \
-H "Authorization: Bearer {ACCESS_TOKEN}"
{
"id": 34523,
"object": "recurring-invoice",
"startDate": "2019-02-02",
"nextDate": "2019-07-02",
"cycle": "daily",
"cycleFrequency": 2,
"dayOfWeek": "monday",
"action": "send",
"unpaidLimit": 2,
"sendOnWeekends": true,
"lastInvoice": {
"object": "invoice",
"id": 234
},
"invoice": {
"object": "invoice",
"seller": {
"id": 342,
"name": "Retrovee - Online Fashion",
"description": "23 Business St\nThe City",
"email": "accounts@retrovee.***",
"currency": {
"id": 23,
"object": "currency",
"code": "USD"
},
"invoiceLabelPrefix": "RET",
"paymentTerm": "net-30",
"active": true
},
"buyer": {
"id": 77283,
"name": "Simon Hall",
"description": "",
"email": "*******@gmail.com",
"active": true
},
"summary": "",
"paymentTerm": "net-30",
"issueDate": "2019-04-14",
"dueDate": "2019-05-14",
"invoiceNo": "RET3482",
"lineItems": [
{
"name": "Retro Shirt",
"description": "Colour: Red\nSize: Large",
"price": 39.96,
"quantity": 2,
"lineItemTotal": 79.92,
"lineSubtotal": 79.92,
"position": 1
},
{
"name": "Retro Shorts",
"description": "",
"price": 19,
"quantity": 1,
"lineItemTotal": 19,
"lineSubtotal": 98.92,
"position": 2
}
],
"subtotal": 98.92,
"discountLineItems": [
{
"key": "flat",
"label": "Discount",
"value": 10,
"lineItemTotal": 10,
"lineSubtotal": 88.92,
"position": 1
}
],
"taxLineItems": [
{
"tax_id": 2,
"label": "GST",
"value": 10,
"lineItemTotal": 8.89,
"lineSubtotal": 97.81,
"position": 1
}
],
"total": 97.81,
"totalPaid": 0,
"totalDue": 97.81,
"currency": {
"id": 23,
"object": "currency",
"code": "USD"
},
"paymentMethod": "Please proceed to the cashier to pay.",
"notes": "",
"termsOfSale": ""
}
}
GET /recurring-invoices/{RESOURCE_ID}
Retrieves the details of an existing recurring invoice. You need only supply the unique recurring invoice identifier that was returned upon recurring invoice creation.
Update a recurring invoice
curl https://rest.responsiveinvoices.com/v1/recurring-invoices/574 \
-H "Authorization: Bearer {ACCESS_TOKEN}" \
-d cycle="daily" \
-d cycleFrequency=2 \
-d dayOfWeek="monday" \
-d action="send" \
-d unpaidLimit=2 \
-d sendOnWeekends=1 \
-d invoice[seller][id]=342 \
-d invoice[buyer][name]="Simon Hall" \
-d invoice[buyer][description]="" \
-d invoice[buyer][email]="*******@gmail.com" \
-d invoice[summary]="In store purchase" \
-d invoice[paymentTerm]="net-30" \
-d invoice[issueDate]="2019-04-14" \
-d invoice[lineItems][0][name]="Retro Shirt" \
-d invoice[lineItems][0][description]="Colour: Red\nSize: Large" \
-d invoice[lineItems][0][price]=39.96 \
-d invoice[lineItems][0][quantity]=2 \
-d invoice[lineItems][0][position]=1 \
-d invoice[lineItems][1][name]="Retro Shorts" \
-d invoice[lineItems][1][description]="" \
-d invoice[lineItems][1][price]=19 \
-d invoice[lineItems][1][quantity]=1 \
-d invoice[lineItems][1][position]=2 \
-d invoice[discountLineItems][0][key]="flat" \
-d invoice[discountLineItems][0][value]=10 \
-d invoice[taxLineItems][0][id]=2 \
-d invoice[paymentMethod]="Please proceed to the cashier to pay."
{
"id": 4322,
"object": "recurring-invoice"
}
POST /recurring-invoices/{RESOURCE_ID}
Updates the specified recurring invoice by setting the values of the parameters passed.
Any parameters not provided will be left unchanged. This request accepts the same arguments as the recurring invoice creation call.
Attribute | Type | Description | Required |
---|---|---|---|
cycle | String | To what cycle are recurring invoices created? One of weekly , monthly and daily . Defaults to monthly . |
Yes |
cycleFrequency | Float | How many cycles are required before an recurring invoices is created? Defaults to monthly . |
Yes |
dayOfWeek | String | Null | What is the preferred day of week to create a recurring invoice? One of `, sunday, monday, tuesday, wednesday, thursday, fridayand saturday`. |
|
action | String | The action to take when creating an invoice. Value is store , send . Defaults to store . |
Yes |
unpaidLimit | Float | If the number of unpaid invoices for this recurring invoices totals this number then no more invoices will be created. If the number of unpaid invoices lowers then the cycle will start again. Defaults to monthly . |
|
sendOnWeekends | Boolean | Can this recurring invoice be sent on weekends? Defaults to ``. | |
invoice |
Delete a recurring invoice
curl https://rest.responsiveinvoices.com/v1/recurring-invoices/145 \
-X DELETE \
-H "Authorization: Bearer {ACCESS_TOKEN}"
{
"id": 877,
"object": "recurring-invoice",
"deleted": true
}
DELETE /recurring-invoices/{RESOURCE_ID}
Permanently deletes a recurring invoice. It cannot be undone.
Accounts
This is an object representing an account
The Account object
{
"id": 734,
"object": "account",
"name": "",
"description": "",
"email": "*******@company.com",
"verified": true,
"paymentMethod": "",
"termsOfSale": "",
"currency": {
"id": 23,
"object": "currency",
"code": "USD"
},
"country": {
"id": 53,
"object": "country",
"name": "Australia",
"code": "AU"
},
"timezone": "Australia\/Brisbane"
}
Attribute | Type | Description | Readonly |
---|---|---|---|
id | Integer | A unique identifier for the resource. | Yes |
object | String | String representing the object’s type. Value is account . |
Yes |
name | String | Yes | |
description | String | Yes | |
String | Yes | ||
verified | Boolean | Without verification certain features may not be enabled. Defaults to ``. | Yes |
paymentMethod | String | This is the instructions for how buyers can pay you. Typically it contains bank and/or a set of payment gateway details. It will be the most common method that buyers will pay you by. Make sure that it does not contain mistakes. This message will be shown by default on all new invoices. | Yes |
termsOfSale | String | This message will be shown by default on all new invoices. | Yes |
currency | Object | A Currency object. This currency will be shown by default for all new sellers. | Yes |
country | Object | A Country object. The Country linked to the Account object. | Yes |
timezone | String | Yes |
Currency
Attribute | Type | Description | Readonly |
---|---|---|---|
id | Integer | A unique identifier for the resource. | Yes |
object | String | String representing the object’s type. Value is currency . |
Yes |
code | String | The ISO 4217 currency code. | Yes |
Country
Attribute | Type | Description | Readonly |
---|---|---|---|
id | Integer | A unique identifier for the resource. | Yes |
object | String | String representing the object’s type. Value is country . |
Yes |
name | String | The ISO 3166-1 English short name. | Yes |
code | String | The ISO 3166-1 country code. | Yes |
Retrieve a particular account
curl https://rest.responsiveinvoices.com/v1/accounts/528 \
-H "Authorization: Bearer {ACCESS_TOKEN}"
{
"id": 734,
"object": "account",
"name": "",
"description": "",
"email": "*******@company.com",
"verified": true,
"paymentMethod": "",
"termsOfSale": "",
"currency": {
"id": 23,
"object": "currency",
"code": "USD"
},
"country": {
"id": 53,
"object": "country",
"name": "Australia",
"code": "AU"
},
"timezone": "Australia\/Brisbane"
}
GET /accounts/{RESOURCE_ID}
Retrieves the details of an existing account. You need only supply the unique account identifier that was returned upon account creation.
Users
This is an object representing a user
The User object
{
"id": 264,
"object": "user",
"firstName": "Frank",
"lastName": "Walker",
"email": "*******@company.com",
"verified": true,
"acceptedMarketing": true
}
Attribute | Type | Description | Readonly |
---|---|---|---|
id | Integer | A unique identifier for the resource. | Yes |
object | String | String representing the object’s type. Value is user . |
Yes |
firstName | String | Yes | |
lastName | String | Yes | |
String | Yes | ||
verified | Boolean | Without verification certain features may not be enabled. Defaults to ``. | Yes |
acceptedMarketing | Boolean | Defaults to ``. | Yes |
List all users
curl https://rest.responsiveinvoices.com/v1/users \
-H "Authorization: Bearer {ACCESS_TOKEN}"
{
"data": [
{
"id": 264,
"object": "user",
"firstName": "Frank",
"lastName": "Walker",
"email": "*******@company.com",
"verified": true,
"acceptedMarketing": true
},
{...},
{...}
],
"links": {
"first": "https:\/\/rest.responsiveinvoices.com\/v1\/users?page=1",
"last": "https:\/\/rest.responsiveinvoices.com\/v1\/users?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "https:\/\/rest.responsiveinvoices.com\/v1\/users",
"per_page": 10,
"to": 1,
"total": 1
}
}
GET /users
Returns a list of users you’ve previously created. The users are returned in sorted order, with the most recent users appearing first.
Retrieve a particular user
curl https://rest.responsiveinvoices.com/v1/users/383 \
-H "Authorization: Bearer {ACCESS_TOKEN}"
{
"id": 264,
"object": "user",
"firstName": "Frank",
"lastName": "Walker",
"email": "*******@company.com",
"verified": true,
"acceptedMarketing": true
}
GET /users/{RESOURCE_ID}
Retrieves the details of an existing user. You need only supply the unique user identifier that was returned upon user creation.
Changelog
1.0.0
Date: 2019-12-02
- Initial release of REST API