messagebird Groups API

Operations for managing contact groups.

Operations 9

GET /contacts/{contactId}/groups List groups for a contact #
GET /groups List groups #
POST /groups Create a group #
GET /groups/{groupId} View a group #
PATCH /groups/{groupId} Update a group #
DELETE /groups/{groupId} Delete a group #
GET /groups/{groupId}/contacts List contacts in a group #
PUT /groups/{groupId}/contacts Add contacts to a group #
DELETE /groups/{groupId}/contacts/{contactId} Remove a contact from a group #

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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/messagebird-groups-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

messagebird-groups-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: MessageBird Contacts Groups API
  description: The MessageBird Contacts API allows developers to manage contact information for end-users and customers across messaging platforms. It supports creating, reading, updating, and deleting contacts, as well as organizing them into groups for targeted messaging campaigns. A single contact can be associated with multiple communication channels such as SMS, WhatsApp, and Telegram.
  version: '1.0'
  contact:
    name: MessageBird Support
    url: https://support.messagebird.com
  termsOfService: https://www.messagebird.com/en/terms
servers:
- url: https://rest.messagebird.com
  description: Production Server
security:
- accessKey: []
tags:
- name: Groups
  description: Operations for managing contact groups.
paths:
  /contacts/{contactId}/groups:
    get:
      operationId: listContactGroups
      summary: List groups for a contact
      description: Retrieves all groups that a specific contact belongs to.
      tags:
      - Groups
      parameters:
      - $ref: '#/components/parameters/contactIdParam'
      - $ref: '#/components/parameters/offsetParam'
      - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: A list of groups
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupList'
        '401':
          description: Unauthorized
        '404':
          description: Contact not found
  /groups:
    get:
      operationId: listGroups
      summary: List groups
      description: Retrieves a paginated list of all contact groups.
      tags:
      - Groups
      parameters:
      - $ref: '#/components/parameters/offsetParam'
      - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: A list of groups
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupList'
        '401':
          description: Unauthorized
    post:
      operationId: createGroup
      summary: Create a group
      description: Creates a new contact group with the specified name.
      tags:
      - Groups
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GroupCreate'
      responses:
        '201':
          description: Group created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Group'
        '400':
          description: Bad request
        '401':
          description: Unauthorized
  /groups/{groupId}:
    get:
      operationId: viewGroup
      summary: View a group
      description: Retrieves the details of a specific group by its unique identifier.
      tags:
      - Groups
      parameters:
      - $ref: '#/components/parameters/groupIdParam'
      responses:
        '200':
          description: Group details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Group'
        '401':
          description: Unauthorized
        '404':
          description: Group not found
    patch:
      operationId: updateGroup
      summary: Update a group
      description: Updates the name of an existing group.
      tags:
      - Groups
      parameters:
      - $ref: '#/components/parameters/groupIdParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GroupCreate'
      responses:
        '200':
          description: Group updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Group'
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '404':
          description: Group not found
    delete:
      operationId: deleteGroup
      summary: Delete a group
      description: Deletes an existing group. This does not delete the contacts in the group.
      tags:
      - Groups
      parameters:
      - $ref: '#/components/parameters/groupIdParam'
      responses:
        '204':
          description: Group deleted
        '401':
          description: Unauthorized
        '404':
          description: Group not found
  /groups/{groupId}/contacts:
    get:
      operationId: listGroupContacts
      summary: List contacts in a group
      description: Retrieves all contacts that belong to a specific group.
      tags:
      - Groups
      parameters:
      - $ref: '#/components/parameters/groupIdParam'
      - $ref: '#/components/parameters/offsetParam'
      - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: A list of contacts
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactList'
        '401':
          description: Unauthorized
        '404':
          description: Group not found
    put:
      operationId: addContactsToGroup
      summary: Add contacts to a group
      description: Adds one or more contacts to a group by their contact identifiers.
      tags:
      - Groups
      parameters:
      - $ref: '#/components/parameters/groupIdParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                ids:
                  type: array
                  description: The list of contact identifiers to add.
                  items:
                    type: string
      responses:
        '204':
          description: Contacts added to group
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '404':
          description: Group not found
  /groups/{groupId}/contacts/{contactId}:
    delete:
      operationId: removeContactFromGroup
      summary: Remove a contact from a group
      description: Removes a specific contact from a group.
      tags:
      - Groups
      parameters:
      - $ref: '#/components/parameters/groupIdParam'
      - $ref: '#/components/parameters/contactIdParam'
      responses:
        '204':
          description: Contact removed from group
        '401':
          description: Unauthorized
        '404':
          description: Resource not found
components:
  schemas:
    Contact:
      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.
    GroupList:
      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 groups.
        items:
          type: array
          items:
            $ref: '#/components/schemas/Group'
    ContactList:
      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'
    Group:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the group.
        href:
          type: string
          format: uri
          description: The URL of the group resource.
        name:
          type: string
          description: The name of the group.
        contacts:
          type: object
          description: Links to the contacts in the group.
          properties:
            href:
              type: string
              format: uri
            totalCount:
              type: integer
        createdDatetime:
          type: string
          format: date-time
          description: The date and time when the group was created.
        updatedDatetime:
          type: string
          format: date-time
          description: The date and time when the group was last updated.
    GroupCreate:
      type: object
      required:
      - name
      properties:
        name:
          type: string
          description: The name of the group.
  parameters:
    offsetParam:
      name: offset
      in: query
      required: false
      description: The number of items to skip.
      schema:
        type: integer
        default: 0
    limitParam:
      name: limit
      in: query
      required: false
      description: The maximum number of items to return.
      schema:
        type: integer
        default: 20
    contactIdParam:
      name: contactId
      in: path
      required: true
      description: The unique identifier of the contact.
      schema:
        type: string
    groupIdParam:
      name: groupId
      in: path
      required: true
      description: The unique identifier of the group.
      schema:
        type: string
  securitySchemes:
    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/