---
title: "Create a call campaign"
description: "Prepare an outbound call campaign for a voice Agent with up to 10000 recipients, each a phone `address` with an optional `contactId`, `variables`, `firstMessage` and `instructions`. Nobody is called until it is started. Each recipient's contact is the one it names, or the owner of its number (created when none exists). Calls happen only inside `contactHours` (in `timeZone`, the organization's by default) and between `scheduledStartAt` and `scheduledEndAt`; each recipient gets up to `maxAttempts` calls, retried `retryAfterMinutes` later after the results in `retryOn` (`no_answer`, `failure`). Starting it (REST `POST /v1/campaigns/{campaignId}/start`) is not an AI tool.\n\n- **Scope:** `raiz:campaigns:write`\n- **Credentials:** an API key, a client-credentials token or a person's access token\n- **Effect:** writes; not idempotent: check the outcome before you retry\n- **Limits:** request body up to 2 MB, response up to 1 MB\n- **CLI:** `arbol raiz campaigns create` · **MCP tool:** `raiz_campaigns_create`"
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.getarbol.com/llms.txt
> Use this file to discover all available pages before exploring further.

Path: Raíz API › Campaigns

`POST /v1/raiz/campaigns`

Prepare an outbound call campaign for a voice Agent with up to 10000 recipients, each a phone `address` with an optional `contactId`, `variables`, `firstMessage` and `instructions`. Nobody is called until it is started. Each recipient's contact is the one it names, or the owner of its number (created when none exists). Calls happen only inside `contactHours` (in `timeZone`, the organization's by default) and between `scheduledStartAt` and `scheduledEndAt`; each recipient gets up to `maxAttempts` calls, retried `retryAfterMinutes` later after the results in `retryOn` (`no_answer`, `failure`). Starting it (REST `POST /v1/campaigns/{campaignId}/start`) is not an AI tool.

- **Scope:** `raiz:campaigns:write`
- **Credentials:** an API key, a client-credentials token or a person's access token
- **Effect:** writes; not idempotent: check the outcome before you retry
- **Limits:** request body up to 2 MB, response up to 1 MB
- **CLI:** `arbol raiz campaigns create` · **MCP tool:** `raiz_campaigns_create`

## Authentication

Requires one of the following:

- `arbolHuman`, oauth2, scopes: `raiz:campaigns:write`
- `arbolMachine`, oauth2, scopes: `raiz:campaigns:write`
- `arbolApiKey`, http, header `Authorization`

## Request body

_Required._

- `agentId` (`raiz.campaigns.create.agentId`; string, required) — Agent id.
  - pattern `^agt_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$`
- `name` (`raiz.campaigns.create.name`; string, required)
  - minLength 1; maxLength 200
- `channelId` (`raiz.campaigns.create.channelId`; string | null, optional) — Channel id.
  - pattern `^(?:chn_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))|(?:agc)_(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$`
- `contactHours` (`raiz.campaigns.create.contactHours`; array<object>, optional) — When calls may start, in the campaign's time zone. Empty: any time.
  - `days` (`raiz.campaigns.create.contactHours.days`; array<string>, required)
    - one of `"MO"`, `"TU"`, `"WE"`, `"TH"`, `"FR"`, `"SA"`, `"SU"`
  - `from` (`raiz.campaigns.create.contactHours.from`; string, required) — Local start time, `HH:MM`, inclusive.
    - pattern `^([01][0-9]|2[0-3]):[0-5][0-9]$`
  - `to` (`raiz.campaigns.create.contactHours.to`; string, required) — Local end time, `HH:MM`, exclusive (`24:00` for midnight).
    - pattern `^(([01][0-9]|2[0-3]):[0-5][0-9]|24:00)$`
- `firstMessage` (`raiz.campaigns.create.firstMessage`; string | null, optional) — What the Agent says first on every call. Null: the Agent's own first message.
  - minLength 1; maxLength 2000
- `instructions` (`raiz.campaigns.create.instructions`; string | null, optional) — What these calls are about, added to the Agent's instructions on every call.
  - minLength 1; maxLength 8000
- `maxAttempts` (`raiz.campaigns.create.maxAttempts`; integer, optional) — Calls per recipient at most, retries included. Default 1.
  - min 1; max 10
