---
title: Drafts
---

## List Drafts
Agentry API endpoint.
**Endpoint**: `GET /human/v0/inboxes/{inbox_id}/drafts`
**Authentication**: `Authorization: Bearer <token>`
### Parameters

| Name | In | Type | Required | Description |
|------|----|------|----------|-------------|
| `inbox_id` | path | string | Yes |  |
| `limit` | query | integer | No |  |
| `page_token` | query | string | No |  |

### Responses

#### `200`

Successful response

Content-Type: `application/json`

##### Fields

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `count` | integer | Yes | Number of items returned. |
| `drafts` | array\<object\> | Yes | Ordered by `updated_at` descending. |
| `limit` | integer | No | Limit of number of items returned. |
| `next_page_token` | string | No | Page token for pagination. |

##### Example

```json
{
  "count": 0,
  "drafts": [
    {
      "attachments": [
        {
          "attachment_id": "<string>",
          "content_disposition": "inline",
          "content_id": "<string>",
          "content_type": "<string>",
          "filename": "<string>",
          "size": 0
        }
      ],
      "bcc": [
        "<string>"
      ],
      "cc": [
        "<string>"
      ],
      "draft_id": "<string>",
      "in_reply_to": "<string>",
      "inbox_id": "<string>",
      "labels": [
        "<string>"
      ],
      "preview": "<string>",
      "send_at": "2026-01-01T00:00:00Z",
      "send_status": "scheduled",
      "subject": "<string>",
      "to": [
        "<string>"
      ],
      "updated_at": "2026-01-01T00:00:00Z"
    }
  ],
  "limit": 0,
  "next_page_token": "<string>"
}
```


## Create Draft
Agentry API endpoint.
**Endpoint**: `POST /human/v0/inboxes/{inbox_id}/drafts`
**Authentication**: `Authorization: Bearer <token>`
### Parameters

| Name | In | Type | Required | Description |
|------|----|------|----------|-------------|
| `inbox_id` | path | string | Yes |  |

### Request Body
Content-Type: `application/json`
#### Fields

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `attachments` | array\<object\> | No | Attachments to include in draft. |
| `bcc` | array\<string\> | No | Addresses of BCC recipients. In format `username@domain.com` or `Display Name \<username@domain.com\>`. |
| `cc` | array\<string\> | No | Addresses of CC recipients. In format `username@domain.com` or `Display Name \<username@domain.com\>`. |
| `client_id` | string | No | Client ID of draft. |
| `html` | string | No | HTML body of draft. |
| `in_reply_to` | string | No | ID of message being replied to. |
| `labels` | array\<string\> | No | Labels of draft. |
| `reply_to` | array\<string\> | No | Reply-to addresses. In format `username@domain.com` or `Display Name \<username@domain.com\>`. |
| `send_at` | string | No | Time at which to schedule send draft. |
| `subject` | string | No | Subject of draft. |
| `text` | string | No | Plain text body of draft. |
| `to` | array\<string\> | No | Addresses of recipients. In format `username@domain.com` or `Display Name \<username@domain.com\>`. |

#### Example

```json
{
  "attachments": [
    {
      "content": "<string>",
      "content_disposition": "inline",
      "content_id": "<string>",
      "content_type": "<string>",
      "filename": "<string>",
      "url": "<string>"
    }
  ],
  "bcc": [
    "<string>"
  ],
  "cc": [
    "<string>"
  ],
  "client_id": "<string>",
  "html": "<string>",
  "in_reply_to": "<string>",
  "labels": [
    "<string>"
  ],
  "reply_to": [
    "<string>"
  ],
  "send_at": "2026-01-01T00:00:00Z",
  "subject": "<string>",
  "text": "<string>",
  "to": [
    "<string>"
  ]
}
```

### Responses

#### `201`

Successful response

Content-Type: `application/json`

