# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Synadia Control Plane / Synadia Cloud Nats User API version: 1.0.0 extends: openapi/synadia-communications-nats-user-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: 13 - target: $.paths['/core/beta/nats-users/{userId}'].get update: x-apievangelist-phrasing: intent: Look up a NATS user effect: read questions: - How do I fetch the details of one NATS user by ID? - Which signing key group and JWT settings does a given NATS user have? instructions: - text: Show NATS user {user}. slots: user: path.userId - text: Get the details of NATS user {user}. slots: user: path.userId method: generated generated: '2026-10-01' - target: $.paths['/core/beta/nats-users/{userId}'].delete update: x-apievangelist-phrasing: intent: Delete a NATS user effect: destructive questions: - Can I delete a NATS user from its account? - How do I get rid of a NATS user nobody uses anymore? instructions: - text: Delete NATS user {user}. slots: user: path.userId - text: Remove NATS user {user} from its account. slots: user: path.userId method: generated generated: '2026-10-01' - target: $.paths['/core/beta/nats-users/{userId}'].patch update: x-apievangelist-phrasing: intent: Update a NATS user effect: write questions: - How do I rename an existing NATS user? - Can I change how long an existing NATS user's JWT lasts? instructions: - text: Rename NATS user {user} to {name}. slots: user: path.userId name: requestBody.name - text: Set NATS user {user}'s JWT to expire after {seconds} seconds. slots: user: path.userId seconds: requestBody.jwt_expires_in_secs method: generated generated: '2026-10-01' - target: $.paths['/core/beta/nats-users/{userId}/app-users'].get update: x-apievangelist-phrasing: intent: List app users with access to a NATS user effect: read questions: - Which teammates have been granted access to a specific NATS user? - Who can manage a given NATS user's credentials, and with what role? instructions: - text: List the app users assigned to NATS user {user}. slots: user: path.userId - text: Show who has access to NATS user {user}. slots: user: path.userId method: generated generated: '2026-10-01' - target: $.paths['/core/beta/nats-users/{userId}/app-users/{teamAppUserId}'].post update: x-apievangelist-phrasing: intent: Grant a team member a role on a NATS user effect: write questions: - How do I give a teammate access to one NATS user with a role? - Can I change the role of an app user already assigned to a NATS user? instructions: - text: Assign app user {app_user} to NATS user {user} with role {role}. slots: user: path.userId app_user: path.teamAppUserId role: requestBody.role_id - text: Change app user {app_user}'s role on NATS user {user} to {role}. slots: user: path.userId app_user: path.teamAppUserId role: requestBody.role_id method: generated generated: '2026-10-01' - target: $.paths['/core/beta/nats-users/{userId}/app-users/{teamAppUserId}'].delete update: x-apievangelist-phrasing: intent: Remove a team member from a NATS user effect: destructive questions: - How do I revoke a teammate's access to a particular NATS user? - Can I unassign an app user from just one NATS user? instructions: - text: Unassign app user {app_user} from NATS user {user}. slots: user: path.userId app_user: path.teamAppUserId - text: Take away app user {app_user}'s access to NATS user {user}. slots: user: path.userId app_user: path.teamAppUserId method: generated generated: '2026-10-01' - target: $.paths['/core/beta/nats-users/{userId}/bearer-jwt'].post update: x-apievangelist-phrasing: intent: Get a bearer JWT for a NATS user effect: write questions: - How can I get a bearer token for a NATS user to connect with? - Is there a way to issue a bearer JWT instead of a creds file? instructions: - text: Issue a bearer JWT for NATS user {user}. slots: user: path.userId - text: Give me a bearer token for NATS user {user}. slots: user: path.userId method: generated generated: '2026-10-01' - target: $.paths['/core/beta/nats-users/{userId}/connections'].get update: x-apievangelist-phrasing: intent: List a NATS user's live connections effect: read questions: - Which clients are currently connected as a given NATS user? - Can I filter a NATS user's connections by state or subject and cap the count? instructions: - text: List connections for NATS user {user}. slots: user: path.userId - text: Show NATS user {user}'s connections in state {state}, limited to {limit}. slots: user: path.userId state: query.state limit: query.limit - text: Find NATS user {user}'s connections subscribed to {subject}. slots: user: path.userId subject: query.subject method: generated generated: '2026-10-01' - target: $.paths['/core/beta/nats-users/{userId}/copy'].post update: x-apievangelist-phrasing: intent: Copy a NATS user with a new name effect: write questions: - Can I clone a NATS user into another signing key group? - Does copying a NATS user give the copy its own NKey? instructions: - text: Copy NATS user {user} as {name} under signing key group {sk_group}. slots: user: path.userId name: requestBody.name sk_group: requestBody.sk_group_id - text: Duplicate NATS user {user} into group {sk_group} named {name}. slots: user: path.userId name: requestBody.name sk_group: requestBody.sk_group_id method: generated generated: '2026-10-01' - target: $.paths['/core/beta/nats-users/{userId}/creds'].post update: x-apievangelist-phrasing: intent: Download a creds file for a NATS user effect: write questions: - How do I download the .creds file a NATS client needs to connect? - Where can I get credentials for a NATS user to use with the CLI? instructions: - text: Download the creds file for NATS user {user}. slots: user: path.userId - text: Generate credentials for NATS user {user}. slots: user: path.userId method: generated generated: '2026-10-01' - target: $.paths['/core/beta/nats-users/{userId}/http-gw-token'].post update: x-apievangelist-phrasing: intent: Get an HTTP Gateway token for a NATS user effect: write questions: - How do I get a token to call the NATS HTTP Gateway as a user? - Can a NATS user be issued an HTTP Gateway token? instructions: - text: Issue an HTTP Gateway token for NATS user {user}. slots: user: path.userId - text: Get NATS user {user} a token for the HTTP Gateway. slots: user: path.userId method: generated generated: '2026-10-01' - target: $.paths['/core/beta/nats-users/{userId}/issuances'].get update: x-apievangelist-phrasing: intent: List a NATS user's credential issuances effect: read questions: - What is the history of credentials issued to a NATS user? - Can I audit when creds were generated for a user? instructions: - text: List the credential issuances for NATS user {user}. slots: user: path.userId - text: Show the issuance history of NATS user {user}. slots: user: path.userId method: generated generated: '2026-10-01' - target: $.paths['/core/beta/nats-users/{userId}/rotate'].post update: x-apievangelist-phrasing: intent: Rotate a NATS user's NKey and seed effect: destructive questions: - How do I rotate a NATS user's keys if their seed may have leaked? - Does rotating a user give it a brand new NKey? instructions: - text: Rotate the NKey and seed for NATS user {user}. slots: user: path.userId - text: Generate a new NKey for NATS user {user}. slots: user: path.userId method: generated generated: '2026-10-01'