> This page is optimized for agents. Use the linked Markdown pages and llms.txt indexes for related API content.

# Start a draft campaign

- Product: Reachiz API
- Section: Campaigns
- Snapshot: v1
- Method: `POST`
- Path: `/v1/campaigns/{id}/start`

## Path parameters

### `id`

Type: `number`  
Required: yes  

## Execute with curl

```bash
curl -X POST "https://prestigious-goldfish-661.convex.site/v1/campaigns/$ID/start" \
    -H "Authorization: Bearer $REACHIZ_API_KEY"
```

## Execute with TypeScript

```ts
const response = await fetch("https://prestigious-goldfish-661.convex.site/v1/campaigns/$ID/start", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.REACHIZ_API_KEY}`,
  },
});

const data = await response.json();
```

## Responses

### Response `200`

Category: success  

Success

#### `application/json`

##### Generated example

```json
{
  "id": 0,
  "name": "name",
  "status": "draft",
  "listId": 0,
  "accountIds": [
    0
  ],
  "sequence": [
    {
      "type": "type",
      "delay": {
        "value": -9007199254740991,
        "unit": "hours"
      },
      "message": "message",
      "subject": "subject"
    }
  ],
  "schedule": {
    "timezone": "timezone",
    "days": [
      0
    ],
    "startTime": "startTime",
    "endTime": "endTime",
    "startDate": "startDate",
    "endDate": "endDate"
  },
  "stats": {
    "leads": -9007199254740991,
    "pending": -9007199254740991,
    "active": -9007199254740991,
    "paused": -9007199254740991,
    "finished": -9007199254740991,
    "failed": -9007199254740991,
    "stopped": -9007199254740991,
    "excluded": -9007199254740991,
    "invitesSent": -9007199254740991,
    "accepted": -9007199254740991,
    "messagesSent": -9007199254740991,
    "replies": -9007199254740991
  },
  "createdAt": "createdAt",
  "startedAt": "startedAt"
}
```

##### Schema

###### object

Type: `object`  

###### `id`

Type: `number`  
Required: yes  

###### `name`

Type: `string`  
Required: yes  

###### `status`

Type: `string`  
Required: yes  
Allowed values: `draft`, `scheduled`, `starting`, `running`, `paused`, `finished`, `canceled`, `failed`, `locked`  

###### `listId`

Type: `number`  
Required: yes  

###### number

Type: `number`  

###### unknown

Type: `unknown`  

###### `accountIds`

Type: `number[]`  
Required: yes  

###### number

Type: `number`  

###### `sequence`

Type: `object[]`  
Required: yes  

###### object

Type: `object`  

###### `type`

Type: `string`  
Required: yes  

###### `delay`

Type: `object`  
Required: no  

###### `value`

Type: `number`  
Required: yes  

###### `unit`

Type: `string`  
Required: yes  
Allowed values: `hours`, `days`  

###### `message`

Type: `string`  
Required: no  

###### `subject`

Type: `string`  
Required: no  

###### `schedule`

Type: `object`  
Required: yes  

###### `timezone`

Type: `string`  
Required: yes  

###### `days`

Type: `number[]`  
Required: yes  

###### number

Type: `number`  

###### `startTime`

Type: `string`  
Required: yes  

###### `endTime`

Type: `string`  
Required: yes  

###### `startDate`

Type: `string`  
Required: yes  

###### string

Type: `string`  
Format: `date-time`  

###### unknown

Type: `unknown`  

###### `endDate`

Type: `string`  
Required: yes  

###### string

Type: `string`  
Format: `date-time`  

###### unknown

Type: `unknown`  

###### `stats`

Type: `object`  
Required: yes  

###### `leads`

Type: `number`  
Required: yes  

###### `pending`

Type: `number`  
Required: yes  

###### `active`

Type: `number`  
Required: yes  

###### `paused`

Type: `number`  
Required: yes  

###### `finished`

Type: `number`  
Required: yes  

###### `failed`

Type: `number`  
Required: yes  

###### `stopped`

Type: `number`  
Required: yes  

###### `excluded`

Type: `number`  
Required: yes  

###### `invitesSent`

Type: `number`  
Required: yes  

###### `accepted`

Type: `number`  
Required: yes  

###### `messagesSent`

Type: `number`  
Required: yes  

###### `replies`

Type: `number`  
Required: yes  

###### `createdAt`

Type: `string`  
Format: `date-time`  
Required: yes  

###### `startedAt`

Type: `string`  
Required: yes  

###### string

Type: `string`  
Format: `date-time`  

###### unknown

Type: `unknown`  

### Response `400`

Category: client-error  

The request is not valid. error.fields lists each problem.

#### `application/json`

##### Generated example

```json
{
  "error": {
    "code": "invalid_request",
    "message": "message",
    "requestId": "requestId",
    "recovery": "recovery",
    "fields": [
      {
        "path": "path",
        "message": "message"
      }
    ]
  }
}
```

##### Schema

###### Error

Type: `Error`  

###### `error`

Type: `object`  
Required: yes  

###### `code`

Type: `string`  
Required: yes  
Allowed values: `invalid_request`, `not_supported`, `unauthorized`, `subscription_required`, `forbidden`, `plan_limit_exceeded`, `workspace_suspended`, `not_found`, `conflict`, `conversation_changed`, `rate_limited`, `internal`, `unavailable`  

###### `message`

Type: `string`  
Required: yes  

###### `requestId`

Type: `string`  
Required: yes  

###### `recovery`

Type: `string`  
Required: no  

What to do next.

###### `fields`

Type: `object[]`  
Required: no  

###### object

Type: `object`  

###### `path`

Type: `string`  
Required: yes  

###### `message`

Type: `string`  
Required: yes  

### Response `401`

Category: client-error  

The API key is missing or not valid.

#### `application/json`

##### Generated example

```json
{
  "error": {
    "code": "invalid_request",
    "message": "message",
    "requestId": "requestId",
    "recovery": "recovery",
    "fields": [
      {
        "path": "path",
        "message": "message"
      }
    ]
  }
}
```

##### Schema

###### Error

Type: `Error`  

###### `error`

Type: `object`  
Required: yes  

###### `code`

Type: `string`  
Required: yes  
Allowed values: `invalid_request`, `not_supported`, `unauthorized`, `subscription_required`, `forbidden`, `plan_limit_exceeded`, `workspace_suspended`, `not_found`, `conflict`, `conversation_changed`, `rate_limited`, `internal`, `unavailable`  

###### `message`

Type: `string`  
Required: yes  

###### `requestId`

Type: `string`  
Required: yes  

###### `recovery`

Type: `string`  
Required: no  

What to do next.

###### `fields`

Type: `object[]`  
Required: no  

###### object

Type: `object`  

###### `path`

Type: `string`  
Required: yes  

###### `message`

Type: `string`  
Required: yes  

### Response `403`

Category: client-error  

The key lacks the scope this route needs.

#### `application/json`

##### Generated example

```json
{
  "error": {
    "code": "invalid_request",
    "message": "message",
    "requestId": "requestId",
    "recovery": "recovery",
    "fields": [
      {
        "path": "path",
        "message": "message"
      }
    ]
  }
}
```

##### Schema

###### Error

Type: `Error`  

###### `error`

Type: `object`  
Required: yes  

###### `code`

Type: `string`  
Required: yes  
Allowed values: `invalid_request`, `not_supported`, `unauthorized`, `subscription_required`, `forbidden`, `plan_limit_exceeded`, `workspace_suspended`, `not_found`, `conflict`, `conversation_changed`, `rate_limited`, `internal`, `unavailable`  

###### `message`

Type: `string`  
Required: yes  

###### `requestId`

Type: `string`  
Required: yes  

###### `recovery`

Type: `string`  
Required: no  

What to do next.

###### `fields`

Type: `object[]`  
Required: no  

###### object

Type: `object`  

###### `path`

Type: `string`  
Required: yes  

###### `message`

Type: `string`  
Required: yes  

### Response `404`

Category: client-error  

The resource does not exist, or belongs to another account.

#### `application/json`

##### Generated example

```json
{
  "error": {
    "code": "invalid_request",
    "message": "message",
    "requestId": "requestId",
    "recovery": "recovery",
    "fields": [
      {
        "path": "path",
        "message": "message"
      }
    ]
  }
}
```

##### Schema

###### Error

Type: `Error`  

###### `error`

Type: `object`  
Required: yes  

###### `code`

Type: `string`  
Required: yes  
Allowed values: `invalid_request`, `not_supported`, `unauthorized`, `subscription_required`, `forbidden`, `plan_limit_exceeded`, `workspace_suspended`, `not_found`, `conflict`, `conversation_changed`, `rate_limited`, `internal`, `unavailable`  

###### `message`

Type: `string`  
Required: yes  

###### `requestId`

Type: `string`  
Required: yes  

###### `recovery`

Type: `string`  
Required: no  

What to do next.

###### `fields`

Type: `object[]`  
Required: no  

###### object

Type: `object`  

###### `path`

Type: `string`  
Required: yes  

###### `message`

Type: `string`  
Required: yes  

### Response `409`

Category: client-error  

The Idempotency-Key belongs to a different request, or the state does not allow this action.

#### `application/json`

##### Generated example

```json
{
  "error": {
    "code": "invalid_request",
    "message": "message",
    "requestId": "requestId",
    "recovery": "recovery",
    "fields": [
      {
        "path": "path",
        "message": "message"
      }
    ]
  }
}
```

##### Schema

###### Error

Type: `Error`  

###### `error`

Type: `object`  
Required: yes  

###### `code`

Type: `string`  
Required: yes  
Allowed values: `invalid_request`, `not_supported`, `unauthorized`, `subscription_required`, `forbidden`, `plan_limit_exceeded`, `workspace_suspended`, `not_found`, `conflict`, `conversation_changed`, `rate_limited`, `internal`, `unavailable`  

###### `message`

Type: `string`  
Required: yes  

###### `requestId`

Type: `string`  
Required: yes  

###### `recovery`

Type: `string`  
Required: no  

What to do next.

###### `fields`

Type: `object[]`  
Required: no  

###### object

Type: `object`  

###### `path`

Type: `string`  
Required: yes  

###### `message`

Type: `string`  
Required: yes  

### Response `429`

Category: client-error  

Too many requests.

#### `application/json`

##### Generated example

```json
{
  "error": {
    "code": "invalid_request",
    "message": "message",
    "requestId": "requestId",
    "recovery": "recovery",
    "fields": [
      {
        "path": "path",
        "message": "message"
      }
    ]
  }
}
```

##### Schema

###### Error

Type: `Error`  

###### `error`

Type: `object`  
Required: yes  

###### `code`

Type: `string`  
Required: yes  
Allowed values: `invalid_request`, `not_supported`, `unauthorized`, `subscription_required`, `forbidden`, `plan_limit_exceeded`, `workspace_suspended`, `not_found`, `conflict`, `conversation_changed`, `rate_limited`, `internal`, `unavailable`  

###### `message`

Type: `string`  
Required: yes  

###### `requestId`

Type: `string`  
Required: yes  

###### `recovery`

Type: `string`  
Required: no  

What to do next.

###### `fields`

Type: `object[]`  
Required: no  

###### object

Type: `object`  

###### `path`

Type: `string`  
Required: yes  

###### `message`

Type: `string`  
Required: yes  

### Response `503`

Category: server-error  

The service is busy. Retry with backoff.

#### `application/json`

##### Generated example

```json
{
  "error": {
    "code": "invalid_request",
    "message": "message",
    "requestId": "requestId",
    "recovery": "recovery",
    "fields": [
      {
        "path": "path",
        "message": "message"
      }
    ]
  }
}
```

##### Schema

###### Error

Type: `Error`  

###### `error`

Type: `object`  
Required: yes  

###### `code`

Type: `string`  
Required: yes  
Allowed values: `invalid_request`, `not_supported`, `unauthorized`, `subscription_required`, `forbidden`, `plan_limit_exceeded`, `workspace_suspended`, `not_found`, `conflict`, `conversation_changed`, `rate_limited`, `internal`, `unavailable`  

###### `message`

Type: `string`  
Required: yes  

###### `requestId`

Type: `string`  
Required: yes  

###### `recovery`

Type: `string`  
Required: no  

What to do next.

###### `fields`

Type: `object[]`  
Required: no  

###### object

Type: `object`  

###### `path`

Type: `string`  
Required: yes  

###### `message`

Type: `string`  
Required: yes  

## Related representations

- [Human documentation](/reachiz/sections/campaigns/operations/post-v1-campaigns-id-start/)
- [curl Markdown](/reachiz/sections/campaigns/operations/post-v1-campaigns-id-start.md?lang=curl)
- [TypeScript Markdown](/reachiz/sections/campaigns/operations/post-v1-campaigns-id-start.md?lang=typescript)
- [site llms.txt](/llms.txt)
- [product llms.txt](/reachiz/llms.txt)
- [snapshot llms.txt](/reachiz/llms.txt)
