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

# List documents



## OpenAPI

````yaml get /v1/documents
openapi: 3.0.0
info:
  title: Document APIs Specification
  description: Section for description
  version: '1.0'
  contact: {}
servers:
  - url: https://staging.api.us.aptlydone.com/document
  - url: https://staging.api.eu.aptlydone.com/document
  - url: https://api.us.aptlydone.com/document
  - url: https://api.eu.aptlydone.com/document
security: []
tags: []
paths:
  /v1/documents:
    get:
      tags:
        - documents
      summary: List documents
      operationId: DocumentController_getDocuments_v1
      parameters:
        - name: page
          required: false
          in: query
          description: Page number
          schema:
            type: number
            example: 1
            minimum: 1
        - name: limit
          required: false
          in: query
          description: Number of items per page
          schema:
            minimum: 1
            maximum: 100
            example: 10
            type: number
        - name: tenantId
          required: true
          in: query
          description: Tenant ID
          schema:
            format: uuid
            example: bc386711-9f0b-4c20-8c73-d623cf4e8f02
            type: string
        - name: status
          required: false
          in: query
          description: Comma separated Document Status values
          explode: false
          schema:
            type: array
            items:
              type: string
              enum:
                - DRAFT
                - PUBLISHED
                - ARCHIVED
                - DELETED
        - name: search
          required: false
          in: query
          description: Document search string
          schema:
            example: ''
            type: string
        - name: documentType
          required: false
          in: query
          description: Comma separated Document Type IDs
          explode: false
          schema:
            example: null
            type: array
            items:
              type: string
              format: uuid
        - name: oversight
          required: false
          in: query
          description: Comma separated Oversight Status values
          explode: false
          schema:
            type: array
            items:
              type: string
              enum:
                - REVIEW_PENDING
                - REVIEWED
                - APPROVAL_PENDING
                - APPROVED
                - REJECTED
        - name: documentSharingType
          required: false
          in: query
          description: Comma separated Document Sharing Type values
          explode: false
          schema:
            type: array
            items:
              type: string
              enum:
                - PUBLIC
                - RESTRICTED
                - SHARED
        - name: documentOwnerId
          required: false
          in: query
          description: Comma separated Document Owner IDs
          explode: false
          schema:
            example: null
            type: array
            items:
              type: string
              format: uuid
        - name: sortBy
          required: false
          in: query
          description: Criteria for sorting Documents
          schema:
            enum:
              - documentName
              - documentTypeName
              - documentOwnerUsername
              - documentSharingType
              - documentStatus
              - lastUpdatedOn
              - documentDisplayId
              - decisionsCount
              - delegationsCount
              - documentDescription
              - responsibleUsername
              - uploadedOn
              - approvedOn
              - reviewedOn
              - approvalStatus
              - reviewStatus
              - documentUploadType
              - rank
            type: string
        - name: sortOrder
          required: false
          in: query
          description: Order for sorting Documents
          schema:
            enum:
              - asc
              - desc
            type: string
        - name: select
          required: false
          in: query
          description: Comma separated specific Document fields needed in response
          explode: false
          schema:
            type: array
            items:
              type: string
              enum:
                - documentId
                - documentName
                - documentUrl
                - documentTypeName
                - documentIcon
                - documentDescription
                - file
                - documentDisplayId
                - documentStatus
        - name: isFavourite
          required: false
          in: query
          description: Document isFavourite
          schema:
            example: 'true'
            type: string
        - name: decisionLinkAllowed
          required: false
          in: query
          description: allow document link for decision
          schema:
            example: 'true'
            type: boolean
        - name: delegationLinkAllowed
          required: false
          in: query
          description: allow document link for delegation
          schema:
            example: 'true'
            type: boolean
        - name: responsibleUserId
          required: false
          in: query
          description: Comma separated Responsible User IDs
          schema:
            example: null
            type: array
            items:
              type: string
              format: uuid
        - name: reviewerUserId
          required: false
          in: query
          description: Comma separated Reviewer User IDs
          schema:
            example: null
            type: array
            items:
              type: string
              format: uuid
        - name: approverUserId
          required: false
          in: query
          description: Comma separated Approver User IDs
          schema:
            example: null
            type: array
            items:
              type: string
              format: uuid
        - name: documentUploadType
          required: false
          in: query
          description: Document Upload Type/Source
          schema:
            $ref: '#/components/schemas/Object'
        - name: createdStartDate
          required: false
          in: query
          description: Start date time for date range filter on document created at
          schema:
            example: '2025-03-05T11:49:50.577Z'
            type: string
        - name: createdEndDate
          required: false
          in: query
          description: End date time for date range filter on document created at
          schema:
            example: '2025-03-05T11:49:50.577Z'
            type: string
        - name: updatedStartDate
          required: false
          in: query
          description: Start date time for date range filter on document updated at
          schema:
            example: '2025-03-05T11:49:50.577Z'
            type: string
        - name: updatedEndDate
          required: false
          in: query
          description: End date time for date range filter on document updated at
          schema:
            example: '2025-03-05T11:49:50.577Z'
            type: string
        - name: linkedDocumentIds
          required: false
          in: query
          description: >-
            Comma separated Document IDs already linked to decision/delegation
            (this is used to include already linked ARCHIVED documents in the
            list)
          schema:
            example: null
            type: array
            items:
              type: string
        - name: selectedTab
          required: false
          in: query
          description: Selected tab context (not used in list API)
          schema:
            example: active
            type: string
            enum:
              - active
              - inactive
              - favorites
              - all
        - name: userId
          required: false
          in: query
          schema:
            type: string
      responses:
        '200':
          description: Documents list retrieved successfully
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/PaginatedDocumentDetailedResponseDtoResponse
      security:
        - accessToken: []
