Apps

Import a previously-exported App bundle (v2)

Auth: Tenant Actor

Creates a NEW App owned by the calling tenant from the bundle. The source _id, domainName, secrets, and tokens are all regenerated. Chat names are remapped from ${oldAppId}_<uuid> to ${newAppId}_<uuid> so the XMPP per-app prefix invariant holds.

When the export was created with include=users, the bundle also round-trips end users: bcrypt password hashes and xmppPassword are preserved, xmppUsername is remapped to <newAppId>_<newUserId>, and User2Chats memberships are rewritten with the fresh IDs. Imported users can log in with their original credentials. Bundles containing user hashes are sensitive - the import response calls this out in summary.notes.

Still skipped (called out in the response notes):

  • botInstances (per-app embodiments reference user IDs that don't exist in the new environment; recreate via /v2/agents/:idOrAddress/invite-to-chat).

Body shapes:

  • application/json: body IS the bundle.
  • multipart/form-data: field bundle is a .zip containing bundle.json.

?domainNameOverride= lets the caller pick a new domainName up front; the importer auto-suffixes on collision otherwise.

post/v2/apps/import

Request

  • Base URL: https://api.chat.ethora.com
  • URL: https://api.chat.ethora.com/v2/apps/import
  • Auth: one of:
    • HTTP bearer
    • HTTP bearer

Request body

object required

Response

imported

Changes

No recorded changes to this operation across all 1 revision of this API.