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

# Reo.dev Write API: Reo Write Add To List

> Add up to 1,000 account domains, or developer emails, LinkedIn or GitHub IDs, to a Reo.dev list by its list_id. Includes SDK V2 examples, schemas, and cost.

Add up to 1,000 account domains, or developer emails, LinkedIn or GitHub IDs, to a Reo.dev list by its list\_id.

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

## 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(
  'reo_write_add_to_list',
  {
    "list_id": "123e4567-e89b-42d3-a456-426614174000",
    "entities": [
      {
        "primaryKey": "example",
        "clientKey": "example",
        "fieldType": "String"
      }
    ],
    "type": "ACCOUNT",
    "user": "example"
  },
);

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

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline run reo_write_add_to_list --input '{
  "list_id": "123e4567-e89b-42d3-a456-426614174000",
  "entities": [
    {
      "primaryKey": "example",
      "clientKey": "example",
      "fieldType": "String"
    }
  ],
  "type": "ACCOUNT",
  "user": "example"
}'
```

## 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": {
    "message": "Example message",
    "data": {}
  }
}
```

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

## Input reference

### Overview Adds accounts, developers to an existing List. Identifiers must match the list's type: domains or org\_ids for ACCOUNT-type lists. emails, LinkedIn or GitHub IDs for DEVELOPER-type lists. Use the list ID from **List of "Lists"** or from **Create a List**. ### Path Parameters | Name | Type | Required | Description | |---|---|---|---| | `list_id` | string (UUID) | Yes | ID of the list to add records to | ### Errors | Code | When it happens | Response body | |---|---|---| | 400 | `type` value invalid · `list_id` malformed (not a UUID) · `user` header missing | Invalid type: `&#123;"title":"Bad Request","status":400,"detail":"Cannot deserialize value of type ..."&#125;` · Malformed list\_id: `&#123;"timestamp":"...","status":400,"error":"Bad Request","path":"/api/product/list/notauuid"&#125;` · Missing user header: empty body | | 401 | API key missing, or a read API key used on this host | Empty body See the live schema below for the complete notes.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.list_id` | `string` | Yes | — | ID of the list to add records to. Format: `uuid`. |
| `payload.entities` | `array` | Yes | — | Records to add. Up to 1,000 records per call. Minimum items: 1. Maximum items: 1000. |
| `payload.type` | `"ACCOUNT" \| "DEVELOPER"` | Yes | — | `ACCOUNT` or `DEVELOPER`. Must match the list's type. - `ACCOUNT`: Adding accounts. Identifiers are domains - `DEVELOPER`: Adding developers. Identifiers are emails, LinkedIn or GitHub IDs Allowed: `ACCOUNT`, `DEVELOPER`. |
| `payload.enrich` | `boolean` | No | — | Only applies to ACCOUNT lists. `true`: if the list has enrichment on, the added accounts go through enrichment (consumes credits). `false`: accounts aren't enriched, regardless of the list's setting. |
| `payload.user` | `string` | Yes | — | Email of the Reo workspace user making the change. Reo sends it as the `user` header and shows the list as theirs. |

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

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "### Overview Adds accounts, developers to an existing List. Identifiers must match the list's type: domains or org_ids for ACCOUNT-type lists; emails, LinkedIn or GitHub IDs for DEVELOPER-type lists. Use the list ID from **List of \"Lists\"** or from **Create a List**. ### Path Parameters | Name | Type | Required | Description | |---|---|---|---| | `list_id` | string (UUID) | Yes | ID of the list to add records to | ### Errors | Code | When it happens | Response body | |---|---|---| | 400 | `type` value invalid · `list_id` malformed (not a UUID) · `user` header missing | Invalid type: `{\"title\":\"Bad Request\",\"status\":400,\"detail\":\"Cannot deserialize value of type ...\"}` · Malformed list_id: `{\"timestamp\":\"...\",\"status\":400,\"error\":\"Bad Request\",\"path\":\"/api/product/list/notauuid\"}` · Missing user header: empty body | | 401 | API key missing, or a read API key used on this host | Empty body | | 500 | `list_id` doesn't exist · `entities` is an empty array · `entities` key missing · `type` missing · Empty body `{}` · `type` doesn't match the list (for example `DEVELOPER` on an ACCOUNT list) | `{\"timestamp\":\"...\",\"status\":500,\"error\":\"Internal Server Error\"}` | ### ENUMs | Field | Value | Meaning | |---|---|---| | type | `ACCOUNT` | Adding accounts. Identifiers are domains | | type | `DEVELOPER` | Adding developers. Identifiers are emails, LinkedIn or GitHub IDs | | entities[].fieldType | `String` | Identifier is a text value | | enrich | `true`, `false` | Whether Reo enriches the added records | ### Things to Note - The method is `PUT` and the path is `/api/product/list/{list_id}`. - `enrich: true` consumes credits. - You can add up to 1,000 records per call. - `enrich` only applies to ACCOUNT lists. Accounts are enriched only when `enrich` is `true` and the list itself has enrichment on.",
    "properties": {
      "list_id": {
        "type": "string",
        "description": "ID of the list to add records to.",
        "format": "uuid"
      },
      "entities": {
        "type": "array",
        "description": "Records to add. Up to 1,000 records per call.",
        "minItems": 1,
        "maxItems": 1000,
        "items": {
          "type": "object",
          "properties": {
            "primaryKey": {
              "type": "string",
              "description": "The identifier value. A domain (or org_id) for ACCOUNT lists; an email, LinkedIn or GitHub ID for DEVELOPER lists. For example `acme.com`."
            },
            "clientKey": {
              "type": "string",
              "description": "Column the identifier belongs to, for example `domain`."
            },
            "fieldType": {
              "type": "string",
              "description": "Type of the value, for example `String`. - `String`: Identifier is a text value",
              "enum": [
                "String"
              ]
            }
          },
          "required": [
            "primaryKey",
            "clientKey",
            "fieldType"
          ],
          "additionalProperties": false
        }
      },
      "type": {
        "type": "string",
        "description": "`ACCOUNT` or `DEVELOPER`. Must match the list's type. - `ACCOUNT`: Adding accounts. Identifiers are domains - `DEVELOPER`: Adding developers. Identifiers are emails, LinkedIn or GitHub IDs",
        "enum": [
          "ACCOUNT",
          "DEVELOPER"
        ]
      },
      "enrich": {
        "type": "boolean",
        "description": "Only applies to ACCOUNT lists. `true`: if the list has enrichment on, the added accounts go through enrichment (consumes credits). `false`: accounts aren't enriched, regardless of the list's setting."
      },
      "user": {
        "type": "string",
        "description": "Email of the Reo workspace user making the change. Reo sends it as the `user` header and shows the list as theirs."
      }
    },
    "required": [
      "list_id",
      "entities",
      "type",
      "user"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Standard tool result payload.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `object` | Yes | — | Provider response payload. |
| `result.data.message` | `string` | No | — | `Successful` on success. |
| `result.data.data` | `object \| null` | No | — | Always `null`. |
| `result.meta` | `object` | No | — | Additional response metadata (status, paging). |

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

  ### Output JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Standard tool result payload.",
    "properties": {
      "data": {
        "type": "object",
        "description": "Provider response payload.",
        "properties": {
          "message": {
            "type": "string",
            "description": "`Successful` on success."
          },
          "data": {
            "type": [
              "object",
              "null"
            ],
            "description": "Always `null`."
          }
        },
        "additionalProperties": false
      },
      "meta": {
        "type": "object",
        "description": "Additional response metadata (status, paging).",
        "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

* [Connect integrations](https://deepline.com/docs/integrations.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.