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

# Download Result PDF

> Download the PDF binary produced by a `/form/detect`,
`/form/fill`, or `/form/clear` job. The `pdf_url` field on a
`FormResult` points at this endpoint — you can hand it
directly to a browser, embed it in an `<iframe>`, or fetch the
bytes from a backend.

Returns `404` for non-form jobs (no PDF was produced) and for
form jobs whose PDF artifact is no longer available.

## Overview

Download the PDF output produced by form workflows such as detect, fill, or clear when the job result includes a PDF URL.

## Typical Flow

1. Submit a form job with `/form/detect`, `/form/fill`, or `/form/clear`.
2. If async, poll `GET /job/{jobId}` until the job completes.
3. Download the final PDF from `/results/{jobId}/pdf` or from the PDF URL included in the result.

## Related

<CardGroup cols={3}>
  <Card title="Detect Form Fields" icon="magnifying-glass" href="/api-reference/endpoint/form-detect">
    Detect editable form cells.
  </Card>

  <Card title="Fill Form" icon="pen-to-square" href="/api-reference/endpoint/form-fill">
    Fill a PDF form.
  </Card>

  <Card title="Clear Form" icon="eraser" href="/api-reference/endpoint/form-clear">
    Remove filled values.
  </Card>
</CardGroup>


## OpenAPI

````yaml GET /results/{jobId}/pdf
openapi: 3.1.0
info:
  title: Pulse API Structure
  version: 0.1.0
  description: >-
    Canonical contract for the Pulse extraction APIs. This specification is the
    single source of truth for shared request/response models that client and
    server packages consume.
servers:
  - url: https://api.runpulse.com
    description: Default Pulse API base URL
security:
  - ApiKey: []
paths:
  /results/{jobId}/pdf:
    get:
      tags:
        - Results
      summary: Download form-job PDF
      description: |-
        Download the PDF binary produced by a `/form/detect`,
        `/form/fill`, or `/form/clear` job. The `pdf_url` field on a
        `FormResult` points at this endpoint — you can hand it
        directly to a browser, embed it in an `<iframe>`, or fetch the
        bytes from a backend.

        Returns `404` for non-form jobs (no PDF was produced) and for
        form jobs whose PDF artifact is no longer available.
      operationId: getResultPdf
      parameters:
        - name: jobId
          in: path
          required: true
          description: Job identifier from a form endpoint.
          schema:
            type: string
      responses:
        '200':
          description: PDF binary (`application/pdf`).
          content:
            application/pdf:
              schema:
                type: string
                format: binary
        '404':
          description: Job not found, or no PDF associated with this job.
        '500':
          description: Internal server error
components:
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: x-api-key
      x-fern-header:
        name: apiKey
        env: PULSE_API_KEY

````