API 参考
Operations
Management API: GET /operations/{id}
Get the status of an asynchronous business operation by operationId (returned by capabilities such as sites.create mode=brief or imports.create, or carried on webhook events). Poll until status is terminal (SUCCEEDED, FAILED, CANCELLED, EXPIRED); respect pollAfterSeconds. UNKNOWN means an external call timed out and Kanorio is reconciling it: keep polling, do not retry the original request. pendingEffects lists side effects still in flight after the main operation succeeded. Synchronous operations never create an operation; retry them with the same Idempotency-Key instead. import_job operations stay RUNNING with stage=review while the batch waits for a human (or imports.apply) to confirm which rows to write; result carries batchId, batchStatus and totals. Errors: OPERATION_NOT_FOUND, FORBIDDEN.
Parameters
idstring · pathrequired
Response 200
operationIdstringrequiredkind"site_job" | "page_job" | "outbox" | "external" | "import_job" | "automation_run"requiredstatus"PENDING" | "RUNNING" | "SUCCEEDED" | "FAILED" | "CANCELLED" | "UNKNOWN" | "EXPIRED"requiredPENDING / RUNNING / SUCCEEDED / FAILED / CANCELLED; UNKNOWN = an external call timed out and is being reconciled (not a failure); EXPIRED = the record passed its retention window.
stagestring | nullrequiredwebsiteIdstring | nullrequiredresultobject | nullrequirederrorobject | nullrequirederror.codestringrequirederror.messagestring | nullrequiredpendingEffectsobject[]requiredpendingEffects[].kindstringrequiredSide effect still being processed after the main operation succeeded (e.g. entitlement_grant, invoice_issue, webhook_delivery).
pendingEffects[].status"PENDING" | "RUNNING" | "SUCCEEDED" | "FAILED" | "CANCELLED" | "UNKNOWN" | "EXPIRED"requiredpollAfterSecondsinteger | nullrequiredSuggested wait before polling again; null when terminal.
createdAtstringrequiredfinishedAtstring | nullrequired
Errors
OPERATION_NOT_FOUND404FORBIDDEN403
MCP tool operations_get
curl -X GET "https://app.kanorio.com/api/v1/operations/{id}" \
-H "Authorization: Bearer $KANORIO_TOKEN"{
"operationId": "op_site_job_job_example01",
"kind": "site_job",
"status": "RUNNING",
"stage": "generating_pages",
"websiteId": "ws_example123",
"result": null,
"error": null,
"pendingEffects": [],
"pollAfterSeconds": 8,
"createdAt": "2026-10-01T02:30:00.000Z",
"finishedAt": null
}