Quotes

Quotes

List and create quotes. Same shape as invoices, type quote. Scope: invoices.read / invoices.write.

List quotes

GET /v1/quotes
Authorization: HTTP
name: httpBearer
type: http
scheme: bearer
Query
Name Type Description
page integer
per_page integer
id string
client_id string
number string
date_from string
date_to string
due_date_from string
due_date_to string
created_from string
created_to string
search string
payment_status string
sort string Sort field.
order string Sort direction.
Request body

None

Response
data array
id string
number string
title string
invoice_date string
due_date string
created_at string
subtotal number
vat_rate number
vat_amount number
total_excl_vat number
total_incl_vat number
client_id string
payment_status string

Payment status.

paid_at string Nullable
sent_at string Nullable
project_number string Nullable
is_credit boolean
external_id string Nullable

Your reference, if set.

meta object
page integer
per_page integer
total integer
pages integer

Examples

GET /v1/quotes
curl -X GET "https://api.appficient.nl/v1/quotes" \
  -H "Authorization: Bearer apf_xxxxxxxx" \
  -H "Accept: application/json"

Curl, Node and response are shown to the right of this endpoint.

Create a quote

POST /v1/quotes

Same body as create invoice

Authorization: HTTP
name: httpBearer
type: http
scheme: bearer
Headers
Name Type Description
Idempotency-Key string Optional. Replay within 24h returns the same response.
Request body
title string Required
client_id string
client_external_id string
invoice_date string
due_date string
external_id string

Your unique reference. Duplicate → `409`.

Example: inv-2026-00123
generation_mode string

`draft` (default) or `final`.

Enum
draft final
Example: draft
generate boolean

Shortcut for `final`.

rows array
name string
title string
quantity number
unit_price number
unit string
vat_rate string
vat_code string
subtotal number
vat_rate number
vat_amount number
total_excl_vat number
total_incl_vat number
number string
payment_status string
Response
data object

Document list item.

id string
number string
title string
invoice_date string
due_date string
created_at string
subtotal number
vat_rate number
vat_amount number
total_excl_vat number
total_incl_vat number
client_id string
payment_status string

Payment status.

paid_at string Nullable
sent_at string Nullable
project_number string Nullable
is_credit boolean
external_id string Nullable

Your reference, if set.

rows array
name string
quantity number
unit string
unit_price number
vat_rate string
total_excl_vat number
total_incl_vat number
client_company_name string
client_firstname string
client_lastname string
web_url string
pdf_url string
meta object
generation_mode string

`draft` (default) or `final`.

Enum
draft final
Example: draft
pdf object
generated boolean
status string
message string Nullable
url string Nullable

Examples

POST /v1/quotes
curl -X POST "https://api.appficient.nl/v1/quotes" \
  -H "Authorization: Bearer apf_xxxxxxxx" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
    "client_id": "00000000-0000-0000-0000-000000000001",
    "title": "Draft quote",
    "generation_mode": "draft"
}'

Curl, Node and response are shown to the right of this endpoint.

Retrieve a quote

GET /v1/quotes/{id}
Authorization: HTTP
name: httpBearer
type: http
scheme: bearer
Path
Name Type Description
id Required string
Request body

None

Response
data object

Document list item.

id string
number string
title string
invoice_date string
due_date string
created_at string
subtotal number
vat_rate number
vat_amount number
total_excl_vat number
total_incl_vat number
client_id string
payment_status string

Payment status.

paid_at string Nullable
sent_at string Nullable
project_number string Nullable
is_credit boolean
external_id string Nullable

Your reference, if set.

rows array
name string
quantity number
unit string
unit_price number
vat_rate string
total_excl_vat number
total_incl_vat number
client_company_name string
client_firstname string
client_lastname string
web_url string
pdf_url string
meta object

Examples

GET /v1/quotes/{id}
curl -X GET "https://api.appficient.nl/v1/quotes/{id}" \
  -H "Authorization: Bearer apf_xxxxxxxx" \
  -H "Accept: application/json"

Curl, Node and response are shown to the right of this endpoint.

Update a quote

PATCH /v1/quotes/{id}

Send at least one field

Authorization: HTTP
name: httpBearer
type: http
scheme: bearer
Path
Name Type Description
id Required string
Request body
title string
invoice_date string
due_date string
payment_status string
Response
data object

Document list item.

id string
number string
title string
invoice_date string
due_date string
created_at string
subtotal number
vat_rate number
vat_amount number
total_excl_vat number
total_incl_vat number
client_id string
payment_status string

