ArchiveExecutionOutput
One run of an archive job. Written exclusively by the archive worker and scheduler; immutable from the GraphQL API. Carries the run's outcome plus enough context (schema snapshot, captured script logs, error message) to debug a failed script.
TypeID of this execution, prefixed "arx" (e.g. "arx_01K…").
TypeID of the owning tenant, prefixed "ten". Always the caller's tenant.
TypeID of the archive job this run belongs to, prefixed "arj" (e.g. "arj_01K…").
Current lifecycle state of the run; PENDING and RUNNING are the only non-terminal values.
startedAtString!ISO-8601 timestamp. Set when the row is created (enqueued), then overwritten with the wall-clock time the worker actually began executing the script.
finishedAtStringISO-8601 timestamp at which the run reached a terminal status; null while PENDING or RUNNING.
rowCountIntNumber of rows the script emitted. 0 when the run drained no rows (still SUCCEEDED, but nothing is uploaded). Null until the run finishes, and for runs that never produced a result (SKIPPED, CANCELLED, failed-before-drain).
bytesWrittenIntSize in bytes of the object uploaded to the storage backend. 0 for a zero-row run. Null until the upload completes, and for runs that never uploaded.
outputKeyStringRendered storage key (path) of the uploaded archive file on the job's storage backend. Present only when the run SUCCEEDED and uploaded at least one row; null for zero-row, skipped, cancelled, and failed-before-upload runs.
schemaSnapshotStringJSON array describing the Arrow schema the script declared for this run, as returned by its Lua exports.schema() hook: [{ name, type, nullable }]. Records what columns the archived file actually holds. Null if the script failed before declaring a schema.
errorMessageStringUser-facing failure reason for a FAILED run (e.g. the Lua script error). Also carries the reason a SKIPPED run was never started. Null otherwise.
logCaptureStringJSON array of print()/warn() lines the tenant's Lua script emitted during this run: [{ level, message, ts }]. Lets users debug scripts without server-log access. Null when the script never ran.
checkpointStringJSON-encoded value the script returned from its exports.checkpoint() hook at end-of-run; shape is entirely script-defined (a cursor, a timestamp, a table). Persisted only for SUCCEEDED runs — a failed run leaves the previous success's checkpoint in place so the next attempt resumes from there. Null if the script defines no checkpoint hook.
What caused this run to be enqueued: the scheduler, or a named user via runArchiveJob.
createdAtString!ISO-8601 timestamp at which the execution row was inserted, i.e. when the run was enqueued.
updatedAtString!ISO-8601 timestamp of the last write to the row — effectively the last status transition, since executions are never edited through the API.
View exact SDL
"""
One run of an archive job. Written exclusively by the archive worker and scheduler; immutable from the GraphQL API. Carries the run's outcome plus enough context (schema snapshot, captured script logs, error message) to debug a failed script.
"""
type ArchiveExecutionOutput {
"""TypeID of this execution, prefixed "arx" (e.g. "arx_01K…")."""
id: ArchiveExecutionID!
"""
TypeID of the owning tenant, prefixed "ten". Always the caller's tenant.
"""
tenantId: TenantID!
"""
TypeID of the archive job this run belongs to, prefixed "arj" (e.g. "arj_01K…").
"""
archiveJobId: ArchiveJobID!
"""
Current lifecycle state of the run; PENDING and RUNNING are the only non-terminal values.
"""
status: ArchiveExecutionStatus!
"""
ISO-8601 timestamp. Set when the row is created (enqueued), then overwritten with the wall-clock time the worker actually began executing the script.
"""
startedAt: String!
"""
ISO-8601 timestamp at which the run reached a terminal status; null while PENDING or RUNNING.
"""
finishedAt: String
"""
Number of rows the script emitted. 0 when the run drained no rows (still SUCCEEDED, but nothing is uploaded). Null until the run finishes, and for runs that never produced a result (SKIPPED, CANCELLED, failed-before-drain).
"""
rowCount: Int
"""
Size in bytes of the object uploaded to the storage backend. 0 for a zero-row run. Null until the upload completes, and for runs that never uploaded.
"""
bytesWritten: Int
"""
Rendered storage key (path) of the uploaded archive file on the job's storage backend. Present only when the run SUCCEEDED and uploaded at least one row; null for zero-row, skipped, cancelled, and failed-before-upload runs.
"""
outputKey: String
"""
JSON array describing the Arrow schema the script declared for this run, as returned by its Lua exports.schema() hook: [{ name, type, nullable }]. Records what columns the archived file actually holds. Null if the script failed before declaring a schema.
"""
schemaSnapshot: String
"""
User-facing failure reason for a FAILED run (e.g. the Lua script error). Also carries the reason a SKIPPED run was never started. Null otherwise.
"""
errorMessage: String
"""
JSON array of print()/warn() lines the tenant's Lua script emitted during this run: [{ level, message, ts }]. Lets users debug scripts without server-log access. Null when the script never ran.
"""
logCapture: String
"""
JSON-encoded value the script returned from its exports.checkpoint() hook at end-of-run; shape is entirely script-defined (a cursor, a timestamp, a table). Persisted only for SUCCEEDED runs — a failed run leaves the previous success's checkpoint in place so the next attempt resumes from there. Null if the script defines no checkpoint hook.
"""
checkpoint: String
"""
What caused this run to be enqueued: the scheduler, or a named user via runArchiveJob.
"""
trigger: ArchiveExecutionTriggerOutput!
"""
ISO-8601 timestamp at which the execution row was inserted, i.e. when the run was enqueued.
"""
createdAt: String!
"""
ISO-8601 timestamp of the last write to the row — effectively the last status transition, since executions are never edited through the API.
"""
updatedAt: String!
}One stable address across all schema views. Follow a field’s type to explore connections between domains.