Ethora Chats API

Chat endpoints (rooms, members, messages helpers) complementing the primary XMPP chat flow.

GitHub OpenAPI

Operations 46

POST /v2/chats/broadcast Async broadcast announcement to selected chat rooms #
GET /v2/chats/broadcast/{jobId} Get broadcast job status/results #
POST /v2/apps/{appId}/chats/broadcast Async broadcast announcement to selected chat rooms in an app (v2, tenant actor) #
GET /v2/apps/{appId}/chats/broadcast/{jobId} Get app-scoped broadcast job status/results (v2, tenant actor) #
POST /v1/chats Create chat #
GET /v1/chats get chats created by current auth user #
DELETE /v1/chats Delete a chat #
POST /v2/chats Create chat (v2) #
GET /v2/chats get chats created by current auth user (v2) #
POST /v1/chats/private Create private chat #
POST /v1/chats/call/create/{chatName} Create chat call #
POST /v1/chats/call/state/ringing/{callId} Update call state to ringing #
POST /v1/chats/calls/scheduled Schedule a call in a chat room #
GET /v1/chats/calls/scheduled List scheduled calls #
GET /v1/chats/calls/scheduled/{slug} Read a scheduled call #
PATCH /v1/chats/calls/scheduled/{slug} Update a scheduled call #
DELETE /v1/chats/calls/scheduled/{slug} Cancel a scheduled call #
POST /v1/chats/reports/{chatName} Report #
GET /v2/apps/{appId}/chats List all chats in an app (v2, tenant actor) #
POST /v2/apps/{appId}/chats Create a chat in a target app (v2, tenant actor) #
DELETE /v2/apps/{appId}/chats Delete a chat in a target app (v2, tenant actor) #
POST /v2/apps/{appId}/chats/private Create a 1-1 chat between two app users (v2, tenant actor) #
POST /v2/apps/{appId}/chats/users-access Add chat members in a target app (v2, tenant actor) #
DELETE /v2/apps/{appId}/chats/users-access Remove chat members in a target app (v2, tenant actor) #
GET /v2/apps/{appId}/users/{userId}/chats List chats for target user (v2, tenant actor) #
PATCH /v2/apps/{appId}/chats/{chatId} Update chat metadata (title/description) (v2, tenant actor) #
GET /v1/chats/my list current user's chats #
GET /v1/chats/my/{chatName} get my chat by chatName #
PATCH /v1/chats/my/{chatName} Partially update the caller's own chat metadata #
PUT /v1/chats/my/{chatName}/mute Mute a chat for the current user #
DELETE /v1/chats/my/{chatName}/mute Unmute a chat for the current user #
GET /v1/chats/public get public chats for current app #
POST /v1/chats/users-access add user to chat #
DELETE /v1/chats/users-access remove user from chat #
POST /v2/chats/users-access add user to chat (v2) #
DELETE /v2/chats/users-access remove user from chat (v2) #
GET /v1/chats/users Get users / chat members #
GET /v2/chats/users Get users / chat members (v2) #
PATCH /v2/chats/users Batch update users (chat API) (v2) #
PATCH /v2/apps/{appId}/chats/users Batch update users (chat API) (v2, tenant actor) #
POST /v1/chats/media/{chatName} Post chat media #
GET /v2/apps/{appId}/chats/{chatId}/messages Read message history for a chat (any type) from the MAM archive #
DELETE /v2/apps/{appId}/chats/{chatId}/messages Bulk-delete the message history of a chat from the MAM archive #
GET /v2/apps/{appId}/chats/{chatId}/messages/context Load message context around a target (for "jump to message" UX) #
POST /v2/apps/{appId}/users/unread-counts Batch unread message counts per room for a set of users #

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/ethora-com:ethora-com-chats-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

ethora-com-chats-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Platform Chats API
  description: 'Ethora Platform API.


    ## Getting Started

    - For new backend and tenant integrations, start with the `/v2/...` endpoints.

    - Use `/v2/apps/{appId}/...` when your backend/admin flow manages a specific target app explicitly.

    - Some legacy operations still exist only under `/v1/...`; when so, the operation description will say so.


    ## Integration Tracks

    - `Frontend / app runtime`: app-auth login/sign-up flows, then user-auth chats/files/sharelinks.

    - `Tenant admin / B2B backend`: explicit app management and app-scoped admin flows under `/v2/apps/{appId}/...`.


    ## Auth Token Legend

    - `App JWT`: app-scoped runtime token for sign-up/login/runtime app operations.

    - `User JWT`: end-user or admin-user session token.

    - `Refresh JWT`: refresh-only token for access token renewal.

    - `Client JWT`: legacy client-side token used only for chat/client credential exchange compatibility flows.

    - `B2B Server JWT`: tenant/backend integration token. Prefer `Authorization: Bearer `; `x-custom-token` is still accepted for backward compatibility.


    ## Which Token Where

    - `App JWT`: `/v1/users/login-with-email`, `/v2/users/sign-up-with-email`, similar app-runtime auth endpoints.

    - `User JWT`: user session endpoints like chats, files, sharelinks, profile/session management.

    - `B2B Server JWT`: tenant/backend integration endpoints, especially explicit `/v2/apps/{appId}/...` admin flows.

    - `Client JWT`: only where the endpoint explicitly says `Client JWT` and typically only for legacy compatibility.


    ## Auth Approach

    - `/v2/...` endpoints are the canonical API surface for new integrations.

    - Endpoints may support one or more token types depending on the actor and scope.

    - App-scoped admin/integration endpoints use `/v2/apps/{appId}/...` so the target app is always explicit.

    - When an endpoint supports both `User JWT` and `B2B Server JWT`, Swagger will show both under Security.

    - Public Swagger excludes internal-only, operational, and experimental surfaces.'
  contact:
    name: Dappros developers team
  version: 26.11.05
servers:
- url: https://api.chat.ethora.com
security:
- JwtAuth: []
tags:


# --- truncated at 32 KB (123 KB total) ---
# Full source: https://artifacts.apis.io/ethora-com/openapi/ethora-com-chats-api-openapi.yml