- `metadata` (`raiz.campaigns.create.metadata`; object, optional) — Your own keys and labels for this resource (up to 50 keys of 40 characters; values up to 500 characters). Raíz never interprets them.
- `retryAfterMinutes` (`raiz.campaigns.create.retryAfterMinutes`; integer, optional) — Wait before a retry. Default 60.
  - min 1; max 10080
- `retryOn` (`raiz.campaigns.create.retryOn`; array<string>, optional) — Which results earn a retry. Default `["no_answer"]`.
  - one of `"no_answer"`, `"failure"`
- `scheduledEndAt` (`raiz.campaigns.create.scheduledEndAt`; string | null, optional) — No call starts after this instant.
  - format `date-time`
- `scheduledStartAt` (`raiz.campaigns.create.scheduledStartAt`; string | null, optional) — No call starts before this instant, even once the campaign is started.
  - format `date-time`
- `timeZone` (`raiz.campaigns.create.timeZone`; string, optional) — IANA time zone name.
  - maxLength 64; pattern `^[A-Za-z]+(/[A-Za-z0-9_+-]+)*$`
- `recipients` (`raiz.campaigns.create.recipients`; array<object>, optional) — Who to call, unique by `address`. A recipient's contact is `contactId`, or else the contact that owns its number (created when the organization has none).
  - `address` (`raiz.campaigns.create.recipients.address`; string, required) — Phone number in E.164 format.
    - pattern `^\+[1-9][0-9]{1,14}$`
  - `contactId` (`raiz.campaigns.create.recipients.contactId`; string, optional) — The contact the call is about. Omitted: the contact that owns `address`, created when the organization has none.
    - pattern `^cnt_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$`
  - `firstMessage` (`raiz.campaigns.create.recipients.firstMessage`; string | null, optional) — What the Agent says first to this recipient, instead of the campaign's.
    - minLength 1; maxLength 2000
  - `instructions` (`raiz.campaigns.create.recipients.instructions`; string | null, optional) — Extra instructions for this call, after the campaign's.
    - minLength 1; maxLength 8000
  - `variables` (`raiz.campaigns.create.recipients.variables`; object, optional) — Values for the `{{name}}` variables the Agent's instructions, first message or this campaign's texts reference. Raíz always provides `contact_name`, `contact_given_name`, `contact_id`, `contact_phone`, `conversation_id` and `bulletins` (the business bulletins in force), which a recipient's values never replace.

## Example request

```json
{
  "channelId": "chn_01m45h8q2rf3t9w6y7z0b1c2d3",
  "contactHours": [
    {
      "days": [
        "MO"
      ],
      "from": "09:00",
      "to": "18:00"
    }
  ],
  "firstMessage": "string",
  "instructions": "string",
  "maxAttempts": 1,
  "metadata": {},
  "retryAfterMinutes": 1,
  "retryOn": [
    "no_answer"
  ],
  "scheduledEndAt": "2019-08-24T14:15:22Z",
  "scheduledStartAt": "2019-08-24T14:15:22Z",
  "timeZone": "America/Bogota",
  "agentId": "agt_01m45h8q2rf3t9w6y7z0b1c2d3",
  "name": "string",
  "recipients": [
    {
      "address": "string",
      "contactId": "cnt_01m45h8q2rf3t9w6y7z0b1c2d3",
      "firstMessage": "string",
      "instructions": "string",
      "variables": {}
    }
  ]
}
```

## Code samples

### cURL

```bash
curl https://api.getarbol.com/v1/raiz/campaigns \
  --request POST \
  --header "Authorization: Bearer $ARBOL_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
  "agentId": "agt_01m45h8q2rf3t9w6y7z0b1c2d3",
  "name": "<name>"
}'
```

### TypeScript

```typescript
import { createClient } from "@arbol-ai/sdk";

const arbol = createClient({
  baseUrl: "https://api.getarbol.com",
  token: process.env.ARBOL_API_KEY!,
});

const { data } = await arbol.raiz.campaigns.create({
  agentId: "agt_01m45h8q2rf3t9w6y7z0b1c2d3",
  name: "<name>",
});
```

### Rust

