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

# List custom requirements

> Lists the organization's custom onboarding and offboarding requirements.



## OpenAPI

````yaml /reference/manage-vanta.json get /task-requirement-sets/custom-requirements
openapi: 3.0.0
info:
  title: Manage Vanta
  version: 1.0.0
  description: >-
    The REST API lets customers query and mutate Vanta's data. Use this API to
    automate bulk actions, query data for custom workflows and dashboards, and
    bolster your security operations


    **Note for Vanta Gov (FedRAMP) customers:** Select `Vanta Gov (FedRAMP)`
    from the server dropdown to issue requests against
    `https://api.vanta-gov.com`. The OAuth token URL shown below defaults to the
    commercial host — replace it with `https://api.vanta-gov.com/oauth/token`.
  termsOfService: https://www.vanta.com/terms
  license:
    name: UNLICENSED
  contact:
    name: API Support
    url: https://help.vanta.com/
    email: support@vanta.com
servers:
  - url: https://api.vanta.com/v1
    description: Vanta (Commercial)
  - url: https://api.vanta-gov.com/v1
    description: Vanta Gov (FedRAMP)
security: []
paths:
  /task-requirement-sets/custom-requirements:
    get:
      tags:
        - Task Requirement Sets
      summary: List custom requirements
      description: Lists the organization's custom onboarding and offboarding requirements.
      operationId: ListCustomRequirements
      parameters:
        - in: query
          name: pageSize
          required: false
          schema:
            $ref: '#/components/schemas/PageSize'
        - in: query
          name: pageCursor
          required: false
          schema:
            $ref: '#/components/schemas/PageCursor'
        - description: >-
            Filter requirements by type. If omitted, returns both onboarding and
            offboarding requirements.
          in: query
          name: requirementType
          required: false
          schema:
            $ref: '#/components/schemas/CustomRequirementType'
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResponse_CustomRequirement_'
              examples:
                Example 1:
                  value:
                    results:
                      pageInfo:
                        hasNextPage: false
                        hasPreviousPage: false
                        startCursor: eyJpIjowfQ==
                        endCursor: eyJpIjowfQ==
                      data:
                        - id: 5f2c939a52855e725c8d5827
                          title: Sign the acceptable use policy
                          requirementType: ONBOARDING
                          ownerType: EMPLOYEE
                          textInputLabel: null
                          fileInputLabel: Signed policy
                          instructions: >-
                            Download, sign, and upload the acceptable use
                            policy.
                          createdAt: '2024-03-07T18:46:05.944Z'
                          updatedAt: '2024-03-07T18:46:05.944Z'
      security:
        - bearerAuth: []
components:
  schemas:
    PageSize:
      type: integer
      format: int32
      default: 10
      description: >-
        Controls the maximum number of items returned in one response from the
        API.
      minimum: 1
      maximum: 100
    PageCursor:
      type: string
      description: >-
        A marker or pointer, telling the API where to start fetching items for
        the subsequent page in a paginated dataset.

        Note that the requested page will not include the item that corresponds
        to this cursor but will start from the one immediately

        after this cursor.
    CustomRequirementType:
      type: string
      enum:
        - ONBOARDING
        - OFFBOARDING
    PaginatedResponse_CustomRequirement_:
      properties:
        results:
          properties:
            data:
              items:
                $ref: '#/components/schemas/CustomRequirement'
              type: array
            pageInfo:
              $ref: '#/components/schemas/PageInfo'
          required:
            - data
            - pageInfo
          type: object
      required:
        - results
      type: object
      additionalProperties: false
    CustomRequirement:
      properties:
        id:
          type: string
          description: The custom requirement's unique ID.
        title:
          type: string
          description: The custom requirement's display title.
        requirementType:
          $ref: '#/components/schemas/CustomRequirementType'
          description: Whether the requirement applies during onboarding or offboarding.
        ownerType:
          $ref: '#/components/schemas/CustomRequirementOwnerType'
          description: >-
            Who completes the requirement. Offboarding requirements are always
            completed by an admin.
        textInputLabel:
          type: string
          nullable: true
          description: Label for the requirement's text input, or null if it has none.
        fileInputLabel:
          type: string
          nullable: true
          description: Label for the requirement's file input, or null if it has none.
        instructions:
          type: string
          nullable: true
          description: Instructions for completing the requirement, or null if it has none.
        createdAt:
          type: string
          format: date-time
          description: The date the requirement was created.
        updatedAt:
          type: string
          format: date-time
          description: The date the requirement was last updated.
      required:
        - id
        - title
        - requirementType
        - ownerType
        - textInputLabel
        - fileInputLabel
        - instructions
        - createdAt
        - updatedAt
      type: object
      additionalProperties: false
    PageInfo:
      description: Provides information about the pagination of a dataset.
      properties:
        endCursor:
          type: string
          nullable: true
          description: >-
            The cursor that points to the end of the current page, or null if
            there is no such cursor.
        hasNextPage:
          type: boolean
          description: Indicates if there is another page after the current page.
        hasPreviousPage:
          type: boolean
          description: Indicates if there is a page before the current page.
        startCursor:
          type: string
          nullable: true
          description: >-
            The cursor that points to the start of the current page, or null if
            there is no such cursor.
      required:
        - endCursor
        - hasNextPage
        - hasPreviousPage
        - startCursor
      type: object
      additionalProperties: false
    CustomRequirementOwnerType:
      type: string
      enum:
        - ADMIN
        - EMPLOYEE
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````

## Related topics

- [Update custom requirement](https://developer.vanta.com/api-reference/task-requirement-sets/update-custom-requirement.md)
- [Create custom requirement](https://developer.vanta.com/api-reference/task-requirement-sets/create-custom-requirement.md)
- [List task requirement sets](https://developer.vanta.com/api-reference/task-requirement-sets/list-task-requirement-sets.md)
- [List custom assets](https://developer.vanta.com/api-reference/custom-assets/list-custom-assets.md)
- [List all Custom Resources](https://developer.vanta.com/api-reference/custom-resources/list-all-custom-resources.md)
