API Documentation
- Admin Api Keys
- Admin Campaigns
- Admin Claims
- Admin Collections
- Admin Currencies
- Admin Customer Groups
- Admin Customers
- Admin Draft Orders
- Admin Exchanges
- Admin Fulfillment Providers
- Admin Fulfillment Sets
- Admin Fulfillments
- Admin Gift Cards
- Admin Inventory Items
- Admin Invites
- Admin Notifications
- Admin Order Edits
- Admin Orders
- Admin Payment Collections
- Admin Payments
- Admin Plugins
- Admin Price Lists
- Admin Price Preferences
- Admin Product Categories
- Admin Product Tags
- Admin Product Types
- Admin Product Variants
- Admin Products
- Admin Promotions
- GETList Promotions
- POSTCreate Promotion
- GETList Rule Attribute Options of a Rule Type
- GETList Rule Values Given a Rule Attribute
- GETGet a Promotion
- POSTUpdate a Promotion
- DELDelete a Promotion
- POSTManage the Buy Rules of a Promotion
- POSTManage a Promotion's Rules
- POSTManage Target Rules of a Promotion
- GETList Rules of a Promotion
- GET
- Admin Refund Reasons
- Admin Regions
- Admin Reservations
- Admin Return Reasons
- Admin Returns
- Admin Sales Channels
- Admin Shipping Options
- Admin Shipping Profiles
- Admin Stock Locations
- Admin Store Credit Accounts
- Admin Stores
- Admin Tax Providers
- Admin Tax Rates
- Admin Tax Regions
- Admin Transaction Groups
- Admin Uploads
- Admin Users
- Admin Workflows Executions
- Store Auth
- Admin Auth
- Store Carts
- Store Collections
- Store Currencies
- Store Customers
- Store Gift Cards
- Store Orders
- Store Payment Collections
- Store Payment Providers
- Store Product Categories
- Store Product Tags
- Store Product Types
- Store Products
- Store Regions
- Store Return Reasons
- Store
- Store Shipping Options
- Store Store Credit Accounts
- Admin Algolia
- Admin Attributes
- Admin Commission
- Admin Configuration
- Admin Order Sets
- Admin Requests
- Admin Return Request
- Admin Reviews
- Admin Sellers
- Auth
- Store Return Request
- Store Reviews
- Store Sellers
- Store Wishlist
- Vendor Attributes
- Vendor Campaigns
- Vendor Commission
- Vendor Configuration
- Vendor Customer Groups
- Vendor Customers
- Vendor Fulfillment Providers
- Vendor Fulfillment Sets
- Vendor Inventory Items
- Vendor Invites
- Vendor Current Member
- Vendor Members
- Vendor Notifications
- Vendor Orders
- Vendor Payout Account
- Vendor Payouts
- Vendor Price Lists
- Vendor Price Preferences
- Vendor Product Categories
- Vendor Product Collections
- Vendor Product Tags
- Vendor Product Types
- Vendor Products
- Vendor Promotions
- Vendor Regions
- Vendor Requests
- Vendor Reservations
- Vendor Return Requests
- Vendor Returns
- Vendor Sales Channels
- Vendor Sellers
- Vendor Onboarding
- Vendor Reviews
- Vendor Shipping Options
- Vendor Shipping Profiles
- Vendor Statistics
- Vendor Stock Locations
- Vendor Stores
Admin Promotions
Create Promotion
Create a promotion.
POST
/
admin
/
promotions
Copy
import Medusa from "@medusajs/js-sdk"
export const sdk = new Medusa({
baseUrl: import.meta.env.VITE_BACKEND_URL || "/",
debug: import.meta.env.DEV,
auth: {
type: "session",
},
})
sdk.admin.promotion.create({
name: "My Promotion",
description: "This is a test promotion",
code: "PROMO123",
starts_at: "2021-01-01",
ends_at: "2021-01-01",
})
.then(({ promotion }) => {
console.log(promotion)
})
Copy
{
"promotion": {
"application_method": {
"promotion": {},
"target_rules": [
{
"id": "<string>",
"description": "<string>",
"attribute": "customer_group_id",
"operator": "gt",
"values": [
"cusgroup_123"
]
}
],
"buy_rules": [
{
"id": "<string>",
"description": "<string>",
"attribute": "customer_group_id",
"operator": "gt",
"values": [
"cusgroup_123"
]
}
],
"id": "<string>",
"type": "fixed",
"target_type": "items",
"allocation": "each",
"value": 123,
"currency_code": "usd",
"max_quantity": 123,
"buy_rules_min_quantity": 123,
"apply_to_quantity": 123
},
"rules": [
{
"id": "<string>",
"description": "<string>",
"attribute": "customer_group_id",
"operator": "gt",
"values": [
"cusgroup_123"
]
}
],
"id": "<string>",
"code": "OFF50",
"type": "standard",
"is_automatic": true,
"campaign_id": "<string>",
"campaign": {
"id": "<string>",
"name": "<string>",
"description": "<string>",
"currency": "<string>",
"campaign_identifier": "<string>",
"starts_at": "<string>",
"ends_at": "<string>",
"budget": {
"id": "<string>",
"type": "spend",
"currency_code": "<string>",
"limit": 123,
"used": 123
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"deleted_at": "2023-11-07T05:31:56Z"
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"deleted_at": "2023-11-07T05:31:56Z",
"status": "draft",
"is_tax_inclusive": true
}
}
Authorizations
Bearer authentication header of the form Bearer <token>
, where <token>
is your auth token.
Query Parameters
Comma-separated fields that should be included in the returned data. if a field is prefixed with +
it will be added to the default fields, using -
will remove it from the default fields. without prefix it will replace the entire default fields.
Body
application/json
The promotion's details.
Response
200
application/json
OK
The promotion's details.
Copy
import Medusa from "@medusajs/js-sdk"
export const sdk = new Medusa({
baseUrl: import.meta.env.VITE_BACKEND_URL || "/",
debug: import.meta.env.DEV,
auth: {
type: "session",
},
})
sdk.admin.promotion.create({
name: "My Promotion",
description: "This is a test promotion",
code: "PROMO123",
starts_at: "2021-01-01",
ends_at: "2021-01-01",
})
.then(({ promotion }) => {
console.log(promotion)
})
Copy
{
"promotion": {
"application_method": {
"promotion": {},
"target_rules": [
{
"id": "<string>",
"description": "<string>",
"attribute": "customer_group_id",
"operator": "gt",
"values": [
"cusgroup_123"
]
}
],
"buy_rules": [
{
"id": "<string>",
"description": "<string>",
"attribute": "customer_group_id",
"operator": "gt",
"values": [
"cusgroup_123"
]
}
],
"id": "<string>",
"type": "fixed",
"target_type": "items",
"allocation": "each",
"value": 123,
"currency_code": "usd",
"max_quantity": 123,
"buy_rules_min_quantity": 123,
"apply_to_quantity": 123
},
"rules": [
{
"id": "<string>",
"description": "<string>",
"attribute": "customer_group_id",
"operator": "gt",
"values": [
"cusgroup_123"
]
}
],
"id": "<string>",
"code": "OFF50",
"type": "standard",
"is_automatic": true,
"campaign_id": "<string>",
"campaign": {
"id": "<string>",
"name": "<string>",
"description": "<string>",
"currency": "<string>",
"campaign_identifier": "<string>",
"starts_at": "<string>",
"ends_at": "<string>",
"budget": {
"id": "<string>",
"type": "spend",
"currency_code": "<string>",
"limit": 123,
"used": 123
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"deleted_at": "2023-11-07T05:31:56Z"
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"deleted_at": "2023-11-07T05:31:56Z",
"status": "draft",
"is_tax_inclusive": true
}
}
Assistant
Responses are generated using AI and may contain mistakes.