Synadia Communications Nats User API

The nats-user API from Synadia Communications — 10 operation(s) for nats-user.

Operations 13

DELETE /core/beta/nats-users/{userId} Delete NATS User #
GET /core/beta/nats-users/{userId} Get NATS User #
PATCH /core/beta/nats-users/{userId} Update NATS User #
GET /core/beta/nats-users/{userId}/app-users List Team App Users #
DELETE /core/beta/nats-users/{userId}/app-users/{teamAppUserId} Unassign Team App User from NATS User #
POST /core/beta/nats-users/{userId}/app-users/{teamAppUserId} Assign Team App User to NATS User #
POST /core/beta/nats-users/{userId}/bearer-jwt Get Bearer JWT #
GET /core/beta/nats-users/{userId}/connections List NATs User Connections #
POST /core/beta/nats-users/{userId}/copy Copy nats user #
POST /core/beta/nats-users/{userId}/creds Get Creds #
POST /core/beta/nats-users/{userId}/http-gw-token Get HTTP Gateway Token #
GET /core/beta/nats-users/{userId}/issuances List nats user issuances #
POST /core/beta/nats-users/{userId}/rotate Rotate nats user nkey and seed #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/synadia-communications-nats-user-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

synadia-communications-nats-user-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: API for Synadia Control Plane / Synadia Cloud
  title: Synadia Control Plane / Synadia Cloud Nats User API
  version: beta
servers:
- description: Path to Synadia Control Plane Server Api
  url: '{baseUrl}/api'
  variables:
    baseUrl:
      default: ''
security:
- bearerAuth: []
  sessionAuth: []
