PaySolve API v1 Docs

Getting started

Authentication

The PaySolve v1 API uses a Basic authentication regime with an API key. You can control API keys in your Merchant account by going to Developer -> API Keys.

When your API key is generated, it will only show it once. For this reason, you must save it securely. If you lose your API key, you will have to destroy it and create a new one.

Your API key is sensitive and gives full access to the API under your Merchant account. Ensure you keep it safe.

In all API calls, include the Authorization header.

Authorization Header

Basic <YOUR_API_KEY>

Sandbox API

It is recommended that you integrate and test with the Sandbox API before going live. You can create a Sandbox API key in your Merchant account on the same page that you create a live API key. Use the Sandbox URL base instead of the live URL base to make calls authenticated with your Sandbox API key.

Base URL

Sandbox URL

https://sandboxapi.paysolve.com.au

Live URL

https://paysolve.com.au

Invoices

Get an Invoice

GET
/api/v1/invoice/{code}

Retrieve an Invoice object using the object code.

Request parameters

Name Datatype Description
code
required
string The code of the Invoice you wish to retreive.

Response parameters

Name Datatype Description
invoice object (Invoice) The Invoice object of the Invoice retrieved.

Invoice object

Name Datatype Description
status string Will be one of UNINITIATED INITIATED PARTPAID SUSPENDED PAID EXCESS_PAID PAID_EXTERNALLY DELETED.
code string Identifying code of the Invoice object, starting with INV_.
company_name string The name of the merchant's organisation.
company_abn string The Australian Business Number of the merchant's organisation.
company_website string The website of the the merchant's organisation.
company_code string The unique code assigned to the merchant's organsation. Begins with ORG_.
account_code string The unique PaySolve code of the bank account to which the Invoice is to be paid. Begins with ACT_
series_code string The unique code of the Series object that the Invoice is attached to. Can be null. If not null, begins with SER_
series_title string If the Invoice is attached to a Series object, the name of the Series.
amount number The amount, in AUD cents, of the Invoice. E.g. an amount of 100 is a $1.00 invoice. This will not change irrespective of whether it has been paid or not.
amount_paid string The amount that has been paid, in AUD cents, either through PaySolve or externally.
paid boolean Whether or not the Invoice has been paid, irrespective or source.
paid_at string An ISO8601 string that represents the datetime when the Invoice was paid. Is null if it has not been paid.
custom_code string An internal reference field for the analogous internal object for the Merchant.
has_due_date boolean Whether or not there is a due date for the Invoice object.
due_at string An ISO8601 string that represents the datetime when the Invoice is due. Is null if there is no due date.
idempotency string The unique idempotency code (within your organisation) assigned by the creator of the Invoice.
title string The title of the Invoice.
description string The description of the Invoice.
paid_by_other_source boolean Whether or not the Invoice has been fully or partially paid by another source (other than PaySolve). Will only be set to true if all the amount due was paid by an external source.
billing_name string The name of the payor or recipient of the Invoice.
billing_address string The postal address of the payor or recipient of the Invoice. Can be null.
billing_email string The billing email of the Invoice. Can be null. Can be different to Payor email.
payor_email string The Payor email of the Invoice. Can be null. Can be different to billing email.
date_accrued_at string The ISO8601 of the date the Invoice was accrued. Not necessarily the same as the datetime when it was created.
privacy_status string One of NO_PASSKEY HAS_PASSKEY.
short_url string The short URL that will redirect to the long URL that shows the Invoice webpage.
ref_preference string One of SINGLE_CODE ALLOW_EMAIL REQUIRE_EMAIL.
passkey string The passkey to view the Invoice. Can add this to the short URL to get to the Invoice webpage by adding ?pk={passkey} on the end. Is null if there is no passkey.
accept_in_excess boolean Whether the Invoice will accept payments in excess of the amount. If set to true, transfers made that exceed the amount of the Invoice will be assigned to the Invoice object. If set to false, such transfers will be unassigned.
tags array An array of strings, each element of which represents a tag associated with the Invoice.
created_at string ISO8601 string representing the date and time when the Invoice was created.
updated_at string ISO8601 string representing the date and time when the Invoice was last updated.

Response example

Response 200 - OK

{
    "invoice": {
        "status": "INITIATED",
        "code": "INV_CF2511292D",
        "company_name": "PAYSOLVE PTY LTD",
        "company_abn": "66676887648",
        "company_website": "https://paysolve.com.au",
        "company_code": "ORG_000000",
        "account_code": "ACT_45FC5D108F",
        "series_code": "SER_FC9900A8",
        "series_title": "Body Corporate",
        "amount": 100,
        "amount_owing": 100,
        "amount_paid": 0,
        "amount_paid_by_other_source": 0,
        "paid": false,
        "paid_at": null,
        "has_due_date": false,
        "due_at": null,
        "is_late": false,
        "identifier": "S8NPZU",
        "idempotency": "rUBTGjUGbINQDY7w",
        "title": "Dues for December 2025",
        "description": "For body corporate services rendered.",
        "paid_by_other_source": false,
        "billing_name": "Parris Koumouris",
        "billing_address": null,
        "billing_email": "[email protected]",
        "date_accrued_at": "2025-02-09T00:00:00Z",
        "privacy_status": "HAS_PASSKEY",
        "short_url": "invc.me/S8NPZU",
        "custom_code": "i-192836761",
        "ref_preference": "SINGLE_CODE",
        "passkey": "vsDnt5",
        "tags": [
            "bodycorporate"
        ]
    }
}
    
Response 401 - Authorization error

{
    "error": "Invalid API key"
}
    
Response 404 - Invoice not found

{
    "error": "Invoice not found"
}
    

Search for an Invoice

POST
/api/v1/invoices

Retrieve an Invoice object by searchiing with parameters.

Request parameters

Name Datatype Description
invoice
required
object (Invoice search) An Invoice search object populated as described below. The object can be empty.
tags
required
array (string) An array of strings, each string being the tag by which you want to filter.
req_count
required
boolean Is true if a count of all Invoices that match the criteria, regardless of offset and limit parameters, is desired to be returned.
limit number The maximum number of results for the query. The default is 10 and the maximum is 500.
offset number The offset of the search. For example, for a search criteria that would return 37 results with a page limit of 10 and an offset of 14, it would return the 15th result to the 25th result. Is useful for effectively paginating results. The default is 0.

Invoice search object

