Operations
Some control-plane commands continue after the HTTP request returns. Their response includes an operation object and a links.self URL. Treat the initial response as acceptance, not workload readiness.
Status Sequence
Section titled “Status Sequence”requestedmeans the command and its durable work item were stored together.committedmeans the desired state was committed to Git. A no-change reconciliation can still reach this state with a nullgit_commit_sha.appliedmeans the target controller observed the desired generation.readymeans the current observed state satisfies the resource readiness contract.
failed and timed_out are terminal. Read error_code and error_message before retrying. Reuse the original idempotency key when retrying an ambiguous acceptance response.
Poll An Operation
Section titled “Poll An Operation”curl --fail-with-body \ -H "Authorization: Bearer $THALOVANT_TOKEN" \ https://api.thalovant.com/v1/operations/OPERATION_IDPoll with bounded backoff. Stop on ready, failed, or timed_out. A Git-only command can stop at committed because it has no workload readiness stage.
The Python, Node, Go, and Rust SDK control-plane clients expose get_operation or getOperation using their language naming convention.