SSO

SSO Token API

Token endpoint operations for exchanging authorization codes and refresh tokens for access tokens and ID tokens.

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/sso-token-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 email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

sso-token-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: OpenID Connect (OIDC) SSO Authentication Token API
  description: The OpenID Connect (OIDC) API is a lightweight identity layer built on top of OAuth 2.0 that enables applications to verify user identity and obtain basic profile information. OIDC defines standard endpoints including the Authorization Endpoint, Token Endpoint, UserInfo Endpoint, and JWKS URI. It supports Authorization Code Flow, Implicit Flow, Hybrid Flow, and PKCE extensions for public clients. OIDC is widely implemented by identity providers including Okta, Microsoft Entra ID, Google, Auth0, and Keycloak.
  version: '1.0'
  contact:
    name: OpenID Foundation
    url: https://openid.net/connect/
  termsOfService: https://openid.net/connect/
servers:
- url: https://your-idp.example.com
  description: OpenID Provider (OP) Server
tags:
- name: Token
  description: Token endpoint operations for exchanging authorization codes and refresh tokens for access tokens and ID tokens.
paths:
  /token:
    post:
      operationId: exchangeToken
      summary: Exchange Authorization Code for Tokens
      description: Exchanges an authorization code for an access token, ID token, and optionally a refresh token. Also used to refresh expired access tokens using a refresh token. Supports client_secret_basic and client_secret_post authentication methods.
      tags:
      - Token
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - grant_type
              properties:
                grant_type:
                  type: string
                  enum:
                  - authorization_code
                  - refresh_token
                  - client_credentials
                  description: The grant type for the token request
                code:
                  type: string
                  description: Authorization code received from the authorization endpoint. Required for authorization_code grant.
                redirect_uri:
                  type: string
                  format: uri
                  description: Must match the redirect_uri used in the authorization request. Required for authorization_code grant.
                client_id:
                  type: string
                  description: Client identifier. Required for client_secret_post authentication.
                client_secret:
                  type: string
                  description: Client secret. Required for client_secret_post authentication.
                code_verifier:
                  type: string
                  description: PKCE code verifier. Required when code_challenge was used in the authorization request.
                refresh_token:
                  type: string
                  description: Refresh token for obtaining new access tokens. Required for refresh_token grant.
                scope:
                  type: string
                  description: Optional scope for refresh_token grant. Must be a subset of originally granted scopes.
      responses:
        '200':
          description: Token response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TokenResponse'
        '400':
          description: Invalid token request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Client authentication failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /revoke:
    post:
      operationId: revokeToken
      summary: Revoke Token
      description: Revokes an access token or refresh token. The token is immediately invalidated and can no longer be used for API access or token refresh.
      tags:
      - Token
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - token
              properties:
                token:
                  type: string
                  description: The access token or refresh token to revoke
                token_type_hint:
                  type: string
                  enum:
                  - access_token
                  - refresh_token
                  description: Optional hint about the token type being revoked
                client_id:
                  type: string
                  description: Client identifier
                client_secret:
                  type: string
                  description: Client secret
      responses:
        '200':
          description: Token successfully revoked (or was already invalid)
        '400':
          description: Invalid revocation request
components:
  schemas:
    TokenResponse:
      type: object
      required:
      - access_token
      - token_type
      properties:
        access_token:
          type: string
          description: OAuth 2.0 access token for API access
        token_type:
          type: string
          enum:
          - Bearer
          description: Token type (always Bearer)
        id_token:
          type: string
          description: JWT-encoded ID token containing authenticated user claims. Present for requests that included 'openid' scope.
        refresh_token:
          type: string
          description: Refresh token for obtaining new access tokens without re- authentication. Present when offline_access scope was granted.
        expires_in:
          type: integer
          description: Number of seconds until the access token expires
        scope:
          type: string
          description: Space-separated list of scopes granted by the authorization server
    ErrorResponse:
      type: object
      required:
      - error
      properties:
        error:
          type: string
          description: Error code as defined in RFC 6749 (e.g., invalid_request, invalid_client, invalid_grant, unauthorized_client, unsupported_grant_type, invalid_scope)
        error_description:
          type: string
          description: Human-readable error description
        error_uri:
          type: string
          format: uri
          description: URI of a web page with more information about the error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: OAuth 2.0 Bearer access token in Authorization header
externalDocs:
  description: OpenID Connect Specification
  url: https://openid.net/connect/