configure() once, and call the operation functions. The same package also
ships an optional MCP server.
Configure
configure() sets Authorization: Bearer <api_key> and (when provided)
X-Subaccount-Id on every request, and remembers the client process-globally.
Arguments fall back to the environment (ASSISTABLE_API_KEY,
ASSISTABLE_SUBACCOUNT_ID, ASSISTABLE_BASE_URL).
Prefer an explicit instance? Use AssistableAI(...) directly — it takes the same
arguments and exposes the same .raw client.
Make a request
Operations live underapi.<topic>.<operation>. Pass client=client.raw and the
operation’s parameters. Every operation returns the full v3 envelope —
{ data, error, request_id } — as a typed model:
sync_detailed(...)— returns the HTTP status code and headers alongside the parsed body.asyncio(...)/asyncio_detailed(...)—await-able variants for async code.
The import path
from assistableai._client.api.assistants import list_assistants
also works if you prefer importing operations directly.Per-call subaccount override
Passx_subaccount_id= to target a different subaccount for a single call
without changing the global default:
MCP server
The package bundles an MCP server that exposes every v3 operation as a tool. Install the optional extra:uvx means no separate install step:
Auth is applied on the underlying HTTP client, so it reaches every tool call.
The server registers one tool per operation (e.g.
listAssistants,
createContact, createCall).
The typed surface (operation functions + models) is generated from
spec/openapi.json and kept in lockstep with the API. See the API
Reference tab for the full list of operations and their shapes.