Skip to main content
POST

Authorizations

Authorization
string
header
required

User-principal OAuth 2.0 Bearer authentication. Send a user-scoped Auth0 access token (audience = the app API audience) as Authorization: Bearer <jwt>. The request resolves to the user's identity and is authorized by their Role on the {companyId} in the path — the same role-based permissions the web app enforces. This is the path the MCP connector uses to act on a user's behalf; endpoints that accept it list both BearerAuth and ApiKeyAuth.

Path Parameters

companyId
string<uuid>
required

Company identifier

Body

application/json

A new attempt on a stored import row. Name the row by exactly one of importRowId or importAttemptId:

  • importRowId retries the row with the transformations and guards you send (none of each when omitted, as on Import Entity).
  • importAttemptId retries that attempt's row with the attempt's own transformations and guards. Sending either alongside it is a 400; retry by importRowId to change them.

The data is the row's, as it was first sent, and so is the entity type: a row cannot be retried as another entity type.

importRowId
string<uuid>

The import row to retry, from an Import Entity response or List Import Rows.

importAttemptId
string<uuid>

An attempt whose row to retry, reusing its transformations and guards.

transformations
object

Only with importRowId; none when omitted. The same format as Import Entity's.

guards
object[]

Only with importRowId; none when omitted. The same format as Import Entity's.

attemptBatch
string | null

Your key grouping this retry with others for later review, stored as the new attempt's attemptBatch. The row keeps its own importBatch, so List Import Attempts by importBatch still finds the retry. Omit it or send null for none; a blank key is refused.

Response

A new attempt was recorded on the row. Whether the entity was written is the attempt's writeResult.

The stored import row's id and the attempt this request recorded.

importRowId
string<uuid>
required

The import row storing data as sent. Read it with Get Import Row; a failed import is fixed by retrying this row, not by sending the data again.

importAttempt
object
required

One import attempt: a single transform → guard → write pass over an import row. An import request records the first attempt on its row, and each retryImport records another. Attempts are stored whether or not the write happened.

The attempt is recorded before its first step runs, with every result null, and each step's result is stored on it as the step completes: transformationResult and action, then guardResult, then writeResult. The import and retryImport responses answer with the finished attempt.

writeResult is stored in the same transaction as the entity write, so the two commit together or not at all. An attempt whose guardResult passed and whose writeResult is null wrote no entity: it is still in progress, or it crashed before its write committed. Its import row can be retried; the retry cannot create a second entity alongside one the crashed attempt wrote.