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

# Fetch the signer's copy of the document

> Record access for the signer (ATL-232 / ATL-285 / ATL-286): returns the PDF of the document as it stands at this signer's turn, so they can read it outside the viewer, keep a copy, or hand it to counsel before signing. Matches the viewer: earlier signers' completed values are stamped in, and blocks still awaiting a signature (including this signer's own) are marked, so the copy is never a blank original. Stamped from the signer's own view, so a later party's values can never appear. Served same-origin rather than redirected to storage: a browser fetch that followed a 302 to private Vercel Blob CORS-preflights that host, and Blob OPTIONS is not 2xx, so Download failed on staging. Same content gate as `GET /envelope`: a participant whose turn has not arrived, a terminal envelope, and a missing renderable document are all 404. Being a plain URL (the token may ride in the `token` query param), it is safe to open in a new tab.



## OpenAPI

````yaml /openapi.json get /api/signer/document
openapi: 3.0.0
info:
  title: Atlas API
  version: 0.0.0
servers:
  - url: https://api.atlaswork.ai
security: []
paths:
  /api/signer/document:
    get:
      tags:
        - signer
      summary: Fetch the signer's copy of the document
      description: >-
        Record access for the signer (ATL-232 / ATL-285 / ATL-286): returns the
        PDF of the document as it stands at this signer's turn, so they can read
        it outside the viewer, keep a copy, or hand it to counsel before
        signing. Matches the viewer: earlier signers' completed values are
        stamped in, and blocks still awaiting a signature (including this
        signer's own) are marked, so the copy is never a blank original. Stamped
        from the signer's own view, so a later party's values can never appear.
        Served same-origin rather than redirected to storage: a browser fetch
        that followed a 302 to private Vercel Blob CORS-preflights that host,
        and Blob OPTIONS is not 2xx, so Download failed on staging. Same content
        gate as `GET /envelope`: a participant whose turn has not arrived, a
        terminal envelope, and a missing renderable document are all 404. Being
        a plain URL (the token may ride in the `token` query param), it is safe
        to open in a new tab.
      responses:
        '200':
          description: The signer's PDF, served same-origin
        '401':
          description: Missing, invalid, expired, or reissued signing link
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties:
                      nullable: true
                required:
                  - code
                  - message
        '404':
          description: >-
            The link's envelope or participant no longer exists, the signer's
            turn has not arrived, the envelope is terminal, or no renderable
            document is stored
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties:
                      nullable: true
                required:
                  - code
                  - message
      security:
        - signerToken: []
components:
  securitySchemes:
    signerToken:
      type: http
      scheme: bearer
      description: HMAC-signed envelope token, as a bearer token or a `token` query param.

````