Sinch Groups API

Groups are sets of phone numbers (MSISDNs) that can be used as targets when sending SMS. A phone number can only occur once in a group.

Documentation

Specifications

Other Resources

OpenAPI Specification

sinch-groups-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Sinch Brands Access Control Lists Groups API
  description: The Sinch Brands API allows developers to create, update, and manage customer brand profiles used across Sinch messaging products. Brands represent the business identity associated with messaging campaigns and sender registrations. The API provides endpoints for creating brand records, updating brand details, listing brands, and deleting brands, enabling programmatic management of the brand entities required for compliant business messaging.
  version: '1.0'
  contact:
    name: Sinch Support
    url: https://www.sinch.com/contact-us/
  termsOfService: https://www.sinch.com/terms-of-service/
servers:
- url: https://brands.api.sinch.com
  description: Global Production Server
security:
- bearerAuth: []
tags:
- name: Groups
  description: Groups are sets of phone numbers (MSISDNs) that can be used as targets when sending SMS. A phone number can only occur once in a group.
paths:
  /xms/v1/{service_plan_id}/groups:
    post:
      operationId: createGroup
      summary: Create a Group
      description: Creates a new group of phone numbers that can be used as recipients when sending SMS batches.
      tags:
      - Groups
      parameters:
      - $ref: '#/components/parameters/ServicePlanId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateGroupRequest'
      responses:
        '201':
          description: Group created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Group'
        '400':
          description: Invalid request
        '401':
          description: Unauthorized
    get:
      operationId: listGroups
      summary: List Groups
      description: Returns a list of groups with pagination support.
      tags:
      - Groups
      parameters:
      - $ref: '#/components/parameters/ServicePlanId'
      - name: page
        in: query
        description: The page number to retrieve
        schema:
          type: integer
          default: 0
      - name: page_size
        in: query
        description: The number of groups per page
        schema:
          type: integer
          default: 30
          maximum: 100
      responses:
        '200':
          description: List of groups
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupList'
        '401':
          description: Unauthorized
  /xms/v1/{service_plan_id}/groups/{group_id}:
    get:
      operationId: getGroup
      summary: Get a Group
      description: Returns the details of a specific group.
      tags:
      - Groups
      parameters:
      - $ref: '#/components/parameters/ServicePlanId'
      - $ref: '#/components/parameters/GroupId'
      responses:
        '200':
          description: Group details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Group'
        '401':
          description: Unauthorized
        '404':
          description: Group not found
    post:
      operationId: updateGroup
      summary: Update a Group
      description: Updates an existing group by adding or removing members or changing the group name.
      tags:
      - Groups
      parameters:
      - $ref: '#/components/parameters/ServicePlanId'
      - $ref: '#/components/parameters/GroupId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateGroupRequest'
      responses:
        '200':
          description: Group updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Group'
        '401':
          description: Unauthorized
        '404':
          description: Group not found
    delete:
      operationId: deleteGroup
      summary: Delete a Group
      description: Deletes a group and all its members.
      tags:
      - Groups
      parameters:
      - $ref: '#/components/parameters/ServicePlanId'
      - $ref: '#/components/parameters/GroupId'
      responses:
        '200':
          description: Group deleted
        '401':
          description: Unauthorized
        '404':
          description: Group not found
  /xms/v1/{service_plan_id}/groups/{group_id}/members:
    get:
      operationId: getGroupMembers
      summary: Get Group Members
      description: Returns the list of phone numbers that are members of the specified group.
      tags:
      - Groups
      parameters:
      - $ref: '#/components/parameters/ServicePlanId'
      - $ref: '#/components/parameters/GroupId'
      responses:
        '200':
          description: List of group members
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
        '401':
          description: Unauthorized
        '404':
          description: Group not found
components:
  schemas:
    GroupList:
      type: object
      properties:
        count:
          type: integer
          description: Total number of groups
        page:
          type: integer
          description: Current page number
        page_size:
          type: integer
          description: Number of groups per page
        groups:
          type: array
          description: List of group objects
          items:
            $ref: '#/components/schemas/Group'
    UpdateGroupRequest:
      type: object
      properties:
        name:
          type: string
          description: Updated group name
        add:
          type: array
          description: Phone numbers to add to the group
          items:
            type: string
        remove:
          type: array
          description: Phone numbers to remove from the group
          items:
            type: string
        add_from_group:
          type: string
          description: Add all members from another group
        remove_from_group:
          type: string
          description: Remove all members that are in another group
    CreateGroupRequest:
      type: object
      properties:
        name:
          type: string
          description: The name of the group
        members:
          type: array
          description: List of phone numbers to add as members
          items:
            type: string
        child_groups:
          type: array
          description: List of child group IDs
          items:
            type: string
    Group:
      type: object
      properties:
        id:
          type: string
          description: The unique group identifier
        name:
          type: string
          description: The group name
        size:
          type: integer
          description: The number of members in the group
        created_at:
          type: string
          format: date-time
          description: When the group was created
        modified_at:
          type: string
          format: date-time
          description: When the group was last modified
        child_groups:
          type: array
          description: List of child group IDs
          items:
            type: string
  parameters:
    ServicePlanId:
      name: service_plan_id
      in: path
      required: true
      description: The unique identifier for the service plan
      schema:
        type: string
    GroupId:
      name: group_id
      in: path
      required: true
      description: The unique identifier for the group
      schema:
        type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Bearer token authentication.
externalDocs:
  description: Sinch Brands API Documentation
  url: https://developers.sinch.com/docs/brands