```rust
use arbol_sdk::{types, Client, Credential};

let arbol = Client::new(Credential::ApiKey(std::env::var("ARBOL_API_KEY")?))?;

let data = arbol
    .raiz()
    .campaigns()
    .create(&types::RaizCampaignsCreateInput {
        agent_id: "agt_01m45h8q2rf3t9w6y7z0b1c2d3".into(),
        name: "<name>".into(),
        channel_id: None,
        contact_hours: None,
        first_message: None,
        instructions: None,
        max_attempts: None,
        metadata: None,
        retry_after_minutes: None,
        retry_on: None,
        scheduled_end_at: None,
        scheduled_start_at: None,
        time_zone: None,
        recipients: None,
    })
    .await?;
```

### CLI

```bash
arbol raiz campaigns create --agent-id agt_01m45h8q2rf3t9w6y7z0b1c2d3 --name '<name>'
```

### MCP

```json
{
  "name": "raiz_campaigns_create",
  "arguments": {
    "agentId": "agt_01m45h8q2rf3t9w6y7z0b1c2d3",
    "name": "<name>"
  }
}
```

## Responses

### 200

Successful operation.

#### Example

```json
{
  "success": true,
  "data": {
    "agentId": "agt_01m45h8q2rf3t9w6y7z0b1c2d3",
    "channelId": "chn_01m45h8q2rf3t9w6y7z0b1c2d3",
    "contactHours": [
      {
        "days": [
          "MO"
        ],
        "from": "09:00",
        "to": "18:00"
      }
    ],
    "createdAt": "2019-08-24T14:15:22Z",
    "endedAt": "2019-08-24T14:15:22Z",
    "firstMessage": "string",
    "id": "cmp_01m45h8q2rf3t9w6y7z0b1c2d3",
    "instructions": "string",
    "maxAttempts": 1,
    "metadata": {},
    "name": "string",
    "progress": {
      "completed": 0,
      "failed": 0,
      "inProgress": 0,
      "pending": 0,
      "recipients": 0,
      "succeeded": 0
    },
    "retryAfterMinutes": 1,
    "retryOn": [
      "no_answer"
    ],
    "scheduledEndAt": "2019-08-24T14:15:22Z",
    "scheduledStartAt": "2019-08-24T14:15:22Z",
    "startedAt": "2019-08-24T14:15:22Z",
    "status": "queued",
    "timeZone": "string",
    "updatedAt": "2019-08-24T14:15:22Z",
    "version": 1,
    "recipients": {
      "data": [
        {
          "address": "string",
          "attemptCount": 0,
          "contactId": "cnt_01m45h8q2rf3t9w6y7z0b1c2d3",
          "createdAt": "2019-08-24T14:15:22Z",
          "errorCode": "string",
          "firstMessage": "string",
          "id": "rcp_01m45h8q2rf3t9w6y7z0b1c2d3",
          "instructions": "string",
          "lastAttempt": {
            "conversationId": "cnv_01m45h8q2rf3t9w6y7z0b1c2d3",
            "outcome": "success",
            "startedAt": "2019-08-24T14:15:22Z",
            "status": "open"
          },
          "nextAttemptAt": "2019-08-24T14:15:22Z",
          "status": "pending",
          "updatedAt": "2019-08-24T14:15:22Z",
          "variables": {}
        }
      ],
      "object": "list",
      "pageInfo": {
        "hasNextPage": true,
        "hasPreviousPage": true,
        "nextCursor": "string",
        "previousCursor": "string"
      }
    }
  },
  "error": null,
  "metadata": {
    "requestId": "string"
  }
}
```

