> ## Documentation index
> Fetch the complete documentation index at: https://docs.rxresu.me/llms.txt
> Ask it with GET https://docs.rxresu.me/ask?q=<keywords or question>. Short keywords rank best.
> Use these to discover all available pages before exploring further.

# List documents

> Returns the user's resumes and saved cover letters (or those in Trash), newest edit first, with the job application each was made for. Requires authentication.

`GET /documents`

## OpenAPI

````yaml spec.json get /documents
openapi: 3.1.1
info:
  title: Reactive Resume
  version: 6.0.7
  description: "Reactive Resume API. Mutations do not support Idempotency-Key. Do
    not automatically retry POST, PUT, PATCH or DELETE requests after a timeout:
    first read the resource to determine whether the operation succeeded.
    Existing enum values and response shapes are retained for compatibility."
  license:
    name: MIT
    url: https://github.com/reactive-resume/reactive-resume/blob/main/LICENSE
  contact:
    name: Amruth Pillai
    email: amruth@rxresu.me
    url: https://amruthpillai.com
servers:
  - url: https://rxresu.me/api/openapi
security:
  - apiKey: []
  - bearerAuth: []
  - cookieAuth: []
paths:
  /documents:
    get:
      operationId: listDocuments
      summary: List documents
      description: Returns the user's resumes and saved cover letters (or those in
        Trash), newest edit first, with the job application each was made for.
        Requires authentication.
      tags:
        - Documents
      parameters:
        - name: limit
          in: query
          schema:
            type: integer
            minimum: 1
            maximum: 100
            description: Maximum results (1–100). Omit both pagination fields for the legacy
              complete list.
          allowEmptyValue: true
          allowReserved: true
        - name: offset
          in: query
          schema:
            type: integer
            minimum: 0
            maximum: 9007199254740991
            description: Zero-based offset. Defaults to 0; limit defaults to 20 when only
              offset is given.
          allowEmptyValue: true
          allowReserved: true
        - name: trashed
          in: query
          schema:
            type: boolean
            default: false
            description: List the documents in Trash instead.
          allowEmptyValue: true
          allowReserved: true
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    type:
                      enum:
                        - resume
                        - letter
                      type: string
                      description: resume, or letter (a saved cover letter).
                    id:
                      type: string
                    name:
                      type: string
                    tags:
                      type: array
                      items:
                        type: string
                    isLocked:
                      type: boolean
                    isPublic:
                      type: boolean
                      description: Whether a resume's public link is on; always false for letters.
                    slug:
                      anyOf:
                        - type: string
                        - type: "null"
                      description: A resume's public address, /{username}/{slug}; null for letters.
                    trashedAt:
                      anyOf:
                        - type: string
                          format: date-time
                          x-native-type: date
                        - type: "null"
                      description: When the document moved to Trash; null while it's live.
                    createdAt:
                      type: string
                      format: date-time
                      x-native-type: date
                    updatedAt:
                      type: string
                      format: date-time
                      x-native-type: date
                    application:
                      anyOf:
                        - type: object
                          properties:
                            id:
                              type: string
                            company:
                              type: string
                            role:
                              type: string
                          required:
                            - id
                            - company
                            - role
                        - type: "null"
                      description: The job application this document was made for, if any.
                  required:
                    - type
                    - id
                    - name
                    - tags
                    - isLocked
                    - isPublic
                    - slug
                    - trashedAt
                    - createdAt
                    - updatedAt
                    - application
          headers:
            X-Total-Count:
              description: Total matching results before pagination.
              schema:
                type: integer
            X-Limit:
              description: Page size, when pagination is requested.
              schema:
                type: integer
            X-Offset:
              description: Zero-based offset, when pagination is requested.
              schema:
                type: integer
        default:
          description: Structured API error. See status and code; do not branch on message
            text.
          content:
            application/json:
              schema:
                type: object
                required:
                  - defined
                  - code
                  - status
                  - message
                properties:
                  defined:
                    type: boolean
                  code:
                    type: string
                  status:
                    type: integer
                  message:
                    type: string
                  data: {}
      security:
        - apiKey: []
        - bearerAuth: []
        - cookieAuth: []
      x-codeSamples:
        - lang: bash
          label: cURL
          source: 'curl "https://rxresu.me/api/openapi/documents" --header "x-api-key:
            <api-key>"'
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: An OAuth access token issued by this instance for its API/MCP resource.
    cookieAuth:
      type: apiKey
      in: cookie
      name: better-auth.session_token
      description: Browser session (secure deployments use the __Secure- prefix).
        Cookie requests must originate from this instance.
    apiKey:
      type: apiKey
      name: x-api-key
      in: header
      description: The API key to authenticate requests.
````
