> ## Documentation Index
> Fetch the complete documentation index at: https://docs-dev.setoo.work/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Schedule campaign

> Move a campaign to SCHEDULED status so it starts at its scheduledAt timestamp

Transitions a campaign to `SCHEDULED` status and registers the exact timer in the scheduler service. The campaign begins dialing automatically at its configured `scheduledAt` timestamp (or immediately if `scheduledAt` is null or in the past).

### Path parameters

<ParamField path="id" type="string" required>
  The unique UUID of the campaign to schedule.
</ParamField>

<CodeGroup>
  ```bash curl theme={null}
  curl -X POST https://api.agentic-os.com/api/v1/campaigns/770e8400-e29b-41d4-a716-446655440000/schedule \
    -H "Authorization: Bearer $AGENTIC_OS_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{}'
  ```

  ```python Python theme={null}
  import requests

  response = requests.post(
      "https://api.agentic-os.com/api/v1/campaigns/770e8400-e29b-41d4-a716-446655440000/schedule",
      headers={
          "Authorization": f"Bearer {API_KEY}",
          "Content-Type": "application/json",
      },
      json={},
  )
  print(response.json())
  ```

  ```javascript Node theme={null}
  const response = await fetch(
    "https://api.agentic-os.com/api/v1/campaigns/770e8400-e29b-41d4-a716-446655440000/schedule",
    {
      method: "POST",
      headers: {
        Authorization: `Bearer ${API_KEY}`,
        "Content-Type": "application/json",
      },
      body: JSON.stringify({}),
    },
  );
  const data = await response.json();
  console.log(data);
  ```
</CodeGroup>

### Response

```json theme={null}
{
  "id": "770e8400-e29b-41d4-a716-446655440000",
  "name": "Q3 Renewal Outreach",
  "status": "SCHEDULED",
  "scheduledAt": "2026-06-10T09:00:00.000Z",
  "updatedAt": "2026-06-01T10:20:00.000Z"
}
```
