Messente Groups API

Manage contact groups in the Messente Phonebook.

OpenAPI Specification

messente-groups-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Messente Account Balance Groups API
  version: 2.1.0
  description: Messente is a global CPaaS provider of messaging and user verification services based in Estonia. Send and receive SMS, Viber, and WhatsApp messages through a single Omnimessage endpoint with an automatic fallback chain, manage contacts and groups in the Phonebook, look up phone number (HLR) information, run PIN-based number verification / 2FA, retrieve delivery reports, and pull messaging statistics. This is a faithful, representative OpenAPI description of the public Messente REST API; consult the official documentation for the authoritative contract.
  contact:
    name: Messente Support
    url: https://messente.com/documentation
    email: messente@messente.com
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
servers:
- url: https://api.messente.com/v1
  description: Messente production API
security:
- basicAuth: []
tags:
- name: Groups
  description: Manage contact groups in the Messente Phonebook.
paths:
  /phonebook/groups:
    get:
      tags:
      - Groups
      summary: Returns all groups
      operationId: fetchGroups
      responses:
        '200':
          description: A list of groups
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupListEnvelope'
    post:
      tags:
      - Groups
      summary: Creates a new group
      operationId: createGroup
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GroupName'
      responses:
        '201':
          description: Group created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupEnvelope'
  /phonebook/groups/{groupId}:
    get:
      tags:
      - Groups
      summary: Lists a group
      operationId: fetchGroup
      parameters:
      - $ref: '#/components/parameters/GroupId'
      responses:
        '200':
          description: A group
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupEnvelope'
    put:
      tags:
      - Groups
      summary: Updates a group
      operationId: updateGroup
      parameters:
      - $ref: '#/components/parameters/GroupId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GroupName'
      responses:
        '200':
          description: Group updated
    delete:
      tags:
      - Groups
      summary: Deletes a group
      operationId: deleteGroup
      parameters:
      - $ref: '#/components/parameters/GroupId'
      responses:
        '204':
          description: Group deleted
components:
  schemas:
    GroupName:
      type: object
      required:
      - name
      properties:
        name:
          type: string
    GroupListEnvelope:
      type: object
      properties:
        groups:
          type: array
          items:
            $ref: '#/components/schemas/GroupResponseFields'
    GroupEnvelope:
      type: object
      properties:
        group:
          $ref: '#/components/schemas/GroupResponseFields'
    GroupResponseFields:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
        contactsCount:
          type: integer
        createdOn:
          type: string
  parameters:
    GroupId:
      name: groupId
      in: path
      required: true
      description: The identifier of the group.
      schema:
        type: string
        format: uuid
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic authentication using the API username and password from the Messente dashboard API settings.