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_idstring | integer · pattern:^\d+$· requiredThe unique identifier of the administration
A unique record identifier of an administration
idstring | integer · pattern:^\d+$· requiredA unique record identifier
formatstring · pattern:^(.(json|xml))?$· requiredThe format in which the response is given, can be empty to use the default format
Default: .json
query Parameters
include_billedboolean | stringIf true, includes the additional charges that have already been billed. Default is false.
Responses
A subscription additional charge
idstring | integer · pattern:^\d+$A unique record identifier
administration_idstring | integer · pattern:^\d+$A unique record identifier of an administration
contact_idstring | integer | null · pattern:^\d+$A unique record identifier
subscription_idstring | integer | null · pattern:^\d+$A unique record identifier
product_idstring | integer · pattern:^\d+$A unique record identifier
detail_idstring | integer | null · pattern:^\d+$A unique record identifier
amountstring | nullpricestringperiodstring · pattern:^[0-9]{6}..[0-9]{6}$descriptionstring
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_idstring | integer · pattern:^\d+$· requiredThe unique identifier of the administration
A unique record identifier of an administration
idstring | integer · pattern:^\d+$· requiredA unique record identifier
formatstring · 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
idstring | integer · pattern:^\d+$A unique record identifier
administration_idstring | integer · pattern:^\d+$A unique record identifier of an administration
contact_idstring | integer | null · pattern:^\d+$A unique record identifier
subscription_idstring | integer | null · pattern:^\d+$A unique record identifier
product_idstring | integer · pattern:^\d+$A unique record identifier
detail_idstring | integer | null · pattern:^\d+$A unique record identifier
amountstring | nullpricestringperiodstring · pattern:^[0-9]{6}..[0-9]{6}$descriptionstring
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_idstring | integer · pattern:^\d+$· requiredThe unique identifier of the administration
A unique record identifier of an administration
idstring | integer · pattern:^\d+$· requiredA unique record identifier
formatstring · 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
idstring | integer · pattern:^\d+$A unique record identifier
administration_idstring | integer · pattern:^\d+$A unique record identifier of an administration
contact_idstring | integer · pattern:^\d+$A unique record identifier
contactobjectcontact_person_idstring | integer | null · pattern:^\d+$A unique record identifier
contact_personinvoice_idstring | nullrecurring_sales_invoice_idstring | integer | null · pattern:^\d+$A unique record identifier
subscription_idstring | integer | null · pattern:^\d+$A unique record identifier
workflow_idstring | integer · pattern:^\d+$A unique record identifier
document_style_idstring | integer · pattern:^\d+$A unique record identifier
identity_idstring | integer · pattern:^\d+$A unique record identifier
draft_idinteger | nullstatestring · enumEnum values:draftscheduledopenpending_paymentremindedlatepaiduncollectibleinvoice_datestring | null · datedue_datestring · datepayment_conditionsstring | nullpayment_referencestring | nullshort_payment_referencestring | nullreferencestring | nulllanguagestring | nullcurrencystringdiscountstring | nulloriginal_sales_invoice_idstring | integer | null · pattern:^\d+$A unique record identifier
pausedbooleanpaid_atstring | null · datesent_atstring | null · datecreated_atstring · date-timeupdated_atstring · date-timepublic_view_codestring | nullpublic_view_code_expires_atstring | null · date-timeversionintegerdetailsobject[]paymentsobject[]total_paidstringtotal_unpaidstringtotal_unpaid_basestringprices_are_incl_taxbooleantotal_price_excl_taxstringtotal_price_excl_tax_basestringtotal_price_incl_taxstringtotal_price_incl_tax_basestringtotal_discountstringmarked_dubious_onstring | null · datemarked_uncollectible_onstring | null · datereminder_countinteger | nullnext_reminderstring | null · dateoriginal_estimate_idstring | integer | null · pattern:^\d+$A unique record identifier
urlstringpayment_urlstringcustom_fieldsobject[]notesobject[]attachmentsobject[]eventsobject[]tax_totalsobject[]time_entriesobject[]
Get subscription
Get a subscription.
path Parameters
administration_idstring | integer · pattern:^\d+$· requiredThe unique identifier of the administration
A unique record identifier of an administration
idstring | integer · pattern:^\d+$· requiredA unique record identifier
formatstring · pattern:^(.(json|xml))?$· requiredThe format in which the response is given, can be empty to use the default format
Default: .json
Responses
A subscription
idstring | integer · pattern:^\d+$A unique record identifier
administration_idstring | integer · pattern:^\d+$A unique record identifier of an administration
start_datestring · dateend_datestring | null · datefrequencyinteger | nullfrequency_typestring | null · enumEnum values:dayweekmonthquarteryearreferencestring | nullcancelled_atstring | null · date-timeproduct_idstring | integer · pattern:^\d+$A unique record identifier
productobjectcontact_idstring | integer · pattern:^\d+$A unique record identifier
contactobjectcontact_person_idstring | integer | null · pattern:^\d+$A unique record identifier
contact_personsubscription_productsobject[]recurring_sales_invoice_idstring | 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_idstring | integer · pattern:^\d+$· requiredThe unique identifier of the administration
A unique record identifier of an administration
idstring | integer · pattern:^\d+$· requiredA unique record identifier
formatstring · pattern:^(.(json|xml))?$· requiredThe format in which the response is given, can be empty to use the default format
Default: .json
Responses
Subscription cancelled
idstring | integer · pattern:^\d+$A unique record identifier
administration_idstring | integer · pattern:^\d+$A unique record identifier of an administration
start_datestring · dateend_datestring | null · datefrequencyinteger | nullfrequency_typestring | null · enumEnum values:dayweekmonthquarteryearreferencestring | nullcancelled_atstring | null · date-timeproduct_idstring | integer · pattern:^\d+$A unique record identifier
productobjectcontact_idstring | integer · pattern:^\d+$A unique record identifier
contactobjectcontact_person_idstring | integer | null · pattern:^\d+$A unique record identifier
contact_personsubscription_productsobject[]recurring_sales_invoice_idstring | 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_idstring | integer · pattern:^\d+$· requiredThe unique identifier of the administration
A unique record identifier of an administration
idstring | integer · pattern:^\d+$· requiredA unique record identifier
formatstring · pattern:^(.(json|xml))?$· requiredThe format in which the response is given, can be empty to use the default format
Default: .json
Responses
Subscription updated
idstring | integer · pattern:^\d+$A unique record identifier
administration_idstring | integer · pattern:^\d+$A unique record identifier of an administration
start_datestring · dateend_datestring | null · datefrequencyinteger | nullfrequency_typestring | null · enumEnum values:dayweekmonthquarteryearreferencestring | nullcancelled_atstring | null · date-timeproduct_idstring | integer · pattern:^\d+$A unique record identifier
productobjectcontact_idstring | integer · pattern:^\d+$A unique record identifier
contactobjectcontact_person_idstring | integer | null · pattern:^\d+$A unique record identifier
contact_personsubscription_productsobject[]recurring_sales_invoice_idstring | integer | null · pattern:^\d+$A unique record identifier
List all subscriptions
Lists all subscriptions for the given contact.
path Parameters
administration_idstring | integer · pattern:^\d+$· requiredThe unique identifier of the administration
A unique record identifier of an administration
formatstring · pattern:^(.(json|xml))?$· requiredThe format in which the response is given, can be empty to use the default format
Default: .json
query Parameters
contact_idstring | integer · pattern:^\d+$· requiredA unique record identifier
Responses
A list of subscriptions
idstring | integer · pattern:^\d+$A unique record identifier
administration_idstring | integer · pattern:^\d+$A unique record identifier of an administration
start_datestring · dateend_datestring | null · datefrequencyinteger | nullfrequency_typestring | null · enumEnum values:dayweekmonthquarteryearreferencestring | nullcancelled_atstring | null · date-timeproduct_idstring | integer · pattern:^\d+$A unique record identifier
productobjectcontact_idstring | integer · pattern:^\d+$A unique record identifier
contactobjectcontact_person_idstring | integer | null · pattern:^\d+$A unique record identifier
contact_personsubscription_productsobject[]recurring_sales_invoice_idstring | 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_idstring | integer · pattern:^\d+$· requiredThe unique identifier of the administration
A unique record identifier of an administration
formatstring · pattern:^(.(json|xml))?$· requiredThe format in which the response is given, can be empty to use the default format
Default: .json
Responses
Subscription created
idstring | integer · pattern:^\d+$A unique record identifier
administration_idstring | integer · pattern:^\d+$A unique record identifier of an administration
start_datestring · dateend_datestring | null · datefrequencyinteger | nullfrequency_typestring | null · enumEnum values:dayweekmonthquarteryearreferencestring | nullcancelled_atstring | null · date-timeproduct_idstring | integer · pattern:^\d+$A unique record identifier
productobjectcontact_idstring | integer · pattern:^\d+$A unique record identifier
contactobjectcontact_person_idstring | integer | null · pattern:^\d+$A unique record identifier
contact_personsubscription_productsobject[]recurring_sales_invoice_idstring | integer | null · pattern:^\d+$A unique record identifier