Invoices and price quotes the site issues for orders and subscriptions, generated from the invoice settings (business details, taxes, numbering).
Endpoints that need a token: the site owner creates it in their admin (Developers > API reference). AI assistants: how to ask the user for one.
19 endpoints in 5 parts: Invoice, Invoice Settings, Nra Audit, Recurring Invoice, AI builder.
Return boolean if invoice sequence can be alteerd.
Needs a site admin token.
curl -X GET 'http://multibeton-bulgaria.com/can_alter_invoice_sequence?ionic=true' \ -H 'Authorization: Bearer <TOKEN>'
{
"stripeNumber": "example",
"is_credit_note": false,
"credit_note_invoice_number": "Text shown on the site.",
"credit_note_invoice_date": "Text shown on the site.",
"is_debit_note": false,
"debit_note_invoice_number": "Text shown on the site.",
"debit_note_invoice_date": "Text shown on the site.",
"number": 1,
"stripeInvoiceId": "example",
"has_price_quote": false,
"customer_name": "Example",
"customer_address": "example",
"customer_postal_code": "example",
"customer_city": "example",
"customer_country": "example",
"customer_phone": "+359 888 123 456",
"customer_email": "jane@example.com",
"customer_tax_id": "example",
"customer_vat_id": "example",
"customer_responsible_official": "example",
"customer_organization_name": "Example",
"billing_customer_address": "example",
"billing_customer_postal_code": "example",
"billing_customer_city": "example",
"invoice_settings": {
"number": 0,
"price_quote_number": "example",
"bic": "example",
"swift": "example",
"tax_id": "example",
"vat_id": "example",
"logo": "example",
"business_name": "Example",
"business_name_translated": "Example",
"responsible_official": "example",
"responsible_official_translated": "example",
"business_email": "jane@example.com"
}
}Download invoice.
Public - no token needed.
The ID of the download invoice.
The download invoice's translate.
The download invoice's filename.
curl -X GET 'http://multibeton-bulgaria.com/download-invoice/{id}/{translate}/{filename}?ionic=true'Delete Invoicerecord by id.
Needs a site admin token.
The ID of the invoice.
Returns an empty answer on success.
curl -X DELETE 'http://multibeton-bulgaria.com/invoices/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'Returns the site's invoice settings, newest first unless a sort is given.
Needs a site admin token.
Returns a list of InvoiceSettings objects.
curl -X GET 'http://multibeton-bulgaria.com/invoice-settings?ionic=true' \ -H 'Authorization: Bearer <TOKEN>'
[
{
"number": 1,
"price_quote_number": "example",
"bic": "example",
"swift": "example",
"tax_id": "example",
"vat_id": "example",
"logo": "6543210fedcba98765432100",
"business_name": "Example",
"business_name_translated": "Example",
"responsible_official": "example",
"responsible_official_translated": "example",
"business_email": "jane@example.com",
"company_id": "example",
"business_address": "example",
"business_address_translated": "example",
"business_phone_number": "+359 888 123 456",
"business_country": "example",
"business_country_translated": "example",
"footer": "example",
"footer_translated": "example",
"foreign_tax": 0,
"home_tax": 0,
"currency_symbol": "EUR",
"_id": "6543210fedcba98765432100"
}
]Create new Invoice Settings.
Needs a site admin token.
Returns the InvoiceSettings object.
curl -X POST 'http://multibeton-bulgaria.com/invoice-settings?ionic=true' \ -H 'Authorization: Bearer <TOKEN>'
{
"number": 1,
"price_quote_number": "example",
"bic": "example",
"swift": "example",
"tax_id": "example",
"vat_id": "example",
"logo": "6543210fedcba98765432100",
"business_name": "Example",
"business_name_translated": "Example",
"responsible_official": "example",
"responsible_official_translated": "example",
"business_email": "jane@example.com",
"company_id": "example",
"business_address": "example",
"business_address_translated": "example",
"business_phone_number": "+359 888 123 456",
"business_country": "example",
"business_country_translated": "example",
"footer": "example",
"footer_translated": "example",
"foreign_tax": 0,
"home_tax": 0,
"currency_symbol": "EUR",
"_id": "6543210fedcba98765432100"
}Returns one invoice setting, found by its ID.
Needs a site admin token.
The ID of the invoice setting.
Returns the InvoiceSettings object.
curl -X GET 'http://multibeton-bulgaria.com/invoice-settings/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"number": 1,
"price_quote_number": "example",
"bic": "example",
"swift": "example",
"tax_id": "example",
"vat_id": "example",
"logo": "6543210fedcba98765432100",
"business_name": "Example",
"business_name_translated": "Example",
"responsible_official": "example",
"responsible_official_translated": "example",
"business_email": "jane@example.com",
"company_id": "example",
"business_address": "example",
"business_address_translated": "example",
"business_phone_number": "+359 888 123 456",
"business_country": "example",
"business_country_translated": "example",
"footer": "example",
"footer_translated": "example",
"foreign_tax": 0,
"home_tax": 0,
"currency_symbol": "EUR",
"_id": "6543210fedcba98765432100"
}Update InvoiceSettings by id.
Needs a site admin token.
The ID of the invoice setting.
Returns the InvoiceSettings object.
curl -X PATCH 'http://multibeton-bulgaria.com/invoice-settings/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"number": 1,
"price_quote_number": "example",
"bic": "example",
"swift": "example",
"tax_id": "example",
"vat_id": "example",
"logo": "6543210fedcba98765432100",
"business_name": "Example",
"business_name_translated": "Example",
"responsible_official": "example",
"responsible_official_translated": "example",
"business_email": "jane@example.com",
"company_id": "example",
"business_address": "example",
"business_address_translated": "example",
"business_phone_number": "+359 888 123 456",
"business_country": "example",
"business_country_translated": "example",
"footer": "example",
"footer_translated": "example",
"foreign_tax": 0,
"home_tax": 0,
"currency_symbol": "EUR",
"_id": "6543210fedcba98765432100"
}The audit file itself, as a windows-1251 XML attachment.
Needs a site admin token.
Only NRA audit files with this month.
Only NRA audit files with this year.
curl -X GET 'http://multibeton-bulgaria.com/nra-audit-file?ionic=true&month=...&year=...' \ -H 'Authorization: Bearer <TOKEN>'
Dry run - what the file would contain, without producing it.
Needs a site admin token.
Only NRA audit summaries with this month.
Only NRA audit summaries with this year.
curl -X GET 'http://multibeton-bulgaria.com/nra-audit-summary?ionic=true&month=...&year=...' \ -H 'Authorization: Bearer <TOKEN>'
Current NRA audit-file settings, with the default payment map.
Needs a site admin token.
curl -X GET 'http://multibeton-bulgaria.com/nra-settings?ionic=true' \ -H 'Authorization: Bearer <TOKEN>'
Create or update the tenant's NRA audit-file settings.
Needs a site admin token.
curl -X POST 'http://multibeton-bulgaria.com/nra-settings?ionic=true' \ -H 'Authorization: Bearer <TOKEN>'
All recurring invoices, the next due first.
Needs a site admin token.
Returns a list of RecurringInvoice objects.
curl -X GET 'http://multibeton-bulgaria.com/recurring-invoices?ionic=true' \ -H 'Authorization: Bearer <TOKEN>'
[
{
"title": "Example",
"active": true,
"auto_send": false,
"interval_count": 1,
"interval_unit": "day",
"start_date": "2026-11-04T12:00:00.000Z",
"end_date": "2026-11-04T12:00:00.000Z",
"due_days": 0,
"next_run_at": "2026-11-04T12:00:00.000Z",
"customer_name": "Example",
"customer_address": "example",
"customer_postal_code": "example",
"customer_city": "example",
"customer_country": "example",
"customer_phone": "+359 888 123 456",
"customer_email": "jane@example.com",
"customer_tax_id": "example",
"customer_vat_id": "example",
"customer_responsible_official": "example",
"customer_organization_name": "Example",
"billing_customer_address": "example",
"billing_customer_postal_code": "example",
"billing_customer_city": "example",
"billing_customer_country": "example"
}
]Creates a recurring invoice from the fields sent. POST /recurring-invoices - create; its first run is the start date (or the next one after now).
Needs a site admin token.
Returns the RecurringInvoice object.
curl -X POST 'http://multibeton-bulgaria.com/recurring-invoices?ionic=true' \ -H 'Authorization: Bearer <TOKEN>'
{
"title": "Example",
"active": true,
"auto_send": false,
"interval_count": 1,
"interval_unit": "day",
"start_date": "2026-11-04T12:00:00.000Z",
"end_date": "2026-11-04T12:00:00.000Z",
"due_days": 0,
"next_run_at": "2026-11-04T12:00:00.000Z",
"customer_name": "Example",
"customer_address": "example",
"customer_postal_code": "example",
"customer_city": "example",
"customer_country": "example",
"customer_phone": "+359 888 123 456",
"customer_email": "jane@example.com",
"customer_tax_id": "example",
"customer_vat_id": "example",
"customer_responsible_official": "example",
"customer_organization_name": "Example",
"billing_customer_address": "example",
"billing_customer_postal_code": "example",
"billing_customer_city": "example",
"billing_customer_country": "example"
}Returns one recurring invoice, found by its ID. GET /recurring-invoices/:id
Needs a site admin token.
The ID of the recurring invoice.
Returns the RecurringInvoice object.
curl -X GET 'http://multibeton-bulgaria.com/recurring-invoices/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"title": "Example",
"active": true,
"auto_send": false,
"interval_count": 1,
"interval_unit": "day",
"start_date": "2026-11-04T12:00:00.000Z",
"end_date": "2026-11-04T12:00:00.000Z",
"due_days": 0,
"next_run_at": "2026-11-04T12:00:00.000Z",
"customer_name": "Example",
"customer_address": "example",
"customer_postal_code": "example",
"customer_city": "example",
"customer_country": "example",
"customer_phone": "+359 888 123 456",
"customer_email": "jane@example.com",
"customer_tax_id": "example",
"customer_vat_id": "example",
"customer_responsible_official": "example",
"customer_organization_name": "Example",
"billing_customer_address": "example",
"billing_customer_postal_code": "example",
"billing_customer_city": "example",
"billing_customer_country": "example"
}Changes the fields sent; the others stay as they are. PATCH /recurring-invoices/:id - a schedule change (or switching it on) reschedules it.
Needs a site admin token.
The ID of the recurring invoice.
Returns the RecurringInvoice object.
curl -X PATCH 'http://multibeton-bulgaria.com/recurring-invoices/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"title": "Example",
"active": true,
"auto_send": false,
"interval_count": 1,
"interval_unit": "day",
"start_date": "2026-11-04T12:00:00.000Z",
"end_date": "2026-11-04T12:00:00.000Z",
"due_days": 0,
"next_run_at": "2026-11-04T12:00:00.000Z",
"customer_name": "Example",
"customer_address": "example",
"customer_postal_code": "example",
"customer_city": "example",
"customer_country": "example",
"customer_phone": "+359 888 123 456",
"customer_email": "jane@example.com",
"customer_tax_id": "example",
"customer_vat_id": "example",
"customer_responsible_official": "example",
"customer_organization_name": "Example",
"billing_customer_address": "example",
"billing_customer_postal_code": "example",
"billing_customer_city": "example",
"billing_customer_country": "example"
}Deletes the recurring invoice. This cannot be undone. DELETE /recurring-invoices/:id - the quotes and invoices it already made stay.
Needs a site admin token.
The ID of the recurring invoice.
Returns an empty answer on success.
curl -X DELETE 'http://multibeton-bulgaria.com/recurring-invoices/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'Creates a recurring invoice from the fields sent. auto_send), outside the schedule, which it leaves as it is.
Needs a site admin token.
The ID of the recurring invoice.
Returns the RecurringInvoice object.
curl -X POST 'http://multibeton-bulgaria.com/recurring-invoices/{id}/run?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"title": "Example",
"active": true,
"auto_send": false,
"interval_count": 1,
"interval_unit": "day",
"start_date": "2026-11-04T12:00:00.000Z",
"end_date": "2026-11-04T12:00:00.000Z",
"due_days": 0,
"next_run_at": "2026-11-04T12:00:00.000Z",
"customer_name": "Example",
"customer_address": "example",
"customer_postal_code": "example",
"customer_city": "example",
"customer_country": "example",
"customer_phone": "+359 888 123 456",
"customer_email": "jane@example.com",
"customer_tax_id": "example",
"customer_vat_id": "example",
"customer_responsible_official": "example",
"customer_organization_name": "Example",
"billing_customer_address": "example",
"billing_customer_postal_code": "example",
"billing_customer_city": "example",
"billing_customer_country": "example"
}Use it to set up or update invoice document settings: legal business name, iban/swift for invoice PDFs, vat/tax ID, home/foreign tax rates, or invoice template field translations.
Needs the token of a signed-in user.
What the AI should do with the invoice setting, in plain words - any language.
The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.
curl -X POST 'http://multibeton-bulgaria.com/modify-invoice-settings?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "prompt": "...", "chatId": "..." }'Update an invoice setting from a prompt, written by the AI builder.
Needs the token of a signed-in user.
What the AI should do with the invoice setting, in plain words - any language.
The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.
Which version of the AI builder to use; leave it out for the current one.
The ID of the invoice setting to change.
curl -X POST 'http://multibeton-bulgaria.com/update-invoice-settings-ai?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "prompt": "...", "chatId": "...", "aiVersion": "...", "item_id": "..." }'{
"chat_id": "6543210fedcba98765432100",
"role": "user",
"text": "Text shown on the site.",
"target_url": "example-item",
"action": "RESPONSE",
"options": [
"example"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"gcs_url": "example-item",
"gemini_uri": "example",
"gemini_interaction_id": "example",
"_id": "6543210fedcba98765432100"
}
],
"products": [
"6543210fedcba98765432101"
],
"services": [
"6543210fedcba98765432101"
],
"blogposts": [
"6543210fedcba98765432101"
],
"programs": [
"6543210fedcba98765432101"
],
"suggestions": [
{
"text": "Text shown on the site.",
"route": "example",
"item_id": "6543210fedcba98765432100",
"medias": [],
"picture": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"is_system": false,
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z",
"data": {
"object": "example",
"object_type": "example",
"edit_summary": "example",
"edit_diff": "example",
"undo_record": "example",
"hero_animation_offer": "example",
"preview_state": "example",
"pending_credit_cost": 0,
"target_restore": "example",
"media_request": "example",
"item_request": "example",
"reference_request": "example"
}
}