##### Fields

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `attachments` | array\<object\> | No | Attachments in draft. |
| `bcc` | array\<string\> | No | Addresses of BCC recipients. In format `username@domain.com` or `Display Name \<username@domain.com\>`. |
| `cc` | array\<string\> | No | Addresses of CC recipients. In format `username@domain.com` or `Display Name \<username@domain.com\>`. |
| `client_id` | string | No | Client ID of draft. |
| `created_at` | string | Yes | Time at which draft was created. |
| `draft_id` | string | Yes | ID of draft. |
| `html` | string | No | HTML body of draft. |
| `in_reply_to` | string | No | ID of message being replied to. |
| `inbox_id` | string | Yes | The ID of the inbox. |
| `labels` | array\<string\> | Yes | Labels of draft. |
| `preview` | string | No | Text preview of draft. |
| `references` | array\<string\> | No | IDs of previous messages in thread. |
| `reply_to` | array\<string\> | No | Reply-to addresses. In format `username@domain.com` or `Display Name \<username@domain.com\>`. |
| `send_at` | string | No | Time at which to schedule send draft. |
| `send_status` | `scheduled` \| `sending` \| `failed` | No | Schedule send status of draft. |
| `subject` | string | No | Subject of draft. |
| `text` | string | No | Plain text body of draft. |
| `to` | array\<string\> | No | Addresses of recipients. In format `username@domain.com` or `Display Name \<username@domain.com\>`. |
| `updated_at` | string | Yes | Time at which draft was last updated. |

##### Example

```json
{
  "attachments": [
    {
      "attachment_id": "<string>",
      "content_disposition": "inline",
      "content_id": "<string>",
      "content_type": "<string>",
      "filename": "<string>",
      "size": 0
    }
  ],
  "bcc": [
    "<string>"
  ],
  "cc": [
    "<string>"
  ],
  "client_id": "<string>",
  "created_at": "2026-01-01T00:00:00Z",
  "draft_id": "<string>",
  "html": "<string>",
  "in_reply_to": "<string>",
  "inbox_id": "<string>",
  "labels": [
    "<string>"
  ],
  "preview": "<string>",
  "references": [
    "<string>"
  ],
  "reply_to": [
    "<string>"
  ],
  "send_at": "2026-01-01T00:00:00Z",
  "send_status": "scheduled",
  "subject": "<string>",
  "text": "<string>",
  "to": [
    "<string>"
  ],
  "updated_at": "2026-01-01T00:00:00Z"
}
```


## Get Draft
Agentry API endpoint.
**Endpoint**: `GET /human/v0/inboxes/{inbox_id}/drafts/{draft_id}`
**Authentication**: `Authorization: Bearer <token>`
### Parameters

| Name | In | Type | Required | Description |
|------|----|------|----------|-------------|
| `draft_id` | path | string | Yes |  |
| `inbox_id` | path | string | Yes |  |

### Responses

#### `200`

Successful response

Content-Type: `application/json`

##### Fields

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `attachments` | array\<object\> | No | Attachments in draft. |
| `bcc` | array\<string\> | No | Addresses of BCC recipients. In format `username@domain.com` or `Display Name \<username@domain.com\>`. |
| `cc` | array\<string\> | No | Addresses of CC recipients. In format `username@domain.com` or `Display Name \<username@domain.com\>`. |
| `client_id` | string | No | Client ID of draft. |
| `created_at` | string | Yes | Time at which draft was created. |
| `draft_id` | string | Yes | ID of draft. |
| `html` | string | No | HTML body of draft. |
| `in_reply_to` | string | No | ID of message being replied to. |
| `inbox_id` | string | Yes | The ID of the inbox. |
| `labels` | array\<string\> | Yes | Labels of draft. |
| `preview` | string | No | Text preview of draft. |
| `references` | array\<string\> | No | IDs of previous messages in thread. |
| `reply_to` | array\<string\> | No | Reply-to addresses. In format `username@domain.com` or `Display Name \<username@domain.com\>`. |
| `send_at` | string | No | Time at which to schedule send draft. |
| `send_status` | `scheduled` \| `sending` \| `failed` | No | Schedule send status of draft. |
| `subject` | string | No | Subject of draft. |
| `text` | string | No | Plain text body of draft. |
| `to` | array\<string\> | No | Addresses of recipients. In format `username@domain.com` or `Display Name \<username@domain.com\>`. |
| `updated_at` | string | Yes | Time at which draft was last updated. |

##### Example

```json
{
  "attachments": [
    {
      "attachment_id": "<string>",
      "content_disposition": "inline",
      "content_id": "<string>",
      "content_type": "<string>",
      "filename": "<string>",
      "size": 0
    }
  ],
  "bcc": [
    "<string>"
  ],
  "cc": [
    "<string>"
  ],
  "client_id": "<string>",
  "created_at": "2026-01-01T00:00:00Z",
  "draft_id": "<string>",
  "html": "<string>",
  "in_reply_to": "<string>",
  "inbox_id": "<string>",
  "labels": [
    "<string>"
  ],
  "preview": "<string>",
  "references": [
    "<string>"
  ],
  "reply_to": [
    "<string>"
  ],
  "send_at": "2026-01-01T00:00:00Z",
  "send_status": "scheduled",
  "subject": "<string>",
  "text": "<string>",
  "to": [
    "<string>"
  ],
  "updated_at": "2026-01-01T00:00:00Z"
}
```


