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

> Create a Reo.dev list of accounts (by domain) or developers (by email, LinkedIn or GitHub) and get its list_id. List names must be unique.

Create a Reo.dev list of accounts (by domain) or developers (by email, LinkedIn or GitHub) and get its list\_id.

> [!NOTE]
>
> Tool ID: `reo_write_create_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_create_list',
  {
    "name": "Example",
    "type": "ACCOUNT",
    "user": "example"
  },
);

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

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline run reo_write_create_list --input '{
  "name": "Example",
  "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": {
    "id": "id_123",
    "name": "Example",
    "type": "ACCOUNT"
  }
}
```

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

## Input reference

### Overview This API endpoint creates a new list for adding accounts or developers. You will get a list ID in the response which you can use to add accounts or developers to the list based on the type of the list you created. ### Path Parameters None. ### Errors | Code | When it happens | Response body | |---|---|---| | 400 | `type` missing · `type` invalid (including `BUYER`) · `user` header missing | Missing type: `&#123;"type":"about:blank","title":"Bad Request","status":400,"detail":"Please add entity type in the Form","instance":"/api/product/list"&#125;` · Invalid type: `&#123;"title":"Bad Request","status":400,"detail":"Cannot deserialize value of type ..."&#125;` · Missing user header: `&#123;"timestamp":"...","status":400,"error":"Bad Request","path":"/api/product/list"&#125;` (no `detail` field) | | 401 | API key missing, or a read API key used on this host | Empty body | | 500 | `name` missing or empty · See the live schema below for the complete notes.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.name` | `string` | Yes | — | Name of the list. Must be unique. |
| `payload.type` | `"ACCOUNT" \| "DEVELOPER"` | Yes | — | `ACCOUNT` or `DEVELOPER`. - `ACCOUNT`: List of accounts. Add domains to it with Add to a List - `DEVELOPER`: List of developers. Add emails, LinkedIn or GitHub IDs to it with Add to a List Allowed: `ACCOUNT`, `DEVELOPER`. |
| `payload.primaryKey` | `string` | No | — | Column that holds the identifier, for example `domain`. For ACCOUNT lists this is the domain column. for DEVELOPER lists it is the email, GitHub or LinkedIn column. |
| `payload.description` | `string` | No | — | What the list is for. |
| `payload.mapping` | `array` | No | — | Columns in the list. Each item has `clientKey` (column name) and `fieldType` (for example `String`). Documented as required, but not enforced. |
| `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 This API endpoint creates a new list for adding accounts or developers. You will get a list ID in the response which you can use to add accounts or developers to the list based on the type of the list you created. ### Path Parameters None. ### Errors | Code | When it happens | Response body | |---|---|---| | 400 | `type` missing · `type` invalid (including `BUYER`) · `user` header missing | Missing type: `{\"type\":\"about:blank\",\"title\":\"Bad Request\",\"status\":400,\"detail\":\"Please add entity type in the Form\",\"instance\":\"/api/product/list\"}` · Invalid type: `{\"title\":\"Bad Request\",\"status\":400,\"detail\":\"Cannot deserialize value of type ...\"}` · Missing user header: `{\"timestamp\":\"...\",\"status\":400,\"error\":\"Bad Request\",\"path\":\"/api/product/list\"}` (no `detail` field) | | 401 | API key missing, or a read API key used on this host | Empty body | | 500 | `name` missing or empty · A list with the same `name` already exists | `{\"timestamp\":\"...\",\"status\":500,\"error\":\"Internal Server Error\",\"path\":\"/api/product/list\"}` | ### ENUMs | Field | Value | Meaning | |---|---|---| | type | `ACCOUNT` | List of accounts. Add domains to it with Add to a List | | type | `DEVELOPER` | List of developers. Add emails, LinkedIn or GitHub IDs to it with Add to a List | | mapping.fieldType | `String` | Column holds text values | ### Things to Note - Store the returned `id`. It is the `list_id` for Add to a List and Get Accounts / Developers in a List. - The response may not match what was stored. It can return `description: null` and `enriched: false` even when the stored list has a description and is enriched. Read it back with List of \"Lists\" to confirm. - The returned `name` can have its first letter capitalized. - Lists created here show up in List of \"Lists\" with `source: \"API\"`.",
    "properties": {
      "name": {
        "type": "string",
        "description": "Name of the list. Must be unique."
      },
      "type": {
        "type": "string",
        "description": "`ACCOUNT` or `DEVELOPER`. - `ACCOUNT`: List of accounts. Add domains to it with Add to a List - `DEVELOPER`: List of developers. Add emails, LinkedIn or GitHub IDs to it with Add to a List",
        "enum": [
          "ACCOUNT",
          "DEVELOPER"
        ]
      },
      "primaryKey": {
        "type": "string",
        "description": "Column that holds the identifier, for example `domain`. For ACCOUNT lists this is the domain column; for DEVELOPER lists it is the email, GitHub or LinkedIn column."
      },
      "description": {
        "type": "string",
        "description": "What the list is for."
      },
      "mapping": {
        "type": "array",
        "description": "Columns in the list. Each item has `clientKey` (column name) and `fieldType` (for example `String`). Documented as required, but not enforced.",
        "items": {
          "type": "object",
          "properties": {
            "clientKey": {
              "type": "string",
              "description": "Column name."
            },
            "fieldType": {
              "type": "string",
              "description": "Type of the column value, for example `String`. - `String`: Column holds text values",
              "enum": [
                "String"
              ]
            }
          },
          "additionalProperties": false
        }
      },
      "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": [
      "name",
      "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.id` | `string` | No | — | List ID. Store it: it is the `list_id` for Add to a List and Get Accounts / Developers in a List. |
| `result.data.name` | `string` | No | — | List name. The first letter can come back capitalized. |
| `result.data.type` | `"ACCOUNT" \| "DEVELOPER"` | No | — | List type. - `ACCOUNT`: List of accounts. Add domains to it with Add to a List - `DEVELOPER`: List of developers. Add emails, LinkedIn or GitHub IDs to it with Add to a List Allowed: `ACCOUNT`, `DEVELOPER`. |
| `result.data.description` | `string \| null` | No | — | List description. Can return `null` even when one was stored. |
| `result.data.enriched` | `boolean` | No | — | Enrichment setting. Can return `false` even when the stored list is enriched. read it back with Get List of "Lists" to confirm. |
| `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": {
          "id": {
            "type": "string",
            "description": "List ID. Store it: it is the `list_id` for Add to a List and Get Accounts / Developers in a List."
          },
          "name": {
            "type": "string",
            "description": "List name. The first letter can come back capitalized."
          },
          "type": {
            "type": "string",
            "description": "List type. - `ACCOUNT`: List of accounts. Add domains to it with Add to a List - `DEVELOPER`: List of developers. Add emails, LinkedIn or GitHub IDs to it with Add to a List",
            "enum": [
              "ACCOUNT",
              "DEVELOPER"
            ]
          },
          "description": {
            "type": [
              "string",
              "null"
            ],
            "description": "List description. Can return `null` even when one was stored."
          },
          "enriched": {
            "type": "boolean",
            "description": "Enrichment setting. Can return `false` even when the stored list is enriched; read it back with Get List of \"Lists\" to confirm."
          }
        },
        "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.