# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Identity.Governance Agreements.agreement API version: 1.0.0 extends: openapi/azure-ad-agreements-agreement-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: 5 - target: $.paths['/agreements'].get update: x-apievangelist-phrasing: intent: List terms of use agreements effect: read questions: - What terms of use agreements have we set up in Microsoft Entra ID? - Can I search our agreements by display name? instructions: - text: List all terms of use agreements in our tenant. - text: List agreements matching {filter}. slots: filter: query.$filter - text: Search terms of use agreements for {term}. slots: term: query.$search method: generated generated: '2026-10-01' - target: $.paths['/agreements'].post update: x-apievangelist-phrasing: intent: Create a terms of use agreement effect: write questions: - How do I create a new terms of use that users must accept? - Can I require users to open the document before accepting a new agreement? instructions: - text: Create a terms of use agreement named {displayName}. slots: displayName: requestBody.displayName - text: 'Create agreement {displayName} requiring viewing before acceptance: {mustView}.' slots: displayName: requestBody.displayName mustView: requestBody.isViewingBeforeAcceptanceRequired method: generated generated: '2026-10-01' - target: $.paths['/agreements/{agreement-id}'].get update: x-apievangelist-phrasing: intent: Get a terms of use agreement effect: read questions: - What are the settings of a specific terms of use agreement? - Does a given agreement require acceptance on every device? instructions: - text: Get terms of use agreement {agreement}. slots: agreement: path.agreement-id - text: Show only {fields} for agreement {agreement}. slots: fields: query.$select agreement: path.agreement-id method: generated generated: '2026-10-01' - target: $.paths['/agreements/{agreement-id}'].delete update: x-apievangelist-phrasing: intent: Delete a terms of use agreement effect: destructive questions: - Can I permanently remove a terms of use agreement from the tenant? - What does deleting an agreement require if I use an ETag? instructions: - text: Delete terms of use agreement {agreement}. slots: agreement: path.agreement-id - text: Delete agreement {agreement} only if its ETag matches {etag}. slots: agreement: path.agreement-id etag: header.If-Match method: generated generated: '2026-10-01' - target: $.paths['/agreements/{agreement-id}'].patch update: x-apievangelist-phrasing: intent: Update a terms of use agreement effect: write questions: - How do I make users re-accept an existing agreement on a schedule? - Can I turn on per-device acceptance for an agreement that already exists? instructions: - text: Set the re-acceptance frequency of agreement {agreement} to {frequency}. slots: agreement: path.agreement-id frequency: requestBody.userReacceptRequiredFrequency - text: Rename existing agreement {agreement} to {displayName}. slots: agreement: path.agreement-id displayName: requestBody.displayName - text: Set per-device acceptance on agreement {agreement} to {perDevice}. slots: agreement: path.agreement-id perDevice: requestBody.isPerDeviceAcceptanceRequired method: generated generated: '2026-10-01'