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

> List deals (opportunities) in your Affinity CRM. Includes SDK V2 guidance, input constraints, response fields, and Deepline credit cost.

List deals (opportunities) in your Affinity CRM.

> [!NOTE]
>
> Tool ID: `affinity_v2_opportunities_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_opportunities_get',
  {
    "cursor": "cursor_123",
    "limit": 100,
    "ids": [
      123
    ]
  },
);

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

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute affinity_v2_opportunities_get --input '{
  "cursor": "cursor_123",
  "limit": 100,
  "ids": [
    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": [
      {
        "id": 123,
        "name": "Example",
        "listId": 123,
        "listName": "Example",
        "isRestricted": true,
        "isRedacted": true
      }
    ],
    "pagination": {
      "prevUrl": "https://example.com",
      "nextUrl": "https://example.com"
    }
  }
}
```

Use `deepline describe affinity_v2_opportunities_get --json` for the latest machine-readable contract.

## Input reference

Paginate through Opportunities in Affinity. Returns basic information but **not** field data on each Opportunity. To access field data on Opportunities, use the `/lists/&#123;list_id&#125;/list-entries` or the `/v2/lists/&#123;list_id&#125;/saved-views/&#123;view_id&#125;/list-entries` GET endpoint. Requires the "Export data from Lists" [permission](https://deepline.com/docs/pages/external-api-v2/permissions).

| 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.ids` | `array` | No | — | Opportunity IDs |

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

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Paginate through Opportunities in Affinity. Returns basic information but **not** field data on each Opportunity. To access field data on Opportunities, use the `/lists/{list_id}/list-entries` or the `/v2/lists/{list_id}/saved-views/{view_id}/list-entries` GET endpoint. Requires the \"Export data from Lists\" [permission](/pages/external-api-v2/permissions).",
    "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"
      },
      "ids": {
        "type": "array",
        "description": "Opportunity IDs",
        "items": {
          "type": "integer",
          "minimum": 1,
          "maximum": 9007199254740991,
          "format": "int64"
        }
      }
    },
    "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[].name` | `string` | Yes | — | — |
| `result.data.data[].listId` | `integer` | Yes | — | Format: `int64`. Minimum: 1. Maximum: 9007199254740991. |
| `result.data.data[].listName` | `string` | Yes | — | — |
| `result.data.data[].isRestricted` | `boolean` | Yes | — | — |
| `result.data.data[].isRedacted` | `boolean` | 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": {
                "id": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 9007199254740991,
                  "format": "int64"
                },
                "name": {
                  "type": "string"
                },
                "listId": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 9007199254740991,
                  "format": "int64"
                },
                "listName": {
                  "type": "string"
                },
                "isRestricted": {
                  "type": "boolean"
                },
                "isRedacted": {
                  "type": "boolean"
                }
              },
              "required": [
                "id",
                "listId",
                "listName",
                "name",
                "isRestricted",
                "isRedacted"
              ],
              "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.