Cast AI Model Access API
Manages which models the members of an organization, and of each of its teams, may call.
Manages which models the members of an organization, and of each of its teams, may call.
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/kimchi:kimchi-modelaccessapi-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: AI Enabler Model Access API
version: 0.0.1
description: Manages which models the members of an organization, and of each of its teams, may call.
servers:
- url: https://api.cast.ai/
description: US endpoint
- url: https://api.eu.cast.ai/
description: EU endpoint
security:
- BearerAuth: []
- ApiKeyAuth: []
tags:
- name: ModelAccessAPI
description: Manages which models the members of an organization, and of each of its teams, may call.
paths:
/ai-optimizer/v1beta/organizations/{organizationId}/model-access:
get:
tags:
- ModelAccessAPI
summary: Get organization model access
description: 'Returns the organization''s model access rule. Without a rule the organization allows every model;
team exceptions still apply.'
operationId: ModelAccessAPI_GetOrganizationModelAccess
parameters:
- name: organizationId
in: path
description: Organization ID.
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationModelAccess'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
patch:
tags:
- ModelAccessAPI
summary: Update organization model access
description: 'Replaces the whole organization model access rule; lists omitted from the request are cleared.
default_access ALLOW with no entries removes the rule, as if it was never set.'
operationId: ModelAccessAPI_UpdateOrganizationModelAccess
parameters:
- name: organizationId
in: path
description: Organization ID.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationModelAccess'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationModelAccess'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/ai-optimizer/v1beta/organizations/{organizationId}/model-access-catalog:
get:
tags:
- ModelAccessAPI
summary: Get model access catalog
description: Returns the integrations and models that model access rules can reference.
operationId: ModelAccessAPI_GetModelAccessCatalog
parameters:
- name: organizationId
in: path
description: Organization ID.
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ModelAccessCatalog'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/ai-optimizer/v1beta/organizations/{organizationId}/team-model-access:
get:
tags:
- ModelAccessAPI
summary: List team model access
description: 'Lists the model access of every team that has exceptions. Teams that are not listed inherit the
organization rule.
(-- api-linter: core::0132::request-required-fields=disabled
aip.dev/not-precedent: At most one entry per team; no pagination needed. --)'
operationId: ModelAccessAPI_ListTeamModelAccess
parameters:
- name: organizationId
in: path
description: Organization ID.
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListTeamModelAccessResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/ai-optimizer/v1beta/organizations/{organizationId}/teams/{teamId}/model-access:
get:
tags:
- ModelAccessAPI
summary: Get team model access
description: 'Returns a team''s model access. A team without exceptions returns empty lists and inherits the
organization rule.'
operationId: ModelAccessAPI_GetTeamModelAccess
parameters:
- name: organizationId
in: path
description: Organization ID.
required: true
schema:
type: string
- name: teamId
in: path
description: Team ID.
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/TeamModelAccess'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
patch:
tags:
- ModelAccessAPI
summary: Update team model access
description: 'Replaces all of a team''s exceptions; lists omitted from the request are cleared. Empty lists remove
the exceptions, so the team inherits the organization rule.'
operationId: ModelAccessAPI_UpdateTeamModelAccess
parameters:
- name: organizationId
in: path
description: Organization ID.
required: true
schema:
type: string
- name: teamId
in: path
description: Team ID.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TeamModelAccess'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/TeamModelAccess'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
components:
schemas:
Status:
type: object
properties:
code:
type: integer
description: The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
format: int32
message:
type: string
description: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
details:
type: array
items:
$ref: '#/components/schemas/GoogleProtobufAny'
description: A list of messages that carry the error details. There is a common set of message types for APIs to use.
description: 'The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).'
OrganizationModelAccess:
required:
- defaultAccess
type: object
properties:
defaultAccess:
enum:
- DEFAULT_ACCESS_UNSPECIFIED
- ALLOW
- DENY
type: string
description: Decision for models no entry matches.
format: enum
allowed:
type: array
items:
$ref: '#/components/schemas/ModelRef'
description: Entries that allow models.
blocked:
type: array
items:
$ref: '#/components/schemas/ModelRef'
description: Entries that block models.
updateTime:
readOnly: true
type: string
description: When the rule was last changed. Unset when the organization has no rule.
format: date-time
updatedBy:
readOnly: true
type: string
description: Who last changed the rule.
description: The organization-wide model access rule.
ModelRef:
required:
- model
type: object
properties:
model:
type: string
description: Canonical model name (e.g. "claude-fable-5"), or "*" for every model on provider_id.
providerId:
type: string
description: "ID of a registered provider (integration). Unset matches the model on every integration.\n Required when model is \"*\"."
description: "One rule entry. It matches a model on one integration (model + provider_id), every model on one\n integration (model \"*\" + provider_id), or a model on every integration (model only). When several\n entries of one rule match, the more specific one wins, in that order."
ListTeamModelAccessResponse:
required:
- items
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/TeamModelAccess'
description: Model access of every team that has exceptions.
description: Response for ListTeamModelAccess.
TeamModelAccess:
type: object
properties:
teamId:
readOnly: true
type: string
description: Team ID.
allowed:
type: array
items:
$ref: '#/components/schemas/ModelRef'
description: Entries that allow models for the team, overriding the organization rule.
blocked:
type: array
items:
$ref: '#/components/schemas/ModelRef'
description: Entries that block models for the team, overriding the organization rule.
updateTime:
readOnly: true
type: string
description: When the exceptions were last changed. Unset when the team has no exceptions.
format: date-time
updatedBy:
readOnly: true
type: string
description: Who last changed the exceptions.
description: "A team's model access: its exceptions to the organization rule. Every team has one; with empty lists\n the team inherits the organization rule."
ModelAccessCatalog:
required:
- integrations
type: object
properties:
integrations:
type: array
items:
$ref: '#/components/schemas/CatalogIntegration'
description: Integrations, CAST AI-hosted first, then by name.
description: The integrations and models that model access rules can reference.
CatalogIntegration:
required:
- providerId
- name
- providerType
- hosted
- models
type: object
properties:
providerId:
type: string
description: Registered provider ID; use as ModelRef.provider_id.
name:
type: string
description: Integration name.
providerType:
type: string
description: Provider type, e.g. "anthropic", "aws-bedrock", "ai-enabler".
hosted:
type: boolean
description: True for CAST AI-hosted integrations.
models:
type: array
items:
type: string
description: Canonical names of the models the integration serves.
description: An integration (registered provider) that model access rules can reference.
GoogleProtobufAny:
type: object
properties:
'@type':
type: string
description: The type of the serialized message.
additionalProperties: true
description: Contains an arbitrary serialized message along with a @type that describes the type of the serialized message.
securitySchemes:
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
ApiKeyAuth:
type: apiKey
in: header
name: X-API-Key
x-provenance:
method: searched
source: https://docs.cast.ai/reference
harvested: '2026-10-20'
tool: harvest-readme-openapi.py
note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored.
assembled_from:
- https://docs.cast.ai/reference/analyticsapi_generateanalytics.md
- https://docs.cast.ai/reference/analyticsapi_generatebillingmodelusagereport.md
- https://docs.cast.ai/reference/analyticsapi_generatebreakdown.md
- https://docs.cast.ai/reference/analyticsapi_generatelatestchatcompletionsummary.md
- https://docs.cast.ai/reference/analyticsapi_generatelatestevaluationsummary.md
- https://docs.cast.ai/reference/analyticsapi_generatelatestinferencesummaries.md
- https://docs.cast.ai/reference/analyticsapi_generaterouterreport.md
- https://docs.cast.ai/reference/analyticsapi_queryanalytics.md
- https://docs.cast.ai/reference/apikeysapi_createapikey.md
- https://docs.cast.ai/reference/apikeysapi_deleteapikeybudget.md
- https://docs.cast.ai/reference/apikeysapi_deleteorganizationbudget.md
- https://docs.cast.ai/reference/apikeysapi_deleteteambudget.md
- https://docs.cast.ai/reference/apikeysapi_deleteuserbudget.md
- https://docs.cast.ai/reference/apikeysapi_getapikeybudget.md
- https://docs.cast.ai/reference/apikeysapi_getbudgetoverview.md
- https://docs.cast.ai/reference/apikeysapi_getorganizationbudget.md
- https://docs.cast.ai/reference/apikeysapi_getteambudget.md
- https://docs.cast.ai/reference/apikeysapi_getuserbudget.md
- https://docs.cast.ai/reference/apikeysapi_getuserbudgetstatus.md
- https://docs.cast.ai/reference/apikeysapi_listapikeybudgets.md
- https://docs.cast.ai/reference/apikeysapi_listorganizationbudgets.md
- https://docs.cast.ai/reference/apikeysapi_listteambudgets.md
- https://docs.cast.ai/reference/apikeysapi_listuserbudgets.md
- https://docs.cast.ai/reference/apikeysapi_updateapikeybudget.md
- https://docs.cast.ai/reference/apikeysapi_updateorganizationbudget.md
- https://docs.cast.ai/reference/apikeysapi_updateteambudget.md
- https://docs.cast.ai/reference/apikeysapi_updateuserbudget.md
- https://docs.cast.ai/reference/apikeysapi_verifyapikey.md
- https://docs.cast.ai/reference/apikeysapi_verifyinference.md
- https://docs.cast.ai/reference/authorizeapi_authorizeaction.md
- https://docs.cast.ai/reference/batchapi_cancelbatch.md
- https://docs.cast.ai/reference/batchapi_createbatch.md
- https://docs.cast.ai/reference/batchapi_getbatch.md
- https://docs.cast.ai/reference/batchapi_listbatches.md
- https://docs.cast.ai/reference/batchapi_reportbatcherror.md
- https://docs.cast.ai/reference/batchapi_updatebatch.md
- https://docs.cast.ai/reference/componentsapi_listcomponents.md
- https://docs.cast.ai/reference/couponsapi_listredeemedcoupons.md
- https://docs.cast.ai/reference/couponsapi_redeemcoupon.md
- https://docs.cast.ai/reference/couponsapi_validatecoupon.md
- https://docs.cast.ai/reference/embeddingsapi_createclusterembedding.md
- https://docs.cast.ai/reference/embeddingsapi_createembedding.md
- https://docs.cast.ai/reference/evaluationsapi_createclusterevaluation.md
- https://docs.cast.ai/reference/evaluationsapi_createevaluation.md
- https://docs.cast.ai/reference/hostedmodeleventsapi_listhostedmodelevents.md
- https://docs.cast.ai/reference/hostedmodelsapi_createhostedmodel.md
- https://docs.cast.ai/reference/hostedmodelsapi_deletehostedmodel.md
- https://docs.cast.ai/reference/hostedmodelsapi_gethostedmodelpods.md
- https://docs.cast.ai/reference/hostedmodelsapi_listhostedmodels.md
- https://docs.cast.ai/reference/hostedmodelsapi_scalehostedmodel.md
- https://docs.cast.ai/reference/hostedmodelsapi_updatehostedmodel.md
- https://docs.cast.ai/reference/llmrequestsapi_listllmrequests.md
- https://docs.cast.ai/reference/marketingapi_handlehubspotwebhook.md
- https://docs.cast.ai/reference/mcpgatewayadminapi_createmcpconnection.md
- https://docs.cast.ai/reference/mcpgatewayadminapi_deletemcpconnection.md
- https://docs.cast.ai/reference/mcpgatewayadminapi_getmcpconnection.md
- https://docs.cast.ai/reference/mcpgatewayadminapi_listmcpconnections.md
- https://docs.cast.ai/reference/mcpgatewayadminapi_updatemcpconnection.md
- https://docs.cast.ai/reference/modelaccessapi_getmodelaccesscatalog.md
- https://docs.cast.ai/reference/modelaccessapi_getorganizationmodelaccess.md
- https://docs.cast.ai/reference/modelaccessapi_getteammodelaccess.md
- https://docs.cast.ai/reference/modelaccessapi_listteammodelaccess.md
- https://docs.cast.ai/reference/modelaccessapi_updateorganizationmodelaccess.md
- https://docs.cast.ai/reference/modelaccessapi_updateteammodelaccess.md
- https://docs.cast.ai/reference/modelregistriesapi_createmodelregistry.md
- https://docs.cast.ai/reference/modelregistriesapi_deletemodelregistry.md
- https://docs.cast.ai/reference/modelregistriesapi_getmodelregistry.md
- https://docs.cast.ai/reference/modelregistriesapi_getonboardingcommand.md
- https://docs.cast.ai/reference/modelregistriesapi_getonboardingscript.md
- https://docs.cast.ai/reference/modelregistriesapi_listmodelregistries.md
- https://docs.cast.ai/reference/modelregistriesapi_listmodelregistrydirectories.md
- https://docs.cast.ai/reference/modelspecsapi_createmodelspecs.md
- https://docs.cast.ai/reference/modelspecsapi_deletemodelspecs.md
- https://docs.cast.ai/reference/modelspecsapi_getmodelspecs.md
- https://docs.cast.ai/reference/modelspecsapi_listmodelspecs.md
- https://docs.cast.ai/reference/oauthappsapi_completeoauthlogin.md
- https://docs.cast.ai/reference/oauthappsapi_createoauthapp.md
- https://docs.cast.ai/reference/oauthappsapi_deleteoauthapp.md
- https://docs.cast.ai/reference/oauthappsapi_disconnectoauthapp.md
- https://docs.cast.ai/reference/oauthappsapi_getoauthapp.md
- https://docs.cast.ai/reference/oauthappsapi_listoauthapps.md
- https://docs.cast.ai/reference/oauthappsapi_registerdiscoveredoauthapp.md
- https://docs.cast.ai/reference/oauthappsapi_startoauthlogin.md
- https://docs.cast.ai/reference/oauthappsapi_updateoauthapp.md
- https://docs.cast.ai/reference/onboardingapi_checkmodelscache.md
- https://docs.cast.ai/reference/onboardingapi_getmodelscachescript.md
- https://docs.cast.ai/reference/onboardingapi_getonboardingcommand.md
- https://docs.cast.ai/reference/onboardingapi_getonboardingscript.md
- https://docs.cast.ai/reference/onboardingapi_getonboardingstatus.md
- https://docs.cast.ai/reference/onboardingapi_getsetupscript.md
- https://docs.cast.ai/reference/onboardingapi_registermodelscache.md
- https://docs.cast.ai/reference/otelapi_generateproductivitymetricstimeseries.md
- https://docs.cast.ai/reference/otelapi_getproductivitymetrics.md
- https://docs.cast.ai/reference/otelapi_ingestlogs.md
- https://docs.cast.ai/reference/otelapi_ingestmetrics.md
- https://docs.cast.ai/reference/playgroundchatcompletionsapi_streamplaygroundchatcompletion.md
- https://docs.cast.ai/reference/policiesapi_createpolicy.md
- https://docs.cast.ai/reference/policiesapi_deletepolicy.md
- https://docs.cast.ai/reference/policiesapi_getpolicy.md
- https://docs.cast.ai/reference/policiesapi_listpolicies.md
- https://docs.cast.ai/reference/policiesapi_listpolicyversions.md
- https://docs.cast.ai/reference/policiesapi_rollbackpolicy.md
- https://docs.cast.ai/reference/policiesapi_syncpolicies.md
- https://docs.cast.ai/reference/policiesapi_updatepolicy.md
- https://docs.cast.ai/reference/prcostsapi_queryprcosts.md
- https://docs.cast.ai/reference/prcostsapi_reportprcosts.md
- https://docs.cast.ai/reference/quotaapi_deleteuserquotapolicy.md
- https://docs.cast.ai/reference/quotaapi_getorgquotapolicy.md
- https://docs.cast.ai/reference/quotaapi_getquotadefaults.md
- https://docs.cast.ai/reference/quotaapi_getquotalimits.md
- https://docs.cast.ai/reference/quotaapi_getquotausage.md
- https://docs.cast.ai/reference/quotaapi_getuserquotapolicy.md
- https://docs.cast.ai/reference/quotaapi_updateorgquotapolicy.md
- https://docs.cast.ai/reference/quotaapi_updateuserquotapolicy.md
- https://docs.cast.ai/reference/rerankingsapi_createclusterreranking.md
- https://docs.cast.ai/reference/rerankingsapi_createreranking.md
- https://docs.cast.ai/reference/secretsapi_createsecret.md
- https://docs.cast.ai/reference/secretsapi_deletesecret.md
- https://docs.cast.ai/reference/secretsapi_getsecret.md
- https://docs.cast.ai/reference/secretsapi_listsecrets.md
- https://docs.cast.ai/reference/secretsapi_setsecretmappings.md
- https://docs.cast.ai/reference/secretsapi_updatesecret.md
- https://docs.cast.ai/reference/sessionsapi_deletesession.md
- https://docs.cast.ai/reference/sessionsapi_getsession.md
- https://docs.cast.ai/reference/sessionsapi_listsessions.md
- https://docs.cast.ai/reference/sessionsapi_resumesession.md
- https://docs.cast.ai/reference/sessionsapi_suspendsession.md
- https://docs.cast.ai/reference/sessionsapi_upsertsession.md
- https://docs.cast.ai/reference/settingsapi_deleteapikeysettings.md
- https://docs.cast.ai/reference/settingsapi_deleteteamsettings.md
- https://docs.cast.ai/reference/settingsapi_getapikeysettings.md
- https://docs.cast.ai/reference/settingsapi_getsettings.md
- https://docs.cast.ai/reference/settingsapi_getteamsettings.md
- https://docs.cast.ai/reference/settingsapi_listapikeysettings.md
- https://docs.cast.ai/reference/settingsapi_listteamsettings.md
- https://docs.cast.ai/reference/settingsapi_resolvesettings.md
- https://docs.cast.ai/reference/settingsapi_updatesettings.md
- https://docs.cast.ai/reference/settingsapi_updateteamsettings.md
- https://docs.cast.ai/reference/settingsapi_upsertapikeysettings.md
- https://docs.cast.ai/reference/subscriptionsapi_checkoutsubscription.md
- https://docs.cast.ai/reference/subscriptionsapi_getplanpricepreview.md
- https://docs.cast.ai/reference/subscriptionsapi_getsubscription.md
- https://docs.cast.ai/reference/subscriptionsapi_handlewebhook.md
- https://docs.cast.ai/reference/subscriptionsapi_managesubscription.md
- https://docs.cast.ai/reference/surveysapi_getsurveystatus.md
- https://docs.cast.ai/reference/surveysapi_updatesurveystatus.md
- https://docs.cast.ai/reference/tagsapi_searchkeys.md
- https://docs.cast.ai/reference/tagsapi_searchtags.md
- https://docs.cast.ai/reference/tagsapi_searchvalues.md
- https://docs.cast.ai/reference/teamsapi_addteammembers.md
- https://docs.cast.ai/reference/teamsapi_createteam.md
- https://docs.cast.ai/reference/teamsapi_deleteteam.md
- https://docs.cast.ai/reference/teamsapi_getteam.md
- https://docs.cast.ai/reference/teamsapi_listteammembers.md
- https://docs.cast.ai/reference/teamsapi_listteams.md
- https://docs.cast.ai/reference/teamsapi_removeteammember.md
- https://docs.cast.ai/reference/teamsapi_updateteam.md
- https://docs.cast.ai/reference/topupapi_listtopuppurchases.md
- https://docs.cast.ai/reference/topupapi_purchasetopup.md
- https://docs.cast.ai/reference/workspacesapi_createworkspace.md
- https://docs.cast.ai/reference/workspacesapi_deleteworkspace.md
- https://docs.cast.ai/reference/workspacesapi_getsecretmappings.md
- https://docs.cast.ai/reference/workspacesapi_getworkspace.md
- https://docs.cast.ai/reference/workspacesapi_getworkspacecost.md
- https://docs.cast.ai/reference/workspacesapi_getworkspacecostprices.md
- https://docs.cast.ai/reference/workspacesapi_getworkspacecostreport.md
- https://docs.cast.ai/reference/workspacesapi_listworkspaces.md
- https://docs.cast.ai/reference/workspacesapi_resumeworkspace.md
- https://docs.cast.ai/reference/workspacesapi_suspendworkspace.md
- https://docs.cast.ai/reference/workspacesapi_upsertworkspace.md
- https://docs.cast.ai/reference/workspacesessionsapi_listworkspacesessions.md
- https://docs.cast.ai/reference/workspacetemplatesapi_createworkspacetemplate.md
- https://docs.cast.ai/reference/workspacetemplatesapi_deleteworkspacetemplate.md
- https://docs.cast.ai/reference/workspacetemplatesapi_getworkspacetemplate.md
- https://docs.cast.ai/reference/workspacetemplatesapi_listworkspacetemplates.md
- https://docs.cast.ai/reference/workspacetemplatesapi_updateworkspacetemplate.md
- https://docs.cast.ai/reference/workspacetokensapi_exchangeworkspacetoken.md
- https://docs.cast.ai/reference/workspacetokensapi_keyverify.md
merge:
pages: 178
deduped: 1003
conflicts_kept_first: 0