Introduction
Hello! Blixo is an API for billing customers and getting paid.
Our API was designed to handle all of the billing needs for your business or application while making the integration process as painless as possible. Through the API we can help you seamlessly manage invoicing, payments, subscription billing, metered billing, estimates, pricing, and much more.
We designed the Blixo API around REST principles.
API Endpoint
All API calls must be made to https://api.blixo.com/v1/
JSON-only
All responses will be in JSON. Input data passed through the request body can be form-encoded or JSON-encoded. If using a JSON body, please specify the Content-Type header as application/json.
In the API dates are represented as UNIX timestamps. Each entity like customers or invoices has a unique integer ID.
PDFs
A few endpoints support returning a PDF response instead of JSON if you set the Accept header to application/pdf. For example, the retrieve invoice endpoint can return a PDF. The endpoints that support PDFs are notated in the documentation.
Getting Help
If you need help using the API or need to discuss anything sensitive please message us at [email protected].
Authentication
The API uses HTTP Basic Authentication to authenticate users. A valid API key is required for all requests.
Obtaining an API Key
An API key can be obtained by signing in to blixo.com, and then going to Settings → Developers → API Keys). Each business on Blixo has its own set of API keys. We recommend creating a separate API key for each application that will be making calls on your behalf.
Usage
curl "https://api.blixo.com/v1/customers" \
-u {API_KEY}:
The API key must be passed in through the username with the password left blank. The right sidebar has an example request with authorization
Errors
Each API call returns an HTTP status code that reflects the nature of the response. We have done our best to follow the HTTP status code conventions.
Any request that did not succeed will return a 4xx or 5xx error. The 4xx range means there was a problem with the request, like a missing parameter. The 5xx range means that something went wrong on our end.
The Blixo API uses the following error codes:
Code | Meaning |
---|---|
400 | Bad Request -- Your request is invalid. |
401 | Unauthorized -- Your API key is wrong. |
403 | Forbidden -- The kitten requested is hidden for administrators only. |
404 | Not Found -- The specified kitten could not be found. |
405 | Method Not Allowed -- You tried to access a kitten with an invalid method. |
406 | Not Acceptable -- You requested a format that isn't json. |
410 | Gone -- The kitten requested has been removed from our servers. |
418 | I'm a teapot. |
429 | Too Many Requests -- You're requesting too many kittens! Slow down! |
500 | Internal Server Error -- We had a problem with our server. Try again later. |
503 | Service Unavailable -- We're temporarily offline for maintenance. Please try again later. |
Customers
List all customers
curl "https://api.blixo.com/v1/customers" \
-u {API_KEY}:
The above command returns JSON structured like this:
[
{
"id": "61039770b733d94e98645c62",
"name": "Blixo Customer",
"email": "[email protected]",
"customerNo": "CUS-0001",
"customerType": "COMPANY",
"enabled": true,
"creditHold": false,
"autopay": false,
"chasing": false,
"companyId": "60e1b7f0c6ef4219ff51824c",
"contacts": [],
"disabledPaymentMethods": [],
"language": "",
"notes": "",
"paymentDate": 0,
"paymentTerms": "NET_30",
"signInToken": "",
"taxIds": [],
"taxable": false,
"address": {
"address1": "",
"address2": "",
"attn": "",
"city": "",
"country": "",
"phones": [],
"state": "",
"zipCode": ""
},
"createdAt": "2021-07-30T06:08:48.779Z",
"updatedAt": "2021-08-17T18:00:01.290Z",
"createdBy": "60df577403bfb318db1bbac7",
}
]
This endpoint retrieves all customers.
HTTP Request
GET /customers
Create a customer
curl "https://api.blixo.com/v1/customers" \
-u {API_KEY}: \
-d name="Blixo Customer" \
-d email="[email protected]" \
-d paymentTerms="NET_30" \
-d address[attn]="Sale Manager" \
-d address[address1]="2232 Stiles Street" \
-d address[city]="Bridgeville" \
-d address[state]="PA" \
-d address[zipCode]="15017" \
-d address[country]="US" \
-d address[phones][0]="412-603-3268" \
-d address[phones][1]="412-292-0048" \
-X POST
The above command returns JSON structured like this:
{
"data": {
"id": "61039770b733d94e98645c62",
"name": "Blixo Customer",
"email": "[email protected]",
"customerNo": "CUS-0001",
"customerType": "COMPANY",
"enabled": true,
"creditHold": false,
"autopay": false,
"billToParent": false,
"chasing": false,
"companyId": "60e1b7f0c6ef4219ff51824c",
"contacts": [],
"disabledPaymentMethods": [],
"language": "",
"notes": "",
"paymentDate": 0,
"paymentSources": [],
"paymentTerms": "NET_30",
"primaryContactId": null,
"signInToken": "",
"taxIds": [],
"taxable": false,
"address": {
"address1": "",
"address2": "",
"attn": "",
"city": "",
"country": "",
"phones": [],
"state": "",
"zipCode": ""
},
"createdAt": "2021-07-30T06:08:48.779Z",
"updatedAt": "2021-08-17T18:00:01.290Z",
"createdBy": "60df577403bfb318db1bbac7",
}
}
Create a new customer profile with this endpoint.
HTTP Request
POST /customers
Query Parameters
Parameter | Type | Description |
---|---|---|
name | string | (required) Customer's name |
string | Customer's email | |
customerNo | string | Customer's number. It will be generated automatically if not specified. |
paymentTerms | string | Customer's Payment Terms. It's one of the values DUE_ON_RECEIPT , CUSTOM , NET_7 , NET_10 , NET_15 , NET_30 , NET_60 , NET_90 |
disabledPaymentMethods | array | List of payment methods to disable for this customer. Example: credit_card , ach , check , wire , cash , other |
creditHold | boolean | When true, customer is on credit hold. Default: false |
autopay | boolean | Auto pay. Default: false |
chasing | boolean | Chasing. Default: false |
language | string | Two-letter ISO code |
notes | string | Customer notes |
paymentDate | datetime | Selected payment date |
signInToken | string | Sign-in token for customer portal |
taxIds | array | List tax IDs |
taxable | boolean | default: false |
address | object | Address object includes address1 , address2 , attn , city , country , phones , state , zipCode |
Update a customer
curl "https://api.blixo.com/v1/customers/:customerId" \
-u {API_KEY}: \
-d name="Blixo Customer" \
-d email="[email protected]" \
-d paymentTerms="NET_30" \
-d address[attn]="Sale Manager" \
-d address[address1]="2232 Stiles Street" \
-d address[city]="Bridgeville" \
-d address[state]="PA" \
-d address[zipCode]="15017" \
-d address[country]="US" \
-d address[phones][0]="412-603-3268" \
-d address[phones][1]="412-292-0048" \
-X PATCH
The above command returns JSON structured like this:
{
"data": {
"id": "611d4216a747250146ade2cf",
"customerNo": "CUS-0002",
"name": "Blixo Customer",
"customerType": "COMPANY",
"email": "[email protected]",
"parentCustomerId":null,
"billToParent":false,
"language": "",
"taxable":false,
"taxIds":[],
"creditHold":false,
"contacts":[],
"primaryContactId":null,
"autopay":false,
"paymentSources":[],
"paymentDate":0,
"disabledPaymentMethods":[],
"managerId":null,
"notes": "",
"chasing":false,
"companyId": "60a7749e1f30710141d858cc",
"enabled":true,
"createdBy": "60a7745d1f30710141d858c5",
"updatedBy": "60a7745d1f30710141d858c5",
"createdAt": "2021-08-18T17:23:34.699Z",
"updatedAt": "2021-08-18T17:48:03.423Z",
"address":{
"attn": "",
"phones":[],
"address1": "",
"address2": "",
"city": "",
"state": "",
"zipCode": "",
"country": ""
}
}
}
Use this endpoint to update a customer profile.
HTTP Request
PATCH /customers/:customerId
Query Parameters
Parameter | Type | Description |
---|---|---|
name | string | (required) Customer's name |
string | Customer's email | |
customerNo | string | Customer's number. It will be generated automatically if not specified. |
paymentTerms | string | Customer's Payment Terms. It's one of the values DUE_ON_RECEIPT , CUSTOM , NET_7 , NET_10 , NET_15 , NET_30 , NET_60 , NET_90 |
disabledPaymentMethods | array | List of payment methods to disable for this customer. Example: credit_card , ach , check , wire , cash , other |
creditHold | boolean | When true, customer is on credit hold. Default: false |
autopay | boolean | Auto pay. Default: false |
chasing | boolean | Chasing. Default: false |
language | string | Two-letter ISO code |
notes | string | Customer notes |
paymentDate | datetime | Selected payment date |
signInToken | string | Sign-in token for customer portal |
taxIds | array | List tax IDs |
taxable | boolean | default: false |
address | object | Address object includes address1 , address2 , attn , city , country , phones , state , zipCode |
Delete a customer
curl "https://api.blixo.com/v1/customers/:customerId" \
-u {API_KEY}: \
-X DELETE
The above command returns JSON structured like this:
{
"data": "611d4216a747250146ade2cf"
}
This endpoint deletes a specific customer.
HTTP Request
DELETE /customers/:customerId
Invoices
List all invoices
curl "https://api.blixo.com/v1/invoices" \
-u {API_KEY}:
The above command returns JSON structured like this:
{
"data": [
{
"id": "610c0d55aeafb90145d8cb5b",
"invoiceNo": "INV-0003",
"managerId": null,
"issueDate": "2021-08-05T16:09:46.680Z",
"dueDate": "2021-09-04T16:09:46.680Z",
"billTo": {
"attn": "Barbara",
"phones": [
"252-602-2731"
],
"address1": "847 Rockwell Lane",
"address2": "",
"city": "Rocky Mount",
"state": "North Carolina",
"zipCode": "27801",
"country": "US",
"name": "Barbara J Thompson"
},
"notes": "",
"attachments": [],
"subTotalAmount": {
"currency": "USD",
"_id": "6110fdaa95c80501473b3b3e",
"value": 100,
"unit": "$"
},
"totalAmount": {
"currency": "USD",
"value": 100,
"unit": "$"
},
"balanceAmount": {
"currency": "USD",
"value": 100,
"unit": "$"
},
"paymentStatus": [
"OUTSTANDING"
],
"paymentTerms": "NET_30",
"invoiceStatus": [
"DRAFT"
],
"sentStatus": "NOT_SENT",
"itemLines": [
{
"detail": null,
"_id": "610c0d4a18d80318a12c11b6",
"title": "test",
"description": "",
"quantity": 1,
"rate": {
"currency": "USD",
"_id": "610c0d55aeafb90145d8cb5d",
"value": 100,
"unit": "$"
},
"amount": {
"currency": "USD",
"_id": "6110fdaa95c80501473b3b3a",
"value": 100,
"unit": "$"
},
"taxLines": [],
"discountLines": [],
"discountAmount": {
"currency": "USD",
"_id": "6110fdaa95c80501473b3b38",
"value": 0,
"unit": "$"
},
"discountedAmount": {
"currency": "USD",
"_id": "6110fdaa95c80501473b3b39",
"value": 100,
"unit": "$"
}
}
],
"discountLines": [],
"discountAmount": {
"currency": "USD",
"_id": "6110fdaa95c80501473b3b3b",
"value": 0,
"unit": "$"
},
"discountedAmount": {
"currency": "USD",
"_id": "6110fdaa95c80501473b3b3c",
"value": 100,
"unit": "$"
},
"taxLines": [],
"taxAmount": {
"currency": "USD",
"_id": "6110fdaa95c80501473b3b3d",
"value": 0,
"unit": "$"
},
"creditAmount": {
"currency": "USD",
"_id": "6110fdaa95c80501473b3b40",
"value": 0,
"unit": "$"
},
"paidAmount": {
"currency": "USD",
"_id": "6110fdaa95c80501473b3b3f",
"value": 0,
"unit": "$"
},
"companyId": "60a7749e1f30710141d858cc",
"customerId": "60a775021f30710141d85946",
"createdBy": "60a7745d1f30710141d858c5",
"updatedBy": "60a7745d1f30710141d858c5",
"createdAt": "2021-08-05T16:09:57.617Z",
"updatedAt": "2021-08-09T10:04:26.806Z",
"payments": [],
"creditNotes": []
}
],
"pagination": {
"total": 1
}
}
This endpoint retrieves all invoices.
HTTP Request
GET /invoices
Query Parameters
Parameter | Type | Description |
---|---|---|
invoiceStatus | array | Filter by multiple invoice status, e.g. invoiceStatus[0]=DRAFT |
paymentStatus | array | Filter by multiple payment status, e.g. paymentStatus[0]=OUTSTANDING |
sort | array | Sort by field name and its ordering, e.g. sort[0]=invoiceNo&sort[1]=-1 |
page | integer | Current page |
perPage | integer | Number of items per pages |
Create an invoice
curl "https://api.blixo.com/v1/invoices" \
-u {API_KEY}: \
-d paymentTerms="NET_30" \
-d paymentStatus[0]="OUTSTANDING" \
-d invoiceStatus[0]="ISSUED" \
-d issueDate="2021-08-22T17:05:58.112Z" \
-d dueDate="2021-09-21T17:05:58.112Z" \
-d companyId="60e1b7f0c6ef4219ff51824c" \
-d customerId="612283bafd4e6319d487fa8f" \
-d billTo[name]="Blixo Customer" \
-d billTo[attn]="Sale Manager" \
-d billTo[address1]="2232 Stiles Street" \
-d address[city]="Bridgeville" \
-d address[state]="PA" \
-d address[zipCode]="15017" \
-d address[country]="US" \
-d address[phones][0]="412-603-3268" \
-d address[phones][1]="412-292-0048" \
-d discountLines[0][name]="Discount 10%" \
-d discountLines[0][amount][unit]="%" \
-d discountLines[0][amount][value]=10 \
-d taxLines[0][name]="Tax 10%" \
-d taxLines[0][priceInclude]=false \
-d taxLines[0][amount][unit]="%" \
-d taxLines[0][amount][value]=10 \
-X POST
The above command returns JSON structured like this:
{
"data": {
"id": "611e9a42b946440146b166b2",
"invoiceNo": "INV-0005",
"managerId": null,
"issueDate": "2021-08-19T17:51:37.402Z",
"dueDate": "2021-09-18T17:51:37.402Z",
"paidDate": null,
"notes": "",
"subTotalAmount": {
"currency": "USD",
"_id": "611e9a43b946440146b166c4",
"value": 100,
"unit": "$"
},
"totalAmount": {
"currency": "USD",
"value": 100,
"unit": "$"
},
"balanceAmount": {
"currency": "USD",
"value": 100,
"unit": "$"
},
"paymentStatus": [
"OUTSTANDING"
],
"paymentTerms": "NET_30",
"invoiceStatus": [
"ISSUED"
],
"sentStatus": "NOT_SENT",
"discountLines": [],
"discountAmount": {
"currency": "USD",
"_id": "611e9a43b946440146b166c1",
"value": 0,
"unit": "$"
},
"discountedAmount": {
"currency": "USD",
"_id": "611e9a43b946440146b166c2",
"value": 100,
"unit": "$"
},
"taxLines": [],
"taxAmount": {
"currency": "USD",
"_id": "611e9a43b946440146b166c3",
"value": 0,
"unit": "$"
},
"creditAmount": {
"currency": "USD",
"_id": "611e9a43b946440146b166c7",
"value": 0,
"unit": "$"
},
"paidAmount": {
"currency": "USD",
"_id": "611e9a43b946440146b166c6",
"value": 0,
"unit": "$"
},
"companyId": "60a7749e1f30710141d858cc",
"customerId": "60a775021f30710141d85946",
"createdBy": "60a7745d1f30710141d858c5",
"updatedBy": "60a7745d1f30710141d858c5",
"createdAt": "2021-08-19T17:52:02.829Z",
"updatedAt": "2021-08-19T17:52:04.234Z"
}
}
Create a new invoice with this endpoint.
HTTP Request
POST /invoices
Query Parameters
Parameter | Type | Description |
---|---|---|
customerId | objectId | Customer ID |
companyId | objectId | Company ID |
billTo | object | Address object includes address1 , address2 , attn , city , country , phones , state , zipCode |
shipTo | object | Address object includes address1 , address2 , attn , city , country , phones , state , zipCode |
paymentTerms | string | Payment terms, e.g. CUSTOM , AUTO_PAY , DUE_ON_RECEIPT , NET_7 , NET_10 , NET_15 , NET_30 , NET_60 , NET_90 |
paymentStatus | array | Payment status, e.g. OUTSTANDING , PASTDUE , PAID , PENDING , BABDEBT , VOIDED , BROKEN_PROMISE |
invoiceStatus | array | Invoice status, e.g. ISSUED , DRAFT , CLOSED |
sentStatus | array | Invoice sent status, e.g. SENT or NOT_SENT |
itemLines | array | An array of items. Each item are an object includes title , description , quantity , rate , amount |
taxLines | array | An array of tax items |
discountLines | array | An array of discount items |
notes | string | Invoice notes |
subTotalAmount | object | An amount object |
subTotalAmount | object | An amount object |
subTotalAmount | object | An amount object |
totalAmount | object | An amount object |
balanceAmount | object | An amount object |
paidAmount | object | An amount object |
discountAmount | object | An amount object |
discountedAmount | object | An amount object |
taxAmount | object | An amount object |
creditAmount | object | An amount object |
issueDate | datetime | Issue date |
dueDate | datetime | Due date |
Update an invoice
curl "https://api.blixo.com/v1/invoices/:invoiceId" \
-u {API_KEY}: \
-d notes="lorem ipsum" \
-d paymentTerms="NET_90" \
-d sentStatus="SENT" \
-X PATCH
The above command returns JSON structured like this:
{
"data": {
"id": "611e9a42b946440146b166b2",
"invoiceNo": "INV-0005",
"managerId": null,
"issueDate": "2021-08-19T17:51:37.402Z",
"dueDate": "2021-09-18T17:51:37.402Z",
"paidDate": null,
"notes": "",
"subTotalAmount": {
"currency": "USD",
"_id": "611e9a43b946440146b166c4",
"value": 100,
"unit": "$"
},
"totalAmount": {
"currency": "USD",
"value": 100,
"unit": "$"
},
"balanceAmount": {
"currency": "USD",
"value": 100,
"unit": "$"
},
"paymentStatus": [
"OUTSTANDING"
],
"paymentTerms": "NET_30",
"invoiceStatus": [
"ISSUED"
],
"sentStatus": "NOT_SENT",
"discountLines": [],
"discountAmount": {
"currency": "USD",
"_id": "611e9a43b946440146b166c1",
"value": 0,
"unit": "$"
},
"discountedAmount": {
"currency": "USD",
"_id": "611e9a43b946440146b166c2",
"value": 100,
"unit": "$"
},
"taxLines": [],
"taxAmount": {
"currency": "USD",
"_id": "611e9a43b946440146b166c3",
"value": 0,
"unit": "$"
},
"creditAmount": {
"currency": "USD",
"_id": "611e9a43b946440146b166c7",
"value": 0,
"unit": "$"
},
"paidAmount": {
"currency": "USD",
"_id": "611e9a43b946440146b166c6",
"value": 0,
"unit": "$"
},
"companyId": "60a7749e1f30710141d858cc",
"customerId": "60a775021f30710141d85946",
"createdBy": "60a7745d1f30710141d858c5",
"updatedBy": "60a7745d1f30710141d858c5",
"createdAt": "2021-08-19T17:52:02.829Z",
"updatedAt": "2021-08-19T17:52:04.234Z"
}
}
Update a new invoice with this endpoint.
HTTP Request
PATCH /invoices/:invoiceId
Query Parameters
Parameter | Type | Description |
---|---|---|
customerId | objectId | Customer ID |
companyId | objectId | Company ID |
billTo | object | Address object includes address1 , address2 , attn , city , country , phones , state , zipCode |
shipTo | object | Address object includes address1 , address2 , attn , city , country , phones , state , zipCode |
paymentTerms | string | Payment terms, e.g. CUSTOM , AUTO_PAY , DUE_ON_RECEIPT , NET_7 , NET_10 , NET_15 , NET_30 , NET_60 , NET_90 |
paymentStatus | array | Payment status, e.g. OUTSTANDING , PASTDUE , PAID , PENDING , BABDEBT , VOIDED , BROKEN_PROMISE |
invoiceStatus | array | Invoice status, e.g. ISSUED , DRAFT , CLOSED |
sentStatus | array | Invoice sent status, e.g. SENT or NOT_SENT |
itemLines | array | An array of items. Each item are an object includes title , description , quantity , rate , amount |
taxLines | array | An array of tax items |
discountLines | array | An array of discount items |
notes | string | Invoice notes |
subTotalAmount | object | An amount object |
subTotalAmount | object | An amount object |
subTotalAmount | object | An amount object |
totalAmount | object | An amount object |
balanceAmount | object | An amount object |
paidAmount | object | An amount object |
discountAmount | object | An amount object |
discountedAmount | object | An amount object |
taxAmount | object | An amount object |
creditAmount | object | An amount object |
issueDate | datetime | Issue date |
dueDate | datetime | Due date |
Delete an invoice
curl "https://api.blixo.com/v1/invoices/:invoiceId" \
-u {API_KEY}: \
-X DELETE
The above command returns JSON structured like this:
{
"data": "611d4216a747250146ade2cf"
}
This endpoint deletes a specific invoice.
HTTP Request
DELETE /invoices/:invoiceId
Close an invoice
curl "https://api.blixo.com/v1/invoices/:invoiceId/actions/close" \
-u {API_KEY}: \
-X POST
The above command returns JSON structured like this:
{
"data": {
"id": "610d695a1fb214594f7a4e19",
"invoiceNo": "INV-0036",
"managerId": null,
"issueDate": "2021-08-06T16:54:30.656Z",
"dueDate": "2021-08-21T16:54:30.656Z",
"billTo": {
"attn": "Antonio",
"phones": [],
"address1": "4157 Taylor Street 123",
"address2": "",
"city": "",
"state": "",
"zipCode": "",
"country": "",
"name": "Antonio L Krach"
},
"notes": "",
"attachments": [
""
],
"subTotalAmount": {
"currency": "USD",
"_id": "6125bd0558f6a3cccc60a829",
"value": 30,
"unit": "$"
},
"totalAmount": {
"currency": "USD",
"value": 27,
"unit": "$"
},
"balanceAmount": {
"currency": "USD",
"value": 27,
"unit": "$"
},
"paymentStatus": [
"OUTSTANDING",
"BADDEBT"
],
"paymentTerms": "NET_15",
"invoiceStatus": [
"DRAFT",
"CLOSED"
],
"sentStatus": "NOT_SENT",
"itemLines": [
{
"detail": {
"description": "Lorem ipsum",
"productType": "PRODUCT"
},
"_id": "610d69461a60a3f83544f758",
"title": "test",
"description": "",
"quantity": 1,
"rate": {
"currency": "USD",
"_id": "610d695a1fb214594f7a4e1b",
"value": 30,
"unit": "$"
},
"amount": {
"currency": "USD",
"_id": "6125bd0558f6a3cccc60a825",
"value": 30,
"unit": "$"
},
"discountLines": [
{
"_id": "610cd3ff6caa26134c947edf",
"name": "Discount 10%",
"amount": {
"currency": "USD",
"_id": "610cd3ff6caa26134c947ee0",
"value": 10,
"unit": "%"
}
}
],
"taxLines": [],
"discountAmount": {
"currency": "USD",
"_id": "6125bd0558f6a3cccc60a823",
"value": 3,
"unit": "$"
},
"discountedAmount": {
"currency": "USD",
"_id": "6125bd0558f6a3cccc60a824",
"value": 27,
"unit": "$"
}
}
],
"discountLines": [],
"discountAmount": {
"currency": "USD",
"_id": "6125bd0558f6a3cccc60a826",
"value": 0,
"unit": "$"
},
"discountedAmount": {
"currency": "USD",
"_id": "6125bd0558f6a3cccc60a827",
"value": 27,
"unit": "$"
},
"taxLines": [],
"taxAmount": {
"currency": "USD",
"_id": "6125bd0558f6a3cccc60a828",
"value": 0,
"unit": "$"
},
"creditAmount": {
"currency": "USD",
"_id": "6125bd0558f6a3cccc60a82b",
"value": 0,
"unit": "$"
},
"paidAmount": {
"currency": "USD",
"_id": "6125bd0558f6a3cccc60a82a",
"value": 0,
"unit": "$"
},
"companyId": "60e1b7f0c6ef4219ff51824c",
"customerId": "61039770b733d94e98645c62",
"createdBy": "60df577403bfb318db1bbac7",
"updatedBy": "60df577403bfb318db1bbac7",
"createdAt": "2021-08-06T16:54:50.549Z",
"updatedAt": "2021-08-25T16:01:14.663Z",
"payments": [],
"creditNotes": []
}
}
Close an invoice with this endpoint.
HTTP Request
POST /invoices/:invoiceId/actions/close
Reopen an invoice
curl "https://api.blixo.com/v1/invoices/:invoiceId/actions/reopen" \
-u {API_KEY}: \
-X POST
The above command returns JSON structured like this:
{
"data": {
"id": "610d695a1fb214594f7a4e19",
"invoiceNo": "INV-0036",
"managerId": null,
"issueDate": "2021-08-06T16:54:30.656Z",
"dueDate": "2021-08-21T16:54:30.656Z",
"billTo": {
"attn": "Antonio",
"phones": [],
"address1": "4157 Taylor Street 123",
"address2": "",
"city": "",
"state": "",
"zipCode": "",
"country": "",
"name": "Antonio L Krach"
},
"notes": "",
"attachments": [
""
],
"subTotalAmount": {
"currency": "USD",
"_id": "6125bd0558f6a3cccc60a829",
"value": 30,
"unit": "$"
},
"totalAmount": {
"currency": "USD",
"value": 27,
"unit": "$"
},
"balanceAmount": {
"currency": "USD",
"value": 27,
"unit": "$"
},
"paymentStatus": [
"OUTSTANDING"
],
"paymentTerms": "NET_15",
"invoiceStatus": [
"DRAFT"
],
"sentStatus": "NOT_SENT",
"itemLines": [
{
"detail": {
"description": "Lorem ipsum",
"productType": "PRODUCT"
},
"_id": "610d69461a60a3f83544f758",
"title": "test",
"description": "",
"quantity": 1,
"rate": {
"currency": "USD",
"_id": "610d695a1fb214594f7a4e1b",
"value": 30,
"unit": "$"
},
"amount": {
"currency": "USD",
"_id": "6125bd0558f6a3cccc60a825",
"value": 30,
"unit": "$"
},
"discountLines": [
{
"_id": "610cd3ff6caa26134c947edf",
"name": "Discount 10%",
"amount": {
"currency": "USD",
"_id": "610cd3ff6caa26134c947ee0",
"value": 10,
"unit": "%"
}
}
],
"taxLines": [],
"discountAmount": {
"currency": "USD",
"_id": "6125bd0558f6a3cccc60a823",
"value": 3,
"unit": "$"
},
"discountedAmount": {
"currency": "USD",
"_id": "6125bd0558f6a3cccc60a824",
"value": 27,
"unit": "$"
}
}
],
"discountLines": [],
"discountAmount": {
"currency": "USD",
"_id": "6125bd0558f6a3cccc60a826",
"value": 0,
"unit": "$"
},
"discountedAmount": {
"currency": "USD",
"_id": "6125bd0558f6a3cccc60a827",
"value": 27,
"unit": "$"
},
"taxLines": [],
"taxAmount": {
"currency": "USD",
"_id": "6125bd0558f6a3cccc60a828",
"value": 0,
"unit": "$"
},
"creditAmount": {
"currency": "USD",
"_id": "6125bd0558f6a3cccc60a82b",
"value": 0,
"unit": "$"
},
"paidAmount": {
"currency": "USD",
"_id": "6125bd0558f6a3cccc60a82a",
"value": 0,
"unit": "$"
},
"companyId": "60e1b7f0c6ef4219ff51824c",
"customerId": "61039770b733d94e98645c62",
"createdBy": "60df577403bfb318db1bbac7",
"updatedBy": "60df577403bfb318db1bbac7",
"createdAt": "2021-08-06T16:54:50.549Z",
"updatedAt": "2021-08-25T16:14:24.395Z",
"creditNotes": [],
"payments": []
}
}
Reopen an invoice with this endpoint.
HTTP Request
POST /invoices/:invoiceId/actions/reopen
Mark an invoice as sent
curl "https://api.blixo.com/v1/invoices/:invoiceId/actions/marksent" \
-u {API_KEY}: \
-X POST
The above command returns JSON structured like this:
{
"data": {
"id": "610d695a1fb214594f7a4e19",
"invoiceNo": "INV-0036",
"managerId": null,
"issueDate": "2021-08-06T16:54:30.656Z",
"dueDate": "2021-08-21T16:54:30.656Z",
"billTo": {
"attn": "Antonio",
"phones": [],
"address1": "4157 Taylor Street 123",
"address2": "",
"city": "",
"state": "",
"zipCode": "",
"country": "",
"name": "Antonio L Krach"
},
"notes": "",
"attachments": [
""
],
"subTotalAmount": {
"currency": "USD",
"_id": "6125bd0558f6a3cccc60a829",
"value": 30,
"unit": "$"
},
"totalAmount": {
"currency": "USD",
"value": 27,
"unit": "$"
},
"balanceAmount": {
"currency": "USD",
"value": 27,
"unit": "$"
},
"paymentStatus": [
"OUTSTANDING"
],
"paymentTerms": "NET_15",
"invoiceStatus": [
"DRAFT"
],
"sentStatus": "SENT",
"itemLines": [
{
"detail": {
"description": "Lorem ipsum",
"productType": "PRODUCT"
},
"_id": "610d69461a60a3f83544f758",
"title": "test",
"description": "",
"quantity": 1,
"rate": {
"currency": "USD",
"_id": "610d695a1fb214594f7a4e1b",
"value": 30,
"unit": "$"
},
"amount": {
"currency": "USD",
"_id": "6125bd0558f6a3cccc60a825",
"value": 30,
"unit": "$"
},
"discountLines": [
{
"_id": "610cd3ff6caa26134c947edf",
"name": "Discount 10%",
"amount": {
"currency": "USD",
"_id": "610cd3ff6caa26134c947ee0",
"value": 10,
"unit": "%"
}
}
],
"taxLines": [],
"discountAmount": {
"currency": "USD",
"_id": "6125bd0558f6a3cccc60a823",
"value": 3,
"unit": "$"
},
"discountedAmount": {
"currency": "USD",
"_id": "6125bd0558f6a3cccc60a824",
"value": 27,
"unit": "$"
}
}
],
"discountLines": [],
"discountAmount": {
"currency": "USD",
"_id": "6125bd0558f6a3cccc60a826",
"value": 0,
"unit": "$"
},
"discountedAmount": {
"currency": "USD",
"_id": "6125bd0558f6a3cccc60a827",
"value": 27,
"unit": "$"
},
"taxLines": [],
"taxAmount": {
"currency": "USD",
"_id": "6125bd0558f6a3cccc60a828",
"value": 0,
"unit": "$"
},
"creditAmount": {
"currency": "USD",
"_id": "6125bd0558f6a3cccc60a82b",
"value": 0,
"unit": "$"
},
"paidAmount": {
"currency": "USD",
"_id": "6125bd0558f6a3cccc60a82a",
"value": 0,
"unit": "$"
},
"companyId": "60e1b7f0c6ef4219ff51824c",
"customerId": "61039770b733d94e98645c62",
"createdBy": "60df577403bfb318db1bbac7",
"updatedBy": "60df577403bfb318db1bbac7",
"createdAt": "2021-08-06T16:54:50.549Z",
"updatedAt": "2021-08-25T16:19:24.400Z",
"creditNotes": [],
"payments": []
}
}
Mark an invoice as sent with this endpoint.
HTTP Request
POST /invoices/:invoiceId/actions/marksent
Download an invoice
curl "https://api.blixo.com/v1/invoices/:invoiceId/actions/download" \
-u {API_KEY}: \
-X GET \
-o invoice.pdf
The above command returns a file named as invoice.pdf
Download an invoice with this endpoint.
HTTP Request
GET /invoices/:invoiceId/actions/download
Void an invoice
curl "https://api.blixo.com/v1/invoices/:invoiceId/actions/void" \
-u {API_KEY}: \
-X POST
The above command returns JSON structured like this:
{
"data": {
"id": "610d695a1fb214594f7a4e19",
"invoiceNo": "INV-0036",
"managerId": null,
"issueDate": "2021-08-06T16:54:30.656Z",
"dueDate": "2021-08-21T16:54:30.656Z",
"expectedDate": null,
"billTo": {
"attn": "Antonio",
"phones": [],
"address1": "4157 Taylor Street 123",
"address2": "",
"city": "",
"state": "",
"zipCode": "",
"country": "",
"name": "Antonio L Krach"
},
"notes": "",
"attachments": [
""
],
"subTotalAmount": {
"currency": "USD",
"_id": "61266fb50f86842a80b491a7",
"value": 30,
"unit": "$"
},
"totalAmount": {
"currency": "USD",
"value": 27,
"unit": "$"
},
"balanceAmount": {
"currency": "USD",
"value": 27,
"unit": "$"
},
"paymentStatus": [
"VOIDED"
],
"paymentTerms": "NET_15",
"invoiceStatus": [],
"sentStatus": "SENT",
"itemLines": [
{
"detail": {
"description": "Lorem ipsum",
"productType": "PRODUCT"
},
"_id": "610d69461a60a3f83544f758",
"title": "test",
"description": "",
"quantity": 1,
"rate": {
"currency": "USD",
"_id": "610d695a1fb214594f7a4e1b",
"value": 30,
"unit": "$"
},
"amount": {
"currency": "USD",
"_id": "61266fb50f86842a80b491a3",
"value": 30,
"unit": "$"
},
"discountLines": [
{
"_id": "610cd3ff6caa26134c947edf",
"name": "Discount 10%",
"amount": {
"currency": "USD",
"_id": "610cd3ff6caa26134c947ee0",
"value": 10,
"unit": "%"
}
}
],
"taxLines": [],
"discountAmount": {
"currency": "USD",
"_id": "61266fb50f86842a80b491a1",
"value": 3,
"unit": "$"
},
"discountedAmount": {
"currency": "USD",
"_id": "61266fb50f86842a80b491a2",
"value": 27,
"unit": "$"
}
}
],
"discountLines": [],
"discountAmount": {
"currency": "USD",
"_id": "61266fb50f86842a80b491a4",
"value": 0,
"unit": "$"
},
"discountedAmount": {
"currency": "USD",
"_id": "61266fb50f86842a80b491a5",
"value": 27,
"unit": "$"
},
"taxLines": [],
"taxAmount": {
"currency": "USD",
"_id": "61266fb50f86842a80b491a6",
"value": 0,
"unit": "$"
},
"creditAmount": {
"currency": "USD",
"_id": "61266fb50f86842a80b491a9",
"value": 0,
"unit": "$"
},
"paidAmount": {
"currency": "USD",
"_id": "61266fb50f86842a80b491a8",
"value": 0,
"unit": "$"
},
"companyId": "60e1b7f0c6ef4219ff51824c",
"customerId": "61039770b733d94e98645c62",
"createdBy": "60df577403bfb318db1bbac7",
"updatedBy": "60df577403bfb318db1bbac7",
"createdAt": "2021-08-06T16:54:50.549Z",
"updatedAt": "2021-08-25T16:29:21.860Z",
"payments": [],
"creditNotes": []
}
}
Void an invoice with this endpoint.
HTTP Request
POST /invoices/:invoiceId/actions/void
Remove an expected payment
curl "https://api.blixo.com/v1/invoices/:invoiceId/actions/removeExpectedPayment" \
-u {API_KEY}: \
-X PATCH
The above command returns JSON structured like this:
{
"data": {
"id": "610d695a1fb214594f7a4e19",
"invoiceNo": "INV-0036",
"managerId": null,
"issueDate": "2021-08-06T16:54:30.656Z",
"dueDate": "2021-08-21T16:54:30.656Z",
"expectedDate": null,
"billTo": {
"attn": "Antonio",
"phones": [],
"address1": "4157 Taylor Street 123",
"address2": "",
"city": "",
"state": "",
"zipCode": "",
"country": "",
"name": "Antonio L Krach"
},
"notes": "",
"attachments": [
""
],
"subTotalAmount": {
"currency": "USD",
"_id": "61266fb50f86842a80b491a7",
"value": 30,
"unit": "$"
},
"totalAmount": {
"currency": "USD",
"value": 27,
"unit": "$"
},
"balanceAmount": {
"currency": "USD",
"value": 27,
"unit": "$"
},
"paymentStatus": [
"VOIDED"
],
"paymentTerms": "NET_15",
"invoiceStatus": [],
"sentStatus": "SENT",
"itemLines": [
{
"detail": {
"description": "Lorem ipsum",
"productType": "PRODUCT"
},
"_id": "610d69461a60a3f83544f758",
"title": "test",
"description": "",
"quantity": 1,
"rate": {
"currency": "USD",
"_id": "610d695a1fb214594f7a4e1b",
"value": 30,
"unit": "$"
},
"amount": {
"currency": "USD",
"_id": "61266fb50f86842a80b491a3",
"value": 30,
"unit": "$"
},
"discountLines": [
{
"_id": "610cd3ff6caa26134c947edf",
"name": "Discount 10%",
"amount": {
"currency": "USD",
"_id": "610cd3ff6caa26134c947ee0",
"value": 10,
"unit": "%"
}
}
],
"taxLines": [],
"discountAmount": {
"currency": "USD",
"_id": "61266fb50f86842a80b491a1",
"value": 3,
"unit": "$"
},
"discountedAmount": {
"currency": "USD",
"_id": "61266fb50f86842a80b491a2",
"value": 27,
"unit": "$"
}
}
],
"discountLines": [],
"discountAmount": {
"currency": "USD",
"_id": "61266fb50f86842a80b491a4",
"value": 0,
"unit": "$"
},
"discountedAmount": {
"currency": "USD",
"_id": "61266fb50f86842a80b491a5",
"value": 27,
"unit": "$"
},
"taxLines": [],
"taxAmount": {
"currency": "USD",
"_id": "61266fb50f86842a80b491a6",
"value": 0,
"unit": "$"
},
"creditAmount": {
"currency": "USD",
"_id": "61266fb50f86842a80b491a9",
"value": 0,
"unit": "$"
},
"paidAmount": {
"currency": "USD",
"_id": "61266fb50f86842a80b491a8",
"value": 0,
"unit": "$"
},
"companyId": "60e1b7f0c6ef4219ff51824c",
"customerId": "61039770b733d94e98645c62",
"createdBy": "60df577403bfb318db1bbac7",
"updatedBy": "60df577403bfb318db1bbac7",
"createdAt": "2021-08-06T16:54:50.549Z",
"updatedAt": "2021-08-25T16:34:19.719Z",
"payments": [],
"creditNotes": []
}
}
Remove an expected payment of an invoice with this endpoint.
HTTP Request
PATCH /invoices/:invoiceId/actions/removeExpectedPayment
Send an invoice
curl "https://api.blixo.com/v1/invoices/:invoiceId/send" \
-d to="[email protected]" \
-d bcc="[email protected]" \
-d subject="{{company_name}} Invoice {{invoice_number}} for {{customer_name}}" \
-d message="Hi {{customer_contact_name}},\n\nYour most recent {{company_name}} invoice is attached as Invoice {{invoice_number}}.pdf \nThe balance of {{balance}} is due by {{due_date}}.\n\nRemember that each payment method takes a few days to process so please remit payment at least one week before the due date to ensure it arrives on time.\n\nIf you have questions about your invoice, please contact us at {{company_email}} or reply to this email.\n\nWe appreciate your business and thank you for choosing {{company_name}}.\n\n{{view_invoice_button}}" \
-X POST
Send an invoice with this endpoint.
HTTP Request
POST /invoices/:invoiceId/actions/send
Query Parameters
Parameter | Type | Description |
---|---|---|
to | (required) Receiver's email | |
bcc | Bcc email | |
subject | string | (required) Email subject |
message | string | (required) Email message |
Credit Notes
List all credit notes
curl "https://api.blixo.com/v1/creditNotes" \
-u {API_KEY}:
This endpoint retrieves all creditNotes.
The above command returns JSON structured like this:
{
"data": [
{
"id": "611c7a7c12c8b1756d4eb588",
"customerNo": "CUS-0010",
"name": "James K Murdock",
"customerType": "COMPANY",
"email": "[email protected]",
"parentCustomerId": null,
"billToParent": false,
"language": "",
"taxable": false,
"taxIds": [],
"creditHold": false,
"contacts": [
{
"billingContact": true,
"phone": "",
"address1": "",
"address2": "",
"city": "",
"state": "",
"zipCode": "",
"country": "",
"_id": "6122511582b1d1f3d49f7bb3",
"name": "no name",
"title": "",
"department": "",
"email": "[email protected]"
}
],
"primaryContactId": null,
"autopay": false,
"paymentTerms": "NET_30",
"paymentSources": [],
"paymentDate": 0,
"disabledPaymentMethods": [
"CHECK"
],
"managerId": null,
"notes": "",
"chasing": false,
"companyId": "60e1b7f0c6ef4219ff51824c",
"enabled": true,
"createdBy": "60df577403bfb318db1bbac7",
"updatedBy": "60df577403bfb318db1bbac7",
"createdAt": "2021-08-18T03:11:56.343Z",
"updatedAt": "2021-08-22T13:28:53.057Z",
"address": {
"attn": "James",
"phones": [
"574-253-9963"
],
"address1": "3040 Sharon Lane",
"address2": "",
"city": "South Bend",
"state": "Indiana",
"zipCode": "46625",
"country": "US"
},
"signInToken": ""
}
],
"pagination": {
"total": 1
}
}
HTTP Request
GET /creditNotes
Create a credit note
curl "https://api.blixo.com/v1/creditNotes" \
-u {API_KEY}: \
-d companyId="60e1b7f0c6ef4219ff51824c" \
-d customerId="612283bafd4e6319d487fa8f" \
-d creditNoteNo="" \
-d creditNoteStatus[0]="OPEN" \
-d paymentStatus[0]="PENDING" \
-d sentStatus="NOT_SENT" \
-d issueDate="2021-08-22T17:18:17.182Z" \
-d itemLines[0][title]="item 1" \
-d itemLines[0][description]="" \
-d itemLines[0][isPlaceholder]=false \
-d itemLines[0][quantity]=1 \
-d itemLines[0][rate][unit]="$" \
-d itemLines[0][rate][value]=30 \
-d itemLines[0][amount][unit]="$" \
-d itemLines[0][amount][value]=30 \
-X POST
The above command returns JSON structured like this:
{
"data": {
"id": "612286dbfd4e6319d48801a6",
"creditNoteNo": "CN-0007",
"managerId": null,
"issueDate": "2021-08-22T17:18:17.182Z",
"paidDate": null,
"notes": "",
"subTotalAmount": {
"_id": "612286defd4e6319d48801b5",
"value": 30,
"unit": "$"
},
"totalAmount": {
"value": 30,
"unit": "$"
},
"balanceAmount": {
"value": 30,
"unit": "$"
},
"paymentStatus": [],
"paymentTerms": "DUE_ON_RECEIPT",
"creditNoteStatus": [
"OPEN"
],
"sentStatus": "NOT_SENT",
"discountLines": [],
"discountAmount": {
"_id": "612286defd4e6319d48801b7",
"value": 0,
"unit": "$"
},
"taxLines": [],
"taxAmount": {
"_id": "612286defd4e6319d48801b6",
"value": 0,
"unit": "$"
},
"paidAmount": {
"_id": "612286dffd4e6319d48801d4",
"value": 0,
"unit": "$"
},
"companyId": "60e1b7f0c6ef4219ff51824c",
"customerId": "612283bafd4e6319d487fa8f",
"createdBy": "60df577403bfb318db1bbac7",
"updatedBy": "60df577403bfb318db1bbac7",
"createdAt": "2021-08-22T17:18:19.473Z",
"updatedAt": "2021-08-22T17:18:23.452Z"
}
}
Create a new credit note with this endpoint.
HTTP Request
POST /creditNotes
Query Parameters
Parameter | Type | Description |
---|---|---|
companyId | string | Company ID |
customerId | string | Customer ID |
creditNoteNo | string | Credit note number. It will be generated automatically if not specified. |
creditNoteStatus | array | Credit note status, e.g. OPEN , DRAFT , CLOSED |
paymentStatus | array | Payment status, e.g. OUTSTANDING , PASTDUE , PAID , PENDING , BABDEBT , VOIDED , BROKEN_PROMISE |
sentStatus | array | Invoice sent status, e.g. SENT or NOT_SENT |
paymentTerms | string | Customer's Payment Terms. It's one of the values DUE_ON_RECEIPT , CUSTOM , NET_7 , NET_10 , NET_15 , NET_30 , NET_60 , NET_90 |
discountLines | array | Discount line items |
discountAmount | object | An amount object |
taxLines | array | Tax line items |
taxAmount | object | An amount object |
subTotalAmount | object | An amount object |
totalAmount | object | An amount object |
balanceAmount | object | An amount object |
paidAmount | object | An amount object |
notes | string | Notes |
issueDate | datetime | Issue date |
createdBy | string | ID of person that created this credit note |
updatedBy | string | ID of person that updated this credit note |
createdAt | datetime | Created date |
updatedAt | datetime | Updated date |
Update a credit note
curl "https://api.blixo.com/v1/creditNotes/:creditNoteId" \
-u {API_KEY}: \
-d companyId="60e1b7f0c6ef4219ff51824c" \
-d customerId="612283bafd4e6319d487fa8f" \
-d creditNoteNo="" \
-d creditNoteStatus[0]="OPEN" \
-d paymentStatus[0]="PENDING" \
-d sentStatus="NOT_SENT" \
-d issueDate="2021-08-22T17:18:17.182Z" \
-d itemLines[0][title]="item 1" \
-d itemLines[0][description]="" \
-d itemLines[0][isPlaceholder]=false \
-d itemLines[0][quantity]=1 \
-d itemLines[0][rate][unit]="$" \
-d itemLines[0][rate][value]=30 \
-d itemLines[0][amount][unit]="$" \
-d itemLines[0][amount][value]=30 \
-X PATCH
The above command returns JSON structured like this:
{
"data": {
"id": "612286dbfd4e6319d48801a6",
"creditNoteNo": "CN-0007",
"managerId": null,
"issueDate": "2021-08-22T17:18:17.182Z",
"paidDate": null,
"notes": "",
"subTotalAmount": {
"_id": "612286defd4e6319d48801b5",
"value": 30,
"unit": "$"
},
"totalAmount": {
"value": 30,
"unit": "$"
},
"balanceAmount": {
"value": 30,
"unit": "$"
},
"paymentStatus": [],
"paymentTerms": "DUE_ON_RECEIPT",
"creditNoteStatus": [
"OPEN"
],
"sentStatus": "NOT_SENT",
"discountLines": [],
"discountAmount": {
"_id": "612286defd4e6319d48801b7",
"value": 0,
"unit": "$"
},
"taxLines": [],
"taxAmount": {
"_id": "612286defd4e6319d48801b6",
"value": 0,
"unit": "$"
},
"paidAmount": {
"_id": "612286dffd4e6319d48801d4",
"value": 0,
"unit": "$"
},
"companyId": "60e1b7f0c6ef4219ff51824c",
"customerId": "612283bafd4e6319d487fa8f",
"createdBy": "60df577403bfb318db1bbac7",
"updatedBy": "60df577403bfb318db1bbac7",
"createdAt": "2021-08-22T17:18:19.473Z",
"updatedAt": "2021-08-22T17:18:23.452Z"
}
}
Update a new credit note with this endpoint.
HTTP Request
PATCH /creditNotes/:creditNoteId
Query Parameters
Parameter | Type | Description |
---|---|---|
companyId | string | Company ID |
customerId | string | Customer ID |
creditNoteNo | string | Credit note number. It will be generated automatically if not specified. |
creditNoteStatus | array | Credit note status, e.g. OPEN , DRAFT , CLOSED |
paymentStatus | array | Payment status, e.g. OUTSTANDING , PASTDUE , PAID , PENDING , BABDEBT , VOIDED , BROKEN_PROMISE |
sentStatus | array | Invoice sent status, e.g. SENT or NOT_SENT |
paymentTerms | string | Customer's Payment Terms. It's one of the values DUE_ON_RECEIPT , CUSTOM , NET_7 , NET_10 , NET_15 , NET_30 , NET_60 , NET_90 |
discountLines | array | Discount line items |
discountAmount | object | An amount object |
taxLines | array | Tax line items |
taxAmount | object | An amount object |
subTotalAmount | object | An amount object |
totalAmount | object | An amount object |
balanceAmount | object | An amount object |
paidAmount | object | An amount object |
notes | string | Notes |
issueDate | datetime | Issue date |
Delete a credit note
curl "https://api.blixo.com/v1/creditNotes/:creditNoteId" \
-u {API_KEY}: \
-X DELETE
The above command returns JSON structured like this:
{
"data": "611d4216a747250146ade2cf"
}
This endpoint deletes a specific credit note.
HTTP Request
DELETE /creditNotes/:creditNoteId
Payments
List all payments
curl "https://api.blixo.com/v1/payments" \
-u {API_KEY}:
This endpoint retrieves all payments.
HTTP Request
GET /payments
Create a payment
curl "https://api.blixo.com/v1/payments" \
-u {API_KEY}: \
The above command returns JSON structured like this:
{
"id": "61039770b733d94e98645c62",
}
Create a new payment with this endpoint.
HTTP Request
POST /payments
Query Parameters
Parameter | Type | Description |
---|
Update a payment
curl "https://api.blixo.com/v1/payments/:paymentId" \
-u {API_KEY}: \
-X PATCH
The above command returns JSON structured like this:
{
"id": "61039770b733d94e98645c62",
}
Update a new payment with this endpoint.
HTTP Request
PATCH /payments/:paymentId
Query Parameters
Parameter | Type | Description |
---|
Delete a payment
curl "https://api.blixo.com/v1/payments/:paymentId" \
-u {API_KEY}: \
-X DELETE
The above command returns JSON structured like this:
{
"data": "611d4216a747250146ade2cf"
}
This endpoint deletes a specific payment.
HTTP Request
DELETE /payments/:paymentId
Subscriptions
List all subscriptions
curl "https://api.blixo.com/v1/subscriptions" \
-u {API_KEY}:
This endpoint retrieves all subscriptions.
The above command returns JSON structured like this:
{
"data": [
{
"id": "620292d0e5f2f8cd922dbaa8",
"subscriptionNo": "CUST-00001",
"companyId": "615ad8109e222b30b21c8903",
"customerId": "61d68de0f8779e8cb3849865",
"planId": "61556ed175b9f7e7b3486dac",
"planAmount": {
"currency": "USD",
"value": 599.88,
"unit": "$"
},
"contractPeriod": "YEARLY",
"contractQuantity": 1,
"contractRenewal": "AUTO_RENEW",
"interval": "years",
"intervalCount": 1,
"billingCycle": 1,
"addons": [],
"discounts": [],
"taxes": [],
"discountAmount": {
"currency": "USD",
"value": 0,
"unit": "$"
},
"taxAmount": {
"currency": "USD",
"value": 0,
"unit": "$"
},
"subTotalAmount": {
"currency": "USD",
"value": 599.88,
"unit": "$"
},
"totalAmount": {
"currency": "USD",
"value": 599.88,
"unit": "$"
},
"invoices": [
"620292d2e5f2f8cd922dbabe"
],
"currentInvoice": {
"items": [
{
"name": "TEAM YEARLY PLAN",
"rate": {
"value": 599.88,
"unit": "$",
"currency": "USD"
},
"quantity": 1,
"type": "Plan",
"fromDate": "2022-02-08T15:57:04.735Z",
"toDate": "2023-02-08T15:57:04.735Z",
"_id": "61556ed175b9f7e7b3486dac"
}
]
},
"upcomingInvoice": {
"items": [
{
"name": "TEAM YEARLY PLAN",
"rate": {
"value": 599.88,
"unit": "$",
"currency": "USD"
},
"quantity": 1,
"type": "Plan",
"fromDate": "2023-02-08T15:57:04.735Z",
"toDate": "2024-02-08T22:57:04+07:00",
"_id": "61556ed175b9f7e7b3486dac"
}
]
},
"proration": 0,
"startDate": "2022-02-08T15:57:04.735Z",
"endDate": "2023-02-08T15:57:04.735Z",
"startedDate": "2022-02-08T15:57:04.735Z",
"paymentDay": 0,
"issueInvoiceDays": 0,
"startInvoiceDate": "2022-02-08T15:57:04.735Z",
"paymentDate": "2022-02-08T15:57:04.735Z",
"nextIssueInvoiceDate": "2023-02-08T15:57:04.735Z",
"nextInvoiceDate": "2023-02-08T15:57:04.735Z",
"nextPaymentDate": "2023-02-08T15:57:04.735Z",
"status": "ACTIVE",
"oldPlanId": null,
"shipTo": "",
"cancelAtPeriodEnd": false,
"customerFromPortal": false,
"createdAt": "2022-02-08T15:57:04.736Z"
}
],
"pagination": {
"total": 1
}
}
HTTP Request
GET /subscriptions
Create a subscription
curl "https://api.blixo.com/v1/subscriptions" \
-u {API_KEY}: \
-d companyId="60e1b7f0c6ef4219ff51824c" \
-d customerId="61d68e42f8779e8cb38499be" \
-d planId="61556ed175b9f7e7b3486dac" \
-d startDate="2021-08-22T17:18:17.182Z" \
-d paymentDay=0 \
-d issueInvoiceDays=0 \
-d contractQuantity=1 \
-d contractPeriod="YEARLY" \
-d contractRenewal="AUTO_RENEW" \
-d shipTo[name]="Travis Waldron" \
-d shipTo[address1]="78 First St." \
-d addons[0][_id]="615a5cc37d3e8f4f499bd423" \
-d addons[0][name]="MEMBER ADDON YEARLY" \
-d addons[0][quantity]=1 \
-d addons[0][amount][unit]="$" \
-d addons[0][amount][currency]="USD" \
-d addons[0][amount][value]="119.88" \
-d discounts=[] \
-d taxes=[] \
-X POST
The above command returns JSON structured like this:
{
"data": {
"id": "620bb70c74b8921c8f36b99e",
"subscriptionNo": "CUST-00051",
"companyId": "615ad8109e222b30b21c8903",
"customerId": "61d68e42f8779e8cb38499be",
"planId": "61556ed175b9f7e7b3486dac",
"planAmount": {
"currency": "USD",
"value": 578.88,
"unit": "$"
},
"contractPeriod": "YEARLY",
"contractQuantity": 3,
"contractRenewal": "AUTO_RENEW",
"interval": "years",
"intervalCount": 1,
"billingCycle": 3,
"addons": [
{
"_id": "615a5cc37d3e8f4f499bd423",
"name": "MEMBER ADDON YEARLY",
"amount": {
"currency": "USD",
"unit": "$",
"value": 119.88
},
"quantity": 2,
"isOld": false
}
],
"discounts": [],
"taxes": [],
"discountAmount": {
"currency": "USD",
"value": 0,
"unit": "$"
},
"taxAmount": {
"currency": "USD",
"value": 0,
"unit": "$"
},
"subTotalAmount": {
"currency": "USD",
"value": 839.64,
"unit": "$"
},
"totalAmount": {
"currency": "USD",
"value": 839.64,
"unit": "$"
},
"invoices": [
"620bb71074b8921c8f36b9b7"
],
"currentInvoice": {
"items": [
{
"name": "TEAM YEARLY PLAN",
"rate": {
"value": 599.88,
"unit": "$",
"currency": "USD"
},
"quantity": 0.965,
"type": "Plan",
"fromDate": "2022-02-15T14:22:05.659Z",
"toDate": "2023-02-02T14:22:05.659Z",
"_id": "61556ed175b9f7e7b3486dac"
},
{
"name": "MEMBER ADDON YEARLY",
"rate": {
"currency": "USD",
"unit": "$",
"value": 119.88
},
"quantity": 1.93,
"type": "Add-on",
"fromDate": "2022-02-15T14:22:05.659Z",
"toDate": "2023-02-02T14:22:05.659Z",
"_id": "615a5cc37d3e8f4f499bd423"
}
]
},
"proration": 0.965,
"startDate": "2022-02-15T14:22:05.659Z",
"endDate": "2026-02-02T14:22:05.659Z",
"startedDate": "2022-02-15T14:22:05.659Z",
"paymentDay": 2,
"issueInvoiceDays": 2,
"startInvoiceDate": "2022-02-15T14:22:05.659Z",
"paymentDate": "2022-02-15T14:22:05.659Z",
"nextIssueInvoiceDate": "2023-01-31T14:22:05.659Z",
"nextInvoiceDate": "2023-02-02T14:22:05.659Z",
"nextPaymentDate": "2023-02-02T14:22:05.659Z",
"status": "ACTIVE",
"oldPlanId": null,
"shipTo": {
"name": "Travis Waldron",
"attn": "",
"address1": "78 First St.",
"address2": "",
"city": "Monlo Park",
"country": "",
"state": "CA",
"zipCode": "94304"
},
"cancelAtPeriodEnd": false,
"customerFromPortal": false,
"createdAt": "2022-02-15T14:22:05.661Z",
"planDetail": {
"type": "YEARLY",
"itemId": "615682767ab3d95d98580d75",
"interval": "years",
"intervalCount": 1,
"pricingMode": "per_unit",
"_id": "61556ed175b9f7e7b3486dac",
"name": "TEAM YEARLY PLAN",
"companyId": "615ad8109e222b30b21c8903",
"price": {
"unit": "$",
"currency": "USD",
"value": 599.88
},
"createdAt": "2021-10-04T13:25:27.786Z",
"updatedAt": "2021-10-04T13:25:27.786Z",
"code": "TEAM_YEARLY_PLAN"
},
"upcomingInvoiceDetail": {
"items": [
{
"amount": {
"value": 599.88,
"unit": "$",
"currency": "USD"
},
"companyId": "615ad8109e222b30b21c8903",
"discountable": false,
"hasDefaultPrice": false,
"interval": "years",
"intervalCount": 1,
"itemId": "615682767ab3d95d98580d75",
"name": "TEAM YEARLY PLAN",
"description": "Default item apply for Blixo plan",
"rate": {
"value": 599.88,
"unit": "$",
"currency": "USD"
},
"quantity": 1,
"pricingMode": "per_unit",
"taxable": false,
"taxes": [],
"type": "Plan",
"itemType": "NONE",
"fromDate": "2023-02-02T14:22:05.659Z",
"toDate": "2024-02-02T21:22:05+07:00",
"discountAmount": {
"value": 0,
"unit": "$"
},
"discountedAmount": {
"value": 599.88,
"unit": "$",
"currency": "USD"
}
},
{
"amount": {
"value": 239.76,
"unit": "$",
"currency": "USD"
},
"companyId": "615ad8109e222b30b21c8903",
"discountable": false,
"hasDefaultPrice": false,
"interval": "years",
"intervalCount": 1,
"itemId": "615682767ab3d95d98580d75",
"name": "MEMBER ADDON YEARLY",
"description": "Default item apply for Blixo plan",
"rate": {
"currency": "USD",
"unit": "$",
"value": 119.88
},
"quantity": 2,
"pricingMode": "per_unit",
"taxable": false,
"taxes": [],
"type": "Add-on",
"itemType": "NONE",
"fromDate": "2023-02-02T14:22:05.659Z",
"toDate": "2024-02-02T21:22:05+07:00",
"discountAmount": {
"value": 0,
"unit": "$"
},
"discountedAmount": {
"value": 239.76,
"unit": "$",
"currency": "USD"
}
}
],
"subTotalAmount": {
"value": 839.64,
"unit": "$",
"currency": "USD"
},
"discountAmount": {
"value": 0,
"unit": "$",
"currency": "USD"
},
"taxAmount": {
"value": 0,
"unit": "$",
"currency": "USD"
},
"totalAmount": {
"value": 839.64,
"unit": "$",
"currency": "USD"
}
}
}
}
Create a new subscription profile with this endpoint.
HTTP Request
POST /subscriptions
Query Parameters
Parameter | Type | Description |
---|---|---|
customerId | objectId | (required) Customer ID |
companyId | objectId | (required) Company ID |
shipTo | object | Address object includes address1 , address2 , attn , city , country , phones , state , zipCode |
planId | objectId | (required) Id of subscription plan |
startDate | datetime | Start date |
paymentDay | number | Billing period start. Zero or day of week/month/year |
issueInvoiceDays | number | Issue invoice x days in advance |
contractQuantity | number | Contract terms. Default 1. Number of contract (week/month/year/custom) |
contractRenewal | string | When contract ends. e.g. AUTO_RENEW , MANUALLY , NONE |
addons | array | An array of addons. Each addon are an object includes _id_ , name , quantity , amount |
taxes | array | An array of tax items |
discounts | array | An array of discount items |
Update a subscription
curl "https://api.blixo.com/v1/subscriptions/:subscriptionId" \
-u {API_KEY}: \
-d companyId="60e1b7f0c6ef4219ff51824c" \
-d planId="61556ed175b9f7e7b3486dac" \
-d startDate="2021-08-22T17:18:17.182Z" \
-d paymentDay=0 \
-d issueInvoiceDays=0 \
-d contractQuantity=1 \
-d contractPeriod="YEARLY" \
-d contractRenewal="AUTO_RENEW" \
-d shipTo[name]="Travis Waldron" \
-d shipTo[address1]="78 First St." \
-d addons[0][_id]="615a5cc37d3e8f4f499bd423" \
-d addons[0][name]="MEMBER ADDON YEARLY" \
-d addons[0][quantity]=1 \
-d addons[0][amount][unit]="$" \
-d addons[0][amount][currency]="USD" \
-d addons[0][amount][value]="119.88" \
-d discounts=[] \
-d taxes=[] \
-X PATCH
The above command returns JSON structured like this:
{
"data": {
"id": "620bb70c74b8921c8f36b99e",
"subscriptionNo": "CUST-00051",
"companyId": "615ad8109e222b30b21c8903",
"customerId": "61d68e42f8779e8cb38499be",
"planId": "61556ed175b9f7e7b3486dac",
"planAmount": {
"currency": "USD",
"value": 578.88,
"unit": "$"
},
"contractPeriod": "YEARLY",
"contractQuantity": 3,
"contractRenewal": "AUTO_RENEW",
"interval": "years",
"intervalCount": 1,
"billingCycle": 3,
"addons": [
{
"_id": "615a5cc37d3e8f4f499bd423",
"name": "MEMBER ADDON YEARLY",
"amount": {
"currency": "USD",
"unit": "$",
"value": 119.88
},
"quantity": 2,
"isOld": false
}
],
"discounts": [],
"taxes": [],
"discountAmount": {
"currency": "USD",
"value": 0,
"unit": "$"
},
"taxAmount": {
"currency": "USD",
"value": 0,
"unit": "$"
},
"subTotalAmount": {
"currency": "USD",
"value": 839.64,
"unit": "$"
},
"totalAmount": {
"currency": "USD",
"value": 839.64,
"unit": "$"
},
"invoices": [
"620bb71074b8921c8f36b9b7"
],
"currentInvoice": {
"items": [
{
"name": "TEAM YEARLY PLAN",
"rate": {
"value": 599.88,
"unit": "$",
"currency": "USD"
},
"quantity": 0.965,
"type": "Plan",
"fromDate": "2022-02-15T14:22:05.659Z",
"toDate": "2023-02-02T14:22:05.659Z",
"_id": "61556ed175b9f7e7b3486dac"
},
{
"name": "MEMBER ADDON YEARLY",
"rate": {
"currency": "USD",
"unit": "$",
"value": 119.88
},
"quantity": 1.93,
"type": "Add-on",
"fromDate": "2022-02-15T14:22:05.659Z",
"toDate": "2023-02-02T14:22:05.659Z",
"_id": "615a5cc37d3e8f4f499bd423"
}
]
},
"proration": 1,
"startDate": "2022-02-15T14:22:05.659Z",
"endDate": "2026-02-02T14:22:05.659Z",
"startedDate": "2022-02-15T14:22:05.659Z",
"paymentDay": 2,
"issueInvoiceDays": 2,
"startInvoiceDate": "2022-02-15T14:22:05.659Z",
"paymentDate": "2022-02-15T14:22:05.659Z",
"nextIssueInvoiceDate": "2023-01-31T14:22:05.659Z",
"nextInvoiceDate": "2023-02-02T14:22:05.659Z",
"nextPaymentDate": "2023-02-02T14:22:05.659Z",
"status": "ACTIVE",
"oldPlanId": null,
"shipTo": {
"name": "Travis Waldron",
"attn": "",
"address1": "78 First St.",
"address2": "",
"city": "Monlo Park",
"country": "",
"state": "CA",
"zipCode": "94304"
},
"cancelAtPeriodEnd": false,
"customerFromPortal": false,
"createdAt": "2022-02-15T14:22:05.661Z",
"planDetail": {
"type": "YEARLY",
"itemId": "615682767ab3d95d98580d75",
"interval": "years",
"intervalCount": 1,
"pricingMode": "per_unit",
"_id": "61556ed175b9f7e7b3486dac",
"name": "TEAM YEARLY PLAN",
"companyId": "615ad8109e222b30b21c8903",
"price": {
"unit": "$",
"currency": "USD",
"value": 599.88
},
"createdAt": "2021-10-04T13:25:27.786Z",
"updatedAt": "2021-10-04T13:25:27.786Z",
"code": "TEAM_YEARLY_PLAN"
},
"upcomingInvoiceDetail": {
"items": [
{
"amount": {
"value": 599.88,
"unit": "$",
"currency": "USD"
},
"companyId": "615ad8109e222b30b21c8903",
"discountable": false,
"hasDefaultPrice": false,
"interval": "years",
"intervalCount": 1,
"itemId": "615682767ab3d95d98580d75",
"name": "TEAM YEARLY PLAN",
"description": "Default item apply for Blixo plan",
"rate": {
"value": 599.88,
"unit": "$",
"currency": "USD"
},
"quantity": 1,
"pricingMode": "per_unit",
"taxable": false,
"taxes": [],
"type": "Plan",
"itemType": "NONE",
"fromDate": "2023-02-02T14:22:05.659Z",
"toDate": "2024-02-02T21:22:05+07:00",
"discountAmount": {
"value": 0,
"unit": "$"
},
"discountedAmount": {
"value": 599.88,
"unit": "$",
"currency": "USD"
}
},
{
"amount": {
"value": 239.76,
"unit": "$",
"currency": "USD"
},
"companyId": "615ad8109e222b30b21c8903",
"discountable": false,
"hasDefaultPrice": false,
"interval": "years",
"intervalCount": 1,
"itemId": "615682767ab3d95d98580d75",
"name": "MEMBER ADDON YEARLY",
"description": "Default item apply for Blixo plan",
"rate": {
"currency": "USD",
"unit": "$",
"value": 119.88
},
"quantity": 2,
"pricingMode": "per_unit",
"taxable": false,
"taxes": [],
"type": "Add-on",
"itemType": "NONE",
"fromDate": "2023-02-02T14:22:05.659Z",
"toDate": "2024-02-02T21:22:05+07:00",
"discountAmount": {
"value": 0,
"unit": "$"
},
"discountedAmount": {
"value": 239.76,
"unit": "$",
"currency": "USD"
}
}
],
"subTotalAmount": {
"value": 839.64,
"unit": "$",
"currency": "USD"
},
"discountAmount": {
"value": 0,
"unit": "$",
"currency": "USD"
},
"taxAmount": {
"value": 0,
"unit": "$",
"currency": "USD"
},
"totalAmount": {
"value": 839.64,
"unit": "$",
"currency": "USD"
}
}
}
}
Update subscription with this endpoint.
HTTP Request
PATCH /subscriptions/:subscriptionId
Query Parameters
Parameter | Type | Description |
---|---|---|
companyId | objectId | (required) Company ID |
shipTo | object | Address object includes address1 , address2 , attn , city , country , phones , state , zipCode |
planId | objectId | (required) Id of subscription plan |
startDate | datetime | Start date |
paymentDay | number | Billing period start. Zero or day of week/month/year |
issueInvoiceDays | number | Issue invoice x days in advance |
contractQuantity | number | Contract terms. Default 1. Number of contract (week/month/year/custom) |
contractRenewal | string | When contract ends. e.g. AUTO_RENEW , MANUALLY , NONE |
addons | array | An array of addons. Each addon are an object includes _id_ , name , quantity , amount |
taxes | array | An array of tax items |
discounts | array | An array of discount items |
Delete a subscription
curl "https://api.blixo.com/v1/subscriptions/:subscriptionId" \
-u {API_KEY}: \
-X DELETE
The above command returns JSON structured like this:
{
"data": "611d4216a747250146ade2cf"
}
This endpoint deletes a specific subscription.
HTTP Request
DELETE /subscriptions/:subscriptionId
Chasings
List all customer chasings
curl "https://api.blixo.com/v1/chasings" \
-u {API_KEY}:
This endpoint retrieves all customer chasings.
The above command returns JSON structured like this:
{
"data": [
{
"id": "6203635fbd2219dad21363b0",
"name": "Test customer chasing",
"assignmentConditions": "",
"assignmentMode": "NEVER",
"frequency": "EVERY_DAY",
"runDate": 0,
"timeOfDay": 24,
"nextRun": "2022-02-18T17:00:00.000Z",
"isPausing": false,
"lastRun": "2022-02-14T17:00:00.000Z",
"minBalance": null,
"customerIds": [],
"companyId": "615ad8109e222b30b21c8903",
"steps": [
{
"action": "SEND_AN_EMAIL",
"assignedUserId": null,
"emailTemplateId": "62061815a2fd07fa205181e8",
"smsTemplateId": null,
"scheduleType": "ACCOUNT_AGE",
"days": 1,
"_id": "6203624563b939693d35c907",
"name": "Notification for issued invoices"
}
],
"createdBy": "615ad79a9e222b30b21c88ba",
"updatedBy": "615ad79a9e222b30b21c88ba",
"createdAt": "2022-02-09T06:46:55.808Z",
"updatedAt": "2022-02-18T06:23:40.642Z",
"customers": []
}
],
"pagination": {
"total": 1
}
}
HTTP Request
GET /chasings
Create a customer chasing
curl "https://api.blixo.com/v1/chasings" \
-u {API_KEY}: \
-d companyId="615ad8109e222b30b21c8903" \
-d name="Test customer chasing" \
-d frequency="EVERY_DAY" \
-d timeOfDay="24" \
-d hasMinBalance="false" \
-d assignmentMode="NEVER" \
-d steps[0][name]="Notification for issued invoices" \
-d steps[0][action]="SEND_AN_EMAIL" \
-d steps[0][scheduleType]="ACCOUNT_AGE" \
-d steps[0][days]="1" \
-d steps[0][emailTemplateId]="62061815a2fd07fa205181e8" \
-X POST
The above command returns JSON structured like this:
{
"data": {
"id": "6203635fbd2219dad21363b0",
"name": "Test customer chasing",
"assignmentConditions": "",
"assignmentMode": "NEVER",
"frequency": "EVERY_DAY",
"runDate": 0,
"timeOfDay": 24,
"nextRun": "2022-02-18T17:00:00.000Z",
"isPausing": false,
"lastRun": "2022-02-14T17:00:00.000Z",
"minBalance": null,
"customerIds": [],
"companyId": "615ad8109e222b30b21c8903",
"steps": [
{
"action": "SEND_AN_EMAIL",
"assignedUserId": null,
"emailTemplateId": "62061815a2fd07fa205181e8",
"smsTemplateId": null,
"scheduleType": "ACCOUNT_AGE",
"days": 1,
"_id": "6203624563b939693d35c907",
"name": "Notification for issued invoices"
}
],
"createdBy": "615ad79a9e222b30b21c88ba",
"updatedBy": "615ad79a9e222b30b21c88ba",
"createdAt": "2022-02-09T06:46:55.808Z",
"updatedAt": "2022-02-18T06:23:40.642Z",
"customers": []
}
}
Create a new customer chasing with this endpoint.
HTTP Request
POST /chasings
Query Parameters
Parameter | Type | Description |
---|---|---|
companyId | objectId | (required) Company ID |
name | string | (required) Name of chasing |
frequency | string | (required) Run frequency. E.g. EVERY_DAY , DAY_OF_WEEK , DAY_OF_MONTH |
runDate | number | (required ) if frequency is DAY_OF_WEEK or DAY_OF_MONTH . Run date |
timeOfDay | number | (required) Time of day |
hasMinBalance | boolean | Minimum balance threshold |
isPausing | boolean | Set true to pause chasing, false to resume |
assignmentMode | string | Assign cadence to new customers when: NEVER Never assign (default) or ALWAYS Always assign new customer or CERTAIN_CONDITIONS_ARE_MET certain conditions are met |
steps | array | Schedules array of step object, includes name (required), action (required), scheduleType (required), days (required), emailTemplateId (required) if action is SEND_AN_EMAIL , assignedUserId (required) if action is ESCALATE |
Update a customer chasing
curl "https://api.blixo.com/v1/chasings/:chasingId" \
-u {API_KEY}: \
-d companyId="615ad8109e222b30b21c8903" \
-d name="Test customer chasing update" \
-d frequency="DAY_OF_WEEK" \
-d runDate="2" \
-d timeOfDay="20" \
-d hasMinBalance="false" \
-d assignmentMode="NEVER" \
-d steps[0][name]="Notification for issued invoices" \
-d steps[0][action]="SEND_AN_EMAIL" \
-d steps[0][scheduleType]="ACCOUNT_AGE" \
-d steps[0][days]="2" \
-d steps[0][emailTemplateId]="62061815a2fd07fa205181e8" \
-X PATCH
The above command returns JSON structured like this:
{
"data": {
"id": "6203635fbd2219dad21363b0",
"name": "Test customer chasing update",
"assignmentConditions": "",
"assignmentMode": "NEVER",
"frequency": "DAY_OF_WEEK",
"runDate": 2,
"timeOfDay": 20,
"nextRun": "2022-02-18T17:00:00.000Z",
"isPausing": false,
"lastRun": "2022-02-14T17:00:00.000Z",
"minBalance": null,
"customerIds": [],
"companyId": "615ad8109e222b30b21c8903",
"steps": [
{
"action": "SEND_AN_EMAIL",
"assignedUserId": null,
"emailTemplateId": "62061815a2fd07fa205181e8",
"smsTemplateId": null,
"scheduleType": "ACCOUNT_AGE",
"days": 2,
"_id": "6203624563b939693d35c907",
"name": "Notification for issued invoices"
}
],
"createdBy": "615ad79a9e222b30b21c88ba",
"updatedBy": "615ad79a9e222b30b21c88ba",
"createdAt": "2022-02-09T06:46:55.808Z",
"updatedAt": "2022-02-18T06:23:40.642Z",
"customers": []
}
}
Update a customer chasing with this endpoint.
HTTP Request
PATCH /chasings/:chasingId
Query Parameters
Parameter | Type | Description |
---|---|---|
companyId | objectId | (required) Company ID |
name | string | (required) Name of chasing |
frequency | string | (required) Run frequency. E.g. EVERY_DAY , DAY_OF_WEEK , DAY_OF_MONTH |
runDate | number | (required ) if frequency is DAY_OF_WEEK or DAY_OF_MONTH . Run date |
timeOfDay | number | (required) Time of day |
hasMinBalance | boolean | Minimum balance threshold |
isPausing | boolean | Set true to pause chasing, false to resume |
assignmentMode | string | Assign cadence to new customers when: NEVER Never assign (default) or ALWAYS Always assign new customer or CERTAIN_CONDITIONS_ARE_MET certain conditions are met |
steps | array | Schedules array of step object, includes name (required), action (required), scheduleType (required), days (required), emailTemplateId (required) if action is SEND_AN_EMAIL , assignedUserId (required) if action is ESCALATE |
List all invoice chasings
curl "https://api.blixo.com/v1/invoiceChasings" \
-u {API_KEY}:
This endpoint retrieves all invoice chasings.
The above command returns JSON structured like this:
{
"data": [
{
"id": "620f230341fe7a283ed7e0c1",
"name": "Test invoice chasing",
"companyId": "615ad8109e222b30b21c8903",
"isDefault": false,
"schedules": [
{
"_id": "620f22e9dee4a2967675b6f4",
"days": 0,
"hour": 0,
"repeats": 1,
"timeOfDay": 12,
"email": true,
"text": true,
"letter": true,
"phone": false,
"trigger": "WHEN_INVOICE_ISSUED"
}
],
"createdBy": "615ad79a9e222b30b21c88ba",
"updatedBy": "615ad79a9e222b30b21c88ba",
"createdAt": "2022-02-18T04:39:31.151Z",
"updatedAt": "2022-02-18T04:39:31.151Z"
},
],
"pagination": {
"total": 1
}
}
HTTP Request
GET /invoiceChasings
Create an invoice chasing
curl "https://api.blixo.com/v1/invoiceChasings" \
-u {API_KEY}: \
-d companyId="615ad8109e222b30b21c8903" \
-d name="Test invoice chasing" \
-d schedules[0][trigger]="WHEN_INVOICE_ISSUED" \
-d schedules[0][days]="0" \
-d schedules[0][timeOfDay]="12" \
-d schedules[0][repeats]="1" \
-d schedules[0][email]="true" \
-d schedules[0][text]="true" \
-d schedules[0][letter]="true" \
-d schedules[0][phone]="false" \
-X POST
The above command returns JSON structured like this:
{
"data": {
"id": "620f230341fe7a283ed7e0c1",
"name": "Test invoice chasing",
"companyId": "615ad8109e222b30b21c8903",
"isDefault": false,
"schedules": [
{
"_id": "620f22e9dee4a2967675b6f4",
"days": 0,
"hour": 0,
"repeats": 1,
"timeOfDay": 12,
"email": true,
"text": true,
"letter": true,
"phone": false,
"trigger": "WHEN_INVOICE_ISSUED"
}
],
"createdBy": "615ad79a9e222b30b21c88ba",
"updatedBy": "615ad79a9e222b30b21c88ba",
"createdAt": "2022-02-18T04:39:31.151Z",
"updatedAt": "2022-02-18T04:39:31.151Z"
}
}
Create a new invoice chasing with this endpoint.
HTTP Request
POST /invoiceChasings
Query Parameters
Parameter | Type | Description |
---|---|---|
companyId | objectId | (required) Company ID |
name | string | (required) Name of chasing |
isDefault | boolean | true to set default chasing |
schedules | array | Schedules array object, includes trigger (required) (includes values WHEN_INVOICE_ISSUED , AFTER_INVOICE_ISSUE_DATE , BEFORE_INVOICE_DUE_DATE , AFTER_INVOICE_DUE_DATE , REPEATING_REMINDER ), timeOfDay (required) time of day, days after (required), repeats time (required) (if trigger is REPEATING_REMINDER ), email , text , letter , phone |
Update an invoice chasing
curl "https://api.blixo.com/v1/invoiceChasings/:invoiceChasingId" \
-u {API_KEY}: \
-d companyId="615ad8109e222b30b21c8903" \
-d name="Test invoice chasing update" \
-d schedules[0][trigger]="REPEATING_REMINDER" \
-d schedules[0][days]="2" \
-d schedules[0][timeOfDay]="10" \
-d schedules[0][repeats]="3" \
-d schedules[0][email]="true" \
-d schedules[0][text]="true" \
-d schedules[0][letter]="true" \
-d schedules[0][phone]="false" \
-X PATCH
The above command returns JSON structured like this:
{
"data": {
"id": "620f230341fe7a283ed7e0c1",
"name": "Test invoice chasing update",
"companyId": "615ad8109e222b30b21c8903",
"isDefault": false,
"schedules": [
{
"_id": "620f22e9dee4a2967675b6f4",
"days": 2,
"repeats": 3,
"timeOfDay": 10,
"email": true,
"text": true,
"letter": true,
"phone": false,
"trigger": "REPEATING_REMINDER"
}
],
"createdBy": "615ad79a9e222b30b21c88ba",
"updatedBy": "615ad79a9e222b30b21c88ba",
"createdAt": "2022-02-18T04:39:31.151Z",
"updatedAt": "2022-02-18T04:39:31.151Z"
}
}
Update a invoice chasing with this endpoint.
HTTP Request
PATCH /invoiceChasings/:invoiceChasingId
Query Parameters
Parameter | Type | Description |
---|---|---|
companyId | objectId | (required) Company ID |
name | string | (required) Name of chasing |
isDefault | boolean | true to set default chasing |
schedules | array | Schedules array object, includes trigger (required) (includes values WHEN_INVOICE_ISSUED , AFTER_INVOICE_ISSUE_DATE , BEFORE_INVOICE_DUE_DATE , AFTER_INVOICE_DUE_DATE , REPEATING_REMINDER ), timeOfDay (required) time of day, days after (required), repeats time (required) (if trigger is REPEATING_REMINDER ), email , text , letter , phone |
Items
List all items
curl "https://api.blixo.com/v1/items" \
-u {API_KEY}:
This endpoint retrieves all items.
The above command returns JSON structured like this:
{
"data": [
{
"id": "621b8c13a9a2e62de0ff89b1",
"name": "YEAR ITEM",
"itemID": "YEAR-ITEM",
"hasDefaultPrice": true,
"amount": {
"unit": "$",
"value": 100
},
"taxes": [],
"taxable": true,
"discountable": true,
"description": "",
"type": "YEAR",
"companyId": "615ad8109e222b30b21c8903",
"createdBy": "615ad79a9e222b30b21c88ba",
"updatedBy": "615ad79a9e222b30b21c88ba",
"createdAt": "2022-02-27T14:34:59.033Z",
"updatedAt": "2022-02-27T14:34:59.033Z",
"source": "BLIXO"
}
],
"pagination": {
"total": 1
}
}
HTTP Request
GET /items
Create an item
curl "https://api.blixo.com/v1/items" \
-u {API_KEY}: \
-d companyId="60e1b7f0c6ef4219ff51824c" \
-d name="YEAR ITEM" \
-d amount[unit]="$" \
-d amount[currency]="USD" \
-d amount[value]="100" \
-d type="YEAR" \
-X POST
The above command returns JSON structured like this:
{
"data": {
"id": "621b8c13a9a2e62de0ff89b1",
"name": "YEAR ITEM",
"itemID": "YEAR-ITEM",
"hasDefaultPrice": true,
"amount": {
"unit": "$",
"value": 100
},
"taxes": [],
"taxable": true,
"discountable": true,
"description": "",
"type": "YEAR",
"companyId": "60e1b7f0c6ef4219ff51824c",
"createdBy": "615ad79a9e222b30b21c88ba",
"updatedBy": "615ad79a9e222b30b21c88ba",
"createdAt": "2022-02-27T14:34:59.033Z",
"updatedAt": "2022-02-27T14:34:59.033Z",
"source": "BLIXO"
}
}
Create a new item with this endpoint.
HTTP Request
POST /items
Query Parameters
Parameter | Type | Description |
---|---|---|
companyId | objectId | (required) Company ID |
name | string | (required) Name of item |
amount | object | (required) An amount object |
description | string | Description of item |
type | string | Type of plan. E.g. MONTH , YEARLY , NONE |
discountable | boolean | Discountable |
taxable | boolean | Taxable |
Plans
List all plans
curl "https://api.blixo.com/v1/plans?companyId=[companyId]" \
-u {API_KEY}:
This endpoint retrieves all plans of company.
The above command returns JSON structured like this:
{
"data": [
{
"id": "61556ed175b9f7e7b3486dac",
"name": "TEAM YEARLY PLAN",
"companyId": "60e1b7f0c6ef4219ff51824c",
"code": "TEAM_YEARLY_PLAN",
"price": {
"unit": "$",
"currency": "USD",
"value": 599.88
},
"type": "YEARLY",
"itemId": "615682767ab3d95d98580d75",
"interval": "years",
"intervalCount": 1,
"pricingMode": "per_unit"
}
],
"pagination": {
"total": 1
}
}
HTTP Request
GET /plans
Create a plan
curl "https://api.blixo.com/v1/plans" \
-u {API_KEY}: \
-d companyId="60e1b7f0c6ef4219ff51824c" \
-d itemId="615682767ab3d95d98580d05" \
-d name="TEAM YEARLY PLAN" \
-d price[unit]="$" \
-d price[currency]="USD" \
-d price[value]="599.88" \
-d type="YEARLY" \
-X POST
The above command returns JSON structured like this:
{
"data": {
"id": "61556ed175b9f7e7b3486d02",
"name": "TEAM YEARLY PLAN",
"companyId": "60e1b7f0c6ef4219ff51824c",
"code": "TEAM_YEARLY_PLAN",
"price": {
"unit": "$",
"currency": "USD",
"value": 599.88
},
"type": "YEARLY",
"itemId": "615682767ab3d95d98580d05",
"interval": "years",
"intervalCount": 1,
"pricingMode": "per_unit"
}
}
Create a new plan with this endpoint.
HTTP Request
POST /plans
Query Parameters
Parameter | Type | Description |
---|---|---|
companyId | objectId | (required) Company ID |
itemId | objectId | (required) Item ID |
name | string | (required) Name of plan |
price | object | (required) An amount object |
type | string | Type of plan. E.g. DAILY , WEEKLY , MONTHLY , SEMIANNUALLY , YEARLY , CUSTOM |
Update a plan
curl "https://api.blixo.com/v1/plans/:planId" \
-u {API_KEY}: \
-d companyId="60e1b7f0c6ef4219ff51824c" \
-d itemId="615682767ab3d95d98580d05" \
-d name="TEAM YEARLY PLAN UPDATE" \
-d price[unit]="$" \
-d price[currency]="USD" \
-d price[value]="699.88" \
-d type="YEARLY" \
-X PATCH
The above command returns JSON structured like this:
{
"data": {
"id": "61556ed175b9f7e7b3486d02",
"name": "TEAM YEARLY PLAN UPDATE",
"companyId": "60e1b7f0c6ef4219ff51824c",
"code": "TEAM_YEARLY_PLAN_UPDATE",
"price": {
"unit": "$",
"currency": "USD",
"value": 699.88
},
"type": "YEARLY",
"itemId": "615682767ab3d95d98580d05",
"interval": "years",
"intervalCount": 1,
"pricingMode": "per_unit"
}
}
Update a plan with this endpoint.
HTTP Request
PATCH /plans/:planId
Query Parameters
Parameter | Type | Description |
---|---|---|
companyId | objectId | (required) Company ID |
itemId | objectId | (required) Item ID |
name | string | (required) Name of plan |
price | object | (required) An amount object |
type | string | Type of plan. E.g. DAILY , WEEKLY , MONTHLY , SEMIANNUALLY , YEARLY , CUSTOM |
Addons
List all addons
curl "https://api.blixo.com/v1/addons?companyId=[companyId]" \
-u {API_KEY}:
This endpoint retrieves all addons of company.
The above command returns JSON structured like this:
{
"data": [
{
"id": "61556ed175b9f7e7b3486d02",
"name": "YEARLY MEMBER ADDON",
"companyId": "60e1b7f0c6ef4219ff51824c",
"code": "YEARLY_MEMBER_ADDON",
"price": {
"unit": "$",
"currency": "USD",
"value": 199.88
},
"type": "YEARLY",
"itemId": "615682767ab3d95d98580d05",
"interval": "years",
"intervalCount": 1,
"pricingMode": "per_unit"
}
],
"pagination": {
"total": 1
}
}
HTTP Request
GET /addons
Create a addon
curl "https://api.blixo.com/v1/addons" \
-u {API_KEY}: \
-d companyId="60e1b7f0c6ef4219ff51824c" \
-d itemId="615682767ab3d95d98580d05" \
-d name="YEARLY MEMBER ADDON" \
-d price[unit]="$" \
-d price[currency]="USD" \
-d price[value]="199.88" \
-d type="YEARLY" \
-X POST
The above command returns JSON structured like this:
{
"data": {
"id": "61556ed175b9f7e7b3486d02",
"name": "YEARLY MEMBER ADDON",
"companyId": "60e1b7f0c6ef4219ff51824c",
"code": "YEARLY_MEMBER_ADDON",
"price": {
"unit": "$",
"currency": "USD",
"value": 199.88
},
"type": "YEARLY",
"itemId": "615682767ab3d95d98580d05",
"interval": "years",
"intervalCount": 1,
"pricingMode": "per_unit"
}
}
Create a new addon with this endpoint.
HTTP Request
POST /addons
Query Parameters
Parameter | Type | Description |
---|---|---|
companyId | objectId | (required) Company ID |
itemId | objectId | (required) Item ID |
name | string | (required) Name of addon |
price | object | (required) An amount object |
type | string | Type of addon. E.g. DAILY , WEEKLY , MONTHLY , SEMIANNUALLY , YEARLY , CUSTOM |
Update a addon
curl "https://api.blixo.com/v1/addon/:addonId" \
-u {API_KEY}: \
-d companyId="60e1b7f0c6ef4219ff51824c" \
-d itemId="615682767ab3d95d98580d05" \
-d name="YEARLY MEMBER ADDON UPDATE" \
-d price[unit]="$" \
-d price[currency]="USD" \
-d price[value]="299.88" \
-d type="YEARLY" \
-X PATCH
The above command returns JSON structured like this:
{
"data": {
"id": "61556ed175b9f7e7b3486d02",
"name": "YEARLY MEMBER ADDON UPDATE",
"companyId": "60e1b7f0c6ef4219ff51824c",
"code": "YEARLY_MEMBER_ADDON_UPDATE",
"price": {
"unit": "$",
"currency": "USD",
"value": 299.88
},
"type": "YEARLY",
"itemId": "615682767ab3d95d98580d05",
"interval": "years",
"intervalCount": 1,
"pricingMode": "per_unit"
}
}
Update a addon with this endpoint.
HTTP Request
PATCH /addons/:addonId
Query Parameters
Parameter | Type | Description |
---|---|---|
companyId | objectId | (required) Company ID |
itemId | objectId | (required) Item ID |
name | string | (required) Name of addon |
price | object | (required) An amount object |
type | string | Type of addon. E.g. DAILY , WEEKLY , MONTHLY , SEMIANNUALLY , YEARLY , CUSTOM |
Taxes
List all taxes
curl "https://api.blixo.com/v1/taxes" \
-u {API_KEY}:
This endpoint retrieves all taxes.
HTTP Request
GET /taxes
Create a tax
curl "https://api.blixo.com/v1/taxes" \
-u {API_KEY}: \
The above command returns JSON structured like this:
{
"id": "61039770b733d94e98645c62",
}
Create a new tax with this endpoint.
HTTP Request
POST /taxes
Query Parameters
Parameter | Type | Description |
---|
Update a tax
curl "https://api.blixo.com/v1/taxes/:taxId" \
-u {API_KEY}: \
-X PATCH
The above command returns JSON structured like this:
{
"id": "61039770b733d94e98645c62",
}
Update a new tax with this endpoint.
HTTP Request
PATCH /taxes/:taxId
Query Parameters
Parameter | Type | Description |
---|
Delete a tax
curl "https://api.blixo.com/v1/taxes/:taxId" \
-u {API_KEY}: \
-X DELETE
The above command returns JSON structured like this:
{
"data": "611d4216a747250146ade2cf"
}
This endpoint deletes a specific tax.
HTTP Request
DELETE /taxes/:taxId
Coupons
List all coupons
curl "https://api.blixo.com/v1/coupons" \
-u {API_KEY}:
This endpoint retrieves all coupons.
HTTP Request
GET /coupons
Create a coupon
curl "https://api.blixo.com/v1/coupons" \
-u {API_KEY}: \
The above command returns JSON structured like this:
{
"id": "61039770b733d94e98645c62",
}
Create a new coupon with this endpoint.
HTTP Request
POST /coupons
Query Parameters
Parameter | Type | Description |
---|
Update a coupon
curl "https://api.blixo.com/v1/coupons/:couponId" \
-u {API_KEY}: \
-X PATCH
The above command returns JSON structured like this:
{
"id": "61039770b733d94e98645c62",
}
Update a new coupon with this endpoint.
HTTP Request
PATCH /coupons/:couponId
Query Parameters
Parameter | Type | Description |
---|
Delete a coupon
curl "https://api.blixo.com/v1/coupons/:couponId" \
-u {API_KEY}: \
-X DELETE
The above command returns JSON structured like this:
{
"data": "611d4216a747250146ade2cf"
}
This endpoint deletes a specific coupon.
HTTP Request
DELETE /coupons/:couponId
Notes
List all notes
curl "https://api.blixo.com/v1/notes" \
-u {API_KEY}:
This endpoint retrieves all notes.
HTTP Request
GET /notes
Create a note
curl "https://api.blixo.com/v1/notes" \
-u {API_KEY}: \
The above command returns JSON structured like this:
{
"id": "61039770b733d94e98645c62",
}
Create a new note with this endpoint.
HTTP Request
POST /notes
Query Parameters
Parameter | Type | Description |
---|
Update a note
curl "https://api.blixo.com/v1/notes/:noteId" \
-u {API_KEY}: \
-X PATCH
The above command returns JSON structured like this:
{
"id": "61039770b733d94e98645c62",
}
Update a new note with this endpoint.
HTTP Request
PATCH /notes/:noteId
Query Parameters
Parameter | Type | Description |
---|
Delete a note
curl "https://api.blixo.com/v1/notes/:noteId" \
-u {API_KEY}: \
-X DELETE
The above command returns JSON structured like this:
{
"data": "611d4216a747250146ade2cf"
}
This endpoint deletes a specific note.
HTTP Request
DELETE /notes/:noteId
Tasks
List all tasks
curl "https://api.blixo.com/v1/tasks" \
-u {API_KEY}:
This endpoint retrieves all tasks.
HTTP Request
GET /tasks
Create a task
curl "https://api.blixo.com/v1/tasks" \
-u {API_KEY}: \
The above command returns JSON structured like this:
{
"id": "61039770b733d94e98645c62",
}
Create a new task with this endpoint.
HTTP Request
POST /tasks
Query Parameters
Parameter | Type | Description |
---|
Update a task
curl "https://api.blixo.com/v1/tasks/:taskId" \
-u {API_KEY}: \
-X PATCH
The above command returns JSON structured like this:
{
"id": "61039770b733d94e98645c62",
}
Update a new task with this endpoint.
HTTP Request
PATCH /tasks/:taskId
Query Parameters
Parameter | Type | Description |
---|
Delete a task
curl "https://api.blixo.com/v1/tasks/:taskId" \
-u {API_KEY}: \
-X DELETE
The above command returns JSON structured like this:
{
"data": "611d4216a747250146ade2cf"
}
This endpoint deletes a specific task.
HTTP Request
DELETE /tasks/:taskId