Name Datatype Description
billing_email string The billing email of the Invoice.
idempotency string The idempotency string of the Invoice, immutably set at creation.
code string The unique code of the Invoice.
amount object
(number)
A max/min object setting the maximum and minimum bounds of the amount. In the form {max: x, min: y}. Here, x and y are of number type.
created_at object
(string/
number)
A max/min object setting the maximum and minimum bounds of when the Invoice was created. In the form {max: x, min: y}. Here, x and y are of either string type, being an ISO8601 string, or number type, being a UNIX timestamp.
due_at object
(string/
number)
A max/min object setting the maximum and minimum bounds of when the Invoice is due. In the form {max: x, min: y}. Here, x and y are of either string type, being an ISO8601 string, or number type, being a UNIX timestamp.
status string The Invoice status. One of UNINITIATED INITIATED PARTPAID SUSPENDED PAID EXCESS_PAID PAID_EXTERNALLY DELETED.

Example request

POST /api/v1/invoices

{
    "invoice":{
        "created_at":{
            "min":"2024-05-25T02:44:32Z",
            "max":"2024-06-01T12:44:56+10:00"
        },
        "due_at":{
            "min":1717328371,
            "max":1714736386
        },
        "amount":{
            "min":1000,
            "max":100000
        },
        "status":"INITIATED"
    },
    "tags":["4OKRJLIW"],
    "req_count":true
}
    

Response parameters

Name Datatype Description
invoices array An array of Invoice objects matching the criteria.
count number The total number of Invoice objects matching the criteria, regardless of offset and limit parameters. Only a number if requested using the req_count request parameter, otherwise is null.
Response 200 - OK

{
    "invoices": [
        {
            "status": "INITIATED",
            "code": "INV_CF2511292D",
            "company_name": "PAYSOLVE PTY LTD",
            "company_abn": "66676887648",
            "company_website": "https://paysolve.com.au",
            "company_code": "ORG_000000",
            "account_code": "ACT_45FC5D108F",
            "series_code": "SER_FC9900A8",
            "series_title": "Body Corporate",
            "amount": 100,
            "amount_owing": 100,
            "amount_paid": 0,
            "amount_paid_by_other_source": 0,
            "paid": false,
            "paid_at": null,
            "has_due_date": false,
            "due_at": null,
            "is_late": false,
            "identifier": "S8NPZU",
            "idempotency": "rUBTGjUGbINQDY7w",
            "title": "Dues for December 2025",
            "description": "For body corporate services rendered.",
            "paid_by_other_source": false,
            "billing_name": "Parris Koumouris",
            "billing_address": null,
            "billing_email": "[email protected]",
            "date_accrued_at": "2025-02-09T00:00:00Z",
            "privacy_status": "HAS_PASSKEY",
            "short_url": "invc.me/S8NPZU",
            "custom_code": "i-192836761",
            "ref_preference": "SINGLE_CODE",
            "passkey": "vsDnt5",
            "tags": [
                "bodycorporate"
            ]
        }
    ],
    "count": 1
}
    
Response 401 - Authorization error

{
    "error": "Invalid API key"
}
    

Create an Invoice

POST
/api/v1/invoice

Create an Invoice.

Request parameters

Name Datatype Description
invoice
required
object (Invoice create) The create Invoice object that specifies the Invoice to be created.
tags
required
array (string) An array of strings, each element of which represents a tag to be attached to the Invoice object. The idempotency field in the create Invoice object will automatically be added as a tag upon creation.

Create Invoice object

Name Datatype Description
amount
required
number The amount in cents of the Invoice (that the debtor needs to pay). An amount of 100 is $1.00 (AUD).
accept_in_excess
required
boolean Whether the Invoice should accept a payment in excess of the amount owed and suggest a refund of the difference, or whether such a transaction should be rejected outright. For example, if a transaction of $110 is paid to an Invoice of $100, to accept in excess would mean that the Invoice would be marked as paid, and a $10 refund would be suggested in the refund file generator. To set this parameter to false would mean that the Invoice would not be marked as paid, and a $110 refund would be instituted instead.
has_due_date
required
boolean Whether the Invoice has a due date.
due_at string The due date of the Invoice. ISO8601 format, or at least YYYY-MM-DD. If only the date and no time is specified, the due time will be at midnight on the morning of the due date GMT.
title
required
string Title of the Invoice. See character limits.
description string A description of the Invoice. See character limits.
billing_name
required
string The name of the payor.
billing_email string The email address of the payor, if known.
billing_address string The postal address of the payor, if known.
date_accrued_at
required
string The date when the Invoice was accrued. ISO8601 format, or at least YYYY-MM-DD is required.
privacy_status
required
string Must be set to either NO_PASSKEY or HAS_PASSKEY. No passkey means that anybody with the short or long URL can access the Invoice object. Has passkey means that a passkey is required to access the Invoice object, unless you are logged in as the merchant.
passkey string Passkey for accessing the Invoice, only required if privacy status is set to HAS_PASSKEY. Must be alphanumeric (either case). See character limits.
ref_preference
required
string Must be one of SINGLE_CODE ALLOW_EMAIL REQUIRE_EMAIL. Single code means that a single code will be issued for the payor to enter into the description. Allow email means that the payor may, at his discretion, either use the reference code provided in the description, or may enter an email address and a new reference code will be generated. The new reference code will be associated solely with his email, and his email will be notified when a payment using that code is detected. Require email means that a general code will not be issued, and a payor will have to enter an email address to get a reference code to put in the description.
hide_at_completion
required
boolean Whether to hide the Invoice from public view once it has been paid (either via PaySolve or externally) or deleted.
show_payid
required
boolean Whether to allow the payor to pay with PayID. Can only be enabled when a PayID has been specified for the Invoice Account object.
account_code
required
string The code of the Account object (starting with ACT_) to which your Invoice object is to be paid.
series_code string The code of the Series object (starting with SER_) to which your Invoice object is to be attached. For example, if you have a series for electricity bills for 443 Upper Heidelberg Road Ivanhoe 3079, you may want to add the Invoice object to that series.
idempotency
required
string A unique string that identifies the Invoice, created by you. This could be, for example, your own internal invoice number. It will be automatically added as a tag.

Request example

POST /api/v1/invoice

{
    "invoice":{
        "accept_in_excess":true,
        "account_code":"ACT_7653DA5CA0",
        "amount":7962,
        "billing_email":"[email protected]",
        "billing_name":"John Smith",
        "billing_address":"443 Upper Heidelberg Road Ivanhoe VIC 3079",
        "date_accrued_at":"2024-05-01",
        "description":"Gas bill April 2024",
        "due_at":"2024-06-31",
        "has_due_date":true,
        "hide_at_completion":false,
        "idempotency":"4OKRJLIW",
        "passkey":"WCO6QA",
        "privacy_status":"HAS_PASSKEY",
        "ref_preference":"ALLOW_EMAIL",
        "series_code":"SER_99B663B6",
        "show_payid":true,
        "title":"Gas Bill April 2024"
    },
    "tags":["gasbill"]
}
    

