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:bird-contacts-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 Contacts API
version: '1.0'
description: 'Operations tagged Contacts across 2 of this provider''s published API definitions: bird-openapi.yml, messagebird-contacts-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.bird.com
description: Bird platform API
- url: https://rest.messagebird.com
description: Legacy MessageBird REST API
tags:
- name: Contacts
description: Manage workspace contacts and lists.
paths:
/workspaces/{workspaceId}/contacts:
post:
operationId: createContact
tags:
- Contacts
summary: Create a contact
parameters:
- $ref: '#/components/parameters/WorkspaceId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateContact'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/Contact'
security:
- AccessKey: []
get:
operationId: listContacts
tags:
- Contacts
summary: List contacts
parameters:
- $ref: '#/components/parameters/WorkspaceId'
- name: limit
in: query
schema:
type: integer
- name: pageToken
in: query
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ContactList'
security:
- AccessKey: []
servers:
- url: https://api.bird.com
description: Bird platform API
- url: https://rest.messagebird.com
description: Legacy MessageBird REST API
/workspaces/{workspaceId}/contacts/{contactId}:
get:
operationId: getContact
tags:
- Contacts
summary: Get a contact
parameters:
- $ref: '#/components/parameters/WorkspaceId'
- $ref: '#/components/parameters/ContactId'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Contact'
security:
- AccessKey: []
patch:
operationId: updateContact
tags:
- Contacts
summary: Update a contact
parameters:
- $ref: '#/components/parameters/WorkspaceId'
- $ref: '#/components/parameters/ContactId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateContact'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Contact'
security:
- AccessKey: []
delete:
operationId: deleteContact
tags:
- Contacts
summary: Delete a contact
parameters:
- $ref: '#/components/parameters/WorkspaceId'
- $ref: '#/components/parameters/ContactId'
responses:
'204':
description: No Content
security:
- AccessKey: []
servers:
- url: https://api.bird.com
description: Bird platform API
- url: https://rest.messagebird.com
description: Legacy MessageBird REST API
/contacts:
get:
operationId: getContacts
summary: List contacts
description: Retrieves a paginated list of all contacts in the address book.
tags:
- Contacts
parameters:
- $ref: '#/components/parameters/offsetParam'
- $ref: '#/components/parameters/limitParam'
responses:
'200':
description: A list of contacts
content:
application/json:
schema:
$ref: '#/components/schemas/ContactList_2'
'401':
description: Unauthorized
security:
- accessKey: []
x-operation-id-source: normalized
x-operation-id-original: listContacts
post:
operationId: postContacts
summary: Create a contact
description: Creates a new contact in the address book with the specified phone number and optional details.
tags:
- Contacts
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ContactCreate'
responses:
'201':
description: Contact created
content:
application/json:
schema:
$ref: '#/components/schemas/Contact_2'
'400':
description: Bad request
'401':
description: Unauthorized
'422':
description: Unprocessable entity
security:
- accessKey: []
x-operation-id-source: normalized
x-operation-id-original: createContact
servers:
- url: https://rest.messagebird.com
description: Production Server
/contacts/{contactId}:
get:
operationId: viewContact
summary: View a contact
description: Retrieves the details of a specific contact by its unique identifier.
tags:
- Contacts
parameters:
- $ref: '#/components/parameters/contactIdParam'
responses:
'200':
description: Contact details
content:
application/json:
schema:
$ref: '#/components/schemas/Contact_2'
'401':
description: Unauthorized
'404':
description: Contact not found
security:
- accessKey: []
patch:
operationId: patchContactsByContactId
summary: Update a contact
description: Updates an existing contact with the provided fields.
tags:
- Contacts
parameters:
- $ref: '#/components/parameters/contactIdParam'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ContactUpdate'
responses:
'200':
description: Contact updated
content:
application/json:
schema:
$ref: '#/components/schemas/Contact_2'
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Contact not found
security:
- accessKey: []
x-operation-id-source: normalized
x-operation-id-original: updateContact
delete:
operationId: deleteContactsByContactId
summary: Delete a contact
description: Deletes a contact from the address book by its unique identifier.
tags:
- Contacts
parameters:
- $ref: '#/components/parameters/contactIdParam'
responses:
'204':
description: Contact deleted
'401':
description: Unauthorized
'404':
description: Contact not found
security:
- accessKey: []
x-operation-id-source: normalized
x-operation-id-original: deleteContact
servers:
- url: https://rest.messagebird.com
description: Production Server
/contacts/{contactId}/messages:
get:
operationId: listContactMessages
summary: List messages for a contact
description: Retrieves all messages associated with a specific contact.
tags:
- Contacts
parameters:
- $ref: '#/components/parameters/contactIdParam'
- $ref: '#/components/parameters/offsetParam'
- $ref: '#/components/parameters/limitParam'
responses:
'200':
description: A list of messages
content:
application/json:
schema:
type: object
properties:
offset:
type: integer
limit:
type: integer
count:
type: integer
totalCount:
type: integer
items:
type: array
items:
type: object
'401':
description: Unauthorized
'404':
description: Contact not found
security:
- accessKey: []
servers:
- url: https://rest.messagebird.com
description: Production Server
components:
schemas:
ContactList:
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/Contact'
nextPageToken:
type: string
CreateContact:
type: object
properties:
displayName:
type: string
identifiers:
type: array
items:
type: object
properties:
key:
type: string
value:
type: string
attributes:
type: object
Contact:
type: object
properties:
id:
type: string
displayName:
type: string
identifiers:
type: array
items:
type: object
attributes:
type: object
createdAt:
type: string
format: date-time
ContactList_2:
type: object
properties:
offset:
type: integer
description: The offset of the result set.
limit:
type: integer
description: The limit applied to the result set.
count:
type: integer
description: The number of items returned.
totalCount:
type: integer
description: The total number of contacts.
items:
type: array
items:
$ref: '#/components/schemas/Contact_2'
ContactCreate:
type: object
required:
- msisdn
properties:
msisdn:
type: string
description: The phone number of the contact in international format.
firstName:
type: string
description: The first name of the contact.
lastName:
type: string
description: The last name of the contact.
custom1:
type: string
description: Custom field 1.
custom2:
type: string
description: Custom field 2.
custom3:
type: string
description: Custom field 3.
custom4:
type: string
description: Custom field 4.
ContactUpdate:
type: object
properties:
firstName:
type: string
description: The first name of the contact.
lastName:
type: string
description: The last name of the contact.
msisdn:
type: string
description: The phone number of the contact.
custom1:
type: string
description: Custom field 1.
custom2:
type: string
description: Custom field 2.
custom3:
type: string
description: Custom field 3.
custom4:
type: string
description: Custom field 4.
Contact_2:
type: object
properties:
id:
type: string
description: The unique identifier of the contact.
href:
type: string
format: uri
description: The URL of the contact resource.
msisdn:
type: string
description: The phone number of the contact.
firstName:
type: string
description: The first name of the contact.
lastName:
type: string
description: The last name of the contact.
custom1:
type: string
description: Custom field 1.
custom2:
type: string
description: Custom field 2.
custom3:
type: string
description: Custom field 3.
custom4:
type: string
description: Custom field 4.
groups:
type: object
description: Links to the groups the contact belongs to.
properties:
href:
type: string
format: uri
totalCount:
type: integer
messages:
type: object
description: Links to messages associated with the contact.
properties:
href:
type: string
format: uri
totalCount:
type: integer
createdDatetime:
type: string
format: date-time
description: The date and time when the contact was created.
updatedDatetime:
type: string
format: date-time
description: The date and time when the contact was last updated.
parameters:
WorkspaceId:
name: workspaceId
in: path
required: true
description: Bird workspace identifier.
schema:
type: string
ContactId:
name: contactId
in: path
required: true
schema:
type: string
contactIdParam:
name: contactId
in: path
required: true
description: The unique identifier of the contact.
schema:
type: string
limitParam:
name: limit
in: query
required: false
description: The maximum number of items to return.
schema:
type: integer
default: 20
offsetParam:
name: offset
in: query
required: false
description: The number of items to skip.
schema:
type: integer
default: 0
securitySchemes:
AccessKey:
type: apiKey
in: header
name: Authorization
description: AccessKey token. Send as the Authorization header value "AccessKey {your-access-key}".
accessKey:
type: apiKey
in: header
name: Authorization
description: Access key authentication in the form of 'AccessKey {accessKey}'.
externalDocs:
description: Contacts API Documentation
url: https://developers.messagebird.com/api/contacts/
x-refined-from:
- bird-openapi.yml
- messagebird-contacts-api-openapi.yml