Imports a zip of recordings and transcripts, uploaded beforehand as a file of type `ConversationArchive`. Recording and transcript are matched by name without extension (`call-001.mp3` with `call-001.json`); an optional `manifest.csv` or `manifest.json` in the root overrides the metadata; without it, telephony file names are read instead. Defaults to a dry run: the archive is validated and the report lists what would be created and what was rejected, without writing anything. Send it again with `dryRun: false` to import.
Authorization
Bearer JWT Authorization header using Bearer scheme
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://test.api.speaknode.com/api/Analytics/conversations/archive" \ -H "Content-Type: application/json" \ -d '{}'{
"dry_run": true,
"manifest_found": true,
"total": 0,
"imported": 0,
"duplicates": 0,
"failed": 0,
"items": [
{
"name": "string",
"has_audio": true,
"has_transcript": true,
"session_id": "1ffd059c-17ea-40a8-8aef-70fd0307db82",
"duplicate": true,
"error": "string"
}
],
"rejected": [
{
"entry": "string",
"reason": "string"
}
],
"upload_id": "f2ef591b-135b-46fa-a604-3d4fda5bfbfb"
}Takes a human conversation into the module. Audio, audio with a ready transcript, or a transcript alone — all three are supported; audio itself is uploaded beforehand through `/api/files/upload-url` with file type `ConversationAudio`, so the file never travels through this API. A transcript without timings is accepted, and the response says so: talk share, silence, interruptions and speech rate stay unmeasured rather than being reported as zero. POST
Previous Page
Registers up to two hundred conversations at once. Every item gets its own verdict — one broken transcript does not cost the rest of the import. Bigger imports go through the archive. POST
Next Page