Microsoft Entra ID (formerly Azure AD) · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Identity.DirectoryManagement Directory.custom Security…

13 actions 13 updates phrasing extends openapi/azure-ad-directory-customsecurityattributedefinition-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Microsoft Entra ID (formerly Azure AD)'s API. It is a proposal applied on top of the contract, not a document Microsoft Entra ID (formerly Azure AD) publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 13

$.info
$.paths['/directory/customSecurityAttributeDefinitions'].get
$.paths['/directory/customSecurityAttributeDefinitions'].post
$.paths['/directory/customSecurityAttributeDefinitions/{customSecurityAttributeDefinition-id}'].get
$.paths['/directory/customSecurityAttributeDefinitions/{customSecurityAttributeDefinition-id}'].delete
$.paths['/directory/customSecurityAttributeDefinitions/{customSecurityAttributeDefinition-id}'].patch
$.paths['/directory/customSecurityAttributeDefinitions/{customSecurityAttributeDefinition-id}/allowedValues'].get
$.paths['/directory/customSecurityAttributeDefinitions/{customSecurityAttributeDefinition-id}/allowedValues'].post
$.paths['/directory/customSecurityAttributeDefinitions/{customSecurityAttributeDefinition-id}/allowedValues/{allowedValue-id}'].get
$.paths['/directory/customSecurityAttributeDefinitions/{customSecurityAttributeDefinition-id}/allowedValues/{allowedValue-id}'].delete
$.paths['/directory/customSecurityAttributeDefinitions/{customSecurityAttributeDefinition-id}/allowedValues/{allowedValue-id}'].patch
$.paths['/directory/customSecurityAttributeDefinitions/{customSecurityAttributeDefinition-id}/allowedValues/$count'].get
$.paths['/directory/customSecurityAttributeDefinitions/$count'].get

OpenAPI Overlay

Raw ↑
# 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'