# Library and synced tables

Source: https://neondeerdata.com/docs/api/lookup-tables/sources/

Install a library table or synchronize a table with an Attio status attribute.

## List library tables

```http
GET /v1/lookup-tables/starters

```

Lists the ready-made, template and synced tables you can add.

Requires `lookup_tables:config:read`. The connection also needs access to the relevant tables, objects, or workflows.

MCP action: `list_lookup_starters`. Its argument names match the fields below; an HTTP header is passed using its argument name in MCP.

No request parameters are needed.

### Response

| HTTP status | Result                                                                |
| ----------- | --------------------------------------------------------------------- |
| `200`       | The requested result. Asynchronous work returns an operation to poll. |

Required fields are required within their containing object. Notes identify fields that apply only to a particular response alternative.

| Response field             | Type                                                                                                                          | Required in object | Notes |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ------------------ | ----- |
| `data`                     | array of object                                                                                                               | Yes                |       |
| `data[].object`            | `"lookup_starter"`                                                                                                            | Yes                |       |
| `data[].id`                | string                                                                                                                        | Yes                |       |
| `data[].name`              | string                                                                                                                        | Yes                |       |
| `data[].description`       | string                                                                                                                        | Yes                |       |
| `data[].category`          | `"synced"`, `"ready-made"`, `"template"`                                                                                      | Yes                |       |
| `data[].fields`            | array of object                                                                                                               | Yes                |       |
| `data[].fields[].key`      | string                                                                                                                        | Yes                |       |
| `data[].fields[].name`     | string                                                                                                                        | Yes                |       |
| `data[].fields[].type`     | `"text"`, `"number"`, `"boolean"`, `"date"`, `"timestamp"`, `"email"`, `"phone"`, `"domain"`, `"url"`, `"member"`, `"record"` | Yes                |       |
| `data[].lookup_field_keys` | array of string                                                                                                               | Yes                |       |
| `data[].row_count`         | integer                                                                                                                       | Yes                |       |

### Errors

| HTTP status | Meaning                                                                                                                                           |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `400`       | One of: credential_in_url, invalid_parameter, unknown_parameter.                                                                                  |
| `401`       | One of: missing_credential, invalid_credential, credential_expired, credential_revoked.                                                           |
| `402`       | One of: payment_overdue.                                                                                                                          |
| `403`       | The current permissions, plan or policy do not allow this request.                                                                                |
| `404`       | One of: not_found.                                                                                                                                |
| `409`       | The request conflicts with current resource state, authorization or an earlier request. Read the error code and current resource before retrying. |
| `410`       | The requested resource or retained recovery data has expired.                                                                                     |
| `413`       | One of: request_too_large.                                                                                                                        |
| `422`       | A field, filter or selection cannot be used for this request.                                                                                     |
| `423`       | One of: organization_reopening.                                                                                                                   |
| `428`       | One of: customer_agreement_required.                                                                                                              |
| `429`       | One of: rate_limited.                                                                                                                             |
| `503`       | One of: service_unavailable.                                                                                                                      |

