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

# List Documents

> **Beta:** This endpoint is in beta and may change.
Retrieve a list of company-wide documents.




## OpenAPI

````yaml get /employer/documents
openapi: 3.1.0
info:
  title: API Reference
  version: '2020-09-17'
  contact: {}
  description: >-
    The Finch HRIS API provides a unified way to connect to a multitide of HRIS
    systems. The API requires an access token issued by Finch.


    By default, Organization and Payroll requests use Finch's [Data
    Syncs](/developer-resources/Data-Syncs). If a request is made before the
    initial sync has completed, Finch will request data live from the provider.
    The latency on live requests may range from seconds to minutes depending on
    the provider and batch size.

    For automated integrations, Deductions requests (both read and write) are
    always made live to the provider. Latencies may range from seconds to
    minutes depending on the provider and batch size.



    Employer products are specified by the product parameter, a space-separated
    list of products that your application requests from an employer
    authenticating through Finch Connect. Valid product names are—

    - `company`: Read basic company data


    - `directory`: Read company directory and organization structure


    - `individual`: Read individual data, excluding income and employment data


    - `employment`: Read individual employment and income data


    - `payment`: Read payroll and contractor related payments by the company


    - `pay_statement`: Read detailed pay statements for each individual


    - `benefits`: Create and manage deductions and contributions and enrollment
    for an employer


    [![Open in
    Postman](https://run.pstmn.io/button.svg)](https://god.gw.postman.com/run-collection/21027137-08db0929-883d-4094-a9ce-dbf5a9bee4a4?action=collection%2Ffork&collection-url=entityId%3D21027137-08db0929-883d-4094-a9ce-dbf5a9bee4a4%26entityType%3Dcollection%26workspaceId%3D1edf19bc-e0a8-41e9-ac55-481a4b50790b)
servers:
  - url: https://api.tryfinch.com
    description: ''
security: []
tags:
  - name: Organization
  - name: Payroll
  - name: Deductions
  - name: Management
  - name: Sandbox
paths:
  /employer/documents:
    get:
      tags:
        - Documents
      summary: List Documents
      description: |
        **Beta:** This endpoint is in beta and may change.
        Retrieve a list of company-wide documents.
      operationId: list-documents
      parameters:
        - name: entity_ids
          in: query
          required: false
          description: The entity IDs to specify which entities' data to access.
          schema:
            type: array
            items:
              type: string
              format: uuid
            minItems: 1
            maxItems: 1
            example:
              - 550e8400-e29b-41d4-a716-446655440000
          style: form
          explode: true
        - name: limit
          in: query
          description: Number of documents to return (defaults to all)
          required: false
          schema:
            type: integer
        - name: offset
          in: query
          description: Index to start from (defaults to 0)
          required: false
          schema:
            type: integer
        - name: individual_ids
          in: query
          description: >-
            Comma-delimited list of stable Finch uuids for each individual. If
            empty, defaults to all individuals
          required: false
          schema:
            type: array
            items:
              type: string
        - name: types
          in: query
          description: >-
            Comma-delimited list of document types to filter on. If empty,
            defaults to all types
          required: false
          schema:
            type: array
            items:
              type: string
              enum:
                - w4_2020
                - w4_2005
        - $ref: '#/components/parameters/API-Version'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListDocumentsResponse'
              examples:
                Success:
                  value:
                    paging:
                      count: 1
                      offset: 0
                    documents:
                      - id: 238b1d2a-3172-4b4a-a825-b04c0b2d0cac
                        individual_id: f92b3db4-7bcb-4a54-a570-396bf99e041a
                        year: 2020
                        url: >-
                          https://api.tryfinch.com/employer/documents/238b1d2a-3172-4b4a-a825-b04c0b2d0cac
                        type: w4_2020
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 400
                  finch_code:
                    type: string
                    enum:
                      - w4_sync_required
                  message:
                    type: string
                  name:
                    type: string
                    example: bad_request
                  context:
                    type: object
                    properties:
                      docs_url:
                        type: string
                        format: uri
              examples:
                W4SyncRequired:
                  value:
                    code: 400
                    finch_code: w4_sync_required
                    message: >-
                      W4 documents are not available. Please trigger a W4 sync
                      job first.
                    name: bad_request
                    context:
                      docs_url: >-
                        https://developer.tryfinch.com/api-reference/management/enqueue-a-new-automated-job#w4-form-employee-sync
      security:
        - bearerAuth: []
      x-codeSamples:
        - lang: JavaScript
          source: |-
            import Finch from '@tryfinch/finch-api';

            const client = new Finch({
              accessToken: 'My Access Token',
            });

            const documents = await client.hris.documents.list();

            console.log(documents.documents);
        - lang: Python
          source: |-
            from finch import Finch

            client = Finch(
                access_token="My Access Token",
            )
            documents = client.hris.documents.list()
            print(documents.documents)
        - lang: Go
          source: "package main\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\n\t\"github.com/Finch-API/finch-api-go\"\n\t\"github.com/Finch-API/finch-api-go/option\"\n)\n\nfunc main() {\n\tclient := finchgo.NewClient(\n\t\toption.WithAccessToken(\"My Access Token\"),\n\t)\n\tdocuments, err := client.HRIS.Documents.List(context.TODO(), finchgo.HRISDocumentListParams{})\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf(\"%+v\\n\", documents.Documents)\n}\n"
        - lang: Java
          source: |-
            package com.tryfinch.api.example;

            import com.tryfinch.api.client.FinchClient;
            import com.tryfinch.api.client.okhttp.FinchOkHttpClient;
            import com.tryfinch.api.models.DocumentListResponse;
            import com.tryfinch.api.models.HrisDocumentListParams;

            public final class Main {
                private Main() {}

                public static void main(String[] args) {
                    FinchClient client = FinchOkHttpClient.builder()
                        .fromEnv()
                        .accessToken("My Access Token")
                        .build();

                    DocumentListResponse documents = client.hris().documents().list();
                }
            }
        - lang: Kotlin
          source: |-
            package com.tryfinch.api.example

            import com.tryfinch.api.client.FinchClient
            import com.tryfinch.api.client.okhttp.FinchOkHttpClient
            import com.tryfinch.api.models.DocumentListResponse
            import com.tryfinch.api.models.HrisDocumentListParams

            fun main() {
                val client: FinchClient = FinchOkHttpClient.builder()
                    .fromEnv()
                    .accessToken("My Access Token")
                    .build()

                val documents: DocumentListResponse = client.hris().documents().list()
            }
        - lang: Ruby
          source: |-
            require "finch_api"

            finch = FinchAPI::Client.new(access_token: "My Access Token")

            documents = finch.hris.documents.list

            puts(documents)
components:
  parameters:
    API-Version:
      name: Finch-API-Version
      in: header
      required: true
      schema:
        type: string
        default: '2020-09-17'
        format: date
        pattern: ([12]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01]))
      description: >-
        Header used to specify the version for a given API request. Current
        version is 2020-09-17.
  schemas:
    ListDocumentsResponse:
      type: object
      properties:
        paging:
          $ref: '#/components/schemas/Paging'
        documents:
          type: array
          items:
            $ref: '#/components/schemas/DocumentItem'
      required:
        - paging
        - documents
    Paging:
      type: object
      properties:
        count:
          type: integer
          description: >-
            The total number of elements for the entire query (not just the
            given page)
        offset:
          type: integer
          description: The current start index of the returned list of elements
      required:
        - offset
      title: Paging
      x-tags:
        - Models
    DocumentItem:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: A stable Finch id for the document.
        individual_id:
          type: string
          nullable: true
          description: >-
            The ID of the individual associated with the document. This will be
            null for employer-level documents.
        url:
          type: string
          format: uri
          description: >-
            A URL to access the document. Format:
            `https://api.tryfinch.com/employer/documents/:document_id`.
        year:
          type: number
          description: The year the document applies to, if available.
        type:
          type: string
          enum:
            - w4_2020
            - w4_2005
          description: The type of document.
      required:
        - id
        - individual_id
        - url
        - year
        - type
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Please use your Access Token

````