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

# Download an order receipt

> Returns the legal receipt as a PDF (or HTML when `format=html`). Error responses use the standard JSON envelope `{status, status_message, data}`.




## OpenAPI

````yaml /openapi/escrybe.en.yaml get /api/receipts/v1/get
openapi: 3.1.0
info:
  title: Escrybe API
  version: 1.0.0
  description: >
    REST API for the Escrybe platform — send physical letters, registered
    letters, telegrams and e-Carta through Brazilian Correios, dispatch legally
    registered e-mails, and send WhatsApp messages with certified timestamps.


    ## Authentication

    Every account has a personal **`securityToken`** (find it in the panel under
    *Account → API*). Three products use it differently:


    | Product | Scheme | How | |---------|--------|-----| | Letters / Telegram /
    e-Carta, Registered E-mail, Receipts | API token | Send `userSecurityToken`
    as a query/body parameter, or `securityToken` as a header | | WhatsApp |
    HTTP Basic | `Authorization: Basic base64(email:securityToken)` |


    > The letter and e-mail **read** routes (`get`, `balance`, `download`, >
    `delete`) take the token as the first URL **path** segment — e.g. >
    `/api/v2/get/{securityToken}/{job_id}`.


    ## Response envelopes

    Most endpoints reply with the standard envelope `{"status": <http code>,
    "status_message": "...", "data": ...}` — this covers Letters/Telegram,
    Registered E-mail, and the WhatsApp message and sender endpoints. The
    WhatsApp **template** endpoints (and template sync) use `{"code": <http
    code>, "status": "success|error", "message": "...", "data": ...,
    "request_id": "..."}`; the logo endpoint uses the same shape without
    `request_id`. See the schema of each endpoint.


    A request that is accepted returns an HTTP `200` with a success payload;
    validation problems return `400`, bad credentials `401`, and forbidden
    access `403`. Unsupported HTTP methods return `405`, repeated failed
    authentication attempts return `429`, and the letter and e-mail endpoints
    return `503` during maintenance windows.
  contact:
    name: Escrybe Support
    url: https://escrybe.com.br
servers:
  - url: https://app.escrybe.com.br
    description: Production
  - url: https://homolog.escrybe.com.br
    description: Staging
security:
  - securityTokenQuery: []
tags:
  - name: Letters & Telegram
    description: Create and manage letter, telegram and e-Carta orders (Correios).
  - name: Account & Favorites
    description: Account balance, saved contacts and sender logo.
  - name: Registered E-mail
    description: Send and track legally registered e-mails.
  - name: WhatsApp Messages
    description: Send WhatsApp messages and download certified-timestamp attestations.
  - name: WhatsApp Senders
    description: Manage WhatsApp Business numbers (senders).
  - name: WhatsApp Templates
    description: Create, sync and manage WhatsApp message templates.
  - name: Receipts
    description: Download legal receipts for any order.
paths:
  /api/receipts/v1/get:
    get:
      tags:
        - Receipts
      summary: Download an order receipt
      description: >
        Returns the legal receipt as a PDF (or HTML when `format=html`). Error
        responses use the standard JSON envelope `{status, status_message,
        data}`.
      operationId: getReceipt
      parameters:
        - name: order_id
          in: query
          required: true
          schema:
            type: string
          description: >
            Order visual id — e.g. 2607031 (letter/telegram), E2607031
            (registered e-mail) or the WhatsApp visual id. Also accepted as
            `id_order`.
        - name: type
          in: query
          schema:
            type: string
            enum:
              - letter
              - telegram
              - email
              - whatsapp
          description: Auto-detected when omitted.
        - name: format
          in: query
          schema:
            type: string
            enum:
              - html
          description: >
            Set to `html` to preview as HTML instead of a PDF download. Letter,
            telegram and e-mail receipts only — WhatsApp always returns the
            expert-report PDF.
      responses:
        '200':
          description: Receipt file
          content:
            application/pdf:
              schema:
                type: string
                format: binary
            text/html:
              schema:
                type: string
        '400':
          description: Missing order_id
        '401':
          description: Unauthorized
        '403':
          description: Order does not belong to the authenticated user
        '404':
          description: Order not found
        '429':
          description: Too many failed authentication attempts (rate limited)
        '500':
          description: PDF generation failure
        '503':
          description: PDF renderer unavailable
      security:
        - bearerAuth: []
        - securityTokenHeader: []
        - securityTokenQuery: []
components:
  securitySchemes:
    securityTokenQuery:
      type: apiKey
      in: query
      name: userSecurityToken
      description: >-
        Your account security token, sent as the `userSecurityToken` query or
        form parameter.
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Your account security token sent as `Authorization: Bearer <token>`.'
    securityTokenHeader:
      type: apiKey
      in: header
      name: securityToken
      description: Your account security token, sent in the `securityToken` header.

````