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

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

const action = await client.promotions.actions.create('promo_UkLWZg9DAJ', {
  type: 'free_shipping',
})
{
  "id": "pact_UkLWZg9DAJ",
  "created_at": "2026-05-24T17:37:39.979Z",
  "updated_at": "2026-05-24T17:37:39.979Z",
  "type": "free_shipping",
  "promotion_id": "promo_UkLWZg9DAJ",
  "preferences": {},
  "preference_schema": [],
  "label": "Free shipping",
  "calculator": null,
  "line_items": null
}

Documentation Index

Fetch the complete documentation index at: https://spreecommerce.org/docs/llms.txt

Use this file to discover all available pages before exploring further.

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

Path Parameters

promotion_id
string
required

Body

application/json
type
string
required
Example:

"free_shipping"

preferences
object

Response

action created