Sign Customiser

Identify the store your API key belongs to.

GET/api/v3/stores/me

Overview

Call this first: it confirms the key works, tells you which store you are operating on, whether the store runs on the shopify or universal platform, its current subscription plan, the ISO 4217 currency every price on the store is denominated in, the commerce integrations it has connected, and the scopes your key grants — so you know which operations are available before calling them. The operation is read-only, has no side effects, and is always safe to retry. Requires the store:read scope. Two of those fields are prerequisites for writing. Creating an order (POST/api/v3/orders) or an integration product (POST/api/v3/customisers/{customiser_id}/products) requires a currency equal to this store's and an integration_id naming an enabled integration of type custom that belongs to this store; this operation is where both values come from. A store whose currency is null has no valid three-letter currency configured and those writes fail with a 409 store_currency_unavailable until the merchant sets one in the merchant admin. A store with no enabled custom integration cannot create orders or integration products at all: the merchant connects one in the merchant admin under Integrate. Authenticate every request with a store API key sent as a bearer token (Authorization: Bearer <api key>); keys are created in the merchant admin under Integrate → API Tokens with a chosen set of scopes and an optional expiry. A 401 problem response means the key is missing, invalid, or expired — create or re-copy the key. A 403 problem response with code insufficient_scope means the key is valid but lacks a required scope: the problem's required_scopes and granted_scopes members say which scope is missing and what the key can do; create a key that includes the required scope. A 429 problem response means too many requests: wait retry_after seconds, then retry. Error responses use RFC 9457 problem+json: machine-readable code, a documentation link in type, and a request_id to quote when contacting support.

Authorisation

Bearer token required. Include it in theAuthorization header.

Required scope: store:read

Get the authenticated store
curl https://web.signcustomiser.com/api/v3/stores/me \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN'
Response
{
  "data": {
    "object": "store",
    "id": 1,
    "name": "Demo Signs",
    "platform": "universal",
    "plan": "starter",
    "currency": "GBP",
    "integrations": [
      {
        "object": "integration",
        "id": 17,
        "type": "custom",
        "name": "Warehouse bridge",
        "enabled": true
      },
      {
        "object": "integration",
        "id": 9,
        "type": "woocommerce",
        "name": "Old WooCommerce shop",
        "enabled": false
      }
    ],
    "scopes": [
      "store:read",
      "pricing:read",
      "pricing:write"
    ],
    "created_at": "2026-01-12T03:14:15Z"
  },
  "links": {
    "self": "https://web.signcustomiser.com/api/v3/stores/me",
    "documentation": "https://www.signcustomiser.com/help/api/"
  },
  "meta": {
    "api_version": "v3",
    "request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
  }
}