BrainstormRouter Grants API
The grants API from BrainstormRouter — 11 operation(s) for grants.
The grants API from BrainstormRouter — 11 operation(s) for grants.
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-grants-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 Grants 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: Grants
paths:
/auth/grants:
get:
operationId: authGrantsList
summary: List grants for the tenant (filter by subject / status / root / capability)
tags:
- Grants
x-br-capability-id: auth.grants.list
x-br-version: v1
parameters:
- name: subject
in: query
required: false
schema:
type: string
- name: status
in: query
required: false
schema:
type: string
- name: root
in: query
required: false
schema:
type: string
- name: capability
in: query
required: false
schema:
type: string
- name: limit
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: {}
security:
- SupabaseJwt: []
/auth/grants/{id}:
get:
operationId: authGrantsGet
summary: Fetch a grant record + verified chain summary
tags:
- Grants
x-br-capability-id: auth.grants.get
x-br-version: v1
parameters:
- name: id
in: path
required: true
schema:
type: string
minLength: 1
responses:
'200':
description: Success
content:
application/json:
schema:
$schema: http://json-schema.org/draft-07/schema#
type: object
propertyNames:
type: string
additionalProperties: {}
security:
- SupabaseJwt: []
/auth/grants/{id}/chain:
get:
operationId: authGrantsChain
summary: Export the per-link-verifiable chain bundle (envelopes + signatures + JWKS ref)
tags:
- Grants
x-br-capability-id: auth.grants.chain
x-br-version: v1
parameters:
- name: id
in: path
required: true
schema:
type: string
minLength: 1
responses:
'200':
description: Success
content:
application/json:
schema:
$schema: http://json-schema.org/draft-07/schema#
type: object
propertyNames:
type: string
additionalProperties: {}
security:
- SupabaseJwt: []
/auth/grants/{id}/check:
post:
operationId: authGrantsCheck
summary: Signed PDP verdict for a principal + requested scope (the dashboard simulator)
tags:
- Grants
x-br-capability-id: auth.grants.check
x-br-version: v1
parameters:
- name: id
in: path
required: true
schema:
type: string
minLength: 1
requestBody:
required: true
content:
application/json:
schema:
$schema: http://json-schema.org/draft-07/schema#
type: object
properties:
principal:
type: string
minLength: 1
requested:
type: object
properties:
models:
type: array
items:
type: string
tools:
type: array
items:
type: string
additionalProperties: false
required:
- principal
- requested
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:
- SupabaseJwt: []
/auth/grants/{id}/revoke:
post:
operationId: authGrantsRevoke
summary: Break-glass revoke (tenant owner/admin; cascade default true; audited as…
tags:
- Grants
x-br-capability-id: auth.grants.revoke
x-br-version: v1
parameters:
- name: id
in: path
required: true
schema:
type: string
minLength: 1
requestBody:
required: true
content:
application/json:
schema:
$schema: http://json-schema.org/draft-07/schema#
type: object
properties:
cascade:
type: boolean
reason:
type: string
maxLength: 500
required: []
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:
- SupabaseJwt: []
/v1/grants:
get:
operationId: grantsList
summary: List grants for the tenant (filter by subject / status / root)
tags:
- Grants
x-br-capability-id: grants.list
x-br-version: v1
parameters:
- name: subject
in: query
required: false
schema:
type: string
- name: status
in: query
required: false
schema:
type: string
- name: root
in: query
required: false
schema:
type: string
- name: limit
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: {}
security:
- BearerAuth: []
post:
operationId: grantsIssue
summary: Mint a root capability grant (api_key auth; root scope ⊆ issuer effective scope)
tags:
- Grants
x-br-capability-id: grants.issue
x-br-version: v1
requestBody:
required: true
content:
application/json:
schema:
$schema: http://json-schema.org/draft-07/schema#
type: object
properties:
subject:
type: string
minLength: 1
description: Holder principal URI
subject_auth_method:
type: string
enum:
- jwt
- api_key
- mtls
models:
minItems: 1
type: array
items:
type: string
description: Model allow-list (canonical labels)
tools:
type: array
items:
type: string
max_uses:
type: integer
minimum: 0
maximum: 9007199254740991
expires_in_seconds:
type: integer
exclusiveMinimum: 0
maximum: 9007199254740991
required:
- subject
- models
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/grants/{id}:
get:
operationId: grantsGet
summary: Fetch a grant record + verified chain summary
tags:
- Grants
x-br-capability-id: grants.get
x-br-version: v1
parameters:
- name: id
in: path
required: true
schema:
type: string
minLength: 1
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/grants/{id}/attenuate:
post:
operationId: grantsAttenuate
summary: Derive a child grant (identity == parent subject; double subset bound)
tags:
- Grants
x-br-capability-id: grants.attenuate
x-br-version: v1
parameters:
- name: id
in: path
required: true
schema:
type: string
minLength: 1
description: Parent grant id
requestBody:
required: true
content:
application/json:
schema:
$schema: http://json-schema.org/draft-07/schema#
type: object
properties:
subject:
type: string
minLength: 1
subject_auth_method:
type: string
enum:
- jwt
- api_key
- mtls
models:
type: array
items:
type: string
tools:
type: array
items:
type: string
max_uses:
type: integer
minimum: 0
maximum: 9007199254740991
expires_in_seconds:
type: integer
exclusiveMinimum: 0
maximum: 9007199254740991
required: []
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/grants/{id}/chain:
get:
operationId: grantsChain
summary: Export the per-link-verifiable chain bundle (envelopes + signatures + JWKS ref)
tags:
- Grants
x-br-capability-id: grants.chain
x-br-version: v1
parameters:
- name: id
in: path
required: true
schema:
type: string
minLength: 1
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/grants/{id}/check:
post:
operationId: grantsCheck
summary: 'Standalone PDP: signed allow/deny verdict for a principal + requested scope'
tags:
- Grants
x-br-capability-id: grants.check
x-br-version: v1
parameters:
- name: id
in: path
required: true
schema:
type: string
minLength: 1
description: Grant id (the leaf to evaluate)
requestBody:
required: true
content:
application/json:
schema:
$schema: http://json-schema.org/draft-07/schema#
type: object
properties:
principal:
type: string
minLength: 1
description: Subject principal URI being authorized
requested:
type: object
properties:
models:
type: array
items:
type: string
tools:
type: array
items:
type: string
additionalProperties: false
required:
- principal
- requested
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/grants/{id}/revoke:
post:
operationId: grantsRevoke
summary: 'Revoke a grant (issuer / ancestor-subject; admin role: any; cascade default…'
tags:
- Grants
x-br-capability-id: grants.revoke
x-br-version: v1
parameters:
- name: id
in: path
required: true
schema:
type: string
minLength: 1
description: Grant id to revoke
requestBody:
required: true
content:
application/json:
schema:
$schema: http://json-schema.org/draft-07/schema#
type: object
properties:
cascade:
type: boolean
reason:
type: string
maxLength: 500
required: []
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: []
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)