# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Testflinger Oauth2 API version: 1.0.0 extends: openapi/canonical-oauth2-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: 3 - target: $.paths['/v1/oauth2/token'].post update: x-apievangelist-phrasing: intent: Issue access and refresh tokens effect: write questions: - How does a client get a JWT carrying its queue and priority permissions? - Can I obtain an access token and a refresh token in one call? instructions: - text: Issue an access token and refresh token for my client. - text: Get a new JWT with my client's permissions. method: generated generated: '2026-10-01' - target: $.paths['/v1/oauth2/revoke'].post update: x-apievangelist-phrasing: intent: Revoke a refresh token effect: destructive questions: - How can an admin revoke a client's refresh token? - Who is allowed to revoke refresh tokens? instructions: - text: Revoke refresh token {refresh_token}. slots: refresh_token: requestBody.refresh_token - text: Invalidate the refresh token {refresh_token} as an admin. slots: refresh_token: requestBody.refresh_token method: generated generated: '2026-10-01' - target: $.paths['/v1/oauth2/refresh'].post update: x-apievangelist-phrasing: intent: Refresh an access token effect: write questions: - My access token expired; can I get a new one without logging in again? - What do I need to send to renew an access token? instructions: - text: Refresh my access token using {refresh_token}. slots: refresh_token: requestBody.refresh_token - text: Exchange refresh token {refresh_token} for a fresh access token. slots: refresh_token: requestBody.refresh_token method: generated generated: '2026-10-01'