- `success` (`raiz.campaigns.create.response.200.success`; boolean, required)
- `data` (`raiz.campaigns.create.response.200.data`; object, required)
  - `agentId` (`raiz.campaigns.create.response.200.data.agentId`; string, required) — Agent id.
    - pattern `^agt_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$`
  - `channelId` (`raiz.campaigns.create.response.200.data.channelId`; string | null, required) — The voice line calls leave from. Null: the Agent's own outbound line.
    - pattern `^(?:chn_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))|(?:agc)_(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$`
  - `contactHours` (`raiz.campaigns.create.response.200.data.contactHours`; array<object>, required) — When calls may start, in the campaign's time zone. Empty: any time.
    - `days` (`raiz.campaigns.create.response.200.data.contactHours.days`; array<string>, required)
      - one of `"MO"`, `"TU"`, `"WE"`, `"TH"`, `"FR"`, `"SA"`, `"SU"`
    - `from` (`raiz.campaigns.create.response.200.data.contactHours.from`; string, required) — Local start time, `HH:MM`, inclusive.
      - pattern `^([01][0-9]|2[0-3]):[0-5][0-9]$`
    - `to` (`raiz.campaigns.create.response.200.data.contactHours.to`; string, required) — Local end time, `HH:MM`, exclusive (`24:00` for midnight).
      - pattern `^(([01][0-9]|2[0-3]):[0-5][0-9]|24:00)$`
  - `createdAt` (`raiz.campaigns.create.response.200.data.createdAt`; string, required) — An instant in RFC 3339 format, in UTC.
    - format `date-time`
  - `endedAt` (`raiz.campaigns.create.response.200.data.endedAt`; string | null, required) — An instant in RFC 3339 format, in UTC.
    - format `date-time`
  - `firstMessage` (`raiz.campaigns.create.response.200.data.firstMessage`; string | null, required)
  - `id` (`raiz.campaigns.create.response.200.data.id`; string, required) — Campaign id.
    - pattern `^cmp_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$`
  - `instructions` (`raiz.campaigns.create.response.200.data.instructions`; string | null, required)
  - `maxAttempts` (`raiz.campaigns.create.response.200.data.maxAttempts`; integer, required)
    - min 1; max 10
  - `metadata` (`raiz.campaigns.create.response.200.data.metadata`; object, required) — Your own keys and labels for this resource (up to 50 keys of 40 characters; values up to 500 characters). Raíz never interprets them.
  - `name` (`raiz.campaigns.create.response.200.data.name`; string, required)
  - `progress` (`raiz.campaigns.create.response.200.data.progress`; object, required) — How many recipients are in each state.
    - `completed` (`raiz.campaigns.create.response.200.data.progress.completed`; integer, required)
      - min 0
    - `failed` (`raiz.campaigns.create.response.200.data.progress.failed`; integer, required)
      - min 0
    - `inProgress` (`raiz.campaigns.create.response.200.data.progress.inProgress`; integer, required)
      - min 0
    - `pending` (`raiz.campaigns.create.response.200.data.progress.pending`; integer, required)
      - min 0
    - `recipients` (`raiz.campaigns.create.response.200.data.progress.recipients`; integer, required)
      - min 0
    - `succeeded` (`raiz.campaigns.create.response.200.data.progress.succeeded`; integer, required) — Recipients whose latest call's analysis judged it successful.
      - min 0
  - `retryAfterMinutes` (`raiz.campaigns.create.response.200.data.retryAfterMinutes`; integer, required)
    - min 1
  - `retryOn` (`raiz.campaigns.create.response.200.data.retryOn`; array<string>, required)
    - one of `"no_answer"`, `"failure"`
  - `scheduledEndAt` (`raiz.campaigns.create.response.200.data.scheduledEndAt`; string | null, required) — An instant in RFC 3339 format, in UTC.
    - format `date-time`
  - `scheduledStartAt` (`raiz.campaigns.create.response.200.data.scheduledStartAt`; string | null, required) — An instant in RFC 3339 format, in UTC.
    - format `date-time`
  - `startedAt` (`raiz.campaigns.create.response.200.data.startedAt`; string | null, required) — An instant in RFC 3339 format, in UTC.
    - format `date-time`
  - `status` (`raiz.campaigns.create.response.200.data.status`; string, required) — `queued`: not started yet (or its start is scheduled). `running`: calling due recipients. `paused`: started, then paused; calls in progress finish. `completed`: no recipient is left to call.
    - one of `"queued"`, `"running"`, `"paused"`, `"completed"`, `"cancelled"`, `"failed"`
  - `timeZone` (`raiz.campaigns.create.response.200.data.timeZone`; string, required)
  - `updatedAt` (`raiz.campaigns.create.response.200.data.updatedAt`; string, required) — An instant in RFC 3339 format, in UTC.
    - format `date-time`
  - `version` (`raiz.campaigns.create.response.200.data.version`; integer, required)
    - min 1
  - `recipients` (`raiz.campaigns.create.response.200.data.recipients`; object, optional) — The campaign's recipients in the order they were added, each with its latest attempt. Present only when expanded.
    - `data` (`raiz.campaigns.create.response.200.data.recipients.data`; array<object>, required) — Items admitted by this resource contract within the verified organization.
      - `address` (`raiz.campaigns.create.response.200.data.recipients.data.address`; string, required)
      - `attemptCount` (`raiz.campaigns.create.response.200.data.recipients.data.attemptCount`; integer, required)
        - min 0
      - `contactId` (`raiz.campaigns.create.response.200.data.recipients.data.contactId`; string | null, required) — Contact id.
        - pattern `^cnt_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$`
      - `createdAt` (`raiz.campaigns.create.response.200.data.recipients.data.createdAt`; string, required) — An instant in RFC 3339 format, in UTC.
        - format `date-time`
      - `errorCode` (`raiz.campaigns.create.response.200.data.recipients.data.errorCode`; string | null, required) — Why the recipient failed: `NO_ANSWER` or `CALL_FAILED` after its last attempt, `CONTACT_SUPPRESSED` when a suppression rule forbids the number.
      - `firstMessage` (`raiz.campaigns.create.response.200.data.recipients.data.firstMessage`; string | null, required)
      - `id` (`raiz.campaigns.create.response.200.data.recipients.data.id`; string, required) — Campaign recipient id.
        - pattern `^rcp_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$`
      - `instructions` (`raiz.campaigns.create.response.200.data.recipients.data.instructions`; string | null, required)
      - `lastAttempt` (`raiz.campaigns.create.response.200.data.recipients.data.lastAttempt`; object | null, required) — The latest call to this recipient; its transcript is `getConversation`.
        - `conversationId` (`raiz.campaigns.create.response.200.data.recipients.data.lastAttempt.conversationId`; string, required) — Conversation id.
          - pattern `^cnv_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$`
        - `outcome` (`raiz.campaigns.create.response.200.data.recipients.data.lastAttempt.outcome`; string | null, required)
          - one of `"success"`, `"failure"`, `"unknown"`, `null`
        - `startedAt` (`raiz.campaigns.create.response.200.data.recipients.data.lastAttempt.startedAt`; string, required) — An instant in RFC 3339 format, in UTC.
          - format `date-time`
        - `status` (`raiz.campaigns.create.response.200.data.recipients.data.lastAttempt.status`; string, required)
          - one of `"open"`, `"closed"`
      - `nextAttemptAt` (`raiz.campaigns.create.response.200.data.recipients.data.nextAttemptAt`; string | null, required) — An instant in RFC 3339 format, in UTC.
        - format `date-time`
      - `status` (`raiz.campaigns.create.response.200.data.recipients.data.status`; string, required) — `pending`: waiting for its (next) call. `in_progress`: being called. `completed`: an attempt succeeded. `failed`: its attempts ran out, or it cannot be called.
        - one of `"pending"`, `"in_progress"`, `"completed"`, `"failed"`, `"cancelled"`
      - `updatedAt` (`raiz.campaigns.create.response.200.data.recipients.data.updatedAt`; string, required) — An instant in RFC 3339 format, in UTC.
        - format `date-time`
      - `variables` (`raiz.campaigns.create.response.200.data.recipients.data.variables`; object, required) — Values for the `{{name}}` variables the Agent's instructions, first message or this campaign's texts reference. Raíz always provides `contact_name`, `contact_given_name`, `contact_id`, `contact_phone`, `conversation_id` and `bulletins` (the business bulletins in force), which a recipient's values never replace.
    - `object` (`raiz.campaigns.create.response.200.data.recipients.object`; string, required) — Discriminator for a resource list response.
    - `pageInfo` (`raiz.campaigns.create.response.200.data.recipients.pageInfo`; object, required) — Opaque navigation cursors for this page’s stable keyset order.
      - `hasNextPage` (`raiz.campaigns.create.response.200.data.recipients.pageInfo.hasNextPage`; boolean, required) — Whether a later page exists in the current ordering.
      - `hasPreviousPage` (`raiz.campaigns.create.response.200.data.recipients.pageInfo.hasPreviousPage`; boolean, required) — Whether an earlier page exists in the current ordering.
      - `nextCursor` (`raiz.campaigns.create.response.200.data.recipients.pageInfo.nextCursor`; string | null, required) — Opaque cursor for the next page, or null when there is none.
      - `previousCursor` (`raiz.campaigns.create.response.200.data.recipients.pageInfo.previousCursor`; string | null, required) — Opaque cursor for the previous page, or null when there is none.