components:
  schemas:
    Object:
      type: object
      properties: {}
    PaginatedDocumentDetailedResponseDtoResponse:
      type: object
      properties:
        statusCode:
          type: number
          example: 200
        timestamp:
          type: string
          example: '2026-01-12T09:12:24.382Z'
        message:
          type: string
          example: Success
        data:
          type: object
          required:
            - page
            - limit
            - total
            - data
          properties:
            page:
              type: number
              example: 1
              minimum: 1
            limit:
              type: number
              example: 10
              minimum: 1
            total:
              type: number
              example: 100
              minimum: 0
            data:
              type: array
              items:
                $ref: '#/components/schemas/DocumentDetailedResponseDto'
      required:
        - statusCode
        - timestamp
        - message
    DocumentDetailedResponseDto:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier
          example: 550e8400-e29b-41d4-a716-446655440100
        tenantId:
          type: string
          description: Unique identifier for the tenant
          example: 550e8400-e29b-41d4-a716-446655440000
        documentName:
          type: string
          description: Name of the document
          example: Global Delegation of Authority Policy - ProxyComm Inc.
        documentDescription:
          type: string
          description: Description of the document
          example: >-
            Defines the framework for delegating authority across ProxyComm's
            global operations, outlining roles, responsibilities, and
            decision-making limits to ensure compliance, accountability, and
            operational consistency.
        documentMetadata:
          type: object
          description: Metadata of the document in JSON format
          example: '{ "code": "GOV-DFA-2", "version": "2024.2" }'
        fileId:
          type: string
          nullable: true
          description: Unique identifier for the associated file
          example: 550e8400-e29b-41d4-a716-446655440001
        documentTypeId:
          type: string
          nullable: true
          description: Optional identifier for document type
          example: 550e8400-e29b-41d4-a716-446655440002
        documentStatus:
          type: string
          description: Status of the document
          enum:
            - DRAFT
            - PUBLISHED
            - ARCHIVED
            - DELETED
          example: DRAFT
        documentSharingType:
          type: string
          description: Sharing type of the document
          enum:
            - PUBLIC
            - RESTRICTED
            - SHARED
          example: RESTRICTED
        documentIcon:
          type: string
          description: Icon representing the document
          example: link-outlined
        documentOwnerId:
          type: string
          description: Unique identifier of the document owner
          example: 550e8400-e29b-41d4-a716-446655440003
        documentUploadType:
          type: string
          description: Type of document upload
          enum:
            - LINKED
            - UPLOADED
          example: LINKED
        documentUrl:
          type: string
          nullable: true
          description: Url for the LINKED document
          example: intranet.sharepoint.proxycomm.com/2024delegationofauthority.policy
        uploadedOn:
          format: date-time
          type: string
          description: Date when the document was uploaded
          example: '2025-02-13T12:00:00Z'
        lastUpdatedBy:
          type: string
          nullable: true
          description: Unique identifier of the last user who updated the document
          example: 550e8400-e29b-41d4-a716-446655440004
        lastUpdatedOn:
          format: date-time
          type: string
          nullable: true
          description: Date when the document was last updated
          example: '2025-02-14T15:30:00Z'
        archivedOn:
          format: date-time
          type: string
          nullable: true
          description: Date when the document was archived
          example: '2025-03-01T10:00:00Z'
        deletedOn:
          format: date-time
          type: string
          nullable: true
          description: Date when the document was deleted
          example: '2025-04-01T12:00:00Z'
        documentDisplayId:
          type: string
          description: Document Display ID
          example: '10000'
        link:
          type: string
          example: >-
            /documents/view/eyJ0ZW5hbnRJZCI6IjU1MGU4NDAwLWUyOWItNDFkNC1hNzE2LTQ0NjY1NTQ0MDAwMCIsImRvY3VtZW50SWQiOiJjMDBjMGNkNy03ZmJjLTRmZTEtOWYxMy1lYzc5OTlmMjhjNDgifQ==
          description: Document Link
        documentId:
          type: string
          description: Document ID associated with the detailed document
          example: 550e8400-e29b-41d4-a716-446655440100
        documentTypeName:
          type: string
          nullable: true
          description: Document type name
          example: Policy
        documentOwnerUsername:
          type: string
          description: Document owner username
          example: John Doe
        decisionsCount:
          type: number
          example: 0
          description: No. of decisions linked to the document
        delegationsCount:
          type: number
          example: 0
          description: No. of delegations linked to the document
        oversightStatuses:
          description: >-
            Array containing document oversight review status & approval status
            (whichever are enabled & applicable, if any)
          example:
            - REVIEW_PENDING
            - APPROVAL_PENDING
          type: array
          items:
            type: string
        permissions:
          description: permissions
          nullable: true
          type: array
          items:
            $ref: '#/components/schemas/PermissionDto'
        isReviewerEnable:
          type: boolean
          description: whether the document oversight enabled for reviewer
          example: true
        isApprovalEnable:
          type: boolean
          description: whether the document oversight enabled for approver
          example: true
        isApprovalActionExist:
          type: boolean
          description: whether the document action exists for approver
          example: true
        isReviewerActionExist:
          type: boolean
          description: whether the document action exists for reviewer
          example: true
        isApprovalUser:
          type: boolean
          description: whether document approval user and logged in user are same
          example: true
        isReviewerUser:
          type: boolean
          description: whether document reviewer user and logged in user are same
          example: true
        isSettingApprovalActionEnabled:
          type: boolean
          description: whether the document action enable in settings for approver
          example: true
        isSettingReviewerActionEnabled:
          type: boolean
          description: whether the document action enable in settings for reviewer
          example: true
        reviewerUserProfileUrl:
          type: string
          nullable: true
          description: profile url of the reviewer user
          example: http://test.jpg
        responsibleUserProfileUrl:
          type: string
          nullable: true
          description: profile url of the responsible user
          example: http://test.jpg
        approverUserProfileUrl:
          type: string
          nullable: true
          description: profile url of the approver user
          example: http://test.jpg
        documentOwnerProfileUrl:
          type: string
          nullable: true
          description: profile url of the owner user
          example: http://test.jpg
        responsiblePositionId:
          type: string
          nullable: true
          description: Position ID of the responsible
          example: 550e8400-e29b-41d4-a716-446655440004
        responsiblePositionName:
          type: string
          nullable: true
          description: Position name of the responsible
          example: Sr. Corporate Counsel
        responsibleUserId:
          type: string
          nullable: true
          description: User ID responsible for the document
          example: 550e8400-e29b-41d4-a716-446655440002
        responsibleUsername:
          type: string
          nullable: true
          description: Username of the responsible user
          example: John Doe
        reviewerUserId:
          type: string
          nullable: true
          description: User ID of the reviewer
          example: 550e8400-e29b-41d4-a716-446655440003
        reviewerUsername:
          type: string
          nullable: true
          description: Username of the reviewer
          example: John Doe
        reviewerPositionId:
          type: string
          nullable: true
          description: Position ID of the reviewer
          example: 550e8400-e29b-41d4-a716-446655440004
        reviewerPositionName:
          type: string
          nullable: true
          description: Position name of the reviewer
          example: Sr. Corporate Counsel
        approverUserId:
          type: string
          nullable: true
          description: User ID of the approver
          example: 550e8400-e29b-41d4-a716-446655440005
        approverUsername:
          type: string
          nullable: true
          description: Username of the approver
          example: John Doe
        approverPositionId:
          type: string
          nullable: true
          description: Position ID of the approver
          example: 550e8400-e29b-41d4-a716-446655440006
        approverPositionName:
          type: string
          nullable: true
          description: Position name of the approver
          example: Sr. Corporate Counsel
      required:
        - id
        - tenantId
        - documentName
        - documentDescription
        - documentMetadata
        - fileId
        - documentTypeId
        - documentStatus
        - documentSharingType
        - documentIcon
        - documentOwnerId
        - documentUploadType
        - documentUrl
        - uploadedOn
        - lastUpdatedBy
        - lastUpdatedOn
        - archivedOn
        - deletedOn
        - documentDisplayId
        - link
        - documentId
        - documentTypeName
        - documentOwnerUsername
        - decisionsCount
        - delegationsCount
    PermissionDto:
      type: object
      properties:
        allowed:
          type: boolean
          description: permission allowed
          nullable: false
        relationship_key:
          type: string
          description: relationship_key
          nullable: true
      required:
        - relationship_key
  securitySchemes:
    accessToken:
      scheme: bearer
      bearerFormat: JWT
      type: http

````