Synadia Communications Issuance API

The issuance API from Synadia Communications — 1 operation(s) for issuance.

Operations 1

GET /core/beta/nats-user-issuances/{issuanceId} Get nats user issuance #

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-issuance-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-issuance-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: API for Synadia Control Plane / Synadia Cloud
  title: Synadia Control Plane / Synadia Cloud Issuance API
  version: beta
servers:
- description: Path to Synadia Control Plane Server Api
  url: '{baseUrl}/api'
  variables:
    baseUrl:
      default: ''
security:
- bearerAuth: []
  sessionAuth: []
tags:
- name: Issuance
paths:
  /core/beta/nats-user-issuances/{issuanceId}:
    get:
      description: Get a history of all downloads and imports of the given issuance
      operationId: getNatsUserIssuance
      parameters:
      - explode: false
        in: path
        name: issuanceId
        required: true
        schema:
          type: string
        style: simple
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NatsUserIssuanceViewResponse'
          description: Success
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      summary: Get nats user issuance
      tags:
      - Issuance
      x-doc-tags:
      - NATS User Issuances
components:
  schemas:
    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
    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
    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
    NatsUserIssuanceViewResponse:
      example:
        exp_max: 1
        nats:
          issuer_account: issuer_account
        sub: sub
        iat_max: 5
        created: 2000-01-23 04:56:07+00:00
        checksum: checksum
        iss: iss
        name: name
        id: id
        iat_min: 5
        events:
        - app_user:
            identifier: identifier
            name: name
            id: id
            type: null
          exp: 0
          type: null
          iat: 6
          jti: jti
          status: null
        - app_user:
            identifier: identifier
            name: name
            id: id
            type: null
          exp: 0
          type: null
          iat: 6
          jti: jti
          status: null
        status: null
      properties:
        checksum:
          description: 'sha256 sum of (NatsUserId,Iss,Sub,Name,json_encode(Nats))

            If a credential is downloaded and results in a unique checksum then a new issuance record is created.

            If a credential''s checksum matches an existing record, a new event is appended to the existing record.'
          type: string
        created:
          format: date-time
          type: string
        events:
          description: trail of download events
          items:
            $ref: '#/components/schemas/NatsUserIssuanceEvent'
          type: array
        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
        nats:
          $ref: '#/components/schemas/User'
        status:
          $ref: '#/components/schemas/NatsUserIssuanceStatus'
        sub:
          description: nats user public nkey
          type: string
      required:
      - checksum
      - created
      - events
      - iat_max
      - iat_min
      - id
      - iss
      - name
      - nats
      - status
      - sub
      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
    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
    NatsUserIssuanceEventType:
      enum:
      - Import
      - Download
      - BearerJwt
      - HttpGwToken
      type: string
    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
    NatsUserIssuanceEvent:
      example:
        app_user:
          identifier: identifier
          name: name
          id: id
          type: null
        exp: 0
        type: null
        iat: 6
        jti: jti
        status: null
      properties:
        app_user:
          $ref: '#/components/schemas/AppUserInfo'
        exp:
          format: int64
          type: integer
        iat:
          format: int64
          type: integer
        jti:
          type: string
        status:
          $ref: '#/components/schemas/NatsUserIssuanceStatus'
        type:
          $ref: '#/components/schemas/NatsUserIssuanceEventType'
      required:
      - app_user
      - iat
      - jti
      - status
      - type
      type: object
    TimeRange:
      description: TimeRange is used to represent a start and end time
      properties:
        end:
          type: string
        start:
          type: string
      type: object
    AppUserType:
      enum:
      - Person
      - AppServiceAccount
      - TeamServiceAccount
      type: string
    NatsLimits:
      properties:
        data:
          format: int64
          type: integer
        payload:
          format: int64
          type: integer
        subs:
          format: int64
          type: integer
      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
    UserPermissionLimits:
      allOf:
      - $ref: '#/components/schemas/Permissions'
      - $ref: '#/components/schemas/UserLimits'
      - $ref: '#/components/schemas/NatsLimits'
      example:
        bearer_token: true
        allowed_connection_types:
        - allowed_connection_types
        - allowed_connection_types
      properties:
        allowed_connection_types:
          items:
            type: string
          type: array
        bearer_token:
          type: boolean
      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 revocations\n  Revoked - Signing key exists, and has revocation entry with RevokedBefore > Iat\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 - Expired time set on credential has passed"
      enum:
      - Active
      - Revoked
      - Partially Revoked
      - SK Disabled
      - SK Group Disabled
      - SK Removed
      - Expired
      type: string
  securitySchemes:
    bearerAuth:
      bearerFormat: Personal Access Token
      scheme: bearer
      type: http
    sessionAuth:
      in: cookie
      name: control_plane_session
      type: apiKey