See [errors and recovery](https://neondeerdata.com/docs/api/errors/) and [safe retries](https://neondeerdata.com/docs/api/requests/) before repeating a write.

## Get library table rows

```http
GET /v1/lookup-tables/starters/{starter_id}

```

Gets the first rows of a ready-made or template table, before you add it.

Requires `lookup_tables:config:read`. The connection also needs access to the relevant tables, objects, or workflows.

MCP action: `get_lookup_starter_rows`. Its argument names match the fields below; an HTTP header is passed using its argument name in MCP.

### Parameters

| Name         | Send in | Required | Type or allowed values | Notes |
| ------------ | ------- | -------- | ---------------------- | ----- |
| `starter_id` | path    | Yes      | string                 |       |

### Response

| HTTP status | Result                                                                |
| ----------- | --------------------------------------------------------------------- |
| `200`       | The requested result. Asynchronous work returns an operation to poll. |

Required fields are required within their containing object. Notes identify fields that apply only to a particular response alternative.

| Response field | Type                    | Required in object | Notes |
| -------------- | ----------------------- | ------------------ | ----- |
| `data`         | object                  | Yes                |       |
| `data.object`  | `"lookup_starter_rows"` | Yes                |       |
| `data.id`      | string                  | Yes                |       |
| `data.rows`    | array of object         | Yes                |       |

### Errors

| HTTP status | Meaning                                                                                                                                           |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `400`       | One of: credential_in_url, invalid_parameter, unknown_parameter.                                                                                  |
| `401`       | One of: missing_credential, invalid_credential, credential_expired, credential_revoked.                                                           |
| `402`       | One of: payment_overdue.                                                                                                                          |
| `403`       | The current permissions, plan or policy do not allow this request.                                                                                |
| `404`       | One of: not_found.                                                                                                                                |
| `409`       | The request conflicts with current resource state, authorization or an earlier request. Read the error code and current resource before retrying. |
| `410`       | The requested resource or retained recovery data has expired.                                                                                     |
| `413`       | One of: request_too_large.                                                                                                                        |
| `422`       | A field, filter or selection cannot be used for this request.                                                                                     |
| `423`       | One of: organization_reopening.                                                                                                                   |
| `428`       | One of: customer_agreement_required.                                                                                                              |
| `429`       | One of: rate_limited.                                                                                                                             |
| `503`       | One of: service_unavailable.                                                                                                                      |

See [errors and recovery](https://neondeerdata.com/docs/api/errors/) and [safe retries](https://neondeerdata.com/docs/api/requests/) before repeating a write.

## Add library table

```http
POST /v1/lookup-tables/starters/{starter_id}/install

```

Adds a table from the library. name applies to the Attio workspace members table only. Needs an API key that can use every table. A large table's rows are added after: get its settings until pending_work is null.

Requires `lookup_tables:config:write`. The connection also needs access to the relevant tables, objects, or workflows.

MCP action: `create_lookup_table_from_starter`. Its argument names match the fields below; an HTTP header is passed using its argument name in MCP.

### Parameters

| Name          | Send in                   | Required | Type or allowed values | Notes |
| ------------- | ------------------------- | -------- | ---------------------- | ----- |
| `starter_id`  | path                      | Yes      | string                 |       |
| `name`        | JSON body                 | No       | string                 |       |
| `request_key` | Header: `Idempotency-Key` | Yes      | string                 |       |

### Response

| HTTP status | Result                                                                |
| ----------- | --------------------------------------------------------------------- |
| `201`       | The requested result. Asynchronous work returns an operation to poll. |

Required fields are required within their containing object. Notes identify fields that apply only to a particular response alternative.

| Response field                    | Type                                                                                                                          | Required in object | Notes                                                                       |
| --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ------------------ | --------------------------------------------------------------------------- |
| `data`                            | object                                                                                                                        | Yes                |                                                                             |
| `data.object`                     | `"lookup_table_configuration"`                                                                                                | Yes                |                                                                             |
| `data.id`                         | string                                                                                                                        | Yes                |                                                                             |
| `data.name`                       | string                                                                                                                        | Yes                |                                                                             |
| `data.kind`                       | `"generic"`, `"member_metadata"`, `"status_metadata"`, `"app_owned"`                                                          | Yes                |                                                                             |
| `data.version`                    | integer                                                                                                                       | Yes                |                                                                             |
| `data.fields`                     | array of object                                                                                                               | Yes                |                                                                             |
| `data.fields[].object`            | `"lookup_field"`                                                                                                              | Yes                |                                                                             |
| `data.fields[].id`                | string                                                                                                                        | Yes                |                                                                             |
| `data.fields[].key`               | string                                                                                                                        | Yes                |                                                                             |
| `data.fields[].name`              | string                                                                                                                        | Yes                |                                                                             |
| `data.fields[].type`              | `"text"`, `"number"`, `"boolean"`, `"date"`, `"timestamp"`, `"email"`, `"phone"`, `"domain"`, `"url"`, `"member"`, `"record"` | Yes                |                                                                             |
| `data.fields[].workflow_readable` | boolean                                                                                                                       | Yes                |                                                                             |
| `data.fields[].managed_by`        | `"customer"`, `"attio"`, `"slack"`, `"system"`                                                                                | Yes                |                                                                             |
| `data.fields[].type_locked`       | boolean                                                                                                                       | Yes                |                                                                             |
| `data.fields[].version`           | integer                                                                                                                       | Yes                |                                                                             |
| `data.lookups`                    | array of object                                                                                                               | Yes                |                                                                             |
| `data.lookups[].object`           | `"lookup_definition"`                                                                                                         | Yes                |                                                                             |
| `data.lookups[].id`               | string                                                                                                                        | Yes                |                                                                             |
| `data.lookups[].field_id`         | string                                                                                                                        | Yes                |                                                                             |
| `data.lookups[].default`          | boolean                                                                                                                       | Yes                |                                                                             |
| `data.pending_work`               | object or null                                                                                                                | Yes                |                                                                             |
| `data.pending_work.kind`          | `"starter"`, `"lookup_key"`, `"field_type"`                                                                                   | Yes                | When data.pending_work.kind is `"starter"`, `"lookup_key"`, `"field_type"`. |
| `data.pending_work.state`         | `"running"`, `"failed"`                                                                                                       | Yes                | When data.pending_work.kind is `"starter"`, `"lookup_key"`, `"field_type"`. |
| `data.pending_work.problem`       | string or null                                                                                                                | Yes                | When data.pending_work.kind is `"starter"`, `"lookup_key"`, `"field_type"`. |
| `data.import_id`                  | string or null                                                                                                                | Yes                |                                                                             |

### Errors

| HTTP status | Meaning                                                                                                                                           |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `400`       | One of: credential_in_url, invalid_parameter, unknown_parameter, invalid_request.                                                                 |
| `401`       | One of: missing_credential, invalid_credential, credential_expired, credential_revoked.                                                           |
| `402`       | One of: payment_overdue.                                                                                                                          |
| `403`       | The current permissions, plan or policy do not allow this request.                                                                                |
| `404`       | One of: not_found.                                                                                                                                |
| `409`       | The request conflicts with current resource state, authorization or an earlier request. Read the error code and current resource before retrying. |
| `410`       | The requested resource or retained recovery data has expired.                                                                                     |
| `413`       | One of: request_too_large.                                                                                                                        |
| `422`       | A field, filter or selection cannot be used for this request.                                                                                     |
| `423`       | One of: organization_reopening.                                                                                                                   |
| `428`       | One of: customer_agreement_required.                                                                                                              |
| `429`       | One of: rate_limited.                                                                                                                             |
| `503`       | One of: service_unavailable.                                                                                                                      |

See [errors and recovery](https://neondeerdata.com/docs/api/errors/) and [safe retries](https://neondeerdata.com/docs/api/requests/) before repeating a write.

## List status sources

```http
GET /v1/lookup-tables/status-sources

```

Lists the Attio objects and lists that have a status attribute. Each is null when your Attio connection can't read it.

Requires `lookup_tables:config:read`. The connection also needs access to the relevant tables, objects, or workflows.

MCP action: `list_lookup_status_sources`. Its argument names match the fields below; an HTTP header is passed using its argument name in MCP.

No request parameters are needed.

### Response

| HTTP status | Result                                                                |
| ----------- | --------------------------------------------------------------------- |
| `200`       | The requested result. Asynchronous work returns an operation to poll. |

Required fields are required within their containing object. Notes identify fields that apply only to a particular response alternative.

| Response field                | Type                    | Required in object | Notes          |
| ----------------------------- | ----------------------- | ------------------ | -------------- |
| `data`                        | object                  | Yes                |                |
| `data.objects`                | array of object or null | Yes                |                |
| `data.objects[].id`           | string                  | Yes                | Alternative 1. |
| `data.objects[].name`         | string                  | Yes                | Alternative 1. |
| `data.objects[].has_statuses` | boolean                 | Yes                | Alternative 1. |
| `data.lists`                  | array of object or null | Yes                |                |
| `data.lists[].id`             | string                  | Yes                | Alternative 1. |
| `data.lists[].name`           | string                  | Yes                | Alternative 1. |
| `data.lists[].has_statuses`   | boolean                 | Yes                | Alternative 1. |

### Errors

| HTTP status | Meaning                                                                                                                                           |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `400`       | One of: credential_in_url, invalid_parameter, unknown_parameter.                                                                                  |
| `401`       | One of: missing_credential, invalid_credential, credential_expired, credential_revoked.                                                           |
| `402`       | One of: payment_overdue.                                                                                                                          |
| `403`       | The current permissions, plan or policy do not allow this request.                                                                                |
| `404`       | One of: not_found.                                                                                                                                |
| `409`       | The request conflicts with current resource state, authorization or an earlier request. Read the error code and current resource before retrying. |
| `410`       | The requested resource or retained recovery data has expired.                                                                                     |
| `413`       | One of: request_too_large.                                                                                                                        |
| `422`       | A field, filter or selection cannot be used for this request.                                                                                     |
| `423`       | One of: organization_reopening.                                                                                                                   |
| `428`       | One of: customer_agreement_required.                                                                                                              |
| `429`       | One of: rate_limited.                                                                                                                             |
| `503`       | One of: service_unavailable.                                                                                                                      |

See [errors and recovery](https://neondeerdata.com/docs/api/errors/) and [safe retries](https://neondeerdata.com/docs/api/requests/) before repeating a write.

## Get deal stages source

```http
GET /v1/lookup-tables/status-sources/deal-stages

```

Finds your Attio Deals object's Stage attribute, its statuses, and the deal stages table if you added one.

Requires `lookup_tables:config:read`. The connection also needs access to the relevant tables, objects, or workflows.

MCP action: `get_lookup_deal_stages_source`. Its argument names match the fields below; an HTTP header is passed using its argument name in MCP.

No request parameters are needed.

### Response

| HTTP status | Result                                                                |
| ----------- | --------------------------------------------------------------------- |
| `200`       | The requested result. Asynchronous work returns an operation to poll. |

Required fields are required within their containing object. Notes identify fields that apply only to a particular response alternative.

| Response field         | Type                      | Required in object | Notes          |
| ---------------------- | ------------------------- | ------------------ | -------------- |
| `data`                 | object                    | Yes                |                |
| `data.found`           | `false`                   | Yes                | Alternative 1. |
| `data.missing`         | `"object"`, `"attribute"` | Yes                | Alternative 1. |
| `data.found`           | `true`                    | Yes                | Alternative 2. |
| `data.table_id`        | string or null            | Yes                | Alternative 2. |
| `data.statuses`        | array of object           | Yes                | Alternative 2. |
| `data.statuses[].id`   | string                    | Yes                | Alternative 2. |
| `data.statuses[].name` | string                    | Yes                | Alternative 2. |

### Errors

| HTTP status | Meaning                                                                                                                                           |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `400`       | One of: credential_in_url, invalid_parameter, unknown_parameter.                                                                                  |
| `401`       | One of: missing_credential, invalid_credential, credential_expired, credential_revoked.                                                           |
| `402`       | One of: payment_overdue.                                                                                                                          |
| `403`       | The current permissions, plan or policy do not allow this request.                                                                                |
| `404`       | One of: not_found.                                                                                                                                |
| `409`       | The request conflicts with current resource state, authorization or an earlier request. Read the error code and current resource before retrying. |
| `410`       | The requested resource or retained recovery data has expired.                                                                                     |
| `413`       | One of: request_too_large.                                                                                                                        |
| `422`       | A field, filter or selection cannot be used for this request.                                                                                     |
| `423`       | One of: organization_reopening.                                                                                                                   |
| `428`       | One of: customer_agreement_required.                                                                                                              |
| `429`       | One of: rate_limited.                                                                                                                             |
| `503`       | One of: service_unavailable.                                                                                                                      |

See [errors and recovery](https://neondeerdata.com/docs/api/errors/) and [safe retries](https://neondeerdata.com/docs/api/requests/) before repeating a write.

## List status attributes

```http
GET /v1/lookup-tables/status-sources/{source}/{source_id}/attributes

```

Lists the status attributes of one Attio object or list.

Requires `lookup_tables:config:read`. The connection also needs access to the relevant tables, objects, or workflows.

MCP action: `list_lookup_status_attributes`. Its argument names match the fields below; an HTTP header is passed using its argument name in MCP.

### Parameters

| Name        | Send in | Required | Type or allowed values | Notes |
| ----------- | ------- | -------- | ---------------------- | ----- |
| `source`    | path    | Yes      | `"objects"`, `"lists"` |       |
| `source_id` | path    | Yes      | string                 |       |

### Response

| HTTP status | Result                                                                |
| ----------- | --------------------------------------------------------------------- |
| `200`       | The requested result. Asynchronous work returns an operation to poll. |

Required fields are required within their containing object. Notes identify fields that apply only to a particular response alternative.

| Response field | Type            | Required in object | Notes |
| -------------- | --------------- | ------------------ | ----- |
| `data`         | array of object | Yes                |       |
| `data[].id`    | string          | Yes                |       |
| `data[].name`  | string          | Yes                |       |

### Errors

| HTTP status | Meaning                                                                                                                                           |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `400`       | One of: credential_in_url, invalid_parameter, unknown_parameter.                                                                                  |
| `401`       | One of: missing_credential, invalid_credential, credential_expired, credential_revoked.                                                           |
| `402`       | One of: payment_overdue.                                                                                                                          |
| `403`       | The current permissions, plan or policy do not allow this request.                                                                                |
| `404`       | One of: not_found.                                                                                                                                |
| `409`       | The request conflicts with current resource state, authorization or an earlier request. Read the error code and current resource before retrying. |
| `410`       | The requested resource or retained recovery data has expired.                                                                                     |
| `413`       | One of: request_too_large.                                                                                                                        |
| `422`       | A field, filter or selection cannot be used for this request.                                                                                     |
| `423`       | One of: organization_reopening.                                                                                                                   |
| `428`       | One of: customer_agreement_required.                                                                                                              |
| `429`       | One of: rate_limited.                                                                                                                             |
| `503`       | One of: service_unavailable.                                                                                                                      |

See [errors and recovery](https://neondeerdata.com/docs/api/errors/) and [safe retries](https://neondeerdata.com/docs/api/requests/) before repeating a write.

## Add status table

```http
POST /v1/lookup-tables/status-tables

```

Adds a table synced from one Attio status attribute, or the deal stages table with preset deal-stages. If that table already exists, it is answered with 200\. Needs an API key that can use every table.

Requires `lookup_tables:config:write`. The connection also needs access to the relevant tables, objects, or workflows.

MCP action: `create_lookup_status_table`. Its argument names match the fields below; an HTTP header is passed using its argument name in MCP.

### Parameters

| Name           | Send in                   | Required | Type or allowed values | Notes |
| -------------- | ------------------------- | -------- | ---------------------- | ----- |
| `preset`       | JSON body                 | No       | `"deal-stages"`        |       |
| `source`       | JSON body                 | No       | `"objects"`, `"lists"` |       |
| `source_id`    | JSON body                 | No       | string (uuid)          |       |
| `attribute_id` | JSON body                 | No       | string (uuid)          |       |
| `name`         | JSON body                 | No       | string                 |       |
| `request_key`  | Header: `Idempotency-Key` | Yes      | string                 |       |

### Response

| HTTP status | Result                                                                |
| ----------- | --------------------------------------------------------------------- |
| `200`       | The requested result. Asynchronous work returns an operation to poll. |
| `201`       | The requested result. Asynchronous work returns an operation to poll. |

Required fields are required within their containing object. Notes identify fields that apply only to a particular response alternative.

| Response field                    | Type                                                                                                                          | Required in object | Notes                                                                       |
| --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ------------------ | --------------------------------------------------------------------------- |
| `data`                            | object                                                                                                                        | Yes                |                                                                             |
| `data.object`                     | `"lookup_table_configuration"`                                                                                                | Yes                |                                                                             |
| `data.id`                         | string                                                                                                                        | Yes                |                                                                             |
| `data.name`                       | string                                                                                                                        | Yes                |                                                                             |
| `data.kind`                       | `"generic"`, `"member_metadata"`, `"status_metadata"`, `"app_owned"`                                                          | Yes                |                                                                             |
| `data.version`                    | integer                                                                                                                       | Yes                |                                                                             |
| `data.fields`                     | array of object                                                                                                               | Yes                |                                                                             |
| `data.fields[].object`            | `"lookup_field"`                                                                                                              | Yes                |                                                                             |
| `data.fields[].id`                | string                                                                                                                        | Yes                |                                                                             |
| `data.fields[].key`               | string                                                                                                                        | Yes                |                                                                             |
| `data.fields[].name`              | string                                                                                                                        | Yes                |                                                                             |
| `data.fields[].type`              | `"text"`, `"number"`, `"boolean"`, `"date"`, `"timestamp"`, `"email"`, `"phone"`, `"domain"`, `"url"`, `"member"`, `"record"` | Yes                |                                                                             |
| `data.fields[].workflow_readable` | boolean                                                                                                                       | Yes                |                                                                             |
| `data.fields[].managed_by`        | `"customer"`, `"attio"`, `"slack"`, `"system"`                                                                                | Yes                |                                                                             |
| `data.fields[].type_locked`       | boolean                                                                                                                       | Yes                |                                                                             |
| `data.fields[].version`           | integer                                                                                                                       | Yes                |                                                                             |
| `data.lookups`                    | array of object                                                                                                               | Yes                |                                                                             |
| `data.lookups[].object`           | `"lookup_definition"`                                                                                                         | Yes                |                                                                             |
| `data.lookups[].id`               | string                                                                                                                        | Yes                |                                                                             |
| `data.lookups[].field_id`         | string                                                                                                                        | Yes                |                                                                             |
| `data.lookups[].default`          | boolean                                                                                                                       | Yes                |                                                                             |
| `data.pending_work`               | object or null                                                                                                                | Yes                |                                                                             |
| `data.pending_work.kind`          | `"starter"`, `"lookup_key"`, `"field_type"`                                                                                   | Yes                | When data.pending_work.kind is `"starter"`, `"lookup_key"`, `"field_type"`. |
| `data.pending_work.state`         | `"running"`, `"failed"`                                                                                                       | Yes                | When data.pending_work.kind is `"starter"`, `"lookup_key"`, `"field_type"`. |
| `data.pending_work.problem`       | string or null                                                                                                                | Yes                | When data.pending_work.kind is `"starter"`, `"lookup_key"`, `"field_type"`. |
| `data.import_id`                  | string or null                                                                                                                | Yes                |                                                                             |

### Errors

| HTTP status | Meaning                                                                                                                                           |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `400`       | One of: credential_in_url, invalid_parameter, unknown_parameter, invalid_request.                                                                 |
| `401`       | One of: missing_credential, invalid_credential, credential_expired, credential_revoked.                                                           |
| `402`       | One of: payment_overdue.                                                                                                                          |
| `403`       | The current permissions, plan or policy do not allow this request.                                                                                |
| `404`       | One of: not_found.                                                                                                                                |
| `409`       | The request conflicts with current resource state, authorization or an earlier request. Read the error code and current resource before retrying. |
| `410`       | The requested resource or retained recovery data has expired.                                                                                     |
| `413`       | One of: request_too_large.                                                                                                                        |
| `422`       | A field, filter or selection cannot be used for this request.                                                                                     |
| `423`       | One of: organization_reopening.                                                                                                                   |
| `428`       | One of: customer_agreement_required.                                                                                                              |
| `429`       | One of: rate_limited.                                                                                                                             |
| `503`       | One of: service_unavailable.                                                                                                                      |

See [errors and recovery](https://neondeerdata.com/docs/api/errors/) and [safe retries](https://neondeerdata.com/docs/api/requests/) before repeating a write.

## Refresh from Attio

```http
POST /v1/lookup-tables/{table_id}/sync

```

Refreshes a synced status table from Attio now. Statuses Attio no longer has are marked archived and renamed ones take their new name. This can't be undone.

Requires `lookup_tables:config:write`. The connection also needs access to the relevant tables, objects, or workflows.

MCP action: `start_lookup_table_sync`. Its argument names match the fields below; an HTTP header is passed using its argument name in MCP.

### Parameters

| Name       | Send in | Required | Type or allowed values | Notes |
| ---------- | ------- | -------- | ---------------------- | ----- |
| `table_id` | path    | Yes      | string                 |       |

### Response

| HTTP status | Result                                                                |
| ----------- | --------------------------------------------------------------------- |
| `200`       | The requested result. Asynchronous work returns an operation to poll. |

Required fields are required within their containing object. Notes identify fields that apply only to a particular response alternative.

| Response field                    | Type                                                                                                                          | Required in object | Notes                                                                       |
| --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ------------------ | --------------------------------------------------------------------------- |
| `data`                            | object                                                                                                                        | Yes                |                                                                             |
| `data.object`                     | `"lookup_table_configuration"`                                                                                                | Yes                |                                                                             |
| `data.id`                         | string                                                                                                                        | Yes                |                                                                             |
| `data.name`                       | string                                                                                                                        | Yes                |                                                                             |
| `data.kind`                       | `"generic"`, `"member_metadata"`, `"status_metadata"`, `"app_owned"`                                                          | Yes                |                                                                             |
| `data.version`                    | integer                                                                                                                       | Yes                |                                                                             |
| `data.fields`                     | array of object                                                                                                               | Yes                |                                                                             |
| `data.fields[].object`            | `"lookup_field"`                                                                                                              | Yes                |                                                                             |
| `data.fields[].id`                | string                                                                                                                        | Yes                |                                                                             |
| `data.fields[].key`               | string                                                                                                                        | Yes                |                                                                             |
| `data.fields[].name`              | string                                                                                                                        | Yes                |                                                                             |
| `data.fields[].type`              | `"text"`, `"number"`, `"boolean"`, `"date"`, `"timestamp"`, `"email"`, `"phone"`, `"domain"`, `"url"`, `"member"`, `"record"` | Yes                |                                                                             |
| `data.fields[].workflow_readable` | boolean                                                                                                                       | Yes                |                                                                             |
| `data.fields[].managed_by`        | `"customer"`, `"attio"`, `"slack"`, `"system"`                                                                                | Yes                |                                                                             |
| `data.fields[].type_locked`       | boolean                                                                                                                       | Yes                |                                                                             |
| `data.fields[].version`           | integer                                                                                                                       | Yes                |                                                                             |
| `data.lookups`                    | array of object                                                                                                               | Yes                |                                                                             |
| `data.lookups[].object`           | `"lookup_definition"`                                                                                                         | Yes                |                                                                             |
| `data.lookups[].id`               | string                                                                                                                        | Yes                |                                                                             |
| `data.lookups[].field_id`         | string                                                                                                                        | Yes                |                                                                             |
| `data.lookups[].default`          | boolean                                                                                                                       | Yes                |                                                                             |
| `data.pending_work`               | object or null                                                                                                                | Yes                |                                                                             |
| `data.pending_work.kind`          | `"starter"`, `"lookup_key"`, `"field_type"`                                                                                   | Yes                | When data.pending_work.kind is `"starter"`, `"lookup_key"`, `"field_type"`. |
| `data.pending_work.state`         | `"running"`, `"failed"`                                                                                                       | Yes                | When data.pending_work.kind is `"starter"`, `"lookup_key"`, `"field_type"`. |
| `data.pending_work.problem`       | string or null                                                                                                                | Yes                | When data.pending_work.kind is `"starter"`, `"lookup_key"`, `"field_type"`. |
| `data.import_id`                  | string or null                                                                                                                | Yes                |                                                                             |

### Errors

| HTTP status | Meaning                                                                                                                                           |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `400`       | One of: credential_in_url, invalid_parameter, unknown_parameter.                                                                                  |
| `401`       | One of: missing_credential, invalid_credential, credential_expired, credential_revoked.                                                           |
| `402`       | One of: payment_overdue.                                                                                                                          |
| `403`       | The current permissions, plan or policy do not allow this request.                                                                                |
| `404`       | One of: not_found.                                                                                                                                |
| `409`       | The request conflicts with current resource state, authorization or an earlier request. Read the error code and current resource before retrying. |
| `410`       | The requested resource or retained recovery data has expired.                                                                                     |
| `413`       | One of: request_too_large.                                                                                                                        |
| `422`       | A field, filter or selection cannot be used for this request.                                                                                     |
| `423`       | One of: organization_reopening.                                                                                                                   |
| `428`       | One of: customer_agreement_required.                                                                                                              |
| `429`       | One of: rate_limited.                                                                                                                             |
| `503`       | One of: service_unavailable.                                                                                                                      |

See [errors and recovery](https://neondeerdata.com/docs/api/errors/) and [safe retries](https://neondeerdata.com/docs/api/requests/) before repeating a write.

## Try adding rows again

```http
POST /v1/lookup-tables/{table_id}/fill/retry

```

Tries again to add a library table's rows after adding them failed. Get the settings until pending_work is null.

Requires `lookup_tables:config:write`. The connection also needs access to the relevant tables, objects, or workflows.

MCP action: `start_lookup_table_fill_retry`. Its argument names match the fields below; an HTTP header is passed using its argument name in MCP.

### Parameters

| Name          | Send in                   | Required | Type or allowed values | Notes |
| ------------- | ------------------------- | -------- | ---------------------- | ----- |
| `table_id`    | path                      | Yes      | string                 |       |
| `request_key` | Header: `Idempotency-Key` | Yes      | string                 |       |

### Response

| HTTP status | Result                                                                |
| ----------- | --------------------------------------------------------------------- |
| `202`       | The requested result. Asynchronous work returns an operation to poll. |

Required fields are required within their containing object. Notes identify fields that apply only to a particular response alternative.

| Response field                    | Type                                                                                                                          | Required in object | Notes                                                                       |
| --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ------------------ | --------------------------------------------------------------------------- |
| `data`                            | object                                                                                                                        | Yes                |                                                                             |
| `data.object`                     | `"lookup_table_configuration"`                                                                                                | Yes                |                                                                             |
| `data.id`                         | string                                                                                                                        | Yes                |                                                                             |
| `data.name`                       | string                                                                                                                        | Yes                |                                                                             |
| `data.kind`                       | `"generic"`, `"member_metadata"`, `"status_metadata"`, `"app_owned"`                                                          | Yes                |                                                                             |
| `data.version`                    | integer                                                                                                                       | Yes                |                                                                             |
| `data.fields`                     | array of object                                                                                                               | Yes                |                                                                             |
| `data.fields[].object`            | `"lookup_field"`                                                                                                              | Yes                |                                                                             |
| `data.fields[].id`                | string                                                                                                                        | Yes                |                                                                             |
| `data.fields[].key`               | string                                                                                                                        | Yes                |                                                                             |
| `data.fields[].name`              | string                                                                                                                        | Yes                |                                                                             |
| `data.fields[].type`              | `"text"`, `"number"`, `"boolean"`, `"date"`, `"timestamp"`, `"email"`, `"phone"`, `"domain"`, `"url"`, `"member"`, `"record"` | Yes                |                                                                             |
| `data.fields[].workflow_readable` | boolean                                                                                                                       | Yes                |                                                                             |
| `data.fields[].managed_by`        | `"customer"`, `"attio"`, `"slack"`, `"system"`                                                                                | Yes                |                                                                             |
| `data.fields[].type_locked`       | boolean                                                                                                                       | Yes                |                                                                             |
| `data.fields[].version`           | integer                                                                                                                       | Yes                |                                                                             |
| `data.lookups`                    | array of object                                                                                                               | Yes                |                                                                             |
| `data.lookups[].object`           | `"lookup_definition"`                                                                                                         | Yes                |                                                                             |
| `data.lookups[].id`               | string                                                                                                                        | Yes                |                                                                             |
| `data.lookups[].field_id`         | string                                                                                                                        | Yes                |                                                                             |
| `data.lookups[].default`          | boolean                                                                                                                       | Yes                |                                                                             |
| `data.pending_work`               | object or null                                                                                                                | Yes                |                                                                             |
| `data.pending_work.kind`          | `"starter"`, `"lookup_key"`, `"field_type"`                                                                                   | Yes                | When data.pending_work.kind is `"starter"`, `"lookup_key"`, `"field_type"`. |
| `data.pending_work.state`         | `"running"`, `"failed"`                                                                                                       | Yes                | When data.pending_work.kind is `"starter"`, `"lookup_key"`, `"field_type"`. |
| `data.pending_work.problem`       | string or null                                                                                                                | Yes                | When data.pending_work.kind is `"starter"`, `"lookup_key"`, `"field_type"`. |
| `data.import_id`                  | string or null                                                                                                                | Yes                |                                                                             |

Accepted work can continue after the request returns. Follow its returned status or operation until it finishes; accepting work does not mean every item succeeded. See [operation status](https://neondeerdata.com/docs/api/operations/).

### Errors

| HTTP status | Meaning                                                                                                                                           |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `400`       | One of: credential_in_url, invalid_parameter, unknown_parameter, invalid_request.                                                                 |
| `401`       | One of: missing_credential, invalid_credential, credential_expired, credential_revoked.                                                           |
| `402`       | One of: payment_overdue.                                                                                                                          |
| `403`       | The current permissions, plan or policy do not allow this request.                                                                                |
| `404`       | One of: not_found.                                                                                                                                |
| `409`       | The request conflicts with current resource state, authorization or an earlier request. Read the error code and current resource before retrying. |
| `410`       | The requested resource or retained recovery data has expired.                                                                                     |
| `413`       | One of: request_too_large.                                                                                                                        |
| `422`       | A field, filter or selection cannot be used for this request.                                                                                     |
| `423`       | One of: organization_reopening.                                                                                                                   |
| `428`       | One of: customer_agreement_required.                                                                                                              |
| `429`       | One of: rate_limited.                                                                                                                             |
| `503`       | One of: service_unavailable.                                                                                                                      |

See [errors and recovery](https://neondeerdata.com/docs/api/errors/) and [safe retries](https://neondeerdata.com/docs/api/requests/) before repeating a write.

## Close failed change

```http
POST /v1/lookup-tables/{table_id}/fill/dismiss

```

Closes a lookup or a field type change that failed. Nothing it tried was written.

Requires `lookup_tables:config:write`. The connection also needs access to the relevant tables, objects, or workflows.

MCP action: `cancel_lookup_table_change`. Its argument names match the fields below; an HTTP header is passed using its argument name in MCP.

### Parameters

| Name       | Send in | Required | Type or allowed values | Notes |
| ---------- | ------- | -------- | ---------------------- | ----- |
| `table_id` | path    | Yes      | string                 |       |

### Response

| HTTP status | Result                                                                |
| ----------- | --------------------------------------------------------------------- |
| `200`       | The requested result. Asynchronous work returns an operation to poll. |

Required fields are required within their containing object. Notes identify fields that apply only to a particular response alternative.

| Response field                    | Type                                                                                                                          | Required in object | Notes                                                                       |
| --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ------------------ | --------------------------------------------------------------------------- |
| `data`                            | object                                                                                                                        | Yes                |                                                                             |
| `data.object`                     | `"lookup_table_configuration"`                                                                                                | Yes                |                                                                             |
| `data.id`                         | string                                                                                                                        | Yes                |                                                                             |
| `data.name`                       | string                                                                                                                        | Yes                |                                                                             |
| `data.kind`                       | `"generic"`, `"member_metadata"`, `"status_metadata"`, `"app_owned"`                                                          | Yes                |                                                                             |
| `data.version`                    | integer                                                                                                                       | Yes                |                                                                             |
| `data.fields`                     | array of object                                                                                                               | Yes                |                                                                             |
| `data.fields[].object`            | `"lookup_field"`                                                                                                              | Yes                |                                                                             |
| `data.fields[].id`                | string                                                                                                                        | Yes                |                                                                             |
| `data.fields[].key`               | string                                                                                                                        | Yes                |                                                                             |
| `data.fields[].name`              | string                                                                                                                        | Yes                |                                                                             |
| `data.fields[].type`              | `"text"`, `"number"`, `"boolean"`, `"date"`, `"timestamp"`, `"email"`, `"phone"`, `"domain"`, `"url"`, `"member"`, `"record"` | Yes                |                                                                             |
| `data.fields[].workflow_readable` | boolean                                                                                                                       | Yes                |                                                                             |
| `data.fields[].managed_by`        | `"customer"`, `"attio"`, `"slack"`, `"system"`                                                                                | Yes                |                                                                             |
| `data.fields[].type_locked`       | boolean                                                                                                                       | Yes                |                                                                             |
| `data.fields[].version`           | integer                                                                                                                       | Yes                |                                                                             |
| `data.lookups`                    | array of object                                                                                                               | Yes                |                                                                             |
| `data.lookups[].object`           | `"lookup_definition"`                                                                                                         | Yes                |                                                                             |
| `data.lookups[].id`               | string                                                                                                                        | Yes                |                                                                             |
| `data.lookups[].field_id`         | string                                                                                                                        | Yes                |                                                                             |
| `data.lookups[].default`          | boolean                                                                                                                       | Yes                |                                                                             |
| `data.pending_work`               | object or null                                                                                                                | Yes                |                                                                             |
| `data.pending_work.kind`          | `"starter"`, `"lookup_key"`, `"field_type"`                                                                                   | Yes                | When data.pending_work.kind is `"starter"`, `"lookup_key"`, `"field_type"`. |
| `data.pending_work.state`         | `"running"`, `"failed"`                                                                                                       | Yes                | When data.pending_work.kind is `"starter"`, `"lookup_key"`, `"field_type"`. |
| `data.pending_work.problem`       | string or null                                                                                                                | Yes                | When data.pending_work.kind is `"starter"`, `"lookup_key"`, `"field_type"`. |
| `data.import_id`                  | string or null                                                                                                                | Yes                |                                                                             |

### Errors

| HTTP status | Meaning                                                                                                                                           |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `400`       | One of: credential_in_url, invalid_parameter, unknown_parameter.                                                                                  |
| `401`       | One of: missing_credential, invalid_credential, credential_expired, credential_revoked.                                                           |
| `402`       | One of: payment_overdue.                                                                                                                          |
| `403`       | The current permissions, plan or policy do not allow this request.                                                                                |
| `404`       | One of: not_found.                                                                                                                                |
| `409`       | The request conflicts with current resource state, authorization or an earlier request. Read the error code and current resource before retrying. |
| `410`       | The requested resource or retained recovery data has expired.                                                                                     |
| `413`       | One of: request_too_large.                                                                                                                        |
| `422`       | A field, filter or selection cannot be used for this request.                                                                                     |
| `423`       | One of: organization_reopening.                                                                                                                   |
| `428`       | One of: customer_agreement_required.                                                                                                              |
| `429`       | One of: rate_limited.                                                                                                                             |
| `503`       | One of: service_unavailable.                                                                                                                      |

See [errors and recovery](https://neondeerdata.com/docs/api/errors/) and [safe retries](https://neondeerdata.com/docs/api/requests/) before repeating a write.

The [public OpenAPI document](https://neondeerdata.com/docs/api/meta/openapi/) lists generally available API families. Alpha operations may not appear in that document; their request and response fields are listed on this page. Use the [API Playground](https://neondeerdata.com/docs/api/testing/) to inspect a real response with your connection's access.
