Symphony Idm API

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

Operations 2

POST /idm/tokens Symphony Returns a valid OAuth2 access token from a given session token to be used for authentication
GET /idm/keys Symphony Returns the Common Access Token (JWT) Public Keys as a JWKS

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/symphony-idm-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

symphony-idm-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 20.14.1
  title: Symphony Login Idm API
  description: 'For bots and other on-premise processes to authenticate. Once

    authenticated, the bot will be able to use the methods described in

    serviceAPI.yaml and agentAPI.yaml.


    Authentication requests will expect the user to pass a token containing

    user identification information and signed by the user''s private key


    There will be two implementations of this API, one on your Pod

    and one on the Key Manager. In order to fully authenticate,

    an API client will have to call both of these implementations

    and pass both of the session tokens returned as headers in all

    subsequent requests to the Symphony API.

    '
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
      parameters:
      - name: sessionToken
        description: User session authentication token
        in: header
        required: true
        schema:
          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
        schema:
          type: string
      tags:
      - Idm
      responses:
        '200':
          description: OK.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JwtToken'
        '401':
          description: Client is unauthorized to access this resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden to access this endpoint .
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Server error, see response body for further details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/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.
      tags:
      - Idm
      responses:
        '200':
          description: OK.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Jwks'
        '500':
          description: Server error, see response body for further details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Error:
      type: object
      properties:
        code:
          type: integer
          format: int32
        message:
          type: string
    JwksEntry:
      type: object
      description: A JWK object as defined in https://datatracker.ietf.org/doc/html/rfc7517#section-4.
      additionalProperties:
        type: string
    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.

            '
    Jwks:
      type: object
      properties:
        keys:
          type: array
          items:
            $ref: '#/components/schemas/JwksEntry'