Bulk-provision stores into a tier
Overview
Moves up to 1,000 stores into one tier in a single call. Safe to re-run: sending the same list again moves nothing further, so a retry after a timeout does not double-charge. Stores outside your partner account are skipped rather than rejected — read skipped_out_of_scope in the response.
Prerequisites
- A bearer token in the
Authorizationheader.
Base URL
| Environment | URL |
|---|---|
| Production | https://production-api.shoutaboutus.com |
| Development | https://development-api.shoutaboutus.com |
Endpoint
POST /api/v1/partner/provisioning/bulk
Authentication
-
Requires a bearer token in the
Authorization: Bearer <bearer-token>header. -
Bearer — partner token. The platform resolves the partner account your user belongs to, and only stores under that account can be moved.
Rate limit
- No rate limit.
Request body
| Field | Type | Required | Description |
|---|---|---|---|
tier | string | Required | One of core, mgmt, plus, dormant. Ask your account manager which value matches each subscription. |
store_ids | integer[] | Required | 1–1000 store ids. |
store_ids.* | integer | Required | Each entry must be an integer. |
{
"tier": "mgmt",
"store_ids": [
123,
27
]
}How it works
- 200 with
{ provisioned, skipped_out_of_scope }(arrays of store ids). Safe to re-run: repeating the call for a store already on the target tier clears onlycancel_subscription_atmarker. - 400 unknown tier slug · 403 partner scope unresolvable · 422 validation (missing tier /
store_ids).
Response
200 OK · 200
200{
"data": {
"provisioned": [
26,
27
],
"skipped_out_of_scope": [
99
]
}
}403 Forbidden · 403
403{
"message": "Partner scope could not be resolved for this user.",
"status": "error",
"errors": {}
}422 Unprocessable Entity · 422
422{
"message": "The tier field is required.",
"errors": {
"tier": [
"The tier field is required."
],
"store_ids": [
"The store ids field is required."
]
}
}Errors
| Status | Meaning |
|---|---|
400 | The request was rejected — the response explains why |
401 | The bearer token is missing, expired or invalid |
403 | Forbidden |
422 | Unprocessable Entity |
500 | Unexpected server error |
Example request
curl --request POST \
--url "https://production-api.shoutaboutus.com/api/v1/partner/provisioning/bulk" \
--header 'Authorization: Bearer <bearer-token>' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"tier": "mgmt", "store_ids": [123, 27]}'Updated 9 days ago
Did this page help you?
