NAV Navbar
shell

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.

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:

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
email 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.
email 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.
email 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.
email 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
email String Yes
Attribute Type Description Readonly
id Float Yes
name String Yes
email 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.
email 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.
email 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.
email 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
email 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,fridayandsaturday`.
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,fridayandsaturday`.
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
email 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
email 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