API versioning overview
Marmin uses a request header to control which API contract applies to each call.
Send `X-MARMIN-VERSION` on every request. Use the same value for all calls in a single workflow (for example, create an invoice, then check its status).
Available versions
Choosing a version
We recommend always sending the header. This way you control which contract applies, regardless of your account default.
Current / stable contract:
X-MARMIN-VERSION: 20260101Latest contract:
X-MARMIN-VERSION: 20260507— test in sandbox before using in production.
If you omit the header, Marmin uses your organization's default version. Most accounts default to 20260101. If you are unsure, set the header explicitly or contact support@marmin.ai.
Examples
Baseline contract:
POST /api/sales-invoices/{business_profile_id}
Authorization: Bearer <access_token>
Content-Type: application/json
X-MARMIN-VERSION: 20260101Latest contract:
POST /api/sales-invoices/{business_profile_id}
Authorization: Bearer <access_token>
Content-Type: application/json
X-MARMIN-VERSION: 20260507Invalid values
The version must be a date in YYYYMMDD format (for example, 20260101). An invalid value returns 400 Bad Request.
