The Chat API. Reimagined.

Mitter.io is a managed messaging infrastructure to build anything from a basic chat app, to complex messaging-driven experiences that work with your tech-stack & logic.

Built upon extremely low-level semantics, making no assumptions about messaging constructs, our ACL Architecture (Access Control Lists), an industry-first, gives you unprecedented and fine-grained control over every message, channel, user and more.

iOS (Swift/Objective-C)

20th Dec 2018

React Native

20th Dec 2018

Messaging at the centre of Everything

Messaging designed around your business

Real-time communication is great, whether it’s to connect with customers or collaborate with employees. But it can be so much more amazing and valuable if it works hand-in-hand with your business logic and tech stack.

Mitter.io’s low-level semantics let you create just that – enabling features like ACLs, custom message payloads (to do more than text), and a flexible modeling system for channels & messages – all so you can build messaging solutions that deeply integrate into your business, work with a variety of other systems, while keeping messaging the core.

Access Control Lists (ACLs): Simplifying logic-driven chat

Every ACL is a simple declarative statement that lets you define precise rules/permissions for chat components – from channels (and timeline events), to messages, users and more.

This enables you to build messaging apps that work with your precise logic, without requiring a custom rules layer to act as a proxy between your app & chat platform. That way, your app is robust and effortlessly scalable!

Messaging at the centre of Everything

Build for any use case

Whether you just want to add feature-rich chat to your website/app, or build amazing & unique apps around a core of messaging, Mitter.io has you covered.

  1. Basic
  2. Advanced
  3. Reimagined

Build a simple, fully-featured chat app with our starter kits in just a few minutes.

  • Mitter.io ships with defaults for all basic chat functionalities
  • Set up basic user roles, channel types and message types with ease
  • Provide your users whole new experiences and ways to interact through chat
  • Whether it’s in-app chat or basic messaging service, or a Tinder-like app – create it all with minimal effort

Go beyond the defaults to create powerful messaging apps.

  • Customize every part of your chat experience with Mitter.io’s powerful tooling, like custom payloads, webhooks, and metadata
  • Make your app a place where users can do more than just send and receive messages – enable them to get things done through chat
  • Build specialised messaging-driven apps and easily integrate chatbot-functionalities using external APIs of your choice

Innovate with the simplicity of chat by reimagining anything around messaging.

  • Mitter.io’s low-level semantics set you free to create any workflow you want
  • Easily create integrations with any third-party service using external APIs
  • Use features like Mitter.io Custom Payloads, ACLs, Entity Metadata to build absolutely anything with/around messaging – from productivity/collaboration tools like Slack, to enterprise apps for any industry

BASIC

  • Mitter.io ships with defaults for all basic chat functionalities
  • Set up basic user roles, channel types and message types with ease
  • Provide your users whole new experiences and ways to interact through chat
  • Whether it’s in-app chat or basic messaging service, or a Tinder-like app – create it all with minimal effort

ADVANCED

  • Customize every part of your chat experience with Mitter.io’s powerful tooling, like custom payloads, webhooks, and metadata
  • Make your app a place where users can do more than just send and receive messages – enable them to get things done through chat
  • Build specialised messaging-driven apps and easily integrate chatbot-functionalities using external APIs of your choice

REIMAGINED

  • Mitter.io’s low-level semantics set you free to create any workflow you want
  • Easily create integrations with any third-party service using external APIs
  • Use features like Mitter.io Custom Payloads, ACLs, Entity Metadata to build absolutely anything with/around messaging – from productivity/collaboration tools like Slack, to enterprise apps for any industry

Secure to the core

All your data is stored in Tier-4 data centres encrypted at rest. We use SSL for any transport involving your data and have a strict access model to ensure that your data is always secure and in your control.

Superpowers. Not Features.

Mitter.io doesn’t just offer basic chat features; it offers the flexibility and tooling that enable developers to completely rethink what they can create with messaging.

Exclusive

Access Control Lists

Custom behaviours for any component.

  • Define the behavior and permission model around each and every entity
  • Create custom roles for users
    (E.g., An admin who doesn’t participate in a channel but can add/remove users in it)
  • Define precisely how you want your app to work by mirroring the logic, semantics and design of your business
Exclusive

Profiles & Metadata

Don’t just attach information – use it.

  • Create custom profile attributes for your app’s channels and users without the hassle of managing their information
  • Attach metadata to channels, users and messages, and use it to query the system to enable functionalities like filter and search
  • Metadata works such that you don't need to maintain and sync multiple data stores
    (E.g., Attach a mydomain-userId right onto your users)
Exclusive

Out-of-box OAuth

Go serverless with platform-infused OAuth

  • Focus on your app without the hassles of building & maintaining your own authentication service
  • Integrate custom OAuth endpoints (coming soon!)
  • Integrations with Facebook, Twitter & Microsoft Live (coming soon!)

Mitter.io also provides all the standard chat features

