Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
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.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/bird-conversations-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
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 Specification
openapi: 3.2.0
info:
title: Bird Conversations API
description: REST API for Bird (formerly MessageBird), an omnichannel CRM. The Bird platform APIs at https://api.bird.com cover Channels/Messaging (send and receive across SMS, WhatsApp, email, and more), Contacts, Conversations, and Numbers. The legacy MessageBird REST API at https://rest.messagebird.com (SMS, Voice, Verify, Lookup) is documented here for existing integrations. All endpoints authenticate with an AccessKey token via the Authorization header.
termsOfService: https://bird.com/legal/terms-of-service
contact:
name: Bird Support
url: https://docs.bird.com/
version: '1.0'
servers:
- url: https://api.bird.com
description: Bird platform API
- url: https://rest.messagebird.com
description: Legacy MessageBird REST API
security:
- AccessKey: []
tags:
- name: Conversations
description: Manage threaded omnichannel conversations.
paths:
/workspaces/{workspaceId}/conversations:
post:
operationId: createConversation
tags:
- Conversations
summary: Create a conversation
parameters:
- $ref: '#/components/parameters/WorkspaceId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateConversation'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/Conversation'
/workspaces/{workspaceId}/conversations/{conversationId}/messages:
post:
operationId: createConversationMessage
tags:
- Conversations
summary: Send a conversation message
parameters:
- $ref: '#/components/parameters/WorkspaceId'
- $ref: '#/components/parameters/ConversationId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateMessage'
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/Message'
/workspaces/{workspaceId}/conversations/{conversationId}/messages/{messageId}:
get:
operationId: getConversationMessage
tags:
- Conversations
summary: Get a conversation message
parameters:
- $ref: '#/components/parameters/WorkspaceId'
- $ref: '#/components/parameters/ConversationId'
- name: messageId
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Message'
components:
schemas:
CreateConversation:
type: object
properties:
channelId:
type: string
participants:
type: array
items:
type: object
MessageBody:
type: object
properties:
type:
type: string
enum:
- text
- image
- file
- html
text:
type: object
properties:
text:
type: string
Receiver:
type: object
properties:
contacts:
type: array
items:
type: object
properties:
identifierValue:
type: string
identifierKey:
type: string
CreateMessage:
type: object
required:
- receiver
properties:
receiver:
$ref: '#/components/schemas/Receiver'
body:
$ref: '#/components/schemas/MessageBody'
template:
type: object
description: Template reference and variables (required when body is absent).
tags:
type: array
items:
type: string
Message:
type: object
properties:
id:
type: string
status:
type: string
direction:
type: string
enum:
- incoming
- outgoing
sender:
type: object
receiver:
$ref: '#/components/schemas/Receiver'
body:
$ref: '#/components/schemas/MessageBody'
createdAt:
type: string
format: date-time
Conversation:
type: object
properties:
id:
type: string
status:
type: string
channelId:
type: string
createdAt:
type: string
format: date-time
parameters:
WorkspaceId:
name: workspaceId
in: path
required: true
description: Bird workspace identifier.
schema:
type: string
ConversationId:
name: conversationId
in: path
required: true
schema:
type: string
securitySchemes:
AccessKey:
type: apiKey
in: header
name: Authorization
description: AccessKey token. Send as the Authorization header value "AccessKey {your-access-key}".