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

API Evangelist conversational phrasing for Identity.DirectoryManagement Contracts.contract API

7 actions 7 updates phrasing extends openapi/azure-ad-contracts-contract-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 7

$.info
$.paths['/contracts'].get
$.paths['/contracts'].post
$.paths['/contracts/{contract-id}'].get
$.paths['/contracts/{contract-id}'].delete
$.paths['/contracts/{contract-id}'].patch
$.paths['/contracts/$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 Contracts.contract API
  version: 1.0.0
extends: openapi/azure-ad-contracts-contract-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: 6
- target: $.paths['/contracts'].get
  update:
    x-apievangelist-phrasing:
      intent: List partner contracts with customer tenants
      effect: read
      questions:
      - Which customer tenants does my partner tenant have contracts with?
      - Can I filter partner contracts by customer ID or default domain?
      instructions:
      - text: List all contracts for my partner tenant.
      - text: Show partner contracts matching filter {filter}.
        slots:
          filter: query.$filter
      method: generated
      generated: '2026-10-01'
- target: $.paths['/contracts'].post
  update:
    x-apievangelist-phrasing:
      intent: Add a partner contract
      effect: write
      questions:
      - Can I create a new contract object for a customer tenant?
      - What goes on a new partner contract, such as contract type and customer ID?
      instructions:
      - text: Create a contract for customer {customer} of type {type}.
        slots:
          customer: requestBody.customerId
          type: requestBody.contractType
      - text: Add a partner contract named {name} with default domain {domain}.
        slots:
          name: requestBody.displayName
          domain: requestBody.defaultDomainName
      method: generated
      generated: '2026-10-01'
- target: $.paths['/contracts/{contract-id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one partner contract
      effect: read
      questions:
      - What customer and contract type does a specific partner contract cover?
      - What's the default domain on a particular contract?
      instructions:
      - text: Get contract {contract}.
        slots:
          contract: path.contract-id
      - text: Show the customer details on partner contract {contract}.
        slots:
          contract: path.contract-id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/contracts/{contract-id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a partner contract
      effect: destructive
      questions:
      - Can I remove a contract object from my partner tenant?
      - Is deleting a partner contract by its ID permanent?
      instructions:
      - text: Delete contract {contract}.
        slots:
          contract: path.contract-id
      - text: Remove partner contract {contract} from my tenant.
        slots:
          contract: path.contract-id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/contracts/{contract-id}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update a partner contract
      effect: write
      questions:
      - Can I change the display name on an existing partner contract?
      - Which fields of a contract, like its default domain, can I edit?
      instructions:
      - text: Rename contract {contract} to {name}.
        slots:
          contract: path.contract-id
          name: requestBody.displayName
      - text: Set the default domain of partner contract {contract} to {domain}.
        slots:
          contract: path.contract-id
          domain: requestBody.defaultDomainName
      method: generated
      generated: '2026-10-01'
- target: $.paths['/contracts/$count'].get
  update:
    x-apievangelist-phrasing:
      intent: Count partner contracts
      effect: read
      questions:
      - How many customer contracts does my partner tenant have?
      - Can I get a count of contracts without listing them?
      instructions:
      - text: Count my partner tenant's contracts.
      - text: Tell me how many contracts match filter {filter}.
        slots:
          filter: query.$filter
      method: generated
      generated: '2026-10-01'