BrainstormRouter OAuth API
The oauth API from BrainstormRouter — 4 operation(s) for oauth.
The oauth API from BrainstormRouter — 4 operation(s) for oauth.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/brainstormrouter-com:brainstormrouter-com-oauth-api"
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.
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: 3.2.0
info:
title: BrainstormRouter OAuth API
version: 1.0.0
description: 'Autonomous AI API Engine — multi-tenant gateway that intelligently routes
AI traffic across providers with built-in memory, cost optimization, and
autonomous background processing.
All `/v1/*` endpoints require an API key via `Authorization: Bearer `.'
contact:
name: BrainstormRouter
url: https://brainstormrouter.com
license:
name: Proprietary
identifier: LicenseRef-Proprietary
servers:
- url: https://api.brainstormrouter.com
description: Production
security:
- BearerAuth: []
tags:
- name: OAuth
paths:
/auth/oauth/authorize:
get:
operationId: oauthAuthorizeConsent
summary: OAuth 2.0 PKCE authorize endpoint — returns app info for consent UI
tags:
- OAuth
x-br-capability-id: oauth.authorize.consent
x-br-version: v1
parameters:
- name: client_id
in: query
required: false
schema:
type: string
- name: redirect_uri
in: query
required: false
schema:
type: string
- name: code_challenge
in: query
required: false
schema:
type: string
- name: code_challenge_method
in: query
required: false
schema:
type: string
- name: scope
in: query
required: false
schema:
type: string
- name: state
in: query
required: false
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$schema: http://json-schema.org/draft-07/schema#
type: object
propertyNames:
type: string
additionalProperties: {}
post:
operationId: oauthAuthorizeApprove
summary: OAuth 2.0 PKCE authorize POST — user approves, server issues code
tags:
- OAuth
x-br-capability-id: oauth.authorize.approve
x-br-version: v1
requestBody:
required: true
content:
application/json:
schema:
$schema: http://json-schema.org/draft-07/schema#
type: object
properties:
client_id:
type: string
redirect_uri:
type: string
code_challenge:
type: string
code_challenge_method:
type: string
scope:
type: string
state:
type: string
required:
- client_id
- redirect_uri
- code_challenge
additionalProperties: false
responses:
'200':
description: Success
content:
application/json:
schema:
$schema: http://json-schema.org/draft-07/schema#
type: object
properties:
redirect_url:
type: string
required:
- redirect_url
additionalProperties: false
security:
- SupabaseJwt: []
/auth/oauth/token:
post:
operationId: oauthTokenExchange
summary: OAuth 2.0 PKCE token exchange — code + verifier → scoped API key
tags:
- OAuth
x-br-capability-id: oauth.token.exchange
x-br-version: v1
requestBody:
required: true
content:
application/json:
schema:
$schema: http://json-schema.org/draft-07/schema#
type: object
properties:
grant_type:
type: string
code:
type: string
redirect_uri:
type: string
code_verifier:
type: string
client_id:
type: string
required:
- grant_type
- code
- redirect_uri
- code_verifier
- client_id
additionalProperties: false
responses:
'200':
description: Success
content:
application/json:
schema:
$schema: http://json-schema.org/draft-07/schema#
type: object
propertyNames:
type: string
additionalProperties: {}
/v1/oauth/apps:
get:
operationId: systemOauthAppsList
summary: List OAuth apps for the tenant
tags:
- OAuth
x-br-capability-id: system.oauth.apps.list
x-br-version: v1
responses:
'200':
description: Success
content:
application/json:
schema:
$schema: http://json-schema.org/draft-07/schema#
type: object
propertyNames:
type: string
additionalProperties: {}
security:
- BearerAuth: []
post:
operationId: systemOauthAppsCreate
summary: Register an OAuth app (developer-facing)
tags:
- OAuth
x-br-capability-id: system.oauth.apps.create
x-br-version: v1
requestBody:
required: true
content:
application/json:
schema:
$schema: http://json-schema.org/draft-07/schema#
type: object
properties:
name:
type: string
minLength: 1
callback_urls:
type: array
items:
type: string
description:
anyOf:
- type: string
- type: 'null'
website_url:
anyOf:
- type: string
- type: 'null'
scopes:
type: array
items:
type: string
additionalProperties: false
responses:
'200':
description: Success
content:
application/json:
schema:
$schema: http://json-schema.org/draft-07/schema#
type: object
propertyNames:
type: string
additionalProperties: {}
security:
- BearerAuth: []
/v1/oauth/apps/{id}:
delete:
operationId: systemOauthAppsDelete
summary: Revoke an OAuth app (soft delete — sets active=false)
tags:
- OAuth
x-br-capability-id: system.oauth.apps.delete
x-br-version: v1
responses:
'200':
description: Success
content:
application/json:
schema:
$schema: http://json-schema.org/draft-07/schema#
type: object
propertyNames:
type: string
additionalProperties: {}
security:
- BearerAuth: []
components:
securitySchemes:
BearerAuth:
type: http
scheme: bearer
description: API key (e.g. `br_live_...`)
SupabaseJWT:
type: http
scheme: bearer
description: Supabase JWT token (dashboard auth)