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

# Get documents

> Retrieve all documents associated with the firm. Includes parsed and unparsed documents from various sources.

**Notes:**
- If no company is specified, returns documents for all companies.

**Permissions:**
- User must be authenticated via OAuth.
- User must have access to the documents.



## OpenAPI

````yaml get /documents/
openapi: 3.0.1
info:
  title: Standard Metrics API Documentation
  description: >-
    Welcome to Standard Metric's API docs!


    To use our API you will need to make an OAuth appliction (or use an existing
    one) in the developer settings tab on your settings page and then exchange
    your client id and secret for an access token (via the `/o/token/` endpoint.
    This token can then be sent in the `Authorization` header to authenticate
    your requests to our api. See below for an example.


    All endpoints are paginated and will return a maximum of 100 results per
    page. See the endpoints below and example responses for more details on
    pagination parameters. A maximum of 120 requests per minute can be made to
    our API.


    Authentication example (with python):

    ```>>> import base64

    >>> import base64

    >>> client_id = "YOUR_CLIENT_ID"

    >>> client_secret = "YOUR_CLIENT_SECRET"

    >>> credential = f"{client_id}:{client_secret}"

    >>> base64.b64encode(credential.encode("utf-8"))

    b'ENCODED_CREDENTIAL'


    You can now exchange this credential for an access token, eg:


    curl -X POST \
        -H "Authorization: Basic ENCODED_CREDENTIAL" \
        -H "Cache-Control: no-cache" \
        -H "Content-Type: application/x-www-form-urlencoded" \
        "https://api.standardmetrics.io/o/token/" \
        -d "grant_type=client_credentials"

    You will receive the following response:


    {
        "access_token": "YOUR_ACCESS_TOKEN",
        "expires_in": 36000,
        "token_type": "Bearer",
        "scope": "read write"
    }


    Make sure not to forget to prepend "Bearer " to your access token in the
    Authorization header while making requests.
  version: '1.0'
servers:
  - url: https://api.standardmetrics.io/v1
security:
  - Bearer: []
paths:
  /documents/:
    get:
      tags:
        - documents
      summary: Get documents
      description: >-
        Retrieve all documents associated with the firm. Includes parsed and
        unparsed documents from various sources.


        **Notes:**

        - If no company is specified, returns documents for all companies.


        **Permissions:**

        - User must be authenticated via OAuth.

        - User must have access to the documents.
      operationId: documents_list
      parameters:
        - name: page
          in: query
          description: A page number within the paginated result set.
          schema:
            type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          schema:
            type: integer
        - name: company_id
          in: query
          description: >-
            The id for the company whose documents to request. You can get a
            company's id by making a request to the `/companies` endpoint.
          schema:
            type: string
        - name: parse_state
          in: query
          description: >-
            The parse state of the documents to request. One of "not-started",
            "in-progress", "completed", "needs-input", "not-parseable".
          schema:
            type: string
        - name: from
          in: query
          description: >-
            The from date (inclusive) from which to query uploaded_at as an ISO
            8601 formatted date
          schema:
            type: string
            format: date-time
        - name: to
          in: query
          description: >-
            The to date (inclusive) from which to query uploaded_at as an ISO
            8601 formatted date
          schema:
            type: string
            format: date-time
        - name: source
          in: query
          description: >-
            The source of the documents to request. One of
            "information-request", "implementation", "upload", "email".
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                required:
                  - count
                  - results
                type: object
                properties:
                  count:
                    type: integer
                  next:
                    type: string
                    format: uri
                    nullable: true
                  previous:
                    type: string
                    format: uri
                    nullable: true
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/LibraryDocument'
components:
  schemas:
    LibraryDocument:
      required:
        - submitted_date
      type: object
      properties:
        id:
          title: Id
          type: string
          readOnly: true
        name:
          title: Name
          minLength: 1
          type: string
          readOnly: true
        link:
          title: Link
          type: string
          readOnly: true
        company_id:
          title: Company id
          type: string
          readOnly: true
        information_request_id:
          title: Information request id
          type: string
          readOnly: true
        parse_state:
          title: Parse state
          type: string
          readOnly: true
        parsed_at:
          title: Parsed at
          type: string
          format: date-time
          nullable: true
          readOnly: true
        uploaded_at:
          title: Uploaded at
          type: string
          format: date-time
          readOnly: true
        source:
          title: Source
          type: string
          readOnly: true
        submitted_date:
          title: Submitted date
          minLength: 1
          type: string
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Your valid bearer token. All Auth tokens persist for all requests. Make
        sure to replace Client Credential `Basic` tokens with `Bearer` tokens
        after retrieving your bearer token. Go to the API Reference/Setup, User
        Guides/Initial Setup, or API Reference/Get API Access Token page to get
        your token.

````