get_generation_status
Check the status of an asynchronous content generation started by create_content (with a blueprint or Multi-model), produce_plan, ask_content_assistant or apply_grounding_fix. Poll it with the generation_id until the run completes; once finished it returns the current document and the Content Assistant reply that run produced.
Parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
generation_id | string | Yes | — | The generation ID returned by `create_content` (with `blueprint_uuid` or `generation_mode: "multi_model"`), `produce_plan`, `ask_content_assistant` or `apply_grounding_fix`. |
Input Schema
{
"type": "object",
"required": [
"generation_id"
],
"properties": {
"generation_id": {
"type": "string",
"description": "The generation ID returned by `create_content` (with `blueprint_uuid` or `generation_mode: \"multi_model\"`), `produce_plan`, `ask_content_assistant` or `apply_grounding_fix`."
}
}
}Output Schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Status of THIS generation_id. Terminal is \"completed\" for document generation (blueprint or document flow), \"complete\" for Content Assistant runs; \"failed\" on error."
},
"content": {
"type": [
"object",
"null"
],
"properties": {
"name": {
"type": [
"string",
"null"
],
"description": "Document name."
},
"link_url": {
"type": "string",
"format": "uri",
"description": "Direct URL to view/open the document in Marcora."
},
"content_id": {
"type": "string",
"format": "uuid",
"description": "The document UUID (blueprint or document generation, or Content Assistant flow)."
},
"blueprint_id": {
"type": "integer",
"description": "Blueprint runs only: the blueprint used."
},
"current_content": {
"type": [
"string",
"null"
],
"description": "Content Assistant flow only: the document's CURRENT markdown (may include the user's own later edits)."
},
"document_updated": {
"type": "boolean",
"description": "Content Assistant flow only: whether the turn this run produced changed the document body."
},
"assistant_summary": {
"type": [
"string",
"null"
],
"description": "Content Assistant flow only: the assistant reply this run produced, as the sidebar thread shows it. Null if the run has written no reply, or it was written before runs were tracked; a reply that used sources the caller cannot open comes back as a notice."
}
},
"description": "Null until the run completes. For ai_assistant, the current_content is the live document, while assistant_summary and document_updated describe the turn this run produced (the document is not a frozen snapshot). Shape depends on flow_type."
},
"flow_type": {
"type": "string",
"description": "Which flow produced this generation: \"blueprint\" (generated from a blueprint), \"document\" (generated without a blueprint, e.g. Multi-model create_content or produce_plan without a blueprint) or \"ai_assistant\" (ask_content_assistant)."
},
"generation_id": {
"type": "string",
"description": "The generation ID being checked (UUID)."
},
"generation_mode": {
"enum": [
"quick",
"multi_model"
],
"type": "string",
"description": "How the document was written: quick (one model) or multi_model (two drafts and a synthesis). Omitted when not recorded."
}
}
}Instructions
Poll the status of an async generation by generation_id. These flows produce a generation_id you can check here:
create_contentwith ablueprint_uuidorgeneration_mode: "multi_model"(document generation), andproduce_planask_content_assistant(the in-document Content Assistant)apply_grounding_fix(each job injobs[]carries ageneration_id, but jobs whose fixes land in the same document share one, because they are applied together in one run; poll each distinctgeneration_idonce. It runs as a Content Assistant flow, so readdocument_updated; for a sharedgeneration_idit covers every finding in that run)
The response always includes status, generation_id, and flow_type, plus generation_mode (quick or multi_model) when known. content is null until the run finishes.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
generation_id |
string (uuid) | Yes | The generation ID returned by create_content (with blueprint_uuid or generation_mode: "multi_model"), produce_plan, ask_content_assistant or apply_grounding_fix |
Output
| Field | Type | Description |
|---|---|---|
generation_id |
string (uuid) | The generation ID being checked |
status |
string | Status of this run. Document generation (blueprint or document flow) terminates at completed; Content Assistant flow terminates at complete; failed on error. Intermediate: pending, processing, streaming |
flow_type |
string | blueprint (generated from a blueprint), document (generated without a blueprint, e.g. Multi-model create_content or produce_plan without a blueprint) or ai_assistant (ask_content_assistant) |
generation_mode |
string | quick or multi_model. Omitted when not recorded |
content |
object | null | null until the run completes. Shape depends on flow_type (below) |
content — document generation (flow_type blueprint or document)
| Field | Type | Description |
|---|---|---|
content_id |
string (uuid) | The generated document's ID. Pass to get_content if you need the body |
name |
string | Document name |
blueprint_id |
integer | Blueprint used to generate (blueprint runs only) |
link_url |
string | Direct URL to view/open in Marcora |
content — Content Assistant flow (flow_type = ai_assistant)
statusis per-run, butcontentis the current state: the live document (which may include edits the user made themselves afterward) whileassistant_summaryanddocument_updateddescribe the Content Assistant turn this run produced, as you are allowed to see it. The document is intentionally not a frozen snapshot — a stale snapshot isn't useful, the current version is.
| Field | Type | Description |
|---|---|---|
content_id |
string (uuid) | The content document the assistant acted on |
name |
string | null | Document name |
assistant_summary |
string | null | The assistant reply this run produced, as the sidebar thread shows it. null if the run has written no reply, or it was written before runs were tracked; a reply that used sources you cannot open comes back as a notice |
document_updated |
boolean | Whether the turn this run produced changed the document body (false for a reply-only / chat-only response) |
current_content |
string | null | The document's current markdown |
link_url |
string | Direct URL to view/open in Marcora |
Example prompts
- "Check on my content generation"
- "Is my blog post done yet?"
- "Did the assistant finish editing my document?"
Links: present link_url to the user exactly as returned — copy it character for character. Never retype, shorten, or rebuild a link or the IDs inside it.