Messente Contacts API

Manage contacts in the Messente Phonebook.

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/messente-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 email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

messente-contacts-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Messente Account Balance Contacts 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: Contacts
  description: Manage contacts in the Messente Phonebook.
paths:
  /phonebook/contacts:
    get:
      tags:
      - Contacts
      summary: Returns all contacts
      operationId: fetchContacts
      parameters:
      - name: groupIds
        in: query
        required: false
        description: Optional list of group IDs to filter contacts by.
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          description: A list of contacts
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactListEnvelope'
    post:
      tags:
      - Contacts
      summary: Creates a new contact
      operationId: createContact
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContactFields'
      responses:
        '201':
          description: Contact created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactEnvelope'
  /phonebook/contacts/{phone}:
    get:
      tags:
      - Contacts
      summary: Lists a contact
      operationId: fetchContact
      parameters:
      - $ref: '#/components/parameters/Phone'
      responses:
        '200':
          description: A contact
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactEnvelope'
    patch:
      tags:
      - Contacts
      summary: Updates a contact
      operationId: updateContact
      parameters:
      - $ref: '#/components/parameters/Phone'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContactUpdateFields'
      responses:
        '200':
          description: Contact updated
    delete:
      tags:
      - Contacts
      summary: Deletes a contact
      operationId: deleteContact
      parameters:
      - $ref: '#/components/parameters/Phone'
      responses:
        '204':
          description: Contact deleted
  /phonebook/contacts/{phone}/groups:
    get:
      tags:
      - Contacts
      summary: Lists a contact's group memberships
      operationId: fetchContactGroups
      parameters:
      - $ref: '#/components/parameters/Phone'
      responses:
        '200':
          description: Group memberships for the contact
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupListEnvelope'
  /phonebook/groups/{groupId}/contacts/{phone}:
    post:
      tags:
      - Contacts
      summary: Adds a contact to a group
      operationId: addContactToGroup
      parameters:
      - $ref: '#/components/parameters/GroupId'
      - $ref: '#/components/parameters/Phone'
      responses:
        '200':
          description: Contact added to group
    delete:
      tags:
      - Contacts
      summary: Removes a contact from a group
      operationId: removeContactFromGroup
      parameters:
      - $ref: '#/components/parameters/GroupId'
      - $ref: '#/components/parameters/Phone'
      responses:
        '204':
          description: Contact removed from group
components:
  parameters:
    GroupId:
      name: groupId
      in: path
      required: true
      description: The identifier of the group.
      schema:
        type: string
        format: uuid
    Phone:
      name: phone
      in: path
      required: true
      description: A phone number in international E.164 format.
      schema:
        type: string
  schemas:
    ContactUpdateFields:
      type: object
      properties:
        email:
          type: string
        firstName:
          type: string
        lastName:
          type: string
        company:
          type: string
        title:
          type: string
    ContactListEnvelope:
      type: object
      properties:
        contacts:
          type: array
          items:
            $ref: '#/components/schemas/ContactResponseFields'
    ContactFields:
      type: object
      required:
      - phoneNumber
      properties:
        phoneNumber:
          type: string
        email:
          type: string
        firstName:
          type: string
        lastName:
          type: string
        company:
          type: string
        title:
          type: string
        custom:
          type: string
        custom2:
          type: string
        custom3:
          type: string
        custom4:
          type: string
    ContactResponseFields:
      allOf:
      - $ref: '#/components/schemas/ContactFields'
      - type: object
        properties:
          scheduledDeletionDate:
            type: string
    GroupListEnvelope:
      type: object
      properties:
        groups:
          type: array
          items:
            $ref: '#/components/schemas/GroupResponseFields'
    ContactEnvelope:
      type: object
      properties:
        contact:
          $ref: '#/components/schemas/ContactResponseFields'
    GroupResponseFields:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
        contactsCount:
          type: integer
        createdOn:
          type: string
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic authentication using the API username and password from the Messente dashboard API settings.