Skip to main content
GET
Get Import Attempt

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

importAttemptId
string<uuid>
required

The import attempt id.

Response

The import attempt

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.

id
string<uuid>
required

The import attempt id.

importRowId
string<uuid>
required

The import row this attempt ran against.

entityType
enum<string>
required

The job target type, or the original row type for a synchronous attempt.

Available options:
Event,
Exposure,
Quote,
Submission,
Person,
Organization,
Policy
action
enum<string> | null
required

update when the transformed entity carried an id, else create. null until the transformations succeed, and for good when they failed before the transformed entity existed.

Available options:
create,
update,
null
attemptBatch
string | null
required

The caller's optional key grouping attempts. An attempt recorded by an import request takes that request's importBatch; a retry carries the attemptBatch it was sent with.

transformations
object
required

The transformations the attempt ran with, as sent: one entry per FMV1 field reference id, each a JEXL expression string or a { "mapOver": "<data path>", "values": { "<childKey>": "<expression>" } } mapping. Stored even when they are invalid; the failure is then reported in transformationResult.

guards
any[]
required

The guards the attempt ran with, as sent. Each is { "condition": "<JEXL>", "errorMessage": "<text>" }.

transformationResult
object | null
required

The outcome of applying the transformations; null until they have run. status: ok carries the transformed entity. status: failed carries a partial entity, with every failed field absent, and one entry in errors per failure.

guardResult
object | null
required

The outcome of the guards; null until the guards have run, and for good when the transformations failed. passed: false lists every guard that did not hold, not only the first.

writeResult
object | null
required

The outcome of the create or update; null when no write was attempted, because the transformations or a guard failed, and until the write's outcome is stored. It is stored in the same transaction as the write, so null on an attempt whose guards passed means no entity was written: the attempt is in progress, or it crashed.

status: ok names the entity written in entityId, and created says whether this attempt created it (false: it updated it). Policy writes also require a nonempty ordered list of committed transaction receipts. status: validated is a policy dry-run plan (refused for other entity types), with no entity or transaction IDs and no persisted policy writes. Whole-policy execution and dry runs produce these results. Both policy modes support execution and dry runs. status: failed is the refusal the entity create or update endpoint would have answered with: its httpStatus, and the error's code, message, userMessages and details.

createdAt
string<date-time>
required

When the attempt was recorded, before its first step ran.

updatedAt
string<date-time>
required

When a step's result was last stored on the attempt. On an attempt with a null result still to come, an updatedAt long past means it crashed.

jobId
string<uuid> | null

Owning transformation job, or null for a synchronous attempt.

sourceRowIds
string<uuid>[] | null

Every source row for this result, in evaluation order. Null for synchronous attempts; importRowId always identifies the first source row.