# Create extract

Create an extract from an existing parsing or directly from a document ID, a public URL, or a multipart file upload. When you provide a parsing ID, the parsing must already be in FINISHED or PARTIAL_FINISHED status.

Related endpoints:

* List parsings
* Retrieve parsing
* Retrieve extract

Endpoint: POST /v0/extract
Security: ApiKeyAuth

## Request fields (application/json):

  - `document` (any)
    Provide either an existing document ID, a public or pre-signed document URL, or a multipart uploaded file.

  - `parsing` (string)
    Existing parsing ID available in your Anesya workspace.
    Example: "ca989d38-2ac0-4abe-82ff-fc46350309f5"

  - `schema` (string, required)
    Schema ID available in your Anesya workspace.
    Example: "5d19dcb0-b4db-44f6-908f-89da3869fdf6"

  - `picture_description_enabled` (boolean)
    Only applied when a new parsing is created from document.

  - `table_verification_enabled` (boolean)
    Only applied when a new parsing is created from document.

  - `model` (string)
    Only applied when a new parsing is created from document.
    Enum: "PIGALLE", "PIGALLE_LITE"

  - `metadata` (object,null)
    Only applied when a new parsing is created from document.

## Response 201 fields (application/json):

  - `id` (string, required)
    Example: "300f339f-da71-4f9f-80f6-c25a63baae75"

  - `schema` (object, required)

  - `schema.id` (string, required)
    Example: "300f339f-da71-4f9f-80f6-c25a63baae75"

  - `schema.name` (string, required)
    Example: "Invoice schema"

  - `schema.description` (string, required)
    Example: "Schema used for extracting data from invoices."

  - `schema.completion_mode` (string, required)
    * CLASSIC - Classic
* VANILLA - Vanilla
    Enum: "CLASSIC", "VANILLA"

  - `parsing` (object, required)

  - `parsing.id` (string, required)
    Example: "300f339f-da71-4f9f-80f6-c25a63baae75"

  - `parsing.document` (object, required)

  - `parsing.document.id` (string, required)
    Example: "300f339f-da71-4f9f-80f6-c25a63baae75"

  - `parsing.document.filename` (string, required)
    Example: "invoice.pdf"

  - `parsing.document.file_url` (string,null)
    Example: "/v0/documents/300f339f-da71-4f9f-80f6-c25a63baae75/download"

  - `parsing.document.metadata` (object, required)
    Example: {"source":"api"}

  - `parsing.document.page_count` (integer, required)
    Example: 3

  - `parsing.document.created_at` (string, required)
    Example: "2025-06-12T14:56:10.682461Z"

  - `parsing.document.updated_at` (string, required)
    Example: "2025-06-12T14:56:10.682461Z"

  - `parsing.picture_description_enabled` (boolean, required)

  - `parsing.table_verification_enabled` (boolean, required)

  - `parsing.model` (string, required)
    * PIGALLE - Pigalle
* PIGALLE_LITE - Pigalle Lite
    Enum: "PIGALLE", "PIGALLE_LITE"

  - `parsing.pictures` (array, required)

  - `parsing.pictures.id` (string, required)
    Example: "300f339f-da71-4f9f-80f6-c25a63baae75"

  - `parsing.pictures.parsing` (string, required)
    Example: "300f339f-da71-4f9f-80f6-c25a63baae75"

  - `parsing.pictures.name` (string,null)
    Example: "_page_0_Picture_15.jpeg"

  - `parsing.pictures.picture` (string,null)
    Example: "/pipelines/documents/example-picture.jpeg"

  - `parsing.pictures.page_index` (integer, required)

  - `parsing.pictures.bbox` (object,null)

  - `parsing.pictures.description` (string,null)
    Example: "Company logo detected in the document."

  - `parsing.pictures.created_at` (string, required)
    Example: "2025-06-12T14:56:10.682461Z"

  - `parsing.ocr_content` (object,null)

  - `parsing.markdown_content` (string,null)
    Example: "# Invoice\n\nInvoice number: INV-2026-001"

  - `parsing.pages_total` (integer, required)
    Example: 3

  - `parsing.pages_success` (integer, required)

  - `parsing.pages_failed` (integer, required)

  - `parsing.status` (string, required)
    * IN_QUEUE - In queue
* IN_PROGRESS - In progress
* FINISHED - Finished
* PARTIAL_FINISHED - Partial finished
* ERROR - Error
    Enum: "IN_QUEUE", "IN_PROGRESS", "FINISHED", "PARTIAL_FINISHED", "ERROR"

  - `parsing.metadata` (object,null)
    Example: {"source":"api"}

  - `parsing.error` (string,null)

  - `parsing.created_at` (string, required)
    Example: "2025-06-12T14:56:10.682461Z"

  - `parsing.updated_at` (string, required)
    Example: "2025-06-12T14:56:10.682461Z"

  - `result` (object,null)
    Extracted structured result. Can be null until processing is complete.

  - `status` (string, required)
    * IN_QUEUE - In queue
* IN_PROGRESS - In progress
* FINISHED - Finished
* ERROR - Error
    Enum: "IN_QUEUE", "IN_PROGRESS", "FINISHED", "ERROR"

  - `error` (string,null)

  - `created_at` (string, required)
    Example: "2025-06-12T14:56:10.682461Z"

  - `updated_at` (string, required)
    Example: "2025-06-12T14:56:10.682461Z"

## Response 401 fields (application/json):

  - `detail` (string, required)
    Example: "Invalid API key"