Response parameters

Name Datatype Description
invoice object An Invoice object of the created Invoice.

Response example

Response 201 - Created

{
    "invoice": {
        "status": "INITIATED",
        "code": "INV_CF2511292D",
        "company_name": "PAYSOLVE PTY LTD",
        "company_abn": "66676887648",
        "company_website": "https://paysolve.com.au",
        "company_code": "ORG_000000",
        "account_code": "ACT_7653DA5CA0",
        "series_code": "SER_99B663B6",
        "series_title": "Body Corporate",
        "amount": 7962,
        "amount_owing": 7962,
        "amount_paid": 0,
        "amount_paid_by_other_source": 0,
        "paid": false,
        "paid_at": null,
        "has_due_date": false,
        "due_at": null,
        "is_late": false,
        "identifier": "S8NPZU",
        "idempotency": "4OKRJLIW",
        "title": "Gas Bill April 2024",
        "description": "Gas bill April 2024",
        "paid_by_other_source": false,
        "billing_email":"[email protected]",
        "billing_name":"John Smith",
        "billing_address":"443 Upper Heidelberg Road Ivanhoe VIC 3079",
        "date_accrued_at": "2024-05-01T00:00:00Z",
        "privacy_status": "HAS_PASSKEY",
        "short_url": "invc.me/S8NPZU",
        "custom_code": "i-192836761",
        "ref_preference": "ALLOW_EMAIL",
        "passkey": "vsDnt5",
        "tags": [
            "bodycorporate"
        ]
    }
}
    
Response 400 - Client error

{
    "error": "Failed to create Invoice object."
}
    
Response 401 - Authorization error

{
    "error": "Invalid API key"
}
    

Update an Invoice

PUT
/api/v1/invoice/{code}

Update an existing Invoice. Use this endpoint if a payment has been made by another means, e.g. Credit Card, BPAY etc.

Request parameters

Name Datatype Description
code
required
string The unique code of the Invoice object. This is a URL parameter.
invoice
required
object (Invoice update) The update Invoice object that specifies the Invoice to be updated.

Update Invoice object

Name Datatype Description
amount number The amount in cents of the Invoice (that the debtor needs to pay). An amount of 100 is $1.00 (AUD).
accept_in_excess boolean Whether the Invoice should accept a payment in excess of the amount owed and suggest a refund of the difference, or whether such a transaction should be rejected outright. For example, if a transaction of $110 is paid to an Invoice of $100, to accept in excess would mean that the Invoice would be marked as paid, and a $10 refund would be suggested in the refund file generator. To set this parameter to false would mean that the Invoice would not be marked as paid, and a $110 refund would be instituted instead.
has_due_date boolean Whether the Invoice has a due date.
due_at string The due date of the Invoice. ISO8601 format, or at least YYYY-MM-DD. If only the date and no time is specified, the due time will be at midnight on the morning of the due date GMT.
title string Title of the Invoice. See character limits.
description string A description of the Invoice. See character limits.
billing_name string The name of the payor.
billing_email string The email address of the payor, if known.
billing_address string The postal address of the payor, if known.
date_accrued_at string The date when the Invoice was accrued. ISO8601 format, or at least YYYY-MM-DD is required.
privacy_status string Must be set to either NO_PASSKEY or HAS_PASSKEY. No passkey means that anybody with the short or long URL can access the Invoice object. Has passkey means that a passkey is required to access the Invoice object, unless you are logged in as the merchant.
passkey string Passkey for accessing the Invoice, only required if privacy status is set to HAS_PASSKEY. Must be alphanumeric (either case). See character limits.
ref_preference string Must be one of SINGLE_CODE ALLOW_EMAIL REQUIRE_EMAIL. Single code means that a single code will be issued for the payor to enter into the description. Allow email means that the payor may, at his discretion, either use the reference code provided in the description, or may enter an email address and a new reference code will be generated. The new reference code will be associated solely with his email, and his email will be notified when a payment using that code is detected. Require email means that a general code will not be issued, and a payor will have to enter an email address to get a reference code to put in the description.
hide_at_completion boolean Whether to hide the Invoice from public view once it has been paid (either via PaySolve or externally) or deleted.
show_payid boolean Whether to allow the payor to pay with PayID. Can only be enabled when a PayID has been specified for the Invoice Account object.
series_code string The code of the Series object (starting with SER_) to which your Invoice object is to be attached. For example, if you have a series for electricity bills for 443 Upper Heidelberg Road Ivanhoe 3079, you may want to add the Invoice object to that series.
amount_paid_by_other_source number The amount paid externally, for example, through another payment method. This is the primary field you should update if the Invoice has been paid by other payment method. If the amount this field is set to reaches the amount of the Invoice, the status will be set as paid, either PAID or PAID_EXTERNALLY.

Example request

This will set the Invoice as PAID_EXTERNALLY.

PUT /api/v1/invoice/INV_DA7AC81F9F

{
    "invoice": {
        "account_code": "ACT_7653DA5CA0",
        "series_code": "SER_99B663B6",
        "amount": 18240,
        "has_due_date": true,
        "due_at": "Fri, 03 May 2024 14:00:00 +0000",
        "title": "Power Bill January 2024",
        "description": "Power Bill for January 2024 for 445 Upper Heidelberg Road Ivanhoe VIC 3079.",
        "amount_paid_by_other_source": 18240,
        "billing_name": "John Smith",
        "billing_address": "445 Upper Heidelberg Road Ivanhoe VIC 3079",
        "billing_email": "[email protected]",
        "date_accrued_at": "Fri, 26 Apr 2024 14:00:00 +0000",
        "privacy_status": "HAS_PASSKEY",
        "ref_preference": "ALLOW_EMAIL",
        "passkey": "QRmPzW"
    }
}
    

Response parameters

Name Datatype Description
message string A description of the outcome.

Example response

Response 200 - OK

{
    "message": "Successfully updated Invoice."
}
    
Response 400 - Client error

{
    "message": "Invoice could not update"
}
    
Response 401 - Auth error

{
    "error": "Invalid API key."
}
    
Response 404 - Invoice not found

{
    "error": "Cannot find Invoice that belongs to your Company."
}
    

Delete an Invoice

DELETE
/api/v1/invoice/{code}

Delete an existing Invoice.

Request parameters

Name Datatype Description
code
required
string The unique code of the Invoice object. This is a URL parameter.