tags:
- name: nats-user
paths:
  /core/beta/nats-users/{userId}:
    delete:
      description: Deletes a NATS user from an account
      operationId: deleteNatsUser
      parameters:
      - explode: false
        in: path
        name: userId
        required: true
        schema:
          type: string
        style: simple
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      summary: Delete NATS User
      tags:
      - nats-user
      x-doc-tags:
      - NATS Users
    get:
      description: Returns a NATS user assigned to the account
      operationId: getNatsUser
      parameters:
      - explode: false
        in: path
        name: userId
        required: true
        schema:
          type: string
        style: simple
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NatsUserViewResponse'
          description: Success
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      summary: Get NATS User
      tags:
      - nats-user
      x-doc-tags:
      - NATS Users
    patch:
      description: Updates NATS User in an account
      operationId: updateNatsUser
      parameters:
      - explode: false
        in: path
        name: userId
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NatsUserUpdateRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NatsUserViewResponse'
          description: Success
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      summary: Update NATS User
      tags:
      - nats-user
      x-doc-tags:
      - NATS Users
  /core/beta/nats-users/{userId}/app-users:
    get:
      description: Returns a list of Team App Users associated with the NATS user
      operationId: listNatsUserTeamAppUsers
      parameters:
      - explode: false
        in: path
        name: userId
        required: true
        schema:
          type: string
        style: simple
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppUserAssignListResponse'
          description: Success
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      summary: List Team App Users
      tags:
      - nats-user
      x-doc-tags:
      - NATS Users
  /core/beta/nats-users/{userId}/app-users/{teamAppUserId}:
    delete:
      description: Unassign a Team App User from a NATS User
      operationId: unAssignNatsUserTeamAppUser
      parameters:
      - explode: false
        in: path
        name: userId
        required: true
        schema:
          type: string
        style: simple
      - explode: false
        in: path
        name: teamAppUserId
        required: true
        schema:
          type: string
        style: simple
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      summary: Unassign Team App User from NATS User
      tags:
      - nats-user
      x-doc-tags:
      - NATS Users
    post:
      description: Assign a Team App User to a NATS User. This operation is idempotent; if an App User is already assigned to a NATS User the assignment will be updated with the new role
      operationId: assignNatsUserTeamAppUser
      parameters:
      - explode: false
        in: path
        name: userId
        required: true
        schema:
          type: string
        style: simple
      - explode: false
        in: path
        name: teamAppUserId
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AppUserAssignRequest'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppUserAssignResponse'
          description: Success
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      summary: Assign Team App User to NATS User
      tags:
      - nats-user
      x-doc-tags:
      - NATS Users
  /core/beta/nats-users/{userId}/bearer-jwt:
    post:
      description: Returns a bearer token a NATS user assigned to the account
      operationId: downloadNatsUserBearerJwt
      parameters:
      - explode: false
        in: path
        name: userId
        required: true
        schema:
          type: string
        style: simple
      responses:
        '200':
          content:
            text/plain:
              schema:
                type: string
          description: Success
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      summary: Get Bearer JWT
      tags:
      - nats-user
      x-doc-tags:
      - NATS Users
  /core/beta/nats-users/{userId}/connections:
    get:
      operationId: listNatsUserConnections
      parameters:
      - explode: false
        in: path
        name: userId
        required: true
        schema:
          type: string
        style: simple
      - explode: true
        in: query
        name: sort
        required: false
        schema:
          type: string
        style: form
      - explode: true
        in: query
        name: cid
        required: false
        schema:
          type: string
        style: form
      - explode: true
        in: query
        name: state
        required: false
        schema:
          type: string
        style: form
      - explode: true
        in: query
        name: subject
        required: false
        schema:
          type: string
        style: form
      - explode: true
        in: query
        name: limit
        required: false
        schema:
          type: number
        style: form
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NatsUserConnectionsListResponse'
          description: Success
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      summary: List NATs User Connections
      tags:
      - nats-user
      x-doc-tags:
      - NATS Users
  /core/beta/nats-users/{userId}/copy:
    post:
      description: Copies the user, changing name and account SK group. Generates new user NKey
      operationId: copyNatsUser
      parameters:
      - explode: false
        in: path
        name: userId
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NatsUserCopyRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NatsUserViewResponse'
          description: Success
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      summary: Copy nats user
      tags:
      - nats-user
      x-doc-tags:
      - NATS Users
  /core/beta/nats-users/{userId}/creds:
    post:
      description: Returns a creds file for a NATS user assigned to the account
      operationId: downloadNatsUserCreds
      parameters:
      - explode: false
        in: path
        name: userId
        required: true
        schema:
          type: string
        style: simple
      responses:
        '200':
          content:
            text/plain:
              schema:
                type: string
          description: Success
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      summary: Get Creds
      tags:
      - nats-user
      x-doc-tags:
      - NATS Users
  /core/beta/nats-users/{userId}/http-gw-token:
    post:
      description: Returns a NATS HTTP Gateway token
      operationId: downloadNatsUserHttpGwToken
      parameters:
      - explode: false
        in: path
        name: userId
        required: true
        schema:
          type: string
        style: simple
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NatsUserHTTPGWTokenCreateReply'
          description: Success
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      summary: Get HTTP Gateway Token
      tags:
      - nats-user
      x-doc-tags:
      - NATS Users
  /core/beta/nats-users/{userId}/issuances:
    get:
      description: Lists the history of user credential issuances for the user
      operationId: listNatsUserIssuances
      parameters:
      - explode: false
        in: path
        name: userId
        required: true
        schema:
          type: string
        style: simple
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NatsUserIssuancesListResponse'
          description: Success
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      summary: List nats user issuances
      tags:
      - nats-user
      x-doc-tags:
      - NATS Users
  /core/beta/nats-users/{userId}/rotate:
    post:
      description: Generates new user nkey
      operationId: rotateNatsUser
      parameters:
      - explode: false
        in: path
        name: userId
        required: true
        schema:
          type: string
        style: simple
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NatsUserViewResponse'
          description: Success
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      summary: Rotate nats user nkey and seed
      tags:
      - nats-user
      x-doc-tags:
      - NATS Users
