Subscriptions allow you to automatically invoice customers on a recurring basis for the services you provide.
Get additional charges
Get the additional charges of the given subscription.
path Parameters
administration_id
string | integer · pattern:^\d+$
· requiredThe unique identifier of the administration
A unique record identifier of an administration
id
string | integer · pattern:^\d+$
· requiredA unique record identifier
format
string · pattern:^(.(json|xml))?$
· requiredThe format in which the response is given, can be empty to use the default format
Default: .json
query Parameters
include_billed
boolean | stringIf true, includes the additional charges that have already been billed. Default is false.
Responses
A subscription additional charge
id
string | integer · pattern:^\d+$
A unique record identifier
administration_id
string | integer · pattern:^\d+$
A unique record identifier of an administration
contact_id
string | integer | null · pattern:^\d+$
A unique record identifier
subscription_id
string | integer | null · pattern:^\d+$
A unique record identifier
product_id
string | integer · pattern:^\d+$
A unique record identifier
detail_id
string | integer | null · pattern:^\d+$
A unique record identifier
amount
string | nullprice
stringperiod
string · pattern:^[0-9]{6}..[0-9]{6}$
description
string
Create an additional charge to be invoiced together with the subscription
At the end of the current subscription period, the additional charges are merged where possible and an invoice will be created for them. The invoice will be scheduled for sending together with the subscription invoice, so that they are merged on sending.
path Parameters
administration_id
string | integer · pattern:^\d+$
· requiredThe unique identifier of the administration
A unique record identifier of an administration
id
string | integer · pattern:^\d+$
· requiredA unique record identifier
format
string · pattern:^(.(json|xml))?$
· requiredThe format in which the response is given, can be empty to use the default format
Default: .json
Responses
Subscription additional charge created
id
string | integer · pattern:^\d+$
A unique record identifier
administration_id
string | integer · pattern:^\d+$
A unique record identifier of an administration
contact_id
string | integer | null · pattern:^\d+$
A unique record identifier
subscription_id
string | integer | null · pattern:^\d+$
A unique record identifier
product_id
string | integer · pattern:^\d+$
A unique record identifier
detail_id
string | integer | null · pattern:^\d+$
A unique record identifier
amount
string | nullprice
stringperiod
string · pattern:^[0-9]{6}..[0-9]{6}$
description
string
Create and schedule an invoice to be sent together with the subscription
Besides the recurring sales invoice for the subscription, you sometimes need to bill separate costs like usage based charges. Ideally you want these costs to be on the same invoice as the subscription invoice. This endpoint allows you to put extra invoice details on the subscription invoice.
This endpoint creates a new sales invoice and schedules it for sending on the same date as the next subscription invoice. During sending, Moneybird will merge both the scheduled invoice and the subscription invoice. This means the contact will receive one sales invoice with multiple invoice details, both from the subscription and from the one off sales invoice.
path Parameters
administration_id
string | integer · pattern:^\d+$
· requiredThe unique identifier of the administration
A unique record identifier of an administration
id
string | integer · pattern:^\d+$
· requiredA unique record identifier
format
string · pattern:^(.(json|xml))?$
· requiredThe format in which the response is given, can be empty to use the default format
Default: .json
Responses
Sales invoice created
id
string | integer · pattern:^\d+$
A unique record identifier
administration_id
string | integer · pattern:^\d+$
A unique record identifier of an administration
contact_id
string | integer · pattern:^\d+$
A unique record identifier
contact
objectcontact_person_id
string | integer | null · pattern:^\d+$
A unique record identifier
contact_person
invoice_id
string | nullrecurring_sales_invoice_id
string | integer | null · pattern:^\d+$
A unique record identifier
subscription_id
string | integer | null · pattern:^\d+$
A unique record identifier
workflow_id
string | integer · pattern:^\d+$
A unique record identifier
document_style_id
string | integer · pattern:^\d+$
A unique record identifier
identity_id
string | integer · pattern:^\d+$
A unique record identifier
draft_id
integer | nullstate
string · enumEnum values:draftscheduledopenpending_paymentremindedlatepaiduncollectibleinvoice_date
string | null · datedue_date
string · datepayment_conditions
string | nullpayment_reference
string | nullshort_payment_reference
string | nullreference
string | nulllanguage
string | nullcurrency
stringdiscount
string | nulloriginal_sales_invoice_id
string | integer | null · pattern:^\d+$
A unique record identifier
paused
booleanpaid_at
string | null · datesent_at
string | null · datecreated_at
string · date-timeupdated_at
string · date-timepublic_view_code
string | nullpublic_view_code_expires_at
string | null · date-timeversion
integerdetails
object[]payments
object[]total_paid
stringtotal_unpaid
stringtotal_unpaid_base
stringprices_are_incl_tax
booleantotal_price_excl_tax
stringtotal_price_excl_tax_base
stringtotal_price_incl_tax
stringtotal_price_incl_tax_base
stringtotal_discount
stringmarked_dubious_on
string | null · datemarked_uncollectible_on
string | null · datereminder_count
integer | nullnext_reminder
string | null · dateoriginal_estimate_id
string | integer | null · pattern:^\d+$
A unique record identifier
url
stringpayment_url
stringcustom_fields
object[]notes
object[]attachments
object[]events
object[]tax_totals
object[]time_entries
object[]
Get subscription
Get a subscription.
path Parameters
administration_id
string | integer · pattern:^\d+$
· requiredThe unique identifier of the administration
A unique record identifier of an administration
id
string | integer · pattern:^\d+$
· requiredA unique record identifier
format
string · pattern:^(.(json|xml))?$
· requiredThe format in which the response is given, can be empty to use the default format
Default: .json
Responses
A subscription
id
string | integer · pattern:^\d+$
A unique record identifier
administration_id
string | integer · pattern:^\d+$
A unique record identifier of an administration
start_date
string · dateend_date
string | null · datefrequency
integer | nullfrequency_type
string | null · enumEnum values:dayweekmonthquarteryearreference
string | nullcancelled_at
string | null · date-timeproduct_id
string | integer · pattern:^\d+$
A unique record identifier
product
objectcontact_id
string | integer · pattern:^\d+$
A unique record identifier
contact
objectcontact_person_id
string | integer | null · pattern:^\d+$
A unique record identifier
contact_person
subscription_products
object[]recurring_sales_invoice_id
string | integer | null · pattern:^\d+$
A unique record identifier
Cancel a subscription
Cancels the subscription. Stops the recurring sales invoice for the contact. Optionally
you can provide an end_date
to stop the subscription on a future date.
path Parameters
administration_id
string | integer · pattern:^\d+$
· requiredThe unique identifier of the administration
A unique record identifier of an administration
id
string | integer · pattern:^\d+$
· requiredA unique record identifier
format
string · pattern:^(.(json|xml))?$
· requiredThe format in which the response is given, can be empty to use the default format
Default: .json
Responses
Subscription cancelled
id
string | integer · pattern:^\d+$
A unique record identifier
administration_id
string | integer · pattern:^\d+$
A unique record identifier of an administration
start_date
string · dateend_date
string | null · datefrequency
integer | nullfrequency_type
string | null · enumEnum values:dayweekmonthquarteryearreference
string | nullcancelled_at
string | null · date-timeproduct_id
string | integer · pattern:^\d+$
A unique record identifier
product
objectcontact_id
string | integer · pattern:^\d+$
A unique record identifier
contact
objectcontact_person_id
string | integer | null · pattern:^\d+$
A unique record identifier
contact_person
subscription_products
object[]recurring_sales_invoice_id
string | integer | null · pattern:^\d+$
A unique record identifier
Update a subscription
Updates the product the contact is subscribed to. This will automatically calculate the differences between the product prices and create a one off sales invoice to bill the extra charge for the remaining billing period.
Optionally you can provide a start date for the product change to become active.
path Parameters
administration_id
string | integer · pattern:^\d+$
· requiredThe unique identifier of the administration
A unique record identifier of an administration
id
string | integer · pattern:^\d+$
· requiredA unique record identifier
format
string · pattern:^(.(json|xml))?$
· requiredThe format in which the response is given, can be empty to use the default format
Default: .json
Responses
Subscription updated
id
string | integer · pattern:^\d+$
A unique record identifier
administration_id
string | integer · pattern:^\d+$
A unique record identifier of an administration
start_date
string · dateend_date
string | null · datefrequency
integer | nullfrequency_type
string | null · enumEnum values:dayweekmonthquarteryearreference
string | nullcancelled_at
string | null · date-timeproduct_id
string | integer · pattern:^\d+$
A unique record identifier
product
objectcontact_id
string | integer · pattern:^\d+$
A unique record identifier
contact
objectcontact_person_id
string | integer | null · pattern:^\d+$
A unique record identifier
contact_person
subscription_products
object[]recurring_sales_invoice_id
string | integer | null · pattern:^\d+$
A unique record identifier
List all subscriptions
Lists all subscriptions for the given contact.
path Parameters
administration_id
string | integer · pattern:^\d+$
· requiredThe unique identifier of the administration
A unique record identifier of an administration
format
string · pattern:^(.(json|xml))?$
· requiredThe format in which the response is given, can be empty to use the default format
Default: .json
query Parameters
contact_id
string | integer · pattern:^\d+$
· requiredA unique record identifier
Responses
A list of subscriptions
id
string | integer · pattern:^\d+$
A unique record identifier
administration_id
string | integer · pattern:^\d+$
A unique record identifier of an administration
start_date
string · dateend_date
string | null · datefrequency
integer | nullfrequency_type
string | null · enumEnum values:dayweekmonthquarteryearreference
string | nullcancelled_at
string | null · date-timeproduct_id
string | integer · pattern:^\d+$
A unique record identifier
product
objectcontact_id
string | integer · pattern:^\d+$
A unique record identifier
contact
objectcontact_person_id
string | integer | null · pattern:^\d+$
A unique record identifier
contact_person
subscription_products
object[]recurring_sales_invoice_id
string | integer | null · pattern:^\d+$
A unique record identifier
Create a new subscription
Starts a new subscription for the given contact. The product_id
points to a product with a frequency, price and description.
A recurring sales invoice is automatically created to bill the contact for the given frequency. The first invoice will be sent on the
start date, but no sooner than tomorrow. The reference
will be added to the sales invoices.
Optionally you can create a subscription with a different frequency than stored in the product. Make sure the frequency of the product and the provided frequency are compatible. E.g. you can bill a monthly product yearly.
path Parameters
administration_id
string | integer · pattern:^\d+$
· requiredThe unique identifier of the administration
A unique record identifier of an administration
format
string · pattern:^(.(json|xml))?$
· requiredThe format in which the response is given, can be empty to use the default format
Default: .json
Responses
Subscription created
id
string | integer · pattern:^\d+$
A unique record identifier
administration_id
string | integer · pattern:^\d+$
A unique record identifier of an administration
start_date
string · dateend_date
string | null · datefrequency
integer | nullfrequency_type
string | null · enumEnum values:dayweekmonthquarteryearreference
string | nullcancelled_at
string | null · date-timeproduct_id
string | integer · pattern:^\d+$
A unique record identifier
product
objectcontact_id
string | integer · pattern:^\d+$
A unique record identifier
contact
objectcontact_person_id
string | integer | null · pattern:^\d+$
A unique record identifier
contact_person
subscription_products
object[]recurring_sales_invoice_id
string | integer | null · pattern:^\d+$
A unique record identifier