Skip to main content
GET
/
api
/
v3
/
admin
/
promotions
Spree Admin SDK
import { createAdminClient } from '@spree/admin-sdk'

const client = createAdminClient({
  baseUrl: 'https://your-store.com',
  secretKey: 'sk_xxx',
})

const { data: promotions } = await client.promotions.list()
{
  "data": [
    {
      "id": "promo_UkLWZg9DAJ",
      "name": "Summer Sale",
      "description": null,
      "code": "summer",
      "starts_at": "2026-06-17T13:37:49.636Z",
      "expires_at": null,
      "usage_limit": null,
      "match_policy": "all",
      "path": null,
      "kind": "coupon_code",
      "multi_codes": false,
      "number_of_codes": null,
      "code_prefix": null,
      "promotion_category_id": null,
      "metadata": {},
      "created_at": "2026-06-17T13:37:49.637Z",
      "updated_at": "2026-06-17T13:37:49.638Z",
      "action_ids": [],
      "rule_ids": []
    }
  ],
  "meta": {
    "page": 1,
    "limit": 25,
    "count": 1,
    "pages": 1,
    "from": 1,
    "to": 1,
    "in": 1,
    "previous": null,
    "next": null
  }
}

Authorizations

x-spree-api-key
string
header
required

Secret API key for admin access

Authorization
string
header
required

JWT token for admin user authentication

Headers

x-spree-api-key
string
required
Authorization
string
required

Response

200 - application/json

promotions found