Skip to main content

Retainers

Retainer invoices are upfront payments that secure services for a period of time, guaranteeing payment and priority treatment.

Create Retainer

POST https://api.invoiless.com/v1/invoices

Create a new retainer by including isRetainer: true in the request body.

Example:

{
"isRetainer": true,
"customer": {
"internalId": "INTERNAL_USER_ID",
"billTo": {
"company": "Invoiless"
}
},
"items": [
{
"name": "Monthly Retainer",
"quantity": 1,
"price": 5000
}
],
"status": "Draft"
}

Body Parameters

Accepts the same parameters as Create Invoice, plus:

NameTypeDescriptionRequired
isRetainerboolSet to true for retainer invoicesYes

Response HTTP/1.1 201 Created

Returns the created retainer object.

Update Retainer

PUT https://api.invoiless.com/v1/invoices/:id

PATCH https://api.invoiless.com/v1/invoices/:id

Update an existing retainer. See PUT vs PATCH for details on the differences.

Path Parameters

NameTypeDescriptionRequired
idstringRetainer idYes

Body Parameters

Accepts the same parameters as Create Invoice.

Get Retainer

GET https://api.invoiless.com/v1/invoices/:id

Retrieve a specific retainer by ID.

Path Parameters

NameTypeDescriptionRequired
idstringRetainer idYes

Get Retainers

GET https://api.invoiless.com/v1/invoices

Retrieve a paginated list of all retainers by filtering for isRetainer: true.

Query Parameters

NameTypeDescriptionRequired
pagenumberPage numberNo, default is 1
limitnumberPage limitNo , default is 50
searchnumberSearch by retainer number, customer name, or tagsNo

Send Retainer

POST https://api.invoiless.com/v1/invoices/:id/send

Send a retainer via email to the customer.

Path Parameters

NameTypeDescriptionRequired
idstringRetainer idYes

Body Parameters

NameTypeDescriptionRequired
emailstringEmail addressNo
subjectstringEmail subjectNo
bodystringEmail bodyNo
datedateSchedule sendNo

Delete Retainer

DELETE https://api.invoiless.com/v1/invoices/:id

Permanently delete a retainer.

Path Parameters

NameTypeDescriptionRequired
idstringRetainer idYes