Iridium OAuth API

The oauth API from Iridium — 8 operation(s) for oauth.

GitHub OpenAPI

Operations 9

GET /.well-known/oauth-authorization-server Oauth Metadata #
GET /.well-known/oauth-protected-resource Protected Resource Metadata #
GET /.well-known/oauth-protected-resource/mcp Protected Resource Metadata Mcp #
POST /oauth/register Register #
GET /oauth/authorize Authorize Form #
POST /oauth/authorize Authorize Submit #
POST /oauth/approve Authorize Approve #
POST /oauth/disconnect Disconnect #
POST /oauth/token Token #

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/iridiumhqmcp-com:iridiumhqmcp-com-oauth-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

iridiumhqmcp-com-oauth-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Iridiumhqmcp Com OAuth API
  version: 0.1.0
  description: 'Operations tagged oauth across 2 of this provider''s published API definitions: openapi.json, iridiumhqmcp-com-openapi.json. Each path carries the servers of the definition it was published in.'
tags:
- name: OAuth
paths:
  /.well-known/oauth-authorization-server:
    get:
      tags:
      - OAuth
      summary: Oauth Metadata
      operationId: oauth_metadata__well_known_oauth_authorization_server_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  /.well-known/oauth-protected-resource:
    get:
      tags:
      - OAuth
      summary: Protected Resource Metadata
      operationId: protected_resource_metadata__well_known_oauth_protected_resource_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  /.well-known/oauth-protected-resource/mcp:
    get:
      tags:
      - OAuth
      summary: Protected Resource Metadata Mcp
      operationId: protected_resource_metadata_mcp__well_known_oauth_protected_resource_mcp_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  /oauth/register:
    post:
      tags:
      - OAuth
      summary: Register
      description: 'Minimal RFC 7591 Dynamic Client Registration.


        We are a public client using PKCE, so there is no client secret to issue — we accept

        any registration and return a generated client_id. Claude/Codex/opencode call this

        before /oauth/authorize because they hold no pre-registered client for this server.'
      operationId: register_oauth_register_post
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  /oauth/authorize:
    get:
      tags:
      - OAuth
      summary: Authorize Form
      operationId: authorize_form_oauth_authorize_get
      parameters:
      - name: response_type
        in: query
        required: true
        schema:
          type: string
          title: Response Type
      - name: client_id
        in: query
        required: true
        schema:
          type: string
          title: Client Id
      - name: redirect_uri
        in: query
        required: true
        schema:
          type: string
          title: Redirect Uri
      - name: state
        in: query
        required: true
        schema:
          type: string
          title: State
      - name: code_challenge
        in: query
        required: true
        schema:
          type: string
          title: Code Challenge
      - name: code_challenge_method
        in: query
        required: false
        schema:
          type: string
          default: S256
          title: Code Challenge Method
      - name: resource
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Resource
      responses:
        '200':
          description: Successful Response
          content:
            text/html:
              schema:
                type: string
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
      - OAuth
      summary: Authorize Submit
      operationId: authorize_submit_oauth_authorize_post
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Body_authorize_submit_oauth_authorize_post'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /oauth/approve:
    post:
      tags:
      - OAuth
      summary: Authorize Approve
      description: 'One-click authorization from the SPA consent screen.


        The user is already authenticated with their normal Iridium access token, so no API

        key is entered anywhere. We mint an auth code bound to this user and return the URL

        the SPA redirects the browser to (back to the MCP client''s redirect_uri). This is the

        session-authenticated counterpart to authorize_submit, which still exists as an

        API-key fallback for browsers with no Iridium session.'
      operationId: authorize_approve_oauth_approve_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/routers__api__oauth__ApproveRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
  /oauth/disconnect:
    post:
      tags:
      - OAuth
      summary: Disconnect
      description: 'Revoke every connector token this user has authorized.


        The tokens are 30-day JWTs with no server-side row to delete, so revocation is an epoch:

        anything minted before now is refused by lifecycle.enforce_token_live. Clearing the

        connected-agent state alongside it keeps the settings screen honest.


        Not scoped to one connector on purpose — a token carries no client identity to scope by

        (/oauth/register persists nothing), so pretending otherwise would be a lie in the UI.'
      operationId: disconnect_oauth_disconnect_post
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      security:
      - HTTPBearer: []
  /oauth/token:
    post:
      tags:
      - OAuth
      summary: Token
      operationId: token_oauth_token_post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Body_token_oauth_token_post'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    routers__api__oauth__ApproveRequest:
      properties:
        redirect_uri:
          type: string
          title: Redirect Uri
        code_challenge:
          type: string
          title: Code Challenge
        client_id:
          type: string
          title: Client Id
          default: ''
        state:
          type: string
          title: State
          default: ''
        code_challenge_method:
          type: string
          title: Code Challenge Method
          default: S256
        resource:
          anyOf:
          - type: string
          - type: 'null'
          title: Resource
      type: object
      required:
      - redirect_uri
      - code_challenge
      title: ApproveRequest
    Body_token_oauth_token_post:
      properties:
        grant_type:
          type: string
          title: Grant Type
        code:
          anyOf:
          - type: string
          - type: 'null'
          title: Code
        redirect_uri:
          anyOf:
          - type: string
          - type: 'null'
          title: Redirect Uri
        code_verifier:
          anyOf:
          - type: string
          - type: 'null'
          title: Code Verifier
        client_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Client Id
        client_secret:
          anyOf:
          - type: string
          - type: 'null'
          title: Client Secret
        refresh_token:
          anyOf:
          - type: string
          - type: 'null'
          title: Refresh Token
        resource:
          anyOf:
          - type: string
          - type: 'null'
          title: Resource
      type: object
      required:
      - grant_type
      title: Body_token_oauth_token_post
    Body_authorize_submit_oauth_authorize_post:
      properties:
        session_id:
          type: string
          title: Session Id
        api_key:
          type: string
          title: Api Key
      type: object
      required:
      - session_id
      - api_key
      title: Body_authorize_submit_oauth_authorize_post
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer
x-refined-from:
- openapi.json
- iridiumhqmcp-com-openapi.json
x-provenance:
  method: harvested
  publisher: Iridium
  source: https://api.iridiumhqmcp.com/openapi.json
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)