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+$· required- The unique identifier of the administration - A unique record identifier of an administration 
- idstring | integer · pattern:- ^\d+$· required- A unique record identifier 
- formatstring · pattern:- ^(.(json|xml))?$· required- The format in which the response is given, can be empty to use the default format Default: .json
query Parameters
- include_billedboolean | string- If 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 | null
- pricestring
- periodstring · 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+$· required- The unique identifier of the administration - A unique record identifier of an administration 
- idstring | integer · pattern:- ^\d+$· required- A unique record identifier 
- formatstring · pattern:- ^(.(json|xml))?$· required- The 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 | null
- pricestring
- periodstring · 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+$· required- The unique identifier of the administration - A unique record identifier of an administration 
- idstring | integer · pattern:- ^\d+$· required- A unique record identifier 
- formatstring · pattern:- ^(.(json|xml))?$· required- The 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 
- contactobject
- contact_person_idstring | integer | null · pattern:- ^\d+$- A unique record identifier 
- contact_person
- invoice_idstring | null
- recurring_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 | null
- statestring · enumEnum values:draftscheduledopenpending_paymentremindedlatepaiduncollectible
- invoice_datestring | null · date
- due_datestring · date
- payment_conditionsstring | null
- payment_referencestring | null
- short_payment_referencestring | null
- referencestring | null
- languagestring | null
- currencystring
- discountstring | null
- original_sales_invoice_idstring | integer | null · pattern:- ^\d+$- A unique record identifier 
- pausedboolean
- paid_atstring | null · date
- sent_atstring | null · date
- created_atstring · date-time
- updated_atstring · date-time
- public_view_codestring | null
- public_view_code_expires_atstring | null · date-time
- versioninteger
- detailsobject[]
- paymentsobject[]
- total_paidstring
- total_unpaidstring
- total_unpaid_basestring
- prices_are_incl_taxboolean
- total_price_excl_taxstring
- total_price_excl_tax_basestring
- total_price_incl_taxstring
- total_price_incl_tax_basestring
- total_discountstring
- marked_dubious_onstring | null · date
- marked_uncollectible_onstring | null · date
- reminder_countinteger | null
- next_reminderstring | null · date
- original_estimate_idstring | integer | null · pattern:- ^\d+$- A unique record identifier 
- urlstring
- payment_urlstring
- custom_fieldsobject[]
- notesobject[]
- attachmentsobject[]
- eventsobject[]
- tax_totalsobject[]
- time_entriesobject[]
Get subscription
Get a subscription.
path Parameters
- administration_idstring | integer · pattern:- ^\d+$· required- The unique identifier of the administration - A unique record identifier of an administration 
- idstring | integer · pattern:- ^\d+$· required- A unique record identifier 
- formatstring · pattern:- ^(.(json|xml))?$· required- The 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 · date
- end_datestring | null · date
- frequencyinteger | null
- frequency_typestring | null · enumEnum values:dayweekmonthquarteryear
- referencestring | null
- cancelled_atstring | null · date-time
- product_idstring | integer · pattern:- ^\d+$- A unique record identifier 
- productobject
- contact_idstring | integer · pattern:- ^\d+$- A unique record identifier 
- contactobject
- contact_person_idstring | integer | null · pattern:- ^\d+$- A unique record identifier 
- contact_person
- subscription_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+$· required- The unique identifier of the administration - A unique record identifier of an administration 
- idstring | integer · pattern:- ^\d+$· required- A unique record identifier 
- formatstring · pattern:- ^(.(json|xml))?$· required- The 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 · date
- end_datestring | null · date
- frequencyinteger | null
- frequency_typestring | null · enumEnum values:dayweekmonthquarteryear
- referencestring | null
- cancelled_atstring | null · date-time
- product_idstring | integer · pattern:- ^\d+$- A unique record identifier 
- productobject
- contact_idstring | integer · pattern:- ^\d+$- A unique record identifier 
- contactobject
- contact_person_idstring | integer | null · pattern:- ^\d+$- A unique record identifier 
- contact_person
- subscription_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+$· required- The unique identifier of the administration - A unique record identifier of an administration 
- idstring | integer · pattern:- ^\d+$· required- A unique record identifier 
- formatstring · pattern:- ^(.(json|xml))?$· required- The 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 · date
- end_datestring | null · date
- frequencyinteger | null
- frequency_typestring | null · enumEnum values:dayweekmonthquarteryear
- referencestring | null
- cancelled_atstring | null · date-time
- product_idstring | integer · pattern:- ^\d+$- A unique record identifier 
- productobject
- contact_idstring | integer · pattern:- ^\d+$- A unique record identifier 
- contactobject
- contact_person_idstring | integer | null · pattern:- ^\d+$- A unique record identifier 
- contact_person
- subscription_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+$· required- The unique identifier of the administration - A unique record identifier of an administration 
- formatstring · pattern:- ^(.(json|xml))?$· required- The format in which the response is given, can be empty to use the default format Default: .json
query Parameters
- contact_idstring | integer · pattern:- ^\d+$· required- A 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 · date
- end_datestring | null · date
- frequencyinteger | null
- frequency_typestring | null · enumEnum values:dayweekmonthquarteryear
- referencestring | null
- cancelled_atstring | null · date-time
- product_idstring | integer · pattern:- ^\d+$- A unique record identifier 
- productobject
- contact_idstring | integer · pattern:- ^\d+$- A unique record identifier 
- contactobject
- contact_person_idstring | integer | null · pattern:- ^\d+$- A unique record identifier 
- contact_person
- subscription_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+$· required- The unique identifier of the administration - A unique record identifier of an administration 
- formatstring · pattern:- ^(.(json|xml))?$· required- The 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 · date
- end_datestring | null · date
- frequencyinteger | null
- frequency_typestring | null · enumEnum values:dayweekmonthquarteryear
- referencestring | null
- cancelled_atstring | null · date-time
- product_idstring | integer · pattern:- ^\d+$- A unique record identifier 
- productobject
- contact_idstring | integer · pattern:- ^\d+$- A unique record identifier 
- contactobject
- contact_person_idstring | integer | null · pattern:- ^\d+$- A unique record identifier 
- contact_person
- subscription_productsobject[]
- recurring_sales_invoice_idstring | integer | null · pattern:- ^\d+$- A unique record identifier