> ## 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 a control's metadata

> Update a control's metadata.



## OpenAPI

````yaml /reference/manage-vanta.json patch /controls/{controlId}
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:
  /controls/{controlId}:
    patch:
      tags:
        - Controls
      summary: Update a control's metadata
      description: Update a control's metadata.
      operationId: UpdateControlMetadata
      parameters:
        - in: path
          name: controlId
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EditControlMetadataInput'
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ControlDetail'
              examples:
                Example 1:
                  value:
                    id: a2f7e1b9d0c3f4e5a6c7b8d9
                    externalId: CRY-104
                    name: Data encryption utilized
                    description: >-
                      Access reviews are performed to ensure that access is
                      appropriate for the user's role and responsibilities.
                    source: Vanta
                    domains:
                      - CRYPTOGRAPHIC_PROTECTIONS
                    owner:
                      id: 65e1efde08e8478f143a8ff9
                      emailAddress: example-person@email.com
                      displayName: Example Owner
                    note: Remember to do by Friday
                    numDocumentsPassing: 1
                    numDocumentsTotal: 1
                    numTestsPassing: 2
                    numTestsTotal: 3
                    status: IN_PROGRESS
                    role: CONTROLLER
                    customFields:
                      - label: Additional context
                        value: This control is critical for GDPR compliance
                    creationDate: null
                    modificationDate: null
      security:
        - bearerAuth: []
components:
  schemas:
    EditControlMetadataInput:
      properties:
        name:
          type: string
          description: A new name for the control.
        externalId:
          type: string
          description: The new external ID for the control.
        description:
          type: string
          description: The new description for the control.
        domain:
          $ref: '#/components/schemas/ControlDomain'
          description: The new category for the control.
        note:
          type: string
          description: The new note for the control.
        customFields:
          items:
            $ref: '#/components/schemas/CustomField'
          type: array
          description: The control's new values for custom fields.
      type: object
      additionalProperties: false
    ControlDetail:
      properties:
        id:
          type: string
          description: The control's unique ID.
        externalId:
          type: string
          nullable: true
          description: The control's external ID.
        name:
          type: string
          description: The control's name.
        description:
          type: string
          description: The control's description.
        source:
          $ref: '#/components/schemas/ControlSource'
          description: The control's source, either "VANTA" or "CUSTOM".
        domains:
          items:
            type: string
          type: array
          description: The security domains that the control belongs to.
        owner:
          allOf:
            - $ref: '#/components/schemas/Owner'
          nullable: true
          description: The control's owner.
        role:
          type: string
          nullable: true
          description: The control's GDPR role, if the control is a GDPR control.
        customFields:
          items:
            $ref: '#/components/schemas/CustomField'
          type: array
          description: >-
            The control's custom field values, if control custom fields is
            included in your Vanta instance.
        creationDate:
          type: string
          format: date-time
          nullable: true
          description: >-
            When the control was created. Returns null for Vanta library
            controls.
        modificationDate:
          type: string
          format: date-time
          nullable: true
          description: >-
            When the control was last modified. Returns null for Vanta library
            controls.
        numDocumentsPassing:
          type: number
          format: double
          description: The number of passing documents that are linked to the control.
        numDocumentsTotal:
          type: number
          format: double
          description: The total number of documents that are linked to the control.
        numTestsPassing:
          type: number
          format: double
          description: The number of passing tests that are linked to the control.
        numTestsTotal:
          type: number
          format: double
          description: The total number of tests that are linked to the control.
        status:
          $ref: '#/components/schemas/ControlStatus'
          description: >-
            The status of the control as determined by number of passing tests
            and documents.
        note:
          type: string
          nullable: true
          description: A user created note for the control.
      required:
        - id
        - externalId
        - name
        - description
        - source
        - domains
        - owner
        - customFields
        - creationDate
        - modificationDate
        - numDocumentsPassing
        - numDocumentsTotal
        - numTestsPassing
        - numTestsTotal
        - status
        - note
      type: object
      additionalProperties: false
    ControlDomain:
      enum:
        - ARTIFICIAL_&_AUTONOMOUS_TECHNOLOGY
        - ASSET_MANAGEMENT
        - BUSINESS_CONTINUITY_&_DISASTER_RECOVERY
        - CAPACITY_&_PERFORMANCE_PLANNING
        - CHANGE_MANAGEMENT
        - CLOUD_SECURITY
        - COMPLIANCE
        - CONFIGURATION_MANAGEMENT
        - CONTINUOUS_MONITORING
        - CRYPTOGRAPHIC_PROTECTIONS
        - DATA_CLASSIFICATION_&_HANDLING
        - EMBEDDED_TECHNOLOGY
        - ENDPOINT_SECURITY
        - HUMAN_RESOURCES_SECURITY
        - IDENTIFICATION_&_AUTHENTICATION
        - INCIDENT_RESPONSE
        - INFORMATION_ASSURANCE
        - MAINTENANCE
        - MOBILE_DEVICE_MANAGEMENT
        - NETWORK SECURITY
        - PHYSICAL_&_ENVIRONMENTAL_SECURITY
        - PRIVACY
        - PROJECT_&_RESOURCE MANAGEMENT
        - RISK_MANAGEMENT
        - SECURE_ENGINEERING_&_ARCHITECTURE
        - SECURITY_AWARENESS_&_TRAINING
        - SECURITY_OPERATIONS
        - SECURITY_&_PRIVACY_GOVERNANCE
        - TECHNOLOGY_DEVELOPMENT_&_ACQUISITION
        - THIRD-PARTY_MANAGEMENT
        - THREAT_MANAGEMENT
        - VULNERABILITY_&_PATCH_MANAGEMENT
        - WEB_SECURITY
        - ADMINISTRATIVE
        - PHYSICAL
        - TECHNICAL
        - BASIC
        - DERIVED
      type: string
    CustomField:
      properties:
        label:
          type: string
        value:
          anyOf:
            - type: string
            - items:
                type: string
              type: array
      required:
        - label
        - value
      type: object
      additionalProperties: false
    ControlSource:
      enum:
        - Vanta
        - Custom
      type: string
    Owner:
      properties:
        id:
          type: string
          description: Unique identifier for the person.
        displayName:
          type: string
          description: Name of the person that is shown in product.
        emailAddress:
          type: string
          description: Email address of the person.
      required:
        - id
        - displayName
        - emailAddress
      type: object
      additionalProperties: false
    ControlStatus:
      enum:
        - NO_EVIDENCE_MAPPED
        - NOT_STARTED
        - IN_PROGRESS
        - COMPLETED
      type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````