FruxonDocs
ApiConversation imports

Parses uploaded chat exports into a preview.

Upload each export first with `POST storage?temporary=true`, then pass the file ids. Accepted, and recognised by content rather than by name: WhatsApp "Export chat" files from iOS or Android (`.txt`, or a `.zip` of one), Telegram Desktop JSON exports (the whole account or one chat; personal chats only), and the partner schema — CSV with a header row, or a JSON array — with the columns `chat_id`, `sent_at` (ISO-8601 or Unix time), `sender`, `is_owner` and `text`. The files are parsed in the request, up to 500 files and 200 MiB. The response lists every chat and every participant with a suggested role (SUBJECT, COUNTERPART, IGNORE, or none when a person has to choose), and message texts that look like auto-replies. Only this preview is stored; the conversations stay in the uploaded files until the import is confirmed, and the preview expires with the files.

POST
/v1/tenants/{tenant}/conversationImports
AuthorizationBearer <token>

JWT Authorization header using the Bearer scheme. Enter 'Bearer' [space] and then your token.

In: header

Path Parameters

tenant*string

The tenant identifier

The file ids, an optional label, and the time zone the exports' clocks were in.

fileIds?array<string>

Files uploaded with POST storage?temporary=true by the same caller: WhatsApp exports (.txt or .zip), Telegram Desktop result.json, or the partner CSV/JSON schema. Recognised by content.

displayName?string|null

An optional label, e.g. "Studio WhatsApp, September".

timeZone?string|null

The IANA time zone the exporting phone's clock was in (e.g. Asia/Jerusalem). WhatsApp exports and partner times without an offset carry no zone of their own. Defaults to UTC.

[key: string]?never

Response Body

curl -X POST "https://api.fruxon.com/v1/tenants/string/conversationImports" \  -H "Content-Type: application/json" \  -d '{}'
{
  "id": "00000000-0000-0000-0000-000000000000",
  "displayName": "string",
  "status": "PREVIEW",
  "timeZone": "string",
  "preview": {
    "chats": [
      {
        "id": "00000000-0000-0000-0000-000000000000",
        "fileId": "string",
        "format": "UNSPECIFIED",
        "title": "string",
        "isGroup": false,
        "participantKeys": [],
        "messageCount": 0,
        "firstMessageAt": null,
        "lastMessageAt": null,
        "suggestedSelected": false
      }
    ],
    "participants": [
      {
        "key": "string",
        "displayName": "string",
        "chatIds": [],
        "messageCount": 0,
        "sampleMessage": "string",
        "suggestedRole": null,
        "suggestionReason": "UNSPECIFIED"
      }
    ],
    "automatedMessages": [
      {
        "id": "string",
        "participantKey": "string",
        "text": "string",
        "occurrences": 0,
        "chatCount": 0
      }
    ],
    "skipped": [
      {
        "fileId": "string",
        "reason": "UNSPECIFIED",
        "count": 0,
        "detail": "string"
      }
    ],
    "subjectSuggested": false
  },
  "counts": {
    "chatsFound": 0,
    "chatsImported": 0,
    "conversations": 0,
    "oneSidedDropped": 0,
    "messages": 0,
    "subjectMessages": 0,
    "teamMessages": 0,
    "counterpartMessages": 0,
    "automatedMessages": 0,
    "firstMessageAt": 0,
    "lastMessageAt": 0,
    "formats": [
      "WHATSAPP"
    ]
  },
  "createdBy": "string",
  "createdAt": 0,
  "confirmedBy": "string",
  "confirmedAt": 0,
  "expiresAt": 0
}
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "property1": null,
  "property2": null
}
Empty
Empty