> ## 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

> List emails logged in Affinity with their subject, participants and timestamps, but not the message body. Includes SDK V2 examples, schemas, and cost.

List emails logged in Affinity with their subject, participants and timestamps, but not the message body.

> [!NOTE]
>
> Tool ID: `affinity_v2_emails_get`

## Run this action

Use the TypeScript SDK for one call. Use `ctx.tools.execute(...)` inside a Play for durable calls, scheduled calls, or CSV processing.

```ts theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
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={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute affinity_v2_emails_get --input '{
  "cursor": "cursor_123",
  "limit": 100,
  "filter": "example"
}' --json
```

## Example response

The static output schema lacks the details for a reliable example. Use `deepline describe 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={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "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={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "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](https://deepline.com/docs/providers/affinity/guide.md)
* [SDK V2 quickstart](https://deepline.com/docs/sdk-v2/quickstart.md)
* [SDK reference](https://deepline.com/docs/sdk-v2/sdk-reference.md)
* [Run tools across a CSV](https://deepline.com/docs/sdk-v2/batch-csv.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.