Response parameters

Name Datatype Description
message string Describing the action taken.

Example response

Response 200 - Success

{
    "invoice_code": "INV_DA7AC81F9F"
}
    
Response 401 - Auth error

{
    "error": "Invalid API key"
}
    
Response 500 - Server error

    

Tags

Get tags

GET
/api/v1/tags/{code}

Get tags on a payment object (Invoice, Customer, Fund or Series).

Request parameters

Name Datatype Description
code string The unique code of the Invoice, Fund, Customer or Series object whose tags you wish to obtain. Note that Invoice codes start with INV_, Fund codes start with FND_, Customer codes start with CUS_, and Series codes start with SER_.

Response parameters

Name Datatype Description
tags array Array of strings, each string of which represents a tag associated with the payment object.

Example response

Response 200 - Success

{
    "tags": [
        "81HYVRB1R5TK8PMR",
        "RVU5XZRZ"
    ]
}
    
Response 401 - Auth error

{
    "error": "Invalid API key"
}
    
Response 404 - Not found

{
    "error": "Cannot find object that belongs to your Company."
}
    

Create Tags

POST
/api/v1/tags

Adds tags to a payment object.

Request parameters

Name Datatype Description
code string The unique code of the Invoice, Fund, Customer or Series object that you want to add tags to. Note that Invoice codes start with INV_, Fund codes start with FND_, Customer codes start with CUS_, and Series codes start with SER_.
tags array Array of strings, each string of which represents a tag to be added to the payment object. If the object already has that tag, it will not be duplicated.

Example request

POST /api/v1/tags

{
    "code":"INV_DA7AC81F9F",
    "tags":["DA7AC81F9F"]
}
    

Response parameters

Name Datatype Description
tags array Array of strings, each string of which represents a tag that exists on the payment object.

Example response

Response 200 - Success

{
    "tags": [
        "81HYVRB1R5TK8PMR",
        "DA7AC81F9F"
    ]
}
    
Response 400 - Client error

{
    "error": "Tags must be an array of maximum length 100"
}
    
Response 401 - Auth error

{
    "error": "Invalid API key"
}
    
Response 404 - Not found

{
    "error": "Cannot find object that belongs to your Company."
}
    

Delete tags

DELETE
/api/v1/tags

Deletes tags from a payment object.

Request parameters

Name Datatype Description
code string The unique code of the Invoice, Fund, Customer or Series object that you want to add tags to. Note that Invoice codes start with INV_, Fund codes start with FND_, Customer codes start with CUS_, and Series codes start with SER_.
tags array Array of strings, each string of which represents a tag to be removed from the payment object. If the object already has that tag, it will not be duplicated.

Example request

DELETE /api/v1/tags

{
    "code":"INV_DA7AC81F9F",
    "tags":["DA7AC81F9F"]
}
    

Response parameters

Name Datatype Description
tags array Array of strings, each string of which represents a tag that still exists on the payment object after deletion.

Example response

Response 200 - Success

{
    "tags": [
        "81HYVRB1R5TK8PMR"
    ]
}
    
Response 401 - Auth error

{
    "error": "Invalid API key"
}
    
Response 404 - Not found

{
    "error": "Cannot find object that belongs to your Company."
}
    

Series

Get a Series

GET
/api/v1/ser/{code}

Gets a Series from a code.

Request parameters

Name Datatype Description
code string The unique code of the Series object, which starts with SER_.

Response parameters

Name Datatype Description
series object The Series object of the Series that is returned.

Series object

Name Datatype Description
title string The title of the Series.
description string The description of the Series, for example, it could describe a particular utility at a particular address.
billing_name string The name of the payor or the receivor of the Invoices associated with the Series.
billing_email string The email address of the payor or the receivor of the Invoices associated with the Series.
code string The unique code of the Series, starting with SER_.
company_name string The merchant organisation name that issues the Invoices associated with the Series.
company_abn string The Australian Business Number of the merchant organisation that issues the Invoices associated with the Series.
company_website string The URL of the website for the merchant organisation that issues the Invoices associated with the Series.
status string One of ACTIVE INITIATED SUSPENDED. It will typically be active, irrespective of the statuses of the associated Invoices.
recipient string A code associated with the recipient, such as an address, set by the merchant.
total_paid number The sum of all the amounts paid for Invoices for this Series, including amounts paid externally. This amount is in cents in AUD, e.g. 100 is $1.00.
total_due number Amount outstanding for Invoices for this Series. This amount is in cents in AUD, e.g. 100 is $1.00.
privacy_status string Either NO_PASSKEY or HAS_PASSKEY.
passkey string The passkey for public access to the Series. Null if no passkey is used.
short_url string The shortened URL that redirects to the public webpage for the Series object.
invoice_count string The number of Invoices assigned to the Series. To see the details of individual Invoices, make the 'Search for an Invoice', using the criterion of the field series_code.
tags array Array of strings, each element of which represents a tag associated with the Series.

Example response

Response 200 - Success

{
    "series": {
        "title": "Telecommunications Bill",
        "description": "Telecommunications bill for 19 Bolton Street Box Hill VIC 3128.",
        "billing_name": "John Smith",
        "billing_email": "[email protected]",
        "code": "SER_0705C88A",
        "company_name": "General Utilities",
        "company_abn": "92320683239",
        "company_website": "https://genutils.com.au",
        "status": "ACTIVE",
        "recipient": "W29YE36",
        "total_paid": 0,
        "total_due": 0,
        "privacy_status": "NO_PASSKEY",
        "passkey": null,
        "short_url": "invc.me/SUPLN7",
        "invoice_count": 0,
        "tags": [
            "W29YE36"
        ]
    }
}
    
Response 401 - Auth error

{
    "error": "Invalid API key"
}
    
Response 404 - Not found

{
    "error": "Cannot find object that belongs to your Company."
}
    

Search for a Series

POST
/api/v1/series

Searches for Series objects.

Request parameters

Name Datatype Description
series
required
object Series search object. Can be an empty object.
tags
required
array Tags to filter by. Array of strings. Can be an empty array if you don't want to filter by tags.
req_count
required
boolean Is true if a count of all Invoices that match the criteria, regardless of offset and limit parameters, is desired to be returned.
limit number The maximum number of results for the query. The default is 10 and the maximum is 500.
offset number The offset of the search. For example, for a search criteria that would return 37 results with a page limit of 10 and an offset of 14, it would return the 15th result to the 25th result. Is useful for effectively paginating results. The default is 0.

Series search object

