Subscriptions

Subscriptions

Recurring billing documents (Invoice_Type = subscription). List/detail reuse invoice handlers. Create/update use relations.write.

List subscriptions

GET /v1/subscriptions

Subscriptions, not invoice payments

Authorization: HTTP
name: httpBearer
type: http
scheme: bearer
Query
Name Type Description
page integer
per_page integer
id string
client_id string
number string
status string Subscription status.
start_from string
start_to string
created_from string
created_to string
search string
sort string Sort field.
order string Sort direction.
Request body

None

Response
data array
id string
number string
title string
client_id string
status string

Subscription status.

Enum
draft active ended
term string

Billing frequency.

Enum
weekly four_weeks monthly quarterly half_yearly yearly
start_date string
end_date string Nullable
last_generated string Nullable

Last invoice date.

next_generate string Nullable

Next invoice date.

schedule object
schedule_type string
Enum
start_date day_of_month
day_of_month integer
day_of_week integer

ISO weekday 1–7.

subtotal number
vat_rate number
vat_amount number
total_excl_vat number
total_incl_vat number
created_at string
meta object
page integer
per_page integer
total integer
pages integer

Examples

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

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

Create a subscription

POST /v1/subscriptions
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
client_id string
client_external_id string
title string
frequency string

Billing frequency. Default `monthly`.

Enum
weekly four_weeks monthly quarterly half_yearly yearly
Example: monthly
subscription_start string
subscription_end string
first_generate_date string
day_of_month integer
day_of_week integer
lines array
title string
quantity number
unit_price number
unit string
vat_code string
total_excl_vat number
total_incl_vat number
Response
data object

Recurring subscription.

id string
number string
title string
client_id string
status string

Subscription status.

Enum
draft active ended
term string

Billing frequency.

Enum
weekly four_weeks monthly quarterly half_yearly yearly
start_date string
end_date string Nullable
last_generated string Nullable

Last invoice date.

next_generate string Nullable

Next invoice date.

schedule object
schedule_type string
Enum
start_date day_of_month
day_of_month integer
day_of_week integer

ISO weekday 1–7.

subtotal number
vat_rate number
vat_amount number
total_excl_vat number
total_incl_vat number
created_at string
meta object

Examples

POST /v1/subscriptions
curl -X POST "https://api.appficient.nl/v1/subscriptions" \
  -H "Authorization: Bearer apf_xxxxxxxx" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
    "client_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "client_external_id": "string",
    "title": "string",
    "frequency": "monthly",
    "subscription_start": "2026-07-01",
    "subscription_end": "2026-07-01",
    "first_generate_date": "2026-07-01",
    "day_of_month": 0,
    "day_of_week": 0,
    "lines": [
        {
            "title": "string",
            "quantity": 0,
            "unit_price": 0,
            "unit": "string",
            "vat_code": "string",
            "total_excl_vat": 0,
            "total_incl_vat": 0
        }
    ]
}'

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

Retrieve a subscription

GET /v1/subscriptions/{id}

Includes lines and schedule fields

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

None

Response
data object

Recurring subscription.

id string
number string
title string
client_id string
status string

Subscription status.

Enum
draft active ended
term string

Billing frequency.

Enum
weekly four_weeks monthly quarterly half_yearly yearly
start_date string
end_date string Nullable
last_generated string Nullable

Last invoice date.

next_generate string Nullable

Next invoice date.

schedule object
schedule_type string
Enum
start_date day_of_month
day_of_month integer
day_of_week integer

ISO weekday 1–7.

subtotal number
vat_rate number
vat_amount number
total_excl_vat number
total_incl_vat number
created_at string
lines array
title string
quantity number
unit_price number
unit string
vat_code string
total_excl_vat number
total_incl_vat number
meta object

Examples

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

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

Update a subscription

PATCH /v1/subscriptions/{id}

`lines` replaces all lines

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

Billing frequency. Default `monthly`.

Enum
weekly four_weeks monthly quarterly half_yearly yearly
Example: monthly
subscription_start string
subscription_end string
day_of_month integer
day_of_week integer
lines array
title string
quantity number
unit_price number
unit string
vat_code string
total_excl_vat number
total_incl_vat number
Response
data object

Recurring subscription.

id string
number string
title string
client_id string
status string

Subscription status.

Enum
draft active ended
term string

Billing frequency.

Enum
weekly four_weeks monthly quarterly half_yearly yearly
start_date string
end_date string Nullable
last_generated string Nullable

Last invoice date.

next_generate string Nullable

Next invoice date.

schedule object
schedule_type string
Enum
start_date day_of_month
day_of_month integer
day_of_week integer

ISO weekday 1–7.

subtotal number
vat_rate number
vat_amount number
total_excl_vat number
total_incl_vat number
created_at string
meta object

Examples

PATCH /v1/subscriptions/{id}
curl -X PATCH "https://api.appficient.nl/v1/subscriptions/{id}" \
  -H "Authorization: Bearer apf_xxxxxxxx" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "string",
    "frequency": "monthly",
    "subscription_start": "2026-07-01",
    "subscription_end": "2026-07-01",
    "day_of_month": 0,
    "day_of_week": 0,
    "lines": [
        {
            "title": "string",
            "quantity": 0,
            "unit_price": 0,
            "unit": "string",
            "vat_code": "string",
            "total_excl_vat": 0,
            "total_incl_vat": 0
        }
    ]
}'

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

Deactivate a subscription

POST /v1/subscriptions/{id}/deactivate

Optional end date (default today)

Authorization: HTTP
name: httpBearer
type: http
scheme: bearer
Path
Name Type Description
id Required string
Request body
subscription_end string
Response
data object
id string
status string
Enum
ended
end_date string
meta object

Examples

POST /v1/subscriptions/{id}/deactivate
curl -X POST "https://api.appficient.nl/v1/subscriptions/{id}/deactivate" \
  -H "Authorization: Bearer apf_xxxxxxxx" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
    "subscription_end": "2026-07-01"
}'

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

List invoices for a subscription

GET /v1/subscriptions/{id}/invoices

Invoices from this subscription

Authorization: HTTP
name: httpBearer
type: http
scheme: bearer
Path
Name Type Description
id Required string
Query
Name Type Description
page integer
per_page integer
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/subscriptions/{id}/invoices
curl -X GET "https://api.appficient.nl/v1/subscriptions/{id}/invoices" \
  -H "Authorization: Bearer apf_xxxxxxxx" \
  -H "Accept: application/json"

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