NAV
shell

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
email 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
email 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 email (required) Receiver's email
bcc email 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