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

# Get PDFs

> Get list of PDFs for a specified end user




## OpenAPI

````yaml https://app.herondata.io/swagger get /api/end_users/{end_user_id_or_heron_id}/pdfs
openapi: 3.0.0
info:
  contact:
    email: support@herondata.io
    name: Support
  title: Heron Data API
  version: '2021-07-19'
servers:
  - description: Production
    url: https://app.herondata.io
security:
  - ApiKeyAuth:
      - key_XXX
externalDocs:
  description: Read Tutorial
  url: https://docs.herondata.io/
paths:
  /api/end_users/{end_user_id_or_heron_id}/pdfs:
    get:
      tags:
        - EndUserIntegrations
      summary: Get PDFs
      description: |
        Get list of PDFs for a specified end user
      parameters:
        - description: The `end_user_id` or `heron_id` of EndUser to upload
          in: path
          name: end_user_id_or_heron_id
          required: true
          schema:
            type: string
        - description: Include processed results where applicable per pdf
          in: query
          name: with_processed_results
          required: false
          schema:
            type: boolean
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  pdfs:
                    items:
                      $ref: '#/components/schemas/PdfGetSchema'
                    type: array
                type: object
          description: OK
      security:
        - ApiKeyAuth: []
components:
  schemas:
    PdfGetSchema:
      properties:
        account_id:
          description: Unique ID for account associated with PDF
          example: checking_account_202348
          type: string
        created:
          description: Timestamp when PDF was created in Heron system
          example: '2026-10-06T22:12:33.538406'
          format: date-time
          type: string
        currency:
          description: >-
            ISO 4217 currency code for transactions in account. We currently
            only support GBP and USD PDFs
          enum:
            - USD
            - GBP
          example: USD
          type: string
        data_source:
          allOf:
            - $ref: '#/components/schemas/DataSourceNested'
          description: >-
            The data source for this PDF. Only available after parsing and
            enrichment has completed, otherwise null.
          nullable: true
        end_user:
          $ref: '#/components/schemas/EndUser2'
        filename:
          description: The filename of the PDF
          example: my-favourite.pdf
          type: string
        has_unexplained_edits:
          description: >-
            Whether the PDF's edits are worth investigating. Absent when the
            file has not been checked.
          type: boolean
        heron_id:
          description: ID generated by Heron Data
          example: pdf_SmXdnWk75k6NSREPLS9pMq
          type: string
        is_image_based:
          description: >-
            True if the PDF was processed using image-based OCR. None if not yet
            processed
          nullable: true
          type: boolean
        last_updated:
          description: Timestamp when PDF was last updated in Heron system
          example: '2026-10-06T22:12:33.538441'
          format: date-time
          type: string
        notes:
          description: Notes for the PDF, e.g., failed reason
          example: failed to send to external OCR provider
          type: string
        parsing_version:
          description: Indicates which provider was used to parse this pdf
          type: string
        reconciliation_method:
          description: >-
            How the reconciliation verdict was set: `start_and_end_balance`,
            `running_balance`, `summary_derived`, `total_debits_credits`, or
            `zero_balances` for ladder checks; `human` for a reviewer. Null
            means no method decided the verdict, including when nothing could be
            checked or when the reconciliation status is null.
          enum:
            - start_and_end_balance
            - summary_derived
            - running_balance
            - total_debits_credits
            - zero_balances
            - human
            - null
          nullable: true
        reconciliation_status:
          description: >-
            Stored reconciliation verdict. `reconciled` means a ladder check
            passed or a reviewer confirmed the document. `not_possible` means
            nothing available could verify it. `failed` means a ladder check
            failed or a reviewer ruled it unreconciled. Null means neither the
            ladder nor a reviewer set a verdict.
          enum:
            - failed
            - not_possible
            - reconciled
            - null
          nullable: true
          type: string
        reference_id:
          description: An optional field for your unique identifier for the PDF
          example: my-favourite-pdf
          type: string
        statements:
          items:
            $ref: '#/components/schemas/PdfStatement'
          type: array
        status:
          description: Status of PDF
          enum:
            - new
            - parsing
            - parsed
            - processed
            - human_reviewing
            - approved
            - rejected
            - failed
            - transactions_loaded
            - transactions_unloaded
          example: processed
          type: string
      type: object
    DataSourceNested:
      properties:
        heron_id:
          description: Heron ID of the data source
          type: string
        is_enabled:
          description: Whether this data source is enabled
          type: boolean
      type: object
    EndUser2:
      properties:
        heron_id:
          description: Unique id for end user generated by Heron
          example: eus_DheWfVuDA7n3uxB4WBoPJ7
          readOnly: true
          type: string
      type: object
    PdfStatement:
      properties:
        data_source_account:
          allOf:
            - $ref: '#/components/schemas/DataSourceAccountNested'
          description: >-
            The data source account for this statement. Only available after
            parsing and enrichment has completed, otherwise null.
          nullable: true
        exclude:
          description: True if the statement should be excluded from processing
          type: boolean
        invalid_transaction_partials:
          items:
            $ref: '#/components/schemas/PdfPatchTransaction'
          type: array
        reconciliation_method:
          description: >-
            The ladder check that set this statement's verdict:
            `start_and_end_balance`, `running_balance`, `summary_derived`,
            `total_debits_credits`, or `zero_balances`. A reviewer can restamp
            the PDF without changing this value; `human` applies only at PDF
            level. Use the PDF-level `reconciliation_method` for the document
            verdict. Null means no ladder check decided the statement verdict.
          enum:
            - start_and_end_balance
            - summary_derived
            - running_balance
            - total_debits_credits
            - zero_balances
            - human
            - null
          nullable: true
        reconciliation_status:
          description: >-
            The reconciliation ladder's verdict for this statement: `reconciled`
            means a check passed, `not_possible` means no check could decide,
            and `failed` means a check failed. A reviewer can restamp the PDF
            without changing this value. Use the PDF-level
            `reconciliation_status` as the document verdict. Null means the
            stored parser output has no ladder verdict.
          enum:
            - failed
            - not_possible
            - reconciled
            - null
          nullable: true
          type: string
        summary:
          $ref: '#/components/schemas/MoneyThumbStatementSummary'
        transaction_partials:
          items:
            $ref: '#/components/schemas/PdfTransaction'
          type: array
      type: object
    DataSourceAccountNested:
      properties:
        heron_id:
          description: Heron ID of the data source account
          type: string
        is_enabled:
          description: Whether this data source account is enabled
          type: boolean
      type: object
    PdfPatchTransaction:
      properties:
        amount:
          nullable: true
          type: number
        balance:
          nullable: true
          type: number
        bounds:
          allOf:
            - $ref: '#/components/schemas/MoneyThumbTransactionBounds'
          nullable: true
        currency:
          nullable: true
          type: string
        description:
          nullable: true
          type: string
        ocr_suspect:
          nullable: true
          type: boolean
        reference_id:
          nullable: true
          type: string
        timestamp:
          format: date-time
          nullable: true
          type: string
        transaction_code:
          nullable: true
          type: string
      type: object
    MoneyThumbStatementSummary:
      properties:
        account_number:
          type: string
        account_title:
          type: string
        bank_name:
          type: string
        company:
          type: string
        currency:
          type: string
        end_balance:
          type: number
        fraud_reasons:
          items:
            type: string
          type: array
        fraud_score:
          type: integer
        is_business_account:
          type: boolean
        is_ocr:
          type: boolean
        max_resolution:
          type: integer
        min_resolution:
          type: integer
        num_credits:
          type: integer
        num_debits:
          type: integer
        num_transactions:
          type: integer
        reconciled:
          description: >-
            Legacy result for whether this statement's transactions add up to
            its balances. Prefer a non-null `reconciliation_status`; use this
            value when that status is null.
          type: boolean
        start_balance:
          type: number
        statement_end_date:
          format: date-time
          type: string
        statement_start_date:
          format: date-time
          type: string
        total_credits:
          type: number
        total_debits:
          type: number
        unreconciled_end_balance:
          type: number
        web_report:
          type: boolean
      required:
        - end_balance
        - num_credits
        - num_debits
        - num_transactions
        - reconciled
        - start_balance
        - total_credits
        - total_debits
      type: object
    PdfTransaction:
      properties:
        amount:
          type: number
        balance:
          type: number
        bounds:
          allOf:
            - $ref: '#/components/schemas/MoneyThumbTransactionBounds'
          nullable: true
        currency:
          nullable: true
          type: string
        description:
          type: string
        ocr_suspect:
          type: boolean
        reference_id:
          type: string
        timestamp:
          format: date-time
          type: string
        transaction_code:
          type: string
      required:
        - amount
        - description
        - timestamp
      type: object
    MoneyThumbTransactionBounds:
      properties:
        page:
          nullable: true
          type: integer
        x_max:
          nullable: true
          type: integer
        x_min:
          nullable: true
          type: integer
        y_max:
          nullable: true
          type: integer
        y_min:
          nullable: true
          type: integer
      required:
        - page
        - x_max
        - x_min
        - y_max
        - y_min
      type: object
  securitySchemes:
    ApiKeyAuth:
      in: header
      name: x-api-key
      type: apiKey

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.