table-sources

List a table's recent imports

A connected-tool table's import runs, newest first: what each added, updated and removed, how many records it skipped and why, whether it stopped at the row limit, and why a failed one failed. status narrows to one outcome, e.g. succeeded for the refresh the table last shows.

get/tables/{table_id}/source/runs/

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/runs/
  • Auth: one of:
    • API key in header X-API-Key
    • HTTP bearer

Path parameters

table_idstring uuid required

Query parameters

limitinteger

Most runs to return.

status'running' | 'cancelling' | 'cancelled' | 'succeeded' | 'failed'

Where one import run has got to.

The terminal states are absorbing: a run never leaves them. There is no PENDING here. Unlike a CSV upload, which sits parsed and uncommitted until the user says go, a source run is only ever created at the moment something decides to run it.

CANCELLING is a request, not an outcome. Stopping an import is a database status flip the workflow observes between pages, never a Temporal terminate: a terminate could land mid-page and leave rows half-written with nothing to settle the run, which is exactly the stuck state that blocks every future refresh of the table.

Only runs with this outcome.

Response

Successful Response

errorstring nullable required
error_codestring nullable

Classified cause of the failure: unauthorized, rate_limited, server_unavailable, network_error, not_found, pagination_error, bad_request. NULL when the run did not fail.

finished_atstring date-time nullable required
idstring uuid required
identity_fieldstring nullable required

The field records were matched on during this run. Null for a run from before this was recorded; read the source's current identity_field instead in that case.

is_full_relistboolean required

Whether this run asked the provider for everything.

needs_reconnectboolean

Whether fixing this means reconnecting the integration. Only true for a credentials failure, so the prompt keeps its meaning.

rows_createdinteger required
rows_deletedinteger required
rows_skippedinteger required

Records the run read and left out, broken down by the two counts below. Stopping at the row limit is not a skip; see stopped_at_row_limit.

rows_skipped_duplicateinteger required

Of those, records whose match value an earlier, different record in the same page already had; only the first was added.

rows_skipped_no_identityinteger required

Of those, records that came back with no value for the field rows are matched on, so there was no row for them to be.

rows_updatedinteger required
source_idstring uuid required
started_atstring date-time required
status'running' | 'cancelling' | 'cancelled' | 'succeeded' | 'failed' required

Where one import run has got to.

The terminal states are absorbing: a run never leaves them. There is no PENDING here. Unlike a CSV upload, which sits parsed and uncommitted until the user says go, a source run is only ever created at the moment something decides to run it.

CANCELLING is a request, not an outcome. Stopping an import is a database status flip the workflow observes between pages, never a Temporal terminate: a terminate could land mid-page and leave rows half-written with nothing to settle the run, which is exactly the stuck state that blocks every future refresh of the table.

stopped_at_row_limitinteger nullable required

The row limit this run stopped at with records still unread in the tool; null when it read everything it was asked for. Raising the source's row_limit brings the rest in.

sweep_deletionsboolean required

Whether this run was asked to delete rows whose records are gone from the tool. A run that stopped at a row limit (stopped_at_row_limit) deletes nothing, because it has not read the whole tool.

table_idstring uuid required
trigger'initial' | 'manual' | 'scheduled' required

What asked for a run.

Changes

No recorded changes to this operation across all 1 revision of this API.