Ethora Apps API

Application and tenant-admin management. ℹ️ Use `/v2/apps` and `/v2/apps/{appId}/...` for explicit backend/admin integrations.

GitHub OpenAPI

Operations 41

GET /v2/apps List apps available to the current tenant actor (v2) #
POST /v2/apps Create a child app for the current tenant actor (v2) #
GET /v2/apps/{appId} Get a specific app visible to the current tenant actor (v2) #
PATCH /v2/apps/{appId} Update a specific app visible to the current tenant actor (v2) #
DELETE /v2/apps/{appId} Archive (soft-delete) or purge an app (v2) #
POST /v2/apps/{appId}/restore Restore a previously archived app (v2) #
GET /v2/apps/{appId}/export Export an App and its child entities as a portable bundle (v2) #
POST /v2/apps/import Import a previously-exported App bundle (v2) #
GET /v2/apps/purge-jobs/{jobId} Poll the status of a hard-delete cascade purge job (v2) #
GET /v2/apps/{appId}/tokens List app tokens (metadata only) (v2, tenant actor) #
POST /v2/apps/{appId}/tokens Create a new app token (returns token once) (v2, tenant actor) #
DELETE /v2/apps/{appId}/tokens/{tokenId} Revoke an app token (idempotent) (v2, tenant actor) #
POST /v2/apps/{appId}/tokens/{tokenId}/rotate Rotate an app token (revoke old, create new) (v2, tenant actor) #
GET /v2/apps/{appId}/webhooks List the app's webhooks (v2, tenant actor) #
POST /v2/apps/{appId}/webhooks Create a webhook (returns its secret once) (v2, tenant actor) #
PATCH /v2/apps/{appId}/webhooks/{id} Update a webhook (v2, tenant actor) #
DELETE /v2/apps/{appId}/webhooks/{id} Delete a webhook (v2, tenant actor) #
POST /v2/apps/{appId}/webhooks/{id}/test Send a webhook.test event now (v2, tenant actor) #
POST /v2/apps/{appId}/provision Provision default rooms for an app (v2, tenant actor) #
POST /v1/apps Create app #
GET /v1/apps List accessible apps #
GET /v1/apps/users/ List app users #
GET /v1/apps/users/{xmppUsername} Get app user by XMPP username #
PUT /v1/apps/{id} Update app #
DELETE /v1/apps/{id} Delete app #
GET /v1/apps/{id} Get app #
POST /v1/apps/create-app-chat/{id} Create default app chat #
DELETE /v1/apps/delete-app-chat/{id} Delete default app chat #
PUT /v1/apps/user-defaults/{id} Update app user defaults #
POST /v1/apps/check-domain-name Check app domain availability #
GET /v1/apps/get-config Get app config by domain #
GET /v1/apps/get-default-rooms Get current app default rooms #
GET /v1/apps/get-default-rooms/app-id/{appId} Get app default rooms by appId #
DELETE /v1/apps/rotate-jwt/{id} Rotate app JWT #
GET /v1/apps/graph-statistic/{appId} Get app graph statistics #
GET /v1/apps/stat-csv Export app statistics CSV #
GET /v2/apps/{appId}/bot Get AI bot settings for an app (v2, tenant actor) #
PUT /v2/apps/{appId}/bot Update AI bot settings for an app (v2, tenant actor) #
GET /v2/apps/{appId}/chat-component/config Get the stored chat component config for an app #
PUT /v2/apps/{appId}/chat-component/config Replace the stored chat component config for an app #
GET /v2/apps/{appId}/ai-usage AI tokens an App spent (v2, tenant actor) #

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-apps-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-apps-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Platform Apps 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 (112 KB total) ---
# Full source: https://artifacts.apis.io/ethora-com/openapi/ethora-com-apps-api-openapi.yml