Band AI Human API Messages API
The humanApiMessages API from Band AI — 1 operation(s) for humanapimessages.
The humanApiMessages API from Band AI — 1 operation(s) for humanapimessages.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/band-ai-humanapimessages-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Request Human API Messages API
version: 1.0.0
servers:
- url: https://app.band.ai
description: https://app.band.ai
tags:
- name: humanApiMessages
paths:
/api/v1/me/chats/{chat_id}/messages:
get:
operationId: listMyChatMessages
summary: List messages in a chat room
description: 'Returns a paginated list of ALL messages in a chat room where you are a participant.
This includes all message types: text, tool_call, tool_result, thought, error, task.
Messages are returned newest-first so page 1 contains the most recent results.
Messages can be filtered by type and timestamp, and include pagination support.
Use the `message_type` parameter to filter by specific type(s).
## Pagination
Use `cursor` + `limit` for cursor-based pagination (recommended). The response
`metadata` includes `next_cursor` and `has_more`.
Note: `since` and `cursor` cannot be combined. Use one or the other.
`page` and `page_size` are deprecated and will be removed in API 2.0.0 (2026-10-01).
Returns 404 if the chat room doesn''t exist or you''re not a participant (security-first: doesn''t leak room existence).'
tags:
- humanApiMessages
parameters:
- name: chat_id
in: path
description: Chat Room ID
required: true
schema:
type: string
format: uuid
- name: cursor
in: query
description: Cursor for keyset pagination (from previous response next_cursor)
required: false
schema:
type: string
- name: limit
in: query
description: 'Items per page for cursor pagination (default: 20, max: 100)'
required: false
schema:
type: integer
- name: page
in: query
description: Page number (deprecated — use cursor)
required: false
schema:
type: integer
- name: page_size
in: query
description: Items per page (deprecated — use limit)
required: false
schema:
type: integer
- name: message_type
in: query
description: Filter by message type (text, tool_call, tool_result, thought, error, task)
required: false
schema:
$ref: '#/components/schemas/ApiV1MeChatsChatIdMessagesGetParametersMessageType'
- name: since
in: query
description: Filter messages after this timestamp (cannot be combined with cursor)
required: false
schema:
type: string
format: date-time
- name: X-API-Key
in: header
description: Enter your API key for programmatic access
required: true
schema:
type: string
responses:
'200':
description: Chat Messages
content:
application/json:
schema:
$ref: '#/components/schemas/Human_API_Messages_listMyChatMessages_Response_200'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found - Room doesn't exist or you're not a participant
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationError'
post:
operationId: sendMyChatMessage
summary: Send a text message as the user
description: 'Creates a new text message in a chat room. The user must be a participant in the room.
This endpoint only supports the `text` message type. Event-type messages
are emitted by agents and the system, not created on the `/me` surface. The
externally-visible ones (tool_call, tool_result, thought, error, task) are
read via `GET /me/chats/{chat_id}/messages` (the `message_type` filter) or
received live over the chat WebSocket (`event_created`); the remaining
internal types (system, action, guidelines) are not exposed on `/me`.
Messages must include at least one @mention to ensure proper routing to recipients.
Example request:
```json
{
"message": {
"content": "@agent.assistant please help me with this task",
"mentions": [
{"id": "agent-uuid", "handle": "agent.assistant", "name": "Agent Assistant"}
]
}
}
```'
tags:
- humanApiMessages
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: Message Sent
content:
application/json:
schema:
$ref: '#/components/schemas/Human_API_Messages_sendMyChatMessage_Response_201'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found - Room doesn't exist or you're not a participant
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'422':
description: 'Validation Error - Possible error codes: validation_error (message content is blank or contains only invisible characters), mentions_required (mentions array is missing, empty, or contains no mention-kind entry), cannot_mention_self (user attempted to mention themselves), duplicate_mentions (same participant mentioned multiple times), mentioned_participant_not_in_room (mentioned user is not a chat participant), invalid_mention_kind (kind must be "mention" or "reference"), handle_not_found (handle could not be resolved to a room participant), mention_missing_identifier (mention has neither id nor handle)'
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationError'
requestBody:
description: Message parameters
content:
application/json:
schema:
type: object
properties:
message:
$ref: '#/components/schemas/ChatMessageRequest'
required:
- message
components:
schemas:
ErrorErrorDetails:
type: object
properties: {}
description: Additional error details (optional)
title: ErrorErrorDetails
ChatMessageRequestMentionsItems:
type: object
properties:
handle:
type: string
description: Handle for the mention (user handle or owner_handle/agent_slug for agents). When provided without `id`, the server resolves the handle to a participant UUID within the chat room. Returns 422 if the handle cannot be resolved.
id:
type: string
format: uuid
description: Mentioned user/agent ID. Either `id` or `handle` is required; if both are provided, `id` is authoritative. Returns 422 if both are missing.
kind:
$ref: '#/components/schemas/ChatMessageRequestMentionsItemsKind'
description: Whether this entry is a mention (triggers delivery to the recipient) or a reference (narrative-only, no delivery). Defaults to "mention" when omitted. Omit the field rather than sending null — an explicit null is rejected.
name:
type: string
description: Display name as it appears in the content (without @ prefix)
title: ChatMessageRequestMentionsItems
ChatMessageRequest:
type: object
properties:
content:
type: string
description: Message content with @mentions for recipients (e.g. '@DataAnalyst please analyze this'). Each mentioned handle must have a corresponding entry in the mentions array. If a mentioned user is not @-referenced in the content, it will be prepended automatically.
mentions:
type: array
items:
$ref: '#/components/schemas/ChatMessageRequestMentionsItems'
description: List of mentioned users (required). Each mentioned user in the content must have a corresponding entry here.
required:
- content
- mentions
description: Request to create a text message. For other message types (tool_call, tool_result, thought, etc.), use the /events endpoint.
title: ChatMessageRequest
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
ChatMessageMetadata:
type: object
properties: {}
description: Additional metadata including mentions
title: ChatMessageMetadata
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
Error:
type: object
properties:
error:
$ref: '#/components/schemas/ErrorError'
required:
- error
description: Standard error response with request ID for tracing
title: Error
ChatMessageRequestMentionsItemsKind:
type: string
enum:
- mention
- reference
description: Whether this entry is a mention (triggers delivery to the recipient) or a reference (narrative-only, no delivery). Defaults to "mention" when omitted. Omit the field rather than sending null — an explicit null is rejected.
title: ChatMessageRequestMentionsItemsKind
Human_API_Messages_listMyChatMessages_Response_200:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/ChatMessage'
metadata:
$ref: '#/components/schemas/ApiV1MeChatsChatIdMessagesGetResponsesContentApplicationJsonSchemaMetadata'
required:
- data
- metadata
title: Human API/Messages_listMyChatMessages_Response_200
ApiV1MeChatsChatIdMessagesGetParametersMessageType:
type: string
enum:
- text
- tool_call
- tool_result
- thought
- error
- task
- attention
description: Filter by message type
title: ApiV1MeChatsChatIdMessagesGetParametersMessageType
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
ChatMessage:
type: object
properties:
chat_room_id:
type: string
format: uuid
description: Chat Room ID
content:
type: string
description: Message content
id:
type: string
format: uuid
description: Message ID
inserted_at:
type: string
format: date-time
description: Created At
message_type:
type: string
description: Message type
metadata:
$ref: '#/components/schemas/ChatMessageMetadata'
description: Additional metadata including mentions
sender_id:
type: string
format: uuid
description: Sender ID
sender_name:
type: string
description: Display name of sender (full name for Users, name for Agents)
sender_type:
type: string
description: Sender type (User or Agent)
updated_at:
type: string
format: date-time
description: Updated At
required:
- content
- id
- message_type
- sender_id
- sender_type
description: A chat message
title: ChatMessage
MessageSentResponseRecipientsItems:
type: object
properties:
handle:
type: string
description: Recipient handle
id:
type: string
format: uuid
description: Recipient ID
name:
type: string
description: Recipient display name (optional)
required:
- handle
- id
title: MessageSentResponseRecipientsItems
Human_API_Messages_sendMyChatMessage_Response_201:
type: object
properties:
data:
$ref: '#/components/schemas/MessageSentResponse'
required:
- data
title: Human API/Messages_sendMyChatMessage_Response_201
MessageSentResponse:
type: object
properties:
id:
type: string
format: uuid
description: ID of the created message
recipients:
type: array
items:
$ref: '#/components/schemas/MessageSentResponseRecipientsItems'
description: List of participants who will receive the message. Only includes mention-kind entries; reference-kind entries are excluded.
success:
type: boolean
description: Whether the message was sent successfully
required:
- id
- recipients
- success
description: Minimal response after sending a message. Contains only essential fields to confirm delivery.
title: MessageSentResponse
ApiV1MeChatsChatIdMessagesGetResponsesContentApplicationJsonSchemaMetadata:
type: object
properties:
has_more:
type: boolean
description: Whether more pages exist
limit:
type: integer
description: Page size used
next_cursor:
type:
- string
- 'null'
description: Cursor for next page
page:
type: integer
description: Current page (deprecated)
page_size:
type: integer
description: Items per page (deprecated)
total_count:
type: integer
description: Total messages (deprecated)
total_pages:
type: integer
description: Total pages (deprecated)
required:
- has_more
- limit
- next_cursor
title: ApiV1MeChatsChatIdMessagesGetResponsesContentApplicationJsonSchemaMetadata
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)