> ## Documentation Index
> Fetch the complete documentation index at: https://docs.anyformat.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Get File Results

> Retrieve processing results for a file, or poll for processing status

Returns results from every configured workflow node (parse, extraction, classification, splitter) in a flat dictionary keyed by node category.

<Info>
  The `collection_id` in the URL is the `id` returned by `POST /v2/workflows/{workflow_id}/files/` or `POST /v2/workflows/{workflow_id}/run/`.
</Info>

The endpoint returns:

* **200 OK** with results when processing has completed successfully
* **412 Precondition Failed** while processing is in progress (retryable)
* **422 Unprocessable Entity** when the extraction is in a terminal state (failed or cancelled) — distinguish via `error_code`

| HTTP | `error_code`           | Meaning                                               | Retry the GET?                                                                                                                                                                         |
| ---- | ---------------------- | ----------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 200  | —                      | Results available                                     | —                                                                                                                                                                                      |
| 412  | `PRECONDITION_FAILED`  | Still processing (`pending`, `queued`, `in_progress`) | Yes, with backoff                                                                                                                                                                      |
| 422  | `EXTRACTION_FAILED`    | Job did not complete successfully                     | **No** — polling will not change the state. Possible next steps: review the document, retry the upload, or open the collection in the [AnyFormat dashboard](https://app.anyformat.ai). |
| 422  | `EXTRACTION_CANCELLED` | Job was cancelled                                     | **No**. Possible next steps: review the document, retry the upload, or open the collection in the [AnyFormat dashboard](https://app.anyformat.ai).                                     |

<Note>
  Prefer [webhooks](/api-reference/webhooks/overview) over polling for production integrations. Webhooks deliver results immediately without consuming your rate limit.
</Note>

## Polling Example with Backoff

<CodeGroup>
  ```python Python (requests) theme={null}
  import requests
  import time

  headers = {"Authorization": "Bearer YOUR_API_KEY"}
  workflow_id = "550e8400-e29b-41d4-a716-446655440000"
  file_id = "b2c3d4e5-f6a7-8901-bcde-f12345678901"

  max_attempts = 60  # 5 minutes at 5-second base intervals
  base_delay = 5

  for attempt in range(max_attempts):
      response = requests.get(
          f"https://api.anyformat.ai/v2/workflows/{workflow_id}/files/{file_id}/results/",
          headers=headers
      )

      if response.status_code == 200:
          results = response.json()
          print(results)
          break

      error_code = response.json().get("error_code") if response.content else None

      if error_code == "PRECONDITION_FAILED":
          # Still processing — typically takes 10-60 seconds
          delay = min(base_delay * (1.5 ** min(attempt, 5)), 30)
          time.sleep(delay)
      elif error_code in ("EXTRACTION_FAILED", "EXTRACTION_CANCELLED"):
          # Terminal — polling will not change this. Review the document, retry the upload, or check the AnyFormat dashboard.
          print(f"Extraction terminal: {error_code}")
          break
      elif response.status_code == 429:
          retry_after = int(response.headers.get("Retry-After", 10))
          time.sleep(retry_after)
      else:
          print(f"Error: {response.json().get('detail')}")
          break
  else:
      print("Polling timed out — consider using webhooks for production")
  ```
</CodeGroup>

<RequestExample>
  ```bash curl theme={null}
  curl -X GET 'https://api.anyformat.ai/v2/workflows/550e8400-e29b-41d4-a716-446655440000/files/b2c3d4e5-f6a7-8901-bcde-f12345678901/results/' \
    -H 'Authorization: Bearer YOUR_API_KEY'
  ```

  ```python Python (requests) theme={null}
  import requests

  workflow_id = "550e8400-e29b-41d4-a716-446655440000"
  file_id = "b2c3d4e5-f6a7-8901-bcde-f12345678901"
  url = f"https://api.anyformat.ai/v2/workflows/{workflow_id}/files/{file_id}/results/"
  headers = {
      "Authorization": "Bearer YOUR_API_KEY"
  }

  response = requests.get(url, headers=headers)

  if response.status_code == 200:
      print(response.json())
  else:
      body = response.json()
      error_code = body.get("error_code")
      if error_code == "PRECONDITION_FAILED":
          print("Still processing — retry later")
      elif error_code in ("EXTRACTION_FAILED", "EXTRACTION_CANCELLED"):
          print(f"Terminal: {error_code} — review the document, retry the upload, or check the AnyFormat dashboard")
      else:
          print(f"Error: {body.get('detail')}")
  ```

  ```javascript JavaScript theme={null}
  const workflowId = '550e8400-e29b-41d4-a716-446655440000';
  const fileId = 'b2c3d4e5-f6a7-8901-bcde-f12345678901';
  const response = await fetch(
    `https://api.anyformat.ai/v2/workflows/${workflowId}/files/${fileId}/results/`,
    {
      method: 'GET',
      headers: {
        'Authorization': 'Bearer YOUR_API_KEY'
      }
    }
  );

  if (response.status === 200) {
    const data = await response.json();
    console.log(data);
  } else {
    const body = await response.json();
    if (body.error_code === 'PRECONDITION_FAILED') {
      console.log('Still processing — retry later');
    } else if (body.error_code === 'EXTRACTION_FAILED' || body.error_code === 'EXTRACTION_CANCELLED') {
      console.log(`Terminal: ${body.error_code} — review the document, retry the upload, or check the AnyFormat dashboard`);
    }
  }
  ```

  ```typescript TypeScript theme={null}
  interface Evidence {
    text: string;
    page_number: number;
  }

  interface ExtractedField {
    value: string | number | boolean | null;
    value_override: string | number | boolean | null;
    verification_status: string | null;
    confidence: number;
    evidence: Evidence[];
  }

  interface ResultsResponse {
    collection_id: string;
    verification_url: string;
    parse: { markdown: string | null } | null;
    extraction: Record<string, ExtractedField> | null;
  }

  const workflowId = '0686bb97-8c30-70f0-8000-97669e000eb8';
  const collectionId = '069dcc2c-e14c-7606-8000-2ee4fb17b4e1';
  const response = await fetch(
    `https://api.anyformat.ai/v2/workflows/${workflowId}/files/${collectionId}/results/`,
    {
      method: 'GET',
      headers: {
        'Authorization': 'Bearer YOUR_API_KEY'
      }
    }
  );

  if (response.status === 200) {
    const data: ResultsResponse = await response.json();
    console.log(data);
  } else {
    const error = await response.json();
    if (error.error_code === 'PRECONDITION_FAILED') {
      console.log('Still processing — retry later');
    } else if (error.error_code === 'EXTRACTION_FAILED' || error.error_code === 'EXTRACTION_CANCELLED') {
      throw new Error(`Terminal: ${error.error_code} — review the document, retry the upload, or check the AnyFormat dashboard`);
    } else {
      throw new Error(`API error: ${error.error_code}`);
    }
  }
  ```
</RequestExample>

<ResponseExample>
  ```json Response (200 OK) theme={null}
  {
    "collection_id": "069dcc2c-e14c-7606-8000-2ee4fb17b4e1",
    "verification_url": "https://app.anyformat.ai/workflows/.../files/...",
    "parse": {
      "markdown": "<DOCUMENT id=\"1\" page=\"1\">..."
    },
    "extraction": {
      "invoice_number": {
        "value": "INV-001",
        "value_override": null,
        "verification_status": "not_verified",
        "confidence": 95.0,
        "evidence": [{"text": "Invoice #INV-001", "page_number": 1}]
      },
      "total_amount": {
        "value": 1250.00,
        "value_override": null,
        "verification_status": "not_verified",
        "confidence": 92.0,
        "evidence": [{"text": "Total: $1,250.00", "page_number": 1}]
      }
    }
  }
  ```

  ```json Response (200 OK — parse-only workflow, no extraction) theme={null}
  {
    "collection_id": "069dcc2c-e14c-7606-8000-2ee4fb17b4e1",
    "verification_url": "https://app.anyformat.ai/workflows/.../files/...",
    "parse": {
      "markdown": "<DOCUMENT id=\"1\" page=\"1\">..."
    },
    "extraction": null
  }
  ```

  ```json Response (412 Precondition Failed — still processing) theme={null}
  {
    "error": "Results not yet available",
    "detail": "Processing status is 'in_progress'. Results are available when status is 'processed'.",
    "error_code": "PRECONDITION_FAILED",
    "retryable": true,
    "request_id": "a1b2c3d4e5f67890abcdef1234567890"
  }
  ```

  ```json Response (422 — Extraction Failed) theme={null}
  {
    "error": "Extraction failed",
    "detail": "The extraction job did not complete successfully. Possible next steps: review the document, retry the upload, or open the collection in the AnyFormat dashboard for more context. If contacting support, please include the request_id from this response and the collection_id from the request URL.",
    "error_code": "EXTRACTION_FAILED",
    "retryable": false,
    "request_id": "a1b2c3d4e5f67890abcdef1234567890"
  }
  ```

  ```json Response (422 — Extraction Cancelled) theme={null}
  {
    "error": "Extraction cancelled",
    "detail": "The extraction job was cancelled. Possible next steps: review the document, retry the upload, or open the collection in the AnyFormat dashboard. If contacting support, please include the request_id from this response and the collection_id from the request URL.",
    "error_code": "EXTRACTION_CANCELLED",
    "retryable": false,
    "request_id": "a1b2c3d4e5f67890abcdef1234567890"
  }
  ```
</ResponseExample>

<Note>
  The `extraction` and `parse` keys are **always present** in the success response — they are explicitly `null` when the corresponding node didn't run. See [Response Formats](/api-reference/response-formats) for the canonical shape with field-by-field documentation.
</Note>


## OpenAPI

````yaml GET /v2/workflows/{workflow_id}/files/{collection_id}/results/
openapi: 3.1.0
info:
  title: AnyFormat API
  description: >
    Document extraction and workflow automation API.


    AnyFormat lets you define extraction workflows that pull structured data
    from any document — PDFs, images, scanned files, or plain text. Upload a
    file, run it through a workflow, and get back structured fields with
    confidence scores and source evidence.


    ## Quick start


    1. **Create a workflow** in the [AnyFormat
    dashboard](https://app.anyformat.ai) and define the fields you want to
    extract.

    2. **Run the workflow** via `POST /v2/workflows/{workflow_id}/run/` with a
    file attached.

    3. **Fetch results** via `GET
    /v2/workflows/{workflow_id}/files/{collection_id}/results/` once processing
    completes.


    ## Authentication


    All endpoints (except `/health/`) require a Bearer token in the
    `Authorization` header:


    ```

    Authorization: Bearer <your-api-key>

    ```


    Get your API key from
    [app.anyformat.ai/settings](https://app.anyformat.ai/settings).


    ## Versioning


    All endpoints use the `/v2/` path prefix. All responses include
    `X-API-Version`.
  version: 2.0.0
servers:
  - url: https://api.anyformat.ai
    description: API server
security: []
tags:
  - name: workflows
    description: >-
      Workflows define extraction templates — what fields to extract from
      documents. Create workflows, upload files, run extractions, and fetch
      results.
  - name: files
    description: >-
      File collections group uploaded documents and track their extraction
      progress. Upload files, check status, and retrieve extraction results.
  - name: webhooks
    description: >-
      Webhook subscriptions for asynchronous event notifications. Get notified
      when extractions complete or fail.
  - name: health
    description: Health check endpoints to verify API availability.
paths:
  /v2/workflows/{workflow_id}/files/{collection_id}/results/:
    get:
      tags:
        - files
      summary: Get file results
      description: >-
        Retrieve the extraction results for a file collection.


        Returns the structured data extracted from each file, including field
        values,

        confidence scores, and source evidence (text excerpts and page numbers).
        Also

        includes a `verification_url` linking to the AnyFormat dashboard for
        human review.


        Possible non-200 responses:


        - **412 `PRECONDITION_FAILED`** — extraction still in progress; retry
        with backoff.

        - **422 `EXTRACTION_FAILED`** — extraction did not complete
        successfully; terminal.
          Polling will not transition the collection out of this state. Possible
          next steps: review the document, retry the upload, or open the
          collection in the AnyFormat dashboard for more context.
        - **422 `EXTRACTION_CANCELLED`** — extraction was cancelled; terminal.
          Possible next steps: review the document, retry the upload, or open
          the collection in the AnyFormat dashboard.

        Use webhooks (`extraction.completed` event) to avoid polling.
      operationId: v2_get_file_results
      parameters:
        - name: workflow_id
          in: path
          required: true
          schema:
            type: string
            title: Workflow Id
        - name: collection_id
          in: path
          required: true
          schema:
            type: string
            title: Collection Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResultsResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - ApiKeyAuth: []
components:
  schemas:
    ResultsResponse:
      properties:
        collection_id:
          type: string
          title: Collection Id
          description: >-
            The file collection's UUID. Same value as the `id` returned by `POST
            /v2/workflows/{wid}/run/`.
        verification_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Verification Url
          description: >-
            Link to the AnyFormat dashboard for human review of this
            collection's results. `null` if the dashboard URL cannot be
            constructed (e.g. no files in the collection, or the deployment has
            no frontend URL configured).
        parse:
          anyOf:
            - $ref: '#/components/schemas/ParseResult'
            - type: 'null'
          description: >-
            Parse-node output (rendered markdown). `null` when the workflow has
            no parse node. Always present in the response.
        classifications:
          items:
            $ref: '#/components/schemas/ClassificationResult'
          type: array
          title: Classifications
          description: >-
            Per-classifier-node verdicts. Empty when the workflow has no
            classifier.
        splits:
          items:
            $ref: '#/components/schemas/SplitResult'
          type: array
          title: Splits
          description: >-
            Splitter output: category-level geometry with optional partitions.
            Empty when the workflow has no splitter.
        extractions:
          items:
            $ref: '#/components/schemas/Extraction'
          type: array
          title: Extractions
          description: >-
            Flat list of extraction datapoints. Linear workflows produce one
            entry with `split_name=null` and `partition=null`. Split workflows
            produce one entry per (split, partition). Empty when no extraction
            has run yet.
        extraction:
          anyOf:
            - additionalProperties:
                anyOf:
                  - $ref: '#/components/schemas/ExtractedField'
                  - items:
                      additionalProperties:
                        $ref: '#/components/schemas/ExtractedField'
                      type: object
                    type: array
              type: object
            - type: 'null'
          title: Extraction
          description: >-
            **Deprecated** — use `extractions` instead. Extracted fields keyed
            by field name, populated only for linear workflows (single extract
            node, no splitter). `null` for split workflows; read `extractions[]`
            instead.
          deprecated: true
      type: object
      required:
        - collection_id
      title: ResultsResponse
      description: >-
        Canonical response shape for the file-collection results endpoint.


        Returned with HTTP 200 once processing completes. Returns 412 while
        processing is

        in progress; poll until 200, or use webhooks.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ParseResult:
      properties:
        markdown:
          anyOf:
            - type: string
            - type: 'null'
          title: Markdown
          description: >-
            Document content rendered as structured markdown. Each block is
            preceded by an empty `<a id="p{page}_b{idx}"></a>` anchor (invisible
            in any markdown renderer; the id joins to `blocks[].id` and can be
            used as an in-page link target). Image hydration for picture/figure
            blocks happens client-side. `null` if parsing failed.
        text:
          anyOf:
            - type: string
            - type: 'null'
          title: Text
          description: >-
            Plain markdown with structural HTML removed — `<DOCUMENT>` framing,
            block anchors, `<img>` tags, and `<figure-content>` wrappers
            stripped. Useful when feeding the parsed output into an LLM or a
            search index that doesn't need the block-level metadata. `null` if
            `markdown` is null.
        layout_confidence:
          anyOf:
            - type: number
            - type: 'null'
          title: Layout Confidence
          description: >-
            Document-level YOLO layout confidence on a 0-100 scale,
            char-weighted mean across all blocks. `null` if no annotated
            sections.
        parse_confidence:
          anyOf:
            - type: number
            - type: 'null'
          title: Parse Confidence
          description: >-
            Document-level parse confidence on a 0-100 scale, char-weighted mean
            of per-block LLM logprob scores. `null` when no blocks have
            logprob-based confidence.
        blocks:
          items:
            $ref: '#/components/schemas/Block'
          type: array
          title: Blocks
          description: >-
            Structured per-block representation of the parsed document. One
            entry per `<a id></a>` anchor in document order, with type-specific
            structured data (`rows` for tables, `image_base64` for pictures)
            surfaced as first-class fields so consumers don't have to
            HTML-parse.
      type: object
      required:
        - markdown
      title: ParseResult
      description: Parsed markdown for a file.
    ClassificationResult:
      properties:
        category:
          type: string
          title: Category
          description: The category the document was classified as.
        confidence:
          type: number
          title: Confidence
          description: 0-100 model confidence in the verdict.
        evidence:
          anyOf:
            - type: string
            - type: 'null'
          title: Evidence
          description: >-
            Free-form evidence text (the snippets the classifier cited). `null`
            when none captured.
      type: object
      required:
        - category
        - confidence
      title: ClassificationResult
      description: One classifier verdict for the collection.
    SplitResult:
      properties:
        name:
          type: string
          title: Name
          description: The split's category name.
        files:
          items:
            $ref: '#/components/schemas/FilePages'
          type: array
          title: Files
          description: Per-file page lists, union of all partitions.
        confidence:
          type: integer
          title: Confidence
          description: 0-100 aggregate confidence (min across partitions).
        partitions:
          items:
            $ref: '#/components/schemas/SplitPartition'
          type: array
          title: Partitions
      type: object
      required:
        - name
        - files
        - confidence
      title: SplitResult
      description: |-
        A category-level split: which pages of which files fall under it, plus
        any partitions inside it. Extraction data lives under `extractions[]` —
        join by `split_name`.
    Extraction:
      properties:
        split_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Split Name
          description: >-
            The split category this extraction belongs to. `null` for linear
            workflows.
        partition:
          anyOf:
            - type: string
            - type: 'null'
          title: Partition
          description: >-
            The partition value within the split. `null` when the split has no
            partitions.
        fields:
          additionalProperties:
            anyOf:
              - $ref: '#/components/schemas/ExtractedField'
              - items:
                  additionalProperties:
                    $ref: '#/components/schemas/ExtractedField'
                  type: object
                type: array
          type: object
          title: Fields
          description: >-
            Extracted fields keyed by field name. Same shape as the legacy
            top-level `extraction`.
      type: object
      required:
        - fields
      title: Extraction
      description: >-
        One unit of extracted data. For linear (parse->extract) workflows there

        is exactly one entry with `split_name=null` and `partition=null`. For
        split

        workflows there is one entry per (split, partition) pair; join with

        `splits[]` by `split_name` to look up geometry.
    ExtractedField:
      properties:
        value:
          anyOf:
            - {}
            - type: 'null'
          title: Value
          description: >-
            The extracted value. Type depends on the field's `data_type`
            (string, number, date, etc.). `null` when extraction could not
            produce a value.
        value_override:
          anyOf:
            - {}
            - type: 'null'
          title: Value Override
          description: >-
            A human-supplied override of the extracted `value`, if one was set
            during verification. `null` when no override exists.
        verification_status:
          anyOf:
            - type: string
            - type: 'null'
          title: Verification Status
          description: >-
            Verification state for this datapoint (e.g. `not_verified`,
            `verified`). `null` when not yet reviewed.
        confidence:
          anyOf:
            - type: number
            - type: 'null'
          title: Confidence
          description: >-
            Model confidence in the extracted value, on a 0-100 scale. `null`
            when the backend did not produce a confidence (e.g. manual entry).
        evidence:
          items:
            $ref: '#/components/schemas/Evidence'
          type: array
          title: Evidence
          description: Source-text snippets the model used to derive this value.
      type: object
      required:
        - value
      title: ExtractedField
      description: One extracted field's value, confidence, and supporting evidence.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    Block:
      properties:
        id:
          type: string
          title: Id
          description: Stable block identifier in the form `p<page>_b<index>`.
        type:
          type: string
          title: Type
          description: >-
            Semantic type: `text`, `title`, `section-header`, `table`,
            `picture`, `other`.
        page:
          type: integer
          title: Page
          description: 1-indexed page number this block belongs to.
        bbox:
          additionalProperties:
            type: number
          type: object
          title: Bbox
          description: >-
            Normalised bounding box in [0, 1] page coordinates with keys
            `x0`/`y0`/`x1`/`y1`.
        layout_confidence:
          type: number
          title: Layout Confidence
          description: 0-100 YOLO layout detection confidence for this block.
        parse_confidence:
          anyOf:
            - type: number
            - type: 'null'
          title: Parse Confidence
          description: >-
            0-100 parse confidence calibrated from LLM logprobs. `null` when
            logprobs were unavailable (e.g. text-bytes strategy).
        content:
          type: string
          title: Content
          description: >-
            Raw section body — markdown for text/title blocks, HTML for tables,
            `<figure-content>` for pictures.
        hyperlinks:
          items:
            $ref: '#/components/schemas/Hyperlink'
          type: array
          title: Hyperlinks
          description: Hyperlinks found in the content via `[text](uri)` markdown syntax.
        rows:
          anyOf:
            - items:
                items:
                  additionalProperties:
                    type: string
                  type: object
                type: array
              type: array
            - type: 'null'
          title: Rows
          description: >-
            2D array of table cells for `type=table` blocks — each cell is
            `{cell_id, text}`. `null` for non-table blocks.
        image_base64:
          anyOf:
            - type: string
            - type: 'null'
          title: Image Base64
          description: >-
            Inline base64-encoded cropped image for `type=picture` blocks.
            Currently `null` for all blocks — image hydration is performed
            client-side by the SDK consumer.
      type: object
      required:
        - id
        - type
        - page
        - bbox
        - layout_confidence
        - content
      title: Block
      description: |-
        One semantic block of a parsed document — a structured alternative to
        walking `<a id></a>` anchors in `markdown`.

        All blocks expose the common fields (`id`, `type`, `page`, `bbox`,
        `confidence`, `content`). Type-specific structured data lives in the
        optional fields (`rows` for tables, `image_base64` for pictures).
        Consumers can switch on `type` to access the per-type fields, or treat
        `content` as the universal fallback.
    FilePages:
      properties:
        file_id:
          type: string
          title: File Id
          description: The file's UUID.
        file_name:
          type: string
          title: File Name
          description: The file's display name.
        pages:
          items:
            type: integer
          type: array
          title: Pages
          description: 1-indexed page numbers from this file.
      type: object
      required:
        - file_id
        - file_name
        - pages
      title: FilePages
      description: A file's contribution of pages to a split or partition. 1-indexed.
    SplitPartition:
      properties:
        name:
          type: string
          title: Name
          description: The partition value (free-form string).
        files:
          items:
            $ref: '#/components/schemas/FilePages'
          type: array
          title: Files
        confidence:
          type: integer
          title: Confidence
          description: 0-100 minimum confidence across the partition's ranges.
      type: object
      required:
        - name
        - files
        - confidence
      title: SplitPartition
      description: >-
        A partition value within a split (e.g. `1234-5678` under `Account
        Holdings`).
    Evidence:
      properties:
        text:
          type: string
          title: Text
          description: The exact source-text snippet that supports the extracted value.
        page_number:
          type: integer
          title: Page Number
          description: 1-indexed page number where the snippet was found.
      type: object
      required:
        - text
        - page_number
      title: Evidence
      description: >-
        A snippet of source text supporting an extracted value, with the page it
        came from.
    Hyperlink:
      properties:
        text:
          type: string
          title: Text
          description: The display text of the link.
        uri:
          type: string
          title: Uri
          description: The link target (URL, mailto:, etc.).
      type: object
      required:
        - text
        - uri
      title: Hyperlink
      description: A hyperlink found inside a block's content.
  securitySchemes:
    ApiKeyAuth:
      type: http
      description: >-
        API key issued from app.anyformat.ai/settings. Send as `Authorization:
        Bearer <key>`.
      scheme: bearer

````