## Update Draft
Agentry API endpoint.
**Endpoint**: `PATCH /human/v0/inboxes/{inbox_id}/drafts/{draft_id}`
**Authentication**: `Authorization: Bearer <token>`
### Parameters

| Name | In | Type | Required | Description |
|------|----|------|----------|-------------|
| `draft_id` | path | string | Yes |  |
| `inbox_id` | path | string | Yes |  |

### Request Body
Content-Type: `application/json`
#### Fields

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `bcc` | array\<string\> | No | Addresses of BCC recipients. In format `username@domain.com` or `Display Name \<username@domain.com\>`. |
| `cc` | array\<string\> | No | Addresses of CC recipients. In format `username@domain.com` or `Display Name \<username@domain.com\>`. |
| `html` | string | No | HTML body of draft. |
| `reply_to` | array\<string\> | No | Reply-to addresses. In format `username@domain.com` or `Display Name \<username@domain.com\>`. |
| `send_at` | string | No | Time at which to schedule send draft. |
| `subject` | string | No | Subject of draft. |
| `text` | string | No | Plain text body of draft. |
| `to` | array\<string\> | No | Addresses of recipients. In format `username@domain.com` or `Display Name \<username@domain.com\>`. |

#### Example

```json
{
  "bcc": [
    "<string>"
  ],
  "cc": [
    "<string>"
  ],
  "html": "<string>",
  "reply_to": [
    "<string>"
  ],
  "send_at": "2026-01-01T00:00:00Z",
  "subject": "<string>",
  "text": "<string>",
  "to": [
    "<string>"
  ]
}
```

### Responses

#### `200`

Successful response

Content-Type: `application/json`

##### Fields

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `attachments` | array\<object\> | No | Attachments in draft. |
| `bcc` | array\<string\> | No | Addresses of BCC recipients. In format `username@domain.com` or `Display Name \<username@domain.com\>`. |
| `cc` | array\<string\> | No | Addresses of CC recipients. In format `username@domain.com` or `Display Name \<username@domain.com\>`. |
| `client_id` | string | No | Client ID of draft. |
| `created_at` | string | Yes | Time at which draft was created. |
| `draft_id` | string | Yes | ID of draft. |
| `html` | string | No | HTML body of draft. |
| `in_reply_to` | string | No | ID of message being replied to. |
| `inbox_id` | string | Yes | The ID of the inbox. |
| `labels` | array\<string\> | Yes | Labels of draft. |
| `preview` | string | No | Text preview of draft. |
| `references` | array\<string\> | No | IDs of previous messages in thread. |
| `reply_to` | array\<string\> | No | Reply-to addresses. In format `username@domain.com` or `Display Name \<username@domain.com\>`. |
| `send_at` | string | No | Time at which to schedule send draft. |
| `send_status` | `scheduled` \| `sending` \| `failed` | No | Schedule send status of draft. |
| `subject` | string | No | Subject of draft. |
| `text` | string | No | Plain text body of draft. |
| `to` | array\<string\> | No | Addresses of recipients. In format `username@domain.com` or `Display Name \<username@domain.com\>`. |
| `updated_at` | string | Yes | Time at which draft was last updated. |

##### Example

```json
{
  "attachments": [
    {
      "attachment_id": "<string>",
      "content_disposition": "inline",
      "content_id": "<string>",
      "content_type": "<string>",
      "filename": "<string>",
      "size": 0
    }
  ],
  "bcc": [
    "<string>"
  ],
  "cc": [
    "<string>"
  ],
  "client_id": "<string>",
  "created_at": "2026-01-01T00:00:00Z",
  "draft_id": "<string>",
  "html": "<string>",
  "in_reply_to": "<string>",
  "inbox_id": "<string>",
  "labels": [
    "<string>"
  ],
  "preview": "<string>",
  "references": [
    "<string>"
  ],
  "reply_to": [
    "<string>"
  ],
  "send_at": "2026-01-01T00:00:00Z",
  "send_status": "scheduled",
  "subject": "<string>",
  "text": "<string>",
  "to": [
    "<string>"
  ],
  "updated_at": "2026-01-01T00:00:00Z"
}
```


## Delete Draft
Agentry API endpoint.
**Endpoint**: `DELETE /human/v0/inboxes/{inbox_id}/drafts/{draft_id}`
**Authentication**: `Authorization: Bearer <token>`
### Parameters