Channels
Setup direct or group channels in 2 clicks and customise them with ease
Messages
Enable more than just text messaging with rich-media support and Custom Payloads
Hosted Rich-media Support
Support image and file messages in your app without the hassle of managing storage
Typing indicators
Adding typing indicators is just an API call away
User presence
Online? Offline? Away? In the loo? Mitter.io gets it all.
Advanced roles & permissions model
Create custom roles and add your own permissions to entities with ACLs
Cross-platform SDKs
Whether you want to build for mobile or web, or even need a Mitter.io back end, we have you covered
Timeline Events
Denote or specify different events happening on your messages or channel
(E.g., Read receipts on messages, ‘User joined’ event on channel)
Powerful Dashboard
Get a bird’s-eye-view of all your applications or view granular details about users, channels and ACLs
Keep an eye out for more exciting features on our SDKs

Mitter.io also provides all the standard chat features

Channels
Setup direct or group channels in 2 clicks and customise them with ease
Messages
Enable more than just text messaging with rich-media support and Custom Payloads
Hosted Rich-media Support
Support image & file messages in your app without the hassle of managing storage
Typing indicators
Adding typing indicators is just an API call away
User presence
Online? Offline? Away? In the loo? Mitter.io gets it all.
Advanced roles & permissions model
Create custom roles and add your own permissions to entities with ACLs
Cross-platform SDKs
Whether you want to build for mobile or web, or even need a Mitter.io back end, we have you covered
Timeline Events
Denote or specify different events happening on your messages or channel
(E.g., Read receipts on messages, ‘User joined’ event on channel)
Powerful Dashboard
Get a bird’s-eye-view of all your applications or view granular details about users, channels and ACLs
Keep an eye out for more exciting features on our SDKs

We Developers

That’s why we strive to give them absolute control over everything they build, by making every part of our platform as flexible as possible so that it never limits their creativity, vision and ability.

This is what you came for

You know the features. Now check out the cool stuff you can build with it. That’s how we give power to the developers!.

Your app, your rules

Enable features like private replies within groups using our powerful ACL architecture to set policies/configurations on any entity.

                      
mitter.sendMessage(
  "e1gh41",                 /* channel id */
  new TextMessage(
    editText.getText().toString(),
    activeTab == Tabs.ToMain ?:
        "" :                /* default, sends to all
                               participants  */
        "+read:friend-101"  /* send only to specific
                               user friend-101 */
    )
)
                      
                    

Everything is a message

With custom payloads, messages are whatever you want them to be -- from text or multimedia, to actionable or interactive components.

                      
mitter.channel("e1gh41")
  .sendMessage(
    // Set a text representation for the message
    "Is this an emergency? Click 'Yes' to call the doctor",

    // Set a payload type
    "my.EmergencyMessage",

    // Add any data you want!
    {
      doctorPhoneNumber: assignedDoctor.getPhoneNumber()
    }
)
                      
                    

Customizations run deep

Out-of-box support for custom attributes on platform entities like users or channels means you can store data without relying on external services.

                      
// Set common user profile attributes
mitter.user("me")
  .profile()
  .set("mitter.upa.FirstName", "Axe")

// Or create your own attributes for all your users!
mitter.users().profile()
  .createAttribute("my.Animoji", "video/webm", ["base64"])

// And set user-specific values, text, images or binary
mitter.user("me")
  .set("my.Animoji", "/9j/4AAQSk...")
                      
                    

Policy engine

Your app, your rules

Enable features like private replies within groups using our powerful ACL architecture to set policies/configurations on any entity.

PrivateReplies.java Check what it does
            
mitter.sendMessage(
  "e1gh41",                 /* channel id */
  new TextMessage(
    editText.getText().toString(),
    activeTab == Tabs.ToMain ?:
        "" :                /* default, sends to all
                               participants  */
        "+read:friend-101"  /* send only to specific
                               user friend-101 */
    )
)
            
          

Custom Payloads

Everything is a message

With custom payloads, messages are whatever you want them to be -- from text or multimedia, to actionable or interactive components.

custom-payloads.js Check what it does
            
mitter.channel("e1gh41")
  .sendMessage(
    // Set a text representation for the message
    "Is this an emergency? " +
          "Click 'Yes' to call the doctor",

    // Set a payload type
    "my.EmergencyMessage",

    // Add any data you want!
    {
      doctorPhoneNumber:
              assignedDoctor.getPhoneNumber()
    }
)
            
          

Entity Profiles

Customizations run deep

Out-of-box support for custom attributes on platform entities like users or channels means you can store data without relying on external services.

user-animojis.js Check what it does
            
// Set common user profile attributes
mitter.user("me")
  .profile()
  .set("mitter.upa.FirstName", "Axe")

// Or create your own attributes for all your users!
mitter.users().profile()
  .createAttribute("my.Animoji",
            "video/webm", ["base64"])

// And set user-specific values, even binary!
mitter.user("me")
  .set("my.Animoji", "/9j/4AAQSk..." /* base64 */)