API reference/Campaigns
Launch a campaign
Launch or reopen a visible promotion's listener campaign. Mechanic and station identity are server-derived. Reopening replaces the entry window and the supplied prize/keyword copy.
POST
/api/v1/campaignsAuthentication
Send your workspace key as xi-api-key or Authorization: Bearer.
campaigns:writewrite
Parameters
Named placeholders belong in the path. Other arguments use a JSON body.
slugRequired- string
opensAtRequired- integerRange: 0 to 4102444800000
closesAtRequired- integerRange: any to 4102444800000
keywordOptional- string
prizeOptional- string
blurbOptional- string
Response
JSON response with status 200.
Requests and errors →{
"slug": "YOUR_VALUE",
"opensAt": 0,
"closesAt": 1,
"keyword": "YOUR_VALUE",
"prize": "YOUR_VALUE",
"blurb": "YOUR_VALUE"
}{
"type": "object",
"properties": {
"slug": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[a-z0-9][a-z0-9-]*$"
},
"opensAt": {
"type": "integer",
"minimum": 0,
"maximum": 4102444800000
},
"closesAt": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 4102444800000
},
"keyword": {
"type": "string",
"maxLength": 24
},
"prize": {
"type": "string",
"maxLength": 200
},
"blurb": {
"type": "string",
"maxLength": 1000
}
},
"required": [
"slug",
"opensAt",
"closesAt"
],
"additionalProperties": false
}{
"type": "object",
"properties": {
"token": {
"type": "string"
},
"ok": {
"type": "boolean",
"const": true
},
"stored": {
"type": "boolean"
}
},
"required": [
"token",
"ok",
"stored"
],
"additionalProperties": false
}