Skip to main content
POST
Create an AI credential
Requires Admin or Owner. Successful creation returns 201 Created with credential metadata. A duplicate name returns 409, invalid input 400, and unavailable credential storage 503. Do not put real provider credentials in shared examples.

Authorizations

Authorization
string
header
required

Bandwidth Labs OAuth access token. Uses the user's selected workspace; the workspace header is not required. Do not also send an API key. Bearer-only operations may additionally require the Labs super_user role.

Headers

X-VOAI-ORGANIZATION-ID
string | null

Required with X-BW-LABS-AGENTS-API-KEY: the positive local workspace ID to access. The key owner must be a current member. Missing or invalid IDs return 400; non-member workspaces return 403. Not required for bearer authentication, which uses the user's selected workspace.

Body

application/json
name
string
required
Required string length: 1 - 100
provider
enum<string>
required
Available options:
anthropic,
openai,
deepgram,
groq,
openrouter,
cartesia,
elevenlabs,
google,
azure,
azure_speech,
sarvam,
speechmatics,
camb,
aws_bedrock,
speaches,
bandwidth,
assemblyai,
gladia,
rime,
minimax,
xai,
google_vertex,
openai_realtime,
grok_realtime,
ultravox_realtime,
google_realtime,
google_vertex_realtime,
azure_realtime
api_key
string<password> | null
aws_access_key
string<password> | null
aws_secret_key
string<password> | null
aws_session_token
string<password> | null

Response

Successful Response

id
string
required
name
string
required
provider
enum<string>
required
Available options:
anthropic,
openai,
deepgram,
groq,
openrouter,
cartesia,
elevenlabs,
google,
azure,
azure_speech,
sarvam,
speechmatics,
camb,
aws_bedrock,
speaches,
bandwidth,
assemblyai,
gladia,
rime,
minimax,
xai,
google_vertex,
openai_realtime,
grok_realtime,
ultravox_realtime,
google_realtime,
google_vertex_realtime,
azure_realtime