Synadia Communications · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Synadia Control Plane / Synadia Cloud Nats User API

14 actions 14 updates phrasing extends openapi/synadia-communications-nats-user-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Synadia Communications's API. It is a proposal applied on top of the contract, not a document Synadia Communications publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 14

$.info
$.paths['/core/beta/nats-users/{userId}'].get
$.paths['/core/beta/nats-users/{userId}'].delete
$.paths['/core/beta/nats-users/{userId}'].patch
$.paths['/core/beta/nats-users/{userId}/app-users'].get
$.paths['/core/beta/nats-users/{userId}/app-users/{teamAppUserId}'].post
$.paths['/core/beta/nats-users/{userId}/app-users/{teamAppUserId}'].delete
$.paths['/core/beta/nats-users/{userId}/bearer-jwt'].post
$.paths['/core/beta/nats-users/{userId}/connections'].get
$.paths['/core/beta/nats-users/{userId}/copy'].post
$.paths['/core/beta/nats-users/{userId}/creds'].post
$.paths['/core/beta/nats-users/{userId}/http-gw-token'].post
$.paths['/core/beta/nats-users/{userId}/issuances'].get
$.paths['/core/beta/nats-users/{userId}/rotate'].post

OpenAPI Overlay

Raw ↑
# 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'