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

# List Documents

> List all documents.




## OpenAPI

````yaml https://getunblocked.com/api/v1/public-api.json get /documents
openapi: 3.0.3
info:
  title: Unblocked Public API Reference
  description: >
    The Unblocked Public API offers seamless collection for managing custom data
    sources through a structured set of endpoints.

    It allows users to create collections and organize and upload documents.


    # Base URL

    The base URL for all requests is:


    ```jsx

    https://getunblocked.com/api/v1

    ```


    # Authentication

    Authentication requires an API key, obtainable from the web dashboard,

    which must be included in the `Authorization` request header for all
    endpoints.


    ```bash

    curl -X GET https://getunblocked.com/api/v1/collections \
         -H "Authorization: Bearer YOUR_API_KEY"
    ```


    # Rate Limits & Quotas


    **Resource Limits:**

    - Collections: Maximum 25 per team

    - Request Size: Maximum 10MB per request

    - Pagination: 1-200 items per page (default: 25)


    **Answers API:**

    - Daily Limit: 1000 questions per day per organization

    - Quota Reset: Midnight PST

    - Exceeding the limit returns a 429 Too Many Requests error


    **Field Constraints:**

    - Collection name: 1-32 characters

    - Collection description: 1-4096 characters
  contact:
    name: Unblocked
    email: help@getunblocked.com
  version: v1
  x-logo:
    url: https://avatars.githubusercontent.com/u/91906527?s=300
    altText: Unblocked
servers:
  - url: https://getunblocked.com/api/v1
security:
  - ApiKeyBearerAuth: []
tags:
  - name: Collections
    description: >
      A collection in Unblocked allows you to organize related documents from
      various data sources, such as customer support tools, knowledge bases, and
      internal wikis, which are not natively supported by Unblocked.


      You can create multiple collections to manage documents from different
      sources.


      You have the ability to list, create, update, and delete them as needed.


      Deleting a collection will also remove all the associated documents.
  - name: Documents
    description: >
      A document contains content that Unblocked uses to answer questions. Each
      document is associated with a collection, so you must create a collection
      before adding documents. Documents used to provide answers will appear as
      references in the Unblocked interface.


      You can create and delete documents as needed.
  - name: Answers
    description: >
      Ask Unblocked questions and retrieve answers asynchronously. Submit a
      question using the PUT endpoint and poll for the response using the GET
      endpoint.
paths:
  /documents:
    get:
      tags:
        - Documents
      summary: List Documents
      description: |
        List all documents.
      operationId: listDocuments
      parameters:
        - $ref: '#/components/parameters/Limit'
        - $ref: '#/components/parameters/After'
        - $ref: '#/components/parameters/Before'
      responses:
        '200':
          description: OK
          headers:
            link:
              $ref: '#/components/headers/Link'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Document'
        '401':
          $ref: '#/components/responses/ErrorResponse'
          description: Unauthorized - Invalid or missing API token
        '500':
          $ref: '#/components/responses/ErrorResponse'
          description: Internal Server Error
components:
  parameters:
    Limit:
      name: limit
      in: query
      description: >
        Limit used to constrain results of list operations. When not specified a
        default limit of 25 is used.


        A maximum limit is applied to the results, so the server may respond
        with fewer results than requested; clients must not use this as a signal
        that this is the final page of results.
      required: false
      schema:
        minimum: 1
        maximum: 200
        type: integer
        format: int32
    After:
      name: after
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/Cursor'
    Before:
      name: before
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/Cursor'
  headers:
    Link:
      description: |
        A link header providing navigation links related to the response.
      schema:
        type: string
      example: <https://api.example.com/some/resource>; rel="next"
  schemas:
    Document:
      type: object
      properties:
        id:
          type: string
          description: The ID of the document.
          format: uuid
        collectionId:
          type: string
          description: The ID of the collection to which the document should be added.
          format: uuid
        createdAt:
          type: string
          description: The date and time the document was first added.
          format: date-time
        updatedAt:
          type: string
          description: The date and time the document was last updated.
          format: date-time
        title:
          type: string
          description: A short title for the document in plain text.
          example: Password Reset Guide
        uri:
          type: string
          description: >-
            A URL of the original source document that uniquely identifies the
            document. These will be used in answer references to link to the
            original source.
          example: https://my.company.com/apollo/ticket/123456
      required:
        - id
        - collectionId
        - createdAt
        - updatedAt
        - title
        - uri
    Cursor:
      description: >
        Opaque cursor to be used for paging in a forward or backward direction.
        Cursors are stateless and so they never expire.
      type: string
      minLength: 1
      maxLength: 10000
  responses:
    ErrorResponse:
      description: Error response
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: integer
                description: The HTTP status code
                example: 400
            required:
              - status
  securitySchemes:
    ApiKeyBearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Unblocked API Key
      description: The API key to authenticate requests. Obtainable from the web dashboard.

````