> ## 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.

# Update custom requirement

> Partially updates a custom onboarding or offboarding requirement. The requirement type
must match the requirement being updated.



## OpenAPI

````yaml /reference/manage-vanta.json patch /task-requirement-sets/custom-requirements/{customRequirementId}
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/{customRequirementId}:
    patch:
      tags:
        - Task Requirement Sets
      summary: Update custom requirement
      description: >-
        Partially updates a custom onboarding or offboarding requirement. The
        requirement type

        must match the requirement being updated.
      operationId: UpdateCustomRequirement
      parameters:
        - in: path
          name: customRequirementId
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCustomRequirementInput'
      responses:
        '200':
          description: Custom requirement updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomRequirement'
              examples:
                Example 1:
                  value:
                    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:
    UpdateCustomRequirementInput:
      anyOf:
        - $ref: '#/components/schemas/UpdateCustomOffboardingRequirementInput'
        - $ref: '#/components/schemas/UpdateCustomOnboardingRequirementInput'
    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
    UpdateCustomOffboardingRequirementInput:
      properties:
        requirementType:
          type: string
          enum:
            - OFFBOARDING
          nullable: false
        title:
          type: string
          description: New display title. Omit to preserve.
        instructions:
          type: string
          nullable: true
          description: New instructions. Omit to preserve, null to clear.
      required:
        - requirementType
      type: object
      additionalProperties: false
    UpdateCustomOnboardingRequirementInput:
      properties:
        requirementType:
          type: string
          enum:
            - ONBOARDING
          nullable: false
        title:
          type: string
          description: New display title. Omit to preserve.
        instructions:
          type: string
          nullable: true
          description: New instructions. Omit to preserve, null to clear.
        ownerType:
          $ref: '#/components/schemas/CustomRequirementOwnerType'
          description: Who completes the requirement. Omit to preserve.
        textInputLabel:
          type: string
          nullable: true
          description: >-
            New label for the requirement's text input. Omit to preserve, null
            to clear.
        fileInputLabel:
          type: string
          nullable: true
          description: >-
            New label for the requirement's file input. Omit to preserve, null
            to clear.
      required:
        - requirementType
      type: object
      additionalProperties: false
    CustomRequirementType:
      type: string
      enum:
        - ONBOARDING
        - OFFBOARDING
    CustomRequirementOwnerType:
      type: string
      enum:
        - ADMIN
        - EMPLOYEE
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````

## Related topics

- [Update task requirement set requirements](https://developer.vanta.com/api-reference/task-requirement-sets/update-task-requirement-set-requirements.md)
- [Update task requirement set details](https://developer.vanta.com/api-reference/task-requirement-sets/update-task-requirement-set-details.md)
- [Create custom requirement](https://developer.vanta.com/api-reference/task-requirement-sets/create-custom-requirement.md)
- [List custom requirements](https://developer.vanta.com/api-reference/task-requirement-sets/list-custom-requirements.md)
- [Vanta API changelog](https://developer.vanta.com/docs/changelog.md)
