Endpoint
PATCHhttps://api.graine.ai/api/v1/campaigns/{campaign_id}
This is a partial update — only the fields you provide are changed. All Campaign fields are patchable.
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
Partially update campaign settings
https://api.graine.ai/api/v1/campaigns/{campaign_id}
This is a partial update — only the fields you provide are changed. All Campaign fields are patchable.
| Parameter | Type | Required | Description |
|---|---|---|---|
campaign_id | string | Yes | Campaign to update |
| Header | Required | Description |
|---|---|---|
Authorization | Yes | Bearer gat_<token> |
Content-Type | Yes | application/json |
{ "name": "Q2 Insurance Renewals (Updated)" }
{
"retry_policy": {
"max_retries": 5,
"strategy": "fixed",
"cooldown_minutes": 45
}
}
{ "phone_number_strategy": "least_loaded" }
{ "phone_numbers": ["+919876543210", "+919876543211", "+919876543212"] }
working_hours or timezone on a running campaign takes effect immediately — in-flight calls are not affected but newly dispatched contacts will use the new schedule.curl -X PATCH "https://api.graine.ai/api/v1/campaigns/cmp_abc123" \
-H "Authorization: Bearer gat_your_token" \
-H "Content-Type: application/json" \
-d '{"name": "Q2 Insurance Renewals (Updated)", "retry_policy": {"max_retries": 5, "strategy": "fixed", "cooldown_minutes": 45}}'
{
"campaign_id": "cmp_abc123",
"name": "Q2 Insurance Renewals (Updated)",
"retry_policy": {
"max_retries": 5,
"strategy": "fixed",
"cooldown_minutes": 45
},
"status": "active"
}
{ "detail": "Campaign not found" }