integrations:read. Changes and explicit credential tests require
integrations:write. These permissions are project-scoped. Device and end-user
tokens cannot administer integrations.
This authored guide describes the packaged CLI/MCP compatibility source preview.
It does not extend this site’s published OpenAPI projection. Additional REST
schema publication and matching-backend availability remain separate.The public CLI
0.2.0-beta.0 cohort includes the integration commands
and local MCP forwarding below. Hosted admission still requires the matching
deployed backend. The REST examples below describe source compatibility; client
publication or documentation availability does not establish an environment’s
deployed version or provider approval.Configure a provider
Enter a provider key through Platform or a trusted server-side secret store. For terminal administration, pass the value to the CLI through standard input. Never put a provider key in a command argument or ask an assistant to collect, copy or rotate the raw key in a conversation.CLI — read a protected secret file
--key-stdin is accepted only for
set and rotate. Input is bounded to 16 KiB and a 30-second deadline. It is
not echoed or included in command output.
set creates or replaces the current project’s entry for the provider and
enables it. Use rotate to replace the key on an existing integration by ID.
Disabling keeps the saved configuration; deleting removes it from Bota. Neither
action revokes the key at the external provider. Review the affected processing
configuration before changing or removing an entry.
Configure provider/model selection and automatic-processing settings separately
through the corresponding processing request or configuration.
REST compatibility source preview
All paths below are relative tohttps://api.bota.dev/v1. Provider type is
asr or llm; the provider name must be supported for that type. Examples
include asr/deepgram and llm/openai.
Credential writes
Create or replace using a JSON object supplied by your trusted backend:Example shape — inject the credential from your secret store
is_enabled, or do both. Credentials are
write-only: reads return metadata rather than the raw or encrypted key. An
uncertain write response does not prove failure; retrieve the entry’s metadata
and reconcile before intentionally repeating a change.
Metadata
REST integration objects includeid, project_id, provider_type,
provider_name, is_enabled, nullable last_used_at and last_error, and
created_at / updated_at timestamps. These are stored observations, not a
fresh processing or provider-health result. Treat server diagnostic text as
potentially sensitive and avoid copying it into assistant prompts or logs.
CLI and MCP present a safer metadata projection: they expose a boolean
has_error instead of raw last_error. They do not reveal the stored key.
CLI commands
Use the integration ID returned by a list or get operation for ID-based commands. Commands use your selected Bota project credentials and the same read/write admission as REST.200.
Hosted and local MCP
Developer MCP tools support bounded administration without accepting provider secrets. In the default legacy local mode, these five tools forward to the hosted MCP implementation with the current project credential. Older local tools retain their existing implementation and result shapes. Legacy discovery lists all five integration tools; the hosted server authorizes each forwarded invocation. The separate opt-in hosted mode forwards discovery and invocation for the complete authorized hosted inventory. Its discovery filters the current credential’s scopes, just as a direct hosted connection does. Neither mode treats a visible tool as permission to invoke it, and neither changes the requirement to enter provider keys outside chat.get_integration and test_integration take provider_type and
provider_name. update_integration accepts only id and is_enabled;
delete_integration takes id. There is no MCP api_key input or credential
readback. Provider administration is unavailable to the end-user MCP tier.
What a test proves
A test makes a basic provider request with the selected stored key, subject to the applicable provider and policy checks. It can consume provider capacity. The provider request has a 10-second deadline, refuses redirects, and is not automatically retried. That deadline is separate from CLI standard-input and client-request deadlines. The REST form also permits a supplied key for a trusted server-side test; CLI/MCP deliberately test the stored key only. Success reports basic credential validity for that check. It does not verify the full transcription, summary or Ask pipeline, every model permission, billing availability, or HIPAA/GDPR and other provider-route approvals. Credential testing is currently unavailable for projects with HIPAA or GDPR mode enabled: the shared REST/Platform/MCP guard returns HTTP409 with
provider_route_not_approved before contacting the provider. There is no
approved credential-test route today, and approving a processing route does
not authorize this separate authentication check. Do not disable the project’s
protection mode to bypass that refusal.
Keep tests explicit. Do not automatically repeat an uncertain provider call
or infer that a stored error flag explains its underlying cause. See
Authentication and
regulated processing guidance for the separate admission
boundaries.
