Symphony Idm API

The Idm API from Symphony — 2 operation(s) for idm.

OpenAPI Specification

symphony-idm-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Symphony Agent Add Idm API
  description: 'This document refers to Symphony API calls to send and receive messages

    and content. They need the on-premise Agent installed to perform

    decryption/encryption of content.


    - sessionToken and keyManagerToken can be obtained by calling the

    authenticationAPI on the symphony back end and the key manager

    respectively. Refer to the methods described in authenticatorAPI.yaml.

    - Actions are defined to be atomic, ie will succeed in their entirety

    or fail and have changed nothing.

    - If it returns a 40X status then it will have sent no message to any

    stream even if a request to some subset of the requested streams

    would have succeeded.

    - If this contract cannot be met for any reason then this is an error

    and the response code will be 50X.

    - MessageML is a markup language for messages. See reference here:

    https://rest-api.symphony.com/docs/messagemlv2

    - **Real Time Events**: The following events are returned when reading

    from a real time messages and events stream ("datafeed"). These

    events will be returned for datafeeds created with the v5 endpoints.

    To know more about the endpoints, refer to Create Messages/Events

    Stream and Read Messages/Events Stream. Unless otherwise specified,

    all events were added in 1.46.

    '
  version: 22.9.1
servers:
- url: /
tags:
- name: Idm
paths:
  /idm/tokens:
    post:
      summary: Symphony Returns a valid OAuth2 access token from a given session token to be used for authentication
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: sessionToken
        description: User session authentication token
        in: header
        required: true
        type: string
      - name: scope
        description: 'Optional field used to get access with specific entitlements, use space separated list to define more that one

          '
        in: query
        required: false
        type: string
      tags:
      - Idm
      responses:
        '200':
          description: OK.
          schema:
            $ref: '#/definitions/JwtToken'
        '401':
          description: Client is unauthorized to access this resource
          schema:
            $ref: '#/definitions/Error'
        '403':
          description: Forbidden to access this endpoint .
          schema:
            $ref: '#/definitions/Error'
        '500':
          description: Server error, see response body for further details.
          schema:
            $ref: '#/definitions/Error'
  /idm/keys:
    get:
      summary: Symphony Returns the Common Access Token (JWT) Public Keys as a JWKS
      x-since: 20.14
      description: This is a public endpoint, no authentication is required. The JWKS can be used to verify JWT issued by the idm/tokens endpoint. Since SBE 20.14.
      produces:
      - application/json
      tags:
      - Idm
      responses:
        '200':
          description: OK.
          schema:
            $ref: '#/definitions/Jwks'
        '500':
          description: Server error, see response body for further details.
          schema:
            $ref: '#/definitions/Error'
definitions:
  JwtToken:
    type: object
    properties:
      token_type:
        type: string
        description: Type of token, string "Bearer"
      expires_in:
        type: integer
        format: int64
        description: Duration of time the access token is granted for in seconds
      access_token:
        type: string
        description: 'A JWT containing the caller''s username or application, an expiration date and a set of entitlements related to the

          specified scope, signed by the caller''s private key.

          '
  JwksEntry:
    type: object
    description: A JWK object as defined in https://datatracker.ietf.org/doc/html/rfc7517#section-4.
    additionalProperties:
      type: string
  Error:
    type: object
    properties:
      code:
        type: integer
        format: int32
      message:
        type: string
  Jwks:
    type: object
    properties:
      keys:
        type: array
        items:
          $ref: '#/definitions/JwksEntry'