Name Datatype Description
billing_email string Billing email of the Series.
code string Series code of the Series, starting with SER_.
created_at object A max/min object setting the maximum and minimum bounds of when the Series was created. In the form {max: x, min: y}. Here, x and y are of either string type, being an ISO8601 string, or number type, being a UNIX timestamp.
status string One of INITIATED ACTIVE SUSPENDED.

Request example

POST /api/v1/series

{
    "series":{
        "created_at":{
            "min":"2024-06-01",
            "max":"2024-07-01"
        }
    },
    "tags":["gasbill"],
    "req_count":true,
    "limit":10,
    "offset":0
}
    

Response parameters

Name Datatype Description
series array Array of Series objects that match the search criteria.
count number Number of Series that match the criteria, not considering the offset and limit parameters that may restrict results in the search.

Response example

Response 200 - Success

{
    "series": [
        {
            "title": "Gas bill - 443 Heidelberg Rd",
            "description": "Gas bill for 443 Upper Heidelberg Rd Ivanhoe VIC 3079",
            "billing_name": "John Smith",
            "billing_email": "[email protected]",
            "code": "SER_E5934005",
            "company_name": "General Utilities",
            "company_abn": "92320683239",
            "company_website": "https://genutils.com.au",
            "status": "ACTIVE",
            "recipient": "John Smith",
            "total_paid": 0,
            "total_due": 0,
            "privacy_status": "HAS_PASSKEY",
            "passkey": "lkpFwc",
            "short_url": "invc.me/TQWFVT",
            "invoice_count": 0,
            "tags": [
                "gasbill"
            ]
        }
    ],
    "count": 1
}
    
Response 401 - Auth error

{
    "error": "Invalid API key"
}
    

Create a Series

POST
/api/v1/ser

Creates a Series object.

Request parameters

Name Datatype Description
series
required
object Create Series object.
tags
required
array Array of strings to be added as tags. If the number of tags exceeds the maximum number of permitted tags, it will only add the first number of tags so as not to exceed the limit.

Create Series object

Name Datatype Description
title
required
string Title of the Series.
description string Description of the Series.
billing_name
required
string The name of the person or entity to be billed.
billing_email string Description of the Series.
privacy_status
required
string String that determines whether the Series has a passkey. One of NO_PASSKEY HAS_PASSKEY.
passkey string Passkey to be able to view the Series object. Only necessary when privacy status is set to HAS_PASSKEY.

Example create Series

POST /api/v1/ser

{
    "series":{
        "title":"Gas bill - 443 Heidelberg Rd",
        "description":"Gas bill for 443 Upper Heidelberg Road Ivanhoe VIC 3079",
        "recipient":"John Smith",
        "billing_name":"John Smith",
        "billing_email":"[email protected]",
        "passkey":"lkpFwc",
        "privacy_status":"HAS_PASSKEY"
    },
    "tags":["gasbill"]
}
    

Response parameters

Name Datatype Description
series object The Series object of the Series created.

Example response

Response 200 - Success

{
    "series": {
        "title": "Gas bill - 443 Heidelberg Rd",
        "description": "Gas bill for 443 Upper Heidelberg Road Ivanhoe VIC 3079",
        "billing_name": "John Smith",
        "billing_email": "[email protected]",
        "code": "SER_E5934005",
        "company_name": "General Utilities",
        "company_abn": "92320683239",
        "company_website": "https://genutils.com.au",
        "status": "ACTIVE",
        "recipient": "John Smith",
        "total_paid": 0,
        "total_due": 0,
        "privacy_status": "HAS_PASSKEY",
        "passkey": "lkpFwc",
        "short_url": "invc.me/TQWFVT",
        "invoice_count": 0,
        "tags": [
            "gasbill"
        ]
    }
}
    
Response 400 - Client error

{
    "error": "Cannot find object that belongs to your Company."
}
    
Response 401 - Auth error

{
    "error": "2 errors found: Billing email does not match the valid email pattern.; Privacy status not valid."
}
    

Update a Series

PUT
/api/v1/ser/{code}

Update a Series object.

Request parameters

Name Datatype Description
code
required
string Series code, begins with SER_.
series
required
object Update Series object.

Update Series object

Name Datatype Description
title string Title of the Series.
description string Description of the Series.
billing_name string The name of the person or entity to be billed.
billing_email string Description of the Series.
privacy_status string String that determines whether the Series has a passkey. One of NO_PASSKEY HAS_PASSKEY.
passkey string Passkey to be able to view the Series object. Only necessary when privacy status is set to HAS_PASSKEY.

Example request

PUT /api/v1/ser/SER_E5934005

{
    "series":{
        "billing_email":"[email protected]",
        "passkey":"lkpFwccc"
    }
}
    

Response parameters

Name Datatype Description
series object Series object as a result of the update.

Example response

Response 200 - Success

{
    "series": {
        "title": "Gas bill - 443 Heidelberg Rd",
        "description": "Gas bill for 443 Upper Heidelberg Road Ivanhoe VIC 3079",
        "billing_name": "John Smith",
        "billing_email": "[email protected]",
        "code": "SER_E5934005",
        "company_name": "General Utilities",
        "company_abn": "92320683239",
        "company_website": "https://genutils.com.au",
        "status": "ACTIVE",
        "recipient": "John Smith",
        "total_paid": 0,
        "total_due": 0,
        "privacy_status": "HAS_PASSKEY",
        "passkey": "lkpFwccc",
        "short_url": "invc.me/TQWFVT",
        "invoice_count": 0,
        "tags": [
            "gasbill"
        ]
    }
}
    
Response 400 - Client error

{
    "error": "2 errors found: Billing email does not match the valid email pattern.; Privacy status not valid."
}
    
Response 401 - Auth error

{
    "error": "Invalid API key"
}
    
Response 404 - Not found

{
    "error": "Cannot find Series that belongs to your Company."
}
    

Delete a Series

DELETE
/api/v1/ser/{code}

Delete a Series object.

Request parameters

Name Datatype Description
code
required
string Series code of the Series you wish to delete, starting with SER_. Does not delete Invoice objects attached to it, but does set its Series foreign key to null.

Response parameters

Name Datatype Description
series_code string Series code of the Series deleted.
Response 200 - Success

{
    "series_code": "SER_E5934005"
}
    
Response 401 - Auth error

{
    "error": "Invalid API key"
}
    
Response 500 - Server error

    

Customers

Get a Customer

GET
/api/v1/customer/{code}

Gets a Customer from a code.

Request parameters

Name Datatype Description
code string The unique code of the Customer object, which starts with CST_.

Response parameters

Name Datatype Description
customer object The Customer object of the Customer that is returned.

Customer object

