> ## 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 Persons Person ID Relationships Get

> Get Relationships for a Person. Includes SDK V2 and CLI requests, input constraints, response fields, and Deepline credit cost.

Get Relationships for a Person.

<Info>
  Tool ID: `affinity_v2_persons_person_id_relationships_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_persons_person_id_relationships_get',
  {
    "personId": 123
  },
);

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

### CLI

```bash theme={null}
deepline tools execute affinity_v2_persons_person_id_relationships_get --input '{
  "personId": 123
}' --json
```

## Example response

The SDK exposes this shape at `result.toolResponse.raw`. Values below are representative.

```json theme={null}
{
  "data": {
    "data": [
      {
        "person1": {
          "id": 123,
          "firstName": "Jane",
          "lastName": "Doe",
          "primaryEmailAddress": "jane.doe@example.com"
        },
        "person2": {
          "id": 123,
          "firstName": "Jane",
          "lastName": "Doe",
          "primaryEmailAddress": "jane.doe@example.com"
        },
        "interactionScore": 1,
        "linkedIn": {}
      }
    ],
    "pagination": {
      "prevUrl": "https://example.com",
      "nextUrl": "https://example.com"
    }
  }
}
```

Use `deepline tools get affinity_v2_persons_person_id_relationships_get --json` for the latest machine-readable contract.

## Input reference

Returns the relationships for a given person, including the interaction score that measures the strength of each relationship based on communication patterns such as emails, meetings, and other interactions. Each relationship includes two persons (person1 and person2) who have a connection. ## Interaction score The `interactionScore` is a value between `0.0` and `1.0` that reflects how frequently the two persons interact across email, calendar events, and chat messages. The more interactions, the higher the score. Recent interactions are weighted slightly higher than older ones. As rough guidance, scores at or above `0.7` typically indicate two persons that communicate regularly, scores between `0.4` and `0.7` indicate occasional communication, and scores below `0.4` indicate only sporadic communication. ## LinkedIn connections The collection also includes relationships based on a See the live schema below for the complete notes.

| Name                 | Type      | Required | Default                 | Details                                                                                       |
| -------------------- | --------- | -------- | ----------------------- | --------------------------------------------------------------------------------------------- |
| `payload.personId`   | `integer` | Yes      | —                       | Person ID Format: `int64`. Minimum: 1. Maximum: 9007199254740991.                             |
| `payload.filter`     | `string`  | No       | —                       | Filter options                                                                                |
| `payload.orderBy`    | `array`   | No       | `["-interactionScore"]` | Properties to sort by. Defaults to `-interactionScore`. Prefix with `-` for descending order. |
| `payload.cursor`     | `string`  | No       | —                       | Cursor for the next or previous page                                                          |
| `payload.limit`      | `integer` | No       | `20`                    | Number of items to include in the page Format: `int32`. Minimum: 1. Maximum: 100.             |
| `payload.totalCount` | `boolean` | No       | `false`                 | Include total count of the collection in the pagination response                              |

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

  ### Input JSON Schema

  ```json theme={null}
  {
    "type": "object",
    "description": "Returns the relationships for a given person, including the interaction score that measures the strength of each relationship based on communication patterns such as emails, meetings, and other interactions. Each relationship includes two persons (person1 and person2) who have a connection. ## Interaction score The `interactionScore` is a value between `0.0` and `1.0` that reflects how frequently the two persons interact across email, calendar events, and chat messages. The more interactions, the higher the score. Recent interactions are weighted slightly higher than older ones. As rough guidance, scores at or above `0.7` typically indicate two persons that communicate regularly, scores between `0.4` and `0.7` indicate occasional communication, and scores below `0.4` indicate only sporadic communication. ## LinkedIn connections The collection also includes relationships based on a LinkedIn connection between the given person and their internal team member counterpart. Whenever a LinkedIn connection exists between the two persons in a relationship, `linkedIn` is populated with the date the connection was made.`linkedIn` is `null` when no LinkedIn connection exists between the two persons. Note that LinkedIn-based relationships which do not have any interaction data will have an `interactionScore` of `0`. ## Filters You can filter relationships using the `filter` query parameter. The filter parameter is a string that you can specify conditions based on the following properties. | **Property Name** | **Type** | **Description** | **Allowed Operators** | **Examples** | |---|---|---|---|---| | `interactionScore` | `double` | Strength of the relationship, between `0.0` and `1.0`. Higher means stronger. | `>`, ` =`, ` =0.5` | ## Sorting You can sort relationships using the `orderBy` query parameter. `interactionScore` is the only sortable property.",
    "properties": {
      "personId": {
        "type": "integer",
        "description": "Person ID",
        "minimum": 1,
        "maximum": 9007199254740991,
        "format": "int64"
      },
      "filter": {
        "type": "string",
        "description": "Filter options"
      },
      "orderBy": {
        "type": "array",
        "description": "Properties to sort by. Defaults to `-interactionScore`. Prefix with `-` for descending order.",
        "default": [
          "-interactionScore"
        ],
        "items": {
          "type": "string",
          "enum": [
            "interactionScore",
            "-interactionScore"
          ]
        }
      },
      "cursor": {
        "type": "string",
        "description": "Cursor for the next or previous page"
      },
      "limit": {
        "type": "integer",
        "description": "Number of items to include in the page",
        "default": 20,
        "minimum": 1,
        "maximum": 100,
        "format": "int32"
      },
      "totalCount": {
        "type": "boolean",
        "description": "Include total count of the collection in the pagination response",
        "default": false
      }
    },
    "required": [
      "personId"
    ],
    "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[].person1`                     | `object`         | Yes      | —       | —                                                       |
| `result.data.data[].person1.id`                  | `integer`        | Yes      | —       | Format: `int64`. Minimum: 1. Maximum: 9007199254740991. |
| `result.data.data[].person1.firstName`           | `string \| null` | Yes      | —       | —                                                       |
| `result.data.data[].person1.lastName`            | `string \| null` | Yes      | —       | —                                                       |
| `result.data.data[].person1.primaryEmailAddress` | `string \| null` | Yes      | —       | Format: `email`.                                        |
| `result.data.data[].person2`                     | `object`         | Yes      | —       | —                                                       |
| `result.data.data[].person2.id`                  | `integer`        | Yes      | —       | Format: `int64`. Minimum: 1. Maximum: 9007199254740991. |
| `result.data.data[].person2.firstName`           | `string \| null` | Yes      | —       | —                                                       |
| `result.data.data[].person2.lastName`            | `string \| null` | Yes      | —       | —                                                       |
| `result.data.data[].person2.primaryEmailAddress` | `string \| null` | Yes      | —       | Format: `email`.                                        |
| `result.data.data[].interactionScore`            | `number`         | Yes      | —       | Format: `double`. Minimum: 0. Maximum: 1.               |
| `result.data.data[].linkedIn`                    | `record`         | Yes      | —       | —                                                       |
| `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": {
                "person1": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "minimum": 1,
                      "maximum": 9007199254740991,
                      "format": "int64"
                    },
                    "firstName": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "lastName": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "primaryEmailAddress": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "format": "email"
                    }
                  },
                  "required": [
                    "id",
                    "firstName",
                    "lastName",
                    "primaryEmailAddress"
                  ],
                  "additionalProperties": false
                },
                "person2": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "minimum": 1,
                      "maximum": 9007199254740991,
                      "format": "int64"
                    },
                    "firstName": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "lastName": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "primaryEmailAddress": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "format": "email"
                    }
                  },
                  "required": [
                    "id",
                    "firstName",
                    "lastName",
                    "primaryEmailAddress"
                  ],
                  "additionalProperties": false
                },
                "interactionScore": {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 1,
                  "format": "double"
                },
                "linkedIn": {
                  "type": "object",
                  "additionalProperties": true
                }
              },
              "required": [
                "person1",
                "person2",
                "interactionScore",
                "linkedIn"
              ],
              "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)