Payment status.

paid_at string Nullable
sent_at string Nullable
project_number string Nullable
is_credit boolean
external_id string Nullable

Your reference, if set.

rows array
name string
quantity number
unit string
unit_price number
vat_rate string
total_excl_vat number
total_incl_vat number
client_company_name string
client_firstname string
client_lastname string
web_url string
pdf_url string
meta object

Examples

PATCH /v1/quotes/{id}
curl -X PATCH "https://api.appficient.nl/v1/quotes/{id}" \
  -H "Authorization: Bearer apf_xxxxxxxx" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "string",
    "invoice_date": "2026-07-01",
    "due_date": "2026-07-01",
    "payment_status": "string"
}'

Curl, Node and response are shown to the right of this endpoint.

Delete a quote

DELETE /v1/quotes/{id}

Draft only

Authorization: HTTP
name: httpBearer
type: http
scheme: bearer
Path
Name Type Description
id Required string
Request body

None

Response
data object

Invoice list item.

id string
number string
title string
invoice_date string
due_date string
created_at string
subtotal number
vat_rate number
vat_amount number
total_excl_vat number
total_incl_vat number
client_id string
payment_status string

Payment status string (free text; not a closed enum).

paid_at string Nullable
sent_at string Nullable
project_number string Nullable
is_credit boolean
external_id string Nullable

Your own reference for this document, if set.

rows array
name string
description string
quantity number
unit string
unit_price number
vat_rate string
total_excl_vat number
total_incl_vat number
client_company_name string
client_firstname string
client_lastname string
web_url string
pdf_url string
meta object

Examples

DELETE /v1/quotes/{id}
curl -X DELETE "https://api.appficient.nl/v1/quotes/{id}" \
  -H "Authorization: Bearer apf_xxxxxxxx" \
  -H "Accept: application/json"

Curl, Node and response are shown to the right of this endpoint.

Send a quote

POST /v1/quotes/{id}/send

Same body as invoice send

Authorization: HTTP
name: httpBearer
type: http
scheme: bearer
Path
Name Type Description
id Required string
Request body
to string Required

Comma-separated emails

subject string Required
message string Required
cc string
send_type string

Email template for send. Defaults per endpoint.

Enum
invoice quote credit invoice_rem1 invoice_rem2 invoice_rem3 quote_rem1 quote_rem2 quote_rem3 order_confirmation subscription workorder
Example: invoice
include_pdf boolean
Example: 1
Response
data object
success boolean
recipients array
recipients_list string
meta object

Examples

POST /v1/quotes/{id}/send
curl -X POST "https://api.appficient.nl/v1/quotes/{id}/send" \
  -H "Authorization: Bearer apf_xxxxxxxx" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "string",
    "cc": "string",
    "subject": "string",
    "message": "string",
    "send_type": "invoice",
    "include_pdf": true
}'

Curl, Node and response are shown to the right of this endpoint.

Accept a quote

POST /v1/quotes/{id}/accept
Authorization: HTTP
name: httpBearer
type: http
scheme: bearer
Path
Name Type Description
id Required string
Request body

None

Response
data object

Document list item.

id string
number string
title string
invoice_date string
due_date string
created_at string
subtotal number
vat_rate number
vat_amount number
total_excl_vat number
total_incl_vat number
client_id string
payment_status string

Payment status.

paid_at string Nullable
sent_at string Nullable
project_number string Nullable
is_credit boolean
external_id string Nullable

Your reference, if set.

rows array
name string
quantity number
unit string
unit_price number
vat_rate string
total_excl_vat number
total_incl_vat number
client_company_name string
client_firstname string
client_lastname string
web_url string
pdf_url string
meta object

Examples

POST /v1/quotes/{id}/accept
curl -X POST "https://api.appficient.nl/v1/quotes/{id}/accept" \
  -H "Authorization: Bearer apf_xxxxxxxx" \
  -H "Accept: application/json"

Curl, Node and response are shown to the right of this endpoint.

Download quote PDF

GET /v1/quotes/{id}/pdf
Authorization: HTTP
name: httpBearer
type: http
scheme: bearer
Path
Name Type Description
id Required string
Request body

None

Response
data object
id string
pdf_url string
meta object

Examples

GET /v1/quotes/{id}/pdf
curl -X GET "https://api.appficient.nl/v1/quotes/{id}/pdf" \
  -H "Authorization: Bearer apf_xxxxxxxx" \
  -H "Accept: application/json"

Curl, Node and response are shown to the right of this endpoint.