Name Datatype Description
company_name string The name of the Merchant organisation.
company_abn string The Australian Business Number of the Merchant organisation.
account_code string The code for the Account object (Merchant bank account) to which transfers for the Customer object are to be directed. Starts with ACT_. Cannot be null.
company_website string Website URL of the Merchant organisation.
status string The status of the Customer object. One of COLLECTING, INITIATED, SUSPEND_FORCE, SUSPEND_COMPANY.
passkey string The passkey associated with the Customer object. Null if there is no passkey.
privacy_status string The setting that governs how accessible the Customer object is to external viewers, i.e. whether a passkey is required to view. One of NO_PASSKEY or HAS_PASSKEY.
code string The Customer code, beginning with CST_.
name string Name of the Customer object. Acts additionally as a title. For example, Gas Bill for 123 Main St Melbourne.
email string Email address associated with the Customer object.
ref_preference string The description code method. One of SINGLE_CODE ALLOW_EMAIL REQUIRE_EMAIL.
custom_identifier string Custom identifier of the Customer object. This may be an internal customer number etc.
total_received number Total amount recognised from bank transfers linked to this Customer object. Value in AUD cents.
total_debited number Total amount that the Merchant organisation has indicated has been debited from the balance of the Customer object. Merchants may or may not use this field. This field is mainly to indicate an accurate float balance should Merchants choose to use it. Merchants may maintain internal balances, but use PaySolve to account for credits. Value in AUD cents.
total_added_externally number Total amount that the Merchant organisation has indicated has been added in a manner other than what PaySolve can account for through bank transfers for the Customer object. Merchants may or may not use this field. This field is mainly to indicate an accurate float balance should Merchants choose to use it. Merchants may maintain internal balances, but use PaySolve to account for credits. Value in AUD cents.
balance number The value of total_received + total_added_externally - total_debited. Value in AUD cents.
balance_visible boolean Whether a viewer of the Customer object (such as a Payor) can see the value of the balance. Merchants can always see the balance administratively.
show_payid boolean Offer PayID as a payment method for this Customer object. It will only appear on the payment page if a PayID has been submitted for the Account (Merchant can submit this in the Bank Accounts section of the Merchant login). PaySolve cannot currently automatically obtain the PayID of an Australian bank account.
payments are visible boolean Whether a viewer of the Customer object (such as a Payor) can see the bank transfer payments that have been recognised and assigned to this Customer object.
short_url string The shortened URL that redirects to the public webpage for the Customer object.
idempotency string The string value that is unique for any Customer object from a Merchant. Recommended to use to avoid duplications.
tags array Array of strings, each element of which represents a tag associated with the Customer.

Example response

Response 200 - Success

{
    "customer": {
        "company_name": "PAYSOLVE PTY LTD",
        "company_abn": "66676887648",
        "company_website": "https://paysolve.com.au",
        "account_code": "ACT_45FC5D108F",
        "tags": [],
        "status": "COLLECTING",
        "passkey": null,
        "code": "CST_D2A37690",
        "custom_identifier": "PERSON_10928374",
        "total_received": 0,
        "total_debited": 0,
        "total_added_externally": 0,
        "balance": 0,
        "balance_visible": true,
        "show_payid": false,
        "payments_are_visible": true,
        "name": "New Test Customer",
        "email": "[email protected]",
        "short_url": "D7DYDF",
        "idempotency": "791634580"
    }
}
    
Response 401 - Auth error

{
    "error": "Invalid API key"
}
    
Response 404 - Not found

{
    "error": "Cannot find object that belongs to your Company."
}
    

Search for a Customer

POST
/api/v1/customers

Searches for Customer objects.

Request parameters

Name Datatype Description
customer
required
object Customer search object. Can be an empty object.
tags
required
array Tags to filter by. Array of strings. Can be an empty array if you don't want to filter by tags.
req_count
required
boolean Is true if a count of all Invoices that match the criteria, regardless of offset and limit parameters, is desired to be returned.
limit number The maximum number of results for the query. The default is 10 and the maximum is 500.
offset number The offset of the search. For example, for a search criteria that would return 37 results with a page limit of 10 and an offset of 14, it would return the 15th result to the 25th result. Is useful for effectively paginating results. The default is 0.

Customer search object

Name Datatype Description
email string Email of the Customer object.
name string Name of the Customer object.
custom_identifier string Custom identifier of the Customer object. This is set by the Merchant and may represent an internal identifier such as a customer ID.
created_at object A max/min object setting the maximum and minimum bounds of when the Customer was created. In the form {max: x, min: y}. Here, x and y are of either string type, being an ISO8601 string, or number type, being a UNIX timestamp.
status string One of INITIATED, COLLECTING, SUSPEND_FORCE, SUSPEND_COMPANY.
balance object A max/min object setting the maximum and minimum bounds of the balance of the Customer object. In the form {max: x, min: y}. Here, x and y are of either string type, being an ISO8601 string, or number type, being a UNIX timestamp.

Request example

POST /api/v1/customers

{
    "customer":{
        "created_at":{
            "min":"2024-06-01",
            "max":"2024-07-01"
        },
        "status":"COLLECTING"
    },
    "tags":["gasbill"],
    "req_count":true,
    "limit":10,
    "offset":0
}
    

Response parameters

Name Datatype Description
customer array Array of Customer objects that match the search criteria.
count number Number of Customer objects that match the criteria, not considering the offset and limit parameters that may restrict results in the search.

Response example

Response 200 - Success

{
    "customers": [
        {
            "company_name": "PAYSOLVE PTY LTD",
            "company_abn": "66676887648",
            "company_website": "https://paysolve.com.au",
            "account_code": "ACT_45FC5D108F",
            "tags": [],
            "status": "COLLECTING",
            "passkey": null,
            "code": "CST_D2A37690",
            "custom_identifier": "PERSON_10928374",
            "total_received": 0,
            "total_debited": 0,
            "total_added_externally": 0,
            "balance": 0,
            "balance_visible": true,
            "show_payid": false,
            "payments_are_visible": true,
            "name": "New Test Customer",
            "email": "[email protected]",
            "short_url": "D7DYDF",
            "idempotency": "791634580"
        }
    ],
    "count": 1
}
    
Response 401 - Auth error

{
    "error": "Invalid API key"
}
    

Create a Customer

POST
/api/v1/customer

Create a Customer.

Request parameters

Name Datatype Description
customer
required
object (Customer create) The create Customer object that specifies the Customer to be created.
tags
required
array (string) An array of strings, each element of which represents a tag to be attached to the Customer object. The idempotency field in the create Customer object will automatically be added as a tag upon creation.

