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

# Affinity: V2 Emails Get

> Get metadata on all Emails. Includes SDK V2 and CLI requests, input constraints, response fields, and Deepline credit cost.

Get metadata on all Emails.

<Info>
  Tool ID: `affinity_v2_emails_get`
</Info>

## Run this action

Use the TypeScript SDK for a single call. Put `ctx.tools.execute(...)` inside a Play when the call should be durable, scheduled, or run across a CSV.

```ts theme={null}
import { Deepline } from 'deepline';

const deepline = await Deepline.connect();
const result = await deepline.tools.execute(
  'affinity_v2_emails_get',
  {
    "cursor": "cursor_123",
    "limit": 100,
    "filter": "example"
  },
);

console.log(result.toolResponse.raw);
```

### CLI

```bash theme={null}
deepline tools execute affinity_v2_emails_get --input '{
  "cursor": "cursor_123",
  "limit": 100,
  "filter": "example"
}' --json
```

## Example response

The static output schema is not detailed enough to generate a reliable example. Use `deepline tools get affinity_v2_emails_get --json` for the complete live contract.

## Input reference

Paginate through all emails in Affinity. Returns basic information about the email interaction and its participants. Will only return emails or subject lines that the current authenticated user has permission to see. Email bodies (the message content) are not available through the API. Only metadata such as the subject, participants, and timestamps is returned. If the authenticated user does not have permission to see an email's subject, the `subject` field is obfuscated and returned as `********` rather than the actual subject line. You can filter emails using the `filter` query parameter. The filter parameter is a string that you can specify conditions based on the following properties. | **Property Name** | **Type** | **Allowed Operators** | **Examples** | |---|---|---|---| | `id` | `int64` | `=` | `id=1\\|id=2\\|id=3` | | `sentAt` | `datetime` | `&gt;`, ` =`, ` 2025-01-01T01:00:00Z` | | See the live schema below for the complete notes.

| Name             | Type      | Required | Default | Details                                                                           |
| ---------------- | --------- | -------- | ------- | --------------------------------------------------------------------------------- |
| `payload.cursor` | `string`  | No       | —       | Cursor for the next or previous page                                              |
| `payload.limit`  | `integer` | No       | `100`   | Number of items to include in the page Format: `int32`. Minimum: 1. Maximum: 100. |
| `payload.filter` | `string`  | No       | —       | Filter options                                                                    |

