# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Microsoft Azure Managed CCF Governance Gov API version: 1.0.0 extends: openapi/microsoft-azure-gov-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-09-26' generator: build-phrasing.py label: Generated by API Evangelist operations: 23 - target: $.paths['/gov/members/proposals'].get update: x-apievangelist-phrasing: intent: List open governance proposals effect: read questions: - Which governance proposals are still open on my confidential ledger service? - Does the proposals list include ones that were already accepted or withdrawn? instructions: - text: Show me every open governance proposal on the service. - text: List pending proposed changes using governance API version {api_version}. slots: api_version: query.api-version method: generated generated: '2026-09-26' - target: $.paths['/gov/members/proposals/{proposalId}:withdraw'].post update: x-apievangelist-phrasing: intent: Withdraw a governance proposal effect: destructive questions: - Can I pull back a governance proposal I submitted before it's decided? - Who is allowed to withdraw a proposal from the consortium? instructions: - text: Withdraw proposal {proposalId} using signed request {signature}. slots: proposalId: path.proposalId signature: body.body - text: Retract my governance proposal {proposalId}. slots: proposalId: path.proposalId method: generated generated: '2026-09-26' - target: $.paths['/gov/members/proposals/{proposalId}'].get update: x-apievangelist-phrasing: intent: Get a governance proposal's summary effect: read questions: - What state is a particular governance proposal in right now? - How can I see the summary of one proposed change by its ID? instructions: - text: Get the summary of governance proposal {proposalId}. slots: proposalId: path.proposalId - text: Check whether proposal {proposalId} has been accepted yet. slots: proposalId: path.proposalId method: generated generated: '2026-09-26' - target: $.paths['/gov/members/proposals/{proposalId}/actions'].get update: x-apievangelist-phrasing: intent: List the actions inside a proposal effect: read questions: - What exact actions would a governance proposal apply if it passes? - Can I inspect the individual actions bundled into a proposal before voting? instructions: - text: Show the actions contained in proposal {proposalId}. slots: proposalId: path.proposalId - text: List what changes proposal {proposalId} would make to the service. slots: proposalId: path.proposalId method: generated generated: '2026-09-26' - target: $.paths['/gov/members/proposals/{proposalId}/ballots/{memberId}:submit'].post update: x-apievangelist-phrasing: intent: Cast a ballot on a proposal effect: write questions: - How does a consortium member vote on a governance proposal? - Can a ballot contain conditions on the proposal contents instead of a plain yes? instructions: - text: Submit member {memberId}'s ballot on proposal {proposalId}. slots: memberId: path.memberId proposalId: path.proposalId - text: Vote on proposal {proposalId} as member {memberId} with signed ballot {ballot}. slots: proposalId: path.proposalId memberId: path.memberId ballot: body.body method: generated generated: '2026-09-26' - target: $.paths['/gov/members/proposals/{proposalId}/ballots/{memberId}'].get update: x-apievangelist-phrasing: intent: Get a member's submitted ballot effect: read questions: - How can I see how a specific member voted on a proposal? - Is there a way to read back the ballot a member already submitted? instructions: - text: Show the ballot member {memberId} cast on proposal {proposalId}. slots: memberId: path.memberId proposalId: path.proposalId - text: Fetch member {memberId}'s vote for proposal {proposalId}. slots: memberId: path.memberId proposalId: path.proposalId method: generated generated: '2026-09-26' - target: $.paths['/gov/members/proposals:create'].post update: x-apievangelist-phrasing: intent: Submit a new governance proposal effect: write questions: - How do I propose a change to my Managed CCF service's governance? - What happens if I submit the same signed proposal twice? instructions: - text: Submit new governance proposal {signed_proposal}. slots: signed_proposal: body.body - text: Create a proposal to change the service from COSE-signed request {signed_proposal}. slots: signed_proposal: body.body method: generated generated: '2026-09-26' - target: $.paths['/gov/members/state-digests/{memberId}:update'].post update: x-apievangelist-phrasing: intent: Refresh a member's state digest effect: write questions: - Can I get a fresher state digest for my member before signing it? - Who is allowed to update a member's stateDigest? instructions: - text: Refresh the state digest for member {memberId}. slots: memberId: path.memberId - text: Update member {memberId}'s stateDigest to a newer value with signed request {signature}. slots: memberId: path.memberId signature: body.body method: generated generated: '2026-09-26' - target: $.paths['/gov/members/state-digests/{memberId}:ack'].post update: x-apievangelist-phrasing: intent: Acknowledge a state digest to activate effect: write questions: - How does a new consortium member become active on the service? - What do I sign to acknowledge the current service state as a member? instructions: - text: Acknowledge the state digest for member {memberId} to make them active. slots: memberId: path.memberId - text: Send member {memberId}'s signed acknowledgement {ack}. slots: memberId: path.memberId ack: body.body method: generated generated: '2026-09-26' - target: $.paths['/gov/members/state-digests/{memberId}'].get update: x-apievangelist-phrasing: intent: Get a member's state digest effect: read questions: - Where do I find the state digest a member has to sign to become active? - What digest value is currently assigned to a given member? instructions: - text: Get the state digest assigned to member {memberId}. slots: memberId: path.memberId - text: Show which stateDigest member {memberId} must sign. slots: memberId: path.memberId method: generated generated: '2026-09-26' - target: $.paths['/gov/recovery/encrypted-shares/{memberId}'].get update: x-apievangelist-phrasing: intent: Get a member's encrypted recovery share effect: read questions: - How does a member retrieve their recovery share for disaster recovery? - Is my recovery share returned in plain text or encrypted? instructions: - text: Retrieve the encrypted recovery share for member {memberId}. slots: memberId: path.memberId - text: Download member {memberId}'s recovery share. slots: memberId: path.memberId method: generated generated: '2026-09-26' - target: $.paths['/gov/recovery/members/{memberId}:recover'].post update: x-apievangelist-phrasing: intent: Submit a recovery share effect: write questions: - How do members help complete a recovery of the ledger service? - Can I provide my decrypted recovery share to finish a service recovery? instructions: - text: Submit member {memberId}'s recovery share to complete the service recovery. slots: memberId: path.memberId - text: Provide recovery share {share} on behalf of member {memberId}. slots: share: body.body memberId: path.memberId method: generated generated: '2026-09-26' - target: $.paths['/gov/service/constitution'].get update: x-apievangelist-phrasing: intent: Get the service constitution effect: read questions: - What constitution governs how changes are approved on this service? - Can I read the rules that decide whether a proposal passes? instructions: - text: Show the service's governance constitution. - text: Fetch the constitution script controlling governance changes, API version {api_version}. slots: api_version: query.api-version method: generated generated: '2026-09-26' - target: $.paths['/gov/service/info'].get update: x-apievangelist-phrasing: intent: Get general service information effect: read questions: - Is this a recovered service or the original one? - What general details can I get about my confidential consortium service? instructions: - text: Get general information about the service. - text: Tell me whether the service is a recovery or original deployment, using API version {api_version}. slots: api_version: query.api-version method: generated generated: '2026-09-26' - target: $.paths['/gov/service/javascript-app'].get update: x-apievangelist-phrasing: intent: Get the JavaScript app details effect: read questions: - Which JavaScript application is deployed on the ledger service? - What execution engine is running the service's JavaScript app? instructions: - text: Show the deployed JavaScript application and its execution engine. - text: Retrieve details of the service's JS app with API version {api_version}. slots: api_version: query.api-version method: generated generated: '2026-09-26' - target: $.paths['/gov/service/join-policy'].get update: x-apievangelist-phrasing: intent: Get the node join policy effect: read questions: - Which hardware attestations does the service accept from joining nodes? - What policy decides whether a new node may join the network? instructions: - text: Get the join policy for new nodes. - text: Show the approved code measurements a joining node must attest to, API version {api_version}. slots: api_version: query.api-version method: generated generated: '2026-09-26' - target: $.paths['/gov/service/jwk'].get update: x-apievangelist-phrasing: intent: Get OpenID Connect provider info effect: read questions: - Which OpenID Connect identity providers are configured on the service? - Can I see the JWT signing key issuers the service trusts? instructions: - text: List the OpenID Connect identity providers the service knows about. - text: Show the JWK issuer information configured on the service using API version {api_version}. slots: api_version: query.api-version method: generated generated: '2026-09-26' - target: $.paths['/gov/service/members'].get update: x-apievangelist-phrasing: intent: List governing members effect: read questions: - Who are all the members governing this confidential ledger? - How many consortium members does my service have? instructions: - text: List every governing member of the service. - text: Show all consortium members via governance API version {api_version}. slots: api_version: query.api-version method: generated generated: '2026-09-26' - target: $.paths['/gov/service/members/{memberId}'].get update: x-apievangelist-phrasing: intent: Get a governing member effect: read questions: - How can I look up one consortium member's details by ID? - What status and certificate does a given governing member have? instructions: - text: Get governing member {memberId}. slots: memberId: path.memberId - text: Show the details of consortium member {memberId}. slots: memberId: path.memberId method: generated generated: '2026-09-26' - target: $.paths['/gov/service/nodes'].get update: x-apievangelist-phrasing: intent: List service nodes effect: read questions: - Which nodes are participating in my ledger service? - How many nodes currently make up the network? instructions: - text: List all nodes participating in the service. - text: Show every node in the network using API version {api_version}. slots: api_version: query.api-version method: generated generated: '2026-09-26' - target: $.paths['/gov/service/nodes/{nodeId}'].get update: x-apievangelist-phrasing: intent: Get a single node effect: read questions: - How do I check the details of one node in the service? - Can I look up a node by its ID to see its status? instructions: - text: Get node {nodeId}. slots: nodeId: path.nodeId - text: Show details for node {nodeId} in the network. slots: nodeId: path.nodeId method: generated generated: '2026-09-26' - target: $.paths['/gov/service/transactions/{transactionId}'].get update: x-apievangelist-phrasing: intent: Check a transaction's commit status effect: read questions: - Has my governance transaction been committed yet? - How do I find out the status of a transaction by its ID? instructions: - text: Check whether transaction {transactionId} has committed. slots: transactionId: path.transactionId - text: Get the status of transaction {transactionId}. slots: transactionId: path.transactionId method: generated generated: '2026-09-26' - target: $.paths['/gov/service/transactions/commit'].get update: x-apievangelist-phrasing: intent: Get the latest committed transaction effect: read questions: - What is the most recent committed transaction on the service? - Can I see the current commit point of the ledger? instructions: - text: Get the latest committed transaction ID. - text: Show the service's current commit point with API version {api_version}. slots: api_version: query.api-version method: generated generated: '2026-09-26'