Agents & Provisioning
Switch between Python and TypeScript code examples using the language tabs.
AgentsClient manages the full agent lifecycle. Access it via zaby.agents.
Create an agent
Agent configuration object
Display name for the agent
URL-friendly identifier. Must be unique per tenant.
Human-readable description of the agent’s purpose
- Python
- TypeScript
Unique agent identifier
Initial status — always
“DRAFT”Display name
URL identifier
ISO-8601 creation timestamp
Getting Started
Create, publish, and deploy your first agent in 5 minutes.
Runtime Client
Start runs and stream agent responses.
Manage agents
The current SDK does not include dedicated
get, list, update, or delete methods on AgentsClient. These can be performed via direct API calls using the provisioning endpoints:- List:
GET /api/v1/provisioning/agentic-os/agents(cursor-based pagination) - Get:
GET /api/v1/provisioning/agentic-os/agents/{agentId} - Update:
PATCH /api/v1/provisioning/agentic-os/agents/{agentId} - Delete:
DELETE /api/v1/provisioning/agentic-os/agents/{agentId}
Publish and deploy
Agents start inDRAFT status. Publishing creates a version snapshot; deploying makes it live.
Publish
- Python
- TypeScript
Version identifier (used for deployment)
Deploy
Version ID from the publish step
One of
“TEST” or “PRODUCTION”- Python
- TypeScript
The deployment returns immediately with status
PENDING. Cloudflare provisioning runs in the background. The deployment transitions to ACTIVE after roughly 12 minutes. Calling getProvisioning() before the deployment is ACTIVE returns 404.External apps
External apps represent your application that embeds Zaby agents. They bridge deployments to runtime tokens.Create
Display name
Unique identifier
CORS origins for browser-based runtime
Default TTL for generated tokens
- Python
- TypeScript
Manage
List apps
List apps
- Python
- TypeScript
Get app
Get app
- Python
- TypeScript
Update app
Update app
- Python
- TypeScript
Runtime tokens
Create disposable JWT tokens for theZabyRuntime client.
Single object with all parameters
External app ID
Deployment ID
Quota policy ID (create via runtimeTokenPolicies.create)
End-user identifier
Session identifier
Runtime channel:
"server", "web", "mobile" (default: "server")Token lifespan in seconds (default: 600)
Maximum uses before token expires
Permission scopes for the token
- Python
- TypeScript
Record feedback
Record runtime feedback using the runtime token context:Run identifier
- Python
- TypeScript
Attach tools & knowledge
Attach MCP tool
Attach MCP tool
- Python
- TypeScript
Attach knowledge base
Attach knowledge base
- Python
- TypeScript
Attach skill
Attach skill
- Python
- TypeScript
Test & run
Test run (dry-run)
Test run (dry-run)
- Python
- TypeScript
Production run
Production run
- Python
- TypeScript
Run progress
Run progress
- Python
- TypeScript
Run events
Run events
- Python
- TypeScript
Playground tokens
Playground tokens
- Python
- TypeScript
Approvals
Run identifier
Approval request identifier
- Python
- TypeScript
Usage analytics
- Python
- TypeScript
MCP Client
Manage MCP servers, tools, and installations.
Knowledge Bases
Create and manage knowledge bases with documents.
Memory Client
Store and retrieve agent memory items.
Intelligence Client
Signals, rollups, and improvement tracking.