| Name | In | Type | Required | Description |
|------|----|------|----------|-------------|
| `draft_id` | path | string | Yes |  |
| `inbox_id` | path | string | Yes |  |

### Responses

#### `200`

Successful response


## Add Draft Attachment
Agentry API endpoint.
**Endpoint**: `POST /human/v0/inboxes/{inbox_id}/drafts/{draft_id}/attachments`
**Authentication**: `Authorization: Bearer <token>`
### Parameters

| Name | In | Type | Required | Description |
|------|----|------|----------|-------------|
| `draft_id` | path | string | Yes |  |
| `inbox_id` | path | string | Yes |  |

### Request Body
Content-Type: `application/json`
#### Fields

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `content` | string | No | Base64 encoded content of attachment. |
| `content_disposition` | `inline` \| `attachment` | No | Content disposition of attachment. |
| `content_id` | string | No | Content ID of attachment. |
| `content_type` | string | No | Content type of attachment. |
| `filename` | string | No | Filename of attachment. |
| `url` | string | No | URL to the attachment. |

#### Example

```json
{
  "content": "<string>",
  "content_disposition": "inline",
  "content_id": "<string>",
  "content_type": "<string>",
  "filename": "<string>",
  "url": "<string>"
}
```

### Responses

#### `200`

Successful response

Content-Type: `application/json`

##### Fields

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `attachment_id` | string | Yes | ID of attachment. |
| `content_disposition` | `inline` \| `attachment` | No | Content disposition of attachment. |
| `content_id` | string | No | Content ID of attachment. |
| `content_type` | string | No | Content type of attachment. |
| `filename` | string | No | Filename of attachment. |
| `size` | integer | Yes | Size of attachment in bytes. |

##### Example

```json
{
  "attachment_id": "<string>",
  "content_disposition": "inline",
  "content_id": "<string>",
  "content_type": "<string>",
  "filename": "<string>",
  "size": 0
}
```


## Get Draft Attachment
Agentry API endpoint.
**Endpoint**: `GET /human/v0/inboxes/{inbox_id}/drafts/{draft_id}/attachments/{attachment_id}`
**Authentication**: `Authorization: Bearer <token>`
### Parameters

| Name | In | Type | Required | Description |
|------|----|------|----------|-------------|
| `attachment_id` | path | string | Yes |  |
| `draft_id` | path | string | Yes |  |
| `inbox_id` | path | string | Yes |  |

### Responses

#### `200`

Successful response

Content-Type: `application/json`

##### Fields

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `attachment_id` | string | Yes | ID of attachment. |
| `content_disposition` | `inline` \| `attachment` | No | Content disposition of attachment. |
| `content_id` | string | No | Content ID of attachment. |
| `content_type` | string | No | Content type of attachment. |
| `download_url` | string | Yes | URL to download the attachment. |
| `expires_at` | string | Yes | Time at which the download URL expires. |
| `filename` | string | No | Filename of attachment. |
| `size` | integer | Yes | Size of attachment in bytes. |

##### Example

```json
{
  "attachment_id": "<string>",
  "content_disposition": "inline",
  "content_id": "<string>",
  "content_type": "<string>",
  "download_url": "<string>",
  "expires_at": "2026-01-01T00:00:00Z",
  "filename": "<string>",
  "size": 0
}
```


## Delete Draft Attachment
Agentry API endpoint.
**Endpoint**: `DELETE /human/v0/inboxes/{inbox_id}/drafts/{draft_id}/attachments/{attachment_id}`
**Authentication**: `Authorization: Bearer <token>`
### Parameters

| Name | In | Type | Required | Description |
|------|----|------|----------|-------------|
| `attachment_id` | path | string | Yes |  |
| `draft_id` | path | string | Yes |  |
| `inbox_id` | path | string | Yes |  |

### Responses

#### `204`

Successful response


## Send Draft
Agentry API endpoint.
**Endpoint**: `POST /human/v0/inboxes/{inbox_id}/drafts/{draft_id}/send`
**Authentication**: `Authorization: Bearer <token>`
### Parameters

| Name | In | Type | Required | Description |
|------|----|------|----------|-------------|
| `draft_id` | path | string | Yes |  |
| `inbox_id` | path | string | Yes |  |

### Responses

#### `200`

Successful response

Content-Type: `application/json`

##### Fields

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `draft_only` | boolean | Yes |  |
| `inbox_id` | string | Yes |  |
| `status` | `draft_created` \| `sent` | Yes |  |

##### Example

```json
{
  "draft_only": true,
  "inbox_id": "<string>",
  "status": "draft_created"
}
```

