botbook/src/10-rest/admin-api.md

2.7 KiB

Admin API

The Admin API provides endpoints for system administration, user management, and configuration management.

Status: Roadmap

This API is on the development roadmap. The endpoints documented below represent the planned interface design.

Base URL

http://localhost:8080/api/v1/admin

Authentication

Uses the standard botserver authentication mechanism with administrator-level permissions required.

Endpoints

System Configuration

Method Endpoint Description
GET /api/v1/admin/config Retrieve system configuration
PUT /api/v1/admin/config Update system configuration

User Management

Method Endpoint Description
GET /api/v1/admin/users List all users
POST /api/v1/admin/users Create a new user
GET /api/v1/admin/users/{user_id} Get user details
PUT /api/v1/admin/users/{user_id} Update user
DELETE /api/v1/admin/users/{user_id} Delete user

Bot Management

Method Endpoint Description
GET /api/v1/admin/bots List all bots
GET /api/v1/admin/bots/{bot_id} Get bot details
POST /api/v1/admin/bots/{bot_id}/restart Restart a bot
DELETE /api/v1/admin/bots/{bot_id} Delete a bot

System Health

Method Endpoint Description
GET /api/v1/admin/health System health check
GET /api/v1/admin/metrics System metrics

Audit Logs

Method Endpoint Description
GET /api/v1/admin/audit Retrieve audit logs
GET /api/v1/admin/audit/{event_id} Get specific audit event

Request Examples

Get System Configuration

config = GET "/api/v1/admin/config"
TALK "Server port: " + config.server_port

Create User

user_data = NEW OBJECT
user_data.email = "admin@example.com"
user_data.role = "administrator"

result = POST "/api/v1/admin/users", user_data
TALK "Created user: " + result.id

Restart Bot

POST "/api/v1/admin/bots/my-bot/restart", {}
TALK "Bot restart initiated"

Response Codes

Code Description
200 Success
201 Created
204 No Content (successful deletion)
400 Bad Request
401 Unauthorized
403 Forbidden (insufficient permissions)
404 Not Found
500 Internal Server Error

Required Permissions

Endpoint Category Required Role
System Configuration admin
User Management admin
Bot Management admin or bot_manager
System Health admin or monitor
Audit Logs admin or auditor