API Reference
Documentation of the Shopimind API v1 REST endpoints: resources, request schemas, response codes, and runnable examples.
Documentation in beta
This reference is being finalized. Core resources (contacts, customers, orders, products, custom data) are already covered. Coming soon: external events, webhooks, official JavaScript & PHP SDKs, and a dedicated error codes page. If anything looks off or incomplete, please report it to your Shopimind contact.
Authentication
Every request requires a valid spm-api-key header. See the authentication page to generate your key.
Base URL
https://core.shopimind.com/v1The /v1 prefix is included in every path of this reference — all routes therefore start with /v1/... (e.g. /v1/customers, /v1/orders/{order_id}).
Conventions
Response shapes
The JSON envelope depends on the operation type. Three shapes are used:
Retrieve a single resource (GET /v1/{resource}/{id})
{
"statusCode": 200,
"data": { /* the requested object */ }
}Retrieve a list (GET /v1/{resource})
{
"statusCode": 200,
"data": [ /* array of objects */ ],
"meta": {
"pagination": {
"total_items": 100,
"items_per_page": 10,
"total_pages": 10,
"current_page": 1,
"offset": 0,
"has_previous_page": false,
"has_next_page": true,
"next_page": 2,
"previous_page": null
},
"generated_at": "2026-05-07T14:32:11.000Z"
}
}Bulk writes (POST / PUT / bulk-delete)
{
"statusCode": 200,
"sent_count": 18,
"rejected_count": 2,
"rejected_items": [ /* index, original payload, validation errors */ ]
}Rejected items do not interrupt the batch: only valid items are accepted. The actual processing is asynchronous — a 200 response confirms acceptance, not immediate read-after-write visibility.
Pagination, filtering, sorting, projection
Listing endpoints accept the standard limit, offset, filters, order, and fields query parameters. The fields parameter projects the resource — useful to keep response sizes tight when you only need a subset of attributes.
Idempotent deletes
delete* and bulkDelete* operations are idempotent: deleting an unknown identifier succeeds silently, without raising an error.
Versioning
The API is versioned via URL prefix (/v1). Any breaking change will introduce a new version (/v2, …); the current version remains supported during migration windows.
Available resources
Endpoints are grouped into four categories, accessible from the sidebar:
- Contacts and customers — Contacts, Customers, Customers groups, Lists, Contact consent history, Contact messages reject.
- Custom data — Custom data definitions, Custom data records.
- Orders — Orders, Carts, Orders carriers, Orders statuses, Vouchers.
- Products — Products, Products categories, Products manufacturers.
Every endpoint exposes its request schema, accepted parameters, possible response codes, and a runnable sample in cURL, Node.js, and PHP.