<details>
  <summary>Show raw input schema</summary>

  ### Input JSON Schema

  ```json theme={null}
  {
    "type": "object",
    "description": "Paginate through all emails in Affinity. Returns basic information about the email interaction and its participants. Will only return emails or subject lines that the current authenticated user has permission to see. Email bodies (the message content) are not available through the API. Only metadata such as the subject, participants, and timestamps is returned. If the authenticated user does not have permission to see an email's subject, the `subject` field is obfuscated and returned as `********` rather than the actual subject line. You can filter emails using the `filter` query parameter. The filter parameter is a string that you can specify conditions based on the following properties. | **Property Name** | **Type** | **Allowed Operators** | **Examples** | |---|---|---|---| | `id` | `int64` | `=` | `id=1\\|id=2\\|id=3` | | `sentAt` | `datetime` | `>`, ` =`, ` 2025-01-01T01:00:00Z` | | `createdAt` | `datetime` | `>`, ` =`, ` `, ` =`, ` =2025-01-01T01:00:00Z` |",
    "properties": {
      "cursor": {
        "type": "string",
        "description": "Cursor for the next or previous page"
      },
      "limit": {
        "type": "integer",
        "description": "Number of items to include in the page",
        "default": 100,
        "minimum": 1,
        "maximum": 100,
        "format": "int32"
      },
      "filter": {
        "type": "string",
        "description": "Filter options"
      }
    },
    "required": [],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

| Name                                                           | Type                   | Required | Default | Details                                                 |
| -------------------------------------------------------------- | ---------------------- | -------- | ------- | ------------------------------------------------------- |
| `result.data`                                                  | `object`               | Yes      | —       | —                                                       |
| `result.data.data`                                             | `array`                | Yes      | —       | Maximum items: 100.                                     |
| `result.data.data[].id`                                        | `integer`              | Yes      | —       | Format: `int64`. Minimum: 1. Maximum: 9007199254740991. |
| `result.data.data[].sentAt`                                    | `string`               | Yes      | —       | Format: `date-time`.                                    |
| `result.data.data[].loggingType`                               | `"automated"`          | Yes      | —       | —                                                       |
| `result.data.data[].direction`                                 | `"sent" \| "received"` | Yes      | —       | Allowed: `sent`, `received`.                            |
| `result.data.data[].subject`                                   | `string \| null`       | Yes      | —       | —                                                       |
| `result.data.data[].createdAt`                                 | `string`               | Yes      | —       | Format: `date-time`.                                    |
| `result.data.data[].updatedAt`                                 | `string \| null`       | Yes      | —       | Format: `date-time`.                                    |
| `result.data.data[].from`                                      | `object`               | Yes      | —       | —                                                       |
| `result.data.data[].from.emailAddress`                         | `string \| null`       | Yes      | —       | Format: `email`.                                        |
| `result.data.data[].from.person`                               | `record`               | Yes      | —       | —                                                       |
| `result.data.data[].toParticipantsPreview`                     | `object`               | Yes      | —       | —                                                       |
| `result.data.data[].toParticipantsPreview.data`                | `array`                | Yes      | —       | Maximum items: 100.                                     |
| `result.data.data[].toParticipantsPreview.data[].emailAddress` | `string \| null`       | Yes      | —       | Format: `email`.                                        |
| `result.data.data[].toParticipantsPreview.data[].person`       | `record`               | Yes      | —       | —                                                       |
| `result.data.data[].toParticipantsPreview.totalCount`          | `integer`              | Yes      | —       | Format: `int64`. Minimum: 0. Maximum: 9007199254740991. |
| `result.data.data[].ccParticipantsPreview`                     | `object`               | Yes      | —       | —                                                       |
| `result.data.data[].ccParticipantsPreview.data`                | `array`                | Yes      | —       | Maximum items: 100.                                     |
| `result.data.data[].ccParticipantsPreview.data[].emailAddress` | `string \| null`       | Yes      | —       | Format: `email`.                                        |
| `result.data.data[].ccParticipantsPreview.data[].person`       | `record`               | Yes      | —       | —                                                       |
| `result.data.data[].ccParticipantsPreview.totalCount`          | `integer`              | Yes      | —       | Format: `int64`. Minimum: 0. Maximum: 9007199254740991. |
| `result.data.pagination`                                       | `object`               | Yes      | —       | —                                                       |
| `result.data.pagination.prevUrl`                               | `string \| null`       | No       | —       | Format: `uri`.                                          |
| `result.data.pagination.nextUrl`                               | `string \| null`       | No       | —       | Format: `uri`.                                          |
| `result.meta`                                                  | `object`               | No       | —       | —                                                       |

<details>
  <summary>Show raw output schema</summary>

  ### Output JSON Schema

  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "data": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "maxItems": 100,
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 9007199254740991,
                  "format": "int64"
                },
                "sentAt": {
                  "type": "string",
                  "format": "date-time"
                },
                "loggingType": {
                  "type": "string",
                  "const": "automated"
                },
                "direction": {
                  "type": "string",
                  "enum": [
                    "sent",
                    "received"
                  ]
                },
                "subject": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time"
                },
                "updatedAt": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date-time"
                },
                "from": {
                  "type": "object",
                  "properties": {
                    "emailAddress": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "format": "email"
                    },
                    "person": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  },
                  "required": [
                    "emailAddress",
                    "person"
                  ],
                  "additionalProperties": false
                },
                "toParticipantsPreview": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "maxItems": 100,
                      "items": {
                        "type": "object",
                        "properties": {
                          "emailAddress": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "format": "email"
                          },
                          "person": {
                            "type": "object",
                            "additionalProperties": true
                          }
                        },
                        "required": [
                          "emailAddress",
                          "person"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "totalCount": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 9007199254740991,
                      "format": "int64"
                    }
                  },
                  "required": [
                    "data",
                    "totalCount"
                  ],
                  "additionalProperties": false
                },
                "ccParticipantsPreview": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "maxItems": 100,
                      "items": {
                        "type": "object",
                        "properties": {
                          "emailAddress": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "format": "email"
                          },
                          "person": {
                            "type": "object",
                            "additionalProperties": true
                          }
                        },
                        "required": [
                          "emailAddress",
                          "person"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "totalCount": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 9007199254740991,
                      "format": "int64"
                    }
                  },
                  "required": [
                    "data",
                    "totalCount"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "id",
                "sentAt",
                "loggingType",
                "direction",
                "subject",
                "createdAt",
                "updatedAt",
                "from",
                "toParticipantsPreview",
                "ccParticipantsPreview"
              ],
              "additionalProperties": false
            }
          },
          "pagination": {
            "type": "object",
            "properties": {
              "prevUrl": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "uri"
              },
              "nextUrl": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "uri"
              }
            },
            "additionalProperties": false
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "additionalProperties": false
      },
      "meta": {
        "type": "object",
        "additionalProperties": true
      }
    },
    "required": [
      "data"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Deepline cost

* Pricing model: `fixed` (per call).
* Estimated Deepline credits: `0` per pricing unit.
* Provider-native pricing may still exist outside Deepline credit billing.

## Related documentation

* [Affinity provider guide](/docs/providers/affinity/guide)
* [SDK V2 quickstart](/docs/sdk-v2/quickstart)
* [SDK reference](/docs/sdk-v2/sdk-reference)
* [Run tools across a CSV](/docs/sdk-v2/batch-csv)
