---
updatedAt: 2026-05-27T12:54:19.000Z
agentTools:
  projectIndex: https://developer.onetrust.com/onetrust/llms.txt
---

# Get Engagement Schema

Use this API to retrieve the schema for engagement attributes. The response will include details such as the attribute name, ID, and associated options.

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "Third-Party Management - Third-Party Risk Management",
    "version": "1.0",
    "contact": {
      "name": "OneTrust Support",
      "url": "https://my.onetrust.com/s/contactsupport"
    },
    "license": {
      "name": "Apache 2.0",
      "url": "https://www.apache.org/licenses/LICENSE-2.0"
    },
    "description": "The Third-Party Risk Management APIs provide comprehensive functionality for managing vendor relationships, engagements, and contracts within the GRC ecosystem, enabling organizations to assess, monitor, and control third-party risks through engagement lifecycle management, contract administration, and customizable attribute schemas."
  },
  "servers": [
    {
      "url": "https://{hostname}",
      "variables": {
        "hostname": {
          "default": "hostname",
          "description": "The OneTrust hostname such as app.onetrust.com, app-eu.onetrust.com, app-de.onetrust.com, app-uk.onetrust.com, app-apac.onetrust.com, trial.onetrust.com, or uat.onetrust.com."
        }
      }
    }
  ],
  "tags": [
    {
      "name": "Engagements",
      "description": "The Engagements APIs are used to manage vendor engagement operations including creating, retrieving, updating, and searching engagements with comprehensive attribute management, status control, workflow integration, and schema configuration capabilities.",
      "externalDocs": {
        "description": "OpenAPI 3.1.0 - Download Definition",
        "url": "https://developer.onetrust.com/onetrust/openapi/third-party-management-third-party-risk-management.json"
      }
    }
  ],
  "x-onetrust": {
    "spec-label": "OpenAPI 3.1.0",
    "links": [
      "{'Third-Party Risk Management Knowledge Base': 'https://my.onetrust.com/s/topic/0TO1Q000000ItS2WAK/thirdparty-risk-management'}"
    ]
  },
  "x-readme": {
    "explorer-enabled": false,
    "proxy-enabled": false,
    "metrics-enabled": false
  },
  "paths": {
    "/api/vendor/v1/engagement-schemas": {
      "get": {
        "operationId": "getEngagementSchemaUsingGET",
        "summary": "Get Engagement Schema",
        "description": "Use this API to retrieve the schema for engagement attributes. The response will include details such as the attribute name, ID, and associated options.",
        "tags": [
          "Engagements"
        ],
        "x-onetrust": {
          "spec-label": "https://developer.onetrust.com/onetrust/openapi/third-party-management-third-party-risk-management.json"
        },
        "parameters": [
          {
            "name": "activeStatus",
            "in": "query",
            "description": "The flag to indicate if only 'Active' status attributes need to be returned or not.",
            "required": false,
            "schema": {
              "type": "boolean",
              "example": true,
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AttributeInformation"
                  }
                },
                "example": [
                  {
                    "id": "c782f1f1-a2eb-4c0e-b2eb-702fb60561f6",
                    "name": "Aggregate Risk Level",
                    "nameKey": "Engagement.AggregateRiskLevel",
                    "description": "Overall risk level associated with the engagement",
                    "descriptionKey": "Engagement.AggregateRiskLevel.Description",
                    "fieldName": "aggregateRiskLevel",
                    "mappedFieldName": "aggregateRiskLevel",
                    "enabled": true,
                    "required": false,
                    "readOnly": true,
                    "encrypted": false,
                    "allowOther": false,
                    "baseAttribute": true,
                    "responseType": "SingleSelect",
                    "formula": null,
                    "optionType": "none",
                    "optionAllowed": true,
                    "schemaId": "f724dce6-4918-46c9-a21e-b012306af158",
                    "schemaName": "EngagementSchema",
                    "responseMaxLength": null,
                    "source": null,
                    "responseSubType": null,
                    "multiSelectMaxOptionValues": null,
                    "hidden": false
                  }
                ]
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "429": {
            "description": "Too Many Requests. \nFor more information, see [API Rate Limits](https://developer.onetrust.com/onetrust/reference/rate-limits-overview).",
            "headers": {
              "Retry-After": {
                "schema": {
                  "description": "The number of seconds after which requests will be allowed again.",
                  "format": "int32"
                }
              },
              "ot-period": {
                "schema": {
                  "description": "The unit of time for which the rate limit applies",
                  "enum": [
                    "HOUR",
                    "MINUTE"
                  ]
                }
              },
              "ot-ratelimit-event-id": {
                "schema": {
                  "description": "The unique identifier for the rate-limiting event.",
                  "format": "uuid"
                }
              },
              "ot-request-made": {
                "schema": {
                  "description": "The number of requests made within the specified period.",
                  "format": "int32"
                }
              },
              "ot-requests-allowed": {
                "schema": {
                  "description": "The number of requests allowed within the specified period.",
                  "format": "int32"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "OAUTH2": [
              "GENERIC",
              "VRM",
              "VRM_READ"
            ]
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "AbacBasicAssignmentInfo": {
        "type": "object",
        "properties": {
          "assignmentId": {
            "description": "GUID of the linked assignment",
            "type": "string",
            "format": "uuid",
            "example": "550e8400-e29b-41d4-a716-446655440000"
          },
          "assignmentName": {
            "description": "Name of the linked assignment",
            "type": "string",
            "example": "Assignment1"
          },
          "policyStatus": {
            "description": "Policy status of the linked assignment",
            "type": "string",
            "example": "ACTIVE",
            "enum": [
              "INACTIVE",
              "ACTIVE",
              "PROCESSING",
              "FAILED"
            ]
          }
        }
      },
      "AssociatedAttributeInformation": {
        "type": "object",
        "properties": {
          "id": {
            "description": "Associated Attribute GUID",
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "description": "Name",
            "type": "string",
            "example": "Count of members",
            "minLength": 1
          },
          "nameKey": {
            "description": "Name key",
            "type": "string",
            "example": "IM.CountOfMembersName"
          },
          "description": {
            "description": "Description",
            "type": "string",
            "example": "Provide details about count associated with this attribute"
          },
          "descriptionKey": {
            "description": "Description Key",
            "type": "string",
            "example": "IM.CountOfMembersDesc"
          },
          "schemaId": {
            "description": "Attribute Schema GUID",
            "type": "string",
            "format": "uuid"
          },
          "schemaName": {
            "description": "Attribute Schema Name",
            "type": "string",
            "example": "risk"
          },
          "fieldName": {
            "description": "Attribute field name",
            "type": "string",
            "example": "countOfMembers",
            "minLength": 1
          },
          "mappedFieldName": {
            "description": "Mapped Attribute field name. Should be used for sorting",
            "type": "string",
            "example": "count"
          },
          "enabled": {
            "description": "Indicator for attribute enabled/disabled",
            "type": "boolean"
          },
          "responseType": {
            "description": "Response Type",
            "type": "string",
            "enum": [
              "Text",
              "SingleSelect",
              "MultiSelect",
              "Date",
              "DateTime",
              "NumericalText",
              "NumericalSingleSelect",
              "RadioButton",
              "TextArea",
              "Formula",
              "Level",
              "Range",
              "Score",
              "System"
            ]
          },
          "responseSubType": {
            "description": "Response sub type",
            "type": "string",
            "enum": [
              "Standard",
              "Formula",
              "Matrix",
              "RollUp"
            ]
          },
          "formula": {
            "description": "Formula for attribute",
            "type": "string",
            "example": "sum(1, 3)"
          },
          "options": {
            "description": "Attribute options",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AttributeOptionInformation"
            }
          },
          "optionsByDomain": {
            "description": "Override options by Domain",
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/AttributeDomainOptionOverrideInformation"
              }
            }
          }
        },
        "required": [
          "enabled",
          "fieldName",
          "id",
          "responseType"
        ]
      },
      "AttributeDomainOptionOverrideInformation": {
        "type": "object",
        "properties": {
          "id": {
            "description": "Override Option GUID",
            "type": "string",
            "format": "uuid",
            "example": "550e8400-e29b-41d4-a716-446655440000"
          },
          "attributeDomainOptionId": {
            "description": "Domain Option GUID",
            "type": "string",
            "format": "uuid",
            "example": "550e8400-e29b-41d4-a716-446655440001"
          },
          "targetAttributeId": {
            "description": "Target Attribute GUID",
            "type": "string",
            "format": "uuid",
            "example": "550e8400-e29b-41d4-a716-446655440002"
          },
          "targetOptionId": {
            "description": "Target Option GUID",
            "type": "string",
            "format": "uuid",
            "example": "550e8400-e29b-41d4-a716-446655440003"
          },
          "option": {
            "description": "Option name",
            "type": "string",
            "example": "TypeA"
          },
          "optionKey": {
            "description": "Option name key",
            "type": "string",
            "example": "TypeB"
          },
          "optionSelectionValue": {
            "description": "Option selection value",
            "type": "string",
            "example": 10
          },
          "colorCode": {
            "description": "Color code for the option",
            "type": "string",
            "example": "#FF5733",
            "maxLength": 7
          },
          "sequence": {
            "description": "Option sequence for ordering",
            "type": "integer",
            "format": "int32",
            "example": 1,
            "maximum": 32767,
            "minimum": 1
          },
          "enabled": {
            "description": "Indicates if the option is enabled or disabled",
            "type": "boolean",
            "example": true,
            "default": "true"
          },
          "metadata": {
            "description": "Additional metadata for the attribute option",
            "$ref": "#/components/schemas/AttributeOptionMetadata"
          },
          "optionSelectionValueAsDouble": {
            "type": "number",
            "format": "double"
          },
          "optionAsDouble": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "AttributeFormulaDetail": {
        "type": "object",
        "properties": {
          "formula": {
            "type": "string"
          },
          "formulaType": {
            "type": "string"
          }
        }
      },
      "AttributeInformation": {
        "type": "object",
        "properties": {
          "id": {
            "description": "The unique identifier of the schema attribute.",
            "type": "string",
            "format": "uuid",
            "example": "550e8400-e29b-41d4-a716-446655440000"
          },
          "name": {
            "description": "The name of the schema attribute.",
            "type": "string",
            "example": "Type of the Record",
            "maxLength": 255,
            "minLength": 1
          },
          "nameKey": {
            "description": "The translation key for schema attribute.",
            "type": "string",
            "example": "IM.Name",
            "maxLength": 255
          },
          "description": {
            "description": "The description of the schema attribute.",
            "type": "string",
            "example": "Gather Type for the record - provide some value related to nature of record",
            "maxLength": 1000
          },
          "descriptionKey": {
            "description": "The translation key for schema description.",
            "type": "string",
            "example": "IM.Name.Description",
            "maxLength": 255
          },
          "fieldName": {
            "description": "The field name of the schema attribute.",
            "type": "string",
            "example": "nameOfRecord",
            "maxLength": 100,
            "minLength": 1
          },
          "mappedFieldName": {
            "description": "The mapped field name for schema sorting.",
            "type": "string",
            "example": "name",
            "maxLength": 100
          },
          "enabled": {
            "description": "The enabled flag for schema attribute.",
            "type": "boolean",
            "example": true,
            "default": "true"
          },
          "required": {
            "description": "The required flag for schema attribute.",
            "type": "boolean",
            "example": false,
            "default": "false"
          },
          "readOnly": {
            "description": "The read-only flag for schema attribute.",
            "type": "boolean",
            "example": false,
            "default": "false"
          },
          "encrypted": {
            "description": "The encryption flag for schema attribute.",
            "type": "boolean",
            "example": false,
            "default": "false"
          },
          "allowOther": {
            "description": "The user-defined options flag for schema.",
            "type": "boolean",
            "example": false,
            "default": "false"
          },
          "baseAttribute": {
            "description": "The core entity flag for schema attribute.",
            "type": "boolean",
            "example": false,
            "default": "false"
          },
          "responseType": {
            "description": "The response type for schema attribute.",
            "type": "string",
            "example": "Text",
            "enum": [
              "Text",
              "SingleSelect",
              "MultiSelect",
              "Date",
              "Formula",
              "Score",
              "Level",
              "Range"
            ]
          },
          "formula": {
            "description": "The formula for schema attribute.",
            "type": "string",
            "example": "Default:Field4 + Default:Field3 + 100 + avg(CrossSchema:Field4 + Default:Field3)",
            "maxLength": 4000
          },
          "optionType": {
            "description": "The option source type for schema.",
            "type": "string",
            "example": "None",
            "enum": [
              "None",
              "Static",
              "Dynamic"
            ]
          },
          "optionAllowed": {
            "description": "The options allowed flag for schema.",
            "type": "boolean",
            "example": false,
            "default": "false"
          },
          "schemaId": {
            "description": "The schema identifier for attribute.",
            "type": "string",
            "format": "uuid",
            "example": "550e8400-e29b-41d4-a716-446655440000"
          },
          "schemaName": {
            "description": "The schema name for attribute.",
            "type": "string",
            "example": "vendors",
            "maxLength": 100
          },
          "options": {
            "description": "The options collection for schema attribute.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AttributeOptionInformation"
            }
          },
          "referenceCategories": {
            "description": "The reference categories for schema.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CategoryInformation"
            }
          },
          "responseMaxLength": {
            "description": "The max response length for schema.",
            "type": "integer",
            "format": "int32",
            "example": 4000,
            "default": "4000",
            "maximum": 4000,
            "minimum": 1
          },
          "responseSubType": {
            "description": "The response subtype for schema.",
            "type": "string",
            "example": "STANDARD",
            "enum": [
              "STANDARD",
              "FORMULA",
              "MATRIX"
            ]
          },
          "associatedAttributeInformation": {
            "description": "The associated attributes for schema.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AssociatedAttributeInformation"
            }
          },
          "multiSelectMaxOptionValues": {
            "description": "The maximum multi-select options for schema.",
            "type": "integer",
            "format": "int32",
            "example": 10,
            "maximum": 100,
            "minimum": 1
          },
          "hidden": {
            "description": "The hidden flag for schema attribute.",
            "type": "boolean",
            "example": false,
            "default": "false"
          },
          "optionUrl": {
            "description": "The option URL for schema attribute.",
            "type": "string",
            "example": "/api/risk-v2/risk-categories",
            "maxLength": 255
          },
          "intakeQuestion": {
            "description": "The intake question for schema attribute.",
            "$ref": "#/components/schemas/IntakeQuestion"
          },
          "deleteMarker": {
            "description": "The deletion marker for schema attribute.",
            "type": "string",
            "example": "MARKED_FOR_DELETE",
            "enum": [
              "MARKED_FOR_DELETE",
              "DELETING",
              "DELETED"
            ]
          },
          "optionMetadata": {
            "description": "The option metadata for schema attribute.",
            "$ref": "#/components/schemas/AttributeOptionMetadataInformation"
          },
          "validationRuleId": {
            "description": "The validation rule for schema attribute.",
            "type": "string",
            "example": "email"
          },
          "abacBasicAssignmentInfo": {
            "description": "Contains the id, name and ObjectType of the linked assignment",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AbacBasicAssignmentInfo"
            }
          },
          "optionsByDomain": {
            "description": "Override options by Domain",
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/AttributeDomainOptionOverrideInformation"
              }
            }
          },
          "formulaByDomain": {
            "description": "Formula by Domain",
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/AttributeFormulaDetail"
            }
          },
          "displayResponseType": {
            "description": "Display response type for UI - System attributes are displayed as SingleSelect or MultiSelect based on multiSelectMaxOptionValues",
            "type": "string",
            "example": "SingleSelect",
            "enum": [
              "Text",
              "SingleSelect",
              "MultiSelect",
              "Date",
              "DateTime",
              "NumericalText",
              "NumericalSingleSelect",
              "RadioButton",
              "TextArea",
              "Formula",
              "Level",
              "Range",
              "Score",
              "System"
            ]
          },
          "associatedAttributeFieldName": {
            "description": "The associated field name for schema.",
            "type": "string"
          }
        },
        "required": [
          "enabled",
          "fieldName",
          "name"
        ]
      },
      "AttributeOptionInformation": {
        "type": "object",
        "properties": {
          "id": {
            "description": "Option GUID",
            "type": "string",
            "format": "uuid",
            "example": "550e8400-e29b-41d4-a716-446655440000"
          },
          "option": {
            "description": "Option name",
            "type": "string",
            "example": "TypeA",
            "maxLength": 255,
            "minLength": 1
          },
          "optionKey": {
            "description": "Option Key which can be used for translation",
            "type": "string",
            "example": "IM.TypeA",
            "maxLength": 255
          },
          "colorCode": {
            "description": "Color code for the option",
            "type": "string",
            "example": "#FF5733",
            "maxLength": 7
          },
          "sequence": {
            "description": "Option sequence for ordering",
            "type": "integer",
            "format": "int32",
            "example": 1,
            "maximum": 32767,
            "minimum": 1
          },
          "enabled": {
            "description": "Indicates if the option is enabled or disabled",
            "type": "boolean",
            "example": true,
            "default": "true"
          },
          "metadata": {
            "description": "Additional metadata for the attribute option",
            "$ref": "#/components/schemas/AttributeOptionMetadata"
          }
        },
        "required": [
          "option"
        ]
      },
      "AttributeOptionMetadata": {
        "type": "object",
        "properties": {
          "hint": {
            "description": "The associated option hint.",
            "type": "string"
          },
          "hintKey": {
            "description": "The associated option hint key.",
            "type": "string"
          }
        }
      },
      "AttributeOptionMetadataInformation": {
        "type": "object",
        "properties": {
          "entityTypeName": {
            "description": "The entity type for schema options.",
            "type": "string",
            "example": "Location"
          },
          "basicServiceContextPath": {
            "description": "The service path for schema options.",
            "type": "string",
            "example": "/api/location"
          },
          "optionUrl": {
            "description": "The option URL for schema options.",
            "type": "string",
            "example": "/api/ontology/ui/v1/entity-types/names/purpose/entities/basic-details/pages"
          },
          "optionListUrl": {
            "description": "Api URL for the Drop Down Api. Complete List of entities",
            "type": "string",
            "example": "/api/ontology/ui/v1/entity-types/names/purpose/entities/basic-details"
          },
          "viewType": {
            "description": "The view type for schema options.",
            "type": "string"
          },
          "optionType": {
            "description": "Option Type",
            "type": "string",
            "example": "BusinessLocations"
          },
          "permissions": {
            "description": "Permissions",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": "[features.core-constructs.view]"
          },
          "applicationUrl": {
            "description": "Application Url",
            "type": "string",
            "example": "/settings/location-management/location/Location"
          }
        }
      },
      "CategoryInformation": {
        "type": "object",
        "properties": {
          "id": {
            "description": "Category unique identifier",
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "description": "Category name",
            "type": "string",
            "example": "Financial Category"
          },
          "nameKey": {
            "description": "Category nameKey for localization support",
            "type": "string",
            "example": "IM.FinancialCategoryName"
          }
        }
      },
      "IntakeQuestion": {
        "type": "object",
        "properties": {
          "nameKey": {
            "description": "The question name key for schema.",
            "type": "string",
            "maxLength": 100,
            "minLength": 0
          },
          "name": {
            "description": "The question name for schema.",
            "type": "string",
            "maxLength": 500,
            "minLength": 0
          },
          "descriptionKey": {
            "description": "The question description key for schema.",
            "type": "string",
            "maxLength": 100,
            "minLength": 0
          },
          "description": {
            "description": "The question description for schema.",
            "type": "string",
            "maxLength": 500,
            "minLength": 0
          }
        }
      }
    },
    "securitySchemes": {
      "OAUTH2": {
        "type": "oauth2",
        "flows": {
          "clientCredentials": {
            "tokenUrl": "https://{hostname}/api/access/v1/oauth/token",
            "scopes": {
              "VRM_READ": "Third Party Risk Management read scope to view details of TPRM components",
              "VRM": "Third Party Risk Management scope for read/write operations on TPRM components."
            }
          }
        }
      }
    }
  }
}
```

# Sibling pages

* [Search Engagements](https://developer.onetrust.com/onetrust/reference/loadengagementusingget.md)
* [Get Engagement](https://developer.onetrust.com/onetrust/reference/loadengagementbyengagementidusingget.md)
* [Modify Engagement](https://developer.onetrust.com/onetrust/reference/updateengagementusingpatch.md)
* [Update Engagement](https://developer.onetrust.com/onetrust/reference/updateengagementusingput.md)
* [Update Engagement Status](https://developer.onetrust.com/onetrust/reference/updateengagementstatus.md)
* [Create Engagement](https://developer.onetrust.com/onetrust/reference/createengagementusingpost.md)
* [Delete Engagement](https://developer.onetrust.com/onetrust/reference/removeengagementusingdelete.md)