> ## 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 Companies Company ID Relationships Get

> List a company's relationships in Affinity with their interaction strength scores from emails and meetings. Includes SDK V2 examples, schemas, and cost.

List a company's relationships in Affinity with their interaction strength scores from emails and meetings.

> [!NOTE]
>
> Tool ID: `affinity_v2_companies_company_id_relationships_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_companies_company_id_relationships_get',
  {
    "companyId": 123
  },
);

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

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute affinity_v2_companies_company_id_relationships_get --input '{
  "companyId": 123
}' --json
```

## Example response

The SDK returns this shape at `result.toolResponse.raw`. The example values illustrate the response.

```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
{
  "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 describe affinity_v2_companies_company_id_relationships_get --json` for the latest machine-readable contract.

## Input reference

Returns the relationships for a given company, 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 related to this company. ## 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 See the live schema below for the complete notes.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.companyId` | `integer` | Yes | — | Company 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={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Returns the relationships for a given company, 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 related to this company. ## 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 an internal team member and a person related to this company. 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 between the two persons is known by Affinity. 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": {
      "companyId": {
        "type": "integer",
        "description": "Company 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": [
      "companyId"
    ],
    "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={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "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](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.