Create Customer object

Name Datatype Description
name
required
string The name of the Customer object, for example "John Smith" or "Power Bill at 123 Main St Melbourne VIC".
email string The email address of the person or organisation associated with Customer.
account_code
required
string The code of the Account object (bank account) that you want the payor to pay into to credit this Customer object.
custom_identifier string A string that a Merchant may use to represent an internal reference for the object, such as a customer ID.
total_added_externally number The starting amount that has been credited to the Customer object from sources other than bank transfers from PaySolve. Integer amount in cents AUD, default is 0. Merchants may use this field, or may maintain internal accounting of external credits and debits.
total_debited number The starting amount that has been debited from the Customer object. Integer amount in cents AUD, default is 0. Merchants may use this field, or may maintain internal accounting of external credits and debits.
balance_visible
required
boolean Whether the balance field is visible to a viewer of the Customer object. The balance is always visible to the Merchant.
privacy_status
required
string The setting that governs how accessible the Customer object is to external viewers, i.e. whether a passkey is required to view. Acceptable values are NO_PASSKEY or HAS_PASSKEY.
passkey string A passkey required for a viewer with the short or long URL to view the Customer object. Only required if privacy_status is set to PASSKEY_REQUIRED. Must be between 4 and 16 characters, only alphanumeric (both cases) characters permitted.
show_payid
required
boolean Whether to show PayID as an option for a Payor to pay this Customer object. only if a PayID has been registered to the Account associated with the Customer object.
payments_are_visible
required
boolean Whether payments received and associated with the Customer object are visible to an ordinary viewer. Only basic payment information is shown.
ref_preference
required
string The description code method. One of SINGLE_CODE ALLOW_EMAIL REQUIRE_EMAIL.
idempotency string A unique string that identifies the Customer, created by you. This could be, for example, your own internal customer ID. It will be automatically added as a tag.

Request example

POST /api/v1/customer

{
    "customer":{
        "status": "COLLECTING",
        "account_code":"ACT_45FC5D108F",
        "passkey": "abc123",
        "custom_identifier": "1234567890",
        "total_debited": 0,
        "total_added_externally": 0,
        "balance_visible": true,
        "show_payid": false,
        "payments_are_visible": true,
        "name": "New Test Customer",
        "email": "[email protected]",
        "idempotency": "0987654321"
    },
    "tags":["gasbill"]
}
    

Response parameters

Name Datatype Description
customer object A Customer object of the created Customer.

Response example

Response 201 - Created

{
    "customer": {
        "company_name": "PAYSOLVE PTY LTD",
        "company_abn": "66676887648",
        "company_website": "https://paysolve.com.au",
        "account_code": "ACT_45FC5D108F",
        "tags": [],
        "status": "COLLECTING",
        "passkey": null,
        "code": "CST_D2A37690",
        "custom_identifier": "PERSON_10928374",
        "total_received": 0,
        "total_debited": 0,
        "total_added_externally": 0,
        "balance": 0,
        "balance_visible": true,
        "show_payid": false,
        "payments_are_visible": true,
        "name": "New Test Customer",
        "email": "[email protected]",
        "short_url": "D7DYDF",
        "idempotency": "791634580"
    }
}
    
Response 400 - Client error

{
    "error": "Failed to create Invoice object."
}
    
Response 401 - Authorization error

{
    "error": "Invalid API key"
}
    

Update a Customer

PUT
/api/v1/customer/{code}

Update a Customer object.

Request parameters

Name Datatype Description
code
required
string Code of the Customer object.
customer
required
object Update Customer object.

Update Customer object

Name Datatype Description
name string The name of the Customer object, for example "John Smith" or "Power Bill at 123 Main St Melbourne VIC".
email string The email address of the person or organisation associated with Customer.
account_code string The code of the Account object (bank account) that you want the payor to pay into to credit this Customer object.
custom_identifier string A string that a Merchant may use to represent an internal reference for the object, such as a customer ID.
total_added_externally number The amount that has been credited to the Customer object from sources other than bank transfers from PaySolve. Integer amount in cents AUD, default is 0. Merchants may use this field, or may maintain internal accounting of external credits and debits.
total_debited number The amount that has been debited from the Customer object. Integer amount in cents AUD, default is 0. Merchants may use this field, or may maintain internal accounting of external credits and debits.
balance_visible boolean Whether the balance field is visible to a viewer of the Customer object. The balance is always visible to the Merchant.
privacy_status string The setting that governs how accessible the Customer object is to external viewers, i.e. whether a passkey is required to view. Acceptable values are NO_PASSKEY or HAS_PASSKEY.
passkey string A passkey required for a viewer with the short or long URL to view the Customer object. Only required if privacy_status is set to PASSKEY_REQUIRED. Must be between 4 and 16 characters, only alphanumeric (both cases) characters permitted.
show_payid boolean Whether to show PayID as an option for a Payor to pay this Customer object. only if a PayID has been registered to the Account associated with the Customer object.
payments_are_visible boolean Whether payments received and associated with the Customer object are visible to an ordinary viewer. Only basic payment information is shown.
ref_preference string The description code method. One of SINGLE_CODE ALLOW_EMAIL REQUIRE_EMAIL.

Example request

PUT /api/v1/customer/CST_D2A37690

{
    "customer":{
        "total_added_externally": 18273,
        "total_debited": 91400,
        "passkey": "jdf8xYt1"
    }
}
    

Response parameters

Name Datatype Description
customer object Customer object as a result of the update.

Example response

Response 200 - Success

{
    "customer": {
        "company_name": "PAYSOLVE PTY LTD",
        "company_abn": "66676887648",
        "company_website": "https://paysolve.com.au",
        "account_code": "ACT_45FC5D108F",
        "tags": [],
        "status": "COLLECTING",
        "passkey": null,
        "privacy_status": "NO_PASSKEY",
        "code": "CST_D2A37690",
        "custom_identifier": "1234567890",
        "total_received": 0,
        "total_debited": 0,
        "total_added_externally": 100,
        "balance": 0,
        "balance_visible": true,
        "show_payid": false,
        "payments_are_visible": true,
        "name": "New Test Customer",
        "email": "[email protected]",
        "short_url": "D7DYDF",
        "idempotency": null
    }
}
    
Response 400 - Client error

{
    "error": "2 errors found: Account not permitted; Name cannot be null."
}
    
Response 401 - Auth error

{
    "error": "Invalid API key"
}
    
Response 404 - Not found

{
    "error": "Cannot find Customer that belongs to your Company."
}
    

Delete a Customer

DELETE
/api/v1/customer/{code}

Delete a Customer object.