components:
  schemas:
    NatsUserInfo:
      example:
        user_public_key: user_public_key
        name: name
        id: id
      properties:
        id:
          type: string
        name:
          type: string
        user_public_key:
          type: string
      required:
      - id
      - name
      - user_public_key
      type: object
    NatsUserUpdateRequest:
      example:
        jwt_settings:
          sub: null
          bearer_token: true
          times:
          - start: start
            end: end
          - start: start
            end: end
          times_location: times_location
          data: 2147483647
          payload: 2147483647
          resp: null
          src:
          - src
          - src
          subs: 2147483647
          allowed_connection_types:
          - allowed_connection_types
          - allowed_connection_types
          pub: null
          tags:
          - tags
          - tags
        name: name
        jwt_expires_in_secs: 0
      properties:
        jwt_expires_in_secs:
          format: int64
          type: integer
        jwt_settings:
          $ref: '#/components/schemas/NatsUserJwtSettingsPatch'
        name:
          type: string
      type: object
    UserClaims:
      allOf:
      - $ref: '#/components/schemas/ClaimsData'
      description: UserClaims defines a user JWT
      example:
        nats:
          issuer_account: issuer_account
      properties:
        nats:
          $ref: '#/components/schemas/User'
      type: object
    TimeRange:
      description: TimeRange is used to represent a start and end time
      properties:
        end:
          type: string
        start:
          type: string
      type: object
    ConnInfo_tls_peer_certs_inner:
      allOf:
      - $ref: '#/components/schemas/TLSPeerCert'
      type:
      - object
      - 'null'
    NatsUserHTTPGWTokenCreateReply:
      example:
        token: token
      properties:
        token:
          type: string
      required:
      - token
      type: object
    NatsLimits:
      properties:
        data:
          format: int64
          type: integer
        payload:
          format: int64
          type: integer
        subs:
          format: int64
          type: integer
      type: object
    NatsUserJwtSettingsPatch_pub:
      allOf:
      - $ref: '#/components/schemas/PermissionPatch'
      type:
      - object
      - 'null'
    NatsUserJwtSettings:
      allOf:
      - $ref: '#/components/schemas/Permissions'
      - $ref: '#/components/schemas/UserLimits'
      description: 'Set correct allowed values

        extention of jwt.#UserPermissionsLimits'
      example:
        bearer_token: true
        data: 2147483647
        payload: 2147483647
        subs: 2147483647
        allowed_connection_types:
        - allowed_connection_types
        - allowed_connection_types
        tags:
        - tags
        - tags
      properties:
        allowed_connection_types:
          items:
            type: string
          type: array
        bearer_token:
          type: boolean
        data:
          maximum: 9223372036854775807
          minimum: -1
          type: integer
        payload:
          maximum: 9223372036854775807
          minimum: -1
          type: integer
        subs:
          maximum: 9223372036854775807
          minimum: -1
          type: integer
        tags:
          items:
            type: string
          type: array
      type: object
    ClaimsData:
      description: ClaimsData is the base struct for all claims
      properties:
        aud:
          type: string
        exp:
          format: int64
          type: integer
        iat:
          format: int64
          type: integer
        iss:
          type: string
        jti:
          type: string
        name:
          type: string
        nbf:
          format: int64
          type: integer
        sub:
          type: string
      type: object
    AppUserAssignListResponse:
      example:
        items:
        - role_name: role_name
          nats_user:
            user_public_key: user_public_key
            name: name
            id: id
          system:
            jetstream_enabled: true
            http_gateway_url: http_gateway_url
            is_tenant: true
            connection_type: null
            managed_by: null
            config_mode: true
            server_urls: server_urls
            user_jwt_expires_in_secs: 7
            jetstream_tiers:
            - jetstream_tiers
            - jetstream_tiers
            name: name
            id: id
            state: null
            jetstream_domain: jetstream_domain
          app_user:
            identifier: identifier
            name: name
            id: id
            type: null
          role_id: role_id
          created: 2000-01-23 04:56:07+00:00
          scope: null
          team_app_user:
            role_name: role_name
            role_id: role_id
            pending_invitation: true
            id: id
          resource_id: resource_id
          team:
            name: name
            id: id
          account:
            user_jwt: user_jwt
            auth_type: null
            user_cred: user_cred
            account_public_key: account_public_key
            name: name
            user_jwt_expires_in_secs: 0
            id: id
            is_platform_account: true
            is_scp_account: true
            is_system_account: true
        - role_name: role_name
          nats_user:
            user_public_key: user_public_key
            name: name
            id: id
          system:
            jetstream_enabled: true
            http_gateway_url: http_gateway_url
            is_tenant: true
            connection_type: null
            managed_by: null
            config_mode: true
            server_urls: server_urls
            user_jwt_expires_in_secs: 7
            jetstream_tiers:
            - jetstream_tiers
            - jetstream_tiers
            name: name
            id: id
            state: null
            jetstream_domain: jetstream_domain
          app_user:
            identifier: identifier
            name: name
            id: id
            type: null
          role_id: role_id
          created: 2000-01-23 04:56:07+00:00
          scope: null
          team_app_user:
            role_name: role_name
            role_id: role_id
            pending_invitation: true
            id: id
          resource_id: resource_id
          team:
            name: name
            id: id
          account:
            user_jwt: user_jwt
            auth_type: null
            user_cred: user_cred
            account_public_key: account_public_key
            name: name
            user_jwt_expires_in_secs: 0
            id: id
            is_platform_account: true
            is_scp_account: true
            is_system_account: true
      properties:
        items:
          items:
            $ref: '#/components/schemas/AppUserAssignResponse'
          type: array
      required:
      - items
      type: object
    Permission:
      description: Permission defines allow/deny subjects
      example:
        allow:
        - allow
        - allow
        deny:
        - deny
        - deny
      properties:
        allow:
          items:
            type: string
          type: array
        deny:
          items:
            type: string
          type: array
      type: object
    ResponsePermission:
      description: 'ResponsePermission can be used to allow responses to any reply subject

        that is received on a valid subscription.'
      example:
        max: 0
        ttl: 6
      properties:
        max:
          type: integer
        ttl:
          format: int64
          type: integer
      required:
      - max
      - ttl
      type: object
    User:
      allOf:
      - $ref: '#/components/schemas/GenericFields'
      - $ref: '#/components/schemas/UserPermissionLimits'
      description: User defines the user specific data in a user JWT
      example:
        issuer_account: issuer_account
      properties:
        issuer_account:
          description: 'IssuerAccount stores the public key for the account the issuer represents.

            When set, the claim was issued by a signing key.'
          type: string
      type: object
    UserLimits:
      description: Src is a comma separated list of CIDR specifications
      properties:
        src:
          items:
            type: string
          type: array
        times:
          items:
            $ref: '#/components/schemas/TimeRange'
          type: array
        times_location:
          type: string
      type: object
    SystemInfo:
      example:
        jetstream_enabled: true
        http_gateway_url: http_gateway_url
        is_tenant: true
        connection_type: null
        managed_by: null
        config_mode: true
        server_urls: server_urls
        user_jwt_expires_in_secs: 7
        jetstream_tiers:
        - jetstream_tiers
        - jetstream_tiers
        name: name
        id: id
        state: null
        jetstream_domain: jetstream_domain
      properties:
        config_mode:
          type: boolean
        connection_type:
          $ref: '#/components/schemas/SystemConnectionType'
        http_gateway_url:
          type: string
        id:
          type: string
        is_tenant:
          type: boolean
        jetstream_domain:
          type: string
        jetstream_enabled:
          type: boolean
        jetstream_tiers:
          items:
            type: string
          type: array
        managed_by:
          $ref: '#/components/schemas/SystemManagedBy'
        name:
          type: string
        server_urls:
          type: string
        state:
          $ref: '#/components/schemas/SystemState'
        user_jwt_expires_in_secs:
          format: int64
          type: integer
      required:
      - config_mode
      - connection_type
      - id
      - is_tenant
      - jetstream_enabled
      - name
      - state
      - user_jwt_expires_in_secs
      type: object
    SystemState:
      enum:
      - Provisioning
      - Connected
      - Disconnected
      type: string
    NatsUserCopyRequest:
      example:
        sk_group_id: sk_group_id
        name: name
      properties:
        name:
          type: string
        sk_group_id:
          type: string
      required:
      - name
      - sk_group_id
      type: object
    SubDetail:
      description: SubDetail is for verbose information for subscriptions.
      properties:
        account:
          type: string
        cid:
          maximum: 18446744073709551615
          minimum: 0
          type: integer
        max:
          format: int64
          type: integer
        msgs:
          format: int64
          type: integer
        qgroup:
          type: string
        sid:
          type: string
        subject:
          type: string
      required:
      - cid
      - msgs
      - sid
      - subject
      type: object
    AppUserAssignRequest:
      example:
        role_id: role_id
      properties:
        role_id:
          type: string
      required:
      - role_id
      type: object
    NatsUserIssuancesListResponse:
      example:
        items:
        - exp_max: 6
          sub: sub
          iat_max: 1
          events_count: 0
          created: 2000-01-23 04:56:07+00:00
          iss: iss
          name: name
          id: id
          iat_min: 5
          status: null
        - exp_max: 6
          sub: sub
          iat_max: 1
          events_count: 0
          created: 2000-01-23 04:56:07+00:00
          iss: iss
          name: name
          id: id
          iat_min: 5
          status: null
      properties:
        items:
          items:
            $ref: '#/components/schemas/NatsUserIssuanceInfo'
          type: array
      required:
      - items
      type: object
    AppUserAssignResponse:
      example:
        role_name: role_name
        nats_user:
          user_public_key: user_public_key
          name: name
          id: id
        system:
          jetstream_enabled: true
          http_gateway_url: http_gateway_url
          is_tenant: true
          connection_type: null
          managed_by: null
          config_mode: true
          server_urls: server_urls
          user_jwt_expires_in_secs: 7
          jetstream_tiers:
          - jetstream_tiers
          - jetstream_tiers
          name: name
          id: id
          state: null
          jetstream_domain: jetstream_domain
        app_user:
          identifier: identifier
          name: name
          id: id
          type: null
        role_id: role_id
        created: 2000-01-23 04:56:07+00:00
        scope: null
        team_app_user:
          role_name: role_name
          role_id: role_id
          pending_invitation: true
          id: id
        resource_id: resource_id
        team:
          name: name
          id: id
        account:
          user_jwt: user_jwt
          auth_type: null
          user_cred: user_cred
          account_public_key: account_public_key
          name: name
          user_jwt_expires_in_secs: 0
          id: id
          is_platform_account: true
          is_scp_account: true
          is_system_account: true
      properties:
        account:
          $ref: '#/components/schemas/AccountInfo'
        app_user:
          $ref: '#/components/schemas/AppUserInfo'
        created:
          format: date-time
          type: string
        nats_user:
          $ref: '#/components/schemas/NatsUserInfo'
        resource_id:
          type: string
        role_id:
          type: string
        role_name:
          type: string
        scope:
          $ref: '#/components/schemas/AppRoleScope'
        system:
          $ref: '#/components/schemas/SystemInfo'
        team:
          $ref: '#/components/schemas/TeamInfo'
        team_app_user:
          $ref: '#/components/schemas/TeamAppUserInfo'
      required:
      - app_user
      - created
      - resource_id
      - role_id
      - role_name
      - scope
      - team_app_user
      type: object
    Connz:
      description: Connz represents detailed information on current client connections.
      example:
        total: 5
        offset: 1
        now: 2000-01-23 04:56:07+00:00
        limit: 0
        num_connections: 6
        server_id: server_id
        connections:
        - null
        - null
      properties:
        connections:
          items:
            $ref: '#/components/schemas/Connz_connections_inner'
          type: array
        limit:
          type: integer
        now:
          format: date-time
          type: string
        num_connections:
          type: integer
        offset:
          type: integer
        server_id:
          type: string
        total:
          type: integer
      required:
      - connections
      - limit
      - now
      - num_connections
      - offset
      - server_id
      - total
      type: object
    NatsUserJwtSettingsPatch_times_inner:
      example:
        start: start
        end: end
      properties:
        end:
          type: string
        start:
          type: string
      type: object
    Permissions:
      description: Permissions are used to restrict subject access, either on a user or for everyone on a server by default
      example:
        sub:
          allow:
          - allow
          - allow
          deny:
          - deny
          - deny
        resp:
          max: 0
          ttl: 6
        pub:
          allow:
          - allow
          - allow
          deny:
          - deny
          - deny
      properties:
        pub:
          $ref: '#/components/schemas/Permission'
        resp:
          $ref: '#/components/schemas/ResponsePermission'
        sub:
          $ref: '#/components/schemas/Permission'
      type: object
    GenericFields:
      properties:
        tags:
          items:
            type: string
          type: array
        type:
          description: ClaimType is used to indicate the type of JWT being stored in a Claim
          type: string
        version:
          type: integer
      type: object
    AccountAuthType:
      enum:
      - jwt
      - tls
      - nkey
      - username
      type: string
    PermissionPatch:
      properties:
        allow:
          items:
            type: string
          type:
          - array
          - 'null'
        deny:
          items:
            type: string
          type:
          - array
          - 'null'
      type: object
    AppUserInfo:
      example:
        identifier: identifier
        name: name
        id: id
        type: null
      properties:
        id:
          type: string
        identifier:
          type: string
        name:
          type: string
        type:
          $ref: '#/components/schemas/AppUserType'
      required:
      - id
      - name
      - type
      type: object
    NatsUserIssuanceInfo:
      example:
        exp_max: 6
        sub: sub
        iat_max: 1
        events_count: 0
        created: 2000-01-23 04:56:07+00:00
        iss: iss
        name: name
        id: id
        iat_min: 5
        status: null
      properties:
        created:
          format: date-time
          type: string
        events_count:
          description: total download events for this issuance
          type: integer
        exp_max:
          description: highest expiry time, undefined means Unlimited (exp not set)
          format: int64
          type: integer
        iat_max:
          description: most recent time this was issued
          format: int64
          type: integer
        iat_min:
          description: first time this was issued
          format: int64
          type: integer
        id:
          type: string
        iss:
          description: issuer account public nkey
          type: string
        name:
          type: string
        status:
          $ref: '#/components/schemas/NatsUserIssuanceStatus'
        sub:
          description: nats user public nkey
          type: string
      required:
      - created
      - events_count
      - iat_max
      - iat_min
      - id
      - iss
      - name
      - status
      - sub
      type: object
    ResponsePermissionPatch:
      properties:
        max:
          type: integer
        ttl:
          format: int64
          type: integer
      type: object
    Connz_connections_inner:
      allOf:
      - $ref: '#/components/schemas/ConnInfo'
      type:
      - object
      - 'null'
    AppUserType:
      enum:
      - Person
      - AppServiceAccount
      - TeamServiceAccount
      type: string
    TeamInfo:
      example:
        name: name
        id: id
      properties:
        id:
          type: string
        name:
          type: string
      required:
      - id
      - name
      type: object
    NatsUserJwtSettingsPatch_resp:
      allOf:
      - $ref: '#/components/schemas/ResponsePermissionPatch'
      type:
      - object
      - 'null'
    AppRoleScope:
      enum:
      - App
      - Team
      - System
      - Account
      - NatsUser
      type: string
    NatsUserConnectionsListResponse:
      example:
        items:
        - total: 5
          offset: 1
          now: 2000-01-23 04:56:07+00:00
          limit: 0
          num_connections: 6
          server_id: server_id
          connections:
          - null
          - null
        - total: 5
          offset: 1
          now: 2000-01-23 04:56:07+00:00
          limit: 0
          num_connections: 6
          server_id: server_id
          connections:
          - null
          - null
      properties:
        items:
          items:
            $ref: '#/components/schemas/Connz'
          type: array
      required:
      - items
      type: object
    NatsUserIssuanceStatus:
      description: "NatsUserIssuanceStatus indicates status of an issuance relative to its signing key\nIn context of issuance, status indicates following:\n  Active - Signing key exists, and no revocations\n  Revoked - Signing key exists, and has revocation entry with RevokedBefore > IatMax\n  Partially Revoked - Signing key exists, and has revocation entry with IssMax > RevokedBefore > IatMin\n  SK Disabled - Signing key is disabled\n  SK Group Disabled - Signing key group is disabled\n  SK Removed - Signing key no longer exists\n  Expired - All issuances are expired\nIn context of an issuance event, status indicates following:\n  Active - Signing key exists, and no revoca

# --- truncated at 32 KB (41 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/synadia-communications/refs/heads/main/openapi/synadia-communications-nats-user-api-openapi.yml