mesibo API Reference
mesibo provides APIs for building real-time communication features such as messaging, group chat, voice and video calls, conferencing, and chat automation in mobile and web applications.
The APIs are designed with a focus on security, reliability, performance, and scalability, while keeping usage simple. The goal is to minimize integration complexity without limiting functionality.
This section documents the mesibo APIs in detail. There is no required reading order—refer to the parts relevant to your use case. If you are new, start with the Get Started Tutorial and refer to the sample applications on GitHub to understand typical API usage. You can then use this section as a reference.
mesibo API Types
mesibo provides two types of APIs:
Backend APIs — REST-based APIs used by your backend to manage users, groups, tokens, and application settings. These APIs require the App Token. See the Backend API reference for details.
Real-time APIs — Client-side APIs used in Android, iOS, Flutter, Web, C++, and Python applications to enable messaging, group communication, and voice/video calls. Each user authenticates using an access token generated by your backend via the Backend API.
A typical workflow involves using the Backend API to create users and generate access tokens, and then initializing the Real-time APIs on the client using those tokens.
In most applications, the backend is primarily responsible for user creation and token generation. Communication features are handled entirely through the Real-time APIs.
Documentation Conventions
Cross-Platform API Signatures
The real-time SDK APIs use consistent naming and method signatures across all supported platforms, enabling straightforward cross-platform development.
The documentation therefore only shows the syntax for one platform, unless a platform-specific example is necessary. For instance, the setAccessToken API is invoked similarly across platforms:
Java and Kotlin
mesibo.setAccessToken(token)
Objective-C
[mesiboInstance setAccessToken:token];
Swift
mesibo.getInstance().setAccessToken(token)
By maintaining this consistency, the mesibo APIs work across Android, iOS, Web and other platforms with no or minimal changes. Hence, the documentation focuses on core API usage, rather than platform-specific syntax.
API Parameters
Although all the APIs have the same name and parameters across platforms, some parameter types may vary. For example, a parameter is of type string for a particular API, the String is used for that parameter on Java while NSString * is used for the same parameter on iOS Objective-C. The table below summarizes the generic type used in documentation and the corresponding type used in the actual implementation. If the parameter types are the same across platforms, they are not mentioned in the table, for example, int, MesiboProfile, etc.
| Type | Java | Kotlin | Objective-C | Swift | Javascript | C/C++ |
|---|---|---|---|---|---|---|
| String | String | String | NSString * | String | var | char * or const char * |
| boolean | boolean | boolean | BOOL | Bool | var | int (1 or 0) |
| byte[] | byte[] | byte[] | NSData * | NSData * | var (array) | char * or const char * |
| long | long | long | uint64_t or uint32_t | long | var (array) | uint64_t or uint32_t |
Get Started with Mesibo APIs
mesibo Real-time APIs are broadly classified in the following categories:
Initialization APIs - Set of APIs for initializing Mesibo and start connection to Mesibo cloud or your on-premise servers.
Messaging APIs - Core Messaging APIs for sending messages, forwarding, resending, reading messages from the database etc.
File Transfer APIs - APIs to send and receive files.
Voice and Video Calls APIs - APIs for voice and video calls.
Voice and Video Conferencing APIs - APIs for voice and video conferencing.
Profile and Contact Syncronization APIs - APIs to manage user and group profiles.
Group Management APIs - APIs to create and manage groups.
End-to-end Encryption APIs - APIs for end-to-end encryption.
You can click on individual sections to go through each API category. Although, it is not necessary to go in the order but recommended for the first reading.