Request parameters

Name Datatype Description
code
required
string Customer code of the Customer you wish to delete, starting with CST_. Does not delete Invoice objects attached to it, but does set its Series foreign key to null.

Response parameters

Name Datatype Description
customer_code string Series code of the Series deleted.
Response 200 - Success

{
    "customer_code": "CST_D2A37690"
}
    
Response 401 - Auth error

{
    "error": "Invalid API key"
}
    
Response 500 - Server error

    

Transfers

Get a Transfer

GET
/api/v1/transfer/{code}

Gets a Transfer from a code.

Request parameters

Name Datatype Description
code string The unique code of the Transfer object, which starts with TFR_.

Response parameters

Name Datatype Description
transfer object The Transfer object of the Transfer that is returned.

Transfer object

Name Datatype Description
invoice_code string The code of the Invoice object to which the Transfer object is assigned.
fund_code string The code of the Fund object to which the Transfer object is assigned.
customer_code string The code of the Customer object to which the Transfer object is assigned.
account_code string The code of the Account object (bank account) that the Transfer object was received in.
status string The status of the Transfer object. One of UNASSIGNED, ASSIGNED, EXCESS_PAID, MANUALLY_ASSIGNED, NO_MATCHES, MULTIPLE_MATCHES, ASSIGNED_DISPUTE.
code string The code of the Transfer object. Starts with TFR_.
amount integer The amount of the received transfer into the bank account. Only received transfers are recorded, so there is no need to differentiate between positive and negative values. Thus, all values are positive. Integer amount representing AUD cents.
transaction_identifier string A string that is used to uniquely identify and give information about the transfer in the bank account. A concatenation of the institution code and the unique bank reference (concatenated with a full colon :).
bank_status string A banking internal status. Will usually be posted, meaning that the payment has been received.
bank_transaction_type string A banking internal type. Will usually be transfer.
total_added_externally number Total amount that the Merchant organisation has indicated has been added in a manner other than what PaySolve can account for through bank transfers for the Customer object. Merchants may or may not use this field. This field is mainly to indicate an accurate float balance should Merchants choose to use it. Merchants may maintain internal balances, but use PaySolve to account for credits. Value in AUD cents.
balance number The value of total_received + total_added_externally - total_debited. Value in AUD cents.
balance_visible boolean Whether a viewer of the Customer object (such as a Payor) can see the value of the balance. Merchants can always see the balance administratively.
show_payid boolean Offer PayID as a payment method for this Customer object. It will only appear on the payment page if a PayID has been submitted for the Account (Merchant can submit this in the Bank Accounts section of the Merchant login). PaySolve cannot currently automatically obtain the PayID of an Australian bank account.
payments are visible boolean Whether a viewer of the Customer object (such as a Payor) can see the bank transfer payments that have been recognised and assigned to this Customer object.
short_url string The shortened URL that redirects to the public webpage for the Customer object.
idempotency string The string value that is unique for any Customer object from a Merchant. Recommended to use to avoid duplications.
tags array Array of strings, each element of which represents a tag associated with the Customer.

Example response

Response 200 - Success

{
    "customer": {
        "company_name": "PAYSOLVE PTY LTD",
        "company_abn": "66676887648",
        "company_website": "https://paysolve.com.au",
        "account_code": "ACT_45FC5D108F",
        "tags": [],
        "status": "COLLECTING",
        "passkey": null,
        "code": "CST_D2A37690",
        "custom_identifier": "PERSON_10928374",
        "total_received": 0,
        "total_debited": 0,
        "total_added_externally": 0,
        "balance": 0,
        "balance_visible": true,
        "show_payid": false,
        "payments_are_visible": true,
        "name": "New Test Customer",
        "email": "[email protected]",
        "short_url": "D7DYDF",
        "idempotency": "791634580"
    }
}
    
Response 401 - Auth error

{
    "error": "Invalid API key"
}
    
Response 404 - Not found

{
    "error": "Cannot find object that belongs to your Company."
}
    

Search for a Transfer

POST
/api/v1/transfers

Searches for Transfer objects.

Request parameters

Name Datatype Description
transfer
required
object Transfer search object. Can be an empty object.
req_count
required
boolean Is true if a count of all Invoices that match the criteria, regardless of offset and limit parameters, is desired to be returned.
limit number The maximum number of results for the query. The default is 10 and the maximum is 500.
offset number The offset of the search. For example, for a search criteria that would return 37 results with a page limit of 10 and an offset of 14, it would return the 15th result to the 25th result. Is useful for effectively paginating results. The default is 0.

Customer search object

Name Datatype Description
email string Email of the Customer object.
name string Name of the Customer object.
custom_identifier string Custom identifier of the Customer object. This is set by the Merchant and may represent an internal identifier such as a customer ID.
created_at object A max/min object setting the maximum and minimum bounds of when the Customer was created. In the form {max: x, min: y}. Here, x and y are of either string type, being an ISO8601 string, or number type, being a UNIX timestamp.
status string One of INITIATED, COLLECTING, SUSPEND_FORCE, SUSPEND_COMPANY.
balance object A max/min object setting the maximum and minimum bounds of the balance of the Customer object. In the form {max: x, min: y}. Here, x and y are of either string type, being an ISO8601 string, or number type, being a UNIX timestamp.

Request example

POST /api/v1/customers

{
    "customer":{
        "created_at":{
            "min":"2024-06-01",
            "max":"2024-07-01"
        },
        "status":"COLLECTING"
    },
    "tags":["gasbill"],
    "req_count":true,
    "limit":10,
    "offset":0
}
    

Response parameters

Name Datatype Description
customer array Array of Customer objects that match the search criteria.
count number Number of Customer objects that match the criteria, not considering the offset and limit parameters that may restrict results in the search.

Response example

Response 200 - Success

{
    "customers": [
        {
            "company_name": "PAYSOLVE PTY LTD",
            "company_abn": "66676887648",
            "company_website": "https://paysolve.com.au",
            "account_code": "ACT_45FC5D108F",
            "tags": [],
            "status": "COLLECTING",
            "passkey": null,
            "code": "CST_D2A37690",
            "custom_identifier": "PERSON_10928374",
            "total_received": 0,
            "total_debited": 0,
            "total_added_externally": 0,
            "balance": 0,
            "balance_visible": true,
            "show_payid": false,
            "payments_are_visible": true,
            "name": "New Test Customer",
            "email": "[email protected]",
            "short_url": "D7DYDF",
            "idempotency": "791634580"
        }
    ],
    "count": 1
}
    
Response 401 - Auth error

{
    "error": "Invalid API key"
}