---
title: "Change the field a table's imported rows are matched on"
method: PUT
path: "/tables/{table_id}/source/identity-field/"
tags: ["table-sources"]
---

# Change the field a table's imported rows are matched on

`PUT /tables/{table_id}/source/identity-field/`

## Request

- Base URL: `https://api.getoneprofile.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.getoneprofile.ai/tables/{table_id}/source/identity-field/`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Match a connected-tool table's rows on a different id field from now on, for example the tool's own record id instead of an email address. Every imported row is re-keyed from the record it already stores, all at once: no row is deleted, merged or added, and every column and value stays. Refused while an import is running, when some records or rows have no value for the field, when two share one, or when the rows store it in a form a refresh cannot match; the identity options route says which applies beforehand. A field people can edit in the tool brings an edited record back as a new row on the next refresh.

## Path parameters

- `table_id` string, uuid, required

## Request body

- UpdateTableSourceIdentityRequestSchema: Which key to match the table's rows on from now on.
  - `identity_field` string, required: The key to match rows on, one the identity options list as available.

## Response `200`

Successful Response

- TableSourceSchema: A table's import source.
  - `created_at` string, date-time, required
  - `id` string, uuid, required
  - `identity_field` string, required
  - `integration_id` string, uuid, required
  - `integration_type` string, required
  - `last_synced_at` string, date-time, nullable, required: Start of the last successful run; the incremental watermark.
  - `object_column_id` string, uuid, required: The column each imported record lands in.
  - `record_type` string, required
  - `record_type_label` string, required: The object type's name for a person to read ('Contacts', 'Event type').
  - `row_limit` integer, nullable, required
  - `supports_incremental` boolean, required
  - `table_id` string, uuid, required
  - `updated_at` string, date-time, required

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: Table has no source
- `422`: Invalid request made to the API.
- `500`: Internal server error.
- `502`: Bad gateway error.
- `503`: Service unavailable.

---

[API](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile.md) · [All operations](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile/llms.txt) · [OpenAPI document](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile/revisions/4a6bd71e3f02?raw)
