Upsert Rows

Creates and/or updates up to 50 rows in an audience in a single synchronous operation.
Each entry in the request body includes cell values keyed by columnId. Including a rowId updates that existing row; omitting rowId creates a new row.
Both creates and updates can be combined freely in the same request.
Use this endpoint when upserting 50 rows or fewer. For larger batches (up to 500 rows), use Bulk Upsert Rows at POST /actions/bulk/upsert instead.
Returns 200 with data[] row resources — each entry includes id, type, and attributes.values with full cell details (columnId, value, state, and errorDetails when applicable).
Returns 400 if the request body is malformed, exceeds 50 rows, or columnId references are invalid.

Path Params
uuid
required

The unique identifier for the audience

Body Params

Request body containing up to 50 rows to create or update. Include id to update an existing row; omit it to create a new row.

JSON API model for synchronous upsert Row request (≤ 50 rows). Row id is optional — omit to create, provide to update.

data
array of objects
required
length between 1 and 50

The primary data of the document

data*
Responses

Language
Credentials
OAuth2
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/vnd.api+json