Export aggregate config
GET/api/v1/chatbots/:chatbotId/config
Assembles the chatbot's CURRENT configuration into a single canonical desired-state document (the "export current config" / drift baseline for the declarative apply). Reuses every section serializer; never returns secrets — accessProtection.jwtConfig.secret is collapsed to hasSecret, and the access-protection / external-api key arrays are excluded entirely. Baseline scope: chatbots:read. Per-section read-scope gating (least-privilege): a section is OMITTED from spec when the caller's key lacks its read scope, and listed in _omittedSections (core/scopes→chatbots:read, mcpServers→mcp:read, skills→skills:read, accessProtection/externalApi/accessLists/telemetry→security:read, domains→domains:read). Firebase callers hold all scopes.
Request
Responses
- 200
- 401
- 403
- 404
- 429
Assembled desired-state config document.
Unauthorized — missing or invalid API key
Forbidden — key lacks required scope
Not Found
Too Many Requests — rate limit exceeded