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'