Gluu SSA API

The SSA API from Gluu — 3 operation(s) for ssa.

Operations 5

POST /restv1/ssa Create SSA #
GET /restv1/ssa Get list of SSAs #
DELETE /restv1/ssa Revoke SSA #
POST /restv1/ssa/validation Validate SSA #
GET /restv1/ssa/jwt Get JWT of SSA based on JTI #

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/gluu-ssa-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

gluu-ssa-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Janssen Authorization Server SSA API
  description: Janssen Authorization Server - OAuth 2.0 server; OpenID Connect Provider (OP) & UMA Authorization Server (AS)
  contact:
    name: Contact
    url: https://github.com/JanssenProject/jans/discussions
  license:
    name: License
    url: https://github.com/JanssenProject/jans/blob/main/LICENSE
  version: OAS Version
servers:
- url: https://jans.local.io/jans-auth
tags:
- name: SSA
paths:
  /restv1/ssa:
    post:
      tags:
      - SSA
      summary: Create SSA
      description: '# Create SSA for the organization with `expiration` (optional).

        ----


        **Security: Bearer Auth**


        Provide your bearer token in the Authorization header when making requests to protected resources.


        Example: `Authorization: Bearer {{your-access-token}}`


        **Security: OAuth 2.0**


        Scopes:

        - `https://jans.io/auth/ssa.admin` - **SSA Admin**, You can create `SSA`.'
      operationId: post-register-ssa
      security:
      - bearer: []
      requestBody:
        content:
          application/json:
            schema:
              required:
              - org_id
              - software_id
              - software_roles
              - grant_types
              - one_time_use
              - rotate_ssa
              type: object
              properties:
                org_id:
                  type: string
                  description: The `org_id` is used for organization identification.
                  example: 1
                description:
                  type: string
                  description: Description SSA.
                  example: Your description of SSA
                expiration:
                  type: number
                  description: Expiration date. If this field is not sent, it will take days to expire, according to how it has been configured.
                  example: 1660832042
                software_id:
                  type: string
                  description: The `software_id` is used for software identification.
                  example: gluu-scan-api
                software_roles:
                  type: array
                  description: List of string values, fixed value ["password", "notify"].
                  items:
                    type: string
                  example:
                  - password
                grant_types:
                  type: array
                  description: Fixed value ["client_credentials"].
                  items:
                    type: string
                  example:
                  - client_credentials
                one_time_use:
                  type: boolean
                  description: Defined whether the SSA will be used only once or can be used multiple times.
                  default: true
                rotate_ssa:
                  type: boolean
                  description: TODO - Will be used to rotate expiration of the SSA, currently is only saved as part of the SSA.
                  default: true
                lifetime:
                  type: integer
                  description: SSA lifetime in seconds.
                  example: 86400
      responses:
        201:
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  ssa:
                    type: string
                    example: eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3BvcnRhbC5nbHV1Lm9yZyIsImlhdCI6IjE2NTUzMTkyNjgiLCJqdGkiOiJmN2I1OTkxYy00YzE4LTRjODEtYTY2NC1lNmY4NjcwZjVkNTEiLCJzb2Z0d2FyZV9pZCI6ImdsdXUtc2Nhbi1hcGkiLCJvcmdfaWQiOjEsInNvZnR3YXJlX3JvbGVzIjpbInBhc3N3dXJkIl0sImp3a3NfdXJpIjoiaHR0cHM6Ly9jbG91ZC1kZXYuZ2x1dS5jbG91ZC9wb3J0YWwvandrcyIsImdyYW50X3R5cGVzIjpbImNsaWVudF9jcmVkZW50aWFscyJdLCJleHAiOjE2NTkzMTkyNjh9.MkE-47SvBshmazBfyhAcHsqPpFIbg5CpA8k2TxDWhxc
        400:
          $ref: '#/components/responses/InvalidSSAMetadata'
        401:
          $ref: '#/components/responses/UnauthorizedSSA'
        500:
          $ref: '#/components/responses/InternalServerErrorSSA'
    get:
      tags:
      - SSA
      summary: Get list of SSAs
      description: '# Get all SSA list based on `jti` or `org_id`.

        ----


        **Security: Bearer Auth**


        Provide your bearer token in the Authorization header when making requests to protected resources.


        Example: `Authorization: Bearer {{your-access-token}}`


        **Security: OAuth 2.0**


        Scopes:

        - `https://jans.io/auth/ssa.admin` - **SSA Adm

        .in**, Retrieves all `SSA`

        - `https://jans.io/auth/ssa.portal` - **SSA Portal**, Retrieves all `SSA`

        - `https://jans.io/auth/ssa.developer` - **SSA Developer**, Retrieves the `SSA` created by the same client'
      operationId: get-ssa
      security:
      - bearer: []
      parameters:
      - schema:
          type: string
        in: query
        name: jti
        description: Unique Identifier
      - schema:
          type: string
        in: query
        name: org_id
        description: Organization ID
      responses:
        200:
          description: The response will return the list of SSAs.
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    created_at:
                      type: integer
                    expiration:
                      type: integer
                    issuer:
                      type: string
                    jti:
                      type: string
                    status:
                      type: string
                    ssa:
                      type: object
                      properties:
                        iss:
                          type: string
                        iat:
                          type: integer
                        jti:
                          type: string
                        software_id:
                          type: string
                        org_id:
                          type: string
                        software_roles:
                          type: array
                          items:
                            type: string
                        grant_types:
                          type: array
                          items:
                            type: string
                        exp:
                          type: integer
                        lifetime:
                          type: integer
              examples:
                example-1:
                  value:
                  - created_at: 1655319268
                    expiration: 1656319268
                    issuer: 04d7af18-f69c-4cf9-8b17-9872315a8f17
                    jti: 1527324c-b5a3-4d7d-8953-8c1874600ec1
                    status: ACTIVE
                    ssa:
                      iss: https://jans.io
                      iat: 1655319268
                      jti: f7b5991c-4c18-4c81-a664-e6f8670f5d51
                      software_id: gluu-scan-api
                      org_id: org-id-1000
                      software_roles:
                      - password
                      grant_types:
                      - client_credentials
                      exp: 1655419268
                      lifetime: 86400
        400:
          description: Invalid client.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                invalid_client:
                  value:
                    error: invalid_client
                    error_description: Invalid client.
        401:
          $ref: '#/components/responses/UnauthorizedSSA'
        500:
          $ref: '#/components/responses/InternalServerErrorSSA'
    delete:
      tags:
      - SSA
      summary: Revoke SSA
      description: '# Revokes existing active SSA based on `jti` or `org_id`

        ----


        - `jti` - for delete only one SSA, the specified by `jti`

        - `org_id` - for delete all SSA of the specified organization.


        **Security: Bearer Auth**


        Provide your bearer token in the Authorization header when making requests to protected resources.


        Example: `Authorization: Bearer {{your-access-token}}`


        **Security: OAuth 2.0**


        Scopes:

        - `https://jans.io/auth/ssa.admin` - **SSA Admin**, You can revoke `SSA`.'
      operationId: delete-ssa
      security:
      - bearer: []
      parameters:
      - schema:
          type: string
        in: query
        name: jti
        description: A unique identifier for the token, which can be used to prevent reuse of the token.
      - schema:
          type: string
        in: query
        name: org_id
        description: Delete all SSAs of the specified organization.
      responses:
        200:
          description: Success.
        400:
          description: Invalid client.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                invalid_client:
                  value:
                    error: invalid_client
                    error_description: Invalid client.
        401:
          $ref: '#/components/responses/UnauthorizedSSA'
        406:
          description: Not Acceptable. Check the query params. (When `jti` or `org_id` is not sent in the query param)
        422:
          description: Not found.
        500:
          $ref: '#/components/responses/InternalServerErrorSSA'
  /restv1/ssa/validation:
    post:
      tags:
      - SSA
      summary: Validate SSA
      description: '# Validates that a given SSA `jti` exists and is valid

        ----


        This endpoint does not have any security, it is an open endpoint.'
      operationId: validate-ssa
      parameters:
      - schema:
          type: string
        in: header
        name: jti
        description: Unique Identifier
        required: true
      responses:
        200:
          description: The API returns `200` status code, when token is valid.
        400:
          description: When jti does not exist, is invalid or state is in (expired, used or revoked),
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                invalida_jti:
                  value:
                    error: invalid_jti
                    error_description: Invalid JTI or not exists.
        500:
          $ref: '#/components/responses/InternalServerErrorSSA'
  /restv1/ssa/jwt:
    get:
      tags:
      - SSA
      summary: Get JWT of SSA based on JTI
      description: '# Get JWT of SSA based on `jti`.

        ----


        **Security: Bearer Auth**


        Provide your bearer token in the Authorization header when making requests to protected resources.


        Example: `Authorization: Bearer {{your-access-token}}`


        **Security: OAuth 2.0**


        Scopes:

        - `https://jans.io/auth/ssa.admin` - **SSA Admin**, Retrieve `JWT` of `SSA`'
      operationId: get-jwt-ssa
      security:
      - bearer: []
      parameters:
      - schema:
          type: string
        in: query
        name: jti
        description: Unique Identifier.
      responses:
        200:
          description: The response will return the `JWT` of `SSA`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  ssa:
                    type: string
                    example: eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3BvcnRhbC5nbHV1Lm9yZyIsImlhdCI6IjE2NTUzMTkyNjgiLCJqdGkiOiJmN2I1OTkxYy00YzE4LTRjODEtYTY2NC1lNmY4NjcwZjVkNTEiLCJzb2Z0d2FyZV9pZCI6ImdsdXUtc2Nhbi1hcGkiLCJvcmdfaWQiOjEsInNvZnR3YXJlX3JvbGVzIjpbInBhc3N3dXJkIl0sImp3a3NfdXJpIjoiaHR0cHM6Ly9jbG91ZC1kZXYuZ2x1dS5jbG91ZC9wb3J0YWwvandrcyIsImdyYW50X3R5cGVzIjpbImNsaWVudF9jcmVkZW50aWFscyJdLCJleHAiOjE2NTkzMTkyNjh9.MkE-47SvBshmazBfyhAcHsqPpFIbg5CpA8k2TxDWhxc
        400:
          description: When jti does not exist, is invalid or state is in (expired, used or revoked), or when client is invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                invalid_jti:
                  value:
                    error: invalid_jti
                    error_description: Invalid JTI or not exists.
                invalid_client:
                  value:
                    error: invalid_client
                    error_description: Invalid client.
        401:
          $ref: '#/components/responses/UnauthorizedSSA'
        500:
          $ref: '#/components/responses/InternalServerErrorSSA'
components:
  responses:
    UnauthorizedSSA:
      description: Unauthorized access request.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            unauthorized_client:
              value:
                error: unauthorized_client
                error_description: The Client is not authorized to use this authentication flow.
            invalid_client:
              value:
                error: invalid_client
                error_description: Client authentication failed (e.g. unknown client, no client authentication included, or unsupported authentication method).
    InvalidSSAMetadata:
      description: Invalid SSA Metadata.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            invalid_ssa_metadata:
              value:
                error: invalid_ssa_metadata
                error_description: The value of one of the SSA Metadata fields is invalid and the server has rejected this request. Note that an Authorization Server MAY choose to substitute a valid value for any requested parameter of a SSA's Metadata.
    InternalServerErrorSSA:
      description: Internal error occured. Please check log file for details.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            unknown_error:
              value:
                error: unknown_error
                error_description: Unknown or not found error.
  schemas:
    ErrorResponse:
      required:
      - error
      - error_description
      type: object
      properties:
        error:
          type: string
        error_description:
          type: string
        details:
          type: string
  securitySchemes:
    bearer:
      type: http
      scheme: bearer