Configuration API
Manage Pandora’s agent configuration programmatically via the REST API.
Endpoints
Get Current Config
GET /api/config
Authorization: Bearer <token>Returns the fully resolved config object (defaults merged with stored values).
Update Config
PATCH /api/config
Authorization: Bearer <token>
Content-Type: application/json
{
"identity": { "name": "My Assistant" },
"models": {
"operator": {
"provider": "openai",
"model": "gpt-4o"
}
}
}Accepts a partial config object. Values are deep-merged with the existing config, validated, and persisted to storage. Returns the fully resolved config on success.
Returns 400 if validation fails, with validation errors in the error field.
Config Schema
| Section | Description | Fields |
|---|---|---|
identity | Agent name | name |
timezone | IANA timezone string | Default "UTC". Used for scheduling and time context. |
personality | Behavior and tone | systemPrompt |
models | LLM configuration | operator: { provider, model, temperature?, maxTokens? } |
plugins | Plugin management | Keyed by plugin ID: { enabled, ...pluginFields } |
memory | Memory features | semanticRecall: { enabled, embedder? }, workingMemory: { enabled } |
schedule | Task scheduling | enabled, tasks[] (see Schedule API) |
onboardingComplete | First-run flag | boolean. Set to true after the onboarding wizard completes. |
Plugin Config
Plugin configuration is stored under the plugins key, keyed by plugin ID (the id field from the plugin’s manifest):
{
"plugins": {
"@pandorakit/telegram": {
"enabled": true,
"ownerId": "123456789"
},
"@pandorakit/research-agent": {
"enabled": true,
"agents": {
"research": {
"model": { "provider": "anthropic", "model": "claude-sonnet-4-20250514" }
}
}
}
}
}Each plugin’s config is validated against its declared configFields. Plugins with required fields that aren’t configured are skipped at load time.
SDK Types
These types are available from @pandorakit/sdk/api:
import type { Config, ModelConfig, DeepPartial } from '@pandorakit/sdk/api'See SDK Client for the typed client that wraps these endpoints.