How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Spree Commerce Promotions API

The Promotions API from Spree Commerce — 11 operation(s) for promotions.

Spree Commerce Promotions API is one of 183 APIs that Spree Commerce publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Promotions. The published artifact set on APIs.io includes an OpenAPI specification and API documentation.

This API exposes 20 operations across 11 paths, and defines 13 schemas. It is described by OpenAPI 3.2.0, at version 1.0.

Requests are made against a single base URL, http://{defaultHost}.

20 operations 11 paths 13 schemas 4 DELETE9 GET3 PATCH4 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
1.0
Base URL
https://demo.spreecommerce.org
Authentication
API Key, HTTP Bearer
Resource Areas
1

Authentication & Security 2

Spree Commerce Promotions API declares 2 security schemes for authenticating requests. An API key is passed in the header as x-spree-api-key (api_key). It accepts HTTP bearer tokens (JWT) (bearer_auth).

  • api_key — Secret API key for admin access
  • bearer_auth — JWT token for admin user authentication

Paths & Operations 20

Across 11 paths, the API surfaces 20 operations — 4 DELETE, 9 GET, 3 PATCH, 4 POST. Each is listed below with its method, path, parameters, and response codes.

Promotions 20
GET
/api/v3/admin/promotions/{promotion_id}/coupon_codes
List coupon codes for a promotion
3 params → 200
GET
/api/v3/admin/promotions/{promotion_id}/promotion_actions
List actions for a promotion
3 params → 200
POST
/api/v3/admin/promotions/{promotion_id}/promotion_actions
Create an action on a promotion
3 params body → 201422
DELETE
/api/v3/admin/promotions/{promotion_id}/promotion_actions/{id}
Delete an action from a promotion
4 params → 204
GET
/api/v3/admin/promotions/{promotion_id}/promotion_rules
List rules for a promotion
3 params → 200
POST
/api/v3/admin/promotions/{promotion_id}/promotion_rules
Create a rule on a promotion
3 params body → 201422
PATCH
/api/v3/admin/promotions/{promotion_id}/promotion_rules/{id}
Update a rule's preferences
4 params body → 200
DELETE
/api/v3/admin/promotions/{promotion_id}/promotion_rules/{id}
Delete a rule from a promotion
4 params → 204
GET
/api/v3/admin/promotions
List promotions
2 params → 200
POST
/api/v3/admin/promotions
Create a promotion
2 params body → 201422
GET
/api/v3/admin/promotions/{id}
Show a promotion
3 params → 200
PATCH
/api/v3/admin/promotions/{id}
Update a promotion
3 params body → 200
DELETE
/api/v3/admin/promotions/{id}
Delete a promotion
3 params → 204
GET
/api/v3/admin/promotion_actions/types
List available promotion action types
2 params → 200
GET
/api/v3/admin/promotion_rules/types
List available promotion rule types
2 params → 200
GET
/api/v2/platform/promotions
Return a list of Promotions
promotions-list 5 params → 200401
POST
/api/v2/platform/promotions
Create a Promotion
create-promotion 1 param body → 201422
GET
/api/v2/platform/promotions/{id}
Return a Promotion
show-promotion 2 params → 200404401
PATCH
/api/v2/platform/promotions/{id}
Update a Promotion
update-promotion 2 params body → 200422404401
DELETE
/api/v2/platform/promotions/{id}
Delete a Promotion
delete-promotion 1 param → 204404401

Schemas 13

The contract defines 13 schemas that model the data the API accepts and returns. The most detailed are resource_properties (4 properties), resources_list (3 properties), validation_errors (2 properties), resource (1 property). Each schema is shown below with its type and property counts.

update_promotion_add_action_params
object
1 property 1 required
create_promotion_params
object
1 property 1 required
update_promotion_update_rule_params
object
1 property 1 required
update_promotion_add_rule_params
object
1 property 1 required
resource_properties
object
4 properties 3 required
resources_list
object
3 properties 3 required
update_promotion_change_calculator_params
object
1 property 1 required
update_promotion_change_action_params
object
1 property 1 required
validation_errors
object
2 properties 2 required
resource
object
1 property 1 required
update_promotion_params
object
1 property 1 required
error
object
1 property 1 required
update_promotion_action_calculator_params
object
1 property 1 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

spree-commerce-promotions-api-openapi.yml Raw ↑

Other APIs Spree Commerce publishes across the network.

Spree Webhooks
@spree/sdk (TypeScript Store API SDK)
@spree/admin-sdk (TypeScript Admin API SDK)
@spree/cli
create-spree-app
Spree Next.js Storefront
Spree Rails Storefront
spree-starter (Application Template)
spree-multi-store
Spree Stripe Integration
Spree Adyen Integration
Spree PayPal Checkout Integration
Where this information came from

This is an independent, third-party profile of Spree Commerce Promotions API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.