POST
/
admin
/
campaigns
JS SDK
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.campaign.create({
  name: "Summer Campaign"
})
.then(({ campaign }) => {
  console.log(campaign)
})
{
"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"
}
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

fields
string

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 campaign's details.

name
string
required

The campaign's name.

campaign_identifier
string
required

The campaign's identifier.

description
string
required

The campaign's description.

budget
object
required

The campaign's budget which, when crossed, ends the campaign.

starts_at
string<date-time>
required

The campaign's start date.

ends_at
string<date-time>
required

The campaign's end date.

promotions
object[]

The campaign's promotions.

additional_data
object

Pass additional custom data to the API route. This data is passed to the underlying workflow under the additional_data parameter.

Response

OK

The campaign's details.

campaign
object
required

The campaign's details.