{
  "openapi": "3.0.0",
  "components": {
    "examples": {},
    "headers": {},
    "parameters": {},
    "requestBodies": {},
    "responses": {},
    "schemas": {
      "VulnerableAssetType": {
        "type": "string",
        "enum": [
          "SERVER",
          "SERVERLESS_FUNCTION",
          "CONTAINER",
          "CONTAINER_REPOSITORY",
          "CONTAINER_REPOSITORY_IMAGE",
          "CODE_REPOSITORY",
          "MANIFEST_FILE",
          "WORKSTATION",
          "OTHER"
        ],
        "description": "VulnerableAssetType describes the types of assets a vulnerability is on."
      },
      "KeyValuePair": {
        "properties": {
          "key": {
            "type": "string",
            "description": "Key of key-value pair."
          },
          "value": {
            "type": "string",
            "description": "Value of key-value pair."
          }
        },
        "required": [
          "key",
          "value"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "VulnerableAssetScanner": {
        "properties": {
          "resourceId": {
            "type": "string",
            "description": "The scanned asset's Vanta resource id."
          },
          "integrationId": {
            "type": "string",
            "description": "Integration that the the vulnerable asset is scanned by."
          },
          "imageDigest": {
            "type": "string",
            "nullable": true,
            "description": "Digest of the scanned container image."
          },
          "imagePushedAtDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Push date of the scanned container image."
          },
          "imageTags": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "nullable": true,
            "description": "Tags of the scanned container image."
          },
          "assetTags": {
            "items": {
              "$ref": "#/components/schemas/KeyValuePair"
            },
            "type": "array",
            "nullable": true,
            "description": "Tags of the scanned asset."
          },
          "parentAccountOrOrganization": {
            "type": "string",
            "nullable": true,
            "description": "The parent account or organization of the scanned asset."
          },
          "biosUuid": {
            "type": "string",
            "nullable": true,
            "description": "BIOS UUID of the scanned asset."
          },
          "ipv4s": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "nullable": true,
            "description": "IPV4s of the scanned asset."
          },
          "ipv6s": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "nullable": true,
            "description": "IPV6s of the scanned asset."
          },
          "macAddresses": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "nullable": true,
            "description": "Mac addresses of the scanned asset."
          },
          "hostnames": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "nullable": true,
            "description": "Host names of the scanned asset."
          },
          "fqdns": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "nullable": true,
            "description": "fqdns of the scanned asset."
          },
          "operatingSystems": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "nullable": true,
            "description": "Operating systems of the scanned asset."
          },
          "targetId": {
            "type": "string",
            "nullable": true,
            "description": "The asset's identifier code."
          }
        },
        "required": [
          "resourceId",
          "integrationId",
          "imageDigest",
          "imagePushedAtDate",
          "imageTags",
          "assetTags",
          "parentAccountOrOrganization",
          "biosUuid",
          "ipv4s",
          "ipv6s",
          "macAddresses",
          "hostnames",
          "fqdns",
          "operatingSystems",
          "targetId"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "VulnerableAsset": {
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the vulnerable asset."
          },
          "name": {
            "type": "string",
            "description": "Display name of the vulnerable asset."
          },
          "assetType": {
            "$ref": "#/components/schemas/VulnerableAssetType",
            "description": "Type of the vulnerable asset.\nPossible values: CODE_REPOSITORY, CONTAINER_REPOSITORY, CONTAINER_REPOSITORY_IMAGE, MANIFEST_FILE, SERVER, SERVERLESS_FUNCTION, WORKSTATION."
          },
          "hasBeenScanned": {
            "type": "boolean",
            "description": "Whether the vulnerable asset has been scanned."
          },
          "imageScanTag": {
            "type": "string",
            "nullable": true,
            "description": "Only relevant for container repositories. This field sets the container image tag that vulnerabilities will be retrieved for. If null, the latest image will be retrieved."
          },
          "scanners": {
            "items": {
              "$ref": "#/components/schemas/VulnerableAssetScanner"
            },
            "type": "array",
            "description": "The integrations that are scanning this vulnerable asset."
          }
        },
        "required": [
          "id",
          "name",
          "assetType",
          "hasBeenScanned",
          "imageScanTag",
          "scanners"
        ],
        "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
      },
      "PaginatedResponse_VulnerableAsset_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/VulnerableAsset"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "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.\nNote that the requested page will not include the item that corresponds to this cursor but will start from the one immediately\nafter this cursor."
      },
      "VulnerabilityRemediation": {
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the remediation."
          },
          "vulnerabilityId": {
            "type": "string",
            "description": "Unique identifier for the vulnerability that the remediation is for."
          },
          "vulnerableAssetId": {
            "type": "string",
            "description": "Unique identifier for the vulnerable asset that the remediation is for."
          },
          "severity": {
            "type": "string",
            "description": "Severity of the vulnerability."
          },
          "detectedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Date when the vulnerability was first detected."
          },
          "slaDeadlineDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Date when the vulnerability should be remediated by."
          },
          "remediationDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Date when the vulnerability was remediated."
          }
        },
        "required": [
          "id",
          "vulnerabilityId",
          "vulnerableAssetId",
          "severity",
          "detectedDate",
          "slaDeadlineDate",
          "remediationDate"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PaginatedResponse_VulnerabilityRemediation_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/VulnerabilityRemediation"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "ExternalFindingSeverity": {
        "description": "ExternalFindingSeverity describes the severity of an external finding (Vulnerability or Security Alert)",
        "enum": [
          "CRITICAL",
          "HIGH",
          "LOW",
          "MEDIUM"
        ],
        "type": "string"
      },
      "ResultLineStatus.SUCCESS": {
        "enum": [
          "SUCCESS"
        ],
        "type": "string"
      },
      "SuccessResponse": {
        "properties": {
          "id": {
            "type": "string",
            "description": "Id of the record"
          },
          "status": {
            "$ref": "#/components/schemas/ResultLineStatus.SUCCESS",
            "description": "Status of the requested update"
          }
        },
        "required": [
          "id",
          "status"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "ResultLineStatus.ERROR": {
        "enum": [
          "ERROR"
        ],
        "type": "string"
      },
      "Exclude_ResultLineStatus.SUCCESS_": {
        "$ref": "#/components/schemas/ResultLineStatus.ERROR",
        "description": "Exclude from T those types that are assignable to U"
      },
      "NonSuccessResponse": {
        "properties": {
          "id": {
            "type": "string",
            "description": "Id of the record"
          },
          "status": {
            "$ref": "#/components/schemas/Exclude_ResultLineStatus.SUCCESS_",
            "description": "Status of the requested update"
          },
          "message": {
            "type": "string",
            "description": "Message an error message"
          }
        },
        "required": [
          "id",
          "status",
          "message"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "UpdateResponse": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/SuccessResponse"
          },
          {
            "$ref": "#/components/schemas/NonSuccessResponse"
          }
        ]
      },
      "BulkResponse": {
        "properties": {
          "results": {
            "items": {
              "$ref": "#/components/schemas/UpdateResponse"
            },
            "type": "array",
            "description": "List of results matching the length and order of the request"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "VulnerabilityType": {
        "type": "string",
        "enum": [
          "CONFIGURATION",
          "COMMON",
          "GROUPED"
        ]
      },
      "ExternalFindingSeverityType": {
        "type": "string",
        "enum": [
          "CRITICAL",
          "HIGH",
          "LOW",
          "MEDIUM"
        ],
        "nullable": false
      },
      "Vulnerability": {
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the vulnerability."
          },
          "name": {
            "type": "string",
            "description": "Display name of the vulnerability."
          },
          "description": {
            "type": "string",
            "description": "Description of the vulnerability."
          },
          "integrationId": {
            "type": "string",
            "description": "Integration that the vulnerability is scanned by."
          },
          "packageIdentifier": {
            "type": "string",
            "nullable": true,
            "description": "Identifier for the package that the vulnerability is found on.\nOnly relevant to vulnerabilities of type COMMON or GROUPED."
          },
          "vulnerabilityType": {
            "$ref": "#/components/schemas/VulnerabilityType",
            "description": "Type of the vulnerability.\nPossible values: CONFIGURATION, COMMON, GROUPED."
          },
          "targetId": {
            "type": "string",
            "description": "Unique identifier for the underlying resource that the vulnerability is found on."
          },
          "firstDetectedDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date when the vulnerability was first detected by Vanta."
          },
          "sourceDetectedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Date when the vulnerability was first detected by the source."
          },
          "lastDetectedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Date when the vulnerability was last detected."
          },
          "severity": {
            "$ref": "#/components/schemas/ExternalFindingSeverityType",
            "description": "Severity of the vulnerability.\nPossible values: LOW, MEDIUM, HIGH, CRITICAL."
          },
          "cvssSeverityScore": {
            "type": "number",
            "format": "double",
            "nullable": true,
            "description": "CVSS severity score of the vulnerability."
          },
          "scannerScore": {
            "type": "number",
            "format": "double",
            "nullable": true,
            "description": "Scanner score of the vulnerability."
          },
          "isFixable": {
            "type": "boolean",
            "description": "Whether the vulnerability is fixable."
          },
          "remediateByDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Date when the vulnerability should be remediated by."
          },
          "relatedVulns": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "Related vulnerabilities.\nOnly relevant to vulnerabilities of type GROUPED."
          },
          "relatedUrls": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "Related URLs."
          },
          "externalURL": {
            "type": "string",
            "description": "External URL for the vulnerability."
          },
          "scanSource": {
            "type": "string",
            "description": "Scanning tool that detected the vulnerability"
          },
          "deactivateMetadata": {
            "properties": {
              "isVulnDeactivatedIndefinitely": {
                "type": "boolean",
                "description": "Whether the vulnerability is deactivated indefinitely."
              },
              "deactivatedUntilDate": {
                "type": "string",
                "format": "date-time",
                "nullable": true,
                "description": "Date when the vulnerability will be reactivated."
              },
              "deactivationReason": {
                "type": "string",
                "description": "Reason for deactivating the vulnerability."
              },
              "deactivatedOnDate": {
                "type": "string",
                "format": "date-time",
                "description": "Date when the vulnerability was deactivated."
              },
              "deactivatedBy": {
                "type": "string",
                "description": "Identifier of the user who deactivated the vulnerability."
              }
            },
            "required": [
              "isVulnDeactivatedIndefinitely",
              "deactivatedUntilDate",
              "deactivationReason",
              "deactivatedOnDate",
              "deactivatedBy"
            ],
            "type": "object",
            "nullable": true,
            "description": "Metadata for the deactivation of the vulnerability."
          },
          "fixedVersion": {
            "type": "string",
            "nullable": true,
            "description": "Package version that remediates the vulnerability when reported by the scanner.\nNull when unknown or not applicable."
          },
          "externalId": {
            "type": "string",
            "nullable": true,
            "description": "Identifier for the affected asset in the source system that detected the vulnerability."
          }
        },
        "required": [
          "id",
          "name",
          "description",
          "integrationId",
          "packageIdentifier",
          "vulnerabilityType",
          "targetId",
          "firstDetectedDate",
          "sourceDetectedDate",
          "lastDetectedDate",
          "severity",
          "cvssSeverityScore",
          "scannerScore",
          "isFixable",
          "remediateByDate",
          "relatedVulns",
          "relatedUrls",
          "externalURL",
          "deactivateMetadata",
          "fixedVersion",
          "externalId"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PaginatedResponse_Vulnerability_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/Vulnerability"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "VulnerabilityDeactivateRequest": {
        "properties": {
          "id": {
            "type": "string",
            "description": "ID of the vulnerability to deactivate."
          },
          "deactivateUntilDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date until which the vulnerability should be deactivated."
          },
          "deactivateReason": {
            "type": "string",
            "description": "Reason for deactivating the vulnerability.",
            "minLength": 1
          },
          "shouldReactivateWhenFixable": {
            "type": "boolean",
            "description": "Determines whether or not vulnerabilities should reactivate when they become fixable."
          }
        },
        "required": [
          "id",
          "deactivateReason",
          "shouldReactivateWhenFixable"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "VendorAuthenticationMethod": {
        "description": "The authentication method a vendor uses:\n- AUTH_0: The vendor authenticates using Auth0\n- AZURE_AD: The vendor authenticates using Azure Active Directory\n- G_SUITE: The vendor authenticates using Google Workspace\n- O_AUTH: The vendor authenticates using OAuth\n- O365: The vendor authenticates using Office 365\n- OKTA: The vendor authenticates using Okta\n- ONE_LOGIN: The vendor authenticates using OneLogin\n- OWA: The vendor authenticates using OWA\n- SSO: The vendor authenticates using SSO\n- USERNAME_PASSWORD: The vendor authenticates using usernames and passwords",
        "enum": [
          "AUTH_0",
          "AZURE_AD",
          "GOOGLE_WORKSPACE",
          "O_AUTH",
          "O365",
          "OKTA",
          "ONE_LOGIN",
          "OWA",
          "SSO",
          "USERNAME_PASSWORD",
          "OTHER"
        ],
        "type": "string"
      },
      "VendorStatus": {
        "description": "The current state of a vendor:\n- MANAGED: The vendor is actively managed.\n- ARCHIVED: The vendor has been archived\n- IN_PROCUREMENT: The vendor is in the procurement process",
        "enum": [
          "MANAGED",
          "ARCHIVED",
          "IN_PROCUREMENT"
        ],
        "type": "string"
      },
      "VendorRiskLevel": {
        "description": "The risk level of a vendor:\n- CRITICAL: The vendor has a critical security risk\n- HIGH: The vendor has a high security risk\n- MEDIUM: The vendor has a medium security risk\n- LOW: The vendor has a low security risk\n- UNSCORED: The vendor has not been given a risk level",
        "enum": [
          "CRITICAL",
          "HIGH",
          "LOW",
          "MEDIUM",
          "UNSCORED"
        ],
        "type": "string"
      },
      "CountryCode": {
        "enum": [
          "EUE",
          "AND",
          "ARE",
          "AFG",
          "ATG",
          "AIA",
          "ALB",
          "ARM",
          "AGO",
          "ATA",
          "ARG",
          "ASM",
          "AUT",
          "AUS",
          "ABW",
          "ALA",
          "AZE",
          "BIH",
          "BRB",
          "BGD",
          "BEL",
          "BFA",
          "BGR",
          "BHR",
          "BDI",
          "BEN",
          "BLM",
          "BMU",
          "BRN",
          "BOL",
          "BES",
          "BRA",
          "BHS",
          "BTN",
          "BVT",
          "BWA",
          "BLR",
          "BLZ",
          "CAN",
          "CCK",
          "COD",
          "CAF",
          "COG",
          "CHE",
          "CIV",
          "COK",
          "CHL",
          "CMR",
          "CHN",
          "COL",
          "CRI",
          "CUB",
          "CPV",
          "CUW",
          "CXR",
          "CYP",
          "CZE",
          "DEU",
          "DJI",
          "DNK",
          "DMA",
          "DOM",
          "DZA",
          "ECU",
          "EST",
          "EGY",
          "ESH",
          "ERI",
          "ESP",
          "ETH",
          "FIN",
          "FJI",
          "FLK",
          "FSM",
          "FRO",
          "FRA",
          "GAB",
          "ENG",
          "SCT",
          "GBR",
          "WAL",
          "NIR",
          "GRD",
          "GEO",
          "GUF",
          "GGY",
          "GHA",
          "GIB",
          "GRL",
          "GMB",
          "GIN",
          "GLP",
          "GNQ",
          "GRC",
          "SGS",
          "GTM",
          "GUM",
          "GNB",
          "GUY",
          "HKG",
          "HMD",
          "HND",
          "HRV",
          "HTI",
          "HUN",
          "IDN",
          "IRL",
          "ISR",
          "IMN",
          "IND",
          "IOT",
          "IRQ",
          "IRN",
          "ISL",
          "ITA",
          "JEY",
          "JAM",
          "JOR",
          "JPN",
          "KEN",
          "KGZ",
          "KHM",
          "KIR",
          "COM",
          "KNA",
          "PRK",
          "KOR",
          "KWT",
          "CYM",
          "KAZ",
          "LAO",
          "LBN",
          "LCA",
          "LIE",
          "LKA",
          "LBR",
          "LSO",
          "LTU",
          "LUX",
          "LVA",
          "LBY",
          "MAR",
          "MCO",
          "MDA",
          "MNE",
          "MAF",
          "MDG",
          "MHL",
          "MKD",
          "MLI",
          "MMR",
          "MNG",
          "MAC",
          "MNP",
          "MTQ",
          "MRT",
          "MSR",
          "MLT",
          "MUS",
          "MDV",
          "MWI",
          "MEX",
          "MYS",
          "MOZ",
          "NAM",
          "NCL",
          "NER",
          "NFK",
          "NGA",
          "NIC",
          "NLD",
          "NOR",
          "NPL",
          "NRU",
          "NIU",
          "NZL",
          "OMN",
          "PAN",
          "PER",
          "PYF",
          "PNG",
          "PHL",
          "PAK",
          "POL",
          "SPM",
          "PCN",
          "PRI",
          "PSE",
          "PRT",
          "PLW",
          "PRY",
          "QAT",
          "REU",
          "ROU",
          "SRB",
          "RUS",
          "RWA",
          "SAU",
          "SLB",
          "SYC",
          "SDN",
          "SWE",
          "SGP",
          "SHN",
          "SVN",
          "SJM",
          "SVK",
          "SLE",
          "SMR",
          "SEN",
          "SOM",
          "SUR",
          "SSD",
          "STP",
          "SLV",
          "SXM",
          "SYR",
          "SWZ",
          "TCA",
          "TCD",
          "ATF",
          "TGO",
          "THA",
          "TJK",
          "TKL",
          "TLS",
          "TKM",
          "TUN",
          "TON",
          "TUR",
          "TTO",
          "TUV",
          "TWN",
          "TZA",
          "UKR",
          "UGA",
          "UMI",
          "USA",
          "URY",
          "UZB",
          "VAT",
          "VCT",
          "VEN",
          "VGB",
          "VIR",
          "VNM",
          "VUT",
          "WLF",
          "WSM",
          "YEM",
          "MYT",
          "ZAF",
          "ZMB",
          "ZWE"
        ],
        "type": "string"
      },
      "CurrencyCode": {
        "enum": [
          "ARS",
          "AUD",
          "BRL",
          "CAD",
          "COP",
          "CZK",
          "DKK",
          "EUR",
          "GBP",
          "ILS",
          "INR",
          "JPY",
          "MXN",
          "NOK",
          "NZD",
          "PHP",
          "PKR",
          "PLN",
          "RSD",
          "SEK",
          "SGD",
          "UAH",
          "USD",
          "ZAR"
        ],
        "type": "string"
      },
      "VendorContractAmount": {
        "properties": {
          "amount": {
            "type": "number",
            "format": "double",
            "description": "The amount of the contract."
          },
          "currency": {
            "$ref": "#/components/schemas/CurrencyCode",
            "description": "The currency of the contract."
          }
        },
        "required": [
          "amount",
          "currency"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "CustomField": {
        "properties": {
          "label": {
            "type": "string"
          },
          "value": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              }
            ]
          }
        },
        "required": [
          "label",
          "value"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "VendorDecisionStatus": {
        "enum": [
          "APPROVED",
          "CONDITIONALLY_APPROVED",
          "NOT_APPROVED"
        ],
        "type": "string"
      },
      "VendorDecision": {
        "description": "The decision for a vendor.",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/VendorDecisionStatus"
          },
          "lastUpdatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "status",
          "lastUpdatedAt"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "Vendor": {
        "properties": {
          "id": {
            "type": "string",
            "description": "The vendor's unique ID."
          },
          "name": {
            "type": "string",
            "description": "The vendor's display name."
          },
          "websiteUrl": {
            "type": "string",
            "nullable": true,
            "description": "The vendor's website URL."
          },
          "accountManagerName": {
            "type": "string",
            "nullable": true,
            "description": "The vendor's external account manager name."
          },
          "accountManagerEmail": {
            "type": "string",
            "nullable": true,
            "description": "The vendor's external account manager email."
          },
          "servicesProvided": {
            "type": "string",
            "nullable": true,
            "description": "Services provided by the vendor."
          },
          "additionalNotes": {
            "type": "string",
            "nullable": true,
            "description": "Any additional notes about the vendor"
          },
          "securityOwnerUserId": {
            "type": "string",
            "nullable": true,
            "description": "The vendor's security owner's Vanta user ID."
          },
          "businessOwnerUserId": {
            "type": "string",
            "nullable": true,
            "description": "The vendor's business owner's Vanta user ID."
          },
          "contractStartDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The date the contract with the vendor began."
          },
          "contractRenewalDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The date the contract with the vendor is up for renewal."
          },
          "contractTerminationDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The date the contract with the vendor was terminated."
          },
          "nextSecurityReviewDueDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The next due date for a security review."
          },
          "lastSecurityReviewCompletionDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The most recent date a security review was completed."
          },
          "isVisibleToAuditors": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether or not auditors can view this vendor."
          },
          "isRiskAutoScored": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether or not the vendor's risk is automatically scored."
          },
          "riskAttributeIds": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "The list of risk attribute IDs the vendor has been assigned to."
          },
          "category": {
            "properties": {
              "displayName": {
                "type": "string"
              }
            },
            "required": [
              "displayName"
            ],
            "type": "object",
            "nullable": true,
            "description": "The vendor's category."
          },
          "authDetails": {
            "properties": {
              "passwordMinimumLength": {
                "type": "number",
                "format": "double",
                "nullable": true,
                "description": "Minimum number for chacters required for passwords for this vendor."
              },
              "passwordRequiresSymbol": {
                "type": "boolean",
                "nullable": true,
                "description": "Whether or not the vendor requires passwords to have a symbol."
              },
              "passwordRequiresNumber": {
                "type": "boolean",
                "nullable": true,
                "description": "Whether or not the vendor requires passwords to have a number."
              },
              "passwordMFA": {
                "type": "boolean",
                "nullable": true,
                "description": "Whether or not the vendor requires passwords to have multi factor authentication."
              },
              "method": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/VendorAuthenticationMethod"
                  }
                ],
                "nullable": true,
                "description": "The vendor's authentication method."
              }
            },
            "required": [
              "passwordMinimumLength",
              "passwordRequiresSymbol",
              "passwordRequiresNumber",
              "passwordMFA",
              "method"
            ],
            "type": "object",
            "description": "The vendor's authentication details."
          },
          "status": {
            "$ref": "#/components/schemas/VendorStatus",
            "description": "The vendor's current status."
          },
          "inherentRiskLevel": {
            "$ref": "#/components/schemas/VendorRiskLevel",
            "description": "The vendor's risk level."
          },
          "residualRiskLevel": {
            "$ref": "#/components/schemas/VendorRiskLevel",
            "description": "The vendor's residual risk level."
          },
          "vendorHeadquarters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CountryCode"
              }
            ],
            "nullable": true,
            "description": "The vendor's headquarters."
          },
          "contractAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VendorContractAmount"
              }
            ],
            "nullable": true,
            "description": "The contract amount for the vendor."
          },
          "customFields": {
            "items": {
              "$ref": "#/components/schemas/CustomField"
            },
            "type": "array",
            "nullable": true,
            "description": "The vendor's custom fields."
          },
          "latestDecision": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VendorDecision"
              }
            ],
            "nullable": true,
            "description": "The vendor's latest decision status. Null means no decision has been made."
          },
          "linkedTaskTrackerTaskProcurementRequest": {
            "properties": {
              "url": {
                "type": "string"
              },
              "service": {
                "type": "string"
              }
            },
            "required": [
              "url",
              "service"
            ],
            "type": "object",
            "nullable": true,
            "description": "The task tracker procurement request associated with this vendor (if linked)."
          }
        },
        "required": [
          "id",
          "name",
          "websiteUrl",
          "accountManagerName",
          "accountManagerEmail",
          "servicesProvided",
          "additionalNotes",
          "securityOwnerUserId",
          "businessOwnerUserId",
          "contractStartDate",
          "contractRenewalDate",
          "contractTerminationDate",
          "nextSecurityReviewDueDate",
          "lastSecurityReviewCompletionDate",
          "isVisibleToAuditors",
          "isRiskAutoScored",
          "riskAttributeIds",
          "category",
          "authDetails",
          "status",
          "inherentRiskLevel",
          "residualRiskLevel",
          "vendorHeadquarters",
          "contractAmount",
          "customFields",
          "latestDecision",
          "linkedTaskTrackerTaskProcurementRequest"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "VendorFrameworkScope": {
        "description": "Framework scoping configuration for a vendor.\nDetermines which compliance frameworks the vendor applies to.",
        "properties": {
          "scopeType": {
            "type": "string",
            "enum": [
              "ALL",
              "PARTIAL",
              "NONE"
            ],
            "description": "The scope type:\n- ALL: Vendor applies to all frameworks\n- PARTIAL: Vendor applies to specific frameworks (requires frameworkIds)\n- NONE: Vendor excluded from all frameworks"
          },
          "frameworkIds": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "Framework IDs the vendor applies to. Required when scopeType is PARTIAL.",
            "example": [
              "soc2",
              "hipaa"
            ]
          }
        },
        "required": [
          "scopeType"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "CreateVendorInput": {
        "properties": {
          "name": {
            "type": "string",
            "description": "Display name of the vendor.",
            "maxLength": 2000
          },
          "websiteUrl": {
            "type": "string",
            "description": "The url of the vendor's website.",
            "maxLength": 2000
          },
          "accountManagerName": {
            "type": "string",
            "description": "Name of the external account manager for this vendor.",
            "maxLength": 2000
          },
          "accountManagerEmail": {
            "type": "string",
            "description": "Email of the external account manager for this vendor.",
            "maxLength": 100
          },
          "securityOwnerUserId": {
            "type": "string",
            "description": "The Vanta user ID of the security owner of this vendor."
          },
          "servicesProvided": {
            "type": "string",
            "description": "Services provided by the vendor."
          },
          "additionalNotes": {
            "type": "string",
            "description": "Miscellaneous notes about the vendor",
            "maxLength": 2000
          },
          "businessOwnerUserId": {
            "type": "string",
            "description": "The Vanta user ID of the business owner of this vendor."
          },
          "contractStartDate": {
            "type": "string",
            "format": "date-time",
            "description": "When the contract with the vendor is up for renewal."
          },
          "contractRenewalDate": {
            "type": "string",
            "format": "date-time",
            "description": "When the contract with the vendor is up for renewal."
          },
          "contractTerminationDate": {
            "type": "string",
            "format": "date-time",
            "description": "When the contract with the vendor was terminated."
          },
          "isVisibleToAuditors": {
            "type": "boolean",
            "description": "Whether or not auditors can view this vendor."
          },
          "authDetails": {
            "properties": {
              "passwordMinimumLength": {
                "type": "number",
                "format": "double",
                "description": "Minimum number for chacters required for passwords for this vendor."
              },
              "passwordRequiresSymbol": {
                "type": "boolean",
                "description": "Whether or not the vendor requires passwords to have a symbol."
              },
              "passwordRequiresNumber": {
                "type": "boolean",
                "description": "Whether or not the vendor requires passwords to have a number."
              },
              "passwordMFA": {
                "type": "boolean",
                "description": "Whether or not the vendor requires password multi factor authentication."
              },
              "method": {
                "$ref": "#/components/schemas/VendorAuthenticationMethod",
                "description": "The authentication method the vendor uses."
              }
            },
            "type": "object",
            "description": "The authentication details about the vendor."
          },
          "status": {
            "$ref": "#/components/schemas/VendorStatus",
            "description": "The current status of the vendor."
          },
          "category": {
            "type": "string",
            "description": "The vendor's category."
          },
          "inherentRiskLevel": {
            "$ref": "#/components/schemas/VendorRiskLevel",
            "description": "The inherent risk level of the vendor."
          },
          "residualRiskLevel": {
            "$ref": "#/components/schemas/VendorRiskLevel",
            "description": "The residual risk level of the vendor."
          },
          "vendorHeadquarters": {
            "$ref": "#/components/schemas/CountryCode",
            "description": "The vendor's headquarters."
          },
          "contractAmount": {
            "$ref": "#/components/schemas/VendorContractAmount",
            "description": "The contract amount for the vendor."
          },
          "customFields": {
            "items": {
              "$ref": "#/components/schemas/CustomField"
            },
            "type": "array",
            "description": "The custom fields for the vendor.\nFor more information on how to set custom fields via the API, visit https://developer.vanta.com/docs/guides/use-custom-fields-with-vendors"
          },
          "frameworkScope": {
            "$ref": "#/components/schemas/VendorFrameworkScope",
            "description": "Framework scoping configuration for this vendor.\nDetermines which compliance frameworks the vendor applies to."
          }
        },
        "required": [
          "name"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PaginatedResponse_Vendor_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/Vendor"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "UpdateVendorInput": {
        "properties": {
          "name": {
            "type": "string",
            "description": "Display name of the vendor.",
            "maxLength": 2000
          },
          "websiteUrl": {
            "type": "string",
            "nullable": true,
            "description": "The url of the vendor's website.",
            "maxLength": 2000
          },
          "accountManagerName": {
            "type": "string",
            "nullable": true,
            "description": "Name of the external account manager for this vendor.",
            "maxLength": 2000
          },
          "accountManagerEmail": {
            "type": "string",
            "description": "Email of the external account manager for this vendor.",
            "maxLength": 100
          },
          "securityOwnerUserId": {
            "type": "string",
            "nullable": true,
            "description": "The Vanta user ID of the security owner of this vendor."
          },
          "servicesProvided": {
            "type": "string",
            "nullable": true,
            "description": "Services provided by the vendor."
          },
          "additionalNotes": {
            "type": "string",
            "nullable": true,
            "description": "Miscellaneous notes about the vendor"
          },
          "businessOwnerUserId": {
            "type": "string",
            "nullable": true,
            "description": "The Vanta user ID of the business owner of this vendor."
          },
          "contractStartDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "When the contract with the vendor is up for renewal."
          },
          "contractRenewalDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "When the contract with the vendor is up for renewal."
          },
          "contractTerminationDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "When the contract with the vendor was terminated."
          },
          "isVisibleToAuditors": {
            "type": "boolean",
            "description": "Whether or not auditors can view this vendor."
          },
          "authDetails": {
            "properties": {
              "passwordMinimumLength": {
                "type": "number",
                "format": "double",
                "description": "Minimum number for chacters required for passwords for this vendor."
              },
              "passwordRequiresSymbol": {
                "type": "boolean",
                "description": "Whether or not the vendor requires passwords to have a symbol."
              },
              "passwordRequiresNumber": {
                "type": "boolean",
                "description": "Whether or not the vendor requires passwords to have a number."
              },
              "passwordMFA": {
                "type": "boolean",
                "description": "Whether or not the vendor requires password multi factor authentication."
              },
              "method": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/VendorAuthenticationMethod"
                  }
                ],
                "nullable": true,
                "description": "The authentication method the vendor uses."
              }
            },
            "type": "object",
            "description": "The authentication details about the vendor."
          },
          "status": {
            "$ref": "#/components/schemas/VendorStatus",
            "description": "The current status of the vendor."
          },
          "category": {
            "type": "string",
            "description": "The vendor's category."
          },
          "inherentRiskLevel": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VendorRiskLevel"
              }
            ],
            "nullable": true,
            "description": "The inherent risk level of the vendor.\nSetting it to null means it will be auto-scored by Vanta based on the risk attributes and rubric"
          },
          "residualRiskLevel": {
            "$ref": "#/components/schemas/VendorRiskLevel",
            "description": "The residual risk level of the vendor."
          },
          "riskAttributeIds": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "A list of risk attribute ids the vendor has been assigned."
          },
          "vendorHeadquarters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CountryCode"
              }
            ],
            "nullable": true,
            "description": "The vendor's headquarters."
          },
          "contractAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VendorContractAmount"
              }
            ],
            "nullable": true,
            "description": "The contract amount for the vendor."
          },
          "customFields": {
            "items": {
              "$ref": "#/components/schemas/CustomField"
            },
            "type": "array",
            "description": "The custom fields for the vendor.\nFor more information on how to set custom fields via the API, visit https://developer.vanta.com/docs/guides/use-custom-fields-with-vendors"
          },
          "frameworkScope": {
            "$ref": "#/components/schemas/VendorFrameworkScope",
            "description": "Framework scoping configuration for this vendor.\nDetermines which compliance frameworks the vendor applies to."
          }
        },
        "type": "object",
        "additionalProperties": false
      },
      "UploadedDocumentUploadedByType": {
        "enum": [
          "USER",
          "APPLICATION"
        ],
        "type": "string"
      },
      "VendorDocument": {
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the document."
          },
          "fileName": {
            "type": "string",
            "nullable": true,
            "description": "The file name of the document."
          },
          "title": {
            "type": "string",
            "description": "The document's title."
          },
          "description": {
            "type": "string",
            "nullable": true,
            "description": "The document's description"
          },
          "mimeType": {
            "type": "string",
            "description": "Mime type of the document."
          },
          "uploadedBy": {
            "properties": {
              "type": {
                "$ref": "#/components/schemas/UploadedDocumentUploadedByType"
              },
              "id": {
                "type": "string"
              }
            },
            "required": [
              "type",
              "id"
            ],
            "type": "object",
            "nullable": true,
            "description": "The actor who uploaded this document. It could be a user or an app."
          },
          "creationDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date of when the document was uploaded."
          },
          "updatedDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date when the document was last updated."
          },
          "deletionDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Date of when the document was deleted. Is set to null if the document has not been deleted."
          },
          "type": {
            "type": "string",
            "description": "Type of the vendor document."
          },
          "url": {
            "type": "string",
            "description": "URL link to the document"
          }
        },
        "required": [
          "id",
          "fileName",
          "title",
          "description",
          "mimeType",
          "uploadedBy",
          "creationDate",
          "updatedDate",
          "deletionDate",
          "type",
          "url"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PaginatedResponse_VendorDocument_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/VendorDocument"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "AssessmentDecision": {
        "description": "The current decision made for an assessment:\n- APPROVED: The assessment has been approved.\n- NOT_APPROVED: The assessment has been marked not approved.\n- CONDITIONALLY_APPROVED: The assessment has been conditionally approved.",
        "enum": [
          "APPROVED",
          "NOT_APPROVED",
          "CONDITIONALLY_APPROVED"
        ],
        "type": "string"
      },
      "AssessmentType": {
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the assessment type."
          },
          "name": {
            "type": "string",
            "description": "Display name of the assessment type."
          },
          "description": {
            "type": "string",
            "nullable": true,
            "description": "Description of the assessment type, if set."
          }
        },
        "required": [
          "id",
          "name",
          "description"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "AssessmentOwnerType": {
        "enum": [
          "USER",
          "TEAM"
        ],
        "type": "string"
      },
      "AssessmentOwner": {
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the owner."
          },
          "type": {
            "$ref": "#/components/schemas/AssessmentOwnerType",
            "description": "The type of actor that owns this assessment."
          },
          "displayName": {
            "type": "string",
            "nullable": true,
            "description": "Display name of the owner, if available."
          },
          "email": {
            "type": "string",
            "nullable": true,
            "description": "Email of the owner. Populated for USER owners, null for TEAM owners."
          }
        },
        "required": [
          "id",
          "type",
          "displayName",
          "email"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "SecurityReview": {
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the security review."
          },
          "vendorId": {
            "type": "string",
            "description": "Unique identifier for the vendor."
          },
          "decisionNotes": {
            "type": "string",
            "nullable": true,
            "description": "Notes about the security review's decision status."
          },
          "comments": {
            "type": "string",
            "nullable": true,
            "description": "Comments about the security review."
          },
          "completedByUserId": {
            "type": "string",
            "nullable": true,
            "description": "The Vanta user ID of the person who completed this review."
          },
          "startDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The timestamp of the when the security review was started."
          },
          "dueDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The timestamp of the when the security review is due."
          },
          "overrideDueDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "A manual override timestamp of the when the security review is due."
          },
          "completionDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The timestamp of the when the security review was marked as completed."
          },
          "decision": {
            "properties": {
              "lastUpdatedAt": {
                "type": "string",
                "format": "date-time",
                "description": "The timestamp of when the security review decision was last set."
              },
              "status": {
                "$ref": "#/components/schemas/AssessmentDecision",
                "description": "The status of the current decision."
              }
            },
            "required": [
              "lastUpdatedAt",
              "status"
            ],
            "type": "object",
            "nullable": true,
            "description": "An object containing information about the decision of the review."
          },
          "assessmentType": {
            "$ref": "#/components/schemas/AssessmentType",
            "description": "The assessment type for this security review."
          },
          "owner": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AssessmentOwner"
              }
            ],
            "nullable": true,
            "description": "The owner of this security review, if assigned."
          }
        },
        "required": [
          "id",
          "vendorId",
          "decisionNotes",
          "comments",
          "completedByUserId",
          "startDate",
          "dueDate",
          "overrideDueDate",
          "completionDate",
          "decision",
          "assessmentType",
          "owner"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PaginatedResponse_SecurityReview_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/SecurityReview"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "AssessmentStatus": {
        "description": "The lifecycle status of an assessment:\n- NOT_STARTED: The assessment has not yet been started.\n- IN_PROGRESS: The assessment is underway.\n- COMPLETED: The assessment has been completed.",
        "enum": [
          "NOT_STARTED",
          "IN_PROGRESS",
          "COMPLETED"
        ],
        "type": "string"
      },
      "VendorAssessment": {
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the assessment."
          },
          "vendorId": {
            "type": "string",
            "description": "Unique identifier for the vendor."
          },
          "status": {
            "$ref": "#/components/schemas/AssessmentStatus",
            "description": "The lifecycle status of the assessment."
          },
          "completedByUserId": {
            "type": "string",
            "nullable": true,
            "description": "The Vanta user ID of the person who completed this assessment."
          },
          "startDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The timestamp of when the assessment was started."
          },
          "dueDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The timestamp of when the assessment is due."
          },
          "overrideDueDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "A manual override timestamp of when the assessment is due."
          },
          "completionDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The timestamp of when the assessment was marked as completed."
          },
          "createdDate": {
            "type": "string",
            "format": "date-time",
            "description": "The timestamp of when the assessment was created."
          },
          "decision": {
            "properties": {
              "comments": {
                "type": "string",
                "nullable": true,
                "description": "Comments about the assessment decision."
              },
              "lastUpdatedAt": {
                "type": "string",
                "format": "date-time",
                "description": "The timestamp of when the assessment decision was last set."
              },
              "status": {
                "$ref": "#/components/schemas/AssessmentDecision",
                "description": "The status of the current decision."
              }
            },
            "required": [
              "comments",
              "lastUpdatedAt",
              "status"
            ],
            "type": "object",
            "nullable": true,
            "description": "An object containing information about the decision of the assessment."
          },
          "assessmentType": {
            "$ref": "#/components/schemas/AssessmentType",
            "description": "The assessment type for this assessment."
          },
          "owner": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AssessmentOwner"
              }
            ],
            "nullable": true,
            "description": "The owner of this assessment, if assigned."
          }
        },
        "required": [
          "id",
          "vendorId",
          "status",
          "completedByUserId",
          "startDate",
          "dueDate",
          "overrideDueDate",
          "completionDate",
          "createdDate",
          "decision",
          "assessmentType",
          "owner"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PaginatedResponse_VendorAssessment_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/VendorAssessment"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "FindingRiskStatus": {
        "description": "The status of the finding:\n- ACCEPT: The finding and its risk has been accepted and no follow up is required.\n- REMEDIATE: The finding needs to be remediated in some way.\n- NONE: The finding is not related to an observed risk that needs to be accepted or remediated.",
        "enum": [
          "ACCEPT",
          "REMEDIATE",
          "NONE"
        ],
        "type": "string"
      },
      "FindingRemediationState": {
        "description": "The current state of a finding remediation:\n- OPEN: The finding has not been remediated and still needs to be addressed.\n- CLOSED: The finding has been remediated and no further action is needed.",
        "enum": [
          "OPEN",
          "CLOSED"
        ],
        "type": "string"
      },
      "VendorFinding": {
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the finding."
          },
          "vendorId": {
            "type": "string",
            "description": "Unique identifier for the vendor."
          },
          "securityReviewId": {
            "type": "string",
            "nullable": true,
            "description": "Unique identifier for a security review."
          },
          "documentId": {
            "type": "string",
            "nullable": true,
            "description": "Unique identifier for a document."
          },
          "content": {
            "type": "string",
            "description": "The content of the finding."
          },
          "riskStatus": {
            "$ref": "#/components/schemas/FindingRiskStatus",
            "description": "The risk status of the finding."
          },
          "remediation": {
            "properties": {
              "state": {
                "$ref": "#/components/schemas/FindingRemediationState",
                "description": "The state of the remediation."
              },
              "requirementNotes": {
                "type": "string",
                "nullable": true,
                "description": "A string containing the information needed to properly remediate the finding."
              }
            },
            "required": [
              "state",
              "requirementNotes"
            ],
            "type": "object",
            "nullable": true,
            "description": "Remediation information about the finding. Will only be populated if riskStatus is set to \"REMEDIATE\"."
          }
        },
        "required": [
          "id",
          "vendorId",
          "securityReviewId",
          "documentId",
          "content",
          "riskStatus",
          "remediation"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PaginatedResponse_VendorFinding_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/VendorFinding"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "CreateFindingInput": {
        "properties": {
          "content": {
            "type": "string",
            "description": "The content of the finding."
          },
          "riskStatus": {
            "$ref": "#/components/schemas/FindingRiskStatus",
            "description": "The risk status of the finding."
          },
          "remediation": {
            "properties": {
              "state": {
                "$ref": "#/components/schemas/FindingRemediationState",
                "description": "The state of the remediation."
              },
              "requirementNotes": {
                "type": "string",
                "description": "A string containing the information needed to properly remediate the finding."
              }
            },
            "type": "object",
            "description": "Remediation information about the finding. Will only be populated if riskStatus is set to \"REMEDIATE\"."
          },
          "securityReviewId": {
            "type": "string",
            "description": "Unique identifier for a security review."
          },
          "documentId": {
            "type": "string",
            "description": "Unique identifier for a document."
          }
        },
        "required": [
          "content",
          "riskStatus"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "UpdateFindingInput": {
        "properties": {
          "content": {
            "type": "string",
            "description": "The content of the finding."
          },
          "riskStatus": {
            "$ref": "#/components/schemas/FindingRiskStatus",
            "description": "The risk status of the finding."
          },
          "remediation": {
            "properties": {
              "state": {
                "$ref": "#/components/schemas/FindingRemediationState",
                "description": "The state of the remediation."
              },
              "requirementNotes": {
                "type": "string",
                "description": "A string containing the information needed to properly remediate the finding."
              }
            },
            "type": "object",
            "description": "Remediation information about the finding. Will only be populated if riskStatus is set to \"REMEDIATE\"."
          }
        },
        "type": "object",
        "additionalProperties": false
      },
      "VendorRiskAttribute": {
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the risk attribute."
          },
          "name": {
            "type": "string",
            "description": "Display name of the risk attribute."
          },
          "description": {
            "type": "string",
            "description": "Description of the risk attribute."
          },
          "vendorCategories": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "Vendor categories this risk attribute applies to."
          },
          "enabled": {
            "type": "boolean",
            "description": "Whether or not this risk attribute is enabled."
          },
          "riskLevel": {
            "$ref": "#/components/schemas/VendorRiskLevel",
            "description": "Risk level of this attribute."
          }
        },
        "required": [
          "id",
          "name",
          "description",
          "vendorCategories",
          "enabled",
          "riskLevel"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PaginatedResponse_VendorRiskAttribute_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/VendorRiskAttribute"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "User": {
        "properties": {
          "id": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "email",
          "displayName",
          "isActive"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PaginatedResponse_User_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/User"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "BannerSetting": {
        "description": "Possible banner settings for the Trust Center.\n- CUSTOM_IMAGE: Banner is a custom uploaded image.\n- GRADIENT: Banner is a gradient between two colors.\n- MINIMAL: No banner.\n- VANTA: Legacy Vanta-themed banner. No longer selectable as a banner style.",
        "enum": [
          "CUSTOM_IMAGE",
          "GRADIENT",
          "MINIMAL",
          "VANTA"
        ],
        "type": "string"
      },
      "TrustCenter": {
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the Trust Center."
          },
          "title": {
            "type": "string",
            "nullable": true,
            "description": "Custom title set for the Trust Center."
          },
          "companyDescription": {
            "type": "string",
            "nullable": true,
            "description": "Company description displayed in the Trust Center header."
          },
          "privacyPolicy": {
            "type": "string",
            "nullable": true,
            "description": "URL of the Trust Center company's privacy policy."
          },
          "awsMarketplaceListing": {
            "type": "string",
            "nullable": true,
            "description": "URL of the Trust Center company's AWS Marketplace listing."
          },
          "customDomain": {
            "type": "string",
            "nullable": true,
            "description": "Custom domain that the Trust Center can be found at, e.g. trust.vanta.com."
          },
          "isPublic": {
            "type": "boolean",
            "description": "Whether the Trust Center is public."
          },
          "bannerSetting": {
            "properties": {
              "endColor": {
                "type": "string",
                "nullable": true,
                "description": "End color of the banner. Only applies if setting is GRADIENT."
              },
              "startColor": {
                "type": "string",
                "nullable": true,
                "description": "Start color of the banner. Only applies if setting is GRADIENT."
              },
              "setting": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BannerSetting"
                  }
                ],
                "nullable": true,
                "description": "Banner setting option."
              }
            },
            "required": [
              "endColor",
              "startColor",
              "setting"
            ],
            "type": "object",
            "description": "Information about the Trust Center's banner."
          },
          "customTheme": {
            "properties": {
              "secondary": {
                "type": "string",
                "nullable": true,
                "description": "Secondary color selected for the theme."
              },
              "primary": {
                "type": "string",
                "nullable": true,
                "description": "Primary color selected for the theme."
              }
            },
            "required": [
              "secondary",
              "primary"
            ],
            "type": "object",
            "description": "Custom theme colors chosen for the Trust Center."
          },
          "contactEmail": {
            "type": "string",
            "nullable": true,
            "description": "Contact email displayed on the Trust Center."
          },
          "customHeading": {
            "type": "string",
            "nullable": true,
            "description": "Custom heading displayed on the Trust Center."
          },
          "creationDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date the Trust Center was created."
          },
          "updatedDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date the Trust Center was last updated."
          }
        },
        "required": [
          "id",
          "title",
          "companyDescription",
          "privacyPolicy",
          "awsMarketplaceListing",
          "customDomain",
          "isPublic",
          "bannerSetting",
          "customTheme",
          "contactEmail",
          "customHeading",
          "creationDate",
          "updatedDate"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "BannerSetting.GRADIENT": {
        "enum": [
          "GRADIENT"
        ],
        "type": "string"
      },
      "BannerSetting.MINIMAL": {
        "enum": [
          "MINIMAL"
        ],
        "type": "string"
      },
      "ApiSelectableBannerSetting": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/BannerSetting.GRADIENT"
          },
          {
            "$ref": "#/components/schemas/BannerSetting.MINIMAL"
          }
        ]
      },
      "UpdateTrustCenterInput": {
        "properties": {
          "title": {
            "type": "string",
            "nullable": true,
            "description": "Custom title for the Trust Center. If null is passed in, the current\ncustom title is unset and the default title is restored."
          },
          "companyDescription": {
            "type": "string",
            "nullable": true,
            "description": "Company description displayed in the Trust Center header. If null is passed\nin, the current company description is unset."
          },
          "bannerSetting": {
            "properties": {
              "endColor": {
                "type": "string",
                "description": "End color of the banner. Only applies if setting is GRADIENT."
              },
              "startColor": {
                "type": "string",
                "description": "Start color of the banner. Only applies if setting is GRADIENT."
              },
              "setting": {
                "$ref": "#/components/schemas/ApiSelectableBannerSetting",
                "description": "The banner style to use. Must be one of \"GRADIENT\" or \"MINIMAL\"."
              }
            },
            "required": [
              "setting"
            ],
            "type": "object",
            "description": "The banner configuration of the Trust Center."
          },
          "customTheme": {
            "properties": {
              "secondary": {
                "type": "string",
                "nullable": true,
                "description": "Secondary color for the theme. If null is passed in, resets to default."
              },
              "primary": {
                "type": "string",
                "nullable": true,
                "description": "Primary color for the theme. If null is passed in, resets to default."
              }
            },
            "type": "object",
            "description": "The custom theme configuration for the Trust Center."
          },
          "privacyPolicy": {
            "type": "string",
            "nullable": true,
            "description": "Privacy policy URL to set on the Trust Center. If null is passed in, unsets\nthe current privacy policy."
          },
          "awsMarketplaceListing": {
            "type": "string",
            "nullable": true,
            "description": "AWS Marketplace listing URL to set on the Trust Center. If null is passed\nin, unsets the current AWS Marketplace listing."
          },
          "isPublic": {
            "type": "boolean",
            "description": "Whether the Trust Center is public or not."
          },
          "contactEmail": {
            "type": "string",
            "nullable": true,
            "description": "Contact email displayed on the Trust Center. If null is passed in, unsets\nthe current contact email."
          },
          "customHeading": {
            "type": "string",
            "nullable": true,
            "description": "Custom heading displayed on the Trust Center. If null is passed in, unsets\nthe current custom heading."
          }
        },
        "type": "object",
        "additionalProperties": false
      },
      "ActivityEventType": {
        "enum": [
          "PAGE_VIEW",
          "RESOURCE_DOWNLOAD",
          "RESOURCE_VIEW",
          "VIDEO_PLAY"
        ],
        "type": "string"
      },
      "TrustCenterPage": {
        "enum": [
          "COMPLIANCE",
          "CONTROLS",
          "FAQ",
          "MEDIA",
          "OVERVIEW",
          "RESOURCES",
          "SUBPROCESSORS",
          "UPDATES"
        ],
        "type": "string"
      },
      "TrustCenterActivityEvent": {
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the activity event."
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "description": "Date and time the event occurred."
          },
          "eventType": {
            "$ref": "#/components/schemas/ActivityEventType",
            "description": "The type of activity event this is."
          },
          "details": {
            "anyOf": [
              {
                "properties": {
                  "page": {
                    "$ref": "#/components/schemas/TrustCenterPage",
                    "description": "Page that was viewed."
                  }
                },
                "required": [
                  "page"
                ],
                "type": "object"
              },
              {
                "properties": {
                  "resourceName": {
                    "type": "string",
                    "description": "Title of the resource that this event pertains to."
                  },
                  "resourceId": {
                    "type": "string",
                    "description": "ID of the resource that this event pertains to."
                  }
                },
                "required": [
                  "resourceName",
                  "resourceId"
                ],
                "type": "object"
              },
              {
                "properties": {
                  "videoTitle": {
                    "type": "string",
                    "description": "Title of the video that was played."
                  }
                },
                "required": [
                  "videoTitle"
                ],
                "type": "object"
              }
            ],
            "nullable": true,
            "description": "Additional details about the event. Details vary based on event type."
          },
          "viewerId": {
            "type": "string",
            "nullable": true,
            "description": "ID of the viewer who produced the event."
          },
          "viewerEmail": {
            "type": "string",
            "nullable": true,
            "description": "Email of the viewer who produced the event."
          },
          "city": {
            "type": "string",
            "nullable": true,
            "description": "City from which the request originated."
          },
          "countryCode": {
            "type": "string",
            "nullable": true,
            "description": "Country code from which the request originated."
          }
        },
        "required": [
          "id",
          "date",
          "eventType",
          "details",
          "viewerId",
          "viewerEmail",
          "city",
          "countryCode"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PaginatedResponse_TrustCenterActivityEvent_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/TrustCenterActivityEvent"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "ViewerAccessLevel": {
        "description": "The access level of the viewer.\nFULL_ACCESS means having access to all resources on the trust center.\nPARTIAL_ACCESS means having access to all public resources and a select list of requestable resources.",
        "enum": [
          "FULL_ACCESS",
          "PARTIAL_ACCESS"
        ],
        "type": "string"
      },
      "ViewerNdaProvider": {
        "description": "The provider for a viewer's NDA. This can also be a provider that bypassed\nthe NDA requirement, e.g. SFDC.",
        "enum": [
          "DOCUSIGN",
          "ONE_CLICK",
          "SFDC_BYPASS",
          "HUBSPOT_BYPASS",
          "IRONCLAD_BYPASS"
        ],
        "type": "string"
      },
      "ExternalService": {
        "description": "An external service that a Trust Center viewer may be associated with.",
        "enum": [
          "SALESFORCE",
          "HUBSPOT",
          "IRONCLAD"
        ],
        "type": "string"
      },
      "CustomerTrustUser": {
        "properties": {
          "id": {
            "type": "string"
          },
          "organizationId": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "givenName": {
            "type": "string",
            "nullable": true
          },
          "familyName": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "id",
          "organizationId",
          "email",
          "givenName",
          "familyName"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "TrustCenterViewer": {
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the viewer."
          },
          "email": {
            "type": "string",
            "description": "Email of the viewer."
          },
          "name": {
            "type": "string",
            "nullable": true,
            "description": "Name of the viewer."
          },
          "companyName": {
            "type": "string",
            "nullable": true,
            "description": "Name of the viewer's company."
          },
          "resourceIds": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "nullable": true,
            "description": "IDs for the resources this viewer has access to. If null, the\nviewer has access to all resources on the Trust Center."
          },
          "accessLevel": {
            "$ref": "#/components/schemas/ViewerAccessLevel",
            "description": "Access level of the viewer."
          },
          "ndaInfo": {
            "properties": {
              "docuSign": {
                "properties": {
                  "envelopeId": {
                    "type": "string",
                    "description": "ID of the created envelope in DocuSign."
                  },
                  "accountId": {
                    "type": "string",
                    "description": "ID of the DocuSign account."
                  },
                  "accountBaseUrl": {
                    "type": "string",
                    "description": "eSignature API URL for the DocuSign account."
                  }
                },
                "required": [
                  "envelopeId",
                  "accountId",
                  "accountBaseUrl"
                ],
                "type": "object",
                "nullable": true,
                "description": "Contains information about the DocuSign NDA if that is the NDA\nprovider."
              },
              "oneClick": {
                "properties": {
                  "ndaUploadedDocumentId": {
                    "type": "string",
                    "nullable": true,
                    "description": "ID for the NDA document that was signed."
                  },
                  "name": {
                    "type": "string",
                    "description": "Name of the person who signed the NDA."
                  },
                  "date": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The date the NDA document was signed."
                  }
                },
                "required": [
                  "ndaUploadedDocumentId",
                  "name",
                  "date"
                ],
                "type": "object",
                "nullable": true,
                "description": "Contains information about the click-wrap NDA if that is the NDA\nprovider."
              },
              "provider": {
                "$ref": "#/components/schemas/ViewerNdaProvider",
                "description": "The provider for the viewer's NDA."
              },
              "satisfiedDate": {
                "type": "string",
                "format": "date-time",
                "nullable": true,
                "description": "The date the NDA was satisfied."
              }
            },
            "required": [
              "docuSign",
              "oneClick",
              "provider",
              "satisfiedDate"
            ],
            "type": "object",
            "nullable": true,
            "description": "NDA-related information for the viewer."
          },
          "externalServiceAssociations": {
            "items": {
              "properties": {
                "objectType": {
                  "type": "string",
                  "description": "The type of object in the external service the viewer was linked to."
                },
                "id": {
                  "type": "string",
                  "description": "The ID of the user in the external service."
                },
                "service": {
                  "$ref": "#/components/schemas/ExternalService",
                  "description": "The external service for the associated user."
                }
              },
              "required": [
                "objectType",
                "id",
                "service"
              ],
              "type": "object"
            },
            "type": "array",
            "nullable": true,
            "description": "Objects in external services that the viewer is associated with."
          },
          "creationDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date the viewer was created."
          },
          "updatedDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date the viewer was last updated."
          },
          "expirationDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Expiration date for the viewer's access."
          },
          "addedByUser": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CustomerTrustUser"
              }
            ],
            "nullable": true,
            "description": "User that shared the Trust Center with this viewer."
          },
          "customerTrustAccountId": {
            "type": "string",
            "nullable": true,
            "description": "ID of the Customer Trust Account associated with this viewer."
          }
        },
        "required": [
          "id",
          "email",
          "name",
          "companyName",
          "resourceIds",
          "accessLevel",
          "ndaInfo",
          "externalServiceAssociations",
          "creationDate",
          "updatedDate",
          "expirationDate",
          "addedByUser",
          "customerTrustAccountId"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PaginatedResponse_TrustCenterViewer_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/TrustCenterViewer"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "AddTrustCenterViewerInput": {
        "properties": {
          "email": {
            "type": "string",
            "description": "Email of the viewer."
          },
          "name": {
            "type": "string",
            "description": "Name of the viewer."
          },
          "companyName": {
            "type": "string",
            "description": "Name of the viewer's company."
          },
          "isNdaRequired": {
            "type": "boolean",
            "description": "Whether to require an NDA for the viewer."
          },
          "expirationDate": {
            "type": "string",
            "format": "date-time",
            "description": "The date access should expire for this viewer. If a date isn't provided,\naccess will not expire."
          },
          "resourceIds": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "Identifiers for the resources that this viewer should have access to. If\nthis field is omitted, the viewer will have access to all resources on the\nTrust Center."
          },
          "accessLevel": {
            "$ref": "#/components/schemas/ViewerAccessLevel",
            "description": "Access level for the viewer."
          },
          "customerTrustAccountId": {
            "type": "string",
            "description": "ID of a Customer Trust Account to associate with this viewer."
          }
        },
        "required": [
          "email",
          "name",
          "companyName",
          "isNdaRequired",
          "accessLevel"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "UpdateTrustCenterViewerInput": {
        "properties": {
          "accessLevel": {
            "$ref": "#/components/schemas/ViewerAccessLevel",
            "description": "Access level for the viewer."
          },
          "resourceIds": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "Identifiers for the resources that this viewer should have access to."
          },
          "expirationDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The date access should expire for this viewer. Set to null to remove\nexpiration."
          },
          "isNdaRequired": {
            "type": "boolean",
            "description": "Whether to require an NDA for the viewer."
          },
          "customerTrustAccountId": {
            "type": "string",
            "nullable": true,
            "description": "ID of a Customer Trust Account to associate with this viewer.\nSet to null to remove the association.\nOmit to leave unchanged."
          }
        },
        "type": "object",
        "additionalProperties": false
      },
      "InviteReminderResponse": {
        "description": "Response returned after a viewer invite reminder is sent.",
        "properties": {
          "isSuccessful": {
            "type": "boolean",
            "description": "Whether the invite reminder email was successfully sent."
          }
        },
        "required": [
          "isSuccessful"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "TrustCenterVideo": {
        "properties": {
          "url": {
            "type": "string",
            "description": "Canonical URL for the video."
          },
          "title": {
            "type": "string",
            "description": "Title of the video."
          },
          "description": {
            "type": "string",
            "nullable": true,
            "description": "Description of the video."
          }
        },
        "required": [
          "url",
          "title"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "ArrayResponse_TrustCenterVideo_": {
        "properties": {
          "results": {
            "items": {
              "$ref": "#/components/schemas/TrustCenterVideo"
            },
            "type": "array"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "SetTrustCenterVideoItem": {
        "properties": {
          "url": {
            "type": "string",
            "description": "Full video URL (e.g. \"https://www.youtube.com/watch?v=dQw4w9WgXcQ\" or \"https://vimeo.com/123456\"). Supported platforms: YouTube, Vimeo."
          },
          "title": {
            "type": "string",
            "description": "Title of the video."
          },
          "description": {
            "type": "string",
            "description": "Description of the video."
          }
        },
        "required": [
          "url",
          "title"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "SetTrustCenterVideosInput": {
        "properties": {
          "videos": {
            "items": {
              "$ref": "#/components/schemas/SetTrustCenterVideoItem"
            },
            "type": "array",
            "description": "The videos to display on the Trust Center. Replaces all existing videos."
          }
        },
        "required": [
          "videos"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "UpdateCategory": {
        "description": "The possible categories for a Trust Center update.",
        "enum": [
          "GENERAL",
          "COMPLIANCE",
          "SECURITY",
          "PRIVACY",
          "INCIDENT",
          "ROADMAP"
        ],
        "type": "string"
      },
      "UpdateVisibilityType": {
        "description": "Visibility of a Trust Center update.",
        "enum": [
          "PUBLIC",
          "PRIVATE"
        ],
        "type": "string"
      },
      "TrustCenterUpdateAPIResponse": {
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the update."
          },
          "title": {
            "type": "string",
            "description": "Title of the update."
          },
          "description": {
            "type": "string",
            "description": "Description of the update."
          },
          "category": {
            "$ref": "#/components/schemas/UpdateCategory",
            "description": "Category of the update."
          },
          "creationDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date the update was created."
          },
          "updatedDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date the viewer was last updated."
          },
          "visibilityType": {
            "$ref": "#/components/schemas/UpdateVisibilityType",
            "description": "Visibility type of the update."
          },
          "notifiedEmails": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "Emails to notify about the update."
          }
        },
        "required": [
          "id",
          "title",
          "description",
          "category",
          "creationDate",
          "updatedDate",
          "visibilityType"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PaginatedResponse_TrustCenterUpdateAPIResponse_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/TrustCenterUpdateAPIResponse"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "UpdateNotificationTarget": {
        "description": "Target recipients for notifications",
        "enum": [
          "ALL",
          "GROUPS",
          "NONE"
        ],
        "type": "string"
      },
      "AddTrustCenterUpdateInput": {
        "properties": {
          "title": {
            "type": "string",
            "description": "Title of the update."
          },
          "description": {
            "type": "string",
            "description": "Description of the update."
          },
          "category": {
            "$ref": "#/components/schemas/UpdateCategory",
            "description": "Category of the update."
          },
          "visibilityType": {
            "$ref": "#/components/schemas/UpdateVisibilityType",
            "description": "Visibility type of the update."
          },
          "notifiedEmails": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "Additional one-off email addresses to notify. These are always sent regardless of `notificationTarget`."
          },
          "notificationTarget": {
            "$ref": "#/components/schemas/UpdateNotificationTarget",
            "description": "Controls which Trust Center subscribers are notified.\n- `ALL`: notifies all active subscribers\n- `GROUPS`: notifies only subscribers in the specified `subscriberGroupIds`\n- `NONE`: no subscribers are notified\n\nNote: `notifiedEmails` are always sent regardless of this value."
          },
          "subscriberGroupIds": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "IDs of subscriber groups to notify. Required when `notificationTarget` is `GROUPS`."
          }
        },
        "required": [
          "title",
          "description",
          "category"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "EditTrustCenterUpdateInput": {
        "properties": {
          "title": {
            "type": "string",
            "description": "Title of the update."
          },
          "description": {
            "type": "string",
            "description": "Description of the update."
          },
          "category": {
            "$ref": "#/components/schemas/UpdateCategory",
            "description": "Category of the update."
          },
          "visibilityType": {
            "$ref": "#/components/schemas/UpdateVisibilityType",
            "description": "Visibility type of the update."
          }
        },
        "required": [
          "title",
          "description",
          "category"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "NotifySpecificSubscribersResponse": {
        "properties": {
          "recipientCount": {
            "type": "number",
            "format": "double",
            "description": "The number of subscribers who will receive this notification."
          }
        },
        "required": [
          "recipientCount"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "CustomerTrustAccountCustomFieldFilter": {
        "description": "A single custom field filter condition.",
        "properties": {
          "label": {
            "type": "string",
            "description": "The custom field label.",
            "example": "enterprise_id"
          },
          "value": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              }
            ],
            "description": "The value(s) to match against. Provide an array to match any of multiple values.",
            "example": [
              "ent_123",
              "ent_456"
            ],
            "maxItems": 5000
          }
        },
        "required": [
          "label",
          "value"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "TagsByCategoryInput": {
        "properties": {
          "categoryId": {
            "type": "string",
            "description": "The tag category ID"
          },
          "tagIds": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "Tag IDs to assign. An empty array removes all tags for the category."
          }
        },
        "required": [
          "categoryId",
          "tagIds"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "CustomerTrustAccountsInput": {
        "description": "Account selectors for narrowing `GROUPS` notifications to subscribers with a matching linked account.",
        "properties": {
          "customFieldsFilter": {
            "items": {
              "$ref": "#/components/schemas/CustomerTrustAccountCustomFieldFilter"
            },
            "type": "array",
            "description": "Filter accounts by custom field label/value pairs.\nWhen `value` is an array, accounts matching any of the values are included.\nWhen multiple entries are provided, accounts must satisfy all of them.",
            "example": [
              {
                "label": "enterprise_id",
                "value": [
                  "ent_123",
                  "ent_456"
                ]
              }
            ],
            "maxItems": 10
          },
          "tagsByCategory": {
            "items": {
              "$ref": "#/components/schemas/TagsByCategoryInput"
            },
            "type": "array",
            "description": "Narrow the candidate accounts resolved from `customFieldsFilter`\nto those with matching tags.\nWithin a category entry, accounts matching any of the `tagIds` are included.\nWhen multiple entries are provided, accounts must satisfy all of them.",
            "example": [
              {
                "categoryId": "507f1f77bcf86cd799439011",
                "tagIds": [
                  "507f1f77bcf86cd799439012"
                ]
              }
            ],
            "maxItems": 10
          }
        },
        "type": "object",
        "additionalProperties": false
      },
      "SendTrustCenterUpdateNotificationsInput": {
        "description": "Input for sending notifications to specific subscribers of a Trust Center update.\n\n**Recipient limit:** The total number of deduplicated recipient emails resolved from\nsubscriber groups, account filters, and additional emails must not exceed **5,000**.\nIf the resolved recipient count exceeds this limit, the request will return a **422** error.\nTo notify more recipients, narrow your filters or split across multiple requests.",
        "properties": {
          "emails": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "Additional email addresses to notify about this Trust Center update in addition to the existing Trust Center subscribers.\nDuplicate emails are deduplicated to ensure each recipient gets only one notification.",
            "maxItems": 10
          },
          "subscriberGroupIds": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "IDs of subscriber groups to notify. When `customerTrustAccounts` is also provided,\nonly subscribers in these groups whose linked account matches are notified.",
            "maxItems": 10
          },
          "customerTrustAccounts": {
            "$ref": "#/components/schemas/CustomerTrustAccountsInput",
            "description": "Optional account filters. When provided, only subscribers in `subscriberGroupIds`\nwhose linked account matches all specified filters are notified."
          }
        },
        "required": [
          "emails",
          "subscriberGroupIds"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "SubscriberGroup": {
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the group."
          },
          "name": {
            "type": "string",
            "description": "Name of the group."
          }
        },
        "required": [
          "id",
          "name"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "TrustCenterSubscriber": {
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the subscriber."
          },
          "email": {
            "type": "string",
            "description": "Email of the subscriber."
          },
          "isEmailVerified": {
            "type": "boolean",
            "description": "Whether the subscriber's email has been verified."
          },
          "creationDate": {
            "type": "string",
            "format": "date-time",
            "description": "When the subscriber was created."
          },
          "customerTrustAccountId": {
            "type": "string",
            "nullable": true,
            "description": "The ID of the customer trust account this subscriber is linked to, if any."
          },
          "groups": {
            "items": {
              "$ref": "#/components/schemas/SubscriberGroup"
            },
            "type": "array",
            "description": "Groups this subscriber belongs to."
          }
        },
        "required": [
          "id",
          "email",
          "isEmailVerified",
          "creationDate",
          "customerTrustAccountId",
          "groups"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PaginatedResponse_TrustCenterSubscriber_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/TrustCenterSubscriber"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "AddTrustCenterSubscriberInput": {
        "properties": {
          "email": {
            "type": "string",
            "description": "Email of the subscriber."
          },
          "customerTrustAccountId": {
            "type": "string",
            "description": "Optional: Link subscriber to a customer trust account by ID."
          },
          "shouldSkipEmailVerification": {
            "type": "boolean",
            "description": "When true, the subscriber is created as already verified and no\nverification email is sent. Defaults to false."
          }
        },
        "required": [
          "email"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "SetGroupsForTrustCenterSubscriberInput": {
        "properties": {
          "groupIds": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "Group IDs to set for the subscriber. The subscriber will be removed from\nany groups not included in this list."
          }
        },
        "required": [
          "groupIds"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "TrustCenterSubscriberGroup": {
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the subscriber group."
          },
          "name": {
            "type": "string",
            "description": "Name of the subscriber group."
          },
          "subscriberIds": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "List of subscriber IDs in the group."
          },
          "creationDate": {
            "type": "string",
            "format": "date-time",
            "description": "When the subscriber group was created."
          }
        },
        "required": [
          "id",
          "name",
          "subscriberIds",
          "creationDate"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "EditTrustCenterSubscriberGroupInput": {
        "properties": {
          "name": {
            "type": "string",
            "description": "Updated name of the subscriber group."
          }
        },
        "required": [
          "name"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "CreateTrustCenterSubscriberGroupInput": {
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the subscriber group."
          },
          "subscriberIds": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "List of subscriber IDs in the group."
          }
        },
        "required": [
          "name",
          "subscriberIds"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PaginatedResponse_TrustCenterSubscriberGroup_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/TrustCenterSubscriberGroup"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "TrustCenterSubprocessor": {
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the subprocessor."
          },
          "name": {
            "type": "string",
            "description": "Name of the subprocessor."
          },
          "description": {
            "type": "string",
            "nullable": true,
            "description": "Description of the subprocessor."
          },
          "location": {
            "type": "string",
            "nullable": true,
            "description": "Where this subprocessor is deployed."
          },
          "purpose": {
            "type": "string",
            "nullable": true,
            "description": "The purpose that the subprocessor serves."
          },
          "url": {
            "type": "string",
            "nullable": true,
            "description": "URL of the subprocessor."
          }
        },
        "required": [
          "id",
          "name",
          "description",
          "location",
          "purpose",
          "url"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "ArrayResponse_TrustCenterSubprocessor_": {
        "properties": {
          "results": {
            "items": {
              "$ref": "#/components/schemas/TrustCenterSubprocessor"
            },
            "type": "array"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "AddTrustCenterSubprocessorInput": {
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the subprocessor."
          },
          "url": {
            "type": "string",
            "description": "URL of the subprocessor."
          },
          "description": {
            "type": "string",
            "description": "Description of the subprocessor."
          },
          "location": {
            "type": "string",
            "description": "Where this subprocessor is deployed."
          },
          "purpose": {
            "type": "string",
            "description": "The purpose that the subprocessor serves."
          }
        },
        "required": [
          "name"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "EditTrustCenterSubprocessorInput": {
        "properties": {
          "description": {
            "type": "string",
            "nullable": true,
            "description": "What to set the subprocessor description to. If null is passed in, the\nsubprocessor's current description is unset."
          },
          "location": {
            "type": "string",
            "nullable": true,
            "description": "What to set the subprocessor location to. If null is passed in, the\nsubprocessor's current description is unset."
          },
          "purpose": {
            "type": "string",
            "nullable": true,
            "description": "What to set the subprocessor purpose to. If null is passed in, the\nsubprocessor's current description is unset."
          }
        },
        "type": "object",
        "additionalProperties": false
      },
      "TrustCenterResource": {
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the document."
          },
          "fileName": {
            "type": "string",
            "nullable": true,
            "description": "The file name of the document."
          },
          "title": {
            "type": "string",
            "description": "The document's title."
          },
          "description": {
            "type": "string",
            "nullable": true,
            "description": "The document's description"
          },
          "mimeType": {
            "type": "string",
            "description": "Mime type of the document."
          },
          "creationDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date of when the document was uploaded."
          },
          "updatedDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date when the document was last updated."
          },
          "isPublic": {
            "type": "boolean",
            "description": "Boolean determining whether the document is publicly available."
          }
        },
        "required": [
          "id",
          "fileName",
          "title",
          "description",
          "mimeType",
          "creationDate",
          "updatedDate",
          "isPublic"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "ArrayResponse_TrustCenterResource_": {
        "properties": {
          "results": {
            "items": {
              "$ref": "#/components/schemas/TrustCenterResource"
            },
            "type": "array"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "EditTrustCenterResourceInput": {
        "properties": {
          "title": {
            "type": "string",
            "description": "Title of the Trust Center document."
          },
          "isPublic": {
            "type": "boolean",
            "description": "Boolean determining whether the document is publicly available."
          },
          "description": {
            "type": "string",
            "description": "Description of the uploaded document."
          }
        },
        "type": "object",
        "additionalProperties": false
      },
      "NodeJS.ReadableStream": {
        "properties": {
          "readable": {
            "type": "boolean"
          }
        },
        "required": [
          "readable"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "TrustCenterResourceCategory": {
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the resource category."
          },
          "name": {
            "type": "string",
            "description": "Name of the category."
          }
        },
        "required": [
          "id",
          "name"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "ArrayResponse_TrustCenterResourceCategory_": {
        "properties": {
          "results": {
            "items": {
              "$ref": "#/components/schemas/TrustCenterResourceCategory"
            },
            "type": "array"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "AddTrustCenterResourceCategoryInput": {
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the category."
          }
        },
        "required": [
          "name"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "EditTrustCenterResourceCategoryInput": {
        "properties": {
          "name": {
            "type": "string",
            "description": "New name for the category."
          }
        },
        "required": [
          "name"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "ReorderTrustCenterResourceCategoriesInput": {
        "properties": {
          "categoryIds": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "Ordered list of all resource category IDs representing the desired order."
          }
        },
        "required": [
          "categoryIds"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "UploadFaviconResponse": {
        "description": "Response returned after a favicon upload.",
        "properties": {
          "isSuccessful": {
            "type": "boolean",
            "description": "Whether the favicon was successfully uploaded."
          }
        },
        "required": [
          "isSuccessful"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "TrustCenterFaqCategory": {
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the FAQ category."
          },
          "name": {
            "type": "string",
            "description": "Name of the category."
          }
        },
        "required": [
          "id",
          "name"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "TrustCenterFaq": {
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the Trust Center FAQ."
          },
          "question": {
            "type": "string",
            "description": "The FAQ question."
          },
          "answer": {
            "type": "string",
            "description": "The FAQ answer."
          },
          "category": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TrustCenterFaqCategory"
              }
            ],
            "nullable": true,
            "description": "The category this FAQ belongs to, or null if uncategorized."
          }
        },
        "required": [
          "id",
          "question",
          "answer",
          "category"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "ArrayResponse_TrustCenterFaq_": {
        "properties": {
          "results": {
            "items": {
              "$ref": "#/components/schemas/TrustCenterFaq"
            },
            "type": "array"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "AddOrEditTrustCenterFaqInput": {
        "properties": {
          "question": {
            "type": "string",
            "description": "The FAQ question."
          },
          "answer": {
            "type": "string",
            "description": "The FAQ answer."
          },
          "categoryId": {
            "type": "string",
            "nullable": true,
            "description": "The category to place this FAQ in. Pass null to move to uncategorized. Omit to leave unchanged (on update) or default to uncategorized (on create)."
          }
        },
        "required": [
          "question",
          "answer"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "ArrayResponse_TrustCenterFaqCategory_": {
        "properties": {
          "results": {
            "items": {
              "$ref": "#/components/schemas/TrustCenterFaqCategory"
            },
            "type": "array"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "AddTrustCenterFaqCategoryInput": {
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the category."
          }
        },
        "required": [
          "name"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "EditTrustCenterFaqCategoryInput": {
        "properties": {
          "name": {
            "type": "string",
            "description": "New name for the category."
          }
        },
        "required": [
          "name"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "DataCollectedStatus": {
        "description": "Enum representing if and how the data collected is shown on the trust center",
        "enum": [
          "COLLECTED",
          "HIDDEN",
          "NOT_COLLECTED"
        ],
        "type": "string"
      },
      "TrustCenterDataCollected": {
        "properties": {
          "dataCollected": {
            "type": "string",
            "description": "Name of the data type being disclosed."
          },
          "status": {
            "$ref": "#/components/schemas/DataCollectedStatus",
            "description": "Status of the data collection disclosure."
          }
        },
        "required": [
          "dataCollected",
          "status"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "ArrayResponse_TrustCenterDataCollected_": {
        "properties": {
          "results": {
            "items": {
              "$ref": "#/components/schemas/TrustCenterDataCollected"
            },
            "type": "array"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "DataCollectedInputItem": {
        "properties": {
          "dataCollected": {
            "type": "string",
            "description": "Name of the data type being disclosed."
          },
          "status": {
            "$ref": "#/components/schemas/DataCollectedStatus",
            "description": "Status of the data collection disclosure. Must be one of \"COLLECTED\", \"HIDDEN\", or \"NOT_COLLECTED\"."
          }
        },
        "required": [
          "dataCollected",
          "status"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "SetDataCollectedInput": {
        "properties": {
          "dataCollected": {
            "items": {
              "$ref": "#/components/schemas/DataCollectedInputItem"
            },
            "type": "array",
            "description": "List of data-collected disclosures to set on the Trust Center."
          },
          "dataCollectedHeading": {
            "type": "string",
            "nullable": true,
            "description": "Custom heading for the data collected section. If null is passed in, unsets the current heading."
          }
        },
        "required": [
          "dataCollected"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "TrustCenterControlCategory": {
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the control category."
          },
          "name": {
            "type": "string",
            "description": "Name of the category."
          }
        },
        "required": [
          "id",
          "name"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "ArrayResponse_TrustCenterControlCategory_": {
        "properties": {
          "results": {
            "items": {
              "$ref": "#/components/schemas/TrustCenterControlCategory"
            },
            "type": "array"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "AddOrEditTrustCenterControlCategoryInput": {
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the category."
          }
        },
        "required": [
          "name"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "BulkEditControlsInCategoryInput": {
        "description": "Request body for bulk editing controls in a category.",
        "properties": {
          "controlsToAdd": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "IDs of controls to add to the category."
          },
          "controlsToRemove": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "IDs of controls to remove from the category."
          }
        },
        "required": [
          "controlsToAdd",
          "controlsToRemove"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "ReorderTrustCenterControlCategoriesInput": {
        "properties": {
          "orderedCategoryIds": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "Ordered list of all control category IDs representing the desired order."
          }
        },
        "required": [
          "orderedCategoryIds"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "TrustCenterControl": {
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the control."
          },
          "name": {
            "type": "string",
            "description": "The name of the control, usually a summary of the description."
          },
          "description": {
            "type": "string",
            "description": "The description of the control."
          },
          "categories": {
            "items": {
              "$ref": "#/components/schemas/TrustCenterControlCategory"
            },
            "type": "array",
            "nullable": true,
            "description": "The Trust Center control categories that the control belongs to."
          }
        },
        "required": [
          "id",
          "name",
          "description",
          "categories"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PaginatedResponse_TrustCenterControl_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/TrustCenterControl"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "AddControlToTrustCenterInput": {
        "properties": {
          "controlId": {
            "type": "string",
            "description": "ID of the control to add to the Trust Center."
          },
          "categoryIds": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "IDs of the categories to add the control to. This cannot be empty.",
            "minItems": 1
          }
        },
        "required": [
          "controlId",
          "categoryIds"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "ArrayResponse_TrustCenterControl_": {
        "properties": {
          "results": {
            "items": {
              "$ref": "#/components/schemas/TrustCenterControl"
            },
            "type": "array"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "BulkTagControlsInput": {
        "properties": {
          "controlIds": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "IDs of the controls to tag. Maximum 100."
          },
          "tagCategory": {
            "type": "string",
            "description": "ID of the tag category."
          },
          "tags": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "IDs of the tags to add or remove."
          }
        },
        "required": [
          "controlIds",
          "tagCategory",
          "tags"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "ReorderTrustCenterControlsInput": {
        "properties": {
          "orderedControlIds": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "Ordered list of all control IDs in the category representing the desired order."
          }
        },
        "required": [
          "orderedControlIds"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "TrustCenterComplianceFramework": {
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the framework."
          },
          "name": {
            "type": "string",
            "description": "Display name of the framework."
          },
          "standard": {
            "type": "string",
            "nullable": true,
            "description": "Compliance standard associated with this framework."
          },
          "description": {
            "type": "string",
            "nullable": true,
            "description": "Description of the framework."
          }
        },
        "required": [
          "id",
          "name",
          "standard",
          "description"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "ArrayResponse_TrustCenterComplianceFramework_": {
        "properties": {
          "results": {
            "items": {
              "$ref": "#/components/schemas/TrustCenterComplianceFramework"
            },
            "type": "array"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "CreateComplianceFrameworkInput": {
        "properties": {
          "name": {
            "type": "string",
            "description": "Display name of the framework."
          },
          "standard": {
            "type": "string",
            "enum": [
              "aiact",
              "aiuc1",
              "aue8",
              "awsFTR",
              "ccpa",
              "cisv8",
              "cjis",
              "cmmc2",
              "cps234",
              "cri",
              "dora",
              "fedRAMPr5",
              "fedramp",
              "fedramp20x",
              "fedramp20x_2026",
              "gdpr",
              "hipaa",
              "hitruste1",
              "iso9001",
              "iso27001",
              "iso27001_2022",
              "iso27017",
              "iso27018",
              "iso27701",
              "iso27701_2025",
              "iso42001",
              "msftSSPA",
              "mvsp",
              "nis2d",
              "nist53",
              "nist171",
              "nistAiRmf",
              "nistCSF",
              "nistcsf2",
              "ofdss",
              "pciDss4",
              "pciSaqA",
              "pciSaqAEP",
              "pciSaqDMerchant",
              "pciSaqDSP",
              "soc2",
              "soxITGC",
              "t23nycrr500",
              "tisax",
              "iso22301",
              "trust",
              "ukCyberEssentials",
              "ukCyberEssentials33",
              "usDataPrivacy",
              "fedrampKSI",
              null
            ],
            "nullable": true,
            "description": "Compliance standard to associate with this framework."
          },
          "description": {
            "type": "string",
            "description": "Description of the framework."
          }
        },
        "required": [
          "name"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "UpdateComplianceFrameworkInput": {
        "properties": {
          "name": {
            "type": "string",
            "description": "Display name of the framework."
          },
          "standard": {
            "type": "string",
            "enum": [
              "aiact",
              "aiuc1",
              "aue8",
              "awsFTR",
              "ccpa",
              "cisv8",
              "cjis",
              "cmmc2",
              "cps234",
              "cri",
              "dora",
              "fedRAMPr5",
              "fedramp",
              "fedramp20x",
              "fedramp20x_2026",
              "gdpr",
              "hipaa",
              "hitruste1",
              "iso9001",
              "iso27001",
              "iso27001_2022",
              "iso27017",
              "iso27018",
              "iso27701",
              "iso27701_2025",
              "iso42001",
              "msftSSPA",
              "mvsp",
              "nis2d",
              "nist53",
              "nist171",
              "nistAiRmf",
              "nistCSF",
              "nistcsf2",
              "ofdss",
              "pciDss4",
              "pciSaqA",
              "pciSaqAEP",
              "pciSaqDMerchant",
              "pciSaqDSP",
              "soc2",
              "soxITGC",
              "t23nycrr500",
              "tisax",
              "iso22301",
              "trust",
              "ukCyberEssentials",
              "ukCyberEssentials33",
              "usDataPrivacy",
              "fedrampKSI",
              null
            ],
            "nullable": true,
            "description": "Compliance standard to associate with this framework. Pass null to unset."
          },
          "description": {
            "type": "string",
            "nullable": true,
            "description": "Description of the framework. Pass null to unset."
          }
        },
        "type": "object",
        "additionalProperties": false
      },
      "BadgeUploadResponse": {
        "properties": {
          "isSuccessful": {
            "type": "boolean",
            "description": "Whether the upload succeeded."
          }
        },
        "required": [
          "isSuccessful"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "TrustCenterChatbotConversation": {
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the conversation."
          },
          "firstMessage": {
            "type": "string",
            "description": "The user's first message in the conversation."
          },
          "numMessages": {
            "type": "number",
            "format": "double",
            "description": "Total number of messages in the conversation."
          },
          "userEmail": {
            "type": "string",
            "nullable": true,
            "description": "Email address of the user who started the conversation, or null for public conversations."
          },
          "isPublicConversation": {
            "type": "boolean",
            "description": "Whether this conversation occurred on a public chatbot."
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "Date and time the conversation was created."
          }
        },
        "required": [
          "id",
          "firstMessage",
          "numMessages",
          "userEmail",
          "isPublicConversation",
          "createdAt"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PaginatedResponse_TrustCenterChatbotConversation_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/TrustCenterChatbotConversation"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "ChatbotMessageRole": {
        "enum": [
          "USER",
          "ASSISTANT"
        ],
        "type": "string"
      },
      "TrustCenterChatbotMessage": {
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the message."
          },
          "role": {
            "$ref": "#/components/schemas/ChatbotMessageRole",
            "description": "The role of the message sender."
          },
          "message": {
            "type": "string",
            "description": "The message content."
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "Date and time the message was created."
          },
          "references": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "Resource IDs referenced by this message."
          }
        },
        "required": [
          "id",
          "role",
          "message",
          "createdAt",
          "references"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "ArrayResponse_TrustCenterChatbotMessage_": {
        "properties": {
          "results": {
            "items": {
              "$ref": "#/components/schemas/TrustCenterChatbotMessage"
            },
            "type": "array"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "TrustCenterAccessRequest": {
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the access request."
          },
          "email": {
            "type": "string",
            "description": "Email of the requester."
          },
          "name": {
            "type": "string",
            "description": "Name of the requester."
          },
          "companyName": {
            "type": "string",
            "description": "Name of the requester's company."
          },
          "reason": {
            "type": "string",
            "description": "Reason for the access request."
          },
          "requestedResources": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "nullable": true,
            "description": "IDs for the resources that the viewer requested access to."
          },
          "accessLevel": {
            "$ref": "#/components/schemas/ViewerAccessLevel",
            "description": "Access level that the viewer requested."
          },
          "creationDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date the access request was created."
          },
          "updatedDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date the access request was last updated."
          }
        },
        "required": [
          "id",
          "email",
          "name",
          "companyName",
          "reason",
          "requestedResources",
          "accessLevel",
          "creationDate",
          "updatedDate"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PaginatedResponse_TrustCenterAccessRequest_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/TrustCenterAccessRequest"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "HistoricalAccessRequestOutcome": {
        "description": "Enum representing the outcome states of a historical trust center access request",
        "enum": [
          "APPROVED",
          "DENIED"
        ],
        "type": "string"
      },
      "TrustCenterAccessRequestHistorical": {
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the access request."
          },
          "email": {
            "type": "string",
            "description": "Email of the requester."
          },
          "name": {
            "type": "string",
            "description": "Name of the requester."
          },
          "companyName": {
            "type": "string",
            "description": "Name of the requester's company."
          },
          "reason": {
            "type": "string",
            "description": "Reason for the access request."
          },
          "requestedResources": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "nullable": true,
            "description": "IDs for the resources that the viewer requested access to."
          },
          "accessLevel": {
            "$ref": "#/components/schemas/ViewerAccessLevel",
            "description": "Access level that the viewer requested."
          },
          "creationDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date the access request was created."
          },
          "updatedDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date the access request was last updated."
          },
          "outcome": {
            "$ref": "#/components/schemas/HistoricalAccessRequestOutcome",
            "description": "Outcome of the access request. APPROVED or DENIED."
          },
          "manualDenialReason": {
            "type": "string",
            "nullable": true,
            "description": "Reason provided when the access request was denied. Null if not denied or no reason was given."
          }
        },
        "required": [
          "id",
          "email",
          "name",
          "companyName",
          "reason",
          "requestedResources",
          "accessLevel",
          "creationDate",
          "updatedDate",
          "outcome",
          "manualDenialReason"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PaginatedResponse_TrustCenterAccessRequestHistorical_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/TrustCenterAccessRequestHistorical"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "ApproveTrustCenterAccessRequestInput": {
        "properties": {
          "expirationDate": {
            "type": "string",
            "format": "date-time",
            "description": "The date access should expire for this viewer. If a date isn't provided,\naccess will not expire."
          },
          "isNdaRequired": {
            "type": "boolean",
            "description": "Whether to require an NDA for the viewer. Defaults to true."
          },
          "resourceIds": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "Identifiers for the resources that this viewer should have access to. If\nthis field is omitted, the viewer will have access to all resources that\nthey requested."
          },
          "accessLevel": {
            "$ref": "#/components/schemas/ViewerAccessLevel",
            "description": "Approved access level of the viewer. If this field is omitted, the viewer\nwill have the access level they requested."
          }
        },
        "type": "object",
        "additionalProperties": false
      },
      "DenyTrustCenterAccessRequestInput": {
        "properties": {
          "reason": {
            "type": "string",
            "description": "Reason for denying the access request."
          }
        },
        "type": "object",
        "additionalProperties": false
      },
      "DocumentAndTestCategory": {
        "type": "string",
        "enum": [
          "Accounts access",
          "Account security",
          "Account setup",
          "Computers",
          "Custom",
          "Data storage",
          "Employees",
          "Infrastructure",
          "IT",
          "Logging",
          "Monitoring alerts",
          "People",
          "Policies",
          "Risk analysis",
          "Software development",
          "CSPM alert management",
          "Vendors",
          "Vulnerability management"
        ]
      },
      "TestStatus": {
        "enum": [
          "OK",
          "DEACTIVATED",
          "NEEDS_ATTENTION",
          "IN_PROGRESS",
          "INVALID",
          "NOT_APPLICABLE"
        ],
        "type": "string"
      },
      "DeactivatedStatusInfo": {
        "properties": {
          "isDeactivated": {
            "type": "boolean",
            "description": "The deactivated status of the test."
          },
          "deactivatedReason": {
            "type": "string",
            "nullable": true,
            "description": "The reason for deactivation."
          },
          "lastUpdatedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The date of the last update to the deactivated status."
          }
        },
        "required": [
          "isDeactivated",
          "deactivatedReason",
          "lastUpdatedDate"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "TestRemediationStatus": {
        "description": "Enum for the possible test remediation statuses",
        "enum": [
          "DISABLED",
          "DUE_SOON",
          "INVALID",
          "IN_PROGRESS",
          "NA",
          "NEEDS_WORK",
          "OVERDUE",
          "PASS"
        ],
        "type": "string"
      },
      "RemediationStatusInfo": {
        "properties": {
          "status": {
            "$ref": "#/components/schemas/TestRemediationStatus",
            "description": "The status of the remediation."
          },
          "soonestRemediateByDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The soonest date by which the remediation should be completed."
          },
          "itemCount": {
            "type": "number",
            "format": "double",
            "description": "The number of items that need remediation."
          }
        },
        "required": [
          "status",
          "soonestRemediateByDate",
          "itemCount"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "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
      },
      "Test": {
        "properties": {
          "id": {
            "type": "string",
            "description": "The test's unique ID."
          },
          "name": {
            "type": "string",
            "description": "The test's name."
          },
          "lastTestRunDate": {
            "type": "string",
            "format": "date-time",
            "description": "The timestamp of the last test run."
          },
          "latestFlipDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The most recent date when the test flipped."
          },
          "description": {
            "type": "string",
            "description": "The test's description."
          },
          "failureDescription": {
            "type": "string",
            "description": "The test's failure description."
          },
          "remediationDescription": {
            "type": "string",
            "description": "The test's remediation description."
          },
          "version": {
            "properties": {
              "minor": {
                "type": "number",
                "format": "double",
                "description": "The minor version number."
              },
              "major": {
                "type": "number",
                "format": "double",
                "description": "The major version number."
              }
            },
            "required": [
              "minor",
              "major"
            ],
            "type": "object",
            "description": "The test's version."
          },
          "category": {
            "$ref": "#/components/schemas/DocumentAndTestCategory",
            "description": "The test's category."
          },
          "integrations": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "This test's third-party integration dependencies."
          },
          "status": {
            "$ref": "#/components/schemas/TestStatus",
            "description": "This test run's status."
          },
          "deactivatedStatusInfo": {
            "$ref": "#/components/schemas/DeactivatedStatusInfo",
            "description": "The test's deactivation status."
          },
          "remediationStatusInfo": {
            "$ref": "#/components/schemas/RemediationStatusInfo",
            "description": "The test's remediation status."
          },
          "owner": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Owner"
              }
            ],
            "nullable": true,
            "description": "The test's owner."
          }
        },
        "required": [
          "id",
          "name",
          "lastTestRunDate",
          "latestFlipDate",
          "description",
          "failureDescription",
          "remediationDescription",
          "version",
          "category",
          "integrations",
          "status",
          "deactivatedStatusInfo",
          "remediationStatusInfo",
          "owner"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PaginatedResponse_Test_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/Test"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "TestCategory": {
        "description": "Categories for tests.",
        "enum": [
          "ACCOUNTS_ACCESS",
          "ACCOUNT_SECURITY",
          "ACCOUNT_SETUP",
          "COMPUTERS",
          "CUSTOM",
          "DATA_STORAGE",
          "EMPLOYEES",
          "INFRASTRUCTURE",
          "IT",
          "LOGGING",
          "MONITORING_ALERTS",
          "PEOPLE",
          "POLICIES",
          "RISK_ANALYSIS",
          "SECURITY_ALERT_MANAGEMENT",
          "SOFTWARE_DEVELOPMENT",
          "VENDORS",
          "VULNERABILITY_MANAGEMENT"
        ],
        "type": "string"
      },
      "EntityStatus": {
        "enum": [
          "FAILING",
          "DEACTIVATED"
        ],
        "type": "string"
      },
      "TestResourceEntity": {
        "properties": {
          "id": {
            "type": "string",
            "description": "The identifier for the entity."
          },
          "entityStatus": {
            "$ref": "#/components/schemas/EntityStatus",
            "description": "The status of the entity.\nSupports either FAILING or DEACTIVATED entities."
          },
          "displayName": {
            "type": "string",
            "description": "The display name of the entity."
          },
          "responseType": {
            "type": "string",
            "description": "The response type of the entity."
          },
          "deactivatedReason": {
            "type": "string",
            "nullable": true,
            "description": "The reason for deactivation."
          },
          "lastUpdatedDate": {
            "type": "string",
            "format": "date-time",
            "description": "The date of the last update to the test entity.\nFalls back to the test run date if there is no remediation timeline."
          },
          "createdDate": {
            "type": "string",
            "format": "date-time",
            "description": "The date where the test entity was first detected.\nFalls back to the test run date if there is no remediation timeline."
          }
        },
        "required": [
          "id",
          "entityStatus",
          "displayName",
          "responseType",
          "deactivatedReason",
          "lastUpdatedDate",
          "createdDate"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PaginatedResponse_TestResourceEntity_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/TestResourceEntity"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "CIA": {
        "type": "string",
        "enum": [
          "Confidentiality",
          "Integrity",
          "Availability"
        ]
      },
      "Treatment": {
        "type": "string",
        "enum": [
          "Mitigate",
          "Transfer",
          "Avoid",
          "Accept"
        ]
      },
      "CustomAttribute": {
        "properties": {
          "label": {
            "type": "string"
          },
          "value": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              }
            ]
          }
        },
        "required": [
          "label",
          "value"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "ReviewStatus": {
        "type": "string",
        "enum": [
          "APPROVED",
          "DRAFT",
          "NOT_REVIEWED",
          "AWAITING_SUBMISSION",
          "PENDING_APPROVAL",
          "REQUESTED_CHANGES"
        ]
      },
      "RiskScenarioType": {
        "type": "string",
        "enum": [
          "Risk Scenario",
          "Enterprise Risk"
        ]
      },
      "RiskScenario": {
        "properties": {
          "riskId": {
            "type": "string",
            "description": "The unique ID of the risk specified by the user. Used to reference and update existing risks."
          },
          "description": {
            "type": "string",
            "description": "This describes an actual or potential risk to your organization's people, processes, technology, data, and facilities.\nDocument actual issues or likely scenarios based on your specific environment or a potential vulnerability.\n\nNaming note: in the UI, `description` is labelled \"Title\" and\n`detailedDescription` is labelled \"Description\". The field names\nare preserved for backwards compatibility with the public REST API\nand existing data."
          },
          "detailedDescription": {
            "type": "string",
            "nullable": true,
            "description": "Optional long-form description providing extended context for the risk scenario.\nMaximum 10000 characters.\n\nNaming note: in the UI, `description` is labelled \"Title\" and\n`detailedDescription` is labelled \"Description\". The field names\nare preserved for backwards compatibility with the public REST API\nand existing data."
          },
          "isSensitive": {
            "type": "boolean",
            "nullable": true,
            "description": "If set to true this risk can only be seen by its owner or users with Admin, RiskSensitiveManage or RiskSensitiveView permissions.",
            "deprecated": true
          },
          "likelihood": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "Represents the probability of an incident occurring due to this risk or vulnerability, expressed as a numerical score.\nDefaults to a range of 1-5, where higher values indicate greater likelihood. The range can be customized in the Risk Management settings.\nA value of `null` indicates that no score has been assigned."
          },
          "impact": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "Represents the potential severity of harm to your organization’s operations if this risk is exploited, expressed as a numerical score.\nDefaults to a range of 1-5, where higher values indicate greater impact. The range can be customized in the Risk Management settings.\nA value of `null` indicates that no score has been assigned."
          },
          "residualLikelihood": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "Represents the adjusted probability of this risk being exploited or affecting operations after implementing risk treatments, such as controls or mitigations.\nExpressed as a numerical score, defaulting to a range of 1-5. The range can be customized in the Risk Management settings.\nA value of `null` indicates that no score has been assigned."
          },
          "residualImpact": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "Represents the adjusted severity of harm to your organization’s operations if this risk is exploited after implementing risk treatments, such as controls or mitigations.\nExpressed as a numerical score, defaulting to a range of 1-5. The range can be customized in the Risk Management settings.\nA value of `null` indicates that no score has been assigned."
          },
          "categories": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "The list of categories this risk scenario belongs to."
          },
          "ciaCategories": {
            "items": {
              "$ref": "#/components/schemas/CIA"
            },
            "type": "array",
            "description": "A list of the following for the type of risk documented:\n- Confidentiality: Risk to data stores, customer/sensitive information, etc.\n- Integrity: Risk to accuracy or integrity of system settings and/or data\n- Availability: Risk to normal service operations and critical system functionality"
          },
          "treatment": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Treatment"
              }
            ],
            "nullable": true,
            "description": "Indicate how your leadership team wants to address an identified risk. Please note: not all risks need to be addressed immediately (or at all). Your Risk Treatment decision will depend on multiple factors, such as your organization's risk tolerance and the value of the asset that the risk is associated with. The options are:\n- Mitigate: Identify controls to put in place or tasks to be done that will reduce the risk score.\n- Transfer: Move risk outside of your organization's set of responsibilities e.g. get cyber liability insurance.\n- Avoid: Stop doing the activity which is causing the risk to your organization and its assets.\n- Accept: Decide to live with the risk and take no further actions. - Accept: decide to live with the risk; this may be because it is highly unlikely, has a low financial or operational impact, or the cost and effort to treat the risk far exceeds the value of the asset"
          },
          "owner": {
            "type": "string",
            "nullable": true,
            "description": "The email of the person responsible for tracking and mitigating this risk scenario."
          },
          "note": {
            "type": "string",
            "nullable": true,
            "description": "Additional context about the risk scenario and why it has specific impact and likelihood scores."
          },
          "riskRegister": {
            "type": "string",
            "nullable": true,
            "description": "Name of the risk register associated with this scenario."
          },
          "customFields": {
            "items": {
              "$ref": "#/components/schemas/CustomAttribute"
            },
            "type": "array",
            "description": "The list of custom fields.\nYou can reference existing custom fields in the Risk Management settings and/or create new ones.\nThe format is:\n- {label: \"field-name\", value: \"string-representation\"} for text, date, number and currency fields\n- {label: \"field-name\", value: [\"option1\", \"option2\"]} for picklist fields"
          },
          "isArchived": {
            "type": "boolean",
            "description": "Whether this scenario is archived."
          },
          "reviewStatus": {
            "$ref": "#/components/schemas/ReviewStatus",
            "description": "The current review status of this risk scenario"
          },
          "requiredApprovers": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "The list of required approvers for this risk scenario."
          },
          "type": {
            "$ref": "#/components/schemas/RiskScenarioType",
            "description": "The type of risk scenario.\n- \"Risk Scenario\": Standard risk scenario\n- \"Enterprise Risk\": Enterprise-level risk"
          },
          "identificationDate": {
            "type": "string",
            "format": "date-time",
            "description": "The date this risk was identified. Matches the \"Identified Date\" field in the Vanta UI. Set by the customer when a risk is created; defaults to the scenario's creation time when not explicitly provided."
          }
        },
        "required": [
          "riskId",
          "description",
          "isSensitive",
          "likelihood",
          "impact",
          "residualLikelihood",
          "residualImpact",
          "categories",
          "ciaCategories",
          "treatment",
          "owner",
          "note",
          "riskRegister",
          "customFields",
          "isArchived",
          "reviewStatus",
          "requiredApprovers",
          "type",
          "identificationDate"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PaginatedResponse_RiskScenario_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/RiskScenario"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "UNCATEGORIZED": {
        "type": "string",
        "enum": [
          "Uncategorized"
        ],
        "nullable": false
      },
      "NO_TREATMENT_TYPE": {
        "type": "string",
        "enum": [
          "No treatment type"
        ],
        "nullable": false
      },
      "ScoreGroup": {
        "type": "string",
        "enum": [
          "Very low",
          "Low",
          "Med",
          "High",
          "Critical"
        ]
      },
      "CreateRiskScenarioInput": {
        "properties": {
          "description": {
            "type": "string",
            "description": "This describes an actual or potential risk to your organization's people, processes, technology, data, and facilities.\nDocument actual issues or likely scenarios based on your specific environment or a potential vulnerability."
          },
          "detailedDescription": {
            "type": "string",
            "description": "Optional long-form description providing extended context for the risk scenario.\nMaximum 10000 characters."
          },
          "riskId": {
            "type": "string",
            "description": "The unique ID of the risk. Used to reference and update existing risks.\nWe will auto-generate one if one isn't specified."
          },
          "isSensitive": {
            "type": "boolean",
            "description": "If set to true this risk can only be seen by its owner or users with Admin, RiskSensitiveManage or RiskSensitiveView permissions.",
            "deprecated": true
          },
          "likelihood": {
            "type": "integer",
            "format": "int32",
            "description": "Represents the probability of an incident occurring due to this risk or vulnerability, expressed as a numerical score.\nDefaults to a range of 1-5, where higher values indicate greater likelihood. The range can be customized in the Risk Management settings."
          },
          "impact": {
            "type": "integer",
            "format": "int32",
            "description": "Represents the potential severity of harm to your organization’s operations if this risk is exploited, expressed as a numerical score.\nDefaults to a range of 1-5, where higher values indicate greater impact. The range can be customized in the Risk Management settings."
          },
          "residualLikelihood": {
            "type": "integer",
            "format": "int32",
            "description": "Represents the adjusted probability of this risk being exploited or affecting operations after implementing risk treatments, such as controls or mitigations.\nExpressed as a numerical score, defaulting to a range of 1-5. The range can be customized in the Risk Management settings."
          },
          "residualImpact": {
            "type": "integer",
            "format": "int32",
            "description": "Represents the adjusted severity of harm to your organization’s operations if this risk is exploited after implementing risk treatments, such as controls or mitigations.\nExpressed as a numerical score, defaulting to a range of 1-5. The range can be customized in the Risk Management settings."
          },
          "categories": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "The list of categories this risk scenario belongs to.\nEach element in the list will become a new custom category if it doesn't match an existing one.\nYou can reference the current category options in the Risk Management settings and/or enter new values."
          },
          "ciaCategories": {
            "items": {
              "$ref": "#/components/schemas/CIA"
            },
            "type": "array",
            "description": "Enter a list of the following for the type of risk documented:\n- Confidentiality: Risk to data stores, customer/sensitive information, etc.\n- Integrity: Risk to accuracy or integrity of system settings and/or data\n- Availability: Risk to normal service operations and critical system functionality"
          },
          "treatment": {
            "$ref": "#/components/schemas/Treatment",
            "description": "Indicate how your leadership team wants to address an identified risk. Please note: not all risks need to be addressed immediately (or at all). Your Risk Treatment decision will depend on multiple factors, such as your organization's risk tolerance and the value of the asset that the risk is associated with. The options are:\n- Mitigate: Identify controls to put in place or tasks to be done that will reduce the risk score.\n- Transfer: Move risk outside of your organization's set of responsibilities e.g. get cyber liability insurance.\n- Avoid: Stop doing the activity which is causing the risk to your organization and its assets.\n- Accept: Decide to live with the risk and take no further actions. - Accept: decide to live with the risk; this may be because it is highly unlikely, has a low financial or operational impact, or the cost and effort to treat the risk far exceeds the value of the asset"
          },
          "owner": {
            "type": "string",
            "description": "The person responsible for tracking and mitigating this risk scenario. This should be the email address of a valid Vanta user."
          },
          "note": {
            "type": "string",
            "description": "Additional context about the risk scenario and why it has specific impact and likelihood scores."
          },
          "riskRegister": {
            "type": "string",
            "description": "Name of the risk register to associate with this scenario.\n\nThis field must be set if the organization has multiple registers."
          },
          "customFields": {
            "items": {
              "$ref": "#/components/schemas/CustomAttribute"
            },
            "type": "array",
            "description": "The list of custom attributes.\nYou can reference existing custom attributes in the Risk Management settings and/or create new ones.\nThe format is:\n- {label: \"field-name\", value: \"string-representation\"} for text, date, number and currency fields\n- {label: \"field-name\", value: [\"option1\", \"option2\"]} for picklist fields"
          },
          "type": {
            "$ref": "#/components/schemas/RiskScenarioType",
            "description": "The type of risk scenario to create.\n- \"Risk Scenario\": Standard risk scenario (default)\n- \"Enterprise Risk\": Enterprise-level risk (requires Enterprise Risk Management SKU)\n\nEnterprise risks cannot be associated with a risk register.\nDefaults to \"Risk Scenario\" if not specified."
          },
          "identificationDate": {
            "type": "string",
            "format": "date-time",
            "description": "The date this risk was identified. Matches the \"Identified Date\" field in the Vanta UI. Defaults to the scenario's creation time if omitted."
          }
        },
        "required": [
          "description"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "UpdateRiskScenarioInput": {
        "properties": {
          "description": {
            "type": "string",
            "description": "This describes an actual or potential risk to your organization's people, processes, technology, data, and facilities.\nDocument actual issues or likely scenarios based on your specific environment or a potential vulnerability."
          },
          "detailedDescription": {
            "type": "string",
            "description": "Optional long-form description providing extended context for the risk scenario.\nMaximum 10000 characters."
          },
          "isSensitive": {
            "type": "boolean",
            "description": "If set to true this risk can only be seen by its owner or users with Admin, RiskSensitiveManage or RiskSensitiveView permissions.",
            "deprecated": true
          },
          "likelihood": {
            "type": "integer",
            "format": "int32",
            "description": "Represents the probability of an incident occurring due to this risk or vulnerability, expressed as a numerical score.\nDefaults to a range of 1-5, where higher values indicate greater likelihood. The range can be customized in the Risk Management settings."
          },
          "impact": {
            "type": "integer",
            "format": "int32",
            "description": "Represents the potential severity of harm to your organization’s operations if this risk is exploited, expressed as a numerical score.\nDefaults to a range of 1-5, where higher values indicate greater impact. The range can be customized in the Risk Management settings."
          },
          "residualLikelihood": {
            "type": "integer",
            "format": "int32",
            "description": "Represents the adjusted probability of this risk being exploited or affecting operations after implementing risk treatments, such as controls or mitigations.\nExpressed as a numerical score, defaulting to a range of 1-5. The range can be customized in the Risk Management settings."
          },
          "residualImpact": {
            "type": "integer",
            "format": "int32",
            "description": "Represents the adjusted severity of harm to your organization’s operations if this risk is exploited after implementing risk treatments, such as controls or mitigations.\nExpressed as a numerical score, defaulting to a range of 1-5. The range can be customized in the Risk Management settings."
          },
          "categories": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "The list of categories this risk scenario belongs to.\nEach element in the list will become a new custom category if it doesn't match an existing one.\nYou can reference the current category options in the Risk Management settings and/or enter new values."
          },
          "ciaCategories": {
            "items": {
              "$ref": "#/components/schemas/CIA"
            },
            "type": "array",
            "description": "Enter a list of the following for the type of risk documented:\n- Confidentiality: Risk to data stores, customer/sensitive information, etc.\n- Integrity: Risk to accuracy or integrity of system settings and/or data\n- Availability: Risk to normal service operations and critical system functionality"
          },
          "treatment": {
            "$ref": "#/components/schemas/Treatment",
            "description": "Indicate how your leadership team wants to address an identified risk. Please note: not all risks need to be addressed immediately (or at all). Your Risk Treatment decision will depend on multiple factors, such as your organization's risk tolerance and the value of the asset that the risk is associated with. The options are:\n- Mitigate: Identify controls to put in place or tasks to be done that will reduce the risk score.\n- Transfer: Move risk outside of your organization's set of responsibilities e.g. get cyber liability insurance.\n- Avoid: Stop doing the activity which is causing the risk to your organization and its assets.\n- Accept: Decide to live with the risk and take no further actions. - Accept: decide to live with the risk; this may be because it is highly unlikely, has a low financial or operational impact, or the cost and effort to treat the risk far exceeds the value of the asset"
          },
          "owner": {
            "type": "string",
            "nullable": true,
            "description": "The person responsible for tracking and mitigating this risk scenario. This should be the email address of a valid Vanta user."
          },
          "note": {
            "type": "string",
            "description": "Additional context about the risk scenario and why it has specific impact and likelihood scores."
          },
          "riskRegister": {
            "type": "string",
            "description": "Name of the risk register to associate with this scenario."
          },
          "customFields": {
            "items": {
              "$ref": "#/components/schemas/CustomAttribute"
            },
            "type": "array",
            "description": "The list of custom fields.\nYou can reference custom fields in the Risk Management settings and/or create new one.\nThe format is:\n- {label: \"field-name\", value: \"string-representation\"} for text, date, number and currency fields\n- {label: \"field-name\", value: [\"option1\", \"option2\"]} for picklist fields"
          },
          "type": {
            "$ref": "#/components/schemas/RiskScenarioType",
            "description": "Changing the risk scenario type (`\"Risk Scenario\"` vs. `\"Enterprise Risk\"`)\nis not supported via update. Requests that include this field will be\nrejected. To change a risk's type, create a new scenario with the desired\ntype and archive the old one."
          },
          "identificationDate": {
            "type": "string",
            "format": "date-time",
            "description": "The date this risk was identified. Matches the \"Identified Date\" field in the Vanta UI. Omitting the field leaves the existing value unchanged."
          }
        },
        "type": "object",
        "additionalProperties": false
      },
      "SubmitRiskForApprovalInput": {
        "properties": {
          "comment": {
            "type": "string",
            "description": "Optional comment to include with the approval request."
          }
        },
        "type": "object",
        "additionalProperties": false
      },
      "RiskScenarioControlType": {
        "type": "string",
        "enum": [
          "EXISTING",
          "TREATMENT_PLAN"
        ]
      },
      "RiskScenarioControl": {
        "description": "A control's association with a risk scenario.\n\nThe relationship identity is `(riskScenarioId, controlId)`; `controlType`\nis mutable state on that relationship. A given control can have at most one\nassociation per risk scenario.",
        "properties": {
          "controlId": {
            "type": "string",
            "description": "The control's shorthand identifier (e.g. `\"A.12.2.1\"`) when it has one,\nfalling back to the canonical Vanta control id (Mongo object id) otherwise."
          },
          "controlType": {
            "$ref": "#/components/schemas/RiskScenarioControlType",
            "description": "`TREATMENT_PLAN` for controls that are part of the risk's treatment plan\n(planned mitigations); `EXISTING` for controls linked to the risk without a\ntreatment-plan designation."
          }
        },
        "required": [
          "controlId",
          "controlType"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PaginatedResponse_RiskScenarioControl_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/RiskScenarioControl"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "CreateRiskScenarioControlInput": {
        "properties": {
          "controlId": {
            "type": "string",
            "description": "Control to associate with the risk scenario. Accepts Vanta control\nshorthands (e.g. `\"A.12.2.1\"`), custom-control shorthand names, or\nobject IDs."
          },
          "controlType": {
            "$ref": "#/components/schemas/RiskScenarioControlType",
            "description": "`TREATMENT_PLAN` for a control that is part of the risk's treatment plan.\nOmit (or pass `\"EXISTING\"`) to associate the control without a\ntreatment-plan designation — the default \"existing control\" relationship."
          }
        },
        "required": [
          "controlId"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "UpdateRiskScenarioControlInput": {
        "properties": {
          "controlType": {
            "$ref": "#/components/schemas/RiskScenarioControlType",
            "description": "The new relationship state. `TREATMENT_PLAN` moves the control into the\nrisk's treatment plan; `EXISTING` removes it from the treatment plan while\nkeeping it linked as an existing control (use DELETE to unlink entirely)."
          }
        },
        "required": [
          "controlType"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PolicyStatus": {
        "enum": [
          "OK",
          "NEEDS_REMEDIATION"
        ],
        "type": "string"
      },
      "PolicyVersionStatus": {
        "enum": [
          "NOT_STARTED",
          "DRAFT",
          "PENDING_APPROVAL",
          "APPROVED",
          "RENEW_SOON",
          "EXPIRED"
        ],
        "type": "string"
      },
      "PolicyLatestVersion": {
        "properties": {
          "status": {
            "$ref": "#/components/schemas/PolicyVersionStatus",
            "description": "The status of the policy's latest version."
          }
        },
        "required": [
          "status"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PolicyLocale": {
        "enum": [
          "CS",
          "CY",
          "DA",
          "DE",
          "EN",
          "ES",
          "FI",
          "FR",
          "HU",
          "IS",
          "IT",
          "JA",
          "KO",
          "NL",
          "NO",
          "NOT_SPECIFIED",
          "PL",
          "PT",
          "ET",
          "RO",
          "AR",
          "SK",
          "SV",
          "TR",
          "ZH"
        ],
        "type": "string"
      },
      "PolicyDocument": {
        "properties": {
          "language": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PolicyLocale"
              }
            ],
            "nullable": true,
            "description": "The language of the policy document."
          },
          "slugId": {
            "type": "string",
            "description": "The slug ID of the policy document."
          },
          "url": {
            "type": "string",
            "description": "The URL of the policy document."
          }
        },
        "required": [
          "language",
          "slugId",
          "url"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PolicyLatestApprovedVersion": {
        "properties": {
          "versionId": {
            "type": "string",
            "description": "The ID of the latest approved version of the policy."
          },
          "documents": {
            "items": {
              "$ref": "#/components/schemas/PolicyDocument"
            },
            "type": "array",
            "description": "Available document versions for this policy, organized by language."
          }
        },
        "required": [
          "versionId",
          "documents"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "Policy": {
        "properties": {
          "id": {
            "type": "string",
            "description": "The policy's unique ID."
          },
          "name": {
            "type": "string",
            "description": "The policy's name."
          },
          "description": {
            "type": "string",
            "description": "The policy's description."
          },
          "status": {
            "$ref": "#/components/schemas/PolicyStatus",
            "description": "The policy's current status."
          },
          "approvedAtDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The policy's most recent date of approval, if applicable."
          },
          "latestVersion": {
            "$ref": "#/components/schemas/PolicyLatestVersion",
            "description": "The latest version of the policy."
          },
          "latestApprovedVersion": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PolicyLatestApprovedVersion"
              }
            ],
            "nullable": true,
            "description": "The latest approved version of the policy, if available."
          }
        },
        "required": [
          "id",
          "name",
          "description",
          "status",
          "approvedAtDate",
          "latestVersion",
          "latestApprovedVersion"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PaginatedResponse_Policy_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/Policy"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "EmploymentStatus": {
        "description": "The employment status of a person:\n- UPCOMING: The person is not yet employed and will start employment in the future.\n- CURRENT: The person is currently employed.\n- ON_LEAVE: The person is on leave.\n- INACTIVE: The person's employment is inactive.\n- FORMER: The person was previously employed.",
        "enum": [
          "UPCOMING",
          "CURRENT",
          "ON_LEAVE",
          "INACTIVE",
          "FORMER"
        ],
        "type": "string"
      },
      "LeaveStatus": {
        "description": "User can be active or upcoming leave period",
        "enum": [
          "ACTIVE",
          "UPCOMING"
        ],
        "type": "string"
      },
      "LeaveInfo": {
        "properties": {
          "startDate": {
            "type": "string",
            "format": "date-time",
            "description": "The start of the person's leave."
          },
          "endDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The end of the person's leave. Null endDate implies indefinite leave."
          },
          "status": {
            "$ref": "#/components/schemas/LeaveStatus",
            "description": "ACTIVE if the leave is currently ongoing. UPCOMING if the startDate is in the future."
          }
        },
        "required": [
          "startDate",
          "endDate",
          "status"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PersonInfoSourceType.VANTA": {
        "enum": [
          "VANTA"
        ],
        "type": "string"
      },
      "VantaBasedPersonInfoSource": {
        "description": "The person's information comes from what is set in Vanta.",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/PersonInfoSourceType.VANTA"
          }
        },
        "required": [
          "type"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PersonInfoSourceType.SCIM": {
        "enum": [
          "SCIM"
        ],
        "type": "string"
      },
      "ScimBasedPersonInfoSource": {
        "description": "The person's information comes from SCIM.",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/PersonInfoSourceType.SCIM"
          }
        },
        "required": [
          "type"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PersonInfoSourceType.INTEGRATION": {
        "enum": [
          "INTEGRATION"
        ],
        "type": "string"
      },
      "IntegrationBasedPersonInfoSource": {
        "description": "The person's information comes from an integration.",
        "properties": {
          "integrationId": {
            "type": "string"
          },
          "resourceId": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "$ref": "#/components/schemas/PersonInfoSourceType.INTEGRATION"
          }
        },
        "required": [
          "integrationId",
          "resourceId",
          "type"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PersonInfoSource": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/VantaBasedPersonInfoSource"
          },
          {
            "$ref": "#/components/schemas/ScimBasedPersonInfoSource"
          },
          {
            "$ref": "#/components/schemas/IntegrationBasedPersonInfoSource"
          }
        ],
        "description": "The source of the person's information."
      },
      "TasksSummaryStatus": {
        "description": "The overall status of a person's outstanding tasks:\n- NONE: There are no tasks.\n- DUE_SOON: At least one task is due soon.\n- OVERDUE: At least one task is overdue. Has a higher priority than DUE_SOON.\n- COMPLETE: All tasks are complete.\n- PAUSED: All tasks are paused.\n- OFFBOARDING_DUE_SOON: At least one offboarding task is due soon.\n- OFFBOARDING_OVERDUE: At least one offboarding task is overdue. Has a higher priority than OFFBOARDING_DUE_SOON.\n- OFFBOARDING_COMPLETE: All offboarding tasks are complete.",
        "enum": [
          "COMPLETE",
          "DUE_SOON",
          "NONE",
          "OFFBOARDING_COMPLETE",
          "OFFBOARDING_DUE_SOON",
          "OFFBOARDING_OVERDUE",
          "OVERDUE",
          "PAUSED"
        ],
        "type": "string"
      },
      "TaskType.COMPLETE_TRAININGS": {
        "enum": [
          "COMPLETE_TRAININGS"
        ],
        "type": "string"
      },
      "Training": {
        "description": "A person's security training.",
        "properties": {
          "name": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "TaskType": {
        "description": "The type a task summary falls into.\nCOMPLETE_TRAININGS: The task summary containing security trainings.\nACCEPT_POLICIES: The task summary containing policy acceptance.\nCOMPLETE_CUSTOM_TASKS: The task summary containing custom tasks.\nINSTALL_DEVICE_MONITORING: The task summary containing device monitoring installation.\nCOMPLETE_BACKGROUND_CHECKS: The task summary containing background checks.",
        "enum": [
          "COMPLETE_TRAININGS",
          "ACCEPT_POLICIES",
          "COMPLETE_CUSTOM_TASKS",
          "COMPLETE_CUSTOM_OFFBOARDING_TASKS",
          "INSTALL_DEVICE_MONITORING",
          "COMPLETE_BACKGROUND_CHECKS"
        ],
        "type": "string"
      },
      "TaskStatus": {
        "description": "The status of a task.\n- COMPLETE: The task has been completed.\n- DUE_SOON: The task is due soon.\n- OVERDUE: The task is overdue.\n- NONE: The task is not assigned.",
        "enum": [
          "COMPLETE",
          "DUE_SOON",
          "OVERDUE",
          "NONE"
        ],
        "type": "string"
      },
      "CompleteTrainingsTaskSummary": {
        "description": "Task summary for completing all trainings.",
        "properties": {
          "taskType": {
            "$ref": "#/components/schemas/TaskType.COMPLETE_TRAININGS"
          },
          "status": {
            "$ref": "#/components/schemas/TaskStatus"
          },
          "dueDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The due date of the task."
          },
          "completionDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The date the task was completed."
          },
          "disabled": {
            "properties": {
              "date": {
                "type": "string",
                "format": "date-time"
              },
              "reason": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "date",
              "reason"
            ],
            "type": "object",
            "nullable": true,
            "description": "If the task is disabled, the reason and date when it was disabled."
          },
          "incompleteTrainings": {
            "items": {
              "$ref": "#/components/schemas/Training"
            },
            "type": "array",
            "description": "Incomplete security trainings that are relevant given a person's requirements."
          },
          "completedTrainings": {
            "items": {
              "$ref": "#/components/schemas/Training"
            },
            "type": "array",
            "description": "Security trainings that have been completed and are relevant given a person's current requirements."
          }
        },
        "required": [
          "taskType",
          "status",
          "dueDate",
          "completionDate",
          "disabled",
          "incompleteTrainings",
          "completedTrainings"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "TaskType.ACCEPT_POLICIES": {
        "enum": [
          "ACCEPT_POLICIES"
        ],
        "type": "string"
      },
      "AcceptPoliciesTaskSummary": {
        "description": "Policy acceptance details for a person.",
        "properties": {
          "taskType": {
            "$ref": "#/components/schemas/TaskType.ACCEPT_POLICIES"
          },
          "status": {
            "$ref": "#/components/schemas/TaskStatus"
          },
          "dueDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The due date of the task."
          },
          "completionDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The date the task was completed."
          },
          "disabled": {
            "properties": {
              "date": {
                "type": "string",
                "format": "date-time"
              },
              "reason": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "date",
              "reason"
            ],
            "type": "object",
            "nullable": true,
            "description": "If the task is disabled, the reason and date when it was disabled."
          },
          "unacceptedPolicies": {
            "items": {
              "properties": {
                "name": {
                  "type": "string"
                }
              },
              "required": [
                "name"
              ],
              "type": "object"
            },
            "type": "array",
            "description": "Unaccepted policies that are relevant to the person."
          },
          "acceptedPolicies": {
            "items": {
              "properties": {
                "name": {
                  "type": "string"
                }
              },
              "required": [
                "name"
              ],
              "type": "object"
            },
            "type": "array",
            "description": "Accepted policies that are relevant to the person."
          }
        },
        "required": [
          "taskType",
          "status",
          "dueDate",
          "completionDate",
          "disabled",
          "unacceptedPolicies",
          "acceptedPolicies"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "TaskType.COMPLETE_CUSTOM_TASKS": {
        "enum": [
          "COMPLETE_CUSTOM_TASKS"
        ],
        "type": "string"
      },
      "CustomTask": {
        "description": "A custom task.",
        "properties": {
          "name": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "CompleteCustomTasksTaskSummary": {
        "description": "Task summary for completing all custom tasks.",
        "properties": {
          "taskType": {
            "$ref": "#/components/schemas/TaskType.COMPLETE_CUSTOM_TASKS"
          },
          "status": {
            "$ref": "#/components/schemas/TaskStatus"
          },
          "dueDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The due date of the task."
          },
          "completionDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The date the task was completed."
          },
          "disabled": {
            "properties": {
              "date": {
                "type": "string",
                "format": "date-time"
              },
              "reason": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "date",
              "reason"
            ],
            "type": "object",
            "nullable": true,
            "description": "If the task is disabled, the reason and date when it was disabled."
          },
          "incompleteCustomTasks": {
            "items": {
              "$ref": "#/components/schemas/CustomTask"
            },
            "type": "array",
            "description": "Incomplete custom tasks that are relevant given a person's requirements."
          },
          "completedCustomTasks": {
            "items": {
              "$ref": "#/components/schemas/CustomTask"
            },
            "type": "array",
            "description": "Custom tasks that have been completed and are relevant given a person's current requirements."
          }
        },
        "required": [
          "taskType",
          "status",
          "dueDate",
          "completionDate",
          "disabled",
          "incompleteCustomTasks",
          "completedCustomTasks"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "TaskType.COMPLETE_CUSTOM_OFFBOARDING_TASKS": {
        "enum": [
          "COMPLETE_CUSTOM_OFFBOARDING_TASKS"
        ],
        "type": "string"
      },
      "CompleteOffboardingCustomTasksTaskSummary": {
        "description": "Task summary for completing all offboarding custom tasks.",
        "properties": {
          "taskType": {
            "$ref": "#/components/schemas/TaskType.COMPLETE_CUSTOM_OFFBOARDING_TASKS"
          },
          "status": {
            "$ref": "#/components/schemas/TaskStatus"
          },
          "dueDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The due date of the task."
          },
          "completionDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The date the task was completed."
          },
          "disabled": {
            "properties": {
              "date": {
                "type": "string",
                "format": "date-time"
              },
              "reason": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "date",
              "reason"
            ],
            "type": "object",
            "nullable": true,
            "description": "If the task is disabled, the reason and date when it was disabled."
          },
          "incompleteCustomOffboardingTasks": {
            "items": {
              "$ref": "#/components/schemas/CustomTask"
            },
            "type": "array",
            "description": "Incomplete custom tasks that are relevant given a person's requirements."
          },
          "completedCustomOffboardingTasks": {
            "items": {
              "$ref": "#/components/schemas/CustomTask"
            },
            "type": "array",
            "description": "Custom tasks that have been completed and are relevant given a person's current requirements."
          }
        },
        "required": [
          "taskType",
          "status",
          "dueDate",
          "completionDate",
          "disabled",
          "incompleteCustomOffboardingTasks",
          "completedCustomOffboardingTasks"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "TaskType.INSTALL_DEVICE_MONITORING": {
        "enum": [
          "INSTALL_DEVICE_MONITORING"
        ],
        "type": "string"
      },
      "InstallDeviceMonitoringTaskSummary": {
        "description": "Task summary for installing device monitoring.",
        "properties": {
          "taskType": {
            "$ref": "#/components/schemas/TaskType.INSTALL_DEVICE_MONITORING"
          },
          "status": {
            "$ref": "#/components/schemas/TaskStatus"
          },
          "dueDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The due date of the task."
          },
          "completionDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The date the task was completed."
          },
          "disabled": {
            "properties": {
              "date": {
                "type": "string",
                "format": "date-time"
              },
              "reason": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "date",
              "reason"
            ],
            "type": "object",
            "nullable": true,
            "description": "If the task is disabled, the reason and date when it was disabled."
          }
        },
        "required": [
          "taskType",
          "status",
          "dueDate",
          "completionDate",
          "disabled"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "TaskType.COMPLETE_BACKGROUND_CHECKS": {
        "enum": [
          "COMPLETE_BACKGROUND_CHECKS"
        ],
        "type": "string"
      },
      "CompleteBackgroundChecksTaskSummary": {
        "description": "Task summary for completing background checks.",
        "properties": {
          "taskType": {
            "$ref": "#/components/schemas/TaskType.COMPLETE_BACKGROUND_CHECKS"
          },
          "status": {
            "$ref": "#/components/schemas/TaskStatus"
          },
          "dueDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The due date of the task."
          },
          "completionDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The date the task was completed."
          },
          "disabled": {
            "properties": {
              "date": {
                "type": "string",
                "format": "date-time"
              },
              "reason": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "date",
              "reason"
            ],
            "type": "object",
            "nullable": true,
            "description": "If the task is disabled, the reason and date when it was disabled."
          }
        },
        "required": [
          "taskType",
          "status",
          "dueDate",
          "completionDate",
          "disabled"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "TaskSummaryDetails": {
        "description": "All detailed information about a person's tasks, split across task categories.",
        "properties": {
          "completeTrainings": {
            "$ref": "#/components/schemas/CompleteTrainingsTaskSummary"
          },
          "acceptPolicies": {
            "$ref": "#/components/schemas/AcceptPoliciesTaskSummary"
          },
          "completeCustomTasks": {
            "$ref": "#/components/schemas/CompleteCustomTasksTaskSummary"
          },
          "completeOffboardingCustomTasks": {
            "$ref": "#/components/schemas/CompleteOffboardingCustomTasksTaskSummary"
          },
          "installDeviceMonitoring": {
            "$ref": "#/components/schemas/InstallDeviceMonitoringTaskSummary"
          },
          "completeBackgroundChecks": {
            "$ref": "#/components/schemas/CompleteBackgroundChecksTaskSummary"
          }
        },
        "required": [
          "completeTrainings",
          "acceptPolicies",
          "completeCustomTasks",
          "completeOffboardingCustomTasks",
          "installDeviceMonitoring",
          "completeBackgroundChecks"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "Person": {
        "properties": {
          "id": {
            "type": "string"
          },
          "userId": {
            "type": "string",
            "nullable": true,
            "description": "The ID of the Vanta user account associated with this person, if one exists."
          },
          "emailAddress": {
            "type": "string"
          },
          "employment": {
            "properties": {
              "status": {
                "$ref": "#/components/schemas/EmploymentStatus",
                "description": "The person's employment status."
              },
              "startDate": {
                "type": "string",
                "format": "date-time",
                "description": "The date the person's employment started."
              },
              "jobTitle": {
                "type": "string",
                "nullable": true,
                "description": "The person's job title."
              },
              "endDate": {
                "type": "string",
                "format": "date-time",
                "nullable": true,
                "description": "If present, the date the person's employment ended."
              }
            },
            "required": [
              "status",
              "startDate",
              "jobTitle",
              "endDate"
            ],
            "type": "object"
          },
          "leaveInfo": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LeaveInfo"
              }
            ],
            "nullable": true,
            "description": "If present, the user's active/upcoming leave. Empty if the user has no active/upcoming leave."
          },
          "groupIds": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "The id of each group the user belongs to. This includes both manually created groups in Vanta and groups imported from an identity provider."
          },
          "name": {
            "properties": {
              "first": {
                "type": "string",
                "nullable": true,
                "description": "The person's first (given) name."
              },
              "last": {
                "type": "string",
                "nullable": true,
                "description": "The person's last (family) name."
              },
              "display": {
                "type": "string",
                "description": "The person's display name, used in Vanta."
              }
            },
            "required": [
              "first",
              "last",
              "display"
            ],
            "type": "object"
          },
          "sources": {
            "properties": {
              "employment": {
                "properties": {
                  "endDate": {
                    "$ref": "#/components/schemas/PersonInfoSource",
                    "description": "The source of the person's employment end date."
                  },
                  "startDate": {
                    "$ref": "#/components/schemas/PersonInfoSource",
                    "description": "The source of the person's employment start date."
                  }
                },
                "required": [
                  "endDate",
                  "startDate"
                ],
                "type": "object"
              },
              "emailAddress": {
                "$ref": "#/components/schemas/PersonInfoSource",
                "description": "The source of the person's email address."
              }
            },
            "required": [
              "employment",
              "emailAddress"
            ],
            "type": "object",
            "description": "The sources of the person's information."
          },
          "tasksSummary": {
            "properties": {
              "details": {
                "$ref": "#/components/schemas/TaskSummaryDetails"
              },
              "status": {
                "$ref": "#/components/schemas/TasksSummaryStatus",
                "description": "The status of the person's tasks summary."
              },
              "dueDate": {
                "type": "string",
                "format": "date-time",
                "nullable": true,
                "description": "The due date of the person's earliest-due task."
              },
              "completionDate": {
                "type": "string",
                "format": "date-time",
                "nullable": true,
                "description": "The date when person's tasks were completed."
              }
            },
            "required": [
              "details",
              "status",
              "dueDate",
              "completionDate"
            ],
            "type": "object",
            "description": "The person's tasks summary, which aggregates their current status across\nall of their relevant tasks."
          }
        },
        "required": [
          "id",
          "userId",
          "emailAddress",
          "employment",
          "leaveInfo",
          "groupIds",
          "name",
          "sources",
          "tasksSummary"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PaginatedResponse_Person_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/Person"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "ComputerStatusOutcome": {
        "description": "The possible outcomes of a status check. The outcome can be one of the following:\nFAIL:  The check is failing.\nIN_PROGRESS: The check needs further data from the given computer in order to evaluate. The field(s) needed from a computer to calculate the ComputerStatusOutcome were null.\nNA: The check is not applicable for the given computer.\nPASS: The check is passing.",
        "enum": [
          "FAIL",
          "IN_PROGRESS",
          "NA",
          "PASS"
        ],
        "type": "string"
      },
      "ComputerStatus": {
        "description": "The a status check for a computer. Representation for screenlock, diskEncryption, passwordManager, and antivirusInstallation.",
        "properties": {
          "outcome": {
            "$ref": "#/components/schemas/ComputerStatusOutcome",
            "description": "The outcome of the status check."
          }
        },
        "required": [
          "outcome"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "OperatingSystemType": {
        "description": "The possible types of the operating system. One of `mac_OS`, `linux`, or `windows`.",
        "enum": [
          "macOS",
          "linux",
          "windows"
        ],
        "type": "string"
      },
      "OperatingSystem": {
        "description": "The computer's operating system type and version.",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/OperatingSystemType",
            "description": "The type of the operating system."
          },
          "version": {
            "type": "string",
            "nullable": true,
            "description": "The version of the operating system."
          }
        },
        "required": [
          "type",
          "version"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "MonitoredComputer": {
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the monitored computer."
          },
          "integrationId": {
            "type": "string",
            "description": "Hard-coded enums for Vanta-built integrations or application IDs for 3rd-party-built integrations."
          },
          "lastCheckDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Date of the computer's most recent report."
          },
          "screenlock": {
            "$ref": "#/components/schemas/ComputerStatus",
            "description": "Whether or not the computer has screenlock enabled."
          },
          "diskEncryption": {
            "$ref": "#/components/schemas/ComputerStatus",
            "description": "Whether or not the computer's hard drive is encrypted."
          },
          "passwordManager": {
            "$ref": "#/components/schemas/ComputerStatus",
            "description": "Whether or not the computer has a password manager installed."
          },
          "antivirusInstallation": {
            "$ref": "#/components/schemas/ComputerStatus",
            "description": "Whether or not the computer has antivirus software installed."
          },
          "operatingSystem": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OperatingSystem"
              }
            ],
            "nullable": true,
            "description": "The computer's operating system name and version."
          },
          "owner": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Owner"
              }
            ],
            "nullable": true,
            "description": "The name, unique identifier, and email address of the computer's owner."
          },
          "serialNumber": {
            "type": "string",
            "nullable": true,
            "description": "The serial number of the computer. This value may be null if it is not reported by the device."
          },
          "udid": {
            "type": "string",
            "nullable": true,
            "description": "The universal device id of the computer."
          }
        },
        "required": [
          "id",
          "integrationId",
          "lastCheckDate",
          "screenlock",
          "diskEncryption",
          "passwordManager",
          "antivirusInstallation",
          "operatingSystem",
          "owner",
          "serialNumber",
          "udid"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PaginatedResponse_MonitoredComputer_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/MonitoredComputer"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "ComputerStatusFilter": {
        "description": "Enum representing computer compliance statuses that can be utilized as a filter. The meanings are as follows:\nAV_NOT_INSTALLED: The computer does not have antivirus software installed.\nHD_NOT_ENCRYPTED: The computer's harddrive is not encrypted.\nLAST_CHECK_OVER_14_DAYS: No data has been received from computer for over 14 days.\nPWM_NOT_INSTALLED: The computer does not have a password manager installed.\nSCREENLOCK_NOT_CONFIGURED: The computer does not have screenlock configured appropriately.",
        "enum": [
          "PWM_NOT_INSTALLED",
          "HD_NOT_ENCRYPTED",
          "AV_NOT_INSTALLED",
          "SCREENLOCK_NOT_CONFIGURED",
          "LAST_CHECK_OVER_14_DAYS"
        ],
        "type": "string"
      },
      "KnowledgeBaseResourceActorAssignment": {
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "User",
              "Team"
            ]
          },
          "id": {
            "type": "string"
          },
          "displayName": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "type",
          "id",
          "displayName"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "KnowledgeBaseExpirationStatus": {
        "type": "string",
        "enum": [
          "CURRENT",
          "EXPIRED"
        ],
        "description": "Customer-facing expiration status used by knowledge-base API responses\n(answer library entries and resources). Derived from the persisted\n`expiresAt` field at read time."
      },
      "TagInput": {
        "properties": {
          "categoryId": {
            "type": "string"
          },
          "tagId": {
            "type": "string"
          }
        },
        "required": [
          "categoryId",
          "tagId"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "KnowledgeBaseWebpageResourceOutput": {
        "properties": {
          "id": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "URL"
            ],
            "nullable": false
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string"
          },
          "customerVisibility": {
            "type": "string",
            "enum": [
              "PRIVATE",
              "SHAREABLE",
              "REQUEST_ACCESS",
              "PUBLIC",
              null
            ],
            "nullable": true
          },
          "includeSubPages": {
            "type": "boolean",
            "nullable": true
          },
          "isUsedInQuestionnaires": {
            "type": "boolean",
            "nullable": true
          },
          "ownerAssignment": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KnowledgeBaseResourceActorAssignment"
              }
            ],
            "nullable": true
          },
          "expirationStatus": {
            "$ref": "#/components/schemas/KnowledgeBaseExpirationStatus"
          },
          "expirationDate": {
            "type": "string",
            "nullable": true
          },
          "lastUpdated": {
            "type": "string"
          },
          "lastVerified": {
            "type": "string",
            "nullable": true
          },
          "tags": {
            "items": {
              "$ref": "#/components/schemas/TagInput"
            },
            "type": "array"
          },
          "categoryId": {
            "type": "string",
            "nullable": true,
            "description": "Trust Center category id the resource is currently filed under, or\n`null` if uncategorized (or not on the Trust Center, which is the case\nfor `PRIVATE` / `SHAREABLE` resources)."
          }
        },
        "required": [
          "id",
          "type",
          "title",
          "description",
          "url",
          "customerVisibility",
          "includeSubPages",
          "isUsedInQuestionnaires",
          "ownerAssignment",
          "expirationStatus",
          "expirationDate",
          "lastUpdated",
          "lastVerified",
          "tags",
          "categoryId"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "KnowledgeBaseResourceActorAssignmentInput": {
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "User"
            ],
            "nullable": false,
            "description": "The type of actor. Currently only \"User\" is supported."
          },
          "id": {
            "type": "string",
            "description": "The unique identifier of the user."
          }
        },
        "required": [
          "type",
          "id"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "KnowledgeBaseCustomerVisibility": {
        "type": "string",
        "enum": [
          "PRIVATE",
          "SHAREABLE",
          "REQUEST_ACCESS",
          "PUBLIC"
        ],
        "description": "Customer-facing visibility of a knowledge-base resource on the\nTrust Center. Use {@link CUSTOMER_VISIBILITY_TO_DB} to translate to\n{@link TrustCenterResourceVisibility} when persisting."
      },
      "CreateWebpageResourceInput": {
        "properties": {
          "title": {
            "type": "string",
            "description": "The title of the webpage resource.",
            "minLength": 1
          },
          "url": {
            "type": "string",
            "description": "The URL of the webpage.",
            "format": "uri"
          },
          "description": {
            "type": "string",
            "description": "A description for the webpage resource."
          },
          "ownerAssignment": {
            "$ref": "#/components/schemas/KnowledgeBaseResourceActorAssignmentInput",
            "description": "The actor to assign as owner. Currently only type \"User\" is supported."
          },
          "customerVisibility": {
            "$ref": "#/components/schemas/KnowledgeBaseCustomerVisibility",
            "description": "Customer visibility on the Trust Center."
          },
          "includeSubPages": {
            "type": "boolean",
            "description": "Whether to scan sub-pages one level deep alongside the primary URL."
          },
          "isUsedInQuestionnaires": {
            "type": "boolean",
            "description": "Whether the resource should be used for question-answering in\nQuestionnaire Automation."
          },
          "expirationDate": {
            "type": "string",
            "description": "Expiration date in ISO 8601 format."
          },
          "tags": {
            "items": {
              "$ref": "#/components/schemas/TagInput"
            },
            "type": "array",
            "description": "Tags to associate with the resource."
          },
          "categoryId": {
            "type": "string",
            "nullable": true,
            "description": "Trust Center category id to associate this resource with. Pass `null`\nto keep the resource uncategorized. Only valid when `customerVisibility`\nis REQUEST_ACCESS or PUBLIC; other combinations and unknown ids return\nan InvalidInputError."
          }
        },
        "required": [
          "title",
          "url"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "UpdateWebpageResourceInput": {
        "properties": {
          "title": {
            "type": "string",
            "description": "The title of the webpage resource.",
            "minLength": 1
          },
          "description": {
            "type": "string",
            "nullable": true,
            "description": "A description for the webpage resource. Pass `null` to clear."
          },
          "ownerAssignment": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KnowledgeBaseResourceActorAssignmentInput"
              }
            ],
            "nullable": true,
            "description": "The actor to assign as owner. Pass `null` to clear. Currently only type\n\"User\" is supported."
          },
          "customerVisibility": {
            "$ref": "#/components/schemas/KnowledgeBaseCustomerVisibility",
            "description": "Customer visibility on the Trust Center."
          },
          "includeSubPages": {
            "type": "boolean",
            "description": "Whether to scan sub-pages one level deep alongside the primary URL."
          },
          "isUsedInQuestionnaires": {
            "type": "boolean",
            "description": "Whether the resource should be used for question-answering in\nQuestionnaire Automation."
          },
          "expirationDate": {
            "type": "string",
            "nullable": true,
            "description": "Expiration date in ISO 8601 format. Pass `null` to clear."
          },
          "tags": {
            "items": {
              "$ref": "#/components/schemas/TagInput"
            },
            "type": "array",
            "description": "Tags to associate with the resource. A non-empty array replaces the\nexisting tag set; pass `[]` to clear all tags."
          },
          "categoryId": {
            "type": "string",
            "nullable": true,
            "description": "Trust Center category id to associate this resource with. Pass `null`\nto move the resource to uncategorized. Only valid when the resource's\neffective visibility (after applying any patched `customerVisibility`)\nis REQUEST_ACCESS or PUBLIC; other combinations and unknown ids return\nan InvalidInputError."
          }
        },
        "type": "object",
        "additionalProperties": false
      },
      "KnowledgeBaseDocumentResourceOutput": {
        "properties": {
          "id": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "FILE"
            ],
            "nullable": false
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "fileUrl": {
            "type": "string",
            "description": "Presigned S3 URL for the underlying document. Expires after 1 hour due\nto AWS IAM Role limitations on presigned URL lifetimes. Re-fetch the\nresource to obtain a fresh URL once this one expires."
          },
          "customerVisibility": {
            "type": "string",
            "enum": [
              "PRIVATE",
              "SHAREABLE",
              "REQUEST_ACCESS",
              "PUBLIC",
              null
            ],
            "nullable": true
          },
          "downloadPermission": {
            "type": "string",
            "enum": [
              "VIEW_ONLY",
              "VIEW_AND_DOWNLOAD",
              null
            ],
            "nullable": true
          },
          "isUsedInQuestionnaires": {
            "type": "boolean",
            "nullable": true
          },
          "ownerAssignment": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KnowledgeBaseResourceActorAssignment"
              }
            ],
            "nullable": true
          },
          "expirationStatus": {
            "$ref": "#/components/schemas/KnowledgeBaseExpirationStatus"
          },
          "expirationDate": {
            "type": "string",
            "nullable": true
          },
          "lastUpdated": {
            "type": "string"
          },
          "lastVerified": {
            "type": "string",
            "nullable": true
          },
          "tags": {
            "items": {
              "$ref": "#/components/schemas/TagInput"
            },
            "type": "array"
          },
          "categoryId": {
            "type": "string",
            "nullable": true,
            "description": "Trust Center category id the resource is currently filed under, or\n`null` if uncategorized (or not on the Trust Center, which is the case\nfor `PRIVATE` / `SHAREABLE` resources)."
          }
        },
        "required": [
          "id",
          "type",
          "title",
          "description",
          "fileUrl",
          "customerVisibility",
          "downloadPermission",
          "isUsedInQuestionnaires",
          "ownerAssignment",
          "expirationStatus",
          "expirationDate",
          "lastUpdated",
          "lastVerified",
          "tags",
          "categoryId"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "TrustKnowledgeBaseResourceOutput": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/KnowledgeBaseDocumentResourceOutput"
          },
          {
            "$ref": "#/components/schemas/KnowledgeBaseWebpageResourceOutput"
          }
        ],
        "description": "Discriminated union over `type` of all resource kinds in the Trust\nKnowledge Base (currently FILE and URL)."
      },
      "PaginatedResponse_TrustKnowledgeBaseResourceOutput_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/TrustKnowledgeBaseResourceOutput"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "KnowledgeBaseResourceTypeFilter": {
        "type": "string",
        "enum": [
          "FILE",
          "URL"
        ]
      },
      "VerifyKnowledgeBaseResourceInput": {
        "properties": {
          "expirationDate": {
            "type": "string",
            "description": "The expiration date in ISO 8601 format. If omitted, falls back to the\nconfigured review cadence.",
            "example": "2025-12-31T00:00:00.000Z"
          }
        },
        "type": "object",
        "additionalProperties": false
      },
      "KnowledgeBaseResourceDownloadPermission": {
        "type": "string",
        "enum": [
          "VIEW_ONLY",
          "VIEW_AND_DOWNLOAD"
        ],
        "description": "Customer-facing download permission for a knowledge-base resource on\nthe Trust Center. Use {@link DOWNLOAD_PERMISSION_TO_DB} to translate\nto {@link TrustKnowledgeBaseResourceDownloadSetting} when persisting."
      },
      "UpdateDocumentResourceInput": {
        "properties": {
          "title": {
            "type": "string",
            "description": "The title of the document resource.",
            "minLength": 1
          },
          "description": {
            "type": "string",
            "nullable": true,
            "description": "A description for the document resource. Pass `null` to clear."
          },
          "ownerAssignment": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KnowledgeBaseResourceActorAssignmentInput"
              }
            ],
            "nullable": true,
            "description": "The actor to assign as owner. Pass `null` to clear. Currently only type\n\"User\" is supported."
          },
          "customerVisibility": {
            "$ref": "#/components/schemas/KnowledgeBaseCustomerVisibility",
            "description": "Customer visibility on the Trust Center."
          },
          "downloadPermission": {
            "$ref": "#/components/schemas/KnowledgeBaseResourceDownloadPermission",
            "description": "Trust Center download permission."
          },
          "isUsedInQuestionnaires": {
            "type": "boolean",
            "description": "Whether the resource should be used for question-answering in\nQuestionnaire Automation."
          },
          "expirationDate": {
            "type": "string",
            "nullable": true,
            "description": "Expiration date in ISO 8601 format. Pass `null` to clear."
          },
          "tags": {
            "items": {
              "$ref": "#/components/schemas/TagInput"
            },
            "type": "array",
            "description": "Tags to associate with the resource. A non-empty array replaces the\nexisting tag set; pass `[]` to clear all tags."
          },
          "categoryId": {
            "type": "string",
            "nullable": true,
            "description": "Trust Center category id to associate this resource with. Pass `null`\nto move the resource to uncategorized. Only valid when the resource's\neffective visibility (after applying any patched `customerVisibility`)\nis REQUEST_ACCESS or PUBLIC; other combinations and unknown ids return\nan InvalidInputError."
          }
        },
        "type": "object",
        "additionalProperties": false
      },
      "AnswerLibraryActorAssignment": {
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "User",
              "Team"
            ]
          },
          "id": {
            "type": "string"
          },
          "displayName": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "type",
          "id",
          "displayName"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "KnowledgeBaseAnswerLibraryEntryOutput": {
        "properties": {
          "id": {
            "type": "string"
          },
          "question": {
            "type": "string"
          },
          "answer": {
            "type": "string"
          },
          "expirationStatus": {
            "type": "string",
            "enum": [
              "CURRENT",
              "EXPIRED"
            ]
          },
          "ownerAssignment": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AnswerLibraryActorAssignment"
              }
            ],
            "nullable": true
          },
          "expirationDate": {
            "type": "string",
            "nullable": true
          },
          "lastUpdated": {
            "type": "string"
          },
          "lastVerified": {
            "type": "string",
            "nullable": true
          },
          "tags": {
            "items": {
              "$ref": "#/components/schemas/TagInput"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "question",
          "answer",
          "expirationStatus",
          "ownerAssignment",
          "expirationDate",
          "lastUpdated",
          "lastVerified",
          "tags"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PaginatedResponse_KnowledgeBaseAnswerLibraryEntryOutput_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/KnowledgeBaseAnswerLibraryEntryOutput"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "AnswerLibraryActorAssignmentInput": {
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "User"
            ],
            "nullable": false,
            "description": "The type of actor. Currently only \"User\" is supported.",
            "example": "User"
          },
          "id": {
            "type": "string",
            "description": "The unique identifier of the user or team.",
            "example": "507f1f77bcf86cd799439041"
          }
        },
        "required": [
          "type",
          "id"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "CreateAnswerLibraryEntryInput": {
        "properties": {
          "question": {
            "type": "string",
            "description": "The question text.",
            "example": "Do you encrypt customer data at rest?"
          },
          "answer": {
            "type": "string",
            "description": "The answer text.",
            "example": "Yes. All customer data is encrypted at rest using AES-256, with keys managed in AWS KMS."
          },
          "ownerAssignment": {
            "$ref": "#/components/schemas/AnswerLibraryActorAssignmentInput",
            "description": "The actor to assign as owner. Currently only type \"User\" is supported."
          },
          "expirationDate": {
            "type": "string",
            "description": "The expiration date in ISO 8601 format.",
            "example": "2025-12-31T00:00:00.000Z"
          },
          "tags": {
            "items": {
              "$ref": "#/components/schemas/TagInput"
            },
            "type": "array",
            "description": "Tags to associate with the entry. Discover valid `categoryId` and `tagId`\nvalues via `GET /v1/customer-trust/tag-categories` (to list categories)\nand `GET /v1/customer-trust/tag-categories/{tagCategoryId}` (to list tags\nwithin a category)."
          }
        },
        "required": [
          "question",
          "answer"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "UpdateAnswerLibraryEntryInput": {
        "properties": {
          "question": {
            "type": "string",
            "description": "The question text.",
            "example": "Do you encrypt customer data at rest?"
          },
          "answer": {
            "type": "string",
            "description": "The answer text.",
            "example": "Yes. All customer data is encrypted at rest using AES-256, with keys managed in AWS KMS."
          },
          "ownerAssignment": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AnswerLibraryActorAssignmentInput"
              }
            ],
            "nullable": true,
            "description": "The actor to assign as owner. Pass `null` to clear. Currently only type\n\"User\" is supported."
          },
          "expirationDate": {
            "type": "string",
            "nullable": true,
            "description": "The expiration date in ISO 8601 format. Pass `null` to clear.",
            "example": "2025-12-31T00:00:00.000Z"
          },
          "tags": {
            "items": {
              "$ref": "#/components/schemas/TagInput"
            },
            "type": "array",
            "description": "Tags to associate with the entry. Replaces the existing tag set. Pass\n`[]` to clear all tags. Discover valid `categoryId` and `tagId` values\nvia `GET /v1/customer-trust/tag-categories` (to list categories) and\n`GET /v1/customer-trust/tag-categories/{tagCategoryId}` (to list tags\nwithin a category)."
          }
        },
        "type": "object",
        "additionalProperties": false
      },
      "VerifyAnswerLibraryEntryInput": {
        "properties": {
          "expirationDate": {
            "type": "string",
            "description": "The expiration date in ISO 8601 format. If omitted, falls back to the\nconfigured review cadence.",
            "example": "2025-12-31T00:00:00.000Z"
          }
        },
        "type": "object",
        "additionalProperties": false
      },
      "Extract_IssueTemplate.STANDARD_ISSUE_": {
        "type": "string",
        "enum": [
          "STANDARD_ISSUE"
        ],
        "nullable": false,
        "description": "Extract from T those types that are assignable to U"
      },
      "StandardIssueType": {
        "type": "string",
        "enum": [
          "AREA_OF_CONCERN",
          "MAJOR_NONCONFORMITY",
          "MINOR_NONCONFORMITY",
          "OPP_FOR_IMPROVEMENT",
          "EXCEPTION",
          "PROCESS_FOR_IMPROVEMENT"
        ]
      },
      "ActorType": {
        "type": "string",
        "enum": [
          "USER",
          "WORKFLOW_GENERATED"
        ]
      },
      "Actor": {
        "properties": {
          "actorType": {
            "$ref": "#/components/schemas/ActorType"
          },
          "actorId": {
            "type": "string"
          }
        },
        "required": [
          "actorType",
          "actorId"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "OwnerType": {
        "type": "string",
        "enum": [
          "USER",
          "TEAM"
        ]
      },
      "IssueOwner": {
        "properties": {
          "ownerType": {
            "$ref": "#/components/schemas/OwnerType"
          },
          "ownerId": {
            "type": "string"
          }
        },
        "required": [
          "ownerType",
          "ownerId"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "IssueSeverity": {
        "type": "string",
        "enum": [
          "CRITICAL",
          "HIGH",
          "MEDIUM",
          "LOW",
          "NO_SEVERITY"
        ]
      },
      "IssueStatus": {
        "type": "string",
        "enum": [
          "NOT_STARTED",
          "IN_PROGRESS",
          "CLOSED"
        ]
      },
      "SourceType": {
        "type": "string",
        "enum": [
          "AUDIT",
          "AUDIT_EXTERNAL",
          "INCIDENT",
          "EXTERNAL_PARTY",
          "SELF_ASSESSMENT",
          "OTHER"
        ]
      },
      "Source": {
        "properties": {
          "sourceType": {
            "$ref": "#/components/schemas/SourceType"
          },
          "sourceId": {
            "type": "string"
          }
        },
        "required": [
          "sourceType"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "ClosedReason": {
        "type": "string",
        "enum": [
          "RESOLVED",
          "DUPLICATE",
          "ACCEPTED",
          "OTHER"
        ]
      },
      "ClosedMetadata": {
        "properties": {
          "reason": {
            "$ref": "#/components/schemas/ClosedReason"
          },
          "comment": {
            "type": "string"
          },
          "closedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "reason",
          "comment",
          "closedAt"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "IssueCustomField": {
        "properties": {
          "label": {
            "type": "string"
          },
          "value": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              }
            ]
          }
        },
        "required": [
          "label",
          "value"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "StandardIssue": {
        "properties": {
          "id": {
            "type": "string"
          },
          "readableIssueId": {
            "type": "string"
          },
          "createdDate": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "$ref": "#/components/schemas/Actor"
          },
          "lastModifiedBy": {
            "$ref": "#/components/schemas/Actor"
          },
          "lastModifiedDate": {
            "type": "string",
            "format": "date-time"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "owners": {
            "items": {
              "$ref": "#/components/schemas/IssueOwner"
            },
            "type": "array"
          },
          "severity": {
            "$ref": "#/components/schemas/IssueSeverity"
          },
          "status": {
            "$ref": "#/components/schemas/IssueStatus"
          },
          "rootCause": {
            "type": "string",
            "nullable": true
          },
          "correctiveAction": {
            "type": "string",
            "nullable": true
          },
          "dueDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "source": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Source"
              }
            ],
            "nullable": true
          },
          "controlDomain": {
            "type": "string",
            "nullable": true
          },
          "closedMetadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClosedMetadata"
              }
            ],
            "nullable": true
          },
          "detectedDate": {
            "type": "string",
            "format": "date-time"
          },
          "mappedControlIds": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "mappedRiskScenarioIds": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "mappedPolicyIds": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "customFields": {
            "items": {
              "$ref": "#/components/schemas/IssueCustomField"
            },
            "type": "array"
          },
          "template": {
            "$ref": "#/components/schemas/Extract_IssueTemplate.STANDARD_ISSUE_"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StandardIssueType"
              }
            ],
            "nullable": true
          }
        },
        "required": [
          "id",
          "readableIssueId",
          "createdDate",
          "createdBy",
          "lastModifiedBy",
          "lastModifiedDate",
          "title",
          "description",
          "owners",
          "severity",
          "status",
          "rootCause",
          "correctiveAction",
          "dueDate",
          "source",
          "controlDomain",
          "closedMetadata",
          "detectedDate",
          "mappedControlIds",
          "mappedRiskScenarioIds",
          "mappedPolicyIds",
          "customFields",
          "template",
          "type"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "Extract_IssueTemplate.STANDARD_POAM_": {
        "type": "string",
        "enum": [
          "STANDARD_POAM"
        ],
        "nullable": false,
        "description": "Extract from T those types that are assignable to U"
      },
      "StandardPOAM": {
        "properties": {
          "id": {
            "type": "string"
          },
          "readableIssueId": {
            "type": "string"
          },
          "createdDate": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "$ref": "#/components/schemas/Actor"
          },
          "lastModifiedBy": {
            "$ref": "#/components/schemas/Actor"
          },
          "lastModifiedDate": {
            "type": "string",
            "format": "date-time"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "owners": {
            "items": {
              "$ref": "#/components/schemas/IssueOwner"
            },
            "type": "array"
          },
          "severity": {
            "$ref": "#/components/schemas/IssueSeverity"
          },
          "status": {
            "$ref": "#/components/schemas/IssueStatus"
          },
          "rootCause": {
            "type": "string",
            "nullable": true
          },
          "correctiveAction": {
            "type": "string",
            "nullable": true
          },
          "dueDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "source": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Source"
              }
            ],
            "nullable": true
          },
          "controlDomain": {
            "type": "string",
            "nullable": true
          },
          "closedMetadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClosedMetadata"
              }
            ],
            "nullable": true
          },
          "detectedDate": {
            "type": "string",
            "format": "date-time"
          },
          "mappedControlIds": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "mappedRiskScenarioIds": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "mappedPolicyIds": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "customFields": {
            "items": {
              "$ref": "#/components/schemas/IssueCustomField"
            },
            "type": "array"
          },
          "template": {
            "$ref": "#/components/schemas/Extract_IssueTemplate.STANDARD_POAM_"
          },
          "requiredResources": {
            "type": "string",
            "nullable": true
          },
          "systemsDescription": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "id",
          "readableIssueId",
          "createdDate",
          "createdBy",
          "lastModifiedBy",
          "lastModifiedDate",
          "title",
          "description",
          "owners",
          "severity",
          "status",
          "rootCause",
          "correctiveAction",
          "dueDate",
          "source",
          "controlDomain",
          "closedMetadata",
          "detectedDate",
          "mappedControlIds",
          "mappedRiskScenarioIds",
          "mappedPolicyIds",
          "customFields",
          "template",
          "requiredResources",
          "systemsDescription"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "Issue": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/StandardIssue"
          },
          {
            "$ref": "#/components/schemas/StandardPOAM"
          }
        ]
      },
      "PaginatedResponse_Issue_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/Issue"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "IssueTemplate": {
        "type": "string",
        "enum": [
          "STANDARD_ISSUE",
          "STANDARD_POAM"
        ]
      },
      "IssueSortField": {
        "type": "string",
        "enum": [
          "dueDate",
          "createdDate",
          "detectedDate",
          "lastModifiedDate",
          "status",
          "severity"
        ]
      },
      "OrderDirection": {
        "type": "string",
        "enum": [
          "asc",
          "desc"
        ],
        "description": "Sort direction shared across the external REST API surface.\n\n`\"asc\"` for ascending, `\"desc\"` for descending. Endpoints expose this as the\n`orderDirection` / `sortDirection` query parameter and map it onto whatever\ninternal direction representation the underlying service expects."
      },
      "Connection": {
        "properties": {
          "connectionId": {
            "type": "string",
            "description": "The unique identifier for the Connection."
          },
          "isDisabled": {
            "type": "boolean",
            "description": "Whether the Connection has been disabled by Vanta."
          },
          "connectionErrorMessage": {
            "type": "string",
            "nullable": true,
            "description": "An error message that may accompany disabled Connections."
          }
        },
        "required": [
          "connectionId",
          "isDisabled",
          "connectionErrorMessage"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "Integration": {
        "properties": {
          "integrationId": {
            "type": "string",
            "description": "A unique identifier for the Integration."
          },
          "displayName": {
            "type": "string",
            "description": "The Integration's display name."
          },
          "resourceKinds": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "A list of string identifiers for the resource types ingested by the Integration."
          },
          "connections": {
            "items": {
              "$ref": "#/components/schemas/Connection"
            },
            "type": "array",
            "description": "A list of installed Connections."
          }
        },
        "required": [
          "integrationId",
          "displayName",
          "resourceKinds",
          "connections"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PaginatedResponse_Integration_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/Integration"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "ResourceKindSummary": {
        "properties": {
          "integrationId": {
            "type": "string",
            "description": "The unique identifier for the Integration that ingests this resource."
          },
          "resourceKind": {
            "type": "string",
            "description": "The identifier for the resource type, unique within the scope of an Integration."
          },
          "isScopable": {
            "type": "boolean",
            "description": "Whether resources of this type may be scoped out of an audit."
          },
          "canUpdateDescription": {
            "type": "boolean",
            "description": "Whether resources of this type may be assigned a description."
          },
          "canUpdateOwner": {
            "type": "boolean",
            "description": "Whether resources of this type may be assigned an owner."
          }
        },
        "required": [
          "integrationId",
          "resourceKind",
          "isScopable",
          "canUpdateDescription",
          "canUpdateOwner"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "ResourceKindDetails": {
        "properties": {
          "integrationId": {
            "type": "string",
            "description": "The unique identifier for the Integration that ingests this resource."
          },
          "resourceKind": {
            "type": "string",
            "description": "The identifier for the resource type, unique within the scope of an Integration."
          },
          "isScopable": {
            "type": "boolean",
            "description": "Whether resources of this type may be scoped out of an audit."
          },
          "canUpdateDescription": {
            "type": "boolean",
            "description": "Whether resources of this type may be assigned a description."
          },
          "canUpdateOwner": {
            "type": "boolean",
            "description": "Whether resources of this type may be assigned an owner."
          },
          "numResources": {
            "type": "integer",
            "format": "int32",
            "description": "The count of resources of the given type.",
            "minimum": 0
          },
          "numInScope": {
            "type": "integer",
            "format": "int32",
            "description": "The count of resources of the given type that are in scope for audits.",
            "minimum": 0
          },
          "numOwned": {
            "type": "integer",
            "format": "int32",
            "description": "The count of resources of the given type that have been assigned an owner in Vanta.",
            "minimum": 0
          },
          "numWithDescription": {
            "type": "integer",
            "format": "int32",
            "description": "The count of resources of the given type that have been given a description in Vanta.",
            "minimum": 0
          }
        },
        "required": [
          "integrationId",
          "resourceKind",
          "isScopable",
          "canUpdateDescription",
          "canUpdateOwner",
          "numResources",
          "numInScope",
          "numOwned",
          "numWithDescription"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "UpdateResourceRequest": {
        "properties": {
          "id": {
            "type": "string",
            "description": "ID of the resource to update."
          },
          "ownerId": {
            "type": "string",
            "description": "Owner ID to update for the resource."
          },
          "description": {
            "type": "string",
            "description": "Description to update for the resource."
          },
          "inScope": {
            "type": "boolean",
            "description": "Determines whether resources should be marked in scope or not."
          }
        },
        "required": [
          "id"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "ResourceResponseType": {
        "enum": [
          "Account",
          "AutoScalingGroup",
          "ClusterDeployment",
          "ComputeInstance",
          "ContainerCluster",
          "ContainerRepository",
          "Database",
          "Device",
          "GitRepository",
          "KubernetesCluster",
          "LoadBalancer",
          "PaaS",
          "Resource",
          "Queue",
          "ServerlessFunction",
          "StorageBucket"
        ],
        "type": "string"
      },
      "Resource": {
        "properties": {
          "responseType": {
            "$ref": "#/components/schemas/ResourceResponseType"
          },
          "resourceKind": {
            "type": "string",
            "description": "The identifier for the resource type, unique within the scope of an Integration."
          },
          "resourceId": {
            "type": "string",
            "description": "The unique identifier for the Resource."
          },
          "connectionId": {
            "type": "string",
            "nullable": true,
            "description": "The unique identifier for the Connection used to ingest the Resource if it exists."
          },
          "displayName": {
            "type": "string",
            "description": "The Resource's display name."
          },
          "owner": {
            "type": "string",
            "nullable": true,
            "description": "The unique identifier for the owner of the resource in Vanta."
          },
          "inScope": {
            "type": "boolean",
            "description": "Whether the resource is in scope for audits."
          },
          "description": {
            "type": "string",
            "nullable": true,
            "description": "The description of the resource in Vanta."
          },
          "creationDate": {
            "type": "string",
            "format": "date-time",
            "description": "When Vanta first ingested the Resource."
          },
          "deletedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "When the resource was deleted/removed from the integration, if applicable.\nThis field is only present when the resource has been deleted."
          }
        },
        "required": [
          "responseType",
          "resourceKind",
          "resourceId",
          "connectionId",
          "displayName",
          "owner",
          "inScope",
          "description",
          "creationDate"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "CloudInfrastructure": {
        "properties": {
          "responseType": {
            "$ref": "#/components/schemas/ResourceResponseType"
          },
          "resourceKind": {
            "type": "string",
            "description": "The identifier for the resource type, unique within the scope of an Integration."
          },
          "resourceId": {
            "type": "string",
            "description": "The unique identifier for the Resource."
          },
          "connectionId": {
            "type": "string",
            "nullable": true,
            "description": "The unique identifier for the Connection used to ingest the Resource if it exists."
          },
          "displayName": {
            "type": "string",
            "description": "The Resource's display name."
          },
          "owner": {
            "type": "string",
            "nullable": true,
            "description": "The unique identifier for the owner of the resource in Vanta."
          },
          "inScope": {
            "type": "boolean",
            "description": "Whether the resource is in scope for audits."
          },
          "description": {
            "type": "string",
            "nullable": true,
            "description": "The description of the resource in Vanta."
          },
          "creationDate": {
            "type": "string",
            "format": "date-time",
            "description": "When Vanta first ingested the Resource."
          },
          "deletedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "When the resource was deleted/removed from the integration, if applicable.\nThis field is only present when the resource has been deleted."
          },
          "account": {
            "type": "string",
            "description": "Name of the account associated with the Resource"
          },
          "region": {
            "type": "string",
            "description": "Region in which the Resource is located"
          }
        },
        "required": [
          "responseType",
          "resourceKind",
          "resourceId",
          "connectionId",
          "displayName",
          "owner",
          "inScope",
          "description",
          "creationDate",
          "account",
          "region"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "ContainerRepository": {
        "properties": {
          "responseType": {
            "$ref": "#/components/schemas/ResourceResponseType"
          },
          "resourceKind": {
            "type": "string",
            "description": "The identifier for the resource type, unique within the scope of an Integration."
          },
          "resourceId": {
            "type": "string",
            "description": "The unique identifier for the Resource."
          },
          "connectionId": {
            "type": "string",
            "nullable": true,
            "description": "The unique identifier for the Connection used to ingest the Resource if it exists."
          },
          "displayName": {
            "type": "string",
            "description": "The Resource's display name."
          },
          "owner": {
            "type": "string",
            "nullable": true,
            "description": "The unique identifier for the owner of the resource in Vanta."
          },
          "inScope": {
            "type": "boolean",
            "description": "Whether the resource is in scope for audits."
          },
          "description": {
            "type": "string",
            "nullable": true,
            "description": "The description of the resource in Vanta."
          },
          "creationDate": {
            "type": "string",
            "format": "date-time",
            "description": "When Vanta first ingested the Resource."
          },
          "deletedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "When the resource was deleted/removed from the integration, if applicable.\nThis field is only present when the resource has been deleted."
          },
          "account": {
            "type": "string",
            "description": "Name of the account associated with the Resource"
          },
          "region": {
            "type": "string",
            "description": "Region in which the Resource is located"
          },
          "isAutoscanEnabled": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether autoscans have been enabled"
          }
        },
        "required": [
          "responseType",
          "resourceKind",
          "resourceId",
          "connectionId",
          "displayName",
          "owner",
          "inScope",
          "description",
          "creationDate",
          "account",
          "region",
          "isAutoscanEnabled"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "Database": {
        "properties": {
          "responseType": {
            "$ref": "#/components/schemas/ResourceResponseType"
          },
          "resourceKind": {
            "type": "string",
            "description": "The identifier for the resource type, unique within the scope of an Integration."
          },
          "resourceId": {
            "type": "string",
            "description": "The unique identifier for the Resource."
          },
          "connectionId": {
            "type": "string",
            "nullable": true,
            "description": "The unique identifier for the Connection used to ingest the Resource if it exists."
          },
          "displayName": {
            "type": "string",
            "description": "The Resource's display name."
          },
          "owner": {
            "type": "string",
            "nullable": true,
            "description": "The unique identifier for the owner of the resource in Vanta."
          },
          "inScope": {
            "type": "boolean",
            "description": "Whether the resource is in scope for audits."
          },
          "description": {
            "type": "string",
            "nullable": true,
            "description": "The description of the resource in Vanta."
          },
          "creationDate": {
            "type": "string",
            "format": "date-time",
            "description": "When Vanta first ingested the Resource."
          },
          "deletedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "When the resource was deleted/removed from the integration, if applicable.\nThis field is only present when the resource has been deleted."
          },
          "account": {
            "type": "string",
            "description": "Name of the account associated with the Database"
          },
          "areBackupsEnabled": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether backups are enabled for the Database"
          },
          "isEncrypted": {
            "type": "boolean",
            "description": "Whether the Database is encrypted"
          },
          "containsEphi": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether the Database contains Ephi"
          },
          "containsUserData": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether the Database contains user data"
          }
        },
        "required": [
          "responseType",
          "resourceKind",
          "resourceId",
          "connectionId",
          "displayName",
          "owner",
          "inScope",
          "description",
          "creationDate",
          "account",
          "areBackupsEnabled",
          "isEncrypted",
          "containsEphi",
          "containsUserData"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "Device": {
        "properties": {
          "responseType": {
            "$ref": "#/components/schemas/ResourceResponseType"
          },
          "resourceKind": {
            "type": "string",
            "description": "The identifier for the resource type, unique within the scope of an Integration."
          },
          "resourceId": {
            "type": "string",
            "description": "The unique identifier for the Resource."
          },
          "connectionId": {
            "type": "string",
            "nullable": true,
            "description": "The unique identifier for the Connection used to ingest the Resource if it exists."
          },
          "displayName": {
            "type": "string",
            "description": "The Resource's display name."
          },
          "owner": {
            "type": "string",
            "nullable": true,
            "description": "The unique identifier for the owner of the resource in Vanta."
          },
          "inScope": {
            "type": "boolean",
            "description": "Whether the resource is in scope for audits."
          },
          "description": {
            "type": "string",
            "nullable": true,
            "description": "The description of the resource in Vanta."
          },
          "creationDate": {
            "type": "string",
            "format": "date-time",
            "description": "When Vanta first ingested the Resource."
          },
          "deletedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "When the resource was deleted/removed from the integration, if applicable.\nThis field is only present when the resource has been deleted."
          },
          "operatingSystemName": {
            "type": "string",
            "description": "Name of the operating system"
          },
          "isEncrypted": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether the Device is encrypted"
          },
          "containsEphi": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether the Device contains Ephi"
          },
          "containsUserData": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether the Device contains user data"
          }
        },
        "required": [
          "responseType",
          "resourceKind",
          "resourceId",
          "connectionId",
          "displayName",
          "owner",
          "inScope",
          "description",
          "creationDate",
          "operatingSystemName",
          "isEncrypted",
          "containsEphi",
          "containsUserData"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PaaS": {
        "properties": {
          "responseType": {
            "$ref": "#/components/schemas/ResourceResponseType"
          },
          "resourceKind": {
            "type": "string",
            "description": "The identifier for the resource type, unique within the scope of an Integration."
          },
          "resourceId": {
            "type": "string",
            "description": "The unique identifier for the Resource."
          },
          "connectionId": {
            "type": "string",
            "nullable": true,
            "description": "The unique identifier for the Connection used to ingest the Resource if it exists."
          },
          "displayName": {
            "type": "string",
            "description": "The Resource's display name."
          },
          "owner": {
            "type": "string",
            "nullable": true,
            "description": "The unique identifier for the owner of the resource in Vanta."
          },
          "inScope": {
            "type": "boolean",
            "description": "Whether the resource is in scope for audits."
          },
          "description": {
            "type": "string",
            "nullable": true,
            "description": "The description of the resource in Vanta."
          },
          "creationDate": {
            "type": "string",
            "format": "date-time",
            "description": "When Vanta first ingested the Resource."
          },
          "deletedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "When the resource was deleted/removed from the integration, if applicable.\nThis field is only present when the resource has been deleted."
          },
          "containsEphi": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether the PaaS contains Ephi"
          },
          "containsUserData": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether the PaaS contains user data"
          }
        },
        "required": [
          "responseType",
          "resourceKind",
          "resourceId",
          "connectionId",
          "displayName",
          "owner",
          "inScope",
          "description",
          "creationDate",
          "containsEphi",
          "containsUserData"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "Queue": {
        "properties": {
          "responseType": {
            "$ref": "#/components/schemas/ResourceResponseType"
          },
          "resourceKind": {
            "type": "string",
            "description": "The identifier for the resource type, unique within the scope of an Integration."
          },
          "resourceId": {
            "type": "string",
            "description": "The unique identifier for the Resource."
          },
          "connectionId": {
            "type": "string",
            "nullable": true,
            "description": "The unique identifier for the Connection used to ingest the Resource if it exists."
          },
          "displayName": {
            "type": "string",
            "description": "The Resource's display name."
          },
          "owner": {
            "type": "string",
            "nullable": true,
            "description": "The unique identifier for the owner of the resource in Vanta."
          },
          "inScope": {
            "type": "boolean",
            "description": "Whether the resource is in scope for audits."
          },
          "description": {
            "type": "string",
            "nullable": true,
            "description": "The description of the resource in Vanta."
          },
          "creationDate": {
            "type": "string",
            "format": "date-time",
            "description": "When Vanta first ingested the Resource."
          },
          "deletedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "When the resource was deleted/removed from the integration, if applicable.\nThis field is only present when the resource has been deleted."
          },
          "account": {
            "type": "string",
            "description": "Name of the account associated with the Resource"
          },
          "region": {
            "type": "string",
            "description": "Region in which the Resource is located"
          },
          "containsEphi": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether the Queue contains Ephi"
          },
          "containsUserData": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether the Queue contains user data"
          }
        },
        "required": [
          "responseType",
          "resourceKind",
          "resourceId",
          "connectionId",
          "displayName",
          "owner",
          "inScope",
          "description",
          "creationDate",
          "account",
          "region",
          "containsEphi",
          "containsUserData"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "StorageBucket": {
        "properties": {
          "responseType": {
            "$ref": "#/components/schemas/ResourceResponseType"
          },
          "resourceKind": {
            "type": "string",
            "description": "The identifier for the resource type, unique within the scope of an Integration."
          },
          "resourceId": {
            "type": "string",
            "description": "The unique identifier for the Resource."
          },
          "connectionId": {
            "type": "string",
            "nullable": true,
            "description": "The unique identifier for the Connection used to ingest the Resource if it exists."
          },
          "displayName": {
            "type": "string",
            "description": "The Resource's display name."
          },
          "owner": {
            "type": "string",
            "nullable": true,
            "description": "The unique identifier for the owner of the resource in Vanta."
          },
          "inScope": {
            "type": "boolean",
            "description": "Whether the resource is in scope for audits."
          },
          "description": {
            "type": "string",
            "nullable": true,
            "description": "The description of the resource in Vanta."
          },
          "creationDate": {
            "type": "string",
            "format": "date-time",
            "description": "When Vanta first ingested the Resource."
          },
          "deletedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "When the resource was deleted/removed from the integration, if applicable.\nThis field is only present when the resource has been deleted."
          },
          "account": {
            "type": "string",
            "description": "Name of the account associated with the Resource"
          },
          "region": {
            "type": "string",
            "description": "Region in which the Resource is located"
          },
          "isEncrypted": {
            "type": "boolean",
            "description": "Whether the StorageBucket is encrypted"
          },
          "containsEphi": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether the StorageBucket contains Ephi"
          },
          "containsUserData": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether the StorageBucket contains user data"
          },
          "isVersioned": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether the StorageBucket is versioned"
          }
        },
        "required": [
          "responseType",
          "resourceKind",
          "resourceId",
          "connectionId",
          "displayName",
          "owner",
          "inScope",
          "description",
          "creationDate",
          "account",
          "region",
          "isEncrypted",
          "containsEphi",
          "containsUserData",
          "isVersioned"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "Account": {
        "properties": {
          "responseType": {
            "$ref": "#/components/schemas/ResourceResponseType"
          },
          "resourceKind": {
            "type": "string",
            "description": "The identifier for the resource type, unique within the scope of an Integration."
          },
          "resourceId": {
            "type": "string",
            "description": "The unique identifier for the Resource."
          },
          "connectionId": {
            "type": "string",
            "nullable": true,
            "description": "The unique identifier for the Connection used to ingest the Resource if it exists."
          },
          "displayName": {
            "type": "string",
            "description": "The Resource's display name."
          },
          "owner": {
            "type": "string",
            "nullable": true,
            "description": "The unique identifier for the owner of the resource in Vanta."
          },
          "inScope": {
            "type": "boolean",
            "description": "Whether the resource is in scope for audits."
          },
          "description": {
            "type": "string",
            "nullable": true,
            "description": "The description of the resource in Vanta."
          },
          "creationDate": {
            "type": "string",
            "format": "date-time",
            "description": "When Vanta first ingested the Resource."
          },
          "deletedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "When the resource was deleted/removed from the integration, if applicable.\nThis field is only present when the resource has been deleted."
          },
          "accountName": {
            "type": "string",
            "description": "Name associated with the Account"
          },
          "roles": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "Any role(s) assigned to the Account"
          },
          "groups": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "Any groups to which the Account belongs"
          },
          "isDeactivated": {
            "type": "boolean",
            "description": "Whether the account has been deactivated/disabled/deleted."
          },
          "isMfaEnabled": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether MFA has been enabled for the account."
          }
        },
        "required": [
          "responseType",
          "resourceKind",
          "resourceId",
          "connectionId",
          "displayName",
          "owner",
          "inScope",
          "description",
          "creationDate",
          "accountName",
          "roles",
          "groups",
          "isDeactivated",
          "isMfaEnabled"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "AccessKeyInfo": {
        "properties": {
          "accessKeyId": {
            "type": "string",
            "description": "The access key ID"
          },
          "status": {
            "type": "string",
            "description": "The status of the access key"
          }
        },
        "required": [
          "accessKeyId",
          "status"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "AwsAccount": {
        "properties": {
          "responseType": {
            "$ref": "#/components/schemas/ResourceResponseType"
          },
          "resourceKind": {
            "type": "string",
            "description": "The identifier for the resource type, unique within the scope of an Integration."
          },
          "resourceId": {
            "type": "string",
            "description": "The unique identifier for the Resource."
          },
          "connectionId": {
            "type": "string",
            "nullable": true,
            "description": "The unique identifier for the Connection used to ingest the Resource if it exists."
          },
          "displayName": {
            "type": "string",
            "description": "The Resource's display name."
          },
          "owner": {
            "type": "string",
            "nullable": true,
            "description": "The unique identifier for the owner of the resource in Vanta."
          },
          "inScope": {
            "type": "boolean",
            "description": "Whether the resource is in scope for audits."
          },
          "description": {
            "type": "string",
            "nullable": true,
            "description": "The description of the resource in Vanta."
          },
          "creationDate": {
            "type": "string",
            "format": "date-time",
            "description": "When Vanta first ingested the Resource."
          },
          "deletedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "When the resource was deleted/removed from the integration, if applicable.\nThis field is only present when the resource has been deleted."
          },
          "accountName": {
            "type": "string",
            "description": "Name associated with the Account"
          },
          "roles": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "Any role(s) assigned to the Account"
          },
          "groups": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "Any groups to which the Account belongs"
          },
          "isDeactivated": {
            "type": "boolean",
            "description": "Whether the account has been deactivated/disabled/deleted."
          },
          "isMfaEnabled": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether MFA has been enabled for the account."
          },
          "awsUserAccountId": {
            "type": "string",
            "description": "The AWS user account ID associated with the account"
          },
          "awsAccountNumber": {
            "type": "string",
            "description": "AWS account number (12 digit number) that uniquely identifies your AWS account"
          },
          "accessKeys": {
            "items": {
              "$ref": "#/components/schemas/AccessKeyInfo"
            },
            "type": "array",
            "description": "The list of access keys associated with the AWS account"
          }
        },
        "required": [
          "responseType",
          "resourceKind",
          "resourceId",
          "connectionId",
          "displayName",
          "owner",
          "inScope",
          "description",
          "creationDate",
          "accountName",
          "roles",
          "groups",
          "isDeactivated",
          "isMfaEnabled",
          "awsUserAccountId",
          "awsAccountNumber",
          "accessKeys"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "OrganizationSubunit": {
        "properties": {
          "responseType": {
            "$ref": "#/components/schemas/ResourceResponseType"
          },
          "resourceKind": {
            "type": "string",
            "description": "The identifier for the resource type, unique within the scope of an Integration."
          },
          "resourceId": {
            "type": "string",
            "description": "The unique identifier for the Resource."
          },
          "connectionId": {
            "type": "string",
            "nullable": true,
            "description": "The unique identifier for the Connection used to ingest the Resource if it exists."
          },
          "displayName": {
            "type": "string",
            "description": "The Resource's display name."
          },
          "owner": {
            "type": "string",
            "nullable": true,
            "description": "The unique identifier for the owner of the resource in Vanta."
          },
          "inScope": {
            "type": "boolean",
            "description": "Whether the resource is in scope for audits."
          },
          "description": {
            "type": "string",
            "nullable": true,
            "description": "The description of the resource in Vanta."
          },
          "creationDate": {
            "type": "string",
            "format": "date-time",
            "description": "When Vanta first ingested the Resource."
          },
          "deletedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "When the resource was deleted/removed from the integration, if applicable.\nThis field is only present when the resource has been deleted."
          },
          "accountId": {
            "type": "string",
            "nullable": true,
            "description": "Account ID corresponding to the subunit. Could be null if the subunit is not an account, e.g. a subscription"
          }
        },
        "required": [
          "responseType",
          "resourceKind",
          "resourceId",
          "connectionId",
          "displayName",
          "owner",
          "inScope",
          "description",
          "creationDate",
          "accountId"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "AnyResource": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/Resource"
          },
          {
            "$ref": "#/components/schemas/CloudInfrastructure"
          },
          {
            "$ref": "#/components/schemas/ContainerRepository"
          },
          {
            "$ref": "#/components/schemas/Database"
          },
          {
            "$ref": "#/components/schemas/Device"
          },
          {
            "$ref": "#/components/schemas/PaaS"
          },
          {
            "$ref": "#/components/schemas/Queue"
          },
          {
            "$ref": "#/components/schemas/StorageBucket"
          },
          {
            "$ref": "#/components/schemas/Account"
          },
          {
            "$ref": "#/components/schemas/AwsAccount"
          },
          {
            "$ref": "#/components/schemas/OrganizationSubunit"
          }
        ]
      },
      "PaginatedResponse_AnyResource_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/AnyResource"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "Group": {
        "properties": {
          "id": {
            "type": "string",
            "description": "The group's unique ID."
          },
          "name": {
            "type": "string",
            "description": "The group's name."
          },
          "creationDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The group's creation date."
          }
        },
        "required": [
          "id",
          "name",
          "creationDate"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PaginatedResponse_Group_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/Group"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "Framework": {
        "properties": {
          "id": {
            "type": "string",
            "description": "The framework's unique ID."
          },
          "displayName": {
            "type": "string",
            "description": "The framework's display name."
          },
          "shorthandName": {
            "type": "string",
            "description": "The short version of the framework's display name."
          },
          "description": {
            "type": "string",
            "description": "The framework's description."
          },
          "numControlsCompleted": {
            "type": "number",
            "format": "double",
            "description": "The number of completed controls in the framework."
          },
          "numControlsTotal": {
            "type": "number",
            "format": "double",
            "description": "The total number of controls in the framework."
          },
          "numDocumentsPassing": {
            "type": "number",
            "format": "double",
            "description": "The number of passing documents in the framework."
          },
          "numDocumentsTotal": {
            "type": "number",
            "format": "double",
            "description": "The total number of documents in the framework."
          },
          "numTestsPassing": {
            "type": "number",
            "format": "double",
            "description": "The number of passing tests in the framework."
          },
          "numTestsTotal": {
            "type": "number",
            "format": "double",
            "description": "The total number of tests in the framework."
          }
        },
        "required": [
          "id",
          "displayName",
          "shorthandName",
          "description",
          "numControlsCompleted",
          "numControlsTotal",
          "numDocumentsPassing",
          "numDocumentsTotal",
          "numTestsPassing",
          "numTestsTotal"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PaginatedResponse_Framework_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/Framework"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "FrameworkRequirementCategory": {
        "properties": {
          "id": {
            "type": "string",
            "description": "The framework's requiremet category unique ID."
          },
          "name": {
            "type": "string",
            "description": "The framework's requiremet category name."
          },
          "shorthand": {
            "type": "string",
            "nullable": true,
            "description": "The framework's short name."
          },
          "requirements": {
            "items": {
              "properties": {
                "controls": {
                  "items": {
                    "properties": {
                      "description": {
                        "type": "string",
                        "description": "The control's description."
                      },
                      "name": {
                        "type": "string",
                        "description": "The control's name."
                      },
                      "externalId": {
                        "type": "string",
                        "nullable": true,
                        "description": "The control's external ID."
                      },
                      "id": {
                        "type": "string",
                        "description": "The control's unique ID."
                      }
                    },
                    "required": [
                      "description",
                      "name",
                      "externalId",
                      "id"
                    ],
                    "type": "object"
                  },
                  "type": "array",
                  "description": "The requirement's list of controls"
                },
                "description": {
                  "type": "string",
                  "nullable": true,
                  "description": "The requirement's description"
                },
                "shorthand": {
                  "type": "string",
                  "nullable": true,
                  "description": "The requirement's short name."
                },
                "name": {
                  "type": "string",
                  "description": "The requirement's name."
                },
                "id": {
                  "type": "string",
                  "description": "The requirement's unique ID."
                }
              },
              "required": [
                "controls",
                "description",
                "shorthand",
                "name",
                "id"
              ],
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "name",
          "shorthand",
          "requirements"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "FrameworkDetail": {
        "properties": {
          "id": {
            "type": "string",
            "description": "The framework's unique ID."
          },
          "displayName": {
            "type": "string",
            "description": "The framework's display name."
          },
          "shorthandName": {
            "type": "string",
            "description": "The short version of the framework's display name."
          },
          "description": {
            "type": "string",
            "description": "The framework's description."
          },
          "numControlsCompleted": {
            "type": "number",
            "format": "double",
            "description": "The number of completed controls in the framework."
          },
          "numControlsTotal": {
            "type": "number",
            "format": "double",
            "description": "The total number of controls in the framework."
          },
          "numDocumentsPassing": {
            "type": "number",
            "format": "double",
            "description": "The number of passing documents in the framework."
          },
          "numDocumentsTotal": {
            "type": "number",
            "format": "double",
            "description": "The total number of documents in the framework."
          },
          "numTestsPassing": {
            "type": "number",
            "format": "double",
            "description": "The number of passing tests in the framework."
          },
          "numTestsTotal": {
            "type": "number",
            "format": "double",
            "description": "The total number of tests in the framework."
          },
          "requirementCategories": {
            "items": {
              "$ref": "#/components/schemas/FrameworkRequirementCategory"
            },
            "type": "array",
            "description": "The famework's list of requirement categories."
          }
        },
        "required": [
          "id",
          "displayName",
          "shorthandName",
          "description",
          "numControlsCompleted",
          "numControlsTotal",
          "numDocumentsPassing",
          "numDocumentsTotal",
          "numTestsPassing",
          "numTestsTotal",
          "requirementCategories"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "ControlSource": {
        "enum": [
          "Vanta",
          "Custom"
        ],
        "type": "string"
      },
      "Control": {
        "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."
          }
        },
        "required": [
          "id",
          "externalId",
          "name",
          "description",
          "source",
          "domains",
          "owner",
          "customFields",
          "creationDate",
          "modificationDate"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PaginatedResponse_Control_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/Control"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PaginationArgs": {
        "properties": {
          "pageSize": {
            "$ref": "#/components/schemas/PageSize"
          },
          "pageCursor": {
            "$ref": "#/components/schemas/PageCursor"
          }
        },
        "type": "object",
        "additionalProperties": false
      },
      "EventLog": {
        "properties": {
          "id": {
            "type": "string",
            "description": "The event log's unique ID."
          },
          "actor": {
            "properties": {
              "type": {
                "type": "string",
                "description": "The actor's type."
              },
              "id": {
                "type": "string",
                "description": "The actor's unique ID."
              }
            },
            "required": [
              "type",
              "id"
            ],
            "type": "object",
            "description": "The event's initiator."
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "description": "The event's creation date."
          },
          "action": {
            "type": "string",
            "description": "The event's action."
          },
          "targets": {
            "items": {
              "properties": {
                "type": {
                  "type": "string",
                  "description": "The target's type."
                },
                "id": {
                  "type": "string",
                  "description": "The target's unique ID."
                }
              },
              "required": [
                "type",
                "id"
              ],
              "type": "object"
            },
            "type": "array",
            "description": "The list of targets of the event."
          }
        },
        "required": [
          "id",
          "actor",
          "date",
          "action",
          "targets"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PaginatedResponse_EventLog_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/EventLog"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "DocumentStatus": {
        "type": "string",
        "enum": [
          "Needs document",
          "Needs update",
          "Not relevant",
          "OK"
        ]
      },
      "Document": {
        "properties": {
          "id": {
            "type": "string",
            "description": "The document's unique ID."
          },
          "ownerId": {
            "type": "string",
            "nullable": true,
            "description": "The user ID of the document's owner."
          },
          "category": {
            "$ref": "#/components/schemas/DocumentAndTestCategory",
            "description": "The document's category."
          },
          "description": {
            "type": "string",
            "description": "The document's description."
          },
          "isSensitive": {
            "type": "boolean",
            "description": "Determines whether or not the document is sensitive."
          },
          "title": {
            "type": "string",
            "description": "The document's title."
          },
          "uploadStatus": {
            "$ref": "#/components/schemas/DocumentStatus",
            "description": "The document's status."
          },
          "uploadStatusDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The date the document's uploadStatus changed."
          },
          "url": {
            "type": "string",
            "nullable": true,
            "description": "The URL to view the document within Vanta."
          }
        },
        "required": [
          "id",
          "ownerId",
          "category",
          "description",
          "isSensitive",
          "title",
          "uploadStatus",
          "uploadStatusDate",
          "url"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "SetOwnerForDocumentInput": {
        "properties": {
          "userId": {
            "type": "string",
            "nullable": true,
            "description": "The new owner ID"
          }
        },
        "required": [
          "userId"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "TimeSensitivity": {
        "enum": [
          "MOST_RECENT",
          "DURING_AUDIT_WINDOW"
        ],
        "type": "string"
      },
      "RecurrenceDuration": {
        "enum": [
          "P0D",
          "P1D",
          "P1W",
          "P1M",
          "P3M",
          "P6M",
          "P1Y",
          "P2Y"
        ],
        "type": "string"
      },
      "CadenceType": {
        "$ref": "#/components/schemas/RecurrenceDuration"
      },
      "ReminderWindow": {
        "enum": [
          "P0D",
          "P1D",
          "P1W",
          "P1M",
          "P3M"
        ],
        "type": "string"
      },
      "CreateDocumentInput": {
        "properties": {
          "title": {
            "type": "string",
            "description": "The document's title."
          },
          "description": {
            "type": "string",
            "description": "The document's description."
          },
          "timeSensitivity": {
            "$ref": "#/components/schemas/TimeSensitivity",
            "description": "When to upload the document.\nMust be one of: \"Most recent\", \"During audit window\""
          },
          "cadence": {
            "$ref": "#/components/schemas/CadenceType",
            "description": "How often the document needs to be renewed.\n\nNever: P0D - The document does not need to be renewed.\nDaily: P1D - The document needs to be renewed daily.\nWeekly: P1W - The document needs to be renewed weekly.\nMonthly: P1M - The document needs to be renewed monthly.\nQuarterly: P3M - The document needs to be renewed quarterly.\nBiannually: P6M - The document needs to be renewed biannually.\nAnnually: P1Y - The document needs to be renewed annually."
          },
          "reminderWindow": {
            "$ref": "#/components/schemas/ReminderWindow",
            "description": "The number of days before the renewal date to send a reminder.\nNote that reminderWindow should be smaller than the cadence.\n\nOptions are:\nNever: P0D - No reminder will be sent.\nDay: P1D - A reminder will be sent one day before the renewal date.\nWeek: P1W - A reminder will be sent one week before the renewal date.\nMonth: P1M - A reminder will be sent one month before the renewal date.\nQuarter: P3M - A reminder will be sent one quarter before the renewal date."
          },
          "isSensitive": {
            "type": "boolean",
            "description": "Determines whether or not the document is sensitive.\nThis restricts which users can access or upload files to the document.\nOnly admins are able to view or upload sensitive documents."
          }
        },
        "required": [
          "title",
          "description",
          "timeSensitivity",
          "cadence",
          "reminderWindow",
          "isSensitive"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "UploadedLink": {
        "properties": {
          "id": {
            "type": "string",
            "description": "The link's unique ID"
          },
          "creationDate": {
            "type": "string",
            "format": "date-time",
            "description": "The link's creation date."
          },
          "effectiveDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The link's effective date."
          },
          "title": {
            "type": "string",
            "description": "The link's title."
          },
          "url": {
            "type": "string",
            "description": "The link's URL."
          },
          "description": {
            "type": "string",
            "description": "The link's description."
          }
        },
        "required": [
          "id",
          "creationDate",
          "effectiveDate",
          "title",
          "url",
          "description"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PaginatedResponse_UploadedLink_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/UploadedLink"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "CreateLinkForDocumentInput": {
        "properties": {
          "url": {
            "type": "string",
            "description": "The link's URL"
          },
          "title": {
            "type": "string",
            "description": "The link's title."
          },
          "description": {
            "type": "string",
            "nullable": true,
            "description": "The link's description."
          },
          "effectiveDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The link's effective date."
          }
        },
        "required": [
          "url",
          "title"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "UploadedFileT": {
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the document."
          },
          "fileName": {
            "type": "string",
            "nullable": true,
            "description": "The file name of the document."
          },
          "title": {
            "type": "string",
            "description": "The document's title."
          },
          "description": {
            "type": "string",
            "nullable": true,
            "description": "The document's description"
          },
          "mimeType": {
            "type": "string",
            "description": "Mime type of the document."
          },
          "uploadedBy": {
            "properties": {
              "type": {
                "$ref": "#/components/schemas/UploadedDocumentUploadedByType"
              },
              "id": {
                "type": "string"
              }
            },
            "required": [
              "type",
              "id"
            ],
            "type": "object",
            "nullable": true,
            "description": "The actor who uploaded this document. It could be a user or an app."
          },
          "creationDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date of when the document was uploaded."
          },
          "updatedDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date when the document was last updated."
          },
          "deletionDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Date of when the document was deleted. Is set to null if the document has not been deleted."
          },
          "effectiveDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The document's effective date."
          },
          "url": {
            "type": "string",
            "description": "The document's URL."
          }
        },
        "required": [
          "id",
          "fileName",
          "title",
          "description",
          "mimeType",
          "uploadedBy",
          "creationDate",
          "updatedDate",
          "deletionDate",
          "effectiveDate",
          "url"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PaginatedResponse_Document_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/Document"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "DocumentDetail": {
        "properties": {
          "id": {
            "type": "string",
            "description": "The document's unique ID."
          },
          "ownerId": {
            "type": "string",
            "nullable": true,
            "description": "The user ID of the document's owner."
          },
          "category": {
            "$ref": "#/components/schemas/DocumentAndTestCategory",
            "description": "The document's category."
          },
          "description": {
            "type": "string",
            "description": "The document's description."
          },
          "isSensitive": {
            "type": "boolean",
            "description": "Determines whether or not the document is sensitive."
          },
          "title": {
            "type": "string",
            "description": "The document's title."
          },
          "uploadStatus": {
            "$ref": "#/components/schemas/DocumentStatus",
            "description": "The document's status."
          },
          "uploadStatusDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The date the document's uploadStatus changed."
          },
          "url": {
            "type": "string",
            "nullable": true,
            "description": "The URL to view the document within Vanta."
          },
          "deactivatedStatus": {
            "properties": {
              "creationDate": {
                "type": "string",
                "format": "date-time",
                "description": "The date the document was deactivated."
              },
              "expiration": {
                "type": "string",
                "format": "date-time",
                "nullable": true,
                "description": "The date the deactivation expires."
              },
              "reason": {
                "type": "string",
                "nullable": true,
                "description": "The reason for the document was deactivated."
              },
              "isDeactivated": {
                "type": "boolean",
                "description": "Determines whether or not the document is deactivated."
              }
            },
            "required": [
              "creationDate",
              "expiration",
              "reason",
              "isDeactivated"
            ],
            "type": "object"
          },
          "note": {
            "type": "string",
            "nullable": true,
            "description": "A user note for the document."
          },
          "nextRenewalDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "When the document needs to be renewed."
          },
          "renewalCadence": {
            "$ref": "#/components/schemas/CadenceType",
            "description": "How often a document must be renewed."
          },
          "reminderWindow": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ReminderWindow"
              }
            ],
            "nullable": true,
            "description": "The number of day ahead of the renewal date to send a reminder."
          },
          "subscribers": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "A list of the emails subscribed to the document."
          }
        },
        "required": [
          "id",
          "ownerId",
          "category",
          "description",
          "isSensitive",
          "title",
          "uploadStatus",
          "uploadStatusDate",
          "url",
          "deactivatedStatus",
          "note",
          "nextRenewalDate",
          "renewalCadence",
          "reminderWindow",
          "subscribers"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PaginatedResponse_UploadedFileT_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/UploadedFileT"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "DiscoveredVendorSource": {
        "description": "The source of the discovered vendor.\nOKTA: The vendor was discovered via an Okta integration\nJAMF: The vendor was discovered via a JAMF integration\nGSUITE: The vendor was discovered via an GSuite integration\nVENDR: The vendor was discovered via a Vendr integration\nOFFICE: The vendor was discovered via a microsoft office integration",
        "enum": [
          "OKTA",
          "JAMF",
          "GSUITE",
          "VENDR",
          "OFFICE"
        ],
        "type": "string"
      },
      "DiscoveredVendor": {
        "properties": {
          "id": {
            "type": "string",
            "description": "The discovered vendor's unique ID."
          },
          "name": {
            "type": "string",
            "description": "The discovered vendor's display name ."
          },
          "normalizedName": {
            "type": "string",
            "description": "The discovered vendor's vendorNormalized or canonical name. This is used to group duplicate vendors together."
          },
          "category": {
            "properties": {
              "name": {
                "type": "string"
              }
            },
            "required": [
              "name"
            ],
            "type": "object",
            "nullable": true,
            "description": "The discovered vendor's category."
          },
          "source": {
            "$ref": "#/components/schemas/DiscoveredVendorSource",
            "description": "The discovered vendor's source ."
          },
          "discoveredDate": {
            "type": "string",
            "format": "date-time",
            "description": "The discovered vendor's imported date."
          },
          "numberOfAccounts": {
            "type": "number",
            "format": "double",
            "description": "The number of accounts in the discovered vendor."
          },
          "ignored": {
            "properties": {
              "ignoredAtDate": {
                "type": "string",
                "format": "date-time",
                "nullable": true,
                "description": "The date the discovered vendor was marked as ignored."
              },
              "ignoredReason": {
                "type": "string",
                "nullable": true,
                "description": "The reason the discovered vendor was ignored."
              },
              "ignoredByUserId": {
                "type": "string",
                "nullable": true,
                "description": "The user ID who ignored the discovered vendor."
              }
            },
            "required": [
              "ignoredAtDate",
              "ignoredReason",
              "ignoredByUserId"
            ],
            "type": "object",
            "nullable": true,
            "description": "Determines whether or not the vendor is ignored."
          },
          "rejected": {
            "properties": {
              "rejectedByUserId": {
                "type": "string",
                "nullable": true,
                "description": "The user ID who rejected the discovered vendor."
              },
              "rejectedReason": {
                "type": "string",
                "nullable": true,
                "description": "The reason the discovered vendor was rejected."
              },
              "rejectedAtDate": {
                "type": "string",
                "format": "date-time",
                "nullable": true,
                "description": "The date the discovered vendor was marked as rejected."
              }
            },
            "required": [
              "rejectedByUserId",
              "rejectedReason",
              "rejectedAtDate"
            ],
            "type": "object",
            "nullable": true,
            "description": "Determines whether or not the vendor is rejected."
          }
        },
        "required": [
          "id",
          "name",
          "normalizedName",
          "category",
          "source",
          "discoveredDate",
          "numberOfAccounts",
          "ignored",
          "rejected"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PaginatedResponse_DiscoveredVendor_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/DiscoveredVendor"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "DiscoveredVendorScope": {
        "description": "The scope of a discovered vendor.\nNEEDS_REVIEW: The vendor needs review\nIGNORED: The vendor was ignored\nREJECTED: The vendor was rejected",
        "enum": [
          "NEEDS_REVIEW",
          "IGNORED",
          "REJECTED"
        ],
        "type": "string"
      },
      "DiscoveredVendorAccountType.USER": {
        "enum": [
          "USER"
        ],
        "type": "string"
      },
      "DiscoveredVendorUser": {
        "properties": {
          "id": {
            "type": "string",
            "description": "The associated user's unique ID."
          },
          "email": {
            "type": "string",
            "description": "The associated user's email address."
          },
          "displayName": {
            "type": "string",
            "description": "The associated user's display name ."
          },
          "type": {
            "$ref": "#/components/schemas/DiscoveredVendorAccountType.USER",
            "description": "The account type."
          }
        },
        "required": [
          "id",
          "email",
          "displayName",
          "type"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "DiscoveredVendorAccountType.COMPUTER": {
        "enum": [
          "COMPUTER"
        ],
        "type": "string"
      },
      "DiscoveredVendorComputer": {
        "properties": {
          "id": {
            "type": "string",
            "description": "The associated computer's unique ID."
          },
          "displayName": {
            "type": "string",
            "description": "The associated computer's display name."
          },
          "owner": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DiscoveredVendorUser"
              }
            ],
            "nullable": true,
            "description": "The associated computer's owner."
          },
          "type": {
            "$ref": "#/components/schemas/DiscoveredVendorAccountType.COMPUTER",
            "description": "The account type."
          }
        },
        "required": [
          "id",
          "owner",
          "type"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "DiscoveredVendorAccount": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/DiscoveredVendorUser"
          },
          {
            "$ref": "#/components/schemas/DiscoveredVendorComputer"
          }
        ]
      },
      "PaginatedResponse_DiscoveredVendorAccount_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/DiscoveredVendorAccount"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "UserDefinedTagCategory": {
        "properties": {
          "id": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "displayName"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "ArrayResponse_UserDefinedTagCategory_": {
        "properties": {
          "results": {
            "items": {
              "$ref": "#/components/schemas/UserDefinedTagCategory"
            },
            "type": "array"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "CustomerTrustProductContextIdFilter": {
        "type": "string",
        "enum": [
          "EXTERNAL_TRUST_CENTER",
          "DOCUMENT_SHARING",
          "QUESTIONNAIRE"
        ]
      },
      "UserDefinedTag": {
        "properties": {
          "id": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "category",
          "displayName"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "TagCategoryWithTags": {
        "properties": {
          "category": {
            "$ref": "#/components/schemas/UserDefinedTagCategory"
          },
          "tags": {
            "items": {
              "$ref": "#/components/schemas/UserDefinedTag"
            },
            "type": "array"
          }
        },
        "required": [
          "category",
          "tags"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "QuestionnaireAssignableUser": {
        "properties": {
          "id": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "displayName"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "QuestionnaireAssignableUsersResponse": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/QuestionnaireAssignableUser"
                },
                "type": "array"
              }
            },
            "required": [
              "data"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "QuestionnaireAssignableUserRole": {
        "type": "string",
        "enum": [
          "owner",
          "approver"
        ]
      },
      "CustomerTrustQuestionnaireType": {
        "type": "string",
        "enum": [
          "SPREADSHEET",
          "WEBSITE",
          "DOCUMENT"
        ]
      },
      "QuestionnaireStatus": {
        "type": "string",
        "enum": [
          "APPROVED",
          "IN_PROGRESS",
          "IN_REVIEW",
          "READY_FOR_REVIEW",
          "WAITING_ON_ANSWERS",
          "ON_HOLD",
          "NO_LONGER_NEEDED",
          "COMPLETE",
          "ERROR",
          "EXTRACTING_QUESTIONS",
          "QUEUED_FOR_EXTRACTION",
          "PROCESSING",
          "QUEUED_FOR_PROCESSING",
          "WAITING_ON_COLUMN_SELECTION",
          "WAITING_ON_COLUMN_APPROVAL",
          "QUEUED_FOR_COLUMN_DETECTION",
          "DETECTING_COLUMNS"
        ]
      },
      "QuestionnaireUser": {
        "properties": {
          "id": {
            "type": "string"
          },
          "displayName": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "id",
          "displayName",
          "email"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "QuestionnaireStatusChangeEntry": {
        "properties": {
          "updatedBy": {
            "$ref": "#/components/schemas/QuestionnaireUser",
            "description": "The user who made the status change"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the status was changed"
          },
          "status": {
            "$ref": "#/components/schemas/QuestionnaireStatus",
            "description": "The new status of the questionnaire"
          },
          "message": {
            "type": "string",
            "nullable": true,
            "description": "An optional message associated with the status change"
          }
        },
        "required": [
          "updatedBy",
          "updatedAt",
          "status",
          "message"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "ActorAssignment": {
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "User",
              "Team"
            ]
          },
          "id": {
            "type": "string"
          },
          "displayName": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "type",
          "id",
          "displayName"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "CustomerTrustQuestionnaire": {
        "properties": {
          "id": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/CustomerTrustQuestionnaireType"
          },
          "status": {
            "$ref": "#/components/schemas/QuestionnaireStatus"
          },
          "statusLog": {
            "items": {
              "$ref": "#/components/schemas/QuestionnaireStatusChangeEntry"
            },
            "type": "array",
            "description": "The status change history log for the questionnaire.\nEntries are ordered by the most recent status change first."
          },
          "ownerAssignment": {
            "$ref": "#/components/schemas/ActorAssignment",
            "description": "The owner assignment in actor form (User or Team)."
          },
          "approverAssignment": {
            "$ref": "#/components/schemas/ActorAssignment",
            "description": "The approver assignment in actor form (User or Team)."
          },
          "customerTrustAccountId": {
            "type": "string"
          },
          "dueDate": {
            "type": "string",
            "format": "date-time"
          },
          "metadata": {
            "items": {
              "properties": {
                "value": {
                  "type": "string"
                },
                "key": {
                  "type": "string"
                }
              },
              "required": [
                "value",
                "key"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "tagAndCategoryIds": {
            "items": {
              "$ref": "#/components/schemas/TagInput"
            },
            "type": "array",
            "description": "Tags assigned to this questionnaire. Each entry contains a categoryId and tagId."
          },
          "createdDate": {
            "type": "string",
            "format": "date-time"
          },
          "updatedDate": {
            "type": "string",
            "format": "date-time"
          },
          "completedDate": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "displayName",
          "type",
          "status",
          "statusLog",
          "tagAndCategoryIds",
          "createdDate",
          "updatedDate"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "ActorAssignmentInput": {
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "User",
              "Team"
            ]
          },
          "id": {
            "type": "string"
          }
        },
        "required": [
          "type",
          "id"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "QuestionnaireMetadata": {
        "properties": {
          "key": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "key",
          "value"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "CreateWebsiteQuestionnaireInput": {
        "description": "Request body for creating a website-based questionnaire from a portal URL.",
        "properties": {
          "displayName": {
            "type": "string",
            "description": "Display name for the questionnaire."
          },
          "url": {
            "type": "string",
            "description": "The portal URL to create the questionnaire from."
          },
          "ownerAssignment": {
            "$ref": "#/components/schemas/ActorAssignmentInput",
            "description": "Actor to assign as the owner (user or team)."
          },
          "approverAssignment": {
            "$ref": "#/components/schemas/ActorAssignmentInput",
            "description": "Actor to assign as the approver (user or team)."
          },
          "companyUrl": {
            "type": "string",
            "description": "URL of the company associated with this questionnaire."
          },
          "customerTrustAccountId": {
            "type": "string",
            "description": "ID of the customer trust account to associate with this questionnaire."
          },
          "description": {
            "type": "string",
            "description": "Description of the questionnaire."
          },
          "dueDate": {
            "type": "string",
            "format": "date-time",
            "description": "Due date for questionnaire completion (ISO 8601)."
          },
          "metadata": {
            "items": {
              "$ref": "#/components/schemas/QuestionnaireMetadata"
            },
            "type": "array",
            "description": "Custom key-value pairs. Keys and values may contain alphanumeric characters, hyphens, underscores, and periods. Maximum 30 entries."
          },
          "includeUntaggedEntitiesForCategoryIds": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "Category IDs for which to include untagged entities."
          },
          "tagAndCategoryIds": {
            "items": {
              "$ref": "#/components/schemas/TagInput"
            },
            "type": "array",
            "description": "Tags to assign to the questionnaire. Each entry must include a categoryId and tagId. Replaces all existing tags."
          }
        },
        "required": [
          "displayName",
          "url"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PaginatedResponse_CustomerTrustQuestionnaire_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/CustomerTrustQuestionnaire"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "SettableQuestionnaireStatus": {
        "type": "string",
        "enum": [
          "IN_PROGRESS",
          "IN_REVIEW",
          "READY_FOR_REVIEW",
          "WAITING_ON_ANSWERS",
          "ON_HOLD",
          "NO_LONGER_NEEDED"
        ]
      },
      "UpdateActorAssignment": {
        "description": "Actor assignment for setting an owner or approver.",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "User",
              "Team"
            ],
            "description": "The type of actor: \"User\" for an individual user, \"Team\" for a team."
          },
          "id": {
            "type": "string",
            "description": "The unique identifier of the user or team."
          }
        },
        "required": [
          "type",
          "id"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "UpdateQuestionnaireArgs": {
        "properties": {
          "displayName": {
            "type": "string",
            "description": "Display name of the questionnaire"
          },
          "dueDate": {
            "type": "string",
            "nullable": true,
            "description": "Due date for questionnaire completion (ISO 8601 string, null to clear)"
          },
          "status": {
            "$ref": "#/components/schemas/SettableQuestionnaireStatus",
            "description": "Status transition (limited to settable statuses)"
          },
          "ownerAssignment": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UpdateActorAssignment"
              }
            ],
            "nullable": true,
            "description": "Owner assignment as Actor (null to unassign)"
          },
          "approverAssignment": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UpdateActorAssignment"
              }
            ],
            "nullable": true,
            "description": "Approver assignment as Actor (null to unassign, requires QuestionnaireAutomationAdvanced)"
          },
          "metadata": {
            "items": {
              "$ref": "#/components/schemas/QuestionnaireMetadata"
            },
            "type": "array",
            "description": "Metadata key-value pairs"
          },
          "tagAndCategoryIds": {
            "items": {
              "$ref": "#/components/schemas/TagInput"
            },
            "type": "array",
            "description": "Tags to assign to the questionnaire. Each entry must include a categoryId and tagId. Replaces all existing tags."
          }
        },
        "type": "object",
        "additionalProperties": false
      },
      "CompleteQuestionnaireRequest": {
        "description": "Request body for completing a questionnaire.",
        "properties": {
          "shouldSyncApprovedToAnswerLibrary": {
            "type": "boolean",
            "description": "Whether to sync approved answers to the answer library.\nDefaults to true. Ignored for non-English SPREADSHEET/DOCUMENT questionnaires."
          }
        },
        "type": "object",
        "additionalProperties": false
      },
      "ApproveQuestionnaireRequest": {
        "description": "Request body for approving a questionnaire.",
        "properties": {
          "statusChangeMessage": {
            "type": "string",
            "description": "Optional message describing the reason for approval."
          }
        },
        "type": "object",
        "additionalProperties": false
      },
      "CustomerTrustCreateQuestionnaireExportResponse": {
        "description": "Response returned when a questionnaire export is created.\nUse the `id` to poll the GET endpoint for export status and download URL.",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the export job. Use this ID to check export status.",
            "example": "507f1f77bcf86cd799439011"
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "completed",
              "failed"
            ],
            "description": "Processing status of the export. Newly created exports always start as `\"pending\"`.",
            "example": "pending"
          },
          "format": {
            "type": "string",
            "enum": [
              "original",
              "csv"
            ],
            "description": "The requested output format for the export.",
            "example": "original"
          },
          "requestedAt": {
            "type": "string",
            "description": "ISO 8601 timestamp indicating when the export was requested.",
            "example": "2025-01-08T12:00:00.000Z"
          }
        },
        "required": [
          "id",
          "status",
          "format",
          "requestedAt"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "CustomerTrustCreateQuestionnaireExportInput": {
        "description": "Request body for creating a questionnaire export.",
        "properties": {
          "questionnaireId": {
            "type": "string",
            "description": "Unique identifier for the questionnaire to trigger an export for.",
            "example": "65a5d6e2f1a2b3c4d5e6f7a8"
          },
          "format": {
            "type": "string",
            "enum": [
              "original",
              "csv"
            ],
            "description": "The output format for the exported questionnaire.\n- `\"original\"`: Exports in the questionnaire's native format (XLSX for spreadsheets, DOCX for documents).\n- `\"csv\"`: Exports as a CSV file, suitable for data analysis or import into other systems.",
            "example": "original"
          }
        },
        "required": [
          "questionnaireId",
          "format"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "CustomerTrustExportStatusResponse": {
        "description": "Detailed status and result of a questionnaire export.\nWhen `status` is `\"completed\"`, the response includes a time-limited download URL.",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the export job.",
            "example": "507f1f77bcf86cd799439011"
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "completed",
              "failed"
            ],
            "description": "Processing status of the export.\n- `\"pending\"`: Export is still being processed.\n- `\"completed\"`: Export finished successfully. Download URL is available.\n- `\"failed\"`: Export failed. See `errorMessage` for details.",
            "example": "completed"
          },
          "format": {
            "type": "string",
            "enum": [
              "original",
              "csv"
            ],
            "description": "The output format of the exported file.",
            "example": "original"
          },
          "requestedAt": {
            "type": "string",
            "description": "ISO 8601 timestamp indicating when the export was requested.",
            "example": "2025-01-08T12:00:00.000Z"
          },
          "completedAt": {
            "type": "string",
            "description": "ISO 8601 timestamp indicating when the export completed successfully.\nOnly present when `status` is `\"completed\"`.",
            "example": "2025-01-08T12:05:00.000Z"
          },
          "downloadUrl": {
            "type": "string",
            "description": "Pre-signed URL for downloading the exported file. Valid for 24 hours from the time of this response.\nOnly present when `status` is `\"completed\"`.",
            "example": "https://storage.example.com/exports/questionnaire-export.xlsx?token=..."
          },
          "expiresAt": {
            "type": "string",
            "description": "ISO 8601 timestamp indicating when the download URL expires. After this time, request a new export.\nOnly present when `status` is `\"completed\"`.",
            "example": "2025-01-09T12:00:00.000Z"
          },
          "failedAt": {
            "type": "string",
            "description": "ISO 8601 timestamp indicating when the export failed.\nOnly present when `status` is `\"failed\"`.",
            "example": "2025-01-08T12:03:00.000Z"
          },
          "errorMessage": {
            "type": "string",
            "description": "Human-readable description of why the export failed.\nOnly present when `status` is `\"failed\"`.",
            "example": "The questionnaire contains unsupported question types."
          }
        },
        "required": [
          "id",
          "status",
          "format",
          "requestedAt"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "CreateDeletionRequestResponse": {
        "description": "Response returned after a data deletion request is created.",
        "properties": {
          "isSuccessful": {
            "type": "boolean",
            "description": "Whether the deletion request was successfully enqueued."
          }
        },
        "required": [
          "isSuccessful"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "CreateDeletionRequestInput": {
        "description": "Request body for creating a data deletion request.",
        "properties": {
          "email": {
            "type": "string",
            "description": "Email address of the individual requesting data deletion."
          }
        },
        "required": [
          "email"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "CustomerTrustAccountNdaStatus": {
        "type": "string",
        "enum": [
          "SIGNED",
          "NOT_REQUIRED",
          "INCOMPLETE"
        ]
      },
      "CustomerTrustAccountNDADetails": {
        "properties": {
          "ndaStatus": {
            "$ref": "#/components/schemas/CustomerTrustAccountNdaStatus",
            "description": "The status of the NDA for this account"
          },
          "ndaSatisfiedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The date and time the NDA was satisfied"
          }
        },
        "required": [
          "ndaStatus",
          "ndaSatisfiedDate"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "CustomerTrustAccountGrantAccessOption": {
        "type": "string",
        "enum": [
          "INCLUDE_EVERYTHING_REQUESTED",
          "INCLUDE_ONLY_CONFIGURED"
        ],
        "description": "How a CustomerTrustAccount determines which resources to grant its viewers access to."
      },
      "CustomerTrustAccountAccessConfig": {
        "properties": {
          "autoApprovalEnabled": {
            "type": "boolean",
            "description": "Whether access requests matching this account's email domain should be auto-approved"
          },
          "grantAccessOption": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CustomerTrustAccountGrantAccessOption"
              }
            ],
            "nullable": true,
            "description": "How to grant resource access for auto-approved requests"
          }
        },
        "required": [
          "autoApprovalEnabled",
          "grantAccessOption"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "TagsByCategoryOutput": {
        "properties": {
          "categoryId": {
            "type": "string",
            "description": "The tag category ID"
          },
          "tagIds": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "Tag IDs assigned in this category"
          }
        },
        "required": [
          "categoryId",
          "tagIds"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "CustomerTrustAccountVantaApi": {
        "description": "Vanta API representation of a CustomerTrustAccount.",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the account"
          },
          "name": {
            "type": "string",
            "description": "Name of the account"
          },
          "emailDomain": {
            "type": "string",
            "description": "Primary email domain associated with the account"
          },
          "createdDate": {
            "type": "string",
            "format": "date-time",
            "description": "When the account was created"
          },
          "updatedDate": {
            "type": "string",
            "format": "date-time",
            "description": "When the account was last updated"
          },
          "ndaDetails": {
            "$ref": "#/components/schemas/CustomerTrustAccountNDADetails",
            "description": "NDA configuration for this account"
          },
          "accessConfig": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CustomerTrustAccountAccessConfig"
              }
            ],
            "nullable": true,
            "description": "Access configuration for this account"
          },
          "customFields": {
            "items": {
              "$ref": "#/components/schemas/CustomField"
            },
            "type": "array",
            "description": "Custom field values for this account"
          },
          "tagsByCategory": {
            "items": {
              "$ref": "#/components/schemas/TagsByCategoryOutput"
            },
            "type": "array",
            "description": "Tags assigned to this account, grouped by category"
          }
        },
        "required": [
          "id",
          "name",
          "emailDomain",
          "createdDate",
          "updatedDate",
          "ndaDetails",
          "accessConfig",
          "customFields",
          "tagsByCategory"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PaginatedResponse_CustomerTrustAccountVantaApi_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/CustomerTrustAccountVantaApi"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "CustomerTrustAccountNDADetailsInput": {
        "properties": {
          "markNdaNotRequired": {
            "type": "boolean",
            "description": "Whether NDA requirement should be bypassed for access requests matching this account"
          }
        },
        "required": [
          "markNdaNotRequired"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "CustomerTrustAccountAccessConfigInput": {
        "properties": {
          "autoApprovalEnabled": {
            "type": "boolean",
            "description": "Whether access requests matching this account's email domain should be auto-approved"
          },
          "grantAccessOption": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CustomerTrustAccountGrantAccessOption"
              }
            ],
            "nullable": true,
            "description": "How to grant resource access for auto-approved requests. Must be specified if autoApprovalEnabled is true"
          },
          "tagsByCategory": {
            "items": {
              "$ref": "#/components/schemas/TagsByCategoryInput"
            },
            "type": "array",
            "description": "Tags to assign to this account, grouped by category.",
            "deprecated": true
          }
        },
        "required": [
          "autoApprovalEnabled"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "CreateCustomerTrustAccountInput": {
        "properties": {
          "name": {
            "type": "string"
          },
          "emailDomain": {
            "type": "string"
          },
          "ndaDetails": {
            "$ref": "#/components/schemas/CustomerTrustAccountNDADetailsInput"
          },
          "accessConfig": {
            "$ref": "#/components/schemas/CustomerTrustAccountAccessConfigInput"
          },
          "customFields": {
            "items": {
              "$ref": "#/components/schemas/CustomField"
            },
            "type": "array"
          },
          "tagsByCategory": {
            "items": {
              "$ref": "#/components/schemas/TagsByCategoryInput"
            },
            "type": "array",
            "description": "Tags to assign to this account, grouped by category"
          }
        },
        "required": [
          "name",
          "emailDomain"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "EditCustomerTrustAccountInput": {
        "properties": {
          "name": {
            "type": "string",
            "description": "Updated name for the account"
          },
          "emailDomain": {
            "type": "string",
            "description": "Updated primary email domain for the account"
          },
          "customFields": {
            "items": {
              "$ref": "#/components/schemas/CustomField"
            },
            "type": "array",
            "description": "Updated custom field values for the account"
          },
          "tagsByCategory": {
            "items": {
              "$ref": "#/components/schemas/TagsByCategoryInput"
            },
            "type": "array",
            "description": "Tags to assign to this account, grouped by category. Replaces existing tags per category."
          }
        },
        "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"
      },
      "FrameworkId": {
        "enum": [
          "AU_E_8",
          "AWS_FTR",
          "CCPA",
          "CIS_V8",
          "CPS_234",
          "DORA",
          "FEDRAMP",
          "GDPR",
          "HIPAA",
          "HITRUST_E1",
          "ISO_27001",
          "ISO_27001_2022",
          "ISO_27017",
          "ISO_27018",
          "ISO_27701",
          "ISO_42001",
          "ISO_9001",
          "MSFT_SSPA",
          "MVSP",
          "NIS_2D",
          "NIST_171",
          "NIST_53",
          "NIST_AI_RMF",
          "NIST_CSF",
          "NIST_CSF_2",
          "OFDSS",
          "PCI_SAQ_A",
          "PCI_SAQ_A_EP",
          "PCI_SAQ_D_MERCHANT",
          "PCI_SAQ_D_SP",
          "PCI_DDS_4",
          "SOC_2",
          "SOX_ITGC",
          "UK_CYBER_ESSENTIALS",
          "US_DATA_PRIVACY"
        ],
        "type": "string"
      },
      "FrameworkSection": {
        "properties": {
          "frameworkId": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/FrameworkId"
              },
              {
                "type": "string"
              }
            ]
          },
          "sectionId": {
            "type": "string"
          }
        },
        "required": [
          "frameworkId",
          "sectionId"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "GdprRole": {
        "enum": [
          "BOTH",
          "CONTROLLER",
          "PROCESSOR"
        ],
        "type": "string"
      },
      "CreateControlInput": {
        "properties": {
          "externalId": {
            "type": "string",
            "description": "The control's external ID."
          },
          "name": {
            "type": "string",
            "nullable": true,
            "description": "The control's name."
          },
          "description": {
            "type": "string",
            "description": "The control's description."
          },
          "effectiveDate": {
            "type": "string",
            "format": "date-time",
            "description": "The effective date of the control."
          },
          "domain": {
            "$ref": "#/components/schemas/ControlDomain",
            "description": "The control's category."
          },
          "sections": {
            "items": {
              "$ref": "#/components/schemas/FrameworkSection"
            },
            "type": "array",
            "nullable": true,
            "description": "The framework sections that the control maps to."
          },
          "role": {
            "allOf": [
              {
                "$ref": "#/components/schemas/GdprRole"
              }
            ],
            "nullable": true,
            "description": "The GDPR role of the control, which specifies whether the data is being \"collected\" or \"processed\".\nThis field should only be included for controls that are to be mapped to the GDPR framework."
          },
          "customFields": {
            "items": {
              "$ref": "#/components/schemas/CustomField"
            },
            "type": "array",
            "description": "The control's values for custom fields."
          }
        },
        "required": [
          "externalId",
          "name",
          "description",
          "effectiveDate",
          "domain"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "AddControlFromLibraryInput": {
        "properties": {
          "controlId": {
            "type": "string",
            "description": "The ID of the control to be added."
          }
        },
        "required": [
          "controlId"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "ControlStatus": {
        "enum": [
          "NO_EVIDENCE_MAPPED",
          "NOT_STARTED",
          "IN_PROGRESS",
          "COMPLETED"
        ],
        "type": "string"
      },
      "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
      },
      "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
      },
      "SetOwnerForControlInput": {
        "properties": {
          "userId": {
            "type": "string",
            "nullable": true,
            "description": "The new owner's ID."
          }
        },
        "required": [
          "userId"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "AddControlDocumentMappingInput": {
        "properties": {
          "documentId": {
            "type": "string",
            "description": "The ID of the document to add to the control."
          }
        },
        "required": [
          "documentId"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "AddControlTestMappingInput": {
        "properties": {
          "testId": {
            "type": "string",
            "description": "The ID of the test to add to the control."
          }
        },
        "required": [
          "testId"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "Contract": {
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the contract."
          },
          "externalId": {
            "type": "string",
            "nullable": true,
            "description": "Stable source-system identifier for the contract, if any."
          },
          "name": {
            "type": "string",
            "description": "Name of the contract."
          },
          "customerTrustAccountId": {
            "type": "string",
            "nullable": true,
            "description": "The ID of the customer trust account this contract is linked to, if any."
          },
          "executedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Date this contract was executed."
          },
          "creationDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date this contract was created in Vanta."
          }
        },
        "required": [
          "id",
          "externalId",
          "name",
          "customerTrustAccountId",
          "executedDate",
          "creationDate"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "PaginatedResponse_Contract_": {
        "properties": {
          "results": {
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/Contract"
                },
                "type": "array"
              },
              "pageInfo": {
                "$ref": "#/components/schemas/PageInfo"
              }
            },
            "required": [
              "data",
              "pageInfo"
            ],
            "type": "object"
          }
        },
        "required": [
          "results"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "TagIdentifier": {
        "properties": {
          "categoryId": {
            "type": "string"
          },
          "categoryName": {
            "type": "string"
          },
          "tagId": {
            "type": "string"
          },
          "tagName": {
            "type": "string"
          }
        },
        "required": [
          "categoryId",
          "categoryName",
          "tagId",
          "tagName"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "QuestionAnswerOutput": {
        "properties": {
          "question": {
            "type": "string",
            "description": "The question text."
          },
          "lastUpdated": {
            "type": "string",
            "format": "date-time",
            "description": "The most recent date the question or answer was updated."
          },
          "answer": {
            "properties": {
              "fullText": {
                "type": "string"
              },
              "multipleChoice": {
                "type": "string",
                "nullable": true
              },
              "explanation": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "fullText",
              "multipleChoice",
              "explanation"
            ],
            "type": "object"
          },
          "id": {
            "type": "string",
            "description": "The id of the upserted entry."
          },
          "tagIdentifiers": {
            "items": {
              "$ref": "#/components/schemas/TagIdentifier"
            },
            "type": "array",
            "description": "A list of tags associated with this Answer Library entry."
          }
        },
        "required": [
          "question",
          "lastUpdated",
          "answer",
          "id",
          "tagIdentifiers"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "QuestionAnswerInput": {
        "properties": {
          "question": {
            "type": "string",
            "description": "The question text."
          },
          "lastUpdated": {
            "type": "string",
            "format": "date-time",
            "description": "The most recent date the question or answer was updated."
          },
          "answer": {
            "type": "string",
            "description": "The answer text."
          },
          "tagAndCategoryIds": {
            "items": {
              "$ref": "#/components/schemas/TagInput"
            },
            "type": "array"
          }
        },
        "required": [
          "question",
          "lastUpdated",
          "answer"
        ],
        "type": "object",
        "additionalProperties": false
      }
    },
    "securitySchemes": {
      "oauth": {
        "type": "oauth2",
        "description": "Get an oauth token from the token url and use it as a bearer token to access the Vanta API.",
        "flows": {
          "clientCredentials": {
            "scopes": {
              "vanta-api.all:read": "Grant read-only access to all your data",
              "vanta-api.all:write": "Grant read-write access to all your data",
              "vanta-api.vendors:read": "Grant read-only access to your vendors and all its subresources",
              "vanta-api.vendors:write": "Grant read-write access to your vendors and all its subresources",
              "vanta-api.documents:read": "Grant read-only access to your documents and all its subresources",
              "vanta-api.documents:list": "Grant read-only access to listing documents",
              "vanta-api.documents:write": "Grant read-write access to your documents and all its subresources",
              "vanta-api.documents:upload": "Grant ability to upload documents to Vanta",
              "vanta-api.issues:read": "Grant read-only access to your issues",
              "vanta-api.issues:write": "Grant read-write access to your issues"
            },
            "tokenUrl": "https://api.vanta.com/oauth/token"
          }
        }
      },
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer"
      }
    }
  },
  "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\n\n**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"
    }
  },
  "paths": {
    "/contracts": {
      "post": {
        "operationId": "UploadContract",
        "responses": {
          "201": {
            "description": "Contract created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Contract"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "65e1efde08e8478f143a8ff9",
                      "externalId": "sharepoint-drive-item-123",
                      "name": "Example Contract",
                      "customerTrustAccountId": null,
                      "executedDate": "2024-01-15T00:00:00.000Z",
                      "creationDate": "2024-01-01T00:00:00.000Z"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Upload a contract.",
        "summary": "Upload contract",
        "tags": [
          "Contracts"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary",
                    "description": "The contract file to upload. Only PDF files are accepted."
                  },
                  "executedDate": {
                    "type": "string",
                    "description": "ISO 8601 date indicating when the contract was executed."
                  },
                  "accountId": {
                    "type": "string",
                    "description": "ID of the customer trust account to associate with this contract."
                  },
                  "externalId": {
                    "type": "string",
                    "description": "Stable source-system identifier used to reject duplicate contract uploads; repeats return 409. Use the upstream document or record ID when available, such as the Microsoft Graph DriveItem ID for SharePoint or the Ironclad record ID for Ironclad. If there is no source system, generate and store a durable idempotency key. Maximum 256 characters."
                  }
                },
                "required": [
                  "file"
                ]
              }
            }
          }
        }
      },
      "get": {
        "operationId": "ListContracts",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Contract_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "data": [
                          {
                            "id": "65e1efde08e8478f143a8ff9",
                            "externalId": "sharepoint-drive-item-123",
                            "name": "Example Contract",
                            "customerTrustAccountId": null,
                            "executedDate": "2024-01-15T00:00:00.000Z",
                            "creationDate": "2024-01-01T00:00:00.000Z"
                          }
                        ],
                        "pageInfo": {
                          "hasNextPage": false,
                          "hasPreviousPage": false,
                          "startCursor": "65e1efde08e8478f143a8ff9",
                          "endCursor": "65e1efde08e8478f143a8ff9"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "List contracts, paginated.",
        "summary": "List contracts",
        "tags": [
          "Contracts"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          }
        ]
      }
    },
    "/contracts/{contractId}": {
      "get": {
        "operationId": "GetContract",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Contract"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "65e1efde08e8478f143a8ff9",
                      "externalId": "sharepoint-drive-item-123",
                      "name": "Example Contract",
                      "customerTrustAccountId": null,
                      "executedDate": "2024-01-15T00:00:00.000Z",
                      "creationDate": "2024-01-01T00:00:00.000Z"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Get a contract by ID.",
        "summary": "Get contract",
        "tags": [
          "Contracts"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "contractId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "delete": {
        "operationId": "DeleteContract",
        "responses": {
          "204": {
            "description": "Contract deleted"
          }
        },
        "description": "Delete a contract by ID.",
        "summary": "Delete contract",
        "tags": [
          "Contracts"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "contractId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/controls": {
      "post": {
        "operationId": "CreateCustomControl",
        "responses": {
          "201": {
            "description": "Custom Control created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Control"
                },
                "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"
                      },
                      "role": "CONTROLLER",
                      "customFields": [
                        {
                          "label": "Additional context",
                          "value": "This control is critical for GDPR compliance"
                        }
                      ],
                      "creationDate": null,
                      "modificationDate": null
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Create a custom control.",
        "summary": "Create custom control",
        "tags": [
          "Controls"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateControlInput"
              }
            }
          }
        }
      },
      "get": {
        "operationId": "ListControls",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Control_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "data": [
                          {
                            "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"
                            },
                            "role": "CONTROLLER",
                            "customFields": [
                              {
                                "label": "Additional context",
                                "value": "This control is critical for GDPR compliance"
                              }
                            ],
                            "creationDate": null,
                            "modificationDate": null
                          }
                        ],
                        "pageInfo": {
                          "hasNextPage": false,
                          "hasPreviousPage": false,
                          "startCursor": "YXJyYXljb25uZWN0aW9uOjA=",
                          "endCursor": "YXJyYXljb25uZWN0aW9uOjE="
                        },
                        "totalCount": 1
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "List controls.",
        "summary": "List controls",
        "tags": [
          "Controls"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          },
          {
            "description": "Includes all controls belonging to one of the provided framework values in frameworkMatchesAny.",
            "in": "query",
            "name": "frameworkMatchesAny",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ]
      }
    },
    "/controls/add-from-library": {
      "post": {
        "operationId": "AddControlFromLibrary",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Control"
                },
                "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"
                      },
                      "role": "CONTROLLER",
                      "customFields": [
                        {
                          "label": "Additional context",
                          "value": "This control is critical for GDPR compliance"
                        }
                      ],
                      "creationDate": null,
                      "modificationDate": null
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Add a control from the Vanta library to your organization's controls.",
        "summary": "Add control from Vanta library",
        "tags": [
          "Controls"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddControlFromLibraryInput"
              }
            }
          }
        }
      }
    },
    "/controls/controls-library": {
      "get": {
        "operationId": "ListLibraryControls",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Control_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "data": [
                          {
                            "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"
                            },
                            "role": "CONTROLLER",
                            "customFields": [
                              {
                                "label": "Additional context",
                                "value": "This control is critical for GDPR compliance"
                              }
                            ],
                            "creationDate": null,
                            "modificationDate": null
                          }
                        ],
                        "pageInfo": {
                          "hasNextPage": false,
                          "hasPreviousPage": false,
                          "startCursor": "YXJyYXljb25uZWN0aW9uOjA=",
                          "endCursor": "YXJyYXljb25uZWN0aW9uOjE="
                        },
                        "totalCount": 1
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "List Vanta controls from the library.",
        "summary": "List Vanta controls from the library",
        "tags": [
          "Controls"
        ],
        "deprecated": true,
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          }
        ]
      }
    },
    "/controls/deactivated-controls": {
      "get": {
        "operationId": "ListDeactivatedControls",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Control_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "data": [
                          {
                            "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"
                            },
                            "role": "CONTROLLER",
                            "customFields": [
                              {
                                "label": "Additional context",
                                "value": "This control is critical for GDPR compliance"
                              }
                            ],
                            "creationDate": null,
                            "modificationDate": null
                          }
                        ],
                        "pageInfo": {
                          "hasNextPage": false,
                          "hasPreviousPage": false,
                          "startCursor": "YXJyYXljb25uZWN0aW9uOjA=",
                          "endCursor": "YXJyYXljb25uZWN0aW9uOjE="
                        },
                        "totalCount": 1
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "List deactivated Vanta controls (previously known as the controls library).",
        "summary": "List deactivated controls",
        "tags": [
          "Controls"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          }
        ]
      }
    },
    "/controls/{controlId}": {
      "patch": {
        "operationId": "UpdateControlMetadata",
        "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
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Update a control's metadata.",
        "summary": "Update a control's metadata",
        "tags": [
          "Controls"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "controlId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EditControlMetadataInput"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "DeleteControl",
        "responses": {
          "204": {
            "description": "No content"
          }
        },
        "description": "Deactivates a custom or Vanta control.",
        "summary": "Deactivates a control",
        "tags": [
          "Controls"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "controlId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "get": {
        "operationId": "GetControl",
        "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
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Get a control by an ID.",
        "summary": "Get control by an ID",
        "tags": [
          "Controls"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "controlId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/controls/{controlId}/add-document-to-control": {
      "post": {
        "operationId": "AddDocumentToControl",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "document": {
                      "$ref": "#/components/schemas/Document"
                    },
                    "control": {
                      "$ref": "#/components/schemas/Control"
                    }
                  },
                  "required": [
                    "document",
                    "control"
                  ],
                  "type": "object"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "control": {
                        "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"
                        },
                        "role": "CONTROLLER",
                        "customFields": [
                          {
                            "label": "Additional context",
                            "value": "This control is critical for GDPR compliance"
                          }
                        ],
                        "creationDate": null,
                        "modificationDate": null
                      },
                      "document": {
                        "id": "1",
                        "ownerId": "2",
                        "category": "Account setup",
                        "description": "Provide two examples of a recent access request and approval ",
                        "isSensitive": false,
                        "title": "Document Title",
                        "uploadStatus": "Needs document",
                        "uploadStatusDate": "2024-03-17T00:00:00.000Z",
                        "url": "https://example.com"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Add a document to a control.",
        "summary": "Add control to document mapping",
        "tags": [
          "Controls"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "controlId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddControlDocumentMappingInput"
              }
            }
          }
        }
      }
    },
    "/controls/{controlId}/add-test-to-control": {
      "post": {
        "operationId": "AddTestToControl",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "test": {
                      "$ref": "#/components/schemas/Test"
                    },
                    "control": {
                      "$ref": "#/components/schemas/Control"
                    }
                  },
                  "required": [
                    "test",
                    "control"
                  ],
                  "type": "object"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "control": {
                        "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"
                        },
                        "role": "CONTROLLER",
                        "customFields": [
                          {
                            "label": "Additional context",
                            "value": "This control is critical for GDPR compliance"
                          }
                        ],
                        "creationDate": null,
                        "modificationDate": null
                      },
                      "test": {
                        "id": "aws-account-access-removed-on-termination",
                        "name": "AWS accounts deprovisioned when personnel leave",
                        "lastTestRunDate": "2024-06-18T20:17:38.463Z",
                        "latestFlipDate": null,
                        "description": "Verifies that AWS accounts linked to removed users are removed.\n",
                        "failureDescription": "Some AWS accounts associated with terminated personnel have not been deactivated.",
                        "remediationDescription": "Remove all accounts listed from AWS.\n",
                        "version": {
                          "major": 0,
                          "minor": 0
                        },
                        "category": "Account security",
                        "integrations": [
                          "aws"
                        ],
                        "status": "OK",
                        "deactivatedStatusInfo": {
                          "isDeactivated": false,
                          "deactivatedReason": null,
                          "lastUpdatedDate": null
                        },
                        "remediationStatusInfo": {
                          "status": "PASS",
                          "soonestRemediateByDate": null,
                          "itemCount": 0
                        },
                        "owner": null
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Add a control to test mapping.",
        "summary": "Add control to test mapping",
        "tags": [
          "Controls"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "controlId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddControlTestMappingInput"
              }
            }
          }
        }
      }
    },
    "/controls/{controlId}/documents": {
      "get": {
        "operationId": "ListDocumentsForControl",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Document_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "data": [
                          {
                            "id": "1",
                            "ownerId": "2",
                            "category": "Account setup",
                            "description": "Provide two examples of a recent access request and approval ",
                            "isSensitive": false,
                            "title": "Document Title",
                            "uploadStatus": "Needs document",
                            "uploadStatusDate": "2024-03-17T00:00:00.000Z",
                            "url": "https://example.com"
                          }
                        ],
                        "pageInfo": {
                          "hasNextPage": false,
                          "hasPreviousPage": false,
                          "startCursor": "1",
                          "endCursor": "1"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "List a control's documents.",
        "summary": "List a control's documents",
        "tags": [
          "Controls"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "controlId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          }
        ]
      }
    },
    "/controls/{controlId}/documents/{documentId}": {
      "delete": {
        "operationId": "DeleteDocumentForcontrol",
        "responses": {
          "204": {
            "description": "No content"
          }
        },
        "description": "Remove a document by ID from a control.",
        "summary": "Remove control from document mapping",
        "tags": [
          "Controls"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "controlId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "documentId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/controls/{controlId}/set-owner": {
      "post": {
        "operationId": "SetOwnerForControl",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Control"
                },
                "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"
                      },
                      "role": "CONTROLLER",
                      "customFields": [
                        {
                          "label": "Additional context",
                          "value": "This control is critical for GDPR compliance"
                        }
                      ],
                      "creationDate": null,
                      "modificationDate": null
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Assign a control to a user or remove an owner from a control.",
        "summary": "Set owner of a control",
        "tags": [
          "Controls"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "controlId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetOwnerForControlInput"
              }
            }
          }
        }
      }
    },
    "/controls/{controlId}/tests": {
      "get": {
        "operationId": "ListTestsForControl",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Test_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "data": [
                          {
                            "id": "aws-account-access-removed-on-termination",
                            "name": "AWS accounts deprovisioned when personnel leave",
                            "lastTestRunDate": "2024-06-18T20:17:38.463Z",
                            "latestFlipDate": null,
                            "description": "Verifies that AWS accounts linked to removed users are removed.\n",
                            "failureDescription": "Some AWS accounts associated with terminated personnel have not been deactivated.",
                            "remediationDescription": "Remove all accounts listed from AWS.\n",
                            "version": {
                              "major": 0,
                              "minor": 0
                            },
                            "category": "Account security",
                            "integrations": [
                              "aws"
                            ],
                            "status": "OK",
                            "deactivatedStatusInfo": {
                              "isDeactivated": false,
                              "deactivatedReason": null,
                              "lastUpdatedDate": null
                            },
                            "remediationStatusInfo": {
                              "status": "PASS",
                              "soonestRemediateByDate": null,
                              "itemCount": 0
                            },
                            "owner": null
                          }
                        ],
                        "pageInfo": {
                          "hasNextPage": false,
                          "hasPreviousPage": false,
                          "startCursor": "1",
                          "endCursor": "1"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "List a control's tests.",
        "summary": "List a control's tests",
        "tags": [
          "Controls"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "controlId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          }
        ]
      }
    },
    "/controls/{controlId}/tests/{testId}": {
      "delete": {
        "operationId": "DeleteTestForControl",
        "responses": {
          "204": {
            "description": "No content"
          }
        },
        "description": "Remove a control from test mapping.",
        "summary": "Remove control from test mapping",
        "tags": [
          "Controls"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "controlId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "testId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/customer-trust/accounts": {
      "get": {
        "operationId": "ListCustomerTrustAccounts",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_CustomerTrustAccountVantaApi_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "pageInfo": {
                          "hasNextPage": true,
                          "hasPreviousPage": false,
                          "startCursor": "cursor1",
                          "endCursor": "cursor2"
                        },
                        "data": [
                          {
                            "id": "507f1f77bcf86cd799439011",
                            "name": "Acme Corporation",
                            "emailDomain": "acme.com",
                            "createdDate": "2024-01-01T00:00:00.000Z",
                            "updatedDate": "2024-01-02T00:00:00.000Z",
                            "ndaDetails": {
                              "ndaStatus": "SIGNED",
                              "ndaSatisfiedDate": "2024-01-02T00:00:00.000Z"
                            },
                            "accessConfig": {
                              "autoApprovalEnabled": false,
                              "grantAccessOption": "INCLUDE_EVERYTHING_REQUESTED"
                            },
                            "customFields": [
                              {
                                "label": "externalId",
                                "value": "12345"
                              }
                            ],
                            "tagsByCategory": [
                              {
                                "categoryId": "507f1f77bcf86cd799439012",
                                "tagIds": [
                                  "507f1f77bcf86cd799439013"
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "List customer trust accounts with pagination.",
        "summary": "List customer trust accounts",
        "tags": [
          "Customer Trust"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          },
          {
            "in": "query",
            "name": "searchString",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "isAutoApprovalEnabled",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "customFieldsFilter",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "post": {
        "operationId": "CreateCustomerTrustAccount",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerTrustAccountVantaApi"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "507f1f77bcf86cd799439011",
                      "name": "Acme Corporation",
                      "emailDomain": "acme.com",
                      "createdDate": "2024-01-01T00:00:00.000Z",
                      "updatedDate": "2024-01-02T00:00:00.000Z",
                      "ndaDetails": {
                        "ndaStatus": "SIGNED",
                        "ndaSatisfiedDate": "2024-01-02T00:00:00.000Z"
                      },
                      "accessConfig": {
                        "autoApprovalEnabled": false,
                        "grantAccessOption": "INCLUDE_EVERYTHING_REQUESTED"
                      },
                      "customFields": [
                        {
                          "label": "externalId",
                          "value": "12345"
                        }
                      ],
                      "tagsByCategory": [
                        {
                          "categoryId": "507f1f77bcf86cd799439012",
                          "tagIds": [
                            "507f1f77bcf86cd799439013"
                          ]
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Create a new customer trust account.",
        "summary": "Create customer trust account",
        "tags": [
          "Customer Trust"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCustomerTrustAccountInput"
              }
            }
          }
        }
      }
    },
    "/customer-trust/accounts/{accountId}": {
      "get": {
        "operationId": "GetCustomerTrustAccount",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerTrustAccountVantaApi"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "507f1f77bcf86cd799439011",
                      "name": "Acme Corporation",
                      "emailDomain": "acme.com",
                      "createdDate": "2024-01-01T00:00:00.000Z",
                      "updatedDate": "2024-01-02T00:00:00.000Z",
                      "ndaDetails": {
                        "ndaStatus": "SIGNED",
                        "ndaSatisfiedDate": "2024-01-02T00:00:00.000Z"
                      },
                      "accessConfig": {
                        "autoApprovalEnabled": false,
                        "grantAccessOption": "INCLUDE_EVERYTHING_REQUESTED"
                      },
                      "customFields": [
                        {
                          "label": "externalId",
                          "value": "12345"
                        }
                      ],
                      "tagsByCategory": [
                        {
                          "categoryId": "507f1f77bcf86cd799439012",
                          "tagIds": [
                            "507f1f77bcf86cd799439013"
                          ]
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Get a specific customer trust account by ID.",
        "summary": "Get customer trust account",
        "tags": [
          "Customer Trust"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "delete": {
        "operationId": "DeleteCustomerTrustAccount",
        "responses": {
          "204": {
            "description": "No content"
          }
        },
        "description": "Delete a customer trust account by ID.",
        "summary": "Delete customer trust account",
        "tags": [
          "Customer Trust"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "patch": {
        "operationId": "UpdateCustomerTrustAccount",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerTrustAccountVantaApi"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "507f1f77bcf86cd799439011",
                      "name": "Acme Corporation",
                      "emailDomain": "acme.com",
                      "createdDate": "2024-01-01T00:00:00.000Z",
                      "updatedDate": "2024-01-02T00:00:00.000Z",
                      "ndaDetails": {
                        "ndaStatus": "SIGNED",
                        "ndaSatisfiedDate": "2024-01-02T00:00:00.000Z"
                      },
                      "accessConfig": {
                        "autoApprovalEnabled": false,
                        "grantAccessOption": "INCLUDE_EVERYTHING_REQUESTED"
                      },
                      "customFields": [
                        {
                          "label": "externalId",
                          "value": "12345"
                        }
                      ],
                      "tagsByCategory": [
                        {
                          "categoryId": "507f1f77bcf86cd799439012",
                          "tagIds": [
                            "507f1f77bcf86cd799439013"
                          ]
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Update a customer trust account by ID.",
        "summary": "Update customer trust account",
        "tags": [
          "Customer Trust"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EditCustomerTrustAccountInput"
              }
            }
          }
        }
      }
    },
    "/customer-trust/deletion-requests": {
      "post": {
        "operationId": "CreateDeletionRequest",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateDeletionRequestResponse"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "isSuccessful": true
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Submit a Right to Be Forgotten (RTBF) data deletion request for the specified email address.",
        "summary": "Create data deletion request",
        "tags": [
          "Customer Trust"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDeletionRequestInput"
              }
            }
          }
        }
      }
    },
    "/customer-trust/questionnaires": {
      "get": {
        "operationId": "ListQuestionnaires",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_CustomerTrustQuestionnaire_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "data": [
                          {
                            "id": "507f1f77bcf86cd799439011",
                            "displayName": "SOC 2 Security Questionnaire",
                            "type": "SPREADSHEET",
                            "status": "IN_PROGRESS",
                            "statusLog": [],
                            "dueDate": "2024-12-31T00:00:00.000Z",
                            "metadata": [
                              {
                                "key": "priority",
                                "value": "high"
                              }
                            ],
                            "tagAndCategoryIds": [],
                            "createdDate": "2024-12-01T00:00:00.000Z",
                            "updatedDate": "2024-12-14T00:00:00.000Z"
                          }
                        ],
                        "pageInfo": {
                          "hasNextPage": false,
                          "hasPreviousPage": false,
                          "startCursor": "507f1f77bcf86cd799439011",
                          "endCursor": "507f1f77bcf86cd799439011"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "List questionnaires with filtering and pagination.",
        "summary": "List questionnaires",
        "tags": [
          "Customer Trust"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "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 questionnaires by display name (case-insensitive, partial match).",
            "in": "query",
            "name": "q",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter questionnaires matching any of the provided statuses.",
            "in": "query",
            "name": "statusMatchesAny",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/QuestionnaireStatus"
              }
            }
          },
          {
            "description": "Filter questionnaires matching any of the provided types.",
            "in": "query",
            "name": "typeMatchesAny",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/CustomerTrustQuestionnaireType"
              }
            }
          },
          {
            "description": "Filter to questionnaires created after this date (ISO 8601 string).",
            "in": "query",
            "name": "createdAfter",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter to questionnaires created before this date (ISO 8601 string).",
            "in": "query",
            "name": "createdBefore",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter to questionnaires owned by any of the provided user IDs.",
            "in": "query",
            "name": "ownerIdMatchesAny",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Filter to questionnaires with an approver matching any of the provided user IDs.",
            "in": "query",
            "name": "approverIdMatchesAny",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ]
      }
    },
    "/customer-trust/questionnaires/assignable-users": {
      "get": {
        "operationId": "ListAssignableUsers",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionnaireAssignableUsersResponse"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "data": [
                          {
                            "id": "usr_1234567890",
                            "displayName": "Jane Doe"
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "List users who can be assigned as owner or approver on a questionnaire.\n\nWhen a role is specified, results are filtered to users with that role's required permission.\nWhen omitted, users assignable to either role are returned.\nResults can optionally be narrowed by a search string.",
        "summary": "List assignable users",
        "tags": [
          "Customer Trust"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "description": "Filter by role: \"owner\" or \"approver\".",
            "in": "query",
            "name": "role",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/QuestionnaireAssignableUserRole"
            }
          },
          {
            "description": "Optional search string to filter users by name or email.",
            "in": "query",
            "name": "q",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/customer-trust/questionnaires/exports": {
      "post": {
        "operationId": "CreateQuestionnaireExport",
        "responses": {
          "202": {
            "description": "Export created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerTrustCreateQuestionnaireExportResponse"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "507f1f77bcf86cd799439011",
                      "status": "pending",
                      "format": "original",
                      "requestedAt": "2025-01-08T12:00:00.000Z"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Creates an asynchronous export job for a questionnaire. The export processes in the background\nand typically completes within a few minutes depending on questionnaire size.\n\nSubscribe to the `v1.questionnaire.export-completed` and `v1.questionnaire.export-failed` webhook events to be notified when an export completes or fails.\nUse the returned `id` with the \"getQuestionnaireExport\" endpoint to retrieve the download URL once the export completes.",
        "summary": "Create questionnaire export",
        "tags": [
          "Customer Trust"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerTrustCreateQuestionnaireExportInput"
              }
            }
          }
        }
      }
    },
    "/customer-trust/questionnaires/exports/{id}": {
      "get": {
        "operationId": "GetQuestionnaireExport",
        "responses": {
          "200": {
            "description": "The export status and, if completed, the download URL.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerTrustExportStatusResponse"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "507f1f77bcf86cd799439011",
                      "status": "completed",
                      "format": "original",
                      "requestedAt": "2025-01-08T12:00:00.000Z",
                      "completedAt": "2025-01-08T12:05:00.000Z",
                      "downloadUrl": "https://storage.example.com/exports/questionnaire-export.xlsx?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9&expires=1736424000",
                      "expiresAt": "2025-01-09T12:00:00.000Z"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Retrieves the current status and result of a questionnaire export using the id received from either the `createQuestionnaireExport` endpoint or the `v1.questionnaire.export-completed` webhook payload.\n\nThis endpoint utilizes a dynamic response schema that changes based on the value of the status field:\n\n  - pending: The export is currently in the queue or processing. Only base metadata is returned.\n  - completed: The export finished successfully. The response expands to include completedAt and a downloadUrl. This pre-signed URL is valid for 24 hours; if it expires, simply call this endpoint again to retrieve a fresh, active link.\n  - failed: The process encountered an error. The response expands to include failedAt and an errorMessage detailing the reason for failure.\n\nDevelopers should first check the status string before attempting to access result-specific fields like downloadUrl or errorMessage.",
        "summary": "Get questionnaire export status",
        "tags": [
          "Customer Trust"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "description": "The unique identifier of the export job, returned from the POST endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/customer-trust/questionnaires/file": {
      "post": {
        "operationId": "CreateFileQuestionnaire",
        "responses": {
          "201": {
            "description": "File questionnaire created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerTrustQuestionnaire"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "507f1f77bcf86cd799439011",
                      "displayName": "SOC 2 Security Questionnaire",
                      "type": "SPREADSHEET",
                      "status": "IN_PROGRESS",
                      "statusLog": [],
                      "dueDate": "2024-12-31T00:00:00.000Z",
                      "metadata": [
                        {
                          "key": "priority",
                          "value": "high"
                        }
                      ],
                      "tagAndCategoryIds": [],
                      "createdDate": "2024-12-01T00:00:00.000Z",
                      "updatedDate": "2024-12-14T00:00:00.000Z"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Create a new file-based questionnaire from an uploaded file (.xlsx, .docx, .pdf). File type is inferred as `SPREADSHEET` or `DOCUMENT` based on the uploaded file.",
        "summary": "Create file questionnaire",
        "tags": [
          "Customer Trust"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  },
                  "displayName": {
                    "type": "string",
                    "description": "Display name for the questionnaire."
                  },
                  "ownerAssignment": {
                    "type": "string",
                    "description": "Owner to assign, as a JSON string: {\"type\": \"User\" | \"Team\", \"id\": \"<id>\"}."
                  },
                  "approverAssignment": {
                    "type": "string",
                    "description": "Approver to assign, as a JSON string: {\"type\": \"User\" | \"Team\", \"id\": \"<id>\"}."
                  },
                  "description": {
                    "type": "string",
                    "description": "Description of the questionnaire."
                  },
                  "companyUrl": {
                    "type": "string",
                    "description": "URL of the company associated with this questionnaire."
                  },
                  "dueDate": {
                    "type": "string",
                    "description": "Due date for questionnaire completion."
                  },
                  "customerTrustAccountId": {
                    "type": "string",
                    "description": "ID of the customer trust account to associate with this questionnaire."
                  },
                  "includeUntaggedEntitiesForCategoryIds": {
                    "type": "string",
                    "description": "Comma-separated category IDs for which to include untagged entities."
                  },
                  "metadata": {
                    "type": "string",
                    "description": "Custom key-value pairs, as a JSON string array: [{\"key\": \"<key>\", \"value\": \"<value>\"}]. Keys and values may contain alphanumeric characters, hyphens, underscores, and periods."
                  },
                  "tagAndCategoryIds": {
                    "type": "string",
                    "description": "Tags to assign, as a JSON string array: [{\"categoryId\": \"<id>\", \"tagId\": \"<id>\"}]. Replaces all existing tags."
                  }
                },
                "required": [
                  "file",
                  "displayName"
                ]
              }
            }
          }
        }
      }
    },
    "/customer-trust/questionnaires/website": {
      "post": {
        "operationId": "CreateWebsiteQuestionnaire",
        "responses": {
          "201": {
            "description": "Website questionnaire created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerTrustQuestionnaire"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "507f1f77bcf86cd799439011",
                      "displayName": "SOC 2 Security Questionnaire",
                      "type": "SPREADSHEET",
                      "status": "IN_PROGRESS",
                      "statusLog": [],
                      "dueDate": "2024-12-31T00:00:00.000Z",
                      "metadata": [
                        {
                          "key": "priority",
                          "value": "high"
                        }
                      ],
                      "tagAndCategoryIds": [],
                      "createdDate": "2024-12-01T00:00:00.000Z",
                      "updatedDate": "2024-12-14T00:00:00.000Z"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Create a new website-based questionnaire from a portal URL.\n\nThe portal URL is used to fetch questionnaire content from the target website.",
        "summary": "Create website questionnaire",
        "tags": [
          "Customer Trust"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateWebsiteQuestionnaireInput"
              }
            }
          }
        }
      }
    },
    "/customer-trust/questionnaires/{questionnaireId}": {
      "get": {
        "operationId": "GetQuestionnaire",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerTrustQuestionnaire"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "507f1f77bcf86cd799439011",
                      "displayName": "SOC 2 Security Questionnaire",
                      "type": "SPREADSHEET",
                      "status": "IN_PROGRESS",
                      "statusLog": [],
                      "dueDate": "2024-12-31T00:00:00.000Z",
                      "metadata": [
                        {
                          "key": "priority",
                          "value": "high"
                        }
                      ],
                      "tagAndCategoryIds": [],
                      "createdDate": "2024-12-01T00:00:00.000Z",
                      "updatedDate": "2024-12-14T00:00:00.000Z"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Retrieve a questionnaire by ID.",
        "summary": "Get questionnaire by ID",
        "tags": [
          "Customer Trust"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "questionnaireId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "delete": {
        "operationId": "DeleteQuestionnaire",
        "responses": {
          "204": {
            "description": "No content"
          }
        },
        "description": "Delete a questionnaire by ID.",
        "summary": "Delete questionnaire",
        "tags": [
          "Customer Trust"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "questionnaireId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "patch": {
        "operationId": "UpdateQuestionnaire",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerTrustQuestionnaire"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "507f1f77bcf86cd799439011",
                      "displayName": "SOC 2 Security Questionnaire",
                      "type": "SPREADSHEET",
                      "status": "IN_PROGRESS",
                      "statusLog": [],
                      "dueDate": "2024-12-31T00:00:00.000Z",
                      "metadata": [
                        {
                          "key": "priority",
                          "value": "high"
                        }
                      ],
                      "tagAndCategoryIds": [],
                      "createdDate": "2024-12-01T00:00:00.000Z",
                      "updatedDate": "2024-12-14T00:00:00.000Z"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Update an existing questionnaire.\n\nUpdates one or more fields of a questionnaire.\nThis endpoint cannot be used to set a questionnaire's status to `APPROVED` or `COMPLETED`. To perform those specific transitions, please use the `approveQuestionnaire` and `completeQuestionnaire` endpoints, respectively.",
        "summary": "Update questionnaire",
        "tags": [
          "Customer Trust"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "questionnaireId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateQuestionnaireArgs"
              }
            }
          }
        }
      }
    },
    "/customer-trust/questionnaires/{questionnaireId}/approve": {
      "post": {
        "operationId": "ApproveQuestionnaire",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerTrustQuestionnaire"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "507f1f77bcf86cd799439011",
                      "displayName": "SOC 2 Security Questionnaire",
                      "type": "SPREADSHEET",
                      "status": "IN_PROGRESS",
                      "statusLog": [],
                      "dueDate": "2024-12-31T00:00:00.000Z",
                      "metadata": [
                        {
                          "key": "priority",
                          "value": "high"
                        }
                      ],
                      "tagAndCategoryIds": [],
                      "createdDate": "2024-12-01T00:00:00.000Z",
                      "updatedDate": "2024-12-14T00:00:00.000Z"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Mark a questionnaire as `APPROVED` and optionally provide a `statusChangeMessage`.",
        "summary": "Approve questionnaire",
        "tags": [
          "Customer Trust"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "questionnaireId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApproveQuestionnaireRequest"
              }
            }
          }
        }
      }
    },
    "/customer-trust/questionnaires/{questionnaireId}/complete": {
      "post": {
        "operationId": "CompleteQuestionnaire",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerTrustQuestionnaire"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "507f1f77bcf86cd799439011",
                      "displayName": "SOC 2 Security Questionnaire",
                      "type": "SPREADSHEET",
                      "status": "IN_PROGRESS",
                      "statusLog": [],
                      "dueDate": "2024-12-31T00:00:00.000Z",
                      "metadata": [
                        {
                          "key": "priority",
                          "value": "high"
                        }
                      ],
                      "tagAndCategoryIds": [],
                      "createdDate": "2024-12-01T00:00:00.000Z",
                      "updatedDate": "2024-12-14T00:00:00.000Z"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Complete a questionnaire and optionally sync approved answers to the answer library.\n\nTransitions the questionnaire status to COMPLETE. If `shouldSyncApprovedToAnswerLibrary` is true\n(the default), approved answers are added to the answer library for future use. For\nnon-English SPREADSHEET or DOCUMENT questionnaires, answer library sync will be ignored.",
        "summary": "Complete questionnaire",
        "tags": [
          "Customer Trust"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "questionnaireId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteQuestionnaireRequest"
              }
            }
          }
        }
      }
    },
    "/customer-trust/tag-categories": {
      "get": {
        "operationId": "ListTagCategories",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArrayResponse_UserDefinedTagCategory_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": [
                        {
                          "id": "507f1f77bcf86cd799439011",
                          "displayName": "Industry"
                        },
                        {
                          "id": "507f1f77bcf86cd799439012",
                          "displayName": "Region"
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "List user-defined tag categories. Optionally filter by product context.",
        "summary": "List tag categories",
        "tags": [
          "Customer Trust"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "query",
            "name": "productContextIdsMatchesAny",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/CustomerTrustProductContextIdFilter"
              }
            }
          }
        ]
      }
    },
    "/customer-trust/tag-categories/{tagCategoryId}": {
      "get": {
        "operationId": "GetTagsForCategory",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagCategoryWithTags"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "category": {
                        "id": "507f1f77bcf86cd799439011",
                        "displayName": "Industry"
                      },
                      "tags": [
                        {
                          "id": "507f1f77bcf86cd799439013",
                          "category": "507f1f77bcf86cd799439011",
                          "displayName": "Healthcare"
                        },
                        {
                          "id": "507f1f77bcf86cd799439014",
                          "category": "507f1f77bcf86cd799439011",
                          "displayName": "Finance"
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Retrieve a tag category and its associated tags by category ID.",
        "summary": "Get tags for category",
        "tags": [
          "Customer Trust"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "tagCategoryId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/discovered-vendors": {
      "get": {
        "operationId": "ListDiscoveredVendors",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_DiscoveredVendor_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "data": [
                          {
                            "id": "a2f7e1b9d0c3f4e5a6c7b8d8",
                            "name": "Vanta",
                            "category": {
                              "name": "Engineering"
                            },
                            "source": "JAMF",
                            "normalizedName": "vanta",
                            "discoveredDate": "2024-01-01T00:00:00.000Z",
                            "numberOfAccounts": 7,
                            "ignored": {
                              "ignoredByUserId": "6626afb14c912f0a50e85619",
                              "ignoredReason": "reason",
                              "ignoredAtDate": "2024-02-01T00:00:00.000Z"
                            },
                            "rejected": null
                          }
                        ],
                        "pageInfo": {
                          "hasNextPage": false,
                          "hasPreviousPage": false,
                          "startCursor": "6696ea0595df50d5cd6ec3b7",
                          "endCursor": "6696ece48eb1f98ff3d927c6"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "List discovered vendors.",
        "summary": "List discovered vendors",
        "tags": [
          "Discovered Vendors"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "description": "Defaults to \"NEEDS_REVIEW\" if not provided",
            "in": "query",
            "name": "scope",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/DiscoveredVendorScope"
            }
          },
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          }
        ]
      }
    },
    "/discovered-vendors/{discoveredVendorId}/accounts": {
      "get": {
        "operationId": "ListDiscoveredVendorAccounts",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_DiscoveredVendorAccount_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "data": [
                          {
                            "id": "66c6578ce02cc3a3483024d1",
                            "displayName": "Example Computer",
                            "type": "COMPUTER",
                            "owner": {
                              "id": "a2f7e1b9d0c3f4e5a6c7b8d8",
                              "displayName": "Example user",
                              "email": "example@example.com",
                              "type": "USER"
                            }
                          }
                        ],
                        "pageInfo": {
                          "hasNextPage": false,
                          "hasPreviousPage": false,
                          "startCursor": "6696ea0595df50d5cd6ec3b7",
                          "endCursor": "6696ece48eb1f98ff3d927c6"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "List of discovered vendor accounts.",
        "summary": "List of discovered vendor accounts",
        "tags": [
          "Discovered Vendors"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "discoveredVendorId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          }
        ]
      }
    },
    "/discovered-vendors/{discoveredVendorId}/add-to-managed": {
      "post": {
        "operationId": "AddDiscoveredVendorToManaged",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Vendor"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "a2f7e1b9d0c3f4e5a6c7b8d8",
                      "name": "Vanta",
                      "websiteUrl": "https://www.vanta.com/",
                      "accountManagerName": "John Doe",
                      "accountManagerEmail": "john@doe.com",
                      "servicesProvided": "SaaS",
                      "additionalNotes": "Automate compliance and streamline security reviews with the leading trust management platform.",
                      "authDetails": {
                        "method": "O_AUTH",
                        "passwordMFA": true,
                        "passwordRequiresNumber": true,
                        "passwordRequiresSymbol": true,
                        "passwordMinimumLength": 16
                      },
                      "securityOwnerUserId": "6626afa6490ec920099773e7",
                      "businessOwnerUserId": "6626afb14c912f0a50e85619",
                      "contractStartDate": "2024-02-01T00:00:00.000Z",
                      "contractRenewalDate": "2025-02-01T00:00:00.000Z",
                      "contractTerminationDate": null,
                      "lastSecurityReviewCompletionDate": "2024-01-01T00:00:00.000Z",
                      "nextSecurityReviewDueDate": "2025-01-01T00:00:00.000Z",
                      "isVisibleToAuditors": true,
                      "isRiskAutoScored": true,
                      "category": {
                        "displayName": "cloudMonitoring"
                      },
                      "riskAttributeIds": [
                        "6626b0298acc44f8674390da",
                        "6626b02ea4cd9ba80d773c20"
                      ],
                      "status": "MANAGED",
                      "inherentRiskLevel": "HIGH",
                      "residualRiskLevel": "MEDIUM",
                      "vendorHeadquarters": "USA",
                      "contractAmount": {
                        "amount": 1000000,
                        "currency": "USD"
                      },
                      "customFields": null,
                      "latestDecision": {
                        "status": "APPROVED",
                        "lastUpdatedAt": "2024-01-01T00:00:00.000Z"
                      },
                      "linkedTaskTrackerTaskProcurementRequest": {
                        "service": "jira",
                        "url": "https://random-company.atlassian.net/browse/PROJ-123"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Add a discovered vendor to managed vendor.",
        "summary": "Adds a discovered vendor to managed vendor by ID",
        "tags": [
          "Discovered Vendors"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "discoveredVendorId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/documents": {
      "post": {
        "operationId": "CreateDocument",
        "responses": {
          "201": {
            "description": "Document created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Document"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "1",
                      "ownerId": "2",
                      "category": "Account setup",
                      "description": "Provide two examples of a recent access request and approval ",
                      "isSensitive": false,
                      "title": "Document Title",
                      "uploadStatus": "Needs document",
                      "uploadStatusDate": "2024-03-17T00:00:00.000Z",
                      "url": "https://example.com"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Create a custom document.",
        "summary": "Create a custom document",
        "tags": [
          "Documents"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDocumentInput"
              }
            }
          }
        }
      },
      "get": {
        "operationId": "ListDocuments",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Document_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "data": [
                          {
                            "id": "1",
                            "ownerId": "2",
                            "category": "Account setup",
                            "description": "Provide two examples of a recent access request and approval ",
                            "isSensitive": false,
                            "title": "Document Title",
                            "uploadStatus": "Needs document",
                            "uploadStatusDate": "2024-03-17T00:00:00.000Z",
                            "url": "https://example.com"
                          }
                        ],
                        "pageInfo": {
                          "hasNextPage": false,
                          "hasPreviousPage": false,
                          "startCursor": "1",
                          "endCursor": "1"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "List documents.",
        "summary": "List documents",
        "tags": [
          "Documents"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          },
          {
            "description": "Includes all documents that match one of the provided framework values in frameworkMatchesAny.",
            "in": "query",
            "name": "frameworkMatchesAny",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Includes all documents that match one of the provided status values in statusMatchesAny.",
            "in": "query",
            "name": "statusMatchesAny",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/DocumentStatus"
              }
            }
          }
        ]
      }
    },
    "/documents/{documentId}": {
      "delete": {
        "operationId": "DeleteDocument",
        "responses": {
          "204": {
            "description": "No content"
          }
        },
        "description": "Delete a document by ID.",
        "summary": "Delete document by ID",
        "tags": [
          "Documents"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "documentId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "get": {
        "operationId": "GetDocument",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentDetail"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "access-requests",
                      "title": "Access request ticket and history",
                      "description": "Provide two examples of a recent access request and approval ",
                      "isSensitive": false,
                      "uploadStatusDate": "2024-03-17T00:00:00.000Z",
                      "category": "Account setup",
                      "uploadStatus": "Needs document",
                      "url": "https://example.com",
                      "ownerId": "1",
                      "note": "Example document note",
                      "nextRenewalDate": "2025-03-17T00:00:00.000Z",
                      "renewalCadence": "P1Y",
                      "reminderWindow": "P1M",
                      "deactivatedStatus": {
                        "isDeactivated": false,
                        "reason": null,
                        "expiration": null,
                        "creationDate": "2024-03-02T00:00:00.000Z"
                      },
                      "subscribers": []
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Get a document by ID.",
        "summary": "Get document by ID",
        "tags": [
          "Documents"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "documentId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/documents/{documentId}/controls": {
      "get": {
        "operationId": "ListControlsForDocument",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Control_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "data": [
                          {
                            "id": "1",
                            "ownerId": "2",
                            "category": "Account setup",
                            "description": "Provide two examples of a recent access request and approval ",
                            "isSensitive": false,
                            "title": "Document Title",
                            "uploadStatus": "Needs document",
                            "uploadStatusDate": "2024-03-17T00:00:00.000Z",
                            "url": "https://example.com"
                          }
                        ],
                        "pageInfo": {
                          "hasNextPage": false,
                          "hasPreviousPage": false,
                          "startCursor": "1",
                          "endCursor": "1"
                        }
                      }
                    }
                  },
                  "Example 2": {
                    "value": {
                      "results": {
                        "data": [
                          {
                            "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"
                            },
                            "role": "CONTROLLER",
                            "customFields": [
                              {
                                "label": "Additional context",
                                "value": "This control is critical for GDPR compliance"
                              }
                            ],
                            "creationDate": null,
                            "modificationDate": null
                          }
                        ],
                        "pageInfo": {
                          "hasNextPage": false,
                          "hasPreviousPage": false,
                          "startCursor": "YXJyYXljb25uZWN0aW9uOjA=",
                          "endCursor": "YXJyYXljb25uZWN0aW9uOjE="
                        },
                        "totalCount": 1
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "List a document's associated controls.",
        "summary": "List document's controls",
        "tags": [
          "Documents"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "documentId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          }
        ]
      }
    },
    "/documents/{documentId}/links": {
      "get": {
        "operationId": "ListLinksForDocument",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_UploadedLink_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "data": [
                          {
                            "id": "1",
                            "creationDate": "2024-06-26T00:00:00.000Z",
                            "effectiveDate": "2024-07-01T00:00:00.000Z",
                            "title": "example link",
                            "url": "https://example.com/",
                            "description": "example link"
                          }
                        ],
                        "pageInfo": {
                          "hasNextPage": false,
                          "hasPreviousPage": false,
                          "startCursor": "1",
                          "endCursor": "1"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "List the uploaded links for a document.",
        "summary": "List document's links",
        "tags": [
          "Documents"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "documentId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          }
        ]
      },
      "post": {
        "operationId": "CreateLinkForDocument",
        "responses": {
          "201": {
            "description": "Link created for document",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UploadedLink"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "1",
                      "creationDate": "2024-06-26T00:00:00.000Z",
                      "effectiveDate": "2024-07-01T00:00:00.000Z",
                      "title": "example link",
                      "url": "https://example.com/",
                      "description": "example link"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Create a link for a document.",
        "summary": "Create document link",
        "tags": [
          "Documents"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "documentId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateLinkForDocumentInput"
              }
            }
          }
        }
      }
    },
    "/documents/{documentId}/links/{linkId}": {
      "delete": {
        "operationId": "DeleteLinkForDocument",
        "responses": {
          "204": {
            "description": "No content"
          }
        },
        "description": "Remove a link from a document.",
        "summary": "Remove document link",
        "tags": [
          "Documents"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "documentId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "linkId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/documents/{documentId}/set-owner": {
      "post": {
        "operationId": "SetOwnerForDocument",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Document"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "1",
                      "ownerId": "2",
                      "category": "Account setup",
                      "description": "Provide two examples of a recent access request and approval ",
                      "isSensitive": false,
                      "title": "Document Title",
                      "uploadStatus": "Needs document",
                      "uploadStatusDate": "2024-03-17T00:00:00.000Z",
                      "url": "https://example.com"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Assign or unassign a user to the document.",
        "summary": "Set document owner",
        "tags": [
          "Documents"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "documentId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetOwnerForDocumentInput"
              }
            }
          }
        }
      }
    },
    "/documents/{documentId}/submit": {
      "post": {
        "operationId": "SubmitDocumentCollection",
        "responses": {
          "204": {
            "description": "No content"
          }
        },
        "description": "Submit document collection.",
        "summary": "Submit document collection",
        "tags": [
          "Documents"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "documentId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/documents/{documentId}/uploads": {
      "post": {
        "operationId": "UploadFileForDocument",
        "responses": {
          "201": {
            "description": "File uploaded for document",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UploadedFileT"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "1",
                      "fileName": "Document Name",
                      "title": "Document title",
                      "description": "Document Description",
                      "url": "https://example.com",
                      "creationDate": "2024-03-17T00:00:00.000Z",
                      "updatedDate": "2024-03-18T00:00:00.000Z",
                      "effectiveDate": "2024-03-17T00:00:00.000Z",
                      "deletionDate": null,
                      "mimeType": "application/pdf",
                      "uploadedBy": {
                        "id": "66993da0cf4ba2ad40599ba7",
                        "type": "USER"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Upload a file for a document.",
        "summary": "Upload file for document",
        "tags": [
          "Documents"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "documentId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  },
                  "effectiveAtDate": {
                    "type": "string",
                    "description": "Date indicating when the document is effective from."
                  },
                  "description": {
                    "type": "string",
                    "description": "Description of the uploaded document."
                  }
                },
                "required": [
                  "file"
                ]
              }
            }
          }
        }
      },
      "get": {
        "operationId": "ListFilesForDocument",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_UploadedFileT_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "data": [
                          {
                            "id": "1",
                            "fileName": "Document Name",
                            "title": "Document title",
                            "description": "Document Description",
                            "url": "https://example.com",
                            "creationDate": "2024-03-17T00:00:00.000Z",
                            "updatedDate": "2024-03-18T00:00:00.000Z",
                            "effectiveDate": "2024-03-17T00:00:00.000Z",
                            "deletionDate": null,
                            "mimeType": "application/pdf",
                            "uploadedBy": {
                              "id": "66993da0cf4ba2ad40599ba7",
                              "type": "USER"
                            }
                          }
                        ],
                        "pageInfo": {
                          "hasNextPage": false,
                          "hasPreviousPage": false,
                          "startCursor": "1",
                          "endCursor": "1"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "List the uploaded files for a document.",
        "summary": "List document's uploads",
        "tags": [
          "Documents"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "documentId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          }
        ]
      }
    },
    "/documents/{documentId}/uploads/{uploadedFileId}": {
      "delete": {
        "operationId": "DeleteFileForDocument",
        "responses": {
          "204": {
            "description": "No content"
          }
        },
        "description": "Delete a file for a document.",
        "summary": "Delete file for a document",
        "tags": [
          "Documents"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "documentId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "uploadedFileId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/documents/{documentId}/uploads/{uploadedFileId}/media": {
      "get": {
        "operationId": "GetUploadedfileMedia",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "text/markdown": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "application/vnd.ms-excel": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "image/svg+xml": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "application/x-pem-file": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "application/x-x509-ca-cert": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "application/x-x509-user-cert": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "image/bmp": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "application/msword": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "application/vnd.openxmlformats-officedocument.wordprocessingml.document": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "application/gzip": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "image/x-icon": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "image/vnd.microsoft.icon": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "image/jpeg": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "application/pdf": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "image/png": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "application/postscript": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "application/vnd.ms-powerpoint": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "application/vnd.openxmlformats-officedocument.presentationml.presentation": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "image/webp": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "font/woff2": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "application/zip": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "application/x-zip-compressed": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              }
            }
          }
        },
        "description": "Download a file from a document.",
        "summary": "Download file for document",
        "tags": [
          "Documents"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "documentId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "uploadedFileId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/event-logs": {
      "get": {
        "operationId": "ListEventLogs",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_EventLog_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "data": [
                          {
                            "id": "69fbbae3e16190a288ee8eb0",
                            "actor": {
                              "id": "69fbbaf987273a4b462580e9",
                              "type": "USER"
                            },
                            "date": "2026-05-03T21:08:22.385Z",
                            "action": "LOGIN_USER",
                            "targets": [
                              {
                                "id": "email",
                                "type": "LOGIN_METHOD"
                              }
                            ]
                          }
                        ],
                        "pageInfo": {
                          "hasNextPage": false,
                          "hasPreviousPage": false,
                          "startCursor": "eyJjcmVhdGVkQXQiOnsiJGRhdGUiOiIyMDI2LTA1LTAzVDIxOjA4OjExLjQzNFoifSwiX2lkIjp7IiRvaWQiOiI2OGZiYmFlM2UxNjA5MGEyODRlZThlYjAifX0=",
                          "endCursor": "eyJjcmVhdGVkQXQiOnsiJGRhdGUiOiIyMDI2LTA1LTAzVDIxOjA4OjIyLjM4NVoifSwiX2lkIjp7IiRvaWQiOiI2OWZiYmFlM2UxNjE5MGEyODhlZThlYjAifX0="
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "List event logs.\n\nSee the [event log reference](/reference/manage-vanta/event-log-reference) for an inexhaustive list of `actor.type`, `action`, and `targets[].type` values.",
        "summary": "List event logs",
        "tags": [
          "Event Logs"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "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 to event logs created at or after this ISO 8601 timestamp.",
            "in": "query",
            "name": "startDate",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          }
        ]
      }
    },
    "/frameworks": {
      "get": {
        "operationId": "ListFrameworks",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Framework_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "data": [
                          {
                            "id": "soc2",
                            "displayName": "SOC 2",
                            "shorthandName": "SOC 2",
                            "description": "AICPA standardized framework to prove a company’s security posture to prospective customers. For all US and international businesses.",
                            "numControlsCompleted": 43,
                            "numControlsTotal": 86,
                            "numDocumentsPassing": 7,
                            "numDocumentsTotal": 16,
                            "numTestsPassing": 21,
                            "numTestsTotal": 46
                          }
                        ],
                        "pageInfo": {
                          "hasNextPage": false,
                          "hasPreviousPage": false,
                          "startCursor": "aXNvMjcwMDFfMjAyMg==",
                          "endCursor": "aXNvMjcwMDFfMjAyMg=="
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Lists available frameworks.",
        "summary": "List available frameworks",
        "tags": [
          "Frameworks"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          }
        ]
      }
    },
    "/frameworks/{frameworkId}": {
      "get": {
        "operationId": "GetFramework",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FrameworkDetail"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "soc2",
                      "displayName": "SOC 2",
                      "shorthandName": "SOC 2",
                      "description": "AICPA standardized framework to prove a company’s security posture to prospective customers. For all US and international businesses.",
                      "numControlsCompleted": 43,
                      "numControlsTotal": 86,
                      "numDocumentsPassing": 7,
                      "numDocumentsTotal": 16,
                      "numTestsPassing": 21,
                      "numTestsTotal": 46,
                      "requirementCategories": [
                        {
                          "id": "CC 1.0",
                          "name": "Control Environment",
                          "shorthand": null,
                          "requirements": [
                            {
                              "id": "CC 1.1",
                              "name": "",
                              "shorthand": null,
                              "description": "COSO Principle 1: The entity demonstrates a commitment to integrity and ethical values.",
                              "controls": [
                                {
                                  "id": "background-checks-performed",
                                  "externalId": null,
                                  "name": "Personnel background checks performed",
                                  "description": "The company performs background checks on new personnel."
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Get a framework by ID.",
        "summary": "Get framework by ID",
        "tags": [
          "Frameworks"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "frameworkId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/frameworks/{frameworkId}/controls": {
      "get": {
        "operationId": "ListControlsForFramework",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Control_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "data": [
                          {
                            "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"
                            },
                            "role": "CONTROLLER",
                            "customFields": [
                              {
                                "label": "Additional context",
                                "value": "This control is critical for GDPR compliance"
                              }
                            ],
                            "creationDate": null,
                            "modificationDate": null
                          }
                        ],
                        "pageInfo": {
                          "hasNextPage": false,
                          "hasPreviousPage": false,
                          "startCursor": "YXJyYXljb25uZWN0aW9uOjA=",
                          "endCursor": "YXJyYXljb25uZWN0aW9uOjE="
                        },
                        "totalCount": 1
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "List a framework's controls.",
        "summary": "List a framework's controls",
        "tags": [
          "Frameworks"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "frameworkId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          }
        ]
      }
    },
    "/groups": {
      "get": {
        "operationId": "ListPersonGroups",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Group_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "data": [
                          {
                            "id": "5f2c939a52855e725c8d5824",
                            "name": "Default Group",
                            "creationDate": "2024-03-07T18:46:05.944Z"
                          }
                        ],
                        "pageInfo": {
                          "hasNextPage": false,
                          "hasPreviousPage": false,
                          "startCursor": "5f2c939a52855e725c8d5824",
                          "endCursor": "5f2c939a52855e725c8d5824"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Lists all groups by ID.",
        "summary": "List groups",
        "tags": [
          "Groups"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          }
        ]
      }
    },
    "/groups/{groupId}": {
      "get": {
        "operationId": "GetGroup",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Group"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "5f2c939a52855e725c8d5824",
                      "name": "Default Group",
                      "creationDate": "2024-03-07T18:46:05.944Z"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Get a group by ID.",
        "summary": "Get group by ID",
        "tags": [
          "Groups"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/groups/{groupId}/add-people": {
      "post": {
        "operationId": "AddPeopleToGroup",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BulkResponse"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": [
                        {
                          "id": "person-id-1",
                          "status": "SUCCESS"
                        },
                        {
                          "id": "person-id-2",
                          "status": "ERROR",
                          "message": "Invalid Input"
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Add people to a group.",
        "summary": "Add people to group",
        "tags": [
          "Groups"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "updates": {
                    "items": {
                      "properties": {
                        "id": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id"
                      ],
                      "type": "object"
                    },
                    "type": "array",
                    "description": "List of people IDs to add a group.",
                    "minItems": 1,
                    "maxItems": 100
                  }
                },
                "required": [
                  "updates"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/groups/{groupId}/people": {
      "get": {
        "operationId": "GetGroupMembers",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Person"
                  },
                  "type": "array"
                },
                "examples": {
                  "Example 1": {
                    "value": [
                      {
                        "id": "65e1efde08e8478f143a8ff9",
                        "userId": "65e1efde08e8478f143a9001",
                        "emailAddress": "example-person@email.com",
                        "employment": {
                          "endDate": null,
                          "jobTitle": "Customer success manager",
                          "startDate": "2021-01-01T00:00:00.000Z",
                          "status": "CURRENT"
                        },
                        "leaveInfo": null,
                        "groupIds": [
                          "5f2c939a52855e725c8d5824"
                        ],
                        "name": {
                          "display": "Example Person",
                          "last": "Person",
                          "first": "Example"
                        },
                        "sources": {
                          "emailAddress": {
                            "integrationId": "gsuiteadmin",
                            "resourceId": "660c701d3d344e660b032306",
                            "type": "INTEGRATION"
                          },
                          "employment": {
                            "startDate": {
                              "integrationId": "gusto",
                              "resourceId": "660c70783d344e660b032323",
                              "type": "INTEGRATION"
                            },
                            "endDate": {
                              "integrationId": "gusto",
                              "resourceId": "660c70783d344e660b032323",
                              "type": "INTEGRATION"
                            }
                          }
                        },
                        "tasksSummary": {
                          "completionDate": null,
                          "dueDate": "2021-12-01T00:00:00.000Z",
                          "status": "OVERDUE",
                          "details": {
                            "completeTrainings": {
                              "taskType": "COMPLETE_TRAININGS",
                              "status": "COMPLETE",
                              "dueDate": "2021-12-01T00:00:00.000Z",
                              "completionDate": "2021-11-01T00:00:00.000Z",
                              "disabled": {
                                "date": "2021-11-01T00:00:00.000Z",
                                "reason": "Training Vanta tests have been disabled for this person"
                              },
                              "incompleteTrainings": [
                                {
                                  "name": "Security training 1"
                                },
                                {
                                  "name": "Security training 2"
                                }
                              ],
                              "completedTrainings": [
                                {
                                  "name": "Security training 3"
                                },
                                {
                                  "name": "Security training 4"
                                }
                              ]
                            },
                            "acceptPolicies": {
                              "taskType": "ACCEPT_POLICIES",
                              "status": "COMPLETE",
                              "dueDate": "2021-12-01T00:00:00.000Z",
                              "completionDate": "2021-11-01T00:00:00.000Z",
                              "disabled": null,
                              "unacceptedPolicies": [
                                {
                                  "name": "Policy 1"
                                },
                                {
                                  "name": "Policy 2"
                                }
                              ],
                              "acceptedPolicies": [
                                {
                                  "name": "Policy 3"
                                },
                                {
                                  "name": "Policy 4"
                                }
                              ]
                            },
                            "completeCustomTasks": {
                              "taskType": "COMPLETE_CUSTOM_TASKS",
                              "status": "OVERDUE",
                              "dueDate": "2021-12-01T00:00:00.000Z",
                              "completionDate": "2021-11-01T00:00:00.000Z",
                              "disabled": {
                                "date": "2021-11-01T00:00:00.000Z",
                                "reason": "Custom task Vanta tests have been disabled for this person"
                              },
                              "incompleteCustomTasks": [
                                {
                                  "name": "Custom task 1"
                                },
                                {
                                  "name": "Custom task 2"
                                }
                              ],
                              "completedCustomTasks": [
                                {
                                  "name": "Custom task 3"
                                },
                                {
                                  "name": "Custom task 4"
                                }
                              ]
                            },
                            "completeOffboardingCustomTasks": {
                              "taskType": "COMPLETE_CUSTOM_OFFBOARDING_TASKS",
                              "status": "COMPLETE",
                              "dueDate": "2021-12-01T00:00:00.000Z",
                              "completionDate": "2021-11-01T00:00:00.000Z",
                              "disabled": null,
                              "incompleteCustomOffboardingTasks": [],
                              "completedCustomOffboardingTasks": [
                                {
                                  "name": "Custom offboarding task 1"
                                },
                                {
                                  "name": "Custom offboarding task 2"
                                }
                              ]
                            },
                            "installDeviceMonitoring": {
                              "taskType": "INSTALL_DEVICE_MONITORING",
                              "status": "DUE_SOON",
                              "dueDate": "2021-12-01T00:00:00.000Z",
                              "completionDate": null,
                              "disabled": null
                            },
                            "completeBackgroundChecks": {
                              "taskType": "COMPLETE_BACKGROUND_CHECKS",
                              "status": "COMPLETE",
                              "dueDate": "2021-12-01T00:00:00.000Z",
                              "completionDate": "2021-11-01T00:00:00.000Z",
                              "disabled": null
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "description": "List people in a group.",
        "summary": "List people in a group",
        "tags": [
          "Groups"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "post": {
        "operationId": "AddPersonToGroup",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Person"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "65e1efde08e8478f143a8ff9",
                      "userId": "65e1efde08e8478f143a9001",
                      "emailAddress": "example-person@email.com",
                      "employment": {
                        "endDate": null,
                        "jobTitle": "Customer success manager",
                        "startDate": "2021-01-01T00:00:00.000Z",
                        "status": "CURRENT"
                      },
                      "leaveInfo": null,
                      "groupIds": [
                        "5f2c939a52855e725c8d5824"
                      ],
                      "name": {
                        "display": "Example Person",
                        "last": "Person",
                        "first": "Example"
                      },
                      "sources": {
                        "emailAddress": {
                          "integrationId": "gsuiteadmin",
                          "resourceId": "660c701d3d344e660b032306",
                          "type": "INTEGRATION"
                        },
                        "employment": {
                          "startDate": {
                            "integrationId": "gusto",
                            "resourceId": "660c70783d344e660b032323",
                            "type": "INTEGRATION"
                          },
                          "endDate": {
                            "integrationId": "gusto",
                            "resourceId": "660c70783d344e660b032323",
                            "type": "INTEGRATION"
                          }
                        }
                      },
                      "tasksSummary": {
                        "completionDate": null,
                        "dueDate": "2021-12-01T00:00:00.000Z",
                        "status": "OVERDUE",
                        "details": {
                          "completeTrainings": {
                            "taskType": "COMPLETE_TRAININGS",
                            "status": "COMPLETE",
                            "dueDate": "2021-12-01T00:00:00.000Z",
                            "completionDate": "2021-11-01T00:00:00.000Z",
                            "disabled": {
                              "date": "2021-11-01T00:00:00.000Z",
                              "reason": "Training Vanta tests have been disabled for this person"
                            },
                            "incompleteTrainings": [
                              {
                                "name": "Security training 1"
                              },
                              {
                                "name": "Security training 2"
                              }
                            ],
                            "completedTrainings": [
                              {
                                "name": "Security training 3"
                              },
                              {
                                "name": "Security training 4"
                              }
                            ]
                          },
                          "acceptPolicies": {
                            "taskType": "ACCEPT_POLICIES",
                            "status": "COMPLETE",
                            "dueDate": "2021-12-01T00:00:00.000Z",
                            "completionDate": "2021-11-01T00:00:00.000Z",
                            "disabled": null,
                            "unacceptedPolicies": [
                              {
                                "name": "Policy 1"
                              },
                              {
                                "name": "Policy 2"
                              }
                            ],
                            "acceptedPolicies": [
                              {
                                "name": "Policy 3"
                              },
                              {
                                "name": "Policy 4"
                              }
                            ]
                          },
                          "completeCustomTasks": {
                            "taskType": "COMPLETE_CUSTOM_TASKS",
                            "status": "OVERDUE",
                            "dueDate": "2021-12-01T00:00:00.000Z",
                            "completionDate": "2021-11-01T00:00:00.000Z",
                            "disabled": {
                              "date": "2021-11-01T00:00:00.000Z",
                              "reason": "Custom task Vanta tests have been disabled for this person"
                            },
                            "incompleteCustomTasks": [
                              {
                                "name": "Custom task 1"
                              },
                              {
                                "name": "Custom task 2"
                              }
                            ],
                            "completedCustomTasks": [
                              {
                                "name": "Custom task 3"
                              },
                              {
                                "name": "Custom task 4"
                              }
                            ]
                          },
                          "completeOffboardingCustomTasks": {
                            "taskType": "COMPLETE_CUSTOM_OFFBOARDING_TASKS",
                            "status": "COMPLETE",
                            "dueDate": "2021-12-01T00:00:00.000Z",
                            "completionDate": "2021-11-01T00:00:00.000Z",
                            "disabled": null,
                            "incompleteCustomOffboardingTasks": [],
                            "completedCustomOffboardingTasks": [
                              {
                                "name": "Custom offboarding task 1"
                              },
                              {
                                "name": "Custom offboarding task 2"
                              }
                            ]
                          },
                          "installDeviceMonitoring": {
                            "taskType": "INSTALL_DEVICE_MONITORING",
                            "status": "DUE_SOON",
                            "dueDate": "2021-12-01T00:00:00.000Z",
                            "completionDate": null,
                            "disabled": null
                          },
                          "completeBackgroundChecks": {
                            "taskType": "COMPLETE_BACKGROUND_CHECKS",
                            "status": "COMPLETE",
                            "dueDate": "2021-12-01T00:00:00.000Z",
                            "completionDate": "2021-11-01T00:00:00.000Z",
                            "disabled": null
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Add a single person, by ID, to a group.",
        "summary": "Add person to a group",
        "tags": [
          "Groups"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "id": {
                    "type": "string"
                  }
                },
                "required": [
                  "id"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/groups/{groupId}/people/{personId}": {
      "delete": {
        "operationId": "RemovePersonFromGroup",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Person"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "65e1efde08e8478f143a8ff9",
                      "userId": "65e1efde08e8478f143a9001",
                      "emailAddress": "example-person@email.com",
                      "employment": {
                        "endDate": null,
                        "jobTitle": "Customer success manager",
                        "startDate": "2021-01-01T00:00:00.000Z",
                        "status": "CURRENT"
                      },
                      "leaveInfo": null,
                      "groupIds": [
                        "5f2c939a52855e725c8d5824"
                      ],
                      "name": {
                        "display": "Example Person",
                        "last": "Person",
                        "first": "Example"
                      },
                      "sources": {
                        "emailAddress": {
                          "integrationId": "gsuiteadmin",
                          "resourceId": "660c701d3d344e660b032306",
                          "type": "INTEGRATION"
                        },
                        "employment": {
                          "startDate": {
                            "integrationId": "gusto",
                            "resourceId": "660c70783d344e660b032323",
                            "type": "INTEGRATION"
                          },
                          "endDate": {
                            "integrationId": "gusto",
                            "resourceId": "660c70783d344e660b032323",
                            "type": "INTEGRATION"
                          }
                        }
                      },
                      "tasksSummary": {
                        "completionDate": null,
                        "dueDate": "2021-12-01T00:00:00.000Z",
                        "status": "OVERDUE",
                        "details": {
                          "completeTrainings": {
                            "taskType": "COMPLETE_TRAININGS",
                            "status": "COMPLETE",
                            "dueDate": "2021-12-01T00:00:00.000Z",
                            "completionDate": "2021-11-01T00:00:00.000Z",
                            "disabled": {
                              "date": "2021-11-01T00:00:00.000Z",
                              "reason": "Training Vanta tests have been disabled for this person"
                            },
                            "incompleteTrainings": [
                              {
                                "name": "Security training 1"
                              },
                              {
                                "name": "Security training 2"
                              }
                            ],
                            "completedTrainings": [
                              {
                                "name": "Security training 3"
                              },
                              {
                                "name": "Security training 4"
                              }
                            ]
                          },
                          "acceptPolicies": {
                            "taskType": "ACCEPT_POLICIES",
                            "status": "COMPLETE",
                            "dueDate": "2021-12-01T00:00:00.000Z",
                            "completionDate": "2021-11-01T00:00:00.000Z",
                            "disabled": null,
                            "unacceptedPolicies": [
                              {
                                "name": "Policy 1"
                              },
                              {
                                "name": "Policy 2"
                              }
                            ],
                            "acceptedPolicies": [
                              {
                                "name": "Policy 3"
                              },
                              {
                                "name": "Policy 4"
                              }
                            ]
                          },
                          "completeCustomTasks": {
                            "taskType": "COMPLETE_CUSTOM_TASKS",
                            "status": "OVERDUE",
                            "dueDate": "2021-12-01T00:00:00.000Z",
                            "completionDate": "2021-11-01T00:00:00.000Z",
                            "disabled": {
                              "date": "2021-11-01T00:00:00.000Z",
                              "reason": "Custom task Vanta tests have been disabled for this person"
                            },
                            "incompleteCustomTasks": [
                              {
                                "name": "Custom task 1"
                              },
                              {
                                "name": "Custom task 2"
                              }
                            ],
                            "completedCustomTasks": [
                              {
                                "name": "Custom task 3"
                              },
                              {
                                "name": "Custom task 4"
                              }
                            ]
                          },
                          "completeOffboardingCustomTasks": {
                            "taskType": "COMPLETE_CUSTOM_OFFBOARDING_TASKS",
                            "status": "COMPLETE",
                            "dueDate": "2021-12-01T00:00:00.000Z",
                            "completionDate": "2021-11-01T00:00:00.000Z",
                            "disabled": null,
                            "incompleteCustomOffboardingTasks": [],
                            "completedCustomOffboardingTasks": [
                              {
                                "name": "Custom offboarding task 1"
                              },
                              {
                                "name": "Custom offboarding task 2"
                              }
                            ]
                          },
                          "installDeviceMonitoring": {
                            "taskType": "INSTALL_DEVICE_MONITORING",
                            "status": "DUE_SOON",
                            "dueDate": "2021-12-01T00:00:00.000Z",
                            "completionDate": null,
                            "disabled": null
                          },
                          "completeBackgroundChecks": {
                            "taskType": "COMPLETE_BACKGROUND_CHECKS",
                            "status": "COMPLETE",
                            "dueDate": "2021-12-01T00:00:00.000Z",
                            "completionDate": "2021-11-01T00:00:00.000Z",
                            "disabled": null
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Remove a single person, by ID, from a group.",
        "summary": "Remove person from a group",
        "tags": [
          "Groups"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "personId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/groups/{groupId}/remove-people": {
      "post": {
        "operationId": "RemovePeopleFromGroup",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BulkResponse"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": [
                        {
                          "id": "person-id-1",
                          "status": "SUCCESS"
                        },
                        {
                          "id": "person-id-2",
                          "status": "ERROR",
                          "message": "Invalid Input"
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Remove people from a group.",
        "summary": "Remove people from group",
        "tags": [
          "Groups"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "updates": {
                    "items": {
                      "properties": {
                        "id": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id"
                      ],
                      "type": "object"
                    },
                    "type": "array",
                    "description": "List of people IDs to remove from a group.",
                    "minItems": 1,
                    "maxItems": 100
                  }
                },
                "required": [
                  "updates"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/integrations": {
      "get": {
        "operationId": "ListConnectedIntegrations",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Integration_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "data": [
                          {
                            "integrationId": "asana",
                            "displayName": "Asana",
                            "resourceKinds": [
                              "AsanaAccount",
                              "AsanaTask"
                            ],
                            "connections": [
                              {
                                "connectionId": "62ffd6793ef7978318baefa8",
                                "isDisabled": false,
                                "connectionErrorMessage": null
                              },
                              {
                                "connectionId": "62fed1234ef7978318baefa9",
                                "isDisabled": true,
                                "connectionErrorMessage": "Authorization Error connecting to Asana"
                              }
                            ]
                          }
                        ],
                        "pageInfo": {
                          "hasNextPage": false,
                          "hasPreviousPage": false,
                          "startCursor": "YXBvbGxv",
                          "endCursor": "YXBvbGxv"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Lists all integrations connected to a Vanta instance.",
        "summary": "List connected integrations",
        "tags": [
          "Integrations"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          }
        ]
      }
    },
    "/integrations/{integrationId}": {
      "get": {
        "operationId": "GetConnectedIntegration",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Integration"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "integrationId": "asana",
                      "displayName": "Asana",
                      "resourceKinds": [
                        "AsanaAccount",
                        "AsanaTask"
                      ],
                      "connections": [
                        {
                          "connectionId": "62ffd6793ef7978318baefa8",
                          "isDisabled": false,
                          "connectionErrorMessage": null
                        },
                        {
                          "connectionId": "62fed1234ef7978318baefa9",
                          "isDisabled": true,
                          "connectionErrorMessage": "Authorization Error connecting to Asana"
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Gets details for a specific integration by connection ID.",
        "summary": "Get a connected integration",
        "tags": [
          "Integrations"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "description": "Unique identifier of the integration",
            "in": "path",
            "name": "integrationId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/integrations/{integrationId}/resource-kinds": {
      "get": {
        "operationId": "ListResourceKindSummaries",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/ResourceKindSummary"
                  },
                  "type": "array"
                },
                "examples": {
                  "Example 1": {
                    "value": [
                      {
                        "integrationId": "asana",
                        "resourceKind": "AsanaAccount",
                        "isScopable": true,
                        "canUpdateDescription": true,
                        "canUpdateOwner": true
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "description": "Lists a connected integration's resource types (kinds) such as S3Bucket or CloudwatchLogGroup.",
        "summary": "List integration resource kinds",
        "tags": [
          "Integrations"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "description": "Unique identifier of the integration",
            "in": "path",
            "name": "integrationId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/integrations/{integrationId}/resource-kinds/{resourceKind}": {
      "get": {
        "operationId": "GetResourceKindDetails",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceKindDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "integrationId": "asana",
                      "resourceKind": "AsanaAccount",
                      "isScopable": true,
                      "canUpdateDescription": true,
                      "canUpdateOwner": true,
                      "numResources": 123,
                      "numInScope": 100,
                      "numOwned": 100,
                      "numWithDescription": 100
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Gets details for a specific resource type (kind) such as S3Bucket or CloudwatchLogGroup.",
        "summary": "Get details for resource kind",
        "tags": [
          "Integrations"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "description": "Unique identifier of the integration.",
            "in": "path",
            "name": "integrationId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Unique identifier of the integration resource kind.",
            "in": "path",
            "name": "resourceKind",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Unique identifier of the integration connection.",
            "in": "query",
            "name": "connectionId",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/integrations/{integrationId}/resource-kinds/{resourceKind}/resources": {
      "patch": {
        "operationId": "UpdateResources",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BulkResponse"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": [
                        {
                          "id": "RESOURCE_ID",
                          "status": "SUCCESS"
                        },
                        {
                          "id": "OTHER_RESOURCE_ID",
                          "status": "ERROR",
                          "message": "Invalid Input"
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Updates metadata for multiple resources.",
        "summary": "Update resource metadata",
        "tags": [
          "Integrations"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "description": "Unique identifier of the integration.",
            "in": "path",
            "name": "integrationId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Unique identifier of the integration resource kind.",
            "in": "path",
            "name": "resourceKind",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "updates": {
                    "items": {
                      "$ref": "#/components/schemas/UpdateResourceRequest"
                    },
                    "type": "array",
                    "description": "List of resource update requests.",
                    "minItems": 1,
                    "maxItems": 50
                  }
                },
                "required": [
                  "updates"
                ],
                "type": "object"
              }
            }
          }
        }
      },
      "get": {
        "operationId": "ListResources",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_AnyResource_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "data": [
                          {
                            "responseType": "Resource",
                            "resourceKind": "AsanaTask",
                            "resourceId": "5e7400d77a8e3731ab2d5c8e",
                            "connectionId": "62ffd6793ef7978318baefa8",
                            "displayName": "My Security Task",
                            "owner": null,
                            "inScope": true,
                            "description": null,
                            "creationDate": "2024-03-06T19:02:25.202Z"
                          }
                        ],
                        "pageInfo": {
                          "hasNextPage": false,
                          "hasPreviousPage": false,
                          "startCursor": "YXBvbGxv",
                          "endCursor": "YXBvbGxv"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Lists resources for a specific integration and resource type (kind) such as S3Bucket or CloudwatchLogGroup.",
        "summary": "List resources",
        "tags": [
          "Integrations"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "description": "Unique identifier of the integration.",
            "in": "path",
            "name": "integrationId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Unique identifier of the integration resource type.",
            "in": "path",
            "name": "resourceKind",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Unique identifier of the integration connection.",
            "in": "query",
            "name": "connectionId",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter resources that have a description.\nIf omitted, this will return resources both with and without a description.",
            "in": "query",
            "name": "hasDescription",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Filter resources that have an owner.\nIf omitted, this will return resources both with and without an owner.",
            "in": "query",
            "name": "hasOwner",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Filter resources that are in scope.\nIf omitted, this will return resources both in and out of scope.",
            "in": "query",
            "name": "isInScope",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          }
        ]
      }
    },
    "/integrations/{integrationId}/resource-kinds/{resourceKind}/resources/{resourceId}": {
      "patch": {
        "operationId": "UpdateResource",
        "responses": {
          "204": {
            "description": "No content"
          }
        },
        "description": "Updates metadata for a specific resource such as an S3Bucket or CloudwatchLogGroup.",
        "summary": "Update resource metadata",
        "tags": [
          "Integrations"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "description": "Unique identifier of the integration.",
            "in": "path",
            "name": "integrationId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Unique identifier of the integration resource kind.",
            "in": "path",
            "name": "resourceKind",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Unique identifier of the resource.",
            "in": "path",
            "name": "resourceId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "inScope": {
                    "type": "boolean",
                    "description": "Determines whether resources should be marked as in scope."
                  },
                  "description": {
                    "type": "string",
                    "description": "Description to update for the resources."
                  },
                  "ownerId": {
                    "type": "string",
                    "description": "Owner ID to update for the resources."
                  }
                },
                "type": "object"
              }
            }
          }
        }
      },
      "get": {
        "operationId": "GetResource",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AnyResource"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "responseType": "Resource",
                      "resourceKind": "AsanaTask",
                      "resourceId": "5e7400d77a8e3731ab2d5c8e",
                      "connectionId": "62ffd6793ef7978318baefa8",
                      "displayName": "My Security Task",
                      "owner": null,
                      "inScope": true,
                      "description": null,
                      "creationDate": "2024-03-06T19:02:25.202Z"
                    }
                  },
                  "Example 2": {
                    "value": {
                      "responseType": "Account",
                      "resourceKind": "AsanaAccount",
                      "resourceId": "5e7400d77a8e3731ab2d5c8e",
                      "connectionId": "62ffd6793ef7978318baefa8",
                      "displayName": "Vlad's Account",
                      "owner": "5e56b1e0188626620a828894",
                      "inScope": true,
                      "description": null,
                      "creationDate": "2024-03-06T19:02:25.202Z",
                      "accountName": "vlads_account",
                      "roles": [
                        "admin"
                      ],
                      "groups": [
                        "admin"
                      ],
                      "isDeactivated": false,
                      "isMfaEnabled": null
                    }
                  },
                  "Example 3": {
                    "value": {
                      "responseType": "Account",
                      "resourceKind": "AwsAccount",
                      "resourceId": "5e7400d77a8e3731ab2d5c8e",
                      "connectionId": "62ffd6793ef7978318baefa8",
                      "displayName": "Vlad's AWS Account",
                      "owner": "5e56b1e0188626620a828894",
                      "inScope": true,
                      "description": null,
                      "creationDate": "2024-03-06T19:02:25.202Z",
                      "accountName": "vlads_aws_account",
                      "roles": [
                        "admin"
                      ],
                      "groups": [
                        "admin"
                      ],
                      "isDeactivated": false,
                      "isMfaEnabled": true,
                      "awsUserAccountId": "ABCD1234567890",
                      "awsAccountNumber": "123456789012",
                      "accessKeys": [
                        {
                          "accessKeyId": "EXMAPLEKEY1",
                          "status": "Active"
                        },
                        {
                          "accessKeyId": "EXAMPLEKEY2",
                          "status": "Inactive"
                        }
                      ]
                    }
                  },
                  "Example 4": {
                    "value": {
                      "responseType": "Database",
                      "resourceKind": "DocumentDBCluster",
                      "resourceId": "661095bd5397b9c17793c420",
                      "connectionId": "661095bd5397b9c17793c41d",
                      "displayName": "document-db-cluster",
                      "owner": null,
                      "inScope": true,
                      "description": null,
                      "creationDate": "2024-03-27T00:56:20.483Z",
                      "account": "aws-account",
                      "areBackupsEnabled": true,
                      "isEncrypted": true,
                      "containsEphi": null,
                      "containsUserData": null
                    }
                  },
                  "Example 5": {
                    "value": {
                      "responseType": "Device",
                      "resourceKind": "JamfManagedComputer",
                      "resourceId": "661092077f68e200f850eb6a",
                      "connectionId": "661092077f68e200f850eb67",
                      "displayName": "jamf-managed-computer",
                      "owner": null,
                      "inScope": true,
                      "description": null,
                      "creationDate": "2024-03-27T00:56:20.483Z",
                      "operatingSystemName": "windows",
                      "isEncrypted": true,
                      "containsEphi": true,
                      "containsUserData": true
                    }
                  },
                  "Example 6": {
                    "value": {
                      "responseType": "PaaS",
                      "resourceKind": "DigitalOceanApp",
                      "resourceId": "66108f3890aac655f7d957ae",
                      "connectionId": "66108f3890aac655f7d957ab",
                      "displayName": "digital-ocean-app",
                      "owner": null,
                      "inScope": true,
                      "description": "digital ocean paas app",
                      "creationDate": "2024-03-27T00:56:20.483Z",
                      "containsEphi": null,
                      "containsUserData": null
                    }
                  },
                  "Example 7": {
                    "value": {
                      "responseType": "Queue",
                      "resourceKind": "SQS",
                      "resourceId": "6611eafe02a95ea7f943962f",
                      "connectionId": "6611eafe02a95ea7f943962c",
                      "displayName": "aws-resource",
                      "owner": null,
                      "inScope": true,
                      "description": null,
                      "creationDate": "2024-03-27T00:56:20.483Z",
                      "account": "aws-account",
                      "region": "us-east-1",
                      "containsEphi": null,
                      "containsUserData": null
                    }
                  },
                  "Example 8": {
                    "value": {
                      "responseType": "StorageBucket",
                      "resourceKind": "S3",
                      "resourceId": "6611ec449e231114e49ef91b",
                      "connectionId": "6611ec449e231114e49ef918",
                      "displayName": "aws-resource",
                      "owner": null,
                      "inScope": true,
                      "description": null,
                      "creationDate": "2024-03-27T00:56:20.483Z",
                      "account": "aws-account",
                      "region": "",
                      "isEncrypted": true,
                      "isVersioned": true,
                      "containsEphi": null,
                      "containsUserData": null
                    }
                  },
                  "Example 9": {
                    "value": {
                      "responseType": "ContainerRepository",
                      "resourceKind": "ECRContainerRepository",
                      "resourceId": "661303e12990509c5874a7b9",
                      "connectionId": "661303e12990509c5874a7b6",
                      "displayName": "aws-resource",
                      "owner": null,
                      "inScope": true,
                      "description": null,
                      "creationDate": "2024-03-27T00:56:20.483Z",
                      "account": "aws-account",
                      "region": "us-east-1",
                      "isAutoscanEnabled": true
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Gets resource by its ID.",
        "summary": "Get resource by ID",
        "tags": [
          "Integrations"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "description": "Unique identifier of the integration.",
            "in": "path",
            "name": "integrationId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Unique identifier of the integration resource kind.",
            "in": "path",
            "name": "resourceKind",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Unique identifier of the resource.",
            "in": "path",
            "name": "resourceId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/issues": {
      "get": {
        "operationId": "List",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Issue_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "pageInfo": {
                          "endCursor": "NjgzZTlhZjFiMTIzNDU2Nzg5MGFiY2Rl",
                          "hasNextPage": true,
                          "hasPreviousPage": false,
                          "startCursor": "NjgzZTlhZjFiMTIzNDU2Nzg5MGFiY2Rl"
                        },
                        "data": [
                          {
                            "id": "683e9af1b1234567890abcde",
                            "readableIssueId": "ISS-001",
                            "createdDate": "2026-01-15T10:00:00.000Z",
                            "createdBy": {
                              "actorType": "USER",
                              "actorId": "user-123"
                            },
                            "lastModifiedBy": {
                              "actorType": "USER",
                              "actorId": "user-123"
                            },
                            "lastModifiedDate": "2026-01-20T14:30:00.000Z",
                            "title": "Access review process needs documentation",
                            "description": "The access review process lacks formal documentation.",
                            "owners": [
                              {
                                "ownerType": "USER",
                                "ownerId": "user-456"
                              }
                            ],
                            "severity": "MEDIUM",
                            "status": "IN_PROGRESS",
                            "rootCause": "Process was informally defined and not documented.",
                            "correctiveAction": "Document the access review process and train relevant staff.",
                            "dueDate": "2026-03-01T00:00:00.000Z",
                            "source": {
                              "sourceType": "SELF_ASSESSMENT"
                            },
                            "controlDomain": "Identity and Access Management",
                            "closedMetadata": null,
                            "detectedDate": "2026-01-10T00:00:00.000Z",
                            "mappedControlIds": [],
                            "mappedRiskScenarioIds": [],
                            "mappedPolicyIds": [],
                            "customFields": [],
                            "template": "STANDARD_ISSUE",
                            "type": null
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "List issues on a domain (paginated).\nReturns a paginated list of issues that the authenticated app has\npermission to view, optionally filtered and sorted.",
        "summary": "List issues",
        "tags": [
          "Issues"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          },
          {
            "description": "Full-text search across issue title and description.",
            "in": "query",
            "name": "search",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "weak password"
          },
          {
            "description": "Filter to issues matching any of the provided readable issue IDs.",
            "in": "query",
            "name": "readableIssueIdMatchesAny",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Filter to issues matching any of the provided statuses.",
            "in": "query",
            "name": "statusMatchesAny",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/IssueStatus"
              }
            },
            "example": [
              "IN_PROGRESS",
              "CLOSED"
            ]
          },
          {
            "description": "Filter to issues matching any of the provided severities.",
            "in": "query",
            "name": "severityMatchesAny",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/IssueSeverity"
              }
            },
            "example": [
              "HIGH",
              "CRITICAL"
            ]
          },
          {
            "description": "Filter to issues matching any of the provided sources.",
            "in": "query",
            "name": "sourceMatchesAny",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/SourceType"
              }
            },
            "example": [
              "AUDIT",
              "SELF_ASSESSMENT"
            ]
          },
          {
            "description": "Filter to issues matching any of the provided types.",
            "in": "query",
            "name": "typeMatchesAny",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/StandardIssueType"
              }
            },
            "example": [
              "AREA_OF_CONCERN",
              "PROCESS_FOR_IMPROVEMENT"
            ]
          },
          {
            "description": "Filter to issues owned by any of the provided owner IDs.",
            "in": "query",
            "name": "ownerIdMatchesAny",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "example": [
              "user-123",
              "user-456"
            ]
          },
          {
            "description": "Filter to issues matching any of the provided templates.",
            "in": "query",
            "name": "templateMatchesAny",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/IssueTemplate"
              }
            },
            "example": [
              "STANDARD_ISSUE",
              "STANDARD_POAM"
            ]
          },
          {
            "description": "Filter to issues closed for any of the provided reasons. Only applies\nto issues with a CLOSED status.",
            "in": "query",
            "name": "closeReasonMatchesAny",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ClosedReason"
              }
            },
            "example": [
              "RESOLVED",
              "OTHER"
            ]
          },
          {
            "description": "Filter to issues closed on or after this date.",
            "in": "query",
            "name": "closedAfterDate",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            },
            "example": "2023-01-01T00:00:00Z"
          },
          {
            "description": "Filter to issues closed on or before this date.",
            "in": "query",
            "name": "closedBeforeDate",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            },
            "example": "2023-12-31T23:59:59Z"
          },
          {
            "description": "Include issues without a due date. This is functionally a no-op if dueBeforeDate or dueAfterDate are not provided.",
            "in": "query",
            "name": "includeIssuesWithoutDueDate",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "example": true
          },
          {
            "description": "Only include issues without a due date. This filter cannot be used in conjunction with dueBeforeDate or dueAfterDate.",
            "in": "query",
            "name": "includeOnlyIssuesWithoutDueDate",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "example": false
          },
          {
            "description": "Filter to issues with a due date on or after this date.",
            "in": "query",
            "name": "dueAfterDate",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            },
            "example": "2023-01-01T00:00:00Z"
          },
          {
            "description": "Filter to issues with a due date on or before this date.",
            "in": "query",
            "name": "dueBeforeDate",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            },
            "example": "2023-12-31T23:59:59Z"
          },
          {
            "description": "Filter to issues detected on or after this date.",
            "in": "query",
            "name": "detectedAfterDate",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            },
            "example": "2023-01-01T00:00:00Z"
          },
          {
            "description": "Filter to issues detected on or before this date.",
            "in": "query",
            "name": "detectedBeforeDate",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            },
            "example": "2023-12-31T23:59:59Z"
          },
          {
            "description": "Filter to issues created on or after this date.",
            "in": "query",
            "name": "createdAfterDate",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            },
            "example": "2023-01-01T00:00:00Z"
          },
          {
            "description": "Filter to issues created on or before this date.",
            "in": "query",
            "name": "createdBeforeDate",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            },
            "example": "2023-12-31T23:59:59Z"
          },
          {
            "description": "Filter to issues sourced from any of the provided audit IDs.",
            "in": "query",
            "name": "auditIdMatchesAny",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "example": [
              "audit-123",
              "audit-456"
            ]
          },
          {
            "description": "Filter to issues mapped to any of the provided control IDs.",
            "in": "query",
            "name": "controlIdMatchesAny",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "example": [
              "control-123",
              "control-456"
            ]
          },
          {
            "description": "Field to sort the results by.",
            "in": "query",
            "name": "orderBy",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/IssueSortField"
            }
          },
          {
            "description": "Direction to sort the results in. One of `asc` or `desc`. Defaults to `asc`.",
            "in": "query",
            "name": "orderDirection",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/OrderDirection"
            }
          }
        ]
      }
    },
    "/issues/{issueId}": {
      "get": {
        "operationId": "GetIssue",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Issue"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "683e9af1b1234567890abcde",
                      "readableIssueId": "ISS-001",
                      "createdDate": "2026-01-15T10:00:00.000Z",
                      "createdBy": {
                        "actorType": "USER",
                        "actorId": "user-123"
                      },
                      "lastModifiedBy": {
                        "actorType": "USER",
                        "actorId": "user-123"
                      },
                      "lastModifiedDate": "2026-01-20T14:30:00.000Z",
                      "title": "Access review process needs documentation",
                      "description": "The access review process lacks formal documentation.",
                      "owners": [
                        {
                          "ownerType": "USER",
                          "ownerId": "user-456"
                        }
                      ],
                      "severity": "MEDIUM",
                      "status": "IN_PROGRESS",
                      "rootCause": "Process was informally defined and not documented.",
                      "correctiveAction": "Document the access review process and train relevant staff.",
                      "dueDate": "2026-03-01T00:00:00.000Z",
                      "source": {
                        "sourceType": "SELF_ASSESSMENT"
                      },
                      "controlDomain": "Identity and Access Management",
                      "closedMetadata": null,
                      "detectedDate": "2026-01-10T00:00:00.000Z",
                      "mappedControlIds": [],
                      "mappedRiskScenarioIds": [],
                      "mappedPolicyIds": [],
                      "customFields": [],
                      "template": "STANDARD_ISSUE",
                      "type": null
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Get the details of an issue by its ID.",
        "summary": "Get issue by ID",
        "tags": [
          "Issues"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "issueId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/knowledge-base/answer-library": {
      "get": {
        "operationId": "ListAnswerLibraryEntries",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_KnowledgeBaseAnswerLibraryEntryOutput_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "data": [
                          {
                            "id": "507f1f77bcf86cd799439031",
                            "question": "Do you encrypt customer data at rest?",
                            "answer": "Yes. All customer data is encrypted at rest using AES-256, with keys managed in AWS KMS.",
                            "expirationStatus": "CURRENT",
                            "ownerAssignment": {
                              "type": "User",
                              "id": "507f1f77bcf86cd799439041",
                              "displayName": "Alex Rivera"
                            },
                            "expirationDate": "2025-12-31T00:00:00.000Z",
                            "lastUpdated": "2024-10-12T16:08:42.000Z",
                            "lastVerified": "2024-12-01T09:00:00.000Z",
                            "tags": [
                              {
                                "categoryId": "507f1f77bcf86cd799439011",
                                "tagId": "507f1f77bcf86cd799439013"
                              }
                            ]
                          }
                        ],
                        "pageInfo": {
                          "hasNextPage": false,
                          "hasPreviousPage": false
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "List Answer Library entries. Supports full-text search, tag filtering\n(OR across the given tags), and date-range filters on last-updated and\nexpiration.",
        "summary": "List Answer Library entries",
        "tags": [
          "Knowledge Base"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          },
          {
            "description": "Full-text search across question and answer.",
            "in": "query",
            "name": "q",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Only include entries updated at or after this ISO 8601 timestamp.",
            "in": "query",
            "name": "lastUpdatedAfter",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Only include entries updated at or before this ISO 8601 timestamp.",
            "in": "query",
            "name": "lastUpdatedBefore",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "JSON-encoded array of `{categoryId, tagId}` pairs. Entries matching any\nof the given tags are returned (OR filter). Discover valid `categoryId`\nand `tagId` values via `GET /v1/customer-trust/tag-categories` (to list\ncategories) and `GET /v1/customer-trust/tag-categories/{tagCategoryId}`\n(to list tags within a category).",
            "in": "query",
            "name": "matchesTags",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Only include entries expiring at or before this ISO 8601 timestamp.",
            "in": "query",
            "name": "expiresBefore",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Only include entries expiring at or after this ISO 8601 timestamp.",
            "in": "query",
            "name": "expiresAfter",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "post": {
        "operationId": "CreateAnswerLibraryEntry",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KnowledgeBaseAnswerLibraryEntryOutput"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "507f1f77bcf86cd799439031",
                      "question": "Do you encrypt customer data at rest?",
                      "answer": "Yes. All customer data is encrypted at rest using AES-256, with keys managed in AWS KMS.",
                      "expirationStatus": "CURRENT",
                      "ownerAssignment": {
                        "type": "User",
                        "id": "507f1f77bcf86cd799439041",
                        "displayName": "Alex Rivera"
                      },
                      "expirationDate": "2025-12-31T00:00:00.000Z",
                      "lastUpdated": "2024-10-12T16:08:42.000Z",
                      "lastVerified": "2024-12-01T09:00:00.000Z",
                      "tags": [
                        {
                          "categoryId": "507f1f77bcf86cd799439011",
                          "tagId": "507f1f77bcf86cd799439013"
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Create an Answer Library entry.",
        "summary": "Create Answer Library entry",
        "tags": [
          "Knowledge Base"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAnswerLibraryEntryInput"
              },
              "example": {
                "question": "Do you encrypt customer data at rest?",
                "answer": "Yes. All customer data is encrypted at rest using AES-256, with keys managed in AWS KMS.",
                "ownerAssignment": {
                  "type": "User",
                  "id": "507f1f77bcf86cd799439041"
                },
                "expirationDate": "2025-12-31T00:00:00.000Z",
                "tags": [
                  {
                    "categoryId": "507f1f77bcf86cd799439011",
                    "tagId": "507f1f77bcf86cd799439013"
                  }
                ]
              }
            }
          }
        }
      }
    },
    "/knowledge-base/answer-library/{id}": {
      "get": {
        "operationId": "GetAnswerLibraryEntry",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KnowledgeBaseAnswerLibraryEntryOutput"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "507f1f77bcf86cd799439031",
                      "question": "Do you encrypt customer data at rest?",
                      "answer": "Yes. All customer data is encrypted at rest using AES-256, with keys managed in AWS KMS.",
                      "expirationStatus": "CURRENT",
                      "ownerAssignment": {
                        "type": "User",
                        "id": "507f1f77bcf86cd799439041",
                        "displayName": "Alex Rivera"
                      },
                      "expirationDate": "2025-12-31T00:00:00.000Z",
                      "lastUpdated": "2024-10-12T16:08:42.000Z",
                      "lastVerified": "2024-12-01T09:00:00.000Z",
                      "tags": [
                        {
                          "categoryId": "507f1f77bcf86cd799439011",
                          "tagId": "507f1f77bcf86cd799439013"
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Get an Answer Library entry.",
        "summary": "Get Answer Library entry",
        "tags": [
          "Knowledge Base"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "patch": {
        "operationId": "UpdateAnswerLibraryEntryRoute",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KnowledgeBaseAnswerLibraryEntryOutput"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "507f1f77bcf86cd799439031",
                      "question": "Do you encrypt customer data at rest?",
                      "answer": "Yes. All customer data is encrypted at rest using AES-256, with keys managed in AWS KMS.",
                      "expirationStatus": "CURRENT",
                      "ownerAssignment": {
                        "type": "User",
                        "id": "507f1f77bcf86cd799439041",
                        "displayName": "Alex Rivera"
                      },
                      "expirationDate": "2025-12-31T00:00:00.000Z",
                      "lastUpdated": "2024-10-12T16:08:42.000Z",
                      "lastVerified": "2024-12-01T09:00:00.000Z",
                      "tags": [
                        {
                          "categoryId": "507f1f77bcf86cd799439011",
                          "tagId": "507f1f77bcf86cd799439013"
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Update an Answer Library entry.",
        "summary": "Update Answer Library entry",
        "tags": [
          "Knowledge Base"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAnswerLibraryEntryInput"
              },
              "example": {
                "answer": "Yes. All customer data is encrypted at rest using AES-256, with keys managed in AWS KMS.",
                "expirationDate": "2025-12-31T00:00:00.000Z",
                "tags": [
                  {
                    "categoryId": "507f1f77bcf86cd799439011",
                    "tagId": "507f1f77bcf86cd799439013"
                  }
                ]
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "DeleteAnswerLibraryEntryRoute",
        "responses": {
          "204": {
            "description": "Answer library entry deleted"
          }
        },
        "description": "Delete an Answer Library entry.",
        "summary": "Delete Answer Library entry",
        "tags": [
          "Knowledge Base"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/knowledge-base/answer-library/{id}/verify": {
      "post": {
        "operationId": "VerifyAnswerLibraryEntryRoute",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KnowledgeBaseAnswerLibraryEntryOutput"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "507f1f77bcf86cd799439031",
                      "question": "Do you encrypt customer data at rest?",
                      "answer": "Yes. All customer data is encrypted at rest using AES-256, with keys managed in AWS KMS.",
                      "expirationStatus": "CURRENT",
                      "ownerAssignment": {
                        "type": "User",
                        "id": "507f1f77bcf86cd799439041",
                        "displayName": "Alex Rivera"
                      },
                      "expirationDate": "2025-12-31T00:00:00.000Z",
                      "lastUpdated": "2024-10-12T16:08:42.000Z",
                      "lastVerified": "2024-12-01T09:00:00.000Z",
                      "tags": [
                        {
                          "categoryId": "507f1f77bcf86cd799439011",
                          "tagId": "507f1f77bcf86cd799439013"
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Mark an Answer Library entry as verified. Stamps `lastVerifiedAt` to the\ncurrent time; the entry's question, answer, tags, owner, and expiration\nare left unchanged.",
        "summary": "Verify Answer Library entry",
        "tags": [
          "Knowledge Base"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VerifyAnswerLibraryEntryInput"
              },
              "example": {
                "expirationDate": "2025-12-31T00:00:00.000Z"
              }
            }
          }
        }
      }
    },
    "/knowledge-base/resources": {
      "get": {
        "operationId": "ListKnowledgeBaseResources",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_TrustKnowledgeBaseResourceOutput_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "data": [
                          {
                            "id": "507f1f77bcf86cd799439021",
                            "type": "FILE",
                            "title": "SOC 2 Type II Report",
                            "description": "Annual SOC 2 Type II report covering 2024.",
                            "fileUrl": "https://vanta-uploaded-documents.s3.amazonaws.com/507f1f77bcf86cd799439021?X-Amz-Expires=3600&X-Amz-Signature=...",
                            "customerVisibility": "REQUEST_ACCESS",
                            "downloadPermission": "VIEW_AND_DOWNLOAD",
                            "isUsedInQuestionnaires": true,
                            "ownerAssignment": {
                              "type": "User",
                              "id": "507f1f77bcf86cd799439041",
                              "displayName": "Alex Rivera"
                            },
                            "expirationStatus": "CURRENT",
                            "expirationDate": "2025-12-31T00:00:00.000Z",
                            "lastUpdated": "2024-12-15T17:42:11.000Z",
                            "lastVerified": "2024-12-20T09:00:00.000Z",
                            "tags": [
                              {
                                "categoryId": "507f1f77bcf86cd799439011",
                                "tagId": "507f1f77bcf86cd799439013"
                              }
                            ],
                            "categoryId": "507f1f77bcf86cd799439051"
                          },
                          {
                            "id": "507f1f77bcf86cd799439022",
                            "type": "URL",
                            "title": "Vanta Security Overview",
                            "description": "Public-facing overview of Vanta's security posture.",
                            "url": "https://www.vanta.com/security",
                            "customerVisibility": "PUBLIC",
                            "includeSubPages": true,
                            "isUsedInQuestionnaires": true,
                            "ownerAssignment": {
                              "type": "User",
                              "id": "507f1f77bcf86cd799439041",
                              "displayName": "Alex Rivera"
                            },
                            "expirationStatus": "CURRENT",
                            "expirationDate": "2025-08-01T00:00:00.000Z",
                            "lastUpdated": "2024-11-04T13:21:55.000Z",
                            "lastVerified": "2024-11-04T13:21:55.000Z",
                            "tags": [
                              {
                                "categoryId": "507f1f77bcf86cd799439011",
                                "tagId": "507f1f77bcf86cd799439014"
                              }
                            ],
                            "categoryId": "507f1f77bcf86cd799439052"
                          }
                        ],
                        "pageInfo": {
                          "hasNextPage": false,
                          "hasPreviousPage": false
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "List Knowledge Base resources (documents and webpages) in a single\npaginated response. Each entry is a discriminated union on `type` —\n\"FILE\" entries carry a `fileUrl` (presigned S3 URL, valid for one\nhour), \"URL\" entries carry the resource's `url` and `includeSubPages`.\n\nSupports full-text search, type filtering, tag filtering (OR within\na category, AND across categories), and date-range filters on\nlast-updated and expiration.",
        "summary": "List Knowledge Base resources",
        "tags": [
          "Knowledge Base"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          },
          {
            "description": "Full-text search across resource titles.",
            "in": "query",
            "name": "q",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter to FILE and/or URL resources. Repeat the param to allow either.",
            "in": "query",
            "name": "typeMatchesAny",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/KnowledgeBaseResourceTypeFilter"
              }
            }
          },
          {
            "description": "Only include resources updated at or after this ISO 8601 timestamp.",
            "in": "query",
            "name": "lastUpdatedAfter",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Only include resources updated at or before this ISO 8601 timestamp.",
            "in": "query",
            "name": "lastUpdatedBefore",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "JSON-encoded array of `{categoryId, tagId}` pairs. Tags within the\nsame category are OR'd together; tags across different categories\nare AND'd. For example, passing two tags from \"Framework\" and one\ntag from \"Region\" matches resources that have either of the two\nframeworks AND the given region. Discover valid `categoryId` and\n`tagId` values via `GET /v1/customer-trust/tag-categories` (to list\ncategories) and `GET /v1/customer-trust/tag-categories/{tagCategoryId}`\n(to list tags within a category).",
            "in": "query",
            "name": "matchesTags",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Only include resources expiring at or before this ISO 8601 timestamp.",
            "in": "query",
            "name": "expiresBefore",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Only include resources expiring at or after this ISO 8601 timestamp.",
            "in": "query",
            "name": "expiresAfter",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/knowledge-base/resources/documents": {
      "post": {
        "operationId": "CreateDocumentResource",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KnowledgeBaseDocumentResourceOutput"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "507f1f77bcf86cd799439021",
                      "type": "FILE",
                      "title": "SOC 2 Type II Report",
                      "description": "Annual SOC 2 Type II report covering 2024.",
                      "fileUrl": "https://vanta-uploaded-documents.s3.amazonaws.com/507f1f77bcf86cd799439021?X-Amz-Expires=3600&X-Amz-Signature=...",
                      "customerVisibility": "REQUEST_ACCESS",
                      "downloadPermission": "VIEW_AND_DOWNLOAD",
                      "isUsedInQuestionnaires": true,
                      "ownerAssignment": {
                        "type": "User",
                        "id": "507f1f77bcf86cd799439041",
                        "displayName": "Alex Rivera"
                      },
                      "expirationStatus": "CURRENT",
                      "expirationDate": "2025-12-31T00:00:00.000Z",
                      "lastUpdated": "2024-12-15T17:42:11.000Z",
                      "lastVerified": "2024-12-20T09:00:00.000Z",
                      "tags": [
                        {
                          "categoryId": "507f1f77bcf86cd799439011",
                          "tagId": "507f1f77bcf86cd799439013"
                        }
                      ],
                      "categoryId": "507f1f77bcf86cd799439051"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Create a document (FILE-type) resource in the Trust Knowledge Base.\nAccepts the document as a multipart/form-data upload.\n\nExample: send `multipart/form-data` with a required `file` (e.g. PDF)\nand `title`; optional fields include `description`, `customerVisibility`,\n`downloadPermission`, `isUsedInQuestionnaires` (\"true\"/\"false\"),\n`expirationDate` (ISO 8601), `tags` (JSON array string), `categoryId`,\nand `ownerAssignment` (JSON object string).",
        "summary": "Create document resource",
        "tags": [
          "Knowledge Base"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  },
                  "title": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Title of the document resource."
                  },
                  "description": {
                    "type": "string",
                    "description": "Description of the document resource."
                  },
                  "ownerAssignment": {
                    "type": "string",
                    "description": "Owner to assign as a JSON string: {\"type\":\"User\",\"id\":\"<id>\"}."
                  },
                  "customerVisibility": {
                    "type": "string",
                    "description": "Customer visibility on the Trust Center: PRIVATE | SHAREABLE | REQUEST_ACCESS | PUBLIC."
                  },
                  "downloadPermission": {
                    "type": "string",
                    "description": "Trust Center download permission: VIEW_ONLY | VIEW_AND_DOWNLOAD."
                  },
                  "isUsedInQuestionnaires": {
                    "type": "string",
                    "description": "Whether to use this resource for Questionnaire Automation answer generation (\"true\" / \"false\")."
                  },
                  "expirationDate": {
                    "type": "string",
                    "description": "Expiration date in ISO 8601."
                  },
                  "tags": {
                    "type": "string",
                    "description": "Tags as a JSON array: [{\"categoryId\":\"<id>\",\"tagId\":\"<id>\"}]."
                  },
                  "categoryId": {
                    "type": "string",
                    "description": "Trust Center category id to associate this resource with. Only\napplied when `customerVisibility` is `REQUEST_ACCESS` or `PUBLIC`;\nother visibilities don't place the resource on the Trust Center, so\nthe category is ignored. Pass an unknown id to fall back to\nuncategorized."
                  }
                },
                "required": [
                  "file",
                  "title"
                ]
              }
            }
          }
        }
      }
    },
    "/knowledge-base/resources/documents/{id}": {
      "patch": {
        "operationId": "UpdateDocumentResource",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KnowledgeBaseDocumentResourceOutput"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "507f1f77bcf86cd799439021",
                      "type": "FILE",
                      "title": "SOC 2 Type II Report",
                      "description": "Annual SOC 2 Type II report covering 2024.",
                      "fileUrl": "https://vanta-uploaded-documents.s3.amazonaws.com/507f1f77bcf86cd799439021?X-Amz-Expires=3600&X-Amz-Signature=...",
                      "customerVisibility": "REQUEST_ACCESS",
                      "downloadPermission": "VIEW_AND_DOWNLOAD",
                      "isUsedInQuestionnaires": true,
                      "ownerAssignment": {
                        "type": "User",
                        "id": "507f1f77bcf86cd799439041",
                        "displayName": "Alex Rivera"
                      },
                      "expirationStatus": "CURRENT",
                      "expirationDate": "2025-12-31T00:00:00.000Z",
                      "lastUpdated": "2024-12-15T17:42:11.000Z",
                      "lastVerified": "2024-12-20T09:00:00.000Z",
                      "tags": [
                        {
                          "categoryId": "507f1f77bcf86cd799439011",
                          "tagId": "507f1f77bcf86cd799439013"
                        }
                      ],
                      "categoryId": "507f1f77bcf86cd799439051"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Apply a partial update to a document (FILE-type) resource. Omitted\nfields are left untouched. To swap the underlying file, use\n`POST /v1/knowledge-base/resources/documents/{id}/upload`. Returns\n404 for an unknown id or a URL-type resource.",
        "summary": "Update document resource",
        "tags": [
          "Knowledge Base"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDocumentResourceInput"
              },
              "example": {
                "title": "SOC 2 Type II (FY24)",
                "description": "Updated annual report",
                "downloadPermission": "VIEW_AND_DOWNLOAD",
                "isUsedInQuestionnaires": true
              }
            }
          }
        }
      }
    },
    "/knowledge-base/resources/documents/{id}/upload": {
      "post": {
        "operationId": "ReplaceDocumentResourceFile",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KnowledgeBaseDocumentResourceOutput"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "507f1f77bcf86cd799439021",
                      "type": "FILE",
                      "title": "SOC 2 Type II Report",
                      "description": "Annual SOC 2 Type II report covering 2024.",
                      "fileUrl": "https://vanta-uploaded-documents.s3.amazonaws.com/507f1f77bcf86cd799439021?X-Amz-Expires=3600&X-Amz-Signature=...",
                      "customerVisibility": "REQUEST_ACCESS",
                      "downloadPermission": "VIEW_AND_DOWNLOAD",
                      "isUsedInQuestionnaires": true,
                      "ownerAssignment": {
                        "type": "User",
                        "id": "507f1f77bcf86cd799439041",
                        "displayName": "Alex Rivera"
                      },
                      "expirationStatus": "CURRENT",
                      "expirationDate": "2025-12-31T00:00:00.000Z",
                      "lastUpdated": "2024-12-15T17:42:11.000Z",
                      "lastVerified": "2024-12-20T09:00:00.000Z",
                      "tags": [
                        {
                          "categoryId": "507f1f77bcf86cd799439011",
                          "tagId": "507f1f77bcf86cd799439013"
                        }
                      ],
                      "categoryId": "507f1f77bcf86cd799439051"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Replace the underlying file on a document (FILE-type) resource with\na new multipart upload. Other resource fields (title, description,\nvisibility, tags, owner, etc.) are unchanged — use PATCH for those.\nReturns 404 for an unknown id or a URL-type resource.\n\nExample: send `multipart/form-data` with a single `file` field (the\nnew document binary).",
        "summary": "Replace document resource file",
        "tags": [
          "Knowledge Base"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary",
                    "description": "New document binary; replaces the existing file in place."
                  }
                },
                "required": [
                  "file"
                ]
              }
            }
          }
        }
      }
    },
    "/knowledge-base/resources/webpages": {
      "post": {
        "operationId": "CreateWebpageResource",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KnowledgeBaseWebpageResourceOutput"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "507f1f77bcf86cd799439022",
                      "type": "URL",
                      "title": "Vanta Security Overview",
                      "description": "Public-facing overview of Vanta's security posture.",
                      "url": "https://www.vanta.com/security",
                      "customerVisibility": "PUBLIC",
                      "includeSubPages": true,
                      "isUsedInQuestionnaires": true,
                      "ownerAssignment": {
                        "type": "User",
                        "id": "507f1f77bcf86cd799439041",
                        "displayName": "Alex Rivera"
                      },
                      "expirationStatus": "CURRENT",
                      "expirationDate": "2025-08-01T00:00:00.000Z",
                      "lastUpdated": "2024-11-04T13:21:55.000Z",
                      "lastVerified": "2024-11-04T13:21:55.000Z",
                      "tags": [
                        {
                          "categoryId": "507f1f77bcf86cd799439011",
                          "tagId": "507f1f77bcf86cd799439014"
                        }
                      ],
                      "categoryId": "507f1f77bcf86cd799439052"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Create a webpage (URL-type) resource in the Trust Knowledge Base.",
        "summary": "Create webpage resource",
        "tags": [
          "Knowledge Base"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateWebpageResourceInput"
              },
              "example": {
                "title": "Security overview",
                "url": "https://www.example.com/security",
                "description": "Public security page",
                "customerVisibility": "PUBLIC",
                "includeSubPages": true,
                "isUsedInQuestionnaires": true,
                "tags": [
                  {
                    "categoryId": "507f1f77bcf86cd799439011",
                    "tagId": "507f1f77bcf86cd799439014"
                  }
                ],
                "categoryId": "507f1f77bcf86cd799439052"
              }
            }
          }
        }
      }
    },
    "/knowledge-base/resources/webpages/{id}": {
      "patch": {
        "operationId": "UpdateWebpageResource",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KnowledgeBaseWebpageResourceOutput"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "507f1f77bcf86cd799439022",
                      "type": "URL",
                      "title": "Vanta Security Overview",
                      "description": "Public-facing overview of Vanta's security posture.",
                      "url": "https://www.vanta.com/security",
                      "customerVisibility": "PUBLIC",
                      "includeSubPages": true,
                      "isUsedInQuestionnaires": true,
                      "ownerAssignment": {
                        "type": "User",
                        "id": "507f1f77bcf86cd799439041",
                        "displayName": "Alex Rivera"
                      },
                      "expirationStatus": "CURRENT",
                      "expirationDate": "2025-08-01T00:00:00.000Z",
                      "lastUpdated": "2024-11-04T13:21:55.000Z",
                      "lastVerified": "2024-11-04T13:21:55.000Z",
                      "tags": [
                        {
                          "categoryId": "507f1f77bcf86cd799439011",
                          "tagId": "507f1f77bcf86cd799439014"
                        }
                      ],
                      "categoryId": "507f1f77bcf86cd799439052"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Apply a partial update to a webpage (URL-type) resource. Omitted\nfields are left untouched. `description`, `ownerAssignment`, and\n`expirationDate` accept `null` to clear. The resource URL is not\nupdatable here — recreate the resource if the URL needs to change.\nReturns 404 for an unknown id or a FILE-type resource.",
        "summary": "Update webpage resource",
        "tags": [
          "Knowledge Base"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateWebpageResourceInput"
              },
              "example": {
                "title": "Updated security overview",
                "description": "Refreshed copy",
                "includeSubPages": false,
                "isUsedInQuestionnaires": true
              }
            }
          }
        }
      }
    },
    "/knowledge-base/resources/{id}": {
      "get": {
        "operationId": "GetKnowledgeBaseResource",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustKnowledgeBaseResourceOutput"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "507f1f77bcf86cd799439021",
                      "type": "FILE",
                      "title": "SOC 2 Type II Report",
                      "description": "Annual SOC 2 Type II report covering 2024.",
                      "fileUrl": "https://vanta-uploaded-documents.s3.amazonaws.com/507f1f77bcf86cd799439021?X-Amz-Expires=3600&X-Amz-Signature=...",
                      "customerVisibility": "REQUEST_ACCESS",
                      "downloadPermission": "VIEW_AND_DOWNLOAD",
                      "isUsedInQuestionnaires": true,
                      "ownerAssignment": {
                        "type": "User",
                        "id": "507f1f77bcf86cd799439041",
                        "displayName": "Alex Rivera"
                      },
                      "expirationStatus": "CURRENT",
                      "expirationDate": "2025-12-31T00:00:00.000Z",
                      "lastUpdated": "2024-12-15T17:42:11.000Z",
                      "lastVerified": "2024-12-20T09:00:00.000Z",
                      "tags": [
                        {
                          "categoryId": "507f1f77bcf86cd799439011",
                          "tagId": "507f1f77bcf86cd799439013"
                        }
                      ],
                      "categoryId": "507f1f77bcf86cd799439051"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Fetch a single Knowledge Base resource (FILE or URL) by id. Returns\nthe same `type`-discriminated union as the list endpoint, so callers\ncan branch on `type` without knowing the kind ahead of time. Returns\n404 when the resource does not exist in the domain or — for FILE\nrows — when the underlying uploaded document has been deleted.",
        "summary": "Get Knowledge Base resource",
        "tags": [
          "Knowledge Base"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "delete": {
        "operationId": "DeleteKnowledgeBaseResource",
        "responses": {
          "204": {
            "description": "No content"
          }
        },
        "description": "Hard-delete a Knowledge Base resource (FILE or URL) by id. Tears down\nthe row plus its associated state (uploaded document for FILE rows,\nTrust Center references, Oso facts, chunk-store entries) via\n  .\n\nReturns 404 when the id is unknown in the calling token's domain.",
        "summary": "Delete Knowledge Base resource",
        "tags": [
          "Knowledge Base"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/knowledge-base/resources/{id}/verify": {
      "post": {
        "operationId": "VerifyKnowledgeBaseResource",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustKnowledgeBaseResourceOutput"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "507f1f77bcf86cd799439021",
                      "type": "FILE",
                      "title": "SOC 2 Type II Report",
                      "description": "Annual SOC 2 Type II report covering 2024.",
                      "fileUrl": "https://vanta-uploaded-documents.s3.amazonaws.com/507f1f77bcf86cd799439021?X-Amz-Expires=3600&X-Amz-Signature=...",
                      "customerVisibility": "REQUEST_ACCESS",
                      "downloadPermission": "VIEW_AND_DOWNLOAD",
                      "isUsedInQuestionnaires": true,
                      "ownerAssignment": {
                        "type": "User",
                        "id": "507f1f77bcf86cd799439041",
                        "displayName": "Alex Rivera"
                      },
                      "expirationStatus": "CURRENT",
                      "expirationDate": "2025-12-31T00:00:00.000Z",
                      "lastUpdated": "2024-12-15T17:42:11.000Z",
                      "lastVerified": "2024-12-20T09:00:00.000Z",
                      "tags": [
                        {
                          "categoryId": "507f1f77bcf86cd799439011",
                          "tagId": "507f1f77bcf86cd799439013"
                        }
                      ],
                      "categoryId": "507f1f77bcf86cd799439051"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Mark a Knowledge Base resource (FILE or URL) as verified. Stamps\n`lastVerifiedAt` to the current time and resets `expiresAt` forward\nby the domain's configured review cadence; the resource's content\n(title, description, file or url, tags, owner) is left unchanged.\nCaller does not need to know the resource type — the persisted\n`resourceType` is used. Returns 404 when the id is unknown in the\ndomain or — for FILE rows — when the underlying uploaded document\nhas been deleted.",
        "summary": "Verify Knowledge Base resource",
        "tags": [
          "Knowledge Base"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VerifyKnowledgeBaseResourceInput"
              },
              "example": {
                "expirationDate": "2025-12-31T00:00:00.000Z"
              }
            }
          }
        }
      }
    },
    "/monitored-computers": {
      "get": {
        "operationId": "ListMonitoredComputers",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_MonitoredComputer_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "data": [
                          {
                            "id": "5f2c939a52855e725c8d5823",
                            "integrationId": "vantaAgent",
                            "serialNumber": "FVFGPGV2Q6L5",
                            "udid": "280FF071-1D7A-5752-BD3A-1A68937CD187",
                            "lastCheckDate": "2024-03-07T18:46:05.944Z",
                            "screenlock": {
                              "outcome": "FAIL"
                            },
                            "diskEncryption": {
                              "outcome": "FAIL"
                            },
                            "passwordManager": {
                              "outcome": "FAIL"
                            },
                            "antivirusInstallation": {
                              "outcome": "FAIL"
                            },
                            "operatingSystem": {
                              "type": "macOS",
                              "version": "13.2.1"
                            },
                            "owner": {
                              "id": "65e1efde08e8478f143a8ff9",
                              "emailAddress": "example-person@email.com",
                              "displayName": "Example Owner"
                            }
                          }
                        ],
                        "pageInfo": {
                          "hasNextPage": false,
                          "hasPreviousPage": false,
                          "startCursor": "5f2c939a52855e725c8d5823",
                          "endCursor": "5f2c939a52855e725c8d5823"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Returns a list of computers monitored by an MDM (with an integration built\nby Vanta) or by Vanta Device Monitor. Currently this list does not include\nresources from partner or customer-built integrations.",
        "summary": "List monitored computers",
        "tags": [
          "Monitored Computers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          },
          {
            "description": "Filters for monitored computers matching any status declared in the filter.",
            "in": "query",
            "name": "complianceStatusFilterMatchesAny",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ComputerStatusFilter"
              }
            }
          }
        ]
      }
    },
    "/monitored-computers/{computerId}": {
      "get": {
        "operationId": "GetMonitoredComputer",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MonitoredComputer"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "5f2c939a52855e725c8d5823",
                      "integrationId": "vantaAgent",
                      "serialNumber": "FVFGPGV2Q6L5",
                      "udid": "280FF071-1D7A-5752-BD3A-1A68937CD187",
                      "lastCheckDate": "2024-03-07T18:46:05.944Z",
                      "screenlock": {
                        "outcome": "FAIL"
                      },
                      "diskEncryption": {
                        "outcome": "FAIL"
                      },
                      "passwordManager": {
                        "outcome": "FAIL"
                      },
                      "antivirusInstallation": {
                        "outcome": "FAIL"
                      },
                      "operatingSystem": {
                        "type": "macOS",
                        "version": "13.2.1"
                      },
                      "owner": {
                        "id": "65e1efde08e8478f143a8ff9",
                        "emailAddress": "example-person@email.com",
                        "displayName": "Example Owner"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Returns a monitored computer by ID.",
        "summary": "Get monitored computer by ID",
        "tags": [
          "Monitored Computers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "computerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/people": {
      "get": {
        "operationId": "ListPeople",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Person_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "data": [
                          {
                            "id": "65e1efde08e8478f143a8ff9",
                            "userId": "65e1efde08e8478f143a9001",
                            "emailAddress": "example-person@email.com",
                            "employment": {
                              "endDate": null,
                              "jobTitle": "Customer success manager",
                              "startDate": "2021-01-01T00:00:00.000Z",
                              "status": "CURRENT"
                            },
                            "leaveInfo": null,
                            "groupIds": [
                              "5f2c939a52855e725c8d5824"
                            ],
                            "name": {
                              "display": "Example Person",
                              "last": "Person",
                              "first": "Example"
                            },
                            "sources": {
                              "emailAddress": {
                                "integrationId": "gsuiteadmin",
                                "resourceId": "660c701d3d344e660b032306",
                                "type": "INTEGRATION"
                              },
                              "employment": {
                                "startDate": {
                                  "integrationId": "gusto",
                                  "resourceId": "660c70783d344e660b032323",
                                  "type": "INTEGRATION"
                                },
                                "endDate": {
                                  "integrationId": "gusto",
                                  "resourceId": "660c70783d344e660b032323",
                                  "type": "INTEGRATION"
                                }
                              }
                            },
                            "tasksSummary": {
                              "completionDate": null,
                              "dueDate": "2021-12-01T00:00:00.000Z",
                              "status": "OVERDUE",
                              "details": {
                                "completeTrainings": {
                                  "taskType": "COMPLETE_TRAININGS",
                                  "status": "COMPLETE",
                                  "dueDate": "2021-12-01T00:00:00.000Z",
                                  "completionDate": "2021-11-01T00:00:00.000Z",
                                  "disabled": {
                                    "date": "2021-11-01T00:00:00.000Z",
                                    "reason": "Training Vanta tests have been disabled for this person"
                                  },
                                  "incompleteTrainings": [
                                    {
                                      "name": "Security training 1"
                                    },
                                    {
                                      "name": "Security training 2"
                                    }
                                  ],
                                  "completedTrainings": [
                                    {
                                      "name": "Security training 3"
                                    },
                                    {
                                      "name": "Security training 4"
                                    }
                                  ]
                                },
                                "acceptPolicies": {
                                  "taskType": "ACCEPT_POLICIES",
                                  "status": "COMPLETE",
                                  "dueDate": "2021-12-01T00:00:00.000Z",
                                  "completionDate": "2021-11-01T00:00:00.000Z",
                                  "disabled": null,
                                  "unacceptedPolicies": [
                                    {
                                      "name": "Policy 1"
                                    },
                                    {
                                      "name": "Policy 2"
                                    }
                                  ],
                                  "acceptedPolicies": [
                                    {
                                      "name": "Policy 3"
                                    },
                                    {
                                      "name": "Policy 4"
                                    }
                                  ]
                                },
                                "completeCustomTasks": {
                                  "taskType": "COMPLETE_CUSTOM_TASKS",
                                  "status": "OVERDUE",
                                  "dueDate": "2021-12-01T00:00:00.000Z",
                                  "completionDate": "2021-11-01T00:00:00.000Z",
                                  "disabled": {
                                    "date": "2021-11-01T00:00:00.000Z",
                                    "reason": "Custom task Vanta tests have been disabled for this person"
                                  },
                                  "incompleteCustomTasks": [
                                    {
                                      "name": "Custom task 1"
                                    },
                                    {
                                      "name": "Custom task 2"
                                    }
                                  ],
                                  "completedCustomTasks": [
                                    {
                                      "name": "Custom task 3"
                                    },
                                    {
                                      "name": "Custom task 4"
                                    }
                                  ]
                                },
                                "completeOffboardingCustomTasks": {
                                  "taskType": "COMPLETE_CUSTOM_OFFBOARDING_TASKS",
                                  "status": "COMPLETE",
                                  "dueDate": "2021-12-01T00:00:00.000Z",
                                  "completionDate": "2021-11-01T00:00:00.000Z",
                                  "disabled": null,
                                  "incompleteCustomOffboardingTasks": [],
                                  "completedCustomOffboardingTasks": [
                                    {
                                      "name": "Custom offboarding task 1"
                                    },
                                    {
                                      "name": "Custom offboarding task 2"
                                    }
                                  ]
                                },
                                "installDeviceMonitoring": {
                                  "taskType": "INSTALL_DEVICE_MONITORING",
                                  "status": "DUE_SOON",
                                  "dueDate": "2021-12-01T00:00:00.000Z",
                                  "completionDate": null,
                                  "disabled": null
                                },
                                "completeBackgroundChecks": {
                                  "taskType": "COMPLETE_BACKGROUND_CHECKS",
                                  "status": "COMPLETE",
                                  "dueDate": "2021-12-01T00:00:00.000Z",
                                  "completionDate": "2021-11-01T00:00:00.000Z",
                                  "disabled": null
                                }
                              }
                            }
                          }
                        ],
                        "pageInfo": {
                          "hasNextPage": false,
                          "hasPreviousPage": false,
                          "startCursor": "65e1efde08e8478f143a8ff9",
                          "endCursor": "65e1efde08e8478f143a8ff9"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Returns a list of all people.",
        "summary": "List people",
        "tags": [
          "People"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "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 individuals by those whose tasksSummary status is any of the provided values.",
            "in": "query",
            "name": "tasksSummaryStatusMatchesAny",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/TasksSummaryStatus"
              }
            }
          },
          {
            "description": "Requires taskStatusMatchesAny. Includes all people for whom any of the provided taskType values in taskTypeMatchesAny\nis any of the provided taskStatus values in taskStatusMatchesAny.",
            "in": "query",
            "name": "taskTypeMatchesAny",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/TaskType"
              }
            }
          },
          {
            "description": "Requires taskTypeMatchesAny. Includes all people for whom any of the provided taskType values in taskTypeMatchesAny\nis any of the provided taskStatus values in taskStatusMatchesAny.",
            "in": "query",
            "name": "taskStatusMatchesAny",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/TaskStatus"
              }
            }
          },
          {
            "description": "Filter people by email address, first name, or last name (partial match, case-insensitive).",
            "in": "query",
            "name": "emailAndNameFilter",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter people matching any of the given group IDs.",
            "in": "query",
            "name": "groupIdsMatchesAny",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Filter people matching the given employment status.",
            "in": "query",
            "name": "employmentStatus",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/EmploymentStatus"
            }
          }
        ]
      }
    },
    "/people/mark-as-not-people": {
      "post": {
        "operationId": "MarkAsNotPeople",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BulkResponse"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": [
                        {
                          "id": "65e1efde08e8478f143a8ff9",
                          "status": "SUCCESS"
                        },
                        {
                          "id": "OTHER_USER_ID",
                          "status": "ERROR",
                          "message": "Invalid Input"
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Mark a set of accounts on the People Page as \"not a person.\" As a result,\nthese accounts will not be treated as people in Vanta, and you will not be able to\nassign them tasks or use them in tests related to your company's personnel.",
        "summary": "Mark as not people",
        "tags": [
          "People"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "updates": {
                    "items": {
                      "properties": {
                        "reason": {
                          "type": "string",
                          "description": "Reason for making this change."
                        },
                        "id": {
                          "type": "string",
                          "description": "ID of the person to change"
                        }
                      },
                      "required": [
                        "reason",
                        "id"
                      ],
                      "type": "object"
                    },
                    "type": "array",
                    "description": "List of account IDs to mark as not a person",
                    "minItems": 1,
                    "maxItems": 100
                  }
                },
                "required": [
                  "updates"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/people/mark-as-people": {
      "post": {
        "operationId": "MarkAsPeople",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BulkResponse"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": [
                        {
                          "id": "65e1efde08e8478f143a8ff9",
                          "status": "SUCCESS"
                        },
                        {
                          "id": "OTHER_USER_ID",
                          "status": "ERROR",
                          "message": "Invalid Input"
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Mark a set of accounts on the People Page as \"people.\" As a result,\nthese accounts will be treated as people in Vanta, and you will be able to\nassign them tasks and use them in tests related to your company's personnel.",
        "summary": "Mark as people",
        "tags": [
          "People"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "updates": {
                    "items": {
                      "properties": {
                        "id": {
                          "type": "string",
                          "description": "ID of the person to change"
                        }
                      },
                      "required": [
                        "id"
                      ],
                      "type": "object"
                    },
                    "type": "array",
                    "description": "List of account IDs to mark as a person",
                    "minItems": 1,
                    "maxItems": 100
                  }
                },
                "required": [
                  "updates"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/people/offboard": {
      "post": {
        "operationId": "OffboardPeople",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BulkResponse"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": [
                        {
                          "id": "65e1efde08e8478f143a8ff9",
                          "status": "SUCCESS"
                        },
                        {
                          "id": "OTHER_USER_ID",
                          "status": "ERROR",
                          "message": "Invalid Input"
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Offboard a list of people. A person is only eligible for offboarding completion when:\n1. They are an ex-employee.\n2. All of the person's monitored accounts are deactivated or manually overwritten as such.\n3. All of a person's custom offboarding tasks have been completed.\nAll of the person's unmonitored accounts will be automatically marked as deactivated when they\nare offboarded. If the person has unfinished offboarding tasks those will NOT automatically be\ncompleted and offboarding them will fail.",
        "summary": "Offboard people",
        "tags": [
          "People"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "updates": {
                    "items": {
                      "properties": {
                        "acknowledgerId": {
                          "type": "string",
                          "description": "ID of the person who will be recorded as completing the offboarding for these people"
                        },
                        "id": {
                          "type": "string",
                          "description": "ID of the person to offboard"
                        }
                      },
                      "required": [
                        "acknowledgerId",
                        "id"
                      ],
                      "type": "object"
                    },
                    "type": "array",
                    "description": "List of the people to offboard.",
                    "minItems": 1,
                    "maxItems": 1000
                  }
                },
                "required": [
                  "updates"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/people/{personId}": {
      "get": {
        "operationId": "GetPerson",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Person"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "65e1efde08e8478f143a8ff9",
                      "userId": "65e1efde08e8478f143a9001",
                      "emailAddress": "example-person@email.com",
                      "employment": {
                        "endDate": null,
                        "jobTitle": "Customer success manager",
                        "startDate": "2021-01-01T00:00:00.000Z",
                        "status": "CURRENT"
                      },
                      "leaveInfo": null,
                      "groupIds": [
                        "5f2c939a52855e725c8d5824"
                      ],
                      "name": {
                        "display": "Example Person",
                        "last": "Person",
                        "first": "Example"
                      },
                      "sources": {
                        "emailAddress": {
                          "integrationId": "gsuiteadmin",
                          "resourceId": "660c701d3d344e660b032306",
                          "type": "INTEGRATION"
                        },
                        "employment": {
                          "startDate": {
                            "integrationId": "gusto",
                            "resourceId": "660c70783d344e660b032323",
                            "type": "INTEGRATION"
                          },
                          "endDate": {
                            "integrationId": "gusto",
                            "resourceId": "660c70783d344e660b032323",
                            "type": "INTEGRATION"
                          }
                        }
                      },
                      "tasksSummary": {
                        "completionDate": null,
                        "dueDate": "2021-12-01T00:00:00.000Z",
                        "status": "OVERDUE",
                        "details": {
                          "completeTrainings": {
                            "taskType": "COMPLETE_TRAININGS",
                            "status": "COMPLETE",
                            "dueDate": "2021-12-01T00:00:00.000Z",
                            "completionDate": "2021-11-01T00:00:00.000Z",
                            "disabled": {
                              "date": "2021-11-01T00:00:00.000Z",
                              "reason": "Training Vanta tests have been disabled for this person"
                            },
                            "incompleteTrainings": [
                              {
                                "name": "Security training 1"
                              },
                              {
                                "name": "Security training 2"
                              }
                            ],
                            "completedTrainings": [
                              {
                                "name": "Security training 3"
                              },
                              {
                                "name": "Security training 4"
                              }
                            ]
                          },
                          "acceptPolicies": {
                            "taskType": "ACCEPT_POLICIES",
                            "status": "COMPLETE",
                            "dueDate": "2021-12-01T00:00:00.000Z",
                            "completionDate": "2021-11-01T00:00:00.000Z",
                            "disabled": null,
                            "unacceptedPolicies": [
                              {
                                "name": "Policy 1"
                              },
                              {
                                "name": "Policy 2"
                              }
                            ],
                            "acceptedPolicies": [
                              {
                                "name": "Policy 3"
                              },
                              {
                                "name": "Policy 4"
                              }
                            ]
                          },
                          "completeCustomTasks": {
                            "taskType": "COMPLETE_CUSTOM_TASKS",
                            "status": "OVERDUE",
                            "dueDate": "2021-12-01T00:00:00.000Z",
                            "completionDate": "2021-11-01T00:00:00.000Z",
                            "disabled": {
                              "date": "2021-11-01T00:00:00.000Z",
                              "reason": "Custom task Vanta tests have been disabled for this person"
                            },
                            "incompleteCustomTasks": [
                              {
                                "name": "Custom task 1"
                              },
                              {
                                "name": "Custom task 2"
                              }
                            ],
                            "completedCustomTasks": [
                              {
                                "name": "Custom task 3"
                              },
                              {
                                "name": "Custom task 4"
                              }
                            ]
                          },
                          "completeOffboardingCustomTasks": {
                            "taskType": "COMPLETE_CUSTOM_OFFBOARDING_TASKS",
                            "status": "COMPLETE",
                            "dueDate": "2021-12-01T00:00:00.000Z",
                            "completionDate": "2021-11-01T00:00:00.000Z",
                            "disabled": null,
                            "incompleteCustomOffboardingTasks": [],
                            "completedCustomOffboardingTasks": [
                              {
                                "name": "Custom offboarding task 1"
                              },
                              {
                                "name": "Custom offboarding task 2"
                              }
                            ]
                          },
                          "installDeviceMonitoring": {
                            "taskType": "INSTALL_DEVICE_MONITORING",
                            "status": "DUE_SOON",
                            "dueDate": "2021-12-01T00:00:00.000Z",
                            "completionDate": null,
                            "disabled": null
                          },
                          "completeBackgroundChecks": {
                            "taskType": "COMPLETE_BACKGROUND_CHECKS",
                            "status": "COMPLETE",
                            "dueDate": "2021-12-01T00:00:00.000Z",
                            "completionDate": "2021-11-01T00:00:00.000Z",
                            "disabled": null
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Returns a person by ID.",
        "summary": "Get person by ID",
        "tags": [
          "People"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "personId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "patch": {
        "operationId": "UpdatePerson",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Person"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "65e1efde08e8478f143a8ff9",
                      "userId": "65e1efde08e8478f143a9001",
                      "emailAddress": "example-person@email.com",
                      "employment": {
                        "endDate": null,
                        "jobTitle": "Customer success manager",
                        "startDate": "2021-01-01T00:00:00.000Z",
                        "status": "CURRENT"
                      },
                      "leaveInfo": null,
                      "groupIds": [
                        "5f2c939a52855e725c8d5824"
                      ],
                      "name": {
                        "display": "Example Person",
                        "last": "Person",
                        "first": "Example"
                      },
                      "sources": {
                        "emailAddress": {
                          "integrationId": "gsuiteadmin",
                          "resourceId": "660c701d3d344e660b032306",
                          "type": "INTEGRATION"
                        },
                        "employment": {
                          "startDate": {
                            "integrationId": "gusto",
                            "resourceId": "660c70783d344e660b032323",
                            "type": "INTEGRATION"
                          },
                          "endDate": {
                            "integrationId": "gusto",
                            "resourceId": "660c70783d344e660b032323",
                            "type": "INTEGRATION"
                          }
                        }
                      },
                      "tasksSummary": {
                        "completionDate": null,
                        "dueDate": "2021-12-01T00:00:00.000Z",
                        "status": "OVERDUE",
                        "details": {
                          "completeTrainings": {
                            "taskType": "COMPLETE_TRAININGS",
                            "status": "COMPLETE",
                            "dueDate": "2021-12-01T00:00:00.000Z",
                            "completionDate": "2021-11-01T00:00:00.000Z",
                            "disabled": {
                              "date": "2021-11-01T00:00:00.000Z",
                              "reason": "Training Vanta tests have been disabled for this person"
                            },
                            "incompleteTrainings": [
                              {
                                "name": "Security training 1"
                              },
                              {
                                "name": "Security training 2"
                              }
                            ],
                            "completedTrainings": [
                              {
                                "name": "Security training 3"
                              },
                              {
                                "name": "Security training 4"
                              }
                            ]
                          },
                          "acceptPolicies": {
                            "taskType": "ACCEPT_POLICIES",
                            "status": "COMPLETE",
                            "dueDate": "2021-12-01T00:00:00.000Z",
                            "completionDate": "2021-11-01T00:00:00.000Z",
                            "disabled": null,
                            "unacceptedPolicies": [
                              {
                                "name": "Policy 1"
                              },
                              {
                                "name": "Policy 2"
                              }
                            ],
                            "acceptedPolicies": [
                              {
                                "name": "Policy 3"
                              },
                              {
                                "name": "Policy 4"
                              }
                            ]
                          },
                          "completeCustomTasks": {
                            "taskType": "COMPLETE_CUSTOM_TASKS",
                            "status": "OVERDUE",
                            "dueDate": "2021-12-01T00:00:00.000Z",
                            "completionDate": "2021-11-01T00:00:00.000Z",
                            "disabled": {
                              "date": "2021-11-01T00:00:00.000Z",
                              "reason": "Custom task Vanta tests have been disabled for this person"
                            },
                            "incompleteCustomTasks": [
                              {
                                "name": "Custom task 1"
                              },
                              {
                                "name": "Custom task 2"
                              }
                            ],
                            "completedCustomTasks": [
                              {
                                "name": "Custom task 3"
                              },
                              {
                                "name": "Custom task 4"
                              }
                            ]
                          },
                          "completeOffboardingCustomTasks": {
                            "taskType": "COMPLETE_CUSTOM_OFFBOARDING_TASKS",
                            "status": "COMPLETE",
                            "dueDate": "2021-12-01T00:00:00.000Z",
                            "completionDate": "2021-11-01T00:00:00.000Z",
                            "disabled": null,
                            "incompleteCustomOffboardingTasks": [],
                            "completedCustomOffboardingTasks": [
                              {
                                "name": "Custom offboarding task 1"
                              },
                              {
                                "name": "Custom offboarding task 2"
                              }
                            ]
                          },
                          "installDeviceMonitoring": {
                            "taskType": "INSTALL_DEVICE_MONITORING",
                            "status": "DUE_SOON",
                            "dueDate": "2021-12-01T00:00:00.000Z",
                            "completionDate": null,
                            "disabled": null
                          },
                          "completeBackgroundChecks": {
                            "taskType": "COMPLETE_BACKGROUND_CHECKS",
                            "status": "COMPLETE",
                            "dueDate": "2021-12-01T00:00:00.000Z",
                            "completionDate": "2021-11-01T00:00:00.000Z",
                            "disabled": null
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Update a person's basic information.",
        "summary": "Update person metadata",
        "tags": [
          "People"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "personId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "name": {
                    "properties": {
                      "last": {
                        "type": "string"
                      },
                      "first": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "last",
                      "first"
                    ],
                    "type": "object"
                  },
                  "employment": {
                    "properties": {
                      "startDate": {
                        "type": "string",
                        "format": "date-time"
                      }
                    },
                    "type": "object"
                  }
                },
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/people/{personId}/clear-leave": {
      "post": {
        "operationId": "ClearLeaveForPerson",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Person"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "65e1efde08e8478f143a8ff9",
                      "userId": "65e1efde08e8478f143a9001",
                      "emailAddress": "example-person@email.com",
                      "employment": {
                        "endDate": null,
                        "jobTitle": "Customer success manager",
                        "startDate": "2021-01-01T00:00:00.000Z",
                        "status": "CURRENT"
                      },
                      "leaveInfo": null,
                      "groupIds": [
                        "5f2c939a52855e725c8d5824"
                      ],
                      "name": {
                        "display": "Example Person",
                        "last": "Person",
                        "first": "Example"
                      },
                      "sources": {
                        "emailAddress": {
                          "integrationId": "gsuiteadmin",
                          "resourceId": "660c701d3d344e660b032306",
                          "type": "INTEGRATION"
                        },
                        "employment": {
                          "startDate": {
                            "integrationId": "gusto",
                            "resourceId": "660c70783d344e660b032323",
                            "type": "INTEGRATION"
                          },
                          "endDate": {
                            "integrationId": "gusto",
                            "resourceId": "660c70783d344e660b032323",
                            "type": "INTEGRATION"
                          }
                        }
                      },
                      "tasksSummary": {
                        "completionDate": null,
                        "dueDate": "2021-12-01T00:00:00.000Z",
                        "status": "OVERDUE",
                        "details": {
                          "completeTrainings": {
                            "taskType": "COMPLETE_TRAININGS",
                            "status": "COMPLETE",
                            "dueDate": "2021-12-01T00:00:00.000Z",
                            "completionDate": "2021-11-01T00:00:00.000Z",
                            "disabled": {
                              "date": "2021-11-01T00:00:00.000Z",
                              "reason": "Training Vanta tests have been disabled for this person"
                            },
                            "incompleteTrainings": [
                              {
                                "name": "Security training 1"
                              },
                              {
                                "name": "Security training 2"
                              }
                            ],
                            "completedTrainings": [
                              {
                                "name": "Security training 3"
                              },
                              {
                                "name": "Security training 4"
                              }
                            ]
                          },
                          "acceptPolicies": {
                            "taskType": "ACCEPT_POLICIES",
                            "status": "COMPLETE",
                            "dueDate": "2021-12-01T00:00:00.000Z",
                            "completionDate": "2021-11-01T00:00:00.000Z",
                            "disabled": null,
                            "unacceptedPolicies": [
                              {
                                "name": "Policy 1"
                              },
                              {
                                "name": "Policy 2"
                              }
                            ],
                            "acceptedPolicies": [
                              {
                                "name": "Policy 3"
                              },
                              {
                                "name": "Policy 4"
                              }
                            ]
                          },
                          "completeCustomTasks": {
                            "taskType": "COMPLETE_CUSTOM_TASKS",
                            "status": "OVERDUE",
                            "dueDate": "2021-12-01T00:00:00.000Z",
                            "completionDate": "2021-11-01T00:00:00.000Z",
                            "disabled": {
                              "date": "2021-11-01T00:00:00.000Z",
                              "reason": "Custom task Vanta tests have been disabled for this person"
                            },
                            "incompleteCustomTasks": [
                              {
                                "name": "Custom task 1"
                              },
                              {
                                "name": "Custom task 2"
                              }
                            ],
                            "completedCustomTasks": [
                              {
                                "name": "Custom task 3"
                              },
                              {
                                "name": "Custom task 4"
                              }
                            ]
                          },
                          "completeOffboardingCustomTasks": {
                            "taskType": "COMPLETE_CUSTOM_OFFBOARDING_TASKS",
                            "status": "COMPLETE",
                            "dueDate": "2021-12-01T00:00:00.000Z",
                            "completionDate": "2021-11-01T00:00:00.000Z",
                            "disabled": null,
                            "incompleteCustomOffboardingTasks": [],
                            "completedCustomOffboardingTasks": [
                              {
                                "name": "Custom offboarding task 1"
                              },
                              {
                                "name": "Custom offboarding task 2"
                              }
                            ]
                          },
                          "installDeviceMonitoring": {
                            "taskType": "INSTALL_DEVICE_MONITORING",
                            "status": "DUE_SOON",
                            "dueDate": "2021-12-01T00:00:00.000Z",
                            "completionDate": null,
                            "disabled": null
                          },
                          "completeBackgroundChecks": {
                            "taskType": "COMPLETE_BACKGROUND_CHECKS",
                            "status": "COMPLETE",
                            "dueDate": "2021-12-01T00:00:00.000Z",
                            "completionDate": "2021-11-01T00:00:00.000Z",
                            "disabled": null
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Remove leave information on a person. The person will become active in Vanta, and will be considered in certain tests related to personnel.",
        "summary": "Remove leave information",
        "tags": [
          "People"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "personId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/people/{personId}/set-leave": {
      "post": {
        "operationId": "SetLeaveForPerson",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Person"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "65e1efde08e8478f143a8ff9",
                      "userId": "65e1efde08e8478f143a9001",
                      "emailAddress": "example-person@email.com",
                      "employment": {
                        "endDate": null,
                        "jobTitle": "Customer success manager",
                        "startDate": "2021-01-01T00:00:00.000Z",
                        "status": "CURRENT"
                      },
                      "groupIds": [
                        "5f2c939a52855e725c8d5824"
                      ],
                      "name": {
                        "display": "Example Person",
                        "last": "Person",
                        "first": "Example"
                      },
                      "sources": {
                        "emailAddress": {
                          "integrationId": "gsuiteadmin",
                          "resourceId": "660c701d3d344e660b032306",
                          "type": "INTEGRATION"
                        },
                        "employment": {
                          "startDate": {
                            "integrationId": "gusto",
                            "resourceId": "660c70783d344e660b032323",
                            "type": "INTEGRATION"
                          },
                          "endDate": {
                            "integrationId": "gusto",
                            "resourceId": "660c70783d344e660b032323",
                            "type": "INTEGRATION"
                          }
                        }
                      },
                      "tasksSummary": {
                        "completionDate": null,
                        "dueDate": "2021-12-01T00:00:00.000Z",
                        "status": "OVERDUE",
                        "details": {
                          "completeTrainings": {
                            "taskType": "COMPLETE_TRAININGS",
                            "status": "COMPLETE",
                            "dueDate": "2021-12-01T00:00:00.000Z",
                            "completionDate": "2021-11-01T00:00:00.000Z",
                            "disabled": {
                              "date": "2021-11-01T00:00:00.000Z",
                              "reason": "Training Vanta tests have been disabled for this person"
                            },
                            "incompleteTrainings": [
                              {
                                "name": "Security training 1"
                              },
                              {
                                "name": "Security training 2"
                              }
                            ],
                            "completedTrainings": [
                              {
                                "name": "Security training 3"
                              },
                              {
                                "name": "Security training 4"
                              }
                            ]
                          },
                          "acceptPolicies": {
                            "taskType": "ACCEPT_POLICIES",
                            "status": "COMPLETE",
                            "dueDate": "2021-12-01T00:00:00.000Z",
                            "completionDate": "2021-11-01T00:00:00.000Z",
                            "disabled": null,
                            "unacceptedPolicies": [
                              {
                                "name": "Policy 1"
                              },
                              {
                                "name": "Policy 2"
                              }
                            ],
                            "acceptedPolicies": [
                              {
                                "name": "Policy 3"
                              },
                              {
                                "name": "Policy 4"
                              }
                            ]
                          },
                          "completeCustomTasks": {
                            "taskType": "COMPLETE_CUSTOM_TASKS",
                            "status": "OVERDUE",
                            "dueDate": "2021-12-01T00:00:00.000Z",
                            "completionDate": "2021-11-01T00:00:00.000Z",
                            "disabled": {
                              "date": "2021-11-01T00:00:00.000Z",
                              "reason": "Custom task Vanta tests have been disabled for this person"
                            },
                            "incompleteCustomTasks": [
                              {
                                "name": "Custom task 1"
                              },
                              {
                                "name": "Custom task 2"
                              }
                            ],
                            "completedCustomTasks": [
                              {
                                "name": "Custom task 3"
                              },
                              {
                                "name": "Custom task 4"
                              }
                            ]
                          },
                          "completeOffboardingCustomTasks": {
                            "taskType": "COMPLETE_CUSTOM_OFFBOARDING_TASKS",
                            "status": "COMPLETE",
                            "dueDate": "2021-12-01T00:00:00.000Z",
                            "completionDate": "2021-11-01T00:00:00.000Z",
                            "disabled": null,
                            "incompleteCustomOffboardingTasks": [],
                            "completedCustomOffboardingTasks": [
                              {
                                "name": "Custom offboarding task 1"
                              },
                              {
                                "name": "Custom offboarding task 2"
                              }
                            ]
                          },
                          "installDeviceMonitoring": {
                            "taskType": "INSTALL_DEVICE_MONITORING",
                            "status": "DUE_SOON",
                            "dueDate": "2021-12-01T00:00:00.000Z",
                            "completionDate": null,
                            "disabled": null
                          },
                          "completeBackgroundChecks": {
                            "taskType": "COMPLETE_BACKGROUND_CHECKS",
                            "status": "COMPLETE",
                            "dueDate": "2021-12-01T00:00:00.000Z",
                            "completionDate": "2021-11-01T00:00:00.000Z",
                            "disabled": null
                          }
                        }
                      },
                      "leaveInfo": {
                        "startDate": "2021-01-01T00:00:00.000Z",
                        "endDate": null,
                        "status": "ACTIVE"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Set leave information on a person. A person on leave is inactive in Vanta and will not\nbe considered in certain personnel-related tests. If the person has existing leave information, it will be\ncleared and replaced.",
        "summary": "Set leave information",
        "tags": [
          "People"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "personId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "endDate": {
                    "type": "string",
                    "format": "date-time",
                    "nullable": true,
                    "description": "The end date of the person's leave. If left empty, the leave is considered indefinite."
                  },
                  "startDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The start date of the person's leave."
                  }
                },
                "required": [
                  "endDate",
                  "startDate"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/policies": {
      "get": {
        "operationId": "ListPolicies",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Policy_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "pageInfo": {
                          "hasNextPage": false,
                          "hasPreviousPage": false,
                          "endCursor": "YXJyYXljb25uZWN0aW9uOjA=",
                          "startCursor": "YXJyYXljb25uZWN0aW9uOjA="
                        },
                        "data": [
                          {
                            "id": "code-of-conduct-bsi",
                            "name": "Code of Conduct",
                            "description": "Develops and maintains a standard of conduct that is acceptable to the company and its employees, customers, and vendors.",
                            "status": "OK",
                            "approvedAtDate": "2024-01-15T10:30:00.000Z",
                            "latestVersion": {
                              "status": "APPROVED"
                            },
                            "latestApprovedVersion": {
                              "versionId": "65f1a8b2c3d4e5f60718293a",
                              "documents": [
                                {
                                  "language": "EN",
                                  "slugId": "a1b2c3d4e5f6g7h8i9j0k1l2",
                                  "url": "https://app.vanta.com/c/my-domain/doc/Policy-a1b2c3d4e5f6g7h8i9j0k1l2"
                                }
                              ]
                            }
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Lists all policies.",
        "summary": "List policies",
        "tags": [
          "Policies"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          }
        ]
      }
    },
    "/policies/{policyId}": {
      "get": {
        "operationId": "GetPolicy",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Policy"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "code-of-conduct-bsi",
                      "name": "Code of Conduct",
                      "description": "Develops and maintains a standard of conduct that is acceptable to the company and its employees, customers, and vendors.",
                      "status": "OK",
                      "approvedAtDate": "2024-01-15T10:30:00.000Z",
                      "latestVersion": {
                        "status": "APPROVED"
                      },
                      "latestApprovedVersion": {
                        "versionId": "65f1a8b2c3d4e5f60718293a",
                        "documents": [
                          {
                            "language": "EN",
                            "slugId": "a1b2c3d4e5f6g7h8i9j0k1l2",
                            "url": "https://app.vanta.com/c/my-domain/doc/Policy-a1b2c3d4e5f6g7h8i9j0k1l2"
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Gets a policy by ID. Policy IDs can be found in Vanta in URL bar after /policies/.",
        "summary": "Get policy by ID",
        "tags": [
          "Policies"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "policyId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "code-of-conduct-bsi"
          }
        ]
      }
    },
    "/risk-scenarios": {
      "get": {
        "operationId": "ListRiskScenario",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_RiskScenario_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "data": [
                          {
                            "riskId": "assets-not-identified-and-protected",
                            "description": "Assets are not identified and protected according to company requirements.",
                            "detailedDescription": null,
                            "isSensitive": false,
                            "likelihood": 4,
                            "impact": 4,
                            "residualLikelihood": 2,
                            "residualImpact": 1,
                            "categories": [
                              "Access control"
                            ],
                            "ciaCategories": [
                              "Confidentiality"
                            ],
                            "treatment": "Avoid",
                            "owner": null,
                            "note": null,
                            "riskRegister": "Default",
                            "customFields": [],
                            "isArchived": false,
                            "reviewStatus": "DRAFT",
                            "requiredApprovers": [],
                            "type": "Risk Scenario",
                            "identificationDate": "2024-03-07T18:46:05.944Z"
                          }
                        ],
                        "pageInfo": {
                          "hasNextPage": false,
                          "hasPreviousPage": false,
                          "startCursor": "1",
                          "endCursor": "1"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "List risk scenarios.",
        "summary": "List risk scenarios",
        "tags": [
          "Risk Scenarios"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          },
          {
            "in": "query",
            "name": "includeIgnored",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Use \"No owner\" to filter scenarios without owner assigned.",
            "in": "query",
            "name": "ownerMatchesAny",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "in": "query",
            "name": "searchString",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Use \"Uncategorized\" to filter scenarios without any category.",
            "in": "query",
            "name": "categoryMatchesAny",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Use \"Uncategorized\" to filter scenarios with none of Confidentiality, Integrity or Availability assigned.",
            "in": "query",
            "name": "ciaCategoryMatchesAny",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/CIA"
                  },
                  {
                    "$ref": "#/components/schemas/UNCATEGORIZED"
                  }
                ]
              }
            }
          },
          {
            "description": "Use \"No treatment type\" to filter scenarios without treatment specified.",
            "in": "query",
            "name": "treatmentTypeMatchesAny",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/Treatment"
                  },
                  {
                    "$ref": "#/components/schemas/NO_TREATMENT_TYPE"
                  }
                ]
              }
            }
          },
          {
            "in": "query",
            "name": "inherentScoreGroupMatchesAny",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ScoreGroup"
              }
            }
          },
          {
            "in": "query",
            "name": "residualScoreGroupMatchesAny",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ScoreGroup"
              }
            }
          },
          {
            "in": "query",
            "name": "reviewStatusMatchesAny",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ReviewStatus"
              }
            }
          },
          {
            "description": "Filter by risk scenario type. Defaults to \"Risk Scenario\".\nOnly returns enterprise risks when explicitly set to \"Enterprise Risk\".",
            "in": "query",
            "name": "type",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/RiskScenarioType"
            }
          },
          {
            "description": "Default to order by description alphabetically.",
            "in": "query",
            "name": "orderBy",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "description",
                "createdAt"
              ]
            }
          }
        ]
      },
      "post": {
        "operationId": "CreateRiskScenario",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RiskScenario"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "riskId": "assets-not-identified-and-protected",
                      "description": "Assets are not identified and protected according to company requirements.",
                      "detailedDescription": null,
                      "isSensitive": false,
                      "likelihood": 4,
                      "impact": 4,
                      "residualLikelihood": 2,
                      "residualImpact": 1,
                      "categories": [
                        "Access control"
                      ],
                      "ciaCategories": [
                        "Confidentiality"
                      ],
                      "treatment": "Avoid",
                      "owner": null,
                      "note": null,
                      "riskRegister": "Default",
                      "customFields": [],
                      "isArchived": false,
                      "reviewStatus": "DRAFT",
                      "requiredApprovers": [],
                      "type": "Risk Scenario",
                      "identificationDate": "2024-03-07T18:46:05.944Z"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Create a new risk scenario.",
        "summary": "Create risk scenario",
        "tags": [
          "Risk Scenarios"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRiskScenarioInput"
              }
            }
          }
        }
      }
    },
    "/risk-scenarios/{riskScenarioId}": {
      "get": {
        "operationId": "GetRiskScenario",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RiskScenario"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "riskId": "assets-not-identified-and-protected",
                      "description": "Assets are not identified and protected according to company requirements.",
                      "detailedDescription": null,
                      "isSensitive": false,
                      "likelihood": 4,
                      "impact": 4,
                      "residualLikelihood": 2,
                      "residualImpact": 1,
                      "categories": [
                        "Access control"
                      ],
                      "ciaCategories": [
                        "Confidentiality"
                      ],
                      "treatment": "Avoid",
                      "owner": null,
                      "note": null,
                      "riskRegister": "Default",
                      "customFields": [],
                      "isArchived": false,
                      "reviewStatus": "DRAFT",
                      "requiredApprovers": [],
                      "type": "Risk Scenario",
                      "identificationDate": "2024-03-07T18:46:05.944Z"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Get a risk scenario by ID (can be the Risk ID or the object ID).",
        "summary": "Get risk scenario by ID",
        "tags": [
          "Risk Scenarios"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "riskScenarioId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "patch": {
        "operationId": "UpdateRiskScenario",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RiskScenario"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "riskId": "assets-not-identified-and-protected",
                      "description": "Assets are not identified and protected according to company requirements.",
                      "detailedDescription": null,
                      "isSensitive": false,
                      "likelihood": 4,
                      "impact": 4,
                      "residualLikelihood": 2,
                      "residualImpact": 1,
                      "categories": [
                        "Access control"
                      ],
                      "ciaCategories": [
                        "Confidentiality"
                      ],
                      "treatment": "Avoid",
                      "owner": null,
                      "note": null,
                      "riskRegister": "Default",
                      "customFields": [],
                      "isArchived": false,
                      "reviewStatus": "DRAFT",
                      "requiredApprovers": [],
                      "type": "Risk Scenario",
                      "identificationDate": "2024-03-07T18:46:05.944Z"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Update a risk scenario.",
        "summary": "Update risk scenario",
        "tags": [
          "Risk Scenarios"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "riskScenarioId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateRiskScenarioInput"
              }
            }
          }
        }
      }
    },
    "/risk-scenarios/{riskScenarioId}/cancel-approval-request": {
      "post": {
        "operationId": "CancelRiskScenarioApprovalRequest",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RiskScenario"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "riskId": "assets-not-identified-and-protected",
                      "description": "Assets are not identified and protected according to company requirements.",
                      "detailedDescription": null,
                      "isSensitive": false,
                      "likelihood": 4,
                      "impact": 4,
                      "residualLikelihood": 2,
                      "residualImpact": 1,
                      "categories": [
                        "Access control"
                      ],
                      "ciaCategories": [
                        "Confidentiality"
                      ],
                      "treatment": "Avoid",
                      "owner": null,
                      "note": null,
                      "riskRegister": "Default",
                      "customFields": [],
                      "isArchived": false,
                      "reviewStatus": "DRAFT",
                      "requiredApprovers": [],
                      "type": "Risk Scenario",
                      "identificationDate": "2024-03-07T18:46:05.944Z"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Cancel approval request for a risk scenario.",
        "summary": "Cancel risk scenario approval request",
        "tags": [
          "Risk Scenarios"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "riskScenarioId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/risk-scenarios/{riskScenarioId}/controls": {
      "get": {
        "operationId": "ListRiskScenarioControls",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_RiskScenarioControl_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "data": [
                          {
                            "controlId": "A.12.2.1",
                            "controlType": "TREATMENT_PLAN"
                          },
                          {
                            "controlId": "5f3a1c8b9d4e2f6a7b8c9d11",
                            "controlType": "EXISTING"
                          }
                        ],
                        "pageInfo": {
                          "hasNextPage": false,
                          "hasPreviousPage": false,
                          "startCursor": "1",
                          "endCursor": "2"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "List the controls associated with a risk scenario.\n\nEach item is a `{ controlId, controlType }` relationship. `controlType` is\n`TREATMENT_PLAN` for controls that are part of the risk's treatment plan,\nand `EXISTING` for controls linked without a treatment-plan designation.",
        "summary": "List risk scenario controls",
        "tags": [
          "Risk Scenarios"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "riskScenarioId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          }
        ]
      },
      "post": {
        "operationId": "CreateRiskScenarioControl",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RiskScenarioControl"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "controlId": "A.12.2.1",
                      "controlType": "TREATMENT_PLAN"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Associate a control with a risk scenario.\n\nBody: `{ controlId, controlType? }`. `controlType` is `TREATMENT_PLAN`\nfor a control that is part of the risk's treatment plan; omit it (or pass\n`EXISTING`) to associate the control as a plain existing control.\n\n`controlId` may be a Vanta control shorthand, custom-control shorthand,\nor object ID; it resolves to a single canonical control before any write.\n\nBehavior on conflict with an existing association:\n- Same resolved control already associated with the same `controlType`:\n\n  the request is a no-op and the existing relationship is returned (200).\n- Same resolved control associated with the other `controlType`: the\n\n  request is rejected with a hint to use `PATCH` instead (422).",
        "summary": "Add a control to a risk scenario",
        "tags": [
          "Risk Scenarios"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "riskScenarioId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRiskScenarioControlInput"
              }
            }
          }
        }
      }
    },
    "/risk-scenarios/{riskScenarioId}/controls/{controlId}": {
      "patch": {
        "operationId": "UpdateRiskScenarioControl",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RiskScenarioControl"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "controlId": "A.12.2.1",
                      "controlType": "TREATMENT_PLAN"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Change the `controlType` on an existing risk-scenario / control\nassociation.\n\nBody: `{ controlType }`. The server atomically moves the resolved control\nbetween the treatment-plan and existing-control sets in a single update —\nthere is no intermediate unlinked state. `PATCH { \"controlType\": \"EXISTING\" }`\nremoves the control from the treatment plan but keeps it linked as an\nexisting control; use `DELETE` to unlink it entirely.\n\nReturns 404 if the control is not currently associated with the scenario.\nSetting the `controlType` it already has is a 200 no-op.",
        "summary": "Change a risk scenario control's controlType",
        "tags": [
          "Risk Scenarios"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "riskScenarioId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "controlId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateRiskScenarioControlInput"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "DeleteRiskScenarioControl",
        "responses": {
          "204": {
            "description": "No content"
          }
        },
        "description": "Remove a control from a risk scenario.\n\nFully unlinks the control regardless of whether it is currently a\n`TREATMENT_PLAN` or an `EXISTING` control. To only drop the\ntreatment-plan designation while keeping the control linked, use\n`PATCH { \"controlType\": \"EXISTING\" }` instead. Deleting an already-unlinked\ncontrol is an idempotent no-op (204).",
        "summary": "Remove a control from a risk scenario",
        "tags": [
          "Risk Scenarios"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "riskScenarioId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "controlId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/risk-scenarios/{riskScenarioId}/submit-for-approval": {
      "post": {
        "operationId": "SubmitRiskForApproval",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RiskScenario"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "riskId": "assets-not-identified-and-protected",
                      "description": "Assets are not identified and protected according to company requirements.",
                      "detailedDescription": null,
                      "isSensitive": false,
                      "likelihood": 4,
                      "impact": 4,
                      "residualLikelihood": 2,
                      "residualImpact": 1,
                      "categories": [
                        "Access control"
                      ],
                      "ciaCategories": [
                        "Confidentiality"
                      ],
                      "treatment": "Avoid",
                      "owner": null,
                      "note": null,
                      "riskRegister": "Default",
                      "customFields": [],
                      "isArchived": false,
                      "reviewStatus": "DRAFT",
                      "requiredApprovers": [],
                      "type": "Risk Scenario",
                      "identificationDate": "2024-03-07T18:46:05.944Z"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Submit a risk scenario for approval.",
        "summary": "Submit risk scenario for approval",
        "tags": [
          "Risk Scenarios"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "riskScenarioId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmitRiskForApprovalInput"
              }
            }
          }
        }
      }
    },
    "/tests": {
      "get": {
        "operationId": "ListTests",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Test_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "pageInfo": {
                          "hasNextPage": false,
                          "hasPreviousPage": false,
                          "endCursor": "YXJyYXljb25uZWN0aW9uOjA=",
                          "startCursor": "YXJyYXljb25uZWN0aW9uOjA="
                        },
                        "data": [
                          {
                            "id": "aws-account-access-removed-on-termination",
                            "name": "AWS accounts deprovisioned when personnel leave",
                            "lastTestRunDate": "2024-06-18T20:17:38.463Z",
                            "latestFlipDate": null,
                            "description": "Verifies that AWS accounts linked to removed users are removed.\n",
                            "failureDescription": "Some AWS accounts associated with terminated personnel have not been deactivated.",
                            "remediationDescription": "Remove all accounts listed from AWS.\n",
                            "version": {
                              "major": 0,
                              "minor": 0
                            },
                            "category": "Account security",
                            "integrations": [
                              "aws"
                            ],
                            "status": "OK",
                            "deactivatedStatusInfo": {
                              "isDeactivated": false,
                              "deactivatedReason": null,
                              "lastUpdatedDate": null
                            },
                            "remediationStatusInfo": {
                              "status": "PASS",
                              "soonestRemediateByDate": null,
                              "itemCount": 0
                            },
                            "owner": null
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Lists all tests based on applied filters.",
        "summary": "List tests",
        "tags": [
          "Tests"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "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 tests by test status.\nPossible values: OK (Test passed), DEACTIVATED (Test is deactivated), NEEDS_ATTENTION (Test failed), IN_PROGRESS (Test is in progress), INVALID (Test is invalid), NOT_APPLICABLE (Test is not applicable)",
            "in": "query",
            "name": "statusFilter",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/TestStatus"
            }
          },
          {
            "description": "Filter tests by framework.",
            "in": "query",
            "name": "frameworkFilter",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter tests by integration.",
            "in": "query",
            "name": "integrationFilter",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter tests by control ID.",
            "in": "query",
            "name": "controlFilter",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter tests by owner ID.",
            "in": "query",
            "name": "ownerFilter",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter tests by category.",
            "in": "query",
            "name": "categoryFilter",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/TestCategory"
            }
          },
          {
            "description": "Filter tests by rollout status.\nA test in rollout is an upcoming test that does not have its history tracked yet.",
            "in": "query",
            "name": "isInRollout",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ]
      }
    },
    "/tests/{testId}": {
      "get": {
        "operationId": "GetTest",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Test"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "aws-account-access-removed-on-termination",
                      "name": "AWS accounts deprovisioned when personnel leave",
                      "lastTestRunDate": "2024-06-18T20:17:38.463Z",
                      "latestFlipDate": null,
                      "description": "Verifies that AWS accounts linked to removed users are removed.\n",
                      "failureDescription": "Some AWS accounts associated with terminated personnel have not been deactivated.",
                      "remediationDescription": "Remove all accounts listed from AWS.\n",
                      "version": {
                        "major": 0,
                        "minor": 0
                      },
                      "category": "Account security",
                      "integrations": [
                        "aws"
                      ],
                      "status": "OK",
                      "deactivatedStatusInfo": {
                        "isDeactivated": false,
                        "deactivatedReason": null,
                        "lastUpdatedDate": null
                      },
                      "remediationStatusInfo": {
                        "status": "PASS",
                        "soonestRemediateByDate": null,
                        "itemCount": 0
                      },
                      "owner": null
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Gets a test by ID. Test IDs can be found in Vanta in URL bar after /tests/.",
        "summary": "Get test by ID",
        "tags": [
          "Tests"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "testId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "aws-account-access-removed-on-termination"
          }
        ]
      }
    },
    "/tests/{testId}/entities": {
      "get": {
        "operationId": "GetTestEntities",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_TestResourceEntity_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "pageInfo": {
                          "hasNextPage": false,
                          "hasPreviousPage": false,
                          "endCursor": "YXJyYXljb25uZWN0aW9uOjA=",
                          "startCursor": "YXJyYXljb25uZWN0aW9uOjE="
                        },
                        "data": [
                          {
                            "id": "65fc81a3359c8508c9af880f",
                            "entityStatus": "FAILING",
                            "displayName": "account-123456789012",
                            "responseType": "AWS account",
                            "deactivatedReason": null,
                            "lastUpdatedDate": "2024-06-18T20:17:38.463Z",
                            "createdDate": "2024-06-18T20:17:38.463Z"
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Gets a list of tested items (entities) for a test by test ID. An entity is a tested item that can have its own outcome.\nFor example, for a test that makes sure that all S3 buckets are versioned, an individual S3 bucket would be an entity.",
        "summary": "Get test entities by test ID",
        "tags": [
          "Tests"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "testId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "aws-account-access-removed-on-termination"
          },
          {
            "description": "The status of the test entities. Defaults to FAILING.\nPossible values: FAILING, DEACTIVATED",
            "in": "query",
            "name": "entityStatus",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/EntityStatus"
            }
          },
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          }
        ]
      }
    },
    "/tests/{testId}/entities/{entityId}/deactivate": {
      "post": {
        "operationId": "DeactivateTestEntity",
        "responses": {
          "202": {
            "description": "Deactivation request accepted"
          }
        },
        "description": "Deactivates a single test item (test entity).\nThere may be a delay in the deactivation of the test entity until the next test run.\nUse the /vulnerabilities/deactivate endpoint for vulnerabilities.",
        "summary": "Deactivate test entity",
        "tags": [
          "Tests"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "testId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "aws-account-access-removed-on-termination"
          },
          {
            "in": "path",
            "name": "entityId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "deactivateReason": {
                    "type": "string",
                    "description": "Reason for deactivating the entity.",
                    "minLength": 1
                  },
                  "deactivateUntilDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Date until which the entity should be deactivated. If not provided, the entity will be deactivated indefinitely."
                  }
                },
                "required": [
                  "deactivateReason"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/tests/{testId}/entities/{entityId}/reactivate": {
      "post": {
        "operationId": "ReactivateTestEntity",
        "responses": {
          "202": {
            "description": "Reactivation request accepted"
          }
        },
        "description": "Reactivates a single tested item (test entity).\nThere may be a delay in the reactivation of the test entity until the next test run.\nUse the /vulnerabilities/reactivate endpoint for vulnerabilities.",
        "summary": "Reactivate test entity",
        "tags": [
          "Tests"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "testId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "aws-account-access-removed-on-termination"
          },
          {
            "in": "path",
            "name": "entityId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/trust-centers/{slugId}": {
      "get": {
        "operationId": "GetTrustCenter",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustCenter"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "a2f7e1b9d0c3f4e5a6c7b8d9",
                      "title": "Trust Center",
                      "companyDescription": "Company description",
                      "privacyPolicy": "Privacy policy",
                      "awsMarketplaceListing": "https://aws.amazon.com/marketplace/pp/example",
                      "customDomain": "trustcenter.com",
                      "isPublic": true,
                      "bannerSetting": {
                        "setting": "GRADIENT",
                        "startColor": "#000000",
                        "endColor": "#FFFFFF"
                      },
                      "customTheme": {
                        "primary": "#000000",
                        "secondary": "#FFFFFF"
                      },
                      "contactEmail": "security@example.com",
                      "customHeading": "Welcome to our Trust Center",
                      "creationDate": "2020-01-01T00:00:00.000Z",
                      "updatedDate": "2020-01-01T00:00:00.000Z"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Gets a Trust Center by slug ID.",
        "summary": "Get Trust Center",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "a2f7e1b9d0c3f4e5a6c7b8d9"
          }
        ]
      },
      "patch": {
        "operationId": "UpdateTrustCenter",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustCenter"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "a2f7e1b9d0c3f4e5a6c7b8d9",
                      "title": "Trust Center",
                      "companyDescription": "Company description",
                      "privacyPolicy": "Privacy policy",
                      "awsMarketplaceListing": "https://aws.amazon.com/marketplace/pp/example",
                      "customDomain": "trustcenter.com",
                      "isPublic": true,
                      "bannerSetting": {
                        "setting": "GRADIENT",
                        "startColor": "#000000",
                        "endColor": "#FFFFFF"
                      },
                      "customTheme": {
                        "primary": "#000000",
                        "secondary": "#FFFFFF"
                      },
                      "contactEmail": "security@example.com",
                      "customHeading": "Welcome to our Trust Center",
                      "creationDate": "2020-01-01T00:00:00.000Z",
                      "updatedDate": "2020-01-01T00:00:00.000Z"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Updates a Trust Center by slug ID.",
        "summary": "Update Trust Center",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateTrustCenterInput"
              }
            }
          }
        }
      }
    },
    "/trust-centers/{slugId}/access-requests": {
      "get": {
        "operationId": "ListTrustCenterAccessRequests",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_TrustCenterAccessRequest_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "pageInfo": {
                          "hasNextPage": true,
                          "hasPreviousPage": false,
                          "startCursor": "YXJyYXljb25uZWN0aW9uOjA=",
                          "endCursor": "YXJyYXljb25uZWN0aW9uOjE="
                        },
                        "data": [
                          {
                            "id": "a2f7e1b9d0c3f4e5a6c7b8d9",
                            "email": "exampleviewer@company.com",
                            "name": "Example Viewer",
                            "companyName": "Viewer Company, Inc.",
                            "reason": "I'm an existing customer",
                            "requestedResources": null,
                            "accessLevel": "FULL_ACCESS",
                            "creationDate": "2020-01-01T00:00:00.000Z",
                            "updatedDate": "2020-01-01T00:00:00.000Z"
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Gets a list of access requests for a Trust Center.",
        "summary": "List Trust Center access requests",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          }
        ]
      }
    },
    "/trust-centers/{slugId}/access-requests/{accessRequestId}": {
      "get": {
        "operationId": "GetTrustCenterAccessRequest",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustCenterAccessRequest"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "a2f7e1b9d0c3f4e5a6c7b8d9",
                      "email": "exampleviewer@company.com",
                      "name": "Example Viewer",
                      "companyName": "Viewer Company, Inc.",
                      "reason": "I'm an existing customer",
                      "requestedResources": null,
                      "accessLevel": "FULL_ACCESS",
                      "creationDate": "2020-01-01T00:00:00.000Z",
                      "updatedDate": "2020-01-01T00:00:00.000Z"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Gets a specific access request for a Trust Center.",
        "summary": "Get Trust Center access request",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "accessRequestId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/trust-centers/{slugId}/access-requests/{accessRequestId}/approve": {
      "post": {
        "operationId": "ApproveTrustCenterAccessRequest",
        "responses": {
          "204": {
            "description": "No content"
          }
        },
        "description": "Approves an access request on a Trust Center.",
        "summary": "Approve Trust Center access request",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "accessRequestId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApproveTrustCenterAccessRequestInput"
              }
            }
          }
        }
      }
    },
    "/trust-centers/{slugId}/access-requests/{accessRequestId}/deny": {
      "post": {
        "operationId": "DenyTrustCenterAccessRequest",
        "responses": {
          "204": {
            "description": "No content"
          }
        },
        "description": "Denies an access request on a Trust Center.",
        "summary": "Deny Trust Center access request",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "accessRequestId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DenyTrustCenterAccessRequestInput"
              }
            }
          }
        }
      }
    },
    "/trust-centers/{slugId}/activity": {
      "get": {
        "operationId": "ListTrustCenterActivityEvents",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_TrustCenterActivityEvent_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "pageInfo": {
                          "hasNextPage": true,
                          "hasPreviousPage": false,
                          "startCursor": "YXJyYXljb25uZWN0aW9uOjA=",
                          "endCursor": "YXJyYXljb25uZWN0aW9uOjE="
                        },
                        "data": [
                          {
                            "id": "4b1e7a8c3d9f6a2b5c8d0e3f",
                            "date": "2020-01-01T00:00:00.000Z",
                            "eventType": "PAGE_VIEW",
                            "details": {
                              "page": "OVERVIEW"
                            },
                            "viewerEmail": "exampleviewer@company.com",
                            "viewerId": "a2f7e1b9d0c3f4e5a6c7b8d9",
                            "countryCode": "US",
                            "city": "San Francisco"
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Gets a list of viewer activity events on a Trust Center.",
        "summary": "List Trust Center viewer activity events",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          },
          {
            "in": "query",
            "name": "eventTypesMatchesAny",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ActivityEventType"
              }
            }
          },
          {
            "description": "Only include activity events that occurred on or after the specified date and time.",
            "in": "query",
            "name": "afterDate",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "Only include activity events that occurred before the specified date and time.",
            "in": "query",
            "name": "beforeDate",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          }
        ]
      }
    },
    "/trust-centers/{slugId}/chatbot/conversations": {
      "get": {
        "operationId": "ListChatbotConversations",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_TrustCenterChatbotConversation_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "pageInfo": {
                          "hasNextPage": true,
                          "hasPreviousPage": false,
                          "startCursor": "YXJyYXljb25uZWN0aW9uOjA=",
                          "endCursor": "YXJyYXljb25uZWN0aW9uOjE="
                        },
                        "data": [
                          {
                            "id": "4b1e7a8c3d9f6a2b5c8d0e3f",
                            "firstMessage": "What security certifications do you have?",
                            "numMessages": 4,
                            "userEmail": "viewer@company.com",
                            "isPublicConversation": false,
                            "createdAt": "2024-01-15T10:30:00.000Z"
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Gets a paginated list of chatbot conversations on a Trust Center.",
        "summary": "List Trust Center chatbot conversations",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          },
          {
            "description": "Search conversations by message content.",
            "in": "query",
            "name": "searchString",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/trust-centers/{slugId}/chatbot/conversations/{conversationId}": {
      "get": {
        "operationId": "GetChatbotConversationMessages",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArrayResponse_TrustCenterChatbotMessage_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": [
                        {
                          "id": "a2f7e1b9d0c3f4e5a6c7b8d9",
                          "role": "USER",
                          "message": "What security certifications do you have?",
                          "createdAt": "2024-01-15T10:30:00.000Z",
                          "references": []
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Gets the messages for a specific chatbot conversation on a Trust Center.",
        "summary": "Get Trust Center chatbot conversation messages",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "conversationId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/trust-centers/{slugId}/compliance-frameworks": {
      "get": {
        "operationId": "ListComplianceFrameworks",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArrayResponse_TrustCenterComplianceFramework_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": [
                        {
                          "id": "b3c8d4e5f6a7b8c9d0e1f2a3",
                          "name": "SOC 2 Type II",
                          "standard": "soc2",
                          "description": "Service Organization Control 2 Type II compliance"
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Gets the list of compliance frameworks on a Trust Center.",
        "summary": "List Trust Center compliance frameworks",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "post": {
        "operationId": "CreateComplianceFramework",
        "responses": {
          "201": {
            "description": "Trust Center compliance framework created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustCenterComplianceFramework"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "b3c8d4e5f6a7b8c9d0e1f2a3",
                      "name": "SOC 2 Type II",
                      "standard": "soc2",
                      "description": "Service Organization Control 2 Type II compliance"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Adds a compliance framework to a Trust Center.",
        "summary": "Create Trust Center compliance framework",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateComplianceFrameworkInput"
              }
            }
          }
        }
      }
    },
    "/trust-centers/{slugId}/compliance-frameworks/{frameworkId}": {
      "patch": {
        "operationId": "UpdateComplianceFramework",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustCenterComplianceFramework"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "b3c8d4e5f6a7b8c9d0e1f2a3",
                      "name": "SOC 2 Type II",
                      "standard": "soc2",
                      "description": "Service Organization Control 2 Type II compliance"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Updates a compliance framework on a Trust Center.",
        "summary": "Update Trust Center compliance framework",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "frameworkId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateComplianceFrameworkInput"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "DeleteComplianceFramework",
        "responses": {
          "204": {
            "description": "No content"
          }
        },
        "description": "Removes a compliance framework from a Trust Center.",
        "summary": "Delete Trust Center compliance framework",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "frameworkId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/trust-centers/{slugId}/compliance-frameworks/{frameworkId}/badge": {
      "post": {
        "operationId": "UploadComplianceFrameworkBadge",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadgeUploadResponse"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "isSuccessful": true
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Uploads a badge image for a compliance framework on a Trust Center.",
        "summary": "Upload Trust Center compliance framework badge",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "frameworkId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                },
                "required": [
                  "file"
                ]
              }
            }
          }
        }
      }
    },
    "/trust-centers/{slugId}/control-categories": {
      "get": {
        "operationId": "GetTrustCenterControlCategories",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArrayResponse_TrustCenterControlCategory_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": [
                        {
                          "id": "93d69894dd525f806d7e5c48",
                          "name": "Category name"
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Gets a list of control categories on a Trust Center.",
        "summary": "List Trust Center control categories",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "post": {
        "operationId": "AddTrustCenterControlCategory",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustCenterControlCategory"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "93d69894dd525f806d7e5c48",
                      "name": "Category name"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Adds a control category to a Trust Center.",
        "summary": "Add Trust Center control category",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddOrEditTrustCenterControlCategoryInput"
              }
            }
          }
        }
      }
    },
    "/trust-centers/{slugId}/control-categories/order": {
      "put": {
        "operationId": "UpsertTrustCenterControlCategoriesOrder",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArrayResponse_TrustCenterControlCategory_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": [
                        {
                          "id": "93d69894dd525f806d7e5c48",
                          "name": "Category name"
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Reorders control categories on a Trust Center. The request body must\ncontain the complete set of category IDs in the desired order.",
        "summary": "Reorder Trust Center control categories",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReorderTrustCenterControlCategoriesInput"
              }
            }
          }
        }
      }
    },
    "/trust-centers/{slugId}/control-categories/{categoryId}": {
      "get": {
        "operationId": "GetTrustCenterControlCategory",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustCenterControlCategory"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "93d69894dd525f806d7e5c48",
                      "name": "Category name"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Gets a specific control category on a Trust Center.",
        "summary": "Get Trust Center control category",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "categoryId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "patch": {
        "operationId": "UpdateTrustCenterControlCategory",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustCenterControlCategory"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "93d69894dd525f806d7e5c48",
                      "name": "Category name"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Updates a control category on a Trust Center.",
        "summary": "Update Trust Center control category",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "categoryId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddOrEditTrustCenterControlCategoryInput"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "DeleteTrustCenterControlCategory",
        "responses": {
          "204": {
            "description": "No content"
          }
        },
        "description": "Removes a control category from a Trust Center along with all of the\ncontrols in the category.",
        "summary": "Delete Trust Center control category",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "categoryId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/trust-centers/{slugId}/control-categories/{categoryId}/controls": {
      "patch": {
        "operationId": "UpdateTrustCenterControlsInCategory",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustCenterControlCategory"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "93d69894dd525f806d7e5c48",
                      "name": "Category name"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Bulk add or remove controls from a control category on a Trust Center.",
        "summary": "Bulk edit controls in a category",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "categoryId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkEditControlsInCategoryInput"
              }
            }
          }
        }
      }
    },
    "/trust-centers/{slugId}/control-categories/{categoryId}/controls/order": {
      "put": {
        "operationId": "UpsertTrustCenterControlsInCategoryOrder",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustCenterControlCategory"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "93d69894dd525f806d7e5c48",
                      "name": "Category name"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Reorders controls within a control category on a Trust Center. The\nrequest body must contain the complete set of control IDs in the\ncategory in the desired order.",
        "summary": "Reorder controls in a Trust Center control category",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "categoryId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReorderTrustCenterControlsInput"
              }
            }
          }
        }
      }
    },
    "/trust-centers/{slugId}/controls": {
      "get": {
        "operationId": "ListTrustCenterControls",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_TrustCenterControl_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "pageInfo": {
                          "hasNextPage": true,
                          "hasPreviousPage": false,
                          "startCursor": "YXJyYXljb25uZWN0aW9uOjA=",
                          "endCursor": "YXJyYXljb25uZWN0aW9uOjE="
                        },
                        "data": [
                          {
                            "id": "a2f7e1b9d0c3f4e5a6c7b8d9",
                            "name": "Control name",
                            "description": "Control description",
                            "categories": [
                              {
                                "id": "93d69894dd525f806d7e5c48",
                                "name": "Category name"
                              }
                            ]
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Gets a list of controls on a Trust Center.",
        "summary": "List Trust Center controls",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          }
        ]
      },
      "post": {
        "operationId": "AddControlToTrustCenter",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustCenterControl"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "a2f7e1b9d0c3f4e5a6c7b8d9",
                      "name": "Control name",
                      "description": "Control description",
                      "categories": [
                        {
                          "id": "93d69894dd525f806d7e5c48",
                          "name": "Category name"
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Adds a control to a Trust Center.",
        "summary": "Add Trust Center control",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddControlToTrustCenterInput"
              }
            }
          }
        }
      }
    },
    "/trust-centers/{slugId}/controls/tags": {
      "post": {
        "operationId": "BulkAddTagsToControls",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArrayResponse_TrustCenterControl_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": [
                        {
                          "id": "a2f7e1b9d0c3f4e5a6c7b8d9",
                          "name": "Control name",
                          "description": "Control description",
                          "categories": [
                            {
                              "id": "93d69894dd525f806d7e5c48",
                              "name": "Category name"
                            }
                          ]
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Adds tags to multiple controls on a Trust Center. Limited to 100 controls per request.",
        "summary": "Bulk add tags to Trust Center controls",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkTagControlsInput"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "BulkRemoveTagsFromControls",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArrayResponse_TrustCenterControl_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": [
                        {
                          "id": "a2f7e1b9d0c3f4e5a6c7b8d9",
                          "name": "Control name",
                          "description": "Control description",
                          "categories": [
                            {
                              "id": "93d69894dd525f806d7e5c48",
                              "name": "Category name"
                            }
                          ]
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Removes tags from multiple controls on a Trust Center. Limited to 100 controls per request.",
        "summary": "Bulk remove tags from Trust Center controls",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkTagControlsInput"
              }
            }
          }
        }
      }
    },
    "/trust-centers/{slugId}/controls/{controlId}": {
      "get": {
        "operationId": "GetTrustCenterControl",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustCenterControl"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "a2f7e1b9d0c3f4e5a6c7b8d9",
                      "name": "Control name",
                      "description": "Control description",
                      "categories": [
                        {
                          "id": "93d69894dd525f806d7e5c48",
                          "name": "Category name"
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Gets a specific control on a Trust Center.",
        "summary": "Get Trust Center control",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "controlId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "delete": {
        "operationId": "DeleteTrustCenterControl",
        "responses": {
          "204": {
            "description": "No content"
          }
        },
        "description": "Removes a specific control from a Trust Center. This removes the control\nfrom all of the control categories that is in.",
        "summary": "Delete Trust Center control",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "controlId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/trust-centers/{slugId}/data-collected": {
      "get": {
        "operationId": "ListTrustCenterDataCollected",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArrayResponse_TrustCenterDataCollected_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": [
                        {
                          "dataCollected": "Email Address",
                          "status": "COLLECTED"
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Gets the list of data-collected disclosures on a Trust Center.",
        "summary": "List Trust Center data collected",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "put": {
        "operationId": "UpsertTrustCenterDataCollected",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArrayResponse_TrustCenterDataCollected_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": [
                        {
                          "dataCollected": "Email Address",
                          "status": "COLLECTED"
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Replaces all data-collected disclosures on a Trust Center with the\nprovided list. This is a full replacement — any existing disclosures\nnot included in the request body will be removed. To add or remove a\nsingle entry, first GET the current list, modify it, then PUT the\nupdated list back.",
        "summary": "Set Trust Center data collected",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetDataCollectedInput"
              }
            }
          }
        }
      }
    },
    "/trust-centers/{slugId}/faq-categories": {
      "get": {
        "operationId": "ListTrustCenterFaqCategories",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArrayResponse_TrustCenterFaqCategory_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": [
                        {
                          "id": "71a3b8d2ef904c1a6d5e7f30",
                          "name": "Security"
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Gets a list of FAQ categories on a Trust Center.",
        "summary": "List Trust Center FAQ categories",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "post": {
        "operationId": "AddTrustCenterFaqCategory",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustCenterFaqCategory"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "71a3b8d2ef904c1a6d5e7f30",
                      "name": "Security"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Adds an FAQ category to a Trust Center.",
        "summary": "Add Trust Center FAQ category",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddTrustCenterFaqCategoryInput"
              }
            }
          }
        }
      }
    },
    "/trust-centers/{slugId}/faq-categories/{categoryId}": {
      "patch": {
        "operationId": "UpdateTrustCenterFaqCategory",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustCenterFaqCategory"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "71a3b8d2ef904c1a6d5e7f30",
                      "name": "Security"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Updates an FAQ category on a Trust Center.",
        "summary": "Update Trust Center FAQ category",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "categoryId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EditTrustCenterFaqCategoryInput"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "DeleteTrustCenterFaqCategory",
        "responses": {
          "204": {
            "description": "No content"
          }
        },
        "description": "Removes an FAQ category from a Trust Center. FAQs in the\ndeleted category are moved to uncategorized.",
        "summary": "Delete Trust Center FAQ category",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "categoryId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/trust-centers/{slugId}/faqs": {
      "get": {
        "operationId": "ListTrustCenterFaqs",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArrayResponse_TrustCenterFaq_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": [
                        {
                          "id": "4b1e7a8c3d9f6a2b5c8d0e3f",
                          "question": "What is the meaning of life?",
                          "answer": "42",
                          "category": {
                            "id": "71a3b8d2ef904c1a6d5e7f30",
                            "name": "General"
                          }
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Gets a list of FAQs on a Trust Center.",
        "summary": "List Trust Center FAQs",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "post": {
        "operationId": "CreateTrustCenterFaq",
        "responses": {
          "201": {
            "description": "Trust Center FAQ created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustCenterFaq"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "4b1e7a8c3d9f6a2b5c8d0e3f",
                      "question": "What is the meaning of life?",
                      "answer": "42",
                      "category": {
                        "id": "71a3b8d2ef904c1a6d5e7f30",
                        "name": "General"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Adds an FAQ to a Trust Center.",
        "summary": "Create Trust Center FAQ",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddOrEditTrustCenterFaqInput"
              }
            }
          }
        }
      }
    },
    "/trust-centers/{slugId}/faqs/{faqId}": {
      "get": {
        "operationId": "GetTrustCenterFaq",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustCenterFaq"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "4b1e7a8c3d9f6a2b5c8d0e3f",
                      "question": "What is the meaning of life?",
                      "answer": "42",
                      "category": {
                        "id": "71a3b8d2ef904c1a6d5e7f30",
                        "name": "General"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Gets a specific FAQ on the Trust Center by ID.",
        "summary": "Get Trust Center FAQ",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "faqId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "patch": {
        "operationId": "UpdateTrustCenterFaq",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustCenterFaq"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "4b1e7a8c3d9f6a2b5c8d0e3f",
                      "question": "What is the meaning of life?",
                      "answer": "42",
                      "category": {
                        "id": "71a3b8d2ef904c1a6d5e7f30",
                        "name": "General"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Update a specific FAQ on the Trust Center by ID.",
        "summary": "Update Trust Center FAQ",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "faqId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddOrEditTrustCenterFaqInput"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "DeleteTrustCenterFaq",
        "responses": {
          "204": {
            "description": "No content"
          }
        },
        "description": "Remove a specific FAQ from the Trust Center by ID.",
        "summary": "Delete Trust Center FAQ",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "faqId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/trust-centers/{slugId}/favicon": {
      "post": {
        "operationId": "UploadTrustCenterFavicon",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UploadFaviconResponse"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "isSuccessful": true
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Uploads a favicon for a Trust Center. The Trust Center must have a custom\ndomain configured.",
        "summary": "Upload Trust Center favicon",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "favicon": {
                    "type": "string",
                    "format": "binary"
                  }
                },
                "required": [
                  "favicon"
                ]
              }
            }
          }
        }
      }
    },
    "/trust-centers/{slugId}/historical-access-requests": {
      "get": {
        "operationId": "ListTrustCenterHistoricalAccessRequests",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_TrustCenterAccessRequestHistorical_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "pageInfo": {
                          "hasNextPage": true,
                          "hasPreviousPage": false,
                          "startCursor": "YXJyYXljb25uZWN0aW9uOjA=",
                          "endCursor": "YXJyYXljb25uZWN0aW9uOjE="
                        },
                        "data": [
                          {
                            "id": "a2f7e1b9d0c3f4e5a6c7b8d9",
                            "email": "exampleviewer@company.com",
                            "name": "Example Viewer",
                            "companyName": "Viewer Company, Inc.",
                            "reason": "I'm an existing customer",
                            "requestedResources": null,
                            "accessLevel": "FULL_ACCESS",
                            "creationDate": "2020-01-01T00:00:00.000Z",
                            "updatedDate": "2020-01-01T00:00:00.000Z",
                            "outcome": "DENIED",
                            "manualDenialReason": "Not a customer"
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Gets a list of historical (approved or denied) access requests for a Trust Center.",
        "summary": "List historical Trust Center access requests",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          }
        ]
      }
    },
    "/trust-centers/{slugId}/resource-categories": {
      "get": {
        "operationId": "ListTrustCenterResourceCategories",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArrayResponse_TrustCenterResourceCategory_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": [
                        {
                          "id": "93d69894dd525f806d7e5c48",
                          "name": "Policies"
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Gets a list of resource categories on a Trust Center.",
        "summary": "List Trust Center resource categories",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "post": {
        "operationId": "AddTrustCenterResourceCategory",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustCenterResourceCategory"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "93d69894dd525f806d7e5c48",
                      "name": "Policies"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Adds a resource category to a Trust Center.",
        "summary": "Add Trust Center resource category",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddTrustCenterResourceCategoryInput"
              }
            }
          }
        }
      }
    },
    "/trust-centers/{slugId}/resource-categories/order": {
      "put": {
        "operationId": "UpsertTrustCenterResourceCategoriesOrder",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArrayResponse_TrustCenterResourceCategory_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": [
                        {
                          "id": "93d69894dd525f806d7e5c48",
                          "name": "Policies"
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Reorders resource categories on a Trust Center. The request body must\ncontain the complete set of category IDs in the desired order.",
        "summary": "Reorder Trust Center resource categories",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReorderTrustCenterResourceCategoriesInput"
              }
            }
          }
        }
      }
    },
    "/trust-centers/{slugId}/resource-categories/{categoryId}": {
      "patch": {
        "operationId": "UpdateTrustCenterResourceCategory",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustCenterResourceCategory"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "93d69894dd525f806d7e5c48",
                      "name": "Policies"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Updates a resource category on a Trust Center.",
        "summary": "Update Trust Center resource category",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "categoryId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EditTrustCenterResourceCategoryInput"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "DeleteTrustCenterResourceCategory",
        "responses": {
          "204": {
            "description": "No content"
          }
        },
        "description": "Removes a resource category from a Trust Center. Resources in the\ndeleted category are moved to uncategorized.",
        "summary": "Delete Trust Center resource category",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "categoryId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/trust-centers/{slugId}/resources": {
      "get": {
        "operationId": "ListTrustCenterResources",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArrayResponse_TrustCenterResource_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": [
                        {
                          "id": "4b1e7a8c3d9f6a2b5c8d0e3f",
                          "title": "Resource title",
                          "mimeType": "application/pdf",
                          "fileName": "resource.pdf",
                          "creationDate": "2020-01-01T00:00:00.000Z",
                          "updatedDate": "2020-01-01T00:00:00.000Z",
                          "isPublic": true,
                          "description": "Resource description"
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Gets a list of resources on a Trust Center.",
        "summary": "List Trust Center resources",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "post": {
        "operationId": "CreateTrustCenterResource",
        "responses": {
          "201": {
            "description": "Trust Center document created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustCenterResource"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "4b1e7a8c3d9f6a2b5c8d0e3f",
                      "title": "Resource title",
                      "mimeType": "application/pdf",
                      "fileName": "resource.pdf",
                      "creationDate": "2020-01-01T00:00:00.000Z",
                      "updatedDate": "2020-01-01T00:00:00.000Z",
                      "isPublic": true,
                      "description": "Resource description"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Adds a document to a Trust Center.",
        "summary": "Create Trust Center document",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  },
                  "title": {
                    "type": "string",
                    "description": "Title of the Trust Center document."
                  },
                  "isPublic": {
                    "type": "string",
                    "description": "Boolean determining whether the document is publicly available."
                  },
                  "description": {
                    "type": "string",
                    "description": "Description of the uploaded document."
                  }
                },
                "required": [
                  "file",
                  "title",
                  "isPublic"
                ]
              }
            }
          }
        }
      }
    },
    "/trust-centers/{slugId}/resources/{resourceId}": {
      "get": {
        "operationId": "GetTrustCenterResource",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustCenterResource"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "4b1e7a8c3d9f6a2b5c8d0e3f",
                      "title": "Resource title",
                      "mimeType": "application/pdf",
                      "fileName": "resource.pdf",
                      "creationDate": "2020-01-01T00:00:00.000Z",
                      "updatedDate": "2020-01-01T00:00:00.000Z",
                      "isPublic": true,
                      "description": "Resource description"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Gets a specific document on a Trust Center.",
        "summary": "Get Trust Center document",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "resourceId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "patch": {
        "operationId": "UpdateTrustCenterResource",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustCenterResource"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "4b1e7a8c3d9f6a2b5c8d0e3f",
                      "title": "Resource title",
                      "mimeType": "application/pdf",
                      "fileName": "resource.pdf",
                      "creationDate": "2020-01-01T00:00:00.000Z",
                      "updatedDate": "2020-01-01T00:00:00.000Z",
                      "isPublic": true,
                      "description": "Resource description"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Updates a specific document on a Trust Center.",
        "summary": "Update Trust Center document",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "resourceId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EditTrustCenterResourceInput"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "DeleteTrustCenterResource",
        "responses": {
          "204": {
            "description": "No content"
          }
        },
        "description": "Removes a specific document from a Trust Center.",
        "summary": "Delete Trust Center document",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "resourceId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/trust-centers/{slugId}/resources/{resourceId}/media": {
      "get": {
        "operationId": "GetTrustCenterResourceMedia",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "text/markdown": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "application/vnd.ms-excel": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "image/svg+xml": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "application/x-pem-file": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "application/x-x509-ca-cert": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "application/x-x509-user-cert": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "image/bmp": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "application/msword": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "application/vnd.openxmlformats-officedocument.wordprocessingml.document": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "application/gzip": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "image/x-icon": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "image/vnd.microsoft.icon": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "image/jpeg": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "application/pdf": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "image/png": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "application/postscript": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "application/vnd.ms-powerpoint": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "application/vnd.openxmlformats-officedocument.presentationml.presentation": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "image/webp": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "font/woff2": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "application/zip": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              },
              "application/x-zip-compressed": {
                "schema": {
                  "$ref": "#/components/schemas/NodeJS.ReadableStream"
                }
              }
            }
          }
        },
        "description": "Gets the actual given uploaded document for a Trust Center.",
        "summary": "Get uploaded media for Trust Center document",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "resourceId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/trust-centers/{slugId}/subprocessors": {
      "get": {
        "operationId": "ListTrustCenterSubprocessors",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArrayResponse_TrustCenterSubprocessor_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": [
                        {
                          "id": "a2f7e1b9d0c3f4e5a6c7b8d9",
                          "name": "Acme, Inc.",
                          "description": "This is the description for the subprocessor.",
                          "location": "US, EU",
                          "purpose": "Cloud infrastructure",
                          "url": "acme.com"
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Gets the list of subprocessors on a Trust Center.",
        "summary": "List Trust Center subprocessors",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "post": {
        "operationId": "CreateTrustCenterSubprocessor",
        "responses": {
          "201": {
            "description": "Trust Center subprocessor created",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TrustCenterSubprocessor"
                    }
                  ],
                  "nullable": true
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "a2f7e1b9d0c3f4e5a6c7b8d9",
                      "name": "Acme, Inc.",
                      "description": "This is the description for the subprocessor.",
                      "location": "US, EU",
                      "purpose": "Cloud infrastructure",
                      "url": "acme.com"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Adds a subprocessor to a Trust Center.",
        "summary": "Create Trust Center subprocessor",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddTrustCenterSubprocessorInput"
              }
            }
          }
        }
      }
    },
    "/trust-centers/{slugId}/subprocessors/{subprocessorId}": {
      "get": {
        "operationId": "GetTrustCenterSubprocessor",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustCenterSubprocessor"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "a2f7e1b9d0c3f4e5a6c7b8d9",
                      "name": "Acme, Inc.",
                      "description": "This is the description for the subprocessor.",
                      "location": "US, EU",
                      "purpose": "Cloud infrastructure",
                      "url": "acme.com"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Gets a specific subprocessor on a Trust Center.",
        "summary": "Get Trust Center subprocessor",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "subprocessorId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "patch": {
        "operationId": "UpdateTrustCenterSubprocessor",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustCenterSubprocessor"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "a2f7e1b9d0c3f4e5a6c7b8d9",
                      "name": "Acme, Inc.",
                      "description": "This is the description for the subprocessor.",
                      "location": "US, EU",
                      "purpose": "Cloud infrastructure",
                      "url": "acme.com"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Updates a subprocessor on a Trust Center.",
        "summary": "Update Trust Center subprocessor",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "subprocessorId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EditTrustCenterSubprocessorInput"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "DeleteTrustCenterSubprocessor",
        "responses": {
          "204": {
            "description": "No content"
          }
        },
        "description": "Removes a subprocessor from a Trust Center.",
        "summary": "Delete Trust Center subprocessor",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "subprocessorId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/trust-centers/{slugId}/subscriber-groups": {
      "post": {
        "operationId": "CreateTrustCenterSubscriberGroup",
        "responses": {
          "201": {
            "description": "Trust Center subscriber group created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustCenterSubscriberGroup"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "a2f7e1b9d0c3f4e5a6c7b8d9",
                      "name": "Example Group",
                      "subscriberIds": [
                        "a2f7e1b9d0c3f4e5a6c7b8d9"
                      ],
                      "creationDate": "2020-01-01T00:00:00.000Z"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Adds a subscriber group to a Trust Center.",
        "summary": "Create Trust Center subscriber group",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTrustCenterSubscriberGroupInput"
              }
            }
          }
        }
      },
      "get": {
        "operationId": "ListTrustCenterSubscriberGroups",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_TrustCenterSubscriberGroup_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "pageInfo": {
                          "hasNextPage": true,
                          "hasPreviousPage": false,
                          "startCursor": "YXJyYXljb25uZWN0aW9uOjA=",
                          "endCursor": "YXJyYXljb25uZWN0aW9uOjE="
                        },
                        "data": [
                          {
                            "id": "a2f7e1b9d0c3f4e5a6c7b8d9",
                            "name": "Example Group",
                            "subscriberIds": [
                              "a2f7e1b9d0c3f4e5a6c7b8d9"
                            ],
                            "creationDate": "2020-01-01T00:00:00.000Z"
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Gets a list of subscriber groups on a Trust Center.",
        "summary": "List Trust Center subscriber groups",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          }
        ]
      }
    },
    "/trust-centers/{slugId}/subscriber-groups/{subscriberGroupId}": {
      "patch": {
        "operationId": "UpdateTrustCenterSubscriberGroup",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustCenterSubscriberGroup"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "a2f7e1b9d0c3f4e5a6c7b8d9",
                      "name": "Example Group",
                      "subscriberIds": [
                        "a2f7e1b9d0c3f4e5a6c7b8d9"
                      ],
                      "creationDate": "2020-01-01T00:00:00.000Z"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Edits a Trust Center subscriber group.",
        "summary": "Edit Trust Center subscriber group",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "subscriberGroupId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EditTrustCenterSubscriberGroupInput"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "DeleteTrustCenterSubscriberGroup",
        "responses": {
          "204": {
            "description": "No content"
          }
        },
        "description": "Removes a subscriber group from a Trust Center.",
        "summary": "Delete Trust Center subscriber group",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "subscriberGroupId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "get": {
        "operationId": "GetTrustCenterSubscriberGroup",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustCenterSubscriberGroup"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "a2f7e1b9d0c3f4e5a6c7b8d9",
                      "name": "Example Group",
                      "subscriberIds": [
                        "a2f7e1b9d0c3f4e5a6c7b8d9"
                      ],
                      "creationDate": "2020-01-01T00:00:00.000Z"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Get a subscriber group by ID.",
        "summary": "Get Trust Center subscriber group",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "subscriberGroupId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/trust-centers/{slugId}/subscribers": {
      "get": {
        "operationId": "ListTrustCenterSubscribers",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_TrustCenterSubscriber_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "pageInfo": {
                          "hasNextPage": true,
                          "hasPreviousPage": false,
                          "startCursor": "YXJyYXljb25uZWN0aW9uOjA=",
                          "endCursor": "YXJyYXljb25uZWN0aW9uOjE="
                        },
                        "data": [
                          {
                            "id": "a2f7e1b9d0c3f4e5a6c7b8d9",
                            "email": "subscriber@example.com",
                            "isEmailVerified": true,
                            "creationDate": "2020-01-01T00:00:00.000Z",
                            "customerTrustAccountId": null,
                            "groups": [
                              {
                                "id": "b3e8f2c0d1a4f5e6b7d8c9e0",
                                "name": "Security Managers"
                              }
                            ]
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Gets a list of subscribers on a Trust Center.",
        "summary": "List Trust Center subscribers",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          },
          {
            "in": "query",
            "name": "customerTrustAccountId",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "post": {
        "operationId": "CreateTrustCenterSubscriber",
        "responses": {
          "201": {
            "description": "Trust Center subscriber created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustCenterSubscriber"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "a2f7e1b9d0c3f4e5a6c7b8d9",
                      "email": "subscriber@example.com",
                      "isEmailVerified": true,
                      "creationDate": "2020-01-01T00:00:00.000Z",
                      "customerTrustAccountId": null,
                      "groups": [
                        {
                          "id": "b3e8f2c0d1a4f5e6b7d8c9e0",
                          "name": "Security Managers"
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Adds a subscriber to a Trust Center.",
        "summary": "Create Trust Center subscriber",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddTrustCenterSubscriberInput"
              }
            }
          }
        }
      }
    },
    "/trust-centers/{slugId}/subscribers/{subscriberId}": {
      "get": {
        "operationId": "GetTrustCenterSubscriber",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustCenterSubscriber"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "a2f7e1b9d0c3f4e5a6c7b8d9",
                      "email": "subscriber@example.com",
                      "isEmailVerified": true,
                      "creationDate": "2020-01-01T00:00:00.000Z",
                      "customerTrustAccountId": null,
                      "groups": [
                        {
                          "id": "b3e8f2c0d1a4f5e6b7d8c9e0",
                          "name": "Security Managers"
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Gets a specific subscriber on a Trust Center.",
        "summary": "Get Trust Center subscriber",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "subscriberId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "delete": {
        "operationId": "DeleteTrustCenterSubscriber",
        "responses": {
          "204": {
            "description": "No content"
          }
        },
        "description": "Removes a subscriber from a Trust Center.",
        "summary": "Delete Trust Center subscriber",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "subscriberId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/trust-centers/{slugId}/subscribers/{subscriberId}/groups": {
      "put": {
        "operationId": "UpsertGroupsForTrustCenterSubscriber",
        "responses": {
          "200": {
            "description": "Trust Center subscriber assigned to groups",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustCenterSubscriber"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "a2f7e1b9d0c3f4e5a6c7b8d9",
                      "email": "subscriber@example.com",
                      "isEmailVerified": true,
                      "creationDate": "2020-01-01T00:00:00.000Z",
                      "customerTrustAccountId": null,
                      "groups": [
                        {
                          "id": "b3e8f2c0d1a4f5e6b7d8c9e0",
                          "name": "Security Managers"
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Sets groups on a subscriber.",
        "summary": "Set groups for a Trust Center subscriber",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "subscriberId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetGroupsForTrustCenterSubscriberInput"
              }
            }
          }
        }
      }
    },
    "/trust-centers/{slugId}/updates": {
      "get": {
        "operationId": "ListTrustCenterUpdates",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_TrustCenterUpdateAPIResponse_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "pageInfo": {
                          "hasNextPage": true,
                          "hasPreviousPage": false,
                          "startCursor": "YXJyYXljb25uZWN0aW9uOjA=",
                          "endCursor": "YXJyYXljb25uZWN0aW9uOjE="
                        },
                        "data": [
                          {
                            "id": "a2f7e1b9d0c3f4e5a6c7b8d9",
                            "title": "Example title",
                            "description": "This is an example of an update's description.",
                            "category": "GENERAL",
                            "creationDate": "2020-01-01T00:00:00.000Z",
                            "updatedDate": "2020-01-01T00:00:00.000Z",
                            "visibilityType": "PUBLIC",
                            "notifiedEmails": [
                              "test@test.com"
                            ]
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Gets a list of updates on a Trust Center.",
        "summary": "List Trust Center updates",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          }
        ]
      },
      "post": {
        "operationId": "CreateTrustCenterUpdate",
        "responses": {
          "201": {
            "description": "Trust Center update created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustCenterUpdateAPIResponse"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "a2f7e1b9d0c3f4e5a6c7b8d9",
                      "title": "Example title",
                      "description": "This is an example of an update's description.",
                      "category": "GENERAL",
                      "creationDate": "2020-01-01T00:00:00.000Z",
                      "updatedDate": "2020-01-01T00:00:00.000Z",
                      "visibilityType": "PUBLIC",
                      "notifiedEmails": [
                        "test@test.com"
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Adds an update to a Trust Center.",
        "summary": "Create Trust Center update",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddTrustCenterUpdateInput"
              }
            }
          }
        }
      }
    },
    "/trust-centers/{slugId}/updates/{updateId}": {
      "get": {
        "operationId": "GetTrustCenterUpdate",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustCenterUpdateAPIResponse"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "a2f7e1b9d0c3f4e5a6c7b8d9",
                      "title": "Example title",
                      "description": "This is an example of an update's description.",
                      "category": "GENERAL",
                      "creationDate": "2020-01-01T00:00:00.000Z",
                      "updatedDate": "2020-01-01T00:00:00.000Z",
                      "visibilityType": "PUBLIC",
                      "notifiedEmails": [
                        "test@test.com"
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Gets a specific update on a Trust Center.",
        "summary": "Get Trust Center update",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "updateId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "patch": {
        "operationId": "UpdateTrustCenterUpdate",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustCenterUpdateAPIResponse"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "a2f7e1b9d0c3f4e5a6c7b8d9",
                      "title": "Example title",
                      "description": "This is an example of an update's description.",
                      "category": "GENERAL",
                      "creationDate": "2020-01-01T00:00:00.000Z",
                      "updatedDate": "2020-01-01T00:00:00.000Z",
                      "visibilityType": "PUBLIC",
                      "notifiedEmails": [
                        "test@test.com"
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Updates an update on a Trust Center.",
        "summary": "Update Trust Center update",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "updateId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EditTrustCenterUpdateInput"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "DeleteTrustCenterUpdate",
        "responses": {
          "204": {
            "description": "No content"
          }
        },
        "description": "Removes an update from a Trust Center.",
        "summary": "Delete Trust Center update",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "updateId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/trust-centers/{slugId}/updates/{updateId}/notify-all-subscribers": {
      "post": {
        "operationId": "SendNotificationsToAllSubscribers",
        "responses": {
          "204": {
            "description": "No content"
          }
        },
        "description": "Sends notifications for a specific Trust Center update to all subscribers.",
        "summary": "Send Trust Center update notifications to all subscribers",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "updateId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/trust-centers/{slugId}/updates/{updateId}/notify-specific-subscribers": {
      "post": {
        "operationId": "SendTrustCenterUpdateNotifications",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotifySpecificSubscribersResponse"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "recipientCount": 5
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Sends notifications for a specific Trust Center update to specific subscribers.\nAt least one subscriber group or email address is required.\n\nThe total number of resolved, deduplicated recipient emails must not exceed 5,000.\nIf exceeded, a 422 error is returned. Narrow your filters or split across multiple requests.",
        "summary": "Send Trust Center update notifications to specific subscribers",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "updateId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SendTrustCenterUpdateNotificationsInput"
              }
            }
          }
        }
      }
    },
    "/trust-centers/{slugId}/videos": {
      "put": {
        "operationId": "UpsertTrustCenterVideos",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArrayResponse_TrustCenterVideo_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": [
                        {
                          "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
                          "title": "Product security overview",
                          "description": "An overview of our security practices"
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Configures the videos displayed on a Trust Center. Replaces all\nexisting videos with the provided list.",
        "summary": "Set Trust Center videos",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetTrustCenterVideosInput"
              }
            }
          }
        }
      }
    },
    "/trust-centers/{slugId}/viewers": {
      "get": {
        "operationId": "ListTrustCenterViewers",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_TrustCenterViewer_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "pageInfo": {
                          "hasNextPage": true,
                          "hasPreviousPage": false,
                          "startCursor": "YXJyYXljb25uZWN0aW9uOjA=",
                          "endCursor": "YXJyYXljb25uZWN0aW9uOjE="
                        },
                        "data": [
                          {
                            "id": "a2f7e1b9d0c3f4e5a6c7b8d9",
                            "email": "exampleviewer@company.com",
                            "name": "Example Viewer",
                            "companyName": "Viewer Company, Inc.",
                            "resourceIds": null,
                            "accessLevel": "FULL_ACCESS",
                            "ndaInfo": null,
                            "externalServiceAssociations": [
                              {
                                "service": "SALESFORCE",
                                "id": "0032S000062DfqnQBG",
                                "objectType": "Salesforce Contact"
                              }
                            ],
                            "creationDate": "2020-01-01T00:00:00.000Z",
                            "updatedDate": "2020-01-01T00:00:00.000Z",
                            "expirationDate": null,
                            "addedByUser": null,
                            "customerTrustAccountId": null
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Gets a list of viewers that have been granted access to a Trust Center.",
        "summary": "List Trust Center viewers",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          },
          {
            "in": "query",
            "name": "includeRemoved",
            "required": false,
            "schema": {
              "default": true,
              "type": "boolean"
            }
          }
        ]
      },
      "post": {
        "operationId": "AddTrustCenterViewer",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustCenterViewer"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "a2f7e1b9d0c3f4e5a6c7b8d9",
                      "email": "exampleviewer@company.com",
                      "name": "Example Viewer",
                      "companyName": "Viewer Company, Inc.",
                      "resourceIds": null,
                      "accessLevel": "FULL_ACCESS",
                      "ndaInfo": null,
                      "externalServiceAssociations": [
                        {
                          "service": "SALESFORCE",
                          "id": "0032S000062DfqnQBG",
                          "objectType": "Salesforce Contact"
                        }
                      ],
                      "creationDate": "2020-01-01T00:00:00.000Z",
                      "updatedDate": "2020-01-01T00:00:00.000Z",
                      "expirationDate": null,
                      "addedByUser": null,
                      "customerTrustAccountId": null
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Adds a viewer and grants them access to a Trust Center.",
        "summary": "Add Trust Center viewer",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddTrustCenterViewerInput"
              }
            }
          }
        }
      }
    },
    "/trust-centers/{slugId}/viewers/{viewerId}": {
      "get": {
        "operationId": "GetTrustCenterViewer",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustCenterViewer"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "a2f7e1b9d0c3f4e5a6c7b8d9",
                      "email": "exampleviewer@company.com",
                      "name": "Example Viewer",
                      "companyName": "Viewer Company, Inc.",
                      "resourceIds": null,
                      "accessLevel": "FULL_ACCESS",
                      "ndaInfo": null,
                      "externalServiceAssociations": [
                        {
                          "service": "SALESFORCE",
                          "id": "0032S000062DfqnQBG",
                          "objectType": "Salesforce Contact"
                        }
                      ],
                      "creationDate": "2020-01-01T00:00:00.000Z",
                      "updatedDate": "2020-01-01T00:00:00.000Z",
                      "expirationDate": null,
                      "addedByUser": null,
                      "customerTrustAccountId": null
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Gets a specific viewer for a Trust Center.",
        "summary": "Get Trust Center viewer",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "viewerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "delete": {
        "operationId": "RemoveTrustCenterViewer",
        "responses": {
          "204": {
            "description": "No content"
          }
        },
        "description": "Revokes a viewer's access to a Trust Center.",
        "summary": "Remove Trust Center viewer",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "viewerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "patch": {
        "operationId": "UpdateTrustCenterViewer",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustCenterViewer"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "a2f7e1b9d0c3f4e5a6c7b8d9",
                      "email": "exampleviewer@company.com",
                      "name": "Example Viewer",
                      "companyName": "Viewer Company, Inc.",
                      "resourceIds": null,
                      "accessLevel": "FULL_ACCESS",
                      "ndaInfo": null,
                      "externalServiceAssociations": [
                        {
                          "service": "SALESFORCE",
                          "id": "0032S000062DfqnQBG",
                          "objectType": "Salesforce Contact"
                        }
                      ],
                      "creationDate": "2020-01-01T00:00:00.000Z",
                      "updatedDate": "2020-01-01T00:00:00.000Z",
                      "expirationDate": null,
                      "addedByUser": null,
                      "customerTrustAccountId": null
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Updates a viewer's access on a Trust Center.",
        "summary": "Update Trust Center viewer",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "viewerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateTrustCenterViewerInput"
              }
            }
          }
        }
      }
    },
    "/trust-centers/{slugId}/viewers/{viewerId}/send-invite-reminder": {
      "post": {
        "operationId": "SendTrustCenterViewerInviteReminder",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InviteReminderResponse"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "isSuccessful": true
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Resends the invite email for a Trust Center viewer.",
        "summary": "Send Trust Center viewer invite reminder",
        "tags": [
          "Trust Centers"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "slugId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "viewerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/users": {
      "get": {
        "operationId": "ListUsers",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_User_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "data": [
                          {
                            "id": "69c55d93ca5e7c5217d4c993",
                            "email": "example-user@email.com",
                            "displayName": "Example User",
                            "isActive": true
                          }
                        ],
                        "pageInfo": {
                          "hasNextPage": false,
                          "hasPreviousPage": false,
                          "startCursor": "69c55d93ca5e7c5217d4c993",
                          "endCursor": "69c55d93ca5e7c5217d4c993"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Returns a list of all active users.",
        "summary": "List active users",
        "tags": [
          "Users"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          }
        ]
      }
    },
    "/users/{userId}": {
      "get": {
        "operationId": "GetUser",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "69c55d93ca5e7c5217d4c993",
                      "email": "example-user@email.com",
                      "displayName": "Example User",
                      "isActive": true
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Returns a user by ID.",
        "summary": "Get user by ID",
        "tags": [
          "Users"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "userId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/vendor-risk-attributes": {
      "get": {
        "operationId": "ListVendorRiskAttributes",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_VendorRiskAttribute_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "data": [
                          {
                            "id": "a2f7e1b9d0c3f4e5a6c7b8d8",
                            "name": "Read internal systems",
                            "description": "The vendor can view or read data from internal systems, such as task trackers or sales tools.",
                            "vendorCategories": [
                              "Marketing",
                              "Office operation",
                              "Recruiting",
                              "Other"
                            ],
                            "enabled": true,
                            "riskLevel": "LOW"
                          }
                        ],
                        "pageInfo": {
                          "hasNextPage": false,
                          "hasPreviousPage": false,
                          "startCursor": "6696ea0595df50d5cd6ec3b7",
                          "endCursor": "6696ece48eb1f98ff3d927c6"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Returns a list of vendor risk attributes.",
        "summary": "List vendor risk attributes",
        "tags": [
          "Vendor Risk Attributes"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          }
        ]
      }
    },
    "/vendors": {
      "post": {
        "operationId": "CreateVendor",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Vendor"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "a2f7e1b9d0c3f4e5a6c7b8d8",
                      "name": "Vanta",
                      "websiteUrl": "https://www.vanta.com/",
                      "accountManagerName": "John Doe",
                      "accountManagerEmail": "john@doe.com",
                      "servicesProvided": "SaaS",
                      "additionalNotes": "Automate compliance and streamline security reviews with the leading trust management platform.",
                      "authDetails": {
                        "method": "O_AUTH",
                        "passwordMFA": true,
                        "passwordRequiresNumber": true,
                        "passwordRequiresSymbol": true,
                        "passwordMinimumLength": 16
                      },
                      "securityOwnerUserId": "6626afa6490ec920099773e7",
                      "businessOwnerUserId": "6626afb14c912f0a50e85619",
                      "contractStartDate": "2024-02-01T00:00:00.000Z",
                      "contractRenewalDate": "2025-02-01T00:00:00.000Z",
                      "contractTerminationDate": null,
                      "lastSecurityReviewCompletionDate": "2024-01-01T00:00:00.000Z",
                      "nextSecurityReviewDueDate": "2025-01-01T00:00:00.000Z",
                      "isVisibleToAuditors": true,
                      "isRiskAutoScored": true,
                      "category": {
                        "displayName": "cloudMonitoring"
                      },
                      "riskAttributeIds": [
                        "6626b0298acc44f8674390da",
                        "6626b02ea4cd9ba80d773c20"
                      ],
                      "status": "MANAGED",
                      "inherentRiskLevel": "HIGH",
                      "residualRiskLevel": "MEDIUM",
                      "vendorHeadquarters": "USA",
                      "contractAmount": {
                        "amount": 1000000,
                        "currency": "USD"
                      },
                      "customFields": null,
                      "latestDecision": {
                        "status": "APPROVED",
                        "lastUpdatedAt": "2024-01-01T00:00:00.000Z"
                      },
                      "linkedTaskTrackerTaskProcurementRequest": {
                        "service": "jira",
                        "url": "https://random-company.atlassian.net/browse/PROJ-123"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Add vendor with metadata.",
        "summary": "Create a vendor",
        "tags": [
          "Vendors"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateVendorInput"
              }
            }
          }
        }
      },
      "get": {
        "operationId": "ListVendors",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Vendor_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "data": [
                          {
                            "id": "a2f7e1b9d0c3f4e5a6c7b8d8",
                            "name": "Vanta",
                            "websiteUrl": "https://www.vanta.com/",
                            "accountManagerName": "John Doe",
                            "accountManagerEmail": "john@doe.com",
                            "servicesProvided": "SaaS",
                            "additionalNotes": "Automate compliance and streamline security reviews with the leading trust management platform.",
                            "authDetails": {
                              "method": "O_AUTH",
                              "passwordMFA": true,
                              "passwordRequiresNumber": true,
                              "passwordRequiresSymbol": true,
                              "passwordMinimumLength": 16
                            },
                            "securityOwnerUserId": "6626afa6490ec920099773e7",
                            "businessOwnerUserId": "6626afb14c912f0a50e85619",
                            "contractStartDate": "2024-02-01T00:00:00.000Z",
                            "contractRenewalDate": "2025-02-01T00:00:00.000Z",
                            "contractTerminationDate": null,
                            "lastSecurityReviewCompletionDate": "2024-01-01T00:00:00.000Z",
                            "nextSecurityReviewDueDate": "2025-01-01T00:00:00.000Z",
                            "isVisibleToAuditors": true,
                            "isRiskAutoScored": true,
                            "category": {
                              "displayName": "cloudMonitoring"
                            },
                            "riskAttributeIds": [
                              "6626b0298acc44f8674390da",
                              "6626b02ea4cd9ba80d773c20"
                            ],
                            "status": "MANAGED",
                            "inherentRiskLevel": "HIGH",
                            "residualRiskLevel": "MEDIUM",
                            "vendorHeadquarters": "USA",
                            "contractAmount": {
                              "amount": 1000000,
                              "currency": "USD"
                            },
                            "customFields": null,
                            "latestDecision": {
                              "status": "APPROVED",
                              "lastUpdatedAt": "2024-01-01T00:00:00.000Z"
                            },
                            "linkedTaskTrackerTaskProcurementRequest": {
                              "service": "jira",
                              "url": "https://random-company.atlassian.net/browse/PROJ-123"
                            }
                          }
                        ],
                        "pageInfo": {
                          "hasNextPage": false,
                          "hasPreviousPage": false,
                          "startCursor": "6696ea0595df50d5cd6ec3b7",
                          "endCursor": "6696ece48eb1f98ff3d927c6"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "List of vendors.",
        "summary": "List vendors",
        "tags": [
          "Vendors"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "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 vendors by name (case-insensitive, partial match)",
            "in": "query",
            "name": "name",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter vendors by status (can specify multiple)",
            "in": "query",
            "name": "statusMatchesAny",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/VendorStatus"
              }
            }
          }
        ]
      }
    },
    "/vendors/{vendorId}": {
      "get": {
        "operationId": "GetVendor",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Vendor"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "a2f7e1b9d0c3f4e5a6c7b8d8",
                      "name": "Vanta",
                      "websiteUrl": "https://www.vanta.com/",
                      "accountManagerName": "John Doe",
                      "accountManagerEmail": "john@doe.com",
                      "servicesProvided": "SaaS",
                      "additionalNotes": "Automate compliance and streamline security reviews with the leading trust management platform.",
                      "authDetails": {
                        "method": "O_AUTH",
                        "passwordMFA": true,
                        "passwordRequiresNumber": true,
                        "passwordRequiresSymbol": true,
                        "passwordMinimumLength": 16
                      },
                      "securityOwnerUserId": "6626afa6490ec920099773e7",
                      "businessOwnerUserId": "6626afb14c912f0a50e85619",
                      "contractStartDate": "2024-02-01T00:00:00.000Z",
                      "contractRenewalDate": "2025-02-01T00:00:00.000Z",
                      "contractTerminationDate": null,
                      "lastSecurityReviewCompletionDate": "2024-01-01T00:00:00.000Z",
                      "nextSecurityReviewDueDate": "2025-01-01T00:00:00.000Z",
                      "isVisibleToAuditors": true,
                      "isRiskAutoScored": true,
                      "category": {
                        "displayName": "cloudMonitoring"
                      },
                      "riskAttributeIds": [
                        "6626b0298acc44f8674390da",
                        "6626b02ea4cd9ba80d773c20"
                      ],
                      "status": "MANAGED",
                      "inherentRiskLevel": "HIGH",
                      "residualRiskLevel": "MEDIUM",
                      "vendorHeadquarters": "USA",
                      "contractAmount": {
                        "amount": 1000000,
                        "currency": "USD"
                      },
                      "customFields": null,
                      "latestDecision": {
                        "status": "APPROVED",
                        "lastUpdatedAt": "2024-01-01T00:00:00.000Z"
                      },
                      "linkedTaskTrackerTaskProcurementRequest": {
                        "service": "jira",
                        "url": "https://random-company.atlassian.net/browse/PROJ-123"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Get a vendor.",
        "summary": "Get vendor by ID",
        "tags": [
          "Vendors"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vendorId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "delete": {
        "operationId": "DeleteById",
        "responses": {
          "204": {
            "description": "No content"
          }
        },
        "description": "Deletes a vendor.",
        "summary": "Delete vendor by ID",
        "tags": [
          "Vendors"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vendorId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "patch": {
        "operationId": "UpdateVendor",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Vendor"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "a2f7e1b9d0c3f4e5a6c7b8d8",
                      "name": "Vanta",
                      "websiteUrl": "https://www.vanta.com/",
                      "accountManagerName": "John Doe",
                      "accountManagerEmail": "john@doe.com",
                      "servicesProvided": "SaaS",
                      "additionalNotes": "Automate compliance and streamline security reviews with the leading trust management platform.",
                      "authDetails": {
                        "method": "O_AUTH",
                        "passwordMFA": true,
                        "passwordRequiresNumber": true,
                        "passwordRequiresSymbol": true,
                        "passwordMinimumLength": 16
                      },
                      "securityOwnerUserId": "6626afa6490ec920099773e7",
                      "businessOwnerUserId": "6626afb14c912f0a50e85619",
                      "contractStartDate": "2024-02-01T00:00:00.000Z",
                      "contractRenewalDate": "2025-02-01T00:00:00.000Z",
                      "contractTerminationDate": null,
                      "lastSecurityReviewCompletionDate": "2024-01-01T00:00:00.000Z",
                      "nextSecurityReviewDueDate": "2025-01-01T00:00:00.000Z",
                      "isVisibleToAuditors": true,
                      "isRiskAutoScored": true,
                      "category": {
                        "displayName": "cloudMonitoring"
                      },
                      "riskAttributeIds": [
                        "6626b0298acc44f8674390da",
                        "6626b02ea4cd9ba80d773c20"
                      ],
                      "status": "MANAGED",
                      "inherentRiskLevel": "HIGH",
                      "residualRiskLevel": "MEDIUM",
                      "vendorHeadquarters": "USA",
                      "contractAmount": {
                        "amount": 1000000,
                        "currency": "USD"
                      },
                      "customFields": null,
                      "latestDecision": {
                        "status": "APPROVED",
                        "lastUpdatedAt": "2024-01-01T00:00:00.000Z"
                      },
                      "linkedTaskTrackerTaskProcurementRequest": {
                        "service": "jira",
                        "url": "https://random-company.atlassian.net/browse/PROJ-123"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Update vendor.",
        "summary": "Update vendor by ID",
        "tags": [
          "Vendors"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vendorId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateVendorInput"
              }
            }
          }
        }
      }
    },
    "/vendors/{vendorId}/assessments": {
      "get": {
        "operationId": "GetAssessmentsByVendorId",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_VendorAssessment_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "data": [
                          {
                            "id": "a2f7e1b9d0c3f4e5a6c7b8d8",
                            "vendorId": "6696e9bca247cbdf1c8e5054",
                            "status": "COMPLETED",
                            "completedByUserId": "6696ea0595df50d5cd6ec3b7",
                            "startDate": "2024-02-01T00:00:00.000Z",
                            "dueDate": "2024-03-01T00:00:00.000Z",
                            "overrideDueDate": "2024-03-15T00:00:00.000Z",
                            "completionDate": "2024-03-10T00:00:00.000Z",
                            "createdDate": "2024-01-25T00:00:00.000Z",
                            "decision": {
                              "status": "APPROVED",
                              "lastUpdatedAt": "2024-03-17T00:00:00.000Z",
                              "comments": "No major concerns, limited sharing of data, low security risk."
                            },
                            "assessmentType": {
                              "id": "6696ea0595df50d5cd6ec3b8",
                              "name": "Security",
                              "description": null
                            },
                            "owner": {
                              "id": "6696ea0595df50d5cd6ec3b9",
                              "type": "USER",
                              "displayName": "Jane Doe",
                              "email": "jane.doe@example.com"
                            }
                          }
                        ],
                        "pageInfo": {
                          "hasNextPage": false,
                          "hasPreviousPage": false,
                          "startCursor": "6696ea0595df50d5cd6ec3b7",
                          "endCursor": "6696ece48eb1f98ff3d927c6"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Returns a vendor's assessments across all assessment types.",
        "summary": "List assessments by vendor ID",
        "tags": [
          "Vendors"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vendorId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          },
          {
            "description": "Filter assessments to any of the given assessment type IDs",
            "in": "query",
            "name": "typeIdMatchesAny",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Filter assessments to any of the given statuses",
            "in": "query",
            "name": "statusMatchesAny",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/AssessmentStatus"
              }
            }
          }
        ]
      }
    },
    "/vendors/{vendorId}/assessments/{assessmentId}": {
      "get": {
        "operationId": "GetAssessmentById",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VendorAssessment"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "a2f7e1b9d0c3f4e5a6c7b8d8",
                      "vendorId": "6696e9bca247cbdf1c8e5054",
                      "status": "COMPLETED",
                      "completedByUserId": "6696ea0595df50d5cd6ec3b7",
                      "startDate": "2024-02-01T00:00:00.000Z",
                      "dueDate": "2024-03-01T00:00:00.000Z",
                      "overrideDueDate": "2024-03-15T00:00:00.000Z",
                      "completionDate": "2024-03-10T00:00:00.000Z",
                      "createdDate": "2024-01-25T00:00:00.000Z",
                      "decision": {
                        "status": "APPROVED",
                        "lastUpdatedAt": "2024-03-17T00:00:00.000Z",
                        "comments": "No major concerns, limited sharing of data, low security risk."
                      },
                      "assessmentType": {
                        "id": "6696ea0595df50d5cd6ec3b8",
                        "name": "Security",
                        "description": null
                      },
                      "owner": {
                        "id": "6696ea0595df50d5cd6ec3b9",
                        "type": "USER",
                        "displayName": "Jane Doe",
                        "email": "jane.doe@example.com"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Returns a single assessment for a vendor.",
        "summary": "Get assessment by ID",
        "tags": [
          "Vendors"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vendorId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "assessmentId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/vendors/{vendorId}/documents": {
      "get": {
        "operationId": "ListVendorDocuments",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_VendorDocument_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "data": [
                          {
                            "id": "a2f7e1b9d0c3f4e5a6c7b8d8",
                            "url": "https://example.com",
                            "title": "PDF SOC2 Report",
                            "fileName": "soc2.pdf",
                            "type": "SOC2_REPORT",
                            "mimeType": "application/pdf",
                            "description": "The 2023 SOC2 file provided by the vendor",
                            "uploadedBy": {
                              "id": "66993da0cf4ba2ad40599ba7",
                              "type": "USER"
                            },
                            "creationDate": "2024-02-01T00:00:00.000Z",
                            "updatedDate": "2024-02-07T00:00:00.000Z",
                            "deletionDate": null
                          }
                        ],
                        "pageInfo": {
                          "hasNextPage": false,
                          "hasPreviousPage": false,
                          "startCursor": "6696ea0595df50d5cd6ec3b7",
                          "endCursor": "6696ece48eb1f98ff3d927c6"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Returns a vendor's list of documents.",
        "summary": "List vendor documents",
        "tags": [
          "Vendors"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vendorId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          }
        ]
      },
      "post": {
        "operationId": "UploadDocumentToVendor",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VendorDocument"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "a2f7e1b9d0c3f4e5a6c7b8d8",
                      "url": "https://example.com",
                      "title": "PDF SOC2 Report",
                      "fileName": "soc2.pdf",
                      "type": "SOC2_REPORT",
                      "mimeType": "application/pdf",
                      "description": "The 2023 SOC2 file provided by the vendor",
                      "uploadedBy": {
                        "id": "66993da0cf4ba2ad40599ba7",
                        "type": "USER"
                      },
                      "creationDate": "2024-02-01T00:00:00.000Z",
                      "updatedDate": "2024-02-07T00:00:00.000Z",
                      "deletionDate": null
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Add document to a vendor.",
        "summary": "Add document to a vendor",
        "tags": [
          "Vendors"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vendorId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  },
                  "type": {
                    "type": "string",
                    "description": "Type of the vendor document."
                  },
                  "title": {
                    "type": "string",
                    "description": "The document's title."
                  },
                  "description": {
                    "type": "string",
                    "description": "The document's description."
                  }
                },
                "required": [
                  "file",
                  "type"
                ]
              }
            }
          }
        }
      }
    },
    "/vendors/{vendorId}/findings": {
      "get": {
        "operationId": "ListVendorFindings",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_VendorFinding_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "data": [
                          {
                            "id": "66bb83e06c54dc42afedb174",
                            "vendorId": "66bb83dc14f5709efe418859",
                            "securityReviewId": "66bb83977ffe63d2c54d6711",
                            "documentId": null,
                            "content": "This vendor has not performed a penetration test in the past 15 months.",
                            "riskStatus": "REMEDIATE",
                            "remediation": {
                              "requirementNotes": "We need them to provide an updated penetration test report.",
                              "state": "OPEN"
                            }
                          }
                        ],
                        "pageInfo": {
                          "hasNextPage": false,
                          "hasPreviousPage": false,
                          "startCursor": "6696ea0595df50d5cd6ec3b7",
                          "endCursor": "6696ece48eb1f98ff3d927c6"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Lists a vendor's findings.",
        "summary": "List vendor findings",
        "tags": [
          "Vendors"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vendorId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          },
          {
            "description": "Filter findings by security review ID",
            "in": "query",
            "name": "securityReviewId",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter findings by document ID",
            "in": "query",
            "name": "documentId",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "post": {
        "operationId": "CreateVendorFinding",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VendorFinding"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "66bb83e06c54dc42afedb174",
                      "vendorId": "66bb83dc14f5709efe418859",
                      "securityReviewId": "66bb83977ffe63d2c54d6711",
                      "documentId": null,
                      "content": "This vendor has not performed a penetration test in the past 15 months.",
                      "riskStatus": "REMEDIATE",
                      "remediation": {
                        "requirementNotes": "We need them to provide an updated penetration test report.",
                        "state": "OPEN"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Add vendor finding.",
        "summary": "Add a vendor finding",
        "tags": [
          "Vendors"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vendorId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateFindingInput"
              }
            }
          }
        }
      }
    },
    "/vendors/{vendorId}/findings/{findingId}": {
      "patch": {
        "operationId": "UpdateVendorFinding",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VendorFinding"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "66bb83e06c54dc42afedb174",
                      "vendorId": "66bb83dc14f5709efe418859",
                      "securityReviewId": "66bb83977ffe63d2c54d6711",
                      "documentId": null,
                      "content": "This vendor has not performed a penetration test in the past 15 months.",
                      "riskStatus": "REMEDIATE",
                      "remediation": {
                        "requirementNotes": "We need them to provide an updated penetration test report.",
                        "state": "OPEN"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Update vendor finding.",
        "summary": "Update vendor finding",
        "tags": [
          "Vendors"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vendorId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "findingId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateFindingInput"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "DeleteFindingById",
        "responses": {
          "204": {
            "description": "No content"
          }
        },
        "description": "Deletes a finding.",
        "summary": "Delete finding by ID",
        "tags": [
          "Vendors"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vendorId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "findingId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/vendors/{vendorId}/security-reviews": {
      "get": {
        "operationId": "GetSecurityReviewsByVendorId",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_SecurityReview_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "data": [
                          {
                            "id": "a2f7e1b9d0c3f4e5a6c7b8d8",
                            "vendorId": "6696e9bca247cbdf1c8e5054",
                            "decisionNotes": "No major concerns, limited sharing of data, low security risk.",
                            "comments": "If we expand our deal with them we will need to re-review in May.",
                            "completedByUserId": "6696ea0595df50d5cd6ec3b7",
                            "startDate": "2024-02-01T00:00:00.000Z",
                            "dueDate": "2024-03-01T00:00:00.000Z",
                            "overrideDueDate": "2024-03-15T00:00:00.000Z",
                            "completionDate": "2024-03-10T00:00:00.000Z",
                            "decision": {
                              "status": "APPROVED",
                              "lastUpdatedAt": "2024-03-17T00:00:00.000Z"
                            },
                            "assessmentType": {
                              "id": "6696ea0595df50d5cd6ec3b8",
                              "name": "Security",
                              "description": null
                            },
                            "owner": {
                              "id": "6696ea0595df50d5cd6ec3b9",
                              "type": "USER",
                              "displayName": "Jane Doe",
                              "email": "jane.doe@example.com"
                            }
                          }
                        ],
                        "pageInfo": {
                          "hasNextPage": false,
                          "hasPreviousPage": false,
                          "startCursor": "6696ea0595df50d5cd6ec3b7",
                          "endCursor": "6696ece48eb1f98ff3d927c6"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Returns a vendor's security reviews.",
        "summary": "List security reviews by vendor ID",
        "tags": [
          "Vendors"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vendorId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          }
        ]
      }
    },
    "/vendors/{vendorId}/security-reviews/{securityReviewId}": {
      "get": {
        "operationId": "GetSecurityReviewsById",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SecurityReview"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "a2f7e1b9d0c3f4e5a6c7b8d8",
                      "vendorId": "6696e9bca247cbdf1c8e5054",
                      "decisionNotes": "No major concerns, limited sharing of data, low security risk.",
                      "comments": "If we expand our deal with them we will need to re-review in May.",
                      "completedByUserId": "6696ea0595df50d5cd6ec3b7",
                      "startDate": "2024-02-01T00:00:00.000Z",
                      "dueDate": "2024-03-01T00:00:00.000Z",
                      "overrideDueDate": "2024-03-15T00:00:00.000Z",
                      "completionDate": "2024-03-10T00:00:00.000Z",
                      "decision": {
                        "status": "APPROVED",
                        "lastUpdatedAt": "2024-03-17T00:00:00.000Z"
                      },
                      "assessmentType": {
                        "id": "6696ea0595df50d5cd6ec3b8",
                        "name": "Security",
                        "description": null
                      },
                      "owner": {
                        "id": "6696ea0595df50d5cd6ec3b9",
                        "type": "USER",
                        "displayName": "Jane Doe",
                        "email": "jane.doe@example.com"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Returns a security review.",
        "summary": "Get security review by ID",
        "tags": [
          "Vendors"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vendorId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "securityReviewId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/vendors/{vendorId}/security-reviews/{securityReviewId}/documents": {
      "post": {
        "operationId": "UploadDocumentForSecurityReview",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VendorDocument"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "a2f7e1b9d0c3f4e5a6c7b8d8",
                      "url": "https://example.com",
                      "title": "PDF SOC2 Report",
                      "fileName": "soc2.pdf",
                      "type": "SOC2_REPORT",
                      "mimeType": "application/pdf",
                      "description": "The 2023 SOC2 file provided by the vendor",
                      "uploadedBy": {
                        "id": "66993da0cf4ba2ad40599ba7",
                        "type": "USER"
                      },
                      "creationDate": "2024-02-01T00:00:00.000Z",
                      "updatedDate": "2024-02-07T00:00:00.000Z",
                      "deletionDate": null
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Add document to a security review.",
        "summary": "Add document to security review",
        "tags": [
          "Vendors"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vendorId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "securityReviewId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  },
                  "type": {
                    "type": "string",
                    "description": "Type of the vendor document."
                  },
                  "title": {
                    "type": "string",
                    "description": "The document's title."
                  },
                  "description": {
                    "type": "string",
                    "description": "The document's description."
                  }
                },
                "required": [
                  "file",
                  "type"
                ]
              }
            }
          }
        }
      },
      "get": {
        "operationId": "GetSecurityReviewDocuments",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_VendorDocument_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "data": [
                          {
                            "id": "a2f7e1b9d0c3f4e5a6c7b8d8",
                            "url": "https://example.com",
                            "title": "PDF SOC2 Report",
                            "fileName": "soc2.pdf",
                            "type": "SOC2_REPORT",
                            "mimeType": "application/pdf",
                            "description": "The 2023 SOC2 file provided by the vendor",
                            "uploadedBy": {
                              "id": "66993da0cf4ba2ad40599ba7",
                              "type": "USER"
                            },
                            "creationDate": "2024-02-01T00:00:00.000Z",
                            "updatedDate": "2024-02-07T00:00:00.000Z",
                            "deletionDate": null
                          }
                        ],
                        "pageInfo": {
                          "hasNextPage": false,
                          "hasPreviousPage": false,
                          "startCursor": "6696ea0595df50d5cd6ec3b7",
                          "endCursor": "6696ece48eb1f98ff3d927c6"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Lists a security review's documents.",
        "summary": "List security review documents",
        "tags": [
          "Vendors"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vendorId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "securityReviewId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          }
        ]
      }
    },
    "/vendors/{vendorId}/security-reviews/{securityReviewId}/documents/{documentId}": {
      "delete": {
        "operationId": "DeleteSecurityReviewDocumentById",
        "responses": {
          "204": {
            "description": "No content"
          }
        },
        "description": "Delete a security review document.",
        "summary": "Delete a security review document by ID",
        "tags": [
          "Vendors"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vendorId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "securityReviewId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "documentId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/vendors/{vendorId}/set-status": {
      "post": {
        "operationId": "SetStatusForVendor",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Vendor"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "a2f7e1b9d0c3f4e5a6c7b8d8",
                      "name": "Vanta",
                      "websiteUrl": "https://www.vanta.com/",
                      "accountManagerName": "John Doe",
                      "accountManagerEmail": "john@doe.com",
                      "servicesProvided": "SaaS",
                      "additionalNotes": "Automate compliance and streamline security reviews with the leading trust management platform.",
                      "authDetails": {
                        "method": "O_AUTH",
                        "passwordMFA": true,
                        "passwordRequiresNumber": true,
                        "passwordRequiresSymbol": true,
                        "passwordMinimumLength": 16
                      },
                      "securityOwnerUserId": "6626afa6490ec920099773e7",
                      "businessOwnerUserId": "6626afb14c912f0a50e85619",
                      "contractStartDate": "2024-02-01T00:00:00.000Z",
                      "contractRenewalDate": "2025-02-01T00:00:00.000Z",
                      "contractTerminationDate": null,
                      "lastSecurityReviewCompletionDate": "2024-01-01T00:00:00.000Z",
                      "nextSecurityReviewDueDate": "2025-01-01T00:00:00.000Z",
                      "isVisibleToAuditors": true,
                      "isRiskAutoScored": true,
                      "category": {
                        "displayName": "cloudMonitoring"
                      },
                      "riskAttributeIds": [
                        "6626b0298acc44f8674390da",
                        "6626b02ea4cd9ba80d773c20"
                      ],
                      "status": "MANAGED",
                      "inherentRiskLevel": "HIGH",
                      "residualRiskLevel": "MEDIUM",
                      "vendorHeadquarters": "USA",
                      "contractAmount": {
                        "amount": 1000000,
                        "currency": "USD"
                      },
                      "customFields": null,
                      "latestDecision": {
                        "status": "APPROVED",
                        "lastUpdatedAt": "2024-01-01T00:00:00.000Z"
                      },
                      "linkedTaskTrackerTaskProcurementRequest": {
                        "service": "jira",
                        "url": "https://random-company.atlassian.net/browse/PROJ-123"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Sets the status of a vendor, which can be MANAGED, ARCHIVED, or IN_PROCUREMENT.",
        "summary": "Set vendor status",
        "tags": [
          "Vendors"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vendorId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string",
                    "description": "Status of the vendor"
                  }
                },
                "required": [
                  "status"
                ]
              }
            }
          }
        }
      }
    },
    "/vulnerabilities": {
      "get": {
        "operationId": "ListVulnerabilities",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Vulnerability_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "pageInfo": {
                          "hasNextPage": true,
                          "hasPreviousPage": false,
                          "startCursor": "YXJyYXljb25uZWN0aW9uOjA=",
                          "endCursor": "YXJyYXljb25uZWN0aW9uOjE="
                        },
                        "data": [
                          {
                            "id": "a2f7e1b9d0c3f4e5a6c7b8d9",
                            "name": "CVE-2021-12345",
                            "description": "MariaDB before 10.6.2 allows an application crash because of mishandling of a pushdown from a HAVING clause to a WHERE clause.",
                            "integrationId": "Inspector",
                            "packageIdentifier": "package",
                            "vulnerabilityType": "COMMON",
                            "targetId": "targetId",
                            "externalId": "12345678-abcd-cdef-ab12-abcd1234bbbc",
                            "firstDetectedDate": "2021-01-01T00:00:00.000Z",
                            "sourceDetectedDate": "2021-01-01T00:00:00.000Z",
                            "lastDetectedDate": "2021-01-01T00:00:00.000Z",
                            "severity": "CRITICAL",
                            "cvssSeverityScore": 9.8,
                            "scannerScore": 100,
                            "isFixable": true,
                            "fixedVersion": "10.6.2",
                            "remediateByDate": "2021-01-01T00:00:00.000Z",
                            "relatedVulns": [
                              "CVE-2021-12345"
                            ],
                            "relatedUrls": [
                              "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-12345"
                            ],
                            "externalURL": "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-12345",
                            "scanSource": "Not provided",
                            "deactivateMetadata": {
                              "deactivatedBy": "b2f7e1b9d0c3f4e5a6c7b123",
                              "deactivatedOnDate": "2021-01-01T00:00:00.000Z",
                              "deactivationReason": "fix is too hard to carry out",
                              "deactivatedUntilDate": null,
                              "isVulnDeactivatedIndefinitely": true
                            }
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "List all vulnerabilities based on selected filters.",
        "summary": "Get vulnerabilities",
        "tags": [
          "Vulnerabilities"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "description": "Filter vulnerabilities by search query",
            "in": "query",
            "name": "q",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          },
          {
            "description": "Filter vulnerabilities by deactivation status.",
            "in": "query",
            "name": "isDeactivated",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Filter vulnerabilities based on a specific external ID.",
            "in": "query",
            "name": "externalVulnerabilityId",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter vulnerabilities that have an available fix.",
            "in": "query",
            "name": "isFixAvailable",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Filter vulnerabilities that are from a specific package.",
            "in": "query",
            "name": "packageIdentifier",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter vulnerabilities with a fix due after a specific timestamp",
            "in": "query",
            "name": "slaDeadlineAfterDate",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "Filter vulnerabilities with a fix due before a specific timestamp",
            "in": "query",
            "name": "slaDeadlineBeforeDate",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "Filter vulnerabilities by severity.\nPossible values: CRITICAL, HIGH, MEDIUM, LOW.",
            "in": "query",
            "name": "severity",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/ExternalFindingSeverity"
            }
          },
          {
            "description": "Filter vulnerabilities by the vulnerability scanner that detected them.",
            "in": "query",
            "name": "integrationId",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter vulnerabilities without an SLA due date.",
            "in": "query",
            "name": "includeVulnerabilitiesWithoutSlas",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Filter vulnerabilities by a specific asset ID.",
            "in": "query",
            "name": "vulnerableAssetId",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/vulnerabilities/deactivate": {
      "post": {
        "operationId": "DeactivateVulnerabilities",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BulkResponse"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": [
                        {
                          "id": "a2f7e1b9d0c3f4e5a6c7b8d9",
                          "status": "SUCCESS"
                        },
                        {
                          "id": "OTHER_VULNERABILITY_ID",
                          "status": "ERROR",
                          "message": "Invalid Input"
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Deactivate monitoring for select vulnerabilities.\nVanta will not monitor a deactivated vulnerability until it is reactivated.",
        "summary": "Deactivate vulnerability monitoring for a vulnerability",
        "tags": [
          "Vulnerabilities"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "updates": {
                    "items": {
                      "$ref": "#/components/schemas/VulnerabilityDeactivateRequest"
                    },
                    "type": "array",
                    "description": "List of vulnerabilities to deactivate",
                    "minItems": 1,
                    "maxItems": 50
                  }
                },
                "required": [
                  "updates"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/vulnerabilities/reactivate": {
      "post": {
        "operationId": "ReactivateVulnerabilities",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BulkResponse"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": [
                        {
                          "id": "a2f7e1b9d0c3f4e5a6c7b8d9",
                          "status": "SUCCESS"
                        },
                        {
                          "id": "OTHER_VULNERABILITY_ID",
                          "status": "ERROR",
                          "message": "Invalid Input"
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Reactivate vulnerabilities and resume Vanta monitoring.",
        "summary": "Reactivate vulnerability monitoring",
        "tags": [
          "Vulnerabilities"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "updates": {
                    "items": {
                      "properties": {
                        "id": {
                          "type": "string",
                          "description": "ID of the vulnerability to reactivate."
                        }
                      },
                      "required": [
                        "id"
                      ],
                      "type": "object"
                    },
                    "type": "array",
                    "description": "List of vulnerability IDs to reactivate.",
                    "minItems": 1,
                    "maxItems": 50
                  }
                },
                "required": [
                  "updates"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/vulnerabilities/{vulnerabilityId}": {
      "get": {
        "operationId": "GetVulnerability",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Vulnerability"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "a2f7e1b9d0c3f4e5a6c7b8d9",
                      "name": "CVE-2021-12345",
                      "description": "MariaDB before 10.6.2 allows an application crash because of mishandling of a pushdown from a HAVING clause to a WHERE clause.",
                      "integrationId": "Inspector",
                      "packageIdentifier": "package",
                      "vulnerabilityType": "COMMON",
                      "targetId": "targetId",
                      "externalId": "12345678-abcd-cdef-ab12-abcd1234bbbc",
                      "firstDetectedDate": "2021-01-01T00:00:00.000Z",
                      "sourceDetectedDate": "2021-01-01T00:00:00.000Z",
                      "lastDetectedDate": "2021-01-01T00:00:00.000Z",
                      "severity": "CRITICAL",
                      "cvssSeverityScore": 9.8,
                      "scannerScore": 100,
                      "isFixable": true,
                      "fixedVersion": "10.6.2",
                      "remediateByDate": "2021-01-01T00:00:00.000Z",
                      "relatedVulns": [
                        "CVE-2021-12345"
                      ],
                      "relatedUrls": [
                        "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-12345"
                      ],
                      "externalURL": "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-12345",
                      "scanSource": "Not provided",
                      "deactivateMetadata": {
                        "deactivatedBy": "b2f7e1b9d0c3f4e5a6c7b123",
                        "deactivatedOnDate": "2021-01-01T00:00:00.000Z",
                        "deactivationReason": "fix is too hard to carry out",
                        "deactivatedUntilDate": null,
                        "isVulnDeactivatedIndefinitely": true
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Gets a vulnerability by an ID.",
        "summary": "Get vulnerability by ID",
        "tags": [
          "Vulnerabilities"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vulnerabilityId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "64abcc129ff483012345d789"
          }
        ]
      }
    },
    "/vulnerability-remediations": {
      "get": {
        "operationId": "ListVulnerabilityRemediations",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_VulnerabilityRemediation_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "pageInfo": {
                          "hasNextPage": true,
                          "hasPreviousPage": false,
                          "startCursor": "YXJyYXljb25uZWN0aW9uOjA=",
                          "endCursor": "YXJyYXljb25uZWN0aW9uOjE="
                        },
                        "data": [
                          {
                            "id": "a2f7e1b9d0c3f4e5a6c7b8d9",
                            "vulnerabilityId": "a2f7e1b9d0c3f4e5a6c7b8d8",
                            "vulnerableAssetId": "a2f7e1b9d0c3f4e5a6c7b8d7",
                            "severity": "critical",
                            "detectedDate": "2021-01-01T00:00:00.000Z",
                            "slaDeadlineDate": "2021-03-01T00:00:00.000Z",
                            "remediationDate": "2021-02-01T00:00:00.000Z"
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "List all vulnerability remediations based on selected filters.",
        "summary": "List vulnerability remediations",
        "tags": [
          "Vulnerability Remediations"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "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 vulnerability remediations based on a specific scanner integration.",
            "in": "query",
            "name": "integrationId",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter vulnerability remediations by severity.\nPossible values: CRITICAL, HIGH, MEDIUM, LOW.",
            "in": "query",
            "name": "severity",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/ExternalFindingSeverity"
            }
          },
          {
            "description": "Filter vulnerability remediations by remediation status.",
            "in": "query",
            "name": "isRemediatedOnTime",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Filter vulnerability remediations that occurred after a specific timestamp.",
            "in": "query",
            "name": "remediatedAfterDate",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "Filter vulnerability remediations that occurred before a specific timestamp.",
            "in": "query",
            "name": "remediatedBeforeDate",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          }
        ]
      }
    },
    "/vulnerability-remediations/acknowledge-sla-miss": {
      "post": {
        "operationId": "AcknowledgeSlaMissVulnerabilityRemediations",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BulkResponse"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": [
                        {
                          "id": "vuln-remediation-id",
                          "status": "SUCCESS"
                        },
                        {
                          "id": "vuln-remediation-id-2",
                          "status": "ERROR",
                          "message": "Invalid Input"
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Acknowledge an SLA miss for a vulnerability remediation.",
        "summary": "Acknowledge SLA miss",
        "tags": [
          "Vulnerability Remediations"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "updates": {
                    "items": {
                      "properties": {
                        "slaViolationComment": {
                          "type": "string",
                          "description": "SLA miss acknowledgement comment. This comment should describe why the SLA was missed.",
                          "minLength": 1
                        },
                        "id": {
                          "type": "string",
                          "description": "Remediation IDs"
                        }
                      },
                      "required": [
                        "slaViolationComment",
                        "id"
                      ],
                      "type": "object"
                    },
                    "type": "array",
                    "description": "List of vulnerability remediation IDs.",
                    "minItems": 1,
                    "maxItems": 50
                  }
                },
                "required": [
                  "updates"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/vulnerable-assets": {
      "get": {
        "operationId": "ListVulnerableAssets",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_VulnerableAsset_"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": {
                        "pageInfo": {
                          "hasNextPage": true,
                          "hasPreviousPage": false,
                          "startCursor": "YXJyYXljb25uZWN0aW9uOjA=",
                          "endCursor": "YXJyYXljb25uZWN0aW9uOjE="
                        },
                        "data": [
                          {
                            "id": "a2f7e1b9d0c3f4e5a6c7b8d9",
                            "name": "CVE-2021-12345",
                            "assetType": "SERVER",
                            "hasBeenScanned": true,
                            "imageScanTag": "apac-production:latest",
                            "scanners": [
                              {
                                "resourceId": "6733c25f852819d3b8d97a86",
                                "integrationId": "qualys",
                                "imageDigest": "sha256:123456",
                                "imagePushedAtDate": "2021-01-01T00:00:00.000Z",
                                "imageTags": [
                                  "candidate-1234567890"
                                ],
                                "assetTags": [
                                  {
                                    "key": "company-name",
                                    "value": "vanta-llama"
                                  }
                                ],
                                "parentAccountOrOrganization": "12345678-abcd-cdef-ab12-abcd1234bbbb",
                                "biosUuid": "123456",
                                "ipv4s": [
                                  "12.12.123.123"
                                ],
                                "ipv6s": null,
                                "macAddresses": [
                                  "1234AB987FED"
                                ],
                                "hostnames": [
                                  "purple-llama"
                                ],
                                "fqdns": [
                                  "purple-llama"
                                ],
                                "operatingSystems": [
                                  "Windows11"
                                ],
                                "targetId": "12345678-abcd-cdef-ab12-abcd1234bbbc"
                              }
                            ]
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "List assets that Vanta monitors that are associated with vulnerabilities.",
        "summary": "List assets associated with vulnerabilities",
        "tags": [
          "Vulnerable Assets"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "description": "Filter vulnerable assets by search query.",
            "in": "query",
            "name": "q",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageSize"
            }
          },
          {
            "in": "query",
            "name": "pageCursor",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PageCursor"
            }
          },
          {
            "description": "Filter vulnerable assets by specific vulnerability scanner.",
            "in": "query",
            "name": "integrationId",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter vulnerable assets by asset type.\nPossible values: CODE_REPOSITORY, CONTAINER_REPOSITORY, CONTAINER_REPOSITORY_IMAGE, MANIFEST_FILE, SERVER, SERVERLESS_FUNCTION, WORKSTATION.",
            "in": "query",
            "name": "assetType",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/VulnerableAssetType"
            }
          },
          {
            "description": "Filter vulnerable assets by...",
            "in": "query",
            "name": "assetExternalAccountId",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/vulnerable-assets/{vulnerableAssetId}": {
      "get": {
        "operationId": "GetVulnerableAsset",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VulnerableAsset"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "id": "a2f7e1b9d0c3f4e5a6c7b8d9",
                      "name": "CVE-2021-12345",
                      "assetType": "SERVER",
                      "hasBeenScanned": true,
                      "imageScanTag": "apac-production:latest",
                      "scanners": [
                        {
                          "resourceId": "6733c25f852819d3b8d97a86",
                          "integrationId": "qualys",
                          "imageDigest": "sha256:123456",
                          "imagePushedAtDate": "2021-01-01T00:00:00.000Z",
                          "imageTags": [
                            "candidate-1234567890"
                          ],
                          "assetTags": [
                            {
                              "key": "company-name",
                              "value": "vanta-llama"
                            }
                          ],
                          "parentAccountOrOrganization": "12345678-abcd-cdef-ab12-abcd1234bbbb",
                          "biosUuid": "123456",
                          "ipv4s": [
                            "12.12.123.123"
                          ],
                          "ipv6s": null,
                          "macAddresses": [
                            "1234AB987FED"
                          ],
                          "hostnames": [
                            "purple-llama"
                          ],
                          "fqdns": [
                            "purple-llama"
                          ],
                          "operatingSystems": [
                            "Windows11"
                          ],
                          "targetId": "12345678-abcd-cdef-ab12-abcd1234bbbc"
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Gets a vulnerable asset by ID.",
        "summary": "Get vulnerable asset by ID",
        "tags": [
          "Vulnerable Assets"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vulnerableAssetId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "64abcc129ff483012345d789"
          }
        ]
      }
    }
  },
  "servers": [
    {
      "url": "https://api.vanta.com/v1",
      "description": "Vanta (Commercial)"
    },
    {
      "url": "https://api.vanta-gov.com/v1",
      "description": "Vanta Gov (FedRAMP)"
    }
  ]
}