API Reference
Backoffice APIs
Barbatus

Barbatus API Reference

Overview

The Barbatus API provides endpoints for session management, conversation handling, and API key operations in the TKM AI Agency Platform.

Endpoints

Initialize Session

POST /initialize_session

Initializes a new session for a user in an organization.

Request Body

{
    "user_id": "string",
    "organization_id": "string"
}

Response

{
    "success": true,
    "session_id": "string",
    "conversation_id": "string",
    "user_id": "string",
    "organization_id": "string"
}

Create New Conversation

POST /new_conversation

Creates a new conversation for a user.

Request Body

{
    "user_id": "string",
    "organization_id": "string"
}

Response

{
    "success": true,
    "conversation_id": "string"
}

Verify Session

POST /verify_session

Verifies if a session and its associated conversation are valid.

Request Body

{
    "user_id": "string",
    "conversation_id": "string"
}

Response

{
    "success": true,
    "valid": true
}

Generate API Key

POST /generate_api_key

Generates a new API key for a user with specified permissions.

Request Body

{
    "user_id": "string",
    "permissions": ["string"]
}

Response

{
    "success": true,
    "api_key": "string",
    "metadata": {
        "created_at": "string",
        "permissions": ["string"]
    }
}

List API Keys

GET /list_api_keys/{user_id}

Lists all API keys for a user.

Parameters

NameTypeInRequiredDescription
user_idstringpathYesThe user ID

Response

{
    "api_keys": [
        {
            "key": "string",
            "created_at": "string",
            "permissions": ["string"],
            "active": true
        }
    ]
}

Revoke API Key

POST /revoke_api_key

Revokes an API key.

Request Body

{
    "user_id": "string",
    "api_key": "string"
}

Response

{
    "success": true,
    "message": "API key revoked successfully"
}

Verify API Key

POST /verify_api_key

Verifies if an API key is valid.

Request Body

{
    "api_key": "string"
}

Response

{
    "valid": true
}

Error Responses

500 Internal Server Error

{
    "detail": "Error message"
}

Integration Notes

Session Management

  • Sessions are organization-specific
  • Each session can have multiple conversations
  • Sessions include user authentication and authorization

API Key Management

  • Keys can have specific permissions
  • Keys can be revoked at any time
  • Active status tracking
  • Creation timestamp tracking