# 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 Identity Governance.terms Of Use… version: 1.0.0 extends: openapi/azure-ad-identitygovernance-termsofusecontainer-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: 48 - target: $.paths['/identityGovernance/termsOfUse'].get update: x-apievangelist-phrasing: intent: Get the terms of use container effect: read questions: - How do I read the top-level terms of use container in identity governance? - Can I expand the agreements when fetching the terms of use container? instructions: - text: Get the identity governance terms of use container. - text: Show the terms of use container with {expand} expanded. slots: expand: query.$expand method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse'].delete update: x-apievangelist-phrasing: intent: Delete the terms of use container effect: destructive questions: - What happens if I delete the whole terms of use container from identity governance? - Can I remove the terms of use container only if its ETag still matches? instructions: - text: Delete the entire terms of use container. - text: Delete the terms of use container if its ETag is {ifMatch}. slots: ifMatch: header.If-Match method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse'].patch update: x-apievangelist-phrasing: intent: Update the terms of use container effect: write questions: - How do I update the terms of use container itself rather than a single agreement? - Can I replace the set of agreements held in the terms of use container in one patch? instructions: - text: Update the terms of use container with agreements {agreements}. slots: agreements: requestBody.agreements - text: Patch the terms of use container's agreement acceptances to {agreementAcceptances}. slots: agreementAcceptances: requestBody.agreementAcceptances method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreementAcceptances'].get update: x-apievangelist-phrasing: intent: List all terms of use acceptances tenant-wide effect: read questions: - Which users have accepted or declined any terms of use across the whole tenant? - Can I filter tenant-wide terms of use responses by user email or state? instructions: - text: List every terms of use acceptance record across the tenant. - text: List tenant-wide agreement acceptances matching {filter}. slots: filter: query.$filter method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreementAcceptances'].post update: x-apievangelist-phrasing: intent: Record a tenant-level agreement acceptance effect: write questions: - Can I add an acceptance record to the tenant-wide agreement acceptances collection? - What fields go into a new terms of use acceptance record, like device and user details? instructions: - text: Record a tenant-level acceptance of agreement {agreementId} by user {userPrincipalName} with state {state}. slots: agreementId: requestBody.agreementId userPrincipalName: requestBody.userPrincipalName state: requestBody.state - text: Add a tenant-wide acceptance for user {userId} on device {deviceDisplayName}. slots: userId: requestBody.userId deviceDisplayName: requestBody.deviceDisplayName method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreementAcceptances/{agreementAcceptance-id}'].get update: x-apievangelist-phrasing: intent: Get a tenant-level agreement acceptance effect: read questions: - How do I look up one acceptance record from the tenant-wide terms of use acceptances? - When does a particular user's terms of use acceptance expire? instructions: - text: Get tenant-level agreement acceptance {agreementAcceptance}. slots: agreementAcceptance: path.agreementAcceptance-id - text: Show the state and expiry of tenant-wide acceptance {agreementAcceptance}. slots: agreementAcceptance: path.agreementAcceptance-id method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreementAcceptances/{agreementAcceptance-id}'].delete update: x-apievangelist-phrasing: intent: Delete a tenant-level agreement acceptance effect: destructive questions: - Can I remove a record from the tenant-wide agreement acceptances collection? - How do I delete a user's terms of use response stored at the tenant level? instructions: - text: Delete tenant-level agreement acceptance {agreementAcceptance}. slots: agreementAcceptance: path.agreementAcceptance-id - text: Remove tenant-wide acceptance record {agreementAcceptance}. slots: agreementAcceptance: path.agreementAcceptance-id method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreementAcceptances/{agreementAcceptance-id}'].patch update: x-apievangelist-phrasing: intent: Update a tenant-level agreement acceptance effect: write questions: - Is it possible to change the state of an acceptance in the tenant-wide acceptances collection? - How do I update the expiration date on a tenant-level terms of use acceptance? instructions: - text: Set state {state} on tenant-level agreement acceptance {agreementAcceptance}. slots: state: requestBody.state agreementAcceptance: path.agreementAcceptance-id - text: Change the expiry of tenant-wide acceptance {agreementAcceptance} to {expirationDateTime}. slots: agreementAcceptance: path.agreementAcceptance-id expirationDateTime: requestBody.expirationDateTime method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreementAcceptances/$count'].get update: x-apievangelist-phrasing: intent: Count tenant-wide agreement acceptances effect: read questions: - How many terms of use acceptance records exist across the whole tenant? - What's the count of tenant-wide acceptances that match a filter like declined state? instructions: - text: Count all tenant-level agreement acceptances. - text: Count tenant-wide agreement acceptances matching {filter}. slots: filter: query.$filter method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/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 terms of use agreements by display name? instructions: - text: List all terms of use agreements. - text: List terms of use agreements matching {filter}. slots: filter: query.$filter method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreements'].post update: x-apievangelist-phrasing: intent: Create a terms of use agreement effect: write questions: - How do I publish a new terms of use agreement that users must accept? - Can I require users to open the terms before they're allowed to accept them? - Is there a setting to make people accept the terms separately on each device? instructions: - text: Create a terms of use agreement called {displayName}. slots: displayName: requestBody.displayName - text: Create agreement {displayName} requiring viewing before acceptance set to {isViewingBeforeAcceptanceRequired}. slots: displayName: requestBody.displayName isViewingBeforeAcceptanceRequired: requestBody.isViewingBeforeAcceptanceRequired - text: Create agreement {displayName} that users must re-accept every {userReacceptRequiredFrequency}. slots: displayName: requestBody.displayName userReacceptRequiredFrequency: requestBody.userReacceptRequiredFrequency method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreements/{agreement-id}'].get update: x-apievangelist-phrasing: intent: Get a terms of use agreement effect: read questions: - How do I see the settings of one terms of use agreement? - Does a specific agreement require per-device acceptance? instructions: - text: Get terms of use agreement {agreement}. slots: agreement: path.agreement-id - text: Show the acceptance settings of agreement {agreement}. slots: agreement: path.agreement-id method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreements/{agreement-id}'].delete update: x-apievangelist-phrasing: intent: Delete a terms of use agreement effect: destructive questions: - Can I retire and delete a terms of use agreement we no longer use? - How do I remove a terms of use agreement from the tenant? instructions: - text: Delete terms of use agreement {agreement}. slots: agreement: path.agreement-id - text: Remove agreement {agreement} from the tenant. slots: agreement: path.agreement-id method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreements/{agreement-id}'].patch update: x-apievangelist-phrasing: intent: Update a terms of use agreement effect: write questions: - How do I rename an existing terms of use agreement? - Can I change how often users must re-accept an agreement that's already published? instructions: - text: Rename agreement {agreement} to {displayName}. slots: agreement: path.agreement-id displayName: requestBody.displayName - text: Set per-device acceptance to {isPerDeviceAcceptanceRequired} on existing agreement {agreement}. slots: isPerDeviceAcceptanceRequired: requestBody.isPerDeviceAcceptanceRequired agreement: path.agreement-id - text: Change the terms expiration of agreement {agreement} to {termsExpiration}. slots: agreement: path.agreement-id termsExpiration: requestBody.termsExpiration method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreements/{agreement-id}/acceptances'].get update: x-apievangelist-phrasing: intent: List acceptances for one agreement effect: read questions: - Who has accepted a specific terms of use agreement? - Can I filter one agreement's acceptance records to users who declined? instructions: - text: List the acceptance records for agreement {agreement}. slots: agreement: path.agreement-id - text: List acceptances of agreement {agreement} matching {filter}. slots: agreement: path.agreement-id filter: query.$filter method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreements/{agreement-id}/acceptances'].post update: x-apievangelist-phrasing: intent: Add an acceptance to a specific agreement effect: write questions: - Can I add an acceptance record directly under one terms of use agreement? - How would I log that a user accepted a particular agreement on their device? instructions: - text: Add an acceptance by user {userPrincipalName} to agreement {agreement}. slots: userPrincipalName: requestBody.userPrincipalName agreement: path.agreement-id - text: Record state {state} for user {userId} under agreement {agreement}. slots: state: requestBody.state userId: requestBody.userId agreement: path.agreement-id method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreements/{agreement-id}/acceptances/{agreementAcceptance-id}'].get update: x-apievangelist-phrasing: intent: Get one acceptance of a specific agreement effect: read questions: - How do I read a single acceptance record under a given agreement? - Which device was used for one particular acceptance of this agreement? instructions: - text: Get acceptance {agreementAcceptance} of agreement {agreement}. slots: agreementAcceptance: path.agreementAcceptance-id agreement: path.agreement-id - text: Show the device and state for acceptance {agreementAcceptance} under agreement {agreement}. slots: agreementAcceptance: path.agreementAcceptance-id agreement: path.agreement-id method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreements/{agreement-id}/acceptances/{agreementAcceptance-id}'].delete update: x-apievangelist-phrasing: intent: Delete an acceptance from a specific agreement effect: destructive questions: - Can I remove one acceptance record from a particular agreement? - How do I delete a user's acceptance under a given terms of use agreement? instructions: - text: Delete acceptance {agreementAcceptance} from agreement {agreement}. slots: agreementAcceptance: path.agreementAcceptance-id agreement: path.agreement-id - text: Remove the acceptance record {agreementAcceptance} under agreement {agreement}. slots: agreementAcceptance: path.agreementAcceptance-id agreement: path.agreement-id method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreements/{agreement-id}/acceptances/{agreementAcceptance-id}'].patch update: x-apievangelist-phrasing: intent: Update an acceptance on a specific agreement effect: write questions: - How do I change the state of one acceptance record under a given agreement? - Can I update the expiry of an acceptance stored under a particular agreement? instructions: - text: Set state {state} on acceptance {agreementAcceptance} of agreement {agreement}. slots: state: requestBody.state agreementAcceptance: path.agreementAcceptance-id agreement: path.agreement-id - text: Change expiry of acceptance {agreementAcceptance} under agreement {agreement} to {expirationDateTime}. slots: agreementAcceptance: path.agreementAcceptance-id agreement: path.agreement-id expirationDateTime: requestBody.expirationDateTime method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreements/{agreement-id}/acceptances/$count'].get update: x-apievangelist-phrasing: intent: Count acceptances of one agreement effect: read questions: - How many people have responded to a specific terms of use agreement? - What's the number of acceptances for one agreement that match a filter? instructions: - text: Count the acceptances of agreement {agreement}. slots: agreement: path.agreement-id - text: Count acceptances under agreement {agreement} matching {filter}. slots: agreement: path.agreement-id filter: query.$filter method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreements/{agreement-id}/file'].get update: x-apievangelist-phrasing: intent: Get the default file of a terms of use agreement effect: read questions: - What language and version details does the main file of a terms of use agreement carry? - Can I read an agreement's current default file rather than the old files collection? instructions: - text: Get the default agreement file for terms of use agreement {agreement}. slots: agreement: path.agreement-id - text: Show the language and version info of {agreement}'s main agreement file. slots: agreement: path.agreement-id method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreements/{agreement-id}/file'].delete update: x-apievangelist-phrasing: intent: Remove the default file from an agreement effect: destructive questions: - Can I delete the main file property of a terms of use agreement entirely? - What happens if I remove an agreement's default file instead of one translation? instructions: - text: Delete the default agreement file from terms of use agreement {agreement}. slots: agreement: path.agreement-id - text: Remove {agreement}'s main file only if its ETag still matches {etag}. slots: agreement: path.agreement-id etag: header.If-Match method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreements/{agreement-id}/file'].patch update: x-apievangelist-phrasing: intent: Update the default file of an agreement effect: write questions: - How do I replace the translations held on an agreement's default file in one update? - Can I patch the main agreement file rather than a single translation of it? instructions: - text: Update the default agreement file on terms of use agreement {agreement}. slots: agreement: path.agreement-id - text: Set the localizations of {agreement}'s main file to {localizations}. slots: agreement: path.agreement-id localizations: requestBody.localizations method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreements/{agreement-id}/file/localizations'].get update: x-apievangelist-phrasing: intent: List translations of an agreement's file effect: read questions: - Which languages is a terms of use agreement's default file available in? - Can I list the localized versions of an agreement's current file? instructions: - text: List the localizations of agreement {agreement}'s default file. slots: agreement: path.agreement-id - text: Show which languages the current file of agreement {agreement} is translated into. slots: agreement: path.agreement-id method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreements/{agreement-id}/file/localizations'].post update: x-apievangelist-phrasing: intent: Add a translation to an agreement's file effect: write questions: - How do I add a new language version of the default terms of use file? - Can I attach a localized copy under an agreement's current file? instructions: - text: Add a localization to the default file of agreement {agreement}. slots: agreement: path.agreement-id - text: Create a localization with versions {versions} under agreement {agreement}'s current file. slots: versions: requestBody.versions agreement: path.agreement-id method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreements/{agreement-id}/file/localizations/{agreementFileLocalization-id}'].get update: x-apievangelist-phrasing: intent: Get one translation of an agreement's file effect: read questions: - How do I fetch one language version of an agreement's default file? - What's in a single localization under the agreement's current file? instructions: - text: Get localization {agreementFileLocalization} of agreement {agreement}'s default file. slots: agreementFileLocalization: path.agreementFileLocalization-id agreement: path.agreement-id - text: Show translation {agreementFileLocalization} under the current file of agreement {agreement}. slots: agreementFileLocalization: path.agreementFileLocalization-id agreement: path.agreement-id method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreements/{agreement-id}/file/localizations/{agreementFileLocalization-id}'].delete update: x-apievangelist-phrasing: intent: Delete a translation of an agreement's file effect: destructive questions: - Can I remove one language version from an agreement's default file? - How do I delete a localization under the current terms of use file? instructions: - text: Delete localization {agreementFileLocalization} from agreement {agreement}'s default file. slots: agreementFileLocalization: path.agreementFileLocalization-id agreement: path.agreement-id - text: Remove translation {agreementFileLocalization} under the current file of agreement {agreement}. slots: agreementFileLocalization: path.agreementFileLocalization-id agreement: path.agreement-id method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreements/{agreement-id}/file/localizations/{agreementFileLocalization-id}'].patch update: x-apievangelist-phrasing: intent: Update a translation of an agreement's file effect: write questions: - How do I change one language version under an agreement's default file? - Can I replace the version list on a localization of the current terms file? instructions: - text: Update localization {agreementFileLocalization} of agreement {agreement}'s default file. slots: agreementFileLocalization: path.agreementFileLocalization-id agreement: path.agreement-id - text: Set versions {versions} on translation {agreementFileLocalization} under agreement {agreement}'s current file. slots: versions: requestBody.versions agreementFileLocalization: path.agreementFileLocalization-id agreement: path.agreement-id method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreements/{agreement-id}/file/localizations/{agreementFileLocalization-id}/versions'].get update: x-apievangelist-phrasing: intent: List versions of a file translation effect: read questions: - What earlier versions exist for one language of an agreement's default file? - Can I see the version history of a localization under the current terms file? instructions: - text: List the versions of localization {agreementFileLocalization} in agreement {agreement}'s default file. slots: agreementFileLocalization: path.agreementFileLocalization-id agreement: path.agreement-id - text: Show the version history of translation {agreementFileLocalization} under agreement {agreement}'s current file. slots: agreementFileLocalization: path.agreementFileLocalization-id agreement: path.agreement-id method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreements/{agreement-id}/file/localizations/{agreementFileLocalization-id}/versions'].post update: x-apievangelist-phrasing: intent: Add a version to a file translation effect: write questions: - How do I add a new version to one language of an agreement's default file? - Can I create another version under a localization of the current terms file? instructions: - text: Add a version to localization {agreementFileLocalization} of agreement {agreement}'s default file. slots: agreementFileLocalization: path.agreementFileLocalization-id agreement: path.agreement-id - text: Create a new version of translation {agreementFileLocalization} under agreement {agreement}'s current file. slots: agreementFileLocalization: path.agreementFileLocalization-id agreement: path.agreement-id method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreements/{agreement-id}/file/localizations/{agreementFileLocalization-id}/versions/{agreementFileVersion-id}'].get update: x-apievangelist-phrasing: intent: Get a version of a file translation effect: read questions: - How do I fetch one specific version of a localized default agreement file? - What does an individual version under a current-file localization contain? instructions: - text: Get version {agreementFileVersion} of localization {agreementFileLocalization} in agreement {agreement}'s default file. slots: agreementFileVersion: path.agreementFileVersion-id agreementFileLocalization: path.agreementFileLocalization-id agreement: path.agreement-id - text: Show current-file version {agreementFileVersion} of translation {agreementFileLocalization} for agreement {agreement}. slots: agreementFileVersion: path.agreementFileVersion-id agreementFileLocalization: path.agreementFileLocalization-id agreement: path.agreement-id method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreements/{agreement-id}/file/localizations/{agreementFileLocalization-id}/versions/{agreementFileVersion-id}'].delete update: x-apievangelist-phrasing: intent: Delete a version of a file translation effect: destructive questions: - Can I remove one old version from a localized default agreement file? - Is there a way to prune a stale version from one translation of the default agreement file? instructions: - text: Delete version {agreementFileVersion} of localization {agreementFileLocalization} in agreement {agreement}'s default file. slots: agreementFileVersion: path.agreementFileVersion-id agreementFileLocalization: path.agreementFileLocalization-id agreement: path.agreement-id - text: Remove current-file version {agreementFileVersion} from translation {agreementFileLocalization} of agreement {agreement}. slots: agreementFileVersion: path.agreementFileVersion-id agreementFileLocalization: path.agreementFileLocalization-id agreement: path.agreement-id method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreements/{agreement-id}/file/localizations/{agreementFileLocalization-id}/versions/{agreementFileVersion-id}'].patch update: x-apievangelist-phrasing: intent: Update a version of a file translation effect: write questions: - How do I update one version under a localized default agreement file? - Can I edit an existing version of a current-file translation? instructions: - text: Update version {agreementFileVersion} of localization {agreementFileLocalization} in agreement {agreement}'s default file. slots: agreementFileVersion: path.agreementFileVersion-id agreementFileLocalization: path.agreementFileLocalization-id agreement: path.agreement-id - text: Edit current-file version {agreementFileVersion} of translation {agreementFileLocalization} for agreement {agreement}. slots: agreementFileVersion: path.agreementFileVersion-id agreementFileLocalization: path.agreementFileLocalization-id agreement: path.agreement-id method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreements/{agreement-id}/file/localizations/{agreementFileLocalization-id}/versions/$count'].get update: x-apievangelist-phrasing: intent: Count versions of a file translation effect: read questions: - How many versions does one localization of an agreement's default file have? - What's the version count for a translation under the current terms file? instructions: - text: Count the versions of localization {agreementFileLocalization} in agreement {agreement}'s default file. slots: agreementFileLocalization: path.agreementFileLocalization-id agreement: path.agreement-id - text: Tell me how many current-file versions translation {agreementFileLocalization} of agreement {agreement} has. slots: agreementFileLocalization: path.agreementFileLocalization-id agreement: path.agreement-id method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreements/{agreement-id}/file/localizations/$count'].get update: x-apievangelist-phrasing: intent: Count translations of an agreement's file effect: read questions: - How many languages is an agreement's default file localized into? - Can I count the localizations under the current terms of use file? instructions: - text: Count the localizations of agreement {agreement}'s default file. slots: agreement: path.agreement-id - text: Tell me how many translations agreement {agreement}'s current file has. slots: agreement: path.agreement-id method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreements/{agreement-id}/files'].get update: x-apievangelist-phrasing: intent: List an agreement's legacy PDF files effect: read questions: - Which PDFs are linked to an agreement through the older, deprecated files collection? - Can I still list the legacy files on a terms of use agreement? instructions: - text: List the legacy PDF files linked to agreement {agreement}. slots: agreement: path.agreement-id - text: Show the deprecated files collection of agreement {agreement}. slots: agreement: path.agreement-id method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreements/{agreement-id}/files'].post update: x-apievangelist-phrasing: intent: Create a localized agreement file effect: write questions: - How do I upload a new localized PDF for a terms of use agreement? - Can I add a file in another language to an agreement's files collection? instructions: - text: Create a new localized agreement file for agreement {agreement}. slots: agreement: path.agreement-id - text: Add a localized PDF with versions {versions} to agreement {agreement}'s files. slots: versions: requestBody.versions agreement: path.agreement-id method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreements/{agreement-id}/files/{agreementFileLocalization-id}'].get update: x-apievangelist-phrasing: intent: Get one legacy PDF file of an agreement effect: read questions: - Can I open a single PDF from an agreement's deprecated files collection by its ID? - What language and display name does one specific legacy agreement PDF carry? instructions: - text: Get legacy PDF file {file} from terms of use agreement {agreement}. slots: file: path.agreementFileLocalization-id agreement: path.agreement-id - text: Show only {fields} of old-style file {file} on agreement {agreement}. slots: fields: query.$select file: path.agreementFileLocalization-id agreement: path.agreement-id method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreements/{agreement-id}/files/{agreementFileLocalization-id}'].delete update: x-apievangelist-phrasing: intent: Delete one legacy PDF file from an agreement effect: destructive questions: - How can I remove a single outdated PDF from an agreement's deprecated files collection? - Is it possible to delete one legacy file only if its ETag still matches? instructions: - text: Delete legacy PDF file {file} from terms of use agreement {agreement}. slots: file: path.agreementFileLocalization-id agreement: path.agreement-id - text: Remove old-style file {file} from agreement {agreement} only if its ETag is {etag}. slots: file: path.agreementFileLocalization-id agreement: path.agreement-id etag: header.If-Match method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreements/{agreement-id}/files/{agreementFileLocalization-id}'].patch update: x-apievangelist-phrasing: intent: Update one legacy PDF file of an agreement effect: write questions: - Can I still modify a single PDF in an agreement's deprecated files collection? - Which properties of one legacy agreement file are editable through the older files endpoint? instructions: - text: Update legacy PDF file {file} on terms of use agreement {agreement}. slots: file: path.agreementFileLocalization-id agreement: path.agreement-id - text: Patch the versions list of old-style file {file} in agreement {agreement} to {versions}. slots: file: path.agreementFileLocalization-id agreement: path.agreement-id versions: requestBody.versions method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreements/{agreement-id}/files/{agreementFileLocalization-id}/versions'].get update: x-apievangelist-phrasing: intent: List versions of a legacy agreement file effect: read questions: - What versions exist for one PDF in an agreement's deprecated files collection? - Can I see the version history of a legacy localized agreement file? instructions: - text: List the versions of legacy file {agreementFileLocalization} on agreement {agreement}. slots: agreementFileLocalization: path.agreementFileLocalization-id agreement: path.agreement-id - text: Show the version history of PDF {agreementFileLocalization} in agreement {agreement}'s files collection. slots: agreementFileLocalization: path.agreementFileLocalization-id agreement: path.agreement-id method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreements/{agreement-id}/files/{agreementFileLocalization-id}/versions'].post update: x-apievangelist-phrasing: intent: Add a version to a legacy agreement file effect: write questions: - How do I add a new version to a PDF in an agreement's deprecated files collection? - Can I create another version of a legacy localized agreement file? instructions: - text: Add a version to legacy file {agreementFileLocalization} on agreement {agreement}. slots: agreementFileLocalization: path.agreementFileLocalization-id agreement: path.agreement-id - text: Create a new version of PDF {agreementFileLocalization} in agreement {agreement}'s files collection. slots: agreementFileLocalization: path.agreementFileLocalization-id agreement: path.agreement-id method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreements/{agreement-id}/files/{agreementFileLocalization-id}/versions/{agreementFileVersion-id}'].get update: x-apievangelist-phrasing: intent: Get a version of a legacy agreement file effect: read questions: - How do I read one specific version of a PDF in the deprecated files collection? - What's stored in a single version of a legacy agreement file? instructions: - text: Get version {agreementFileVersion} of legacy file {agreementFileLocalization} on agreement {agreement}. slots: agreementFileVersion: path.agreementFileVersion-id agreementFileLocalization: path.agreementFileLocalization-id agreement: path.agreement-id - text: Show legacy PDF version {agreementFileVersion} of file {agreementFileLocalization} for agreement {agreement}. slots: agreementFileVersion: path.agreementFileVersion-id agreementFileLocalization: path.agreementFileLocalization-id agreement: path.agreement-id method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreements/{agreement-id}/files/{agreementFileLocalization-id}/versions/{agreementFileVersion-id}'].delete update: x-apievangelist-phrasing: intent: Delete a version of a legacy agreement file effect: destructive questions: - Can I remove one version of a PDF in an agreement's deprecated files collection? - How do I delete an outdated version from a legacy agreement file? instructions: - text: Delete version {agreementFileVersion} of legacy file {agreementFileLocalization} on agreement {agreement}. slots: agreementFileVersion: path.agreementFileVersion-id agreementFileLocalization: path.agreementFileLocalization-id agreement: path.agreement-id - text: Remove legacy PDF version {agreementFileVersion} from file {agreementFileLocalization} of agreement {agreement}. slots: agreementFileVersion: path.agreementFileVersion-id agreementFileLocalization: path.agreementFileLocalization-id agreement: path.agreement-id method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreements/{agreement-id}/files/{agreementFileLocalization-id}/versions/{agreementFileVersion-id}'].patch update: x-apievangelist-phrasing: intent: Update a version of a legacy agreement file effect: write questions: - How do I edit one version of a PDF in an agreement's deprecated files collection? - Can I update an existing version on a legacy localized agreement file? instructions: - text: Update version {agreementFileVersion} of legacy file {agreementFileLocalization} on agreement {agreement}. slots: agreementFileVersion: path.agreementFileVersion-id agreementFileLocalization: path.agreementFileLocalization-id agreement: path.agreement-id - text: Edit legacy PDF version {agreementFileVersion} of file {agreementFileLocalization} for agreement {agreement}. slots: agreementFileVersion: path.agreementFileVersion-id agreementFileLocalization: path.agreementFileLocalization-id agreement: path.agreement-id method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreements/{agreement-id}/files/{agreementFileLocalization-id}/versions/$count'].get update: x-apievangelist-phrasing: intent: Count versions of a legacy agreement file effect: read questions: - How many versions does one PDF in an agreement's deprecated files collection have? - What's the version count for a legacy localized agreement file? instructions: - text: Count the versions of legacy file {agreementFileLocalization} on agreement {agreement}. slots: agreementFileLocalization: path.agreementFileLocalization-id agreement: path.agreement-id - text: Tell me how many versions PDF {agreementFileLocalization} in agreement {agreement}'s files collection has. slots: agreementFileLocalization: path.agreementFileLocalization-id agreement: path.agreement-id method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreements/{agreement-id}/files/$count'].get update: x-apievangelist-phrasing: intent: Count an agreement's legacy PDF files effect: read questions: - How many PDFs are in an agreement's deprecated files collection? - Can I count the legacy localized files attached to a terms of use agreement? instructions: - text: Count the legacy files on agreement {agreement}. slots: agreement: path.agreement-id - text: Tell me how many PDFs agreement {agreement}'s files collection holds. slots: agreement: path.agreement-id method: generated generated: '2026-10-01' - target: $.paths['/identityGovernance/termsOfUse/agreements/$count'].get update: x-apievangelist-phrasing: intent: Count terms of use agreements effect: read questions: - How many terms of use agreements does our tenant have? - What's the number of agreements whose name matches a search? instructions: - text: Count all terms of use agreements. - text: Count terms of use agreements matching {filter}. slots: filter: query.$filter method: generated generated: '2026-10-01'