Update one Campaign
Updates standard Campaign fields and may append External References. No-op PATCH returns changed=false without audit or domain events. Material updates emit campaign.updated. Required scope: campaigns:write.
Updates standard Campaign fields and may append External References. No-op PATCH returns changed=false without audit or domain events. Material updates emit campaign.updated. Required scope: campaigns:write.
Update one Campaign. Use an organization API key with campaigns:write. Check the response envelope and meta.requestId before triggering dependent workflow steps.
Required scopes
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| idrequired | path | string | Campaign identifier returned by the Organization API. |
Request body
| Field | Type | Description |
|---|---|---|
| name | 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. |
{
"status": "completed",
"isActive": false
}Responses
Updated Campaign envelope with changed metadata
#/components/schemas/OrgApiResourceEnvelope
Validation 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
Campaign not found
#/components/schemas/OrgApiError
External Reference conflict
#/components/schemas/OrgApiError
Rate limit exceeded
#/components/schemas/OrgApiError
Errors
Static examples
curl -X PATCH "$SOLAROS_BASE_URL/api/v1/campaigns/$SOLAROS_CAMPAIGN" \
-H "Authorization: Bearer $SOLAROS_API_KEY" \
-H "Content-Type: application/json" \
--data '{"status":"completed","isActive":false}'