- `error` (`raiz.campaigns.create.response.200.error`; null, required)
- `metadata` (`raiz.campaigns.create.response.200.metadata`; object, required)
  - `requestId` (`raiz.campaigns.create.response.200.metadata.requestId`; string, required) — Request correlation identifier, also sent as X-Request-Id.

### 400

- `INVALID_INPUT`: The request does not match the published schema.
- `INVALID_CURSOR`: The cursor is malformed or belongs to a different list.

#### Example

```json
{
  "error": {
    "code": "INVALID_INPUT"
  }
}
```

- `error` (`raiz.campaigns.create.response.400.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 401

`UNAUTHORIZED`: A valid access token is required.

#### Example

```json
{
  "error": {
    "code": "UNAUTHORIZED"
  }
}
```

- `error` (`raiz.campaigns.create.response.401.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 403

`FORBIDDEN`: The token does not authorize this operation.

#### Example

```json
{
  "error": {
    "code": "FORBIDDEN"
  }
}
```

- `error` (`raiz.campaigns.create.response.403.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 404

- `NOT_FOUND`: The requested operation does not exist.
- `RESOURCE_NOT_FOUND`: The requested resource does not exist in this organization.

#### Example

```json
{
  "error": {
    "code": "NOT_FOUND"
  }
}
```

- `error` (`raiz.campaigns.create.response.404.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 405

`HTTP_METHOD_NOT_ALLOWED`: The HTTP method is not supported for this resource.

#### Example

```json
{
  "error": {
    "code": "HTTP_METHOD_NOT_ALLOWED"
  }
}
```

- `error` (`raiz.campaigns.create.response.405.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 409

- `VOICE_AGENT_NOT_READY`: The Agent cannot take calls yet: it must be an active voice Agent with instructions, published for calls.
- `INVALID_STATE`: The resource is not in a state that allows this operation.
- `VERSION_CONFLICT`: The resource changed after it was read. Read it again and retry with the new version.

#### Example

```json
{
  "error": {
    "code": "VOICE_AGENT_NOT_READY"
  }
}
```

- `error` (`raiz.campaigns.create.response.409.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 413

`REQUEST_TOO_LARGE`: The request exceeds the allowed size.

#### Example

```json
{
  "error": {
    "code": "REQUEST_TOO_LARGE"
  }
}
```

- `error` (`raiz.campaigns.create.response.413.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 415

`UNSUPPORTED_MEDIA_TYPE`: The request content type is not supported.

#### Example

```json
{
  "error": {
    "code": "UNSUPPORTED_MEDIA_TYPE"
  }
}
```

- `error` (`raiz.campaigns.create.response.415.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 422

`TIME_ZONE_UNKNOWN`: The time zone is not in the IANA time zone database.

#### Example

```json
{
  "error": {
    "code": "TIME_ZONE_UNKNOWN"
  }
}
```

- `error` (`raiz.campaigns.create.response.422.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 429

`RATE_LIMITED`: The request rate limit was exceeded. Try again later.

#### Example

```json
{
  "error": {
    "code": "RATE_LIMITED"
  }
}
```

- `error` (`raiz.campaigns.create.response.429.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 500

`INTERNAL_ERROR`: The service could not complete the operation.

#### Example

```json
{
  "error": {
    "code": "INTERNAL_ERROR"
  }
}
```

- `error` (`raiz.campaigns.create.response.500.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 502

`OUTCOME_UNKNOWN`: The operation may have been applied; check its result before repeating it.

#### Example

```json
{
  "error": {
    "code": "OUTCOME_UNKNOWN"
  }
}
```

- `error` (`raiz.campaigns.create.response.502.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 503

- `UPSTREAM_UNAVAILABLE`: The upstream service could not complete the request.
- `INTEGRATIONS_UNAVAILABLE`: The organization's integrations cannot be read right now. Try again shortly.

#### Example

```json
{
  "error": {
    "code": "UPSTREAM_UNAVAILABLE"
  }
}
```

- `error` (`raiz.campaigns.create.response.503.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 504

`UPSTREAM_TIMEOUT`: The upstream service did not respond before its deadline.

#### Example

```json
{
  "error": {
    "code": "UPSTREAM_TIMEOUT"
  }
}
```

- `error` (`raiz.campaigns.create.response.504.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`


Source: https://docs.getarbol.com/api/raiz/campaigns/create/index.md
