TripleBooks
Invoicing

Invoices

GET
/api/invoicing/invoices

List invoices or customers. Use source (ar, subscription, or all) and view (invoices or customers). Authorization: Bearer ak_.... Required scope includes read:invoicing. Pass entityId (query / JSON / x-entity-id).

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid
source?string

Value in

  • "ar"
  • "subscription"
  • "all"
view?string
status?string

Response Body

application/json

application/json

curl -X GET "https://example.com/api/invoicing/invoices?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{  "error": "string"}
{  "error": "string"}
POST
/api/invoicing/invoices

Authorization: Bearer ak_.... Required scope includes write:invoicing. Pass entityId as above.

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/api/invoicing/invoices?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{    "customerId": "string",    "lineItems": []  }'
Empty
{  "error": "string"}
{  "error": "string"}
{  "error": "string"}
GET
/api/invoicing/invoices/customers

Authorization: Bearer ak_.... Required scope includes read:invoicing. Pass entityId (query / JSON / x-entity-id).

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Response Body

application/json

application/json

curl -X GET "https://example.com/api/invoicing/invoices/customers?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{  "error": "string"}
{  "error": "string"}
POST
/api/invoicing/invoices/customers

Authorization: Bearer ak_.... Required scope includes write:invoicing. Pass entityId as above.

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/api/invoicing/invoices/customers?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{}'
Empty
{  "error": "string"}
{  "error": "string"}
{  "error": "string"}
GET
/api/invoicing/invoices/aging

Authorization: Bearer ak_.... Required scope includes read:invoicing. Pass entityId (query / JSON / x-entity-id).

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Response Body

application/json

application/json

curl -X GET "https://example.com/api/invoicing/invoices/aging?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{  "error": "string"}
{  "error": "string"}
GET
/api/invoicing/invoices/{invoiceId}

Authorization: Bearer ak_.... Required scope includes read:invoicing. Pass entityId (query / JSON / x-entity-id).

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Path Parameters

invoiceId*string
Formatuuid

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Response Body

application/json

application/json

application/json

curl -X GET "https://example.com/api/invoicing/invoices/497f6eca-6276-4993-bfeb-53cbbbba6f08?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{  "error": "string"}
{  "error": "string"}
{  "error": "string"}
PATCH
/api/invoicing/invoices/{invoiceId}

Authorization: Bearer ak_.... Required scope includes write:invoicing. Pass entityId as above.

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Path Parameters

invoiceId*string
Formatuuid

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X PATCH "https://example.com/api/invoicing/invoices/497f6eca-6276-4993-bfeb-53cbbbba6f08?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{    "action": "send"  }'
Empty
{  "error": "string"}
{  "error": "string"}
{  "error": "string"}
POST
/api/invoicing/invoices/{invoiceId}/post-to-ledger

Empty JSON body. Authorization: Bearer ak_.... Required scope includes write:invoicing. Pass entityId as above.

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Path Parameters

invoiceId*string
Formatuuid

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/api/invoicing/invoices/497f6eca-6276-4993-bfeb-53cbbbba6f08/post-to-ledger?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{  "error": "string"}
{  "error": "string"}
{  "error": "string"}
PATCH
/api/invoicing/invoices/{invoiceId}/revenue-contract

Authorization: Bearer ak_.... Required scope includes write:invoicing. Pass entityId as above.

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Path Parameters

invoiceId*string
Formatuuid

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X PATCH "https://example.com/api/invoicing/invoices/497f6eca-6276-4993-bfeb-53cbbbba6f08/revenue-contract?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{}'
Empty
{  "error": "string"}
{  "error": "string"}
{  "error": "string"}
GET
/api/invoicing/invoices/subscription/{subInvoiceId}

Authorization: Bearer ak_.... Required scope includes read:invoicing. Pass entityId (query / JSON / x-entity-id).

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Path Parameters

subInvoiceId*string
Formatuuid

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Response Body

application/json

application/json

application/json

curl -X GET "https://example.com/api/invoicing/invoices/subscription/497f6eca-6276-4993-bfeb-53cbbbba6f08?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{  "error": "string"}
{  "error": "string"}
{  "error": "string"}
GET
/api/invoicing/invoices/context

Lists the entities you can access in this organization (for the entity picker). The first entity is the default when you do not pass entityId. Authorization: Bearer ak_.... Required scope includes read:invoicing. Pass entityId (query / JSON / x-entity-id).

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Response Body

application/json

application/json

application/json

curl -X GET "https://example.com/api/invoicing/invoices/context?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
{  "entityId": "string",  "entities": [    {      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",      "name": "string"    }  ]}
{  "error": "string"}
{  "error": "string"}
POST
/api/invoicing/invoices/{invoiceId}/send

Email the invoice PDF, post AR, and record the billing period. Authorization: Bearer ak_.... Required scope includes write:invoicing. Requests are scoped to one entity. Pass entityId as a query parameter, JSON field, or x-entity-id header. API keys are already pinned to an entity.

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Path Parameters

invoiceId*string
Formatuuid

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/invoicing/invoices/497f6eca-6276-4993-bfeb-53cbbbba6f08/send?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{}'
Empty
{  "error": "string"}
{  "error": "string"}
{  "error": "string"}
{  "error": "string"}
GET
/api/invoicing/invoices/{invoiceId}/pdf

PDF bytes for an invoice. Authorization: Bearer ak_.... Required scope includes read:invoicing. Requests are scoped to one entity. Pass entityId as a query parameter, JSON field, or x-entity-id header. API keys are already pinned to an entity.

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Path Parameters

invoiceId*string
Formatuuid

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Response Body

application/json

application/json

application/json

curl -X GET "https://example.com/api/invoicing/invoices/497f6eca-6276-4993-bfeb-53cbbbba6f08/pdf?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{  "error": "string"}
{  "error": "string"}
{  "error": "string"}
GET
/api/invoicing/invoices/{invoiceId}/print-meta

Printable HTML path, template, and totals. Authorization: Bearer ak_.... Required scope includes read:invoicing. Requests are scoped to one entity. Pass entityId as a query parameter, JSON field, or x-entity-id header. API keys are already pinned to an entity.

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Path Parameters

invoiceId*string
Formatuuid

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Response Body

application/json

application/json

application/json

curl -X GET "https://example.com/api/invoicing/invoices/497f6eca-6276-4993-bfeb-53cbbbba6f08/print-meta?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{  "error": "string"}
{  "error": "string"}
{  "error": "string"}
GET
/api/invoicing/invoices/{invoiceId}/delivery-readiness

Customer email and send blockers. Authorization: Bearer ak_.... Required scope includes read:invoicing. Requests are scoped to one entity. Pass entityId as a query parameter, JSON field, or x-entity-id header. API keys are already pinned to an entity.

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Path Parameters

invoiceId*string
Formatuuid

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Response Body

application/json

application/json

application/json

curl -X GET "https://example.com/api/invoicing/invoices/497f6eca-6276-4993-bfeb-53cbbbba6f08/delivery-readiness?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{  "error": "string"}
{  "error": "string"}
{  "error": "string"}
POST
/api/invoicing/invoices/{invoiceId}/resend-receipt

Resend a payment receipt. Authorization: Bearer ak_.... Required scope includes write:invoicing. Requests are scoped to one entity. Pass entityId as a query parameter, JSON field, or x-entity-id header. API keys are already pinned to an entity.

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Path Parameters

invoiceId*string
Formatuuid

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/invoicing/invoices/497f6eca-6276-4993-bfeb-53cbbbba6f08/resend-receipt?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{  "error": "string"}
{  "error": "string"}
{  "error": "string"}
{  "error": "string"}

On this page