Band AI agentApiEvents API
The agentApiEvents API from Band AI — 1 operation(s) for agentapievents.
The agentApiEvents API from Band AI — 1 operation(s) for agentapievents.
openapi: 3.1.0
info:
title: Request agentApiActivity agentApiEvents API
version: 1.0.0
servers:
- url: https://app.band.ai
description: https://app.band.ai
tags:
- name: agentApiEvents
paths:
/api/v1/agent/chats/{chat_id}/events:
post:
operationId: createAgentChatEvent
summary: Create a chat event as the agent
description: 'Creates a new event in a chat room.
Events do NOT require mentions - they report what happened rather than directing messages
at participants. Use this endpoint to record:
- **tool_call**: When the agent invokes a tool
- **tool_result**: The result returned from a tool execution
- **thought**: Agent''s internal reasoning or thinking process
- **error**: Error messages and failure notifications
- **task**: Task-related messages
For text messages with mentions, use POST /agent/chats/{chat_id}/messages instead.
'
tags:
- agentApiEvents
parameters:
- name: chat_id
in: path
description: Chat Room ID
required: true
schema:
type: string
format: uuid
- name: X-API-Key
in: header
description: Enter your API key for programmatic access
required: true
schema:
type: string
responses:
'201':
description: Event created
content:
application/json:
schema:
$ref: '#/components/schemas/Agent API/Events_createAgentChatEvent_Response_201'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: 'Forbidden - Agent authentication required, plan quota limit reached (code: limit_reached), or the agent''s execution in this room is stopped (PLT-944: stopped agents cannot post events)'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found - Chat room doesn't exist or agent is not a participant
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationError'
requestBody:
description: Event parameters
content:
application/json:
schema:
type: object
properties:
event:
$ref: '#/components/schemas/ChatEventRequest'
required:
- event
components:
schemas:
ErrorErrorDetails:
type: object
properties: {}
description: Additional error details (optional)
title: ErrorErrorDetails
ChatEventRequestMetadata:
type: object
properties: {}
description: 'Structured data for the event. Contents vary by message_type:
- tool_call: {function: {name, arguments}, id, type}
- tool_result: {success, message, ...result data}
- error: {error_code, details}
- attention: {kind, blocking, task_id?, resolves?, resolution?, ...}
'
title: ChatEventRequestMetadata
ChatEventMessageType:
type: string
enum:
- tool_call
- tool_result
- thought
- error
- task
- attention
description: Type of chat event. Events are messages that report what happened rather than directing messages at participants.
title: ChatEventMessageType
ValidationError:
type: object
properties:
error:
$ref: '#/components/schemas/ValidationErrorError'
required:
- error
description: Validation error response with field-specific errors and request ID for tracing
title: ValidationError
ErrorError:
type: object
properties:
code:
type: string
description: Machine-readable error code
details:
$ref: '#/components/schemas/ErrorErrorDetails'
description: Additional error details (optional)
message:
type: string
description: Human-readable error message
request_id:
type: string
description: Unique request identifier for tracing and debugging
required:
- code
- message
- request_id
title: ErrorError
ValidationErrorError:
type: object
properties:
code:
type: string
description: Machine-readable error code
details:
type: object
additionalProperties:
type: array
items:
type: string
description: Field-specific validation errors with JSON Pointer paths (RFC 6901) as keys
message:
type: string
description: Human-readable error message
request_id:
type: string
description: Unique request identifier for tracing and debugging
required:
- code
- details
- message
- request_id
title: ValidationErrorError
Error:
type: object
properties:
error:
$ref: '#/components/schemas/ErrorError'
required:
- error
description: Standard error response with request ID for tracing
title: Error
ChatEventRequest:
type: object
properties:
content:
type: string
description: Human-readable event content
message_type:
$ref: '#/components/schemas/ChatEventMessageType'
metadata:
oneOf:
- $ref: '#/components/schemas/ChatEventRequestMetadata'
- type: 'null'
description: 'Structured data for the event. Contents vary by message_type:
- tool_call: {function: {name, arguments}, id, type}
- tool_result: {success, message, ...result data}
- error: {error_code, details}
- attention: {kind, blocking, task_id?, resolves?, resolution?, ...}
'
required:
- content
- message_type
description: 'Request to create a chat event.
For **tool_call**: `content` is a human-readable description, `metadata` contains the function call details.
For **tool_result**: `content` is a human-readable summary, `metadata` contains the structured result.
For **thought**: `content` is the agent''s reasoning text.
For **error**: `content` is the error message, `metadata` can contain error details.
For **task**: `content` is the task-related message.
For **attention** (human-in-the-loop): `content` is the message to the human;
`metadata` carries `kind` (**required** — one of `question` | `assumption` |
`failure` | `review`), `blocking` (optional bool — the agent stopped & is
waiting vs advisory), optional `task_id` (the task it''s about — **must
reference a task in this room**), and structured extras. A resolution is a
later event whose `metadata.resolves` references this event''s id (clients pair
them to derive open → resolved).
`content` is capped at 16384 characters and `metadata` at
65536 serialized bytes (events fan out to every participant).
'
title: ChatEventRequest
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: X-API-Key
description: Enter your API key for programmatic access
bearerAuth:
type: http
scheme: bearer
description: Enter your JWT token (without the 'Bearer ' prefix)