Create a Campaign
Creates one tenant-scoped Campaign. Requires Idempotency-Key. External References are created transactionally and conflicts return 409. Writes emit campaign.created for webhook subscribers. Required scope: campaigns:write.
Creates one tenant-scoped Campaign. Requires Idempotency-Key. External References are created transactionally and conflicts return 409. Writes emit campaign.created for webhook subscribers. Required scope: campaigns:write.
Create a Campaign. Use an organization API key with campaigns:write. Check the response envelope and meta.requestId before triggering dependent workflow steps.
Required scopes
Parameters
No path or query parameters.
Request body
| Field | Type | Description |
|---|---|---|
| namerequired | string | Optional unless marked required. |
| status | string | null | Optional unless marked required. |
| type | string | null | Optional unless marked required. |
| description | string | null | Optional unless marked required. |
| isActive | boolean | Optional unless marked required. |
| startDate | string | null | Optional unless marked required. |
| endDate | string | null | Optional unless marked required. |
| budgetedCost | string | number | null | Optional unless marked required. |
| actualCost | string | number | null | Optional unless marked required. |
| expectedRevenue | string | number | null | Optional unless marked required. |
| expectedResponseRate | string | number | null | Optional unless marked required. |
| metadata | object | Optional unless marked required. |
| externalReferences[] | array<object> | Optional unless marked required. |
| externalReferences[].externalSystemrequired | string | Optional unless marked required. |
| externalReferences[].externalObjectrequired | string | Optional unless marked required. |
| externalReferences[].externalIdrequired | string | Optional unless marked required. |
| externalReferences[].metadata | object | Optional unless marked required. |
{
"name": "Fall referral campaign",
"status": "active",
"type": "referral",
"isActive": true
}Responses
Created Campaign envelope
#/components/schemas/CampaignEnvelope
Validation or idempotency error
#/components/schemas/OrgApiError
Missing or invalid organization API key
#/components/schemas/OrgApiError
Organization billing access or an endpoint-specific business quota denied the request
#/components/schemas/OrgApiError
Missing required scope: campaigns:write
#/components/schemas/OrgApiError
Idempotency or External Reference conflict
#/components/schemas/OrgApiError
Rate limit exceeded
#/components/schemas/OrgApiError
Errors
Static examples
curl -X POST "$SOLAROS_BASE_URL/api/v1/campaigns" \
-H "Authorization: Bearer $SOLAROS_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SOLAROS_IDEMPOTENCY_KEY" \
--data '{"name":"Fall referral campaign","status":"active","type":"referral","isActive":true}'