Skip to content

markdownContentResponseSchema

const markdownContentResponseSchema: ZodDiscriminatedUnion<[ZodObject<{ id: ZodUUID; markdown: ZodString; object: ZodLiteral<"page_markdown">; truncated: ZodBoolean; unknown_block_ids: ZodArray<ZodUUID>; }, $strip>, ZodObject<{ created_time: ZodUnion<readonly [ZodISODateTime, ZodISODate]>; error: ZodOptional<ZodObject<{ code: ZodString; message: ZodString; object: ZodLiteral<"error">; status: ZodNumber; }, $strip>>; id: ZodUUID; object: ZodLiteral<"async_task">; operation: ZodObject<{ name: ZodString; surface: ZodEnum<{ mcp: "mcp"; rest: "rest"; }>; }, $strip>; poll_after_seconds: ZodOptional<ZodNumber>; result: ZodOptional<ZodUnknown>; status: ZodEnum<{ failed: "failed"; queued: "queued"; retrying: "retrying"; running: "running"; succeeded: "succeeded"; }>; status_url: ZodURL; }, $strip>], "object">

Defined in: src/schemas/pageMarkdown.schema.ts:38

PATCH /v1/pages/{page_id}/markdown returns pageMarkdownSchema synchronously. If allow_async: true triggers async processing, it returns an async_task handle instead. Poll the handle through AsyncTasksAPI. Both response bodies carry a literal object field, so you can discriminate between them without checking the HTTP status code.