# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Identity.DirectoryManagement Directory.custom Security… version: 1.0.0 extends: openapi/azure-ad-directory-customsecurityattributedefinition-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-10-01' generator: build-phrasing.py label: Generated by API Evangelist operations: 12 - target: $.paths['/directory/customSecurityAttributeDefinitions'].get update: x-apievangelist-phrasing: intent: List custom security attribute definitions effect: read questions: - Which custom security attributes are defined in my Entra ID tenant? - Can I filter custom security attribute definitions by attribute set? instructions: - text: List all custom security attribute definitions. - text: Show custom security attribute definitions matching {filter}. slots: filter: query.$filter method: generated generated: '2026-10-01' - target: $.paths['/directory/customSecurityAttributeDefinitions'].post update: x-apievangelist-phrasing: intent: Define a custom security attribute effect: write questions: - How do I add a new custom security attribute like ProjectCode to an attribute set? - Can a custom security attribute be restricted to predefined values only? - Can I make a custom security attribute hold multiple values? instructions: - text: Create custom security attribute {name} of type {type} in attribute set {set}. slots: name: requestBody.name type: requestBody.type set: requestBody.attributeSet - text: Define attribute {name} in set {set} with status {status}, predefined values only. slots: name: requestBody.name set: requestBody.attributeSet status: requestBody.status method: generated generated: '2026-10-01' - target: $.paths['/directory/customSecurityAttributeDefinitions/{customSecurityAttributeDefinition-id}'].get update: x-apievangelist-phrasing: intent: Get a custom security attribute definition effect: read questions: - What type and attribute set does a specific custom security attribute belong to? - Is a given custom security attribute searchable or deprecated? instructions: - text: Show custom security attribute definition {attribute}. slots: attribute: path.customSecurityAttributeDefinition-id - text: Get the data type and status of attribute {attribute}. slots: attribute: path.customSecurityAttributeDefinition-id method: generated generated: '2026-10-01' - target: $.paths['/directory/customSecurityAttributeDefinitions/{customSecurityAttributeDefinition-id}'].delete update: x-apievangelist-phrasing: intent: Delete a custom security attribute definition effect: destructive questions: - How do I remove a custom security attribute definition from the directory? - Can I delete an attribute definition with an ETag precondition? instructions: - text: Delete custom security attribute definition {attribute}. slots: attribute: path.customSecurityAttributeDefinition-id - text: Remove attribute definition {attribute} if its ETag is {etag}. slots: attribute: path.customSecurityAttributeDefinition-id etag: header.If-Match method: generated generated: '2026-10-01' - target: $.paths['/directory/customSecurityAttributeDefinitions/{customSecurityAttributeDefinition-id}'].patch update: x-apievangelist-phrasing: intent: Update a custom security attribute definition effect: write questions: - How do I deprecate a custom security attribute so nobody assigns it anymore? - Can I change the description of an existing custom security attribute? instructions: - text: Set the status of attribute {attribute} to {status}. slots: attribute: path.customSecurityAttributeDefinition-id status: requestBody.status - text: Update the description of custom security attribute {attribute} to {description}. slots: attribute: path.customSecurityAttributeDefinition-id description: requestBody.description method: generated generated: '2026-10-01' - target: $.paths['/directory/customSecurityAttributeDefinitions/{customSecurityAttributeDefinition-id}/allowedValues'].get update: x-apievangelist-phrasing: intent: List an attribute's allowed values effect: read questions: - Which predefined values can be assigned for a custom security attribute? - Can I list only the active allowed values of an attribute? instructions: - text: List allowed values for custom security attribute {attribute}. slots: attribute: path.customSecurityAttributeDefinition-id - text: Show allowed values of attribute {attribute} matching {filter}. slots: attribute: path.customSecurityAttributeDefinition-id filter: query.$filter method: generated generated: '2026-10-01' - target: $.paths['/directory/customSecurityAttributeDefinitions/{customSecurityAttributeDefinition-id}/allowedValues'].post update: x-apievangelist-phrasing: intent: Add an allowed value to an attribute effect: write questions: - How do I add a new predefined value to a custom security attribute? - Can I add an allowed value that starts out inactive? instructions: - text: Add allowed value {value} to custom security attribute {attribute}. slots: value: requestBody.id attribute: path.customSecurityAttributeDefinition-id - text: Create allowed value {value} on attribute {attribute} and mark it active. slots: value: requestBody.id attribute: path.customSecurityAttributeDefinition-id method: generated generated: '2026-10-01' - target: $.paths['/directory/customSecurityAttributeDefinitions/{customSecurityAttributeDefinition-id}/allowedValues/{allowedValue-id}'].get update: x-apievangelist-phrasing: intent: Get one allowed value of an attribute effect: read questions: - Is a specific predefined value of a custom security attribute still active? - What are the properties of one allowed value on an attribute? instructions: - text: Show allowed value {value} of attribute {attribute}. slots: value: path.allowedValue-id attribute: path.customSecurityAttributeDefinition-id - text: Check whether value {value} on custom security attribute {attribute} is active. slots: value: path.allowedValue-id attribute: path.customSecurityAttributeDefinition-id method: generated generated: '2026-10-01' - target: $.paths['/directory/customSecurityAttributeDefinitions/{customSecurityAttributeDefinition-id}/allowedValues/{allowedValue-id}'].delete update: x-apievangelist-phrasing: intent: Delete an allowed value from an attribute effect: destructive questions: - How do I remove a predefined value from a custom security attribute? - Can an allowed value be deleted rather than just deactivated? instructions: - text: Delete allowed value {value} from attribute {attribute}. slots: value: path.allowedValue-id attribute: path.customSecurityAttributeDefinition-id - text: Remove predefined value {value} of custom security attribute {attribute}. slots: value: path.allowedValue-id attribute: path.customSecurityAttributeDefinition-id method: generated generated: '2026-10-01' - target: $.paths['/directory/customSecurityAttributeDefinitions/{customSecurityAttributeDefinition-id}/allowedValues/{allowedValue-id}'].patch update: x-apievangelist-phrasing: intent: Activate or deactivate an allowed value effect: write questions: - How do I deactivate a predefined value so it can't be assigned anymore? - Can I reactivate an allowed value on a custom security attribute? instructions: - text: Deactivate allowed value {value} on attribute {attribute}. slots: value: path.allowedValue-id attribute: path.customSecurityAttributeDefinition-id - text: Update the active flag of value {value} on custom security attribute {attribute}. slots: value: path.allowedValue-id attribute: path.customSecurityAttributeDefinition-id method: generated generated: '2026-10-01' - target: $.paths['/directory/customSecurityAttributeDefinitions/{customSecurityAttributeDefinition-id}/allowedValues/$count'].get update: x-apievangelist-phrasing: intent: Count an attribute's allowed values effect: read questions: - How many predefined values does a custom security attribute have? - Does a given attribute have any allowed values defined? instructions: - text: Count the allowed values of attribute {attribute}. slots: attribute: path.customSecurityAttributeDefinition-id - text: Tell me how many predefined values custom security attribute {attribute} has. slots: attribute: path.customSecurityAttributeDefinition-id method: generated generated: '2026-10-01' - target: $.paths['/directory/customSecurityAttributeDefinitions/$count'].get update: x-apievangelist-phrasing: intent: Count custom security attribute definitions effect: read questions: - How many custom security attributes are defined in the directory? - Can I count the attribute definitions in one attribute set? instructions: - text: Count all custom security attribute definitions. - text: Count attribute definitions matching {filter}. slots: filter: query.$filter method: generated generated: '2026-10-01'