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

# Vault list: documents grouped by category, with missing-doc

> Vault list: documents grouped by category, with missing-doc merge and vault summary



## OpenAPI

````yaml /api-reference/openapi.json get /api/employees/{id}/documents
openapi: 3.1.0
info:
  title: ontime API
  description: APIs for ontime.v2
  version: 1.0.0
servers:
  - url: https://app.ontime.hosai.app
    description: Production
security:
  - apiKey: []
paths:
  /api/employees/{id}/documents:
    get:
      tags:
        - Documents
      summary: 'Vault list: documents grouped by category, with missing-doc'
      description: >-
        Vault list: documents grouped by category, with missing-doc merge and
        vault summary
      operationId: getApiEmployeesByIdDocuments
      parameters:
        - in: path
          name: id
          schema:
            type: string
            format: uuid
            pattern: >-
              ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
          required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  groups:
                    type: array
                    items:
                      type: object
                      properties:
                        category:
                          type: string
                          enum:
                            - IdentityKYC
                            - Onboarding
                            - Education
                            - Payroll
                            - Medical
                            - Performance
                            - Other
                        title:
                          type: string
                        docs:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                                format: uuid
                                pattern: >-
                                  ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                              employeeId:
                                type: string
                                format: uuid
                                pattern: >-
                                  ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                              category:
                                type: string
                                enum:
                                  - IdentityKYC
                                  - Onboarding
                                  - Education
                                  - Payroll
                                  - Medical
                                  - Performance
                                  - Other
                              name:
                                type: string
                              storageKey:
                                type: string
                              mimeType:
                                type: string
                              sizeBytes:
                                type: integer
                                minimum: -9007199254740991
                                maximum: 9007199254740991
                              status:
                                type: string
                                enum:
                                  - Verified
                                  - Signed
                                  - Pending
                              uploadedById:
                                anyOf:
                                  - type: string
                                    format: uuid
                                    pattern: >-
                                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                                  - type: 'null'
                              uploadedAt:
                                type: string
                              verifiedAt:
                                anyOf:
                                  - type: string
                                  - type: 'null'
                              verifiedBy:
                                anyOf:
                                  - type: string
                                    format: uuid
                                    pattern: >-
                                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                                  - type: 'null'
                              decisionNote:
                                anyOf:
                                  - type: string
                                  - type: 'null'
                              expiresAt:
                                anyOf:
                                  - type: string
                                  - type: 'null'
                              description:
                                anyOf:
                                  - type: string
                                  - type: 'null'
                            required:
                              - id
                              - employeeId
                              - category
                              - name
                              - storageKey
                              - mimeType
                              - sizeBytes
                              - status
                              - uploadedById
                              - uploadedAt
                              - verifiedAt
                              - verifiedBy
                              - decisionNote
                              - expiresAt
                              - description
                        missing:
                          type: array
                          items:
                            type: object
                            properties:
                              category:
                                type: string
                                enum:
                                  - IdentityKYC
                                  - Onboarding
                                  - Education
                                  - Payroll
                                  - Medical
                                  - Performance
                                  - Other
                              name:
                                type: string
                              requestedAt:
                                anyOf:
                                  - type: string
                                  - type: 'null'
                            required:
                              - category
                              - name
                              - requestedAt
                      required:
                        - category
                        - title
                        - docs
                        - missing
                  summary:
                    type: object
                    properties:
                      verified:
                        type: number
                      signed:
                        type: number
                      pending:
                        type: number
                      missing:
                        type: number
                      expiringSoon:
                        type: number
                      totalBytes:
                        type: number
                    required:
                      - verified
                      - signed
                      - pending
                      - missing
                      - expiringSoon
                      - totalBytes
                required:
                  - groups
                  - summary
components:
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      bearerFormat: ont_ API key
      description: >-
        Issue keys in Settings → API. Send them as `Authorization: Bearer ont_…`
        (an `X-Api-Key: ont_…` header is also accepted). Session-cookie routes
        are used by the OnTime web apps and are shown for completeness.

````