Provision a single store into a tier

Overview

Moves one store to any tier, including dormant. The change takes effect immediately. The endpoint cancels the store's current plan and the new one starts straight away. There is no partial refund or charge for the unused part of the period.

Prerequisites

  • A bearer token in the Authorization header.
  • The storeId of the record you are targeting.

Base URL

EnvironmentURL
Productionhttps://production-api.shoutaboutus.com
Developmenthttps://development-api.shoutaboutus.com

Endpoint

POST /api/v1/partner/provisioning/store/{storeId}

Authentication

  • Requires a bearer token in the Authorization: Bearer <bearer-token> header.

  • Bearer — partner token. The store must belong to an account underneath your own partner account, otherwise the call returns 403 Forbidden.

Rate limit

  • No rate limit.

Path parameters

ParameterTypeRequiredDescription
storeIdintegerRequiredDigits only.

Request body

FieldTypeRequiredDescription
tierstringRequiredOne of core, mgmt, plus, dormant. Ask your account manager which value matches each subscription.
{
  "tier": "plus"
}

How it works

  • 200 with { store_id, tier, plan_id, plan_start }.
  • 400 unknown tier · 403 store out of scope / partner unresolvable · 404 store not found · 422 validation.

Response

200 OK · 200

{
  "data": {
    "store_id": 26,
    "tier": "plus",
    "plan_id": 7,
    "plan_start": "2026-07-09T10:00:00.000000Z"
  }
}

403 Forbidden · 403

{
  "message": "This store is outside your partner scope.",
  "status": "error",
  "errors": {}
}

404 Not Found · 404

{
  "message": "Store not found.",
  "status": "error",
  "errors": {}
}

422 Unprocessable Entity · 422

{
  "message": "The selected tier is invalid.",
  "errors": {
    "tier": [
      "The selected tier is invalid."
    ]
  }
}

Errors

StatusMeaning
400The request was rejected — the response explains why
401The bearer token is missing, expired or invalid
403Forbidden
404Not Found
422Unprocessable Entity
500Unexpected server error

Example request

curl --request POST \
  --url "https://production-api.shoutaboutus.com/api/v1/partner/provisioning/store/123" \
  --header 'Authorization: Bearer <bearer-token>' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{"tier": "plus"}'

Did this page help you?