Table of Contents

API : PBX : Recording Get

Request

This request will return a single recording.

URL https://api.telecomx.dk/pbx/recording/RECORDING_ID
Method GET
Access level PERSONAL, VIEWER, MANAGER, OWNER, RESELLER or ADMIN. PERSONAL may not access common recordings.
Param RECORDING_ID Id of the recording (24 hex-char string).
Query expandConsent [optional] True to replace the consent id with the full consent record.

Query examples

https://api.telecomx.dk/pbx/recording/12345678901234567890AAAA
https://api.telecomx.dk/pbx/recording/12345678901234567890AAAA?expandConsent=true

Response

JSON object
_id Id Unique id of the recording.
customer Id Id of the customer it belongs to.
employee Id Id of the employee it belongs to. Null if recording is common.
extension ID Id of the extension it belongs to, if any.
channelId String Id of the channel the call was recorded on. Use to pair with PBX CDR.
callerChannelId String Id of calling channel, when call is inbound, otherwise null. Use to pair with PBX CDR.
date Date Date and time it was recorded.
expires Date Date and time when the recording will be auto deleted.
length Number Length in seconds.
quality String Recording quality - HIGH, NORMAL, COMPACT.
followUp Boolean True if recording is marked for follow up.
followUpNote String Optional followup note.
consent Id Id of the consent given by the caller, see recording consent records. Null if none. Replaced with the full consent record when expandConsent is true.
caller Object Caller data.
caller.number String Callers phone number.
caller.privacy Boolean Callers has secret number.
caller.name String Callers name, if available.
caller.type String Type of caller: EXTERNAL, SYSTEM, SIPPHONE, MOBILE.
caller.employee ObjectId Id of caller, if available.
callee Object Callee data.
callee.number String Called number.
callee.name String Callee name, if available.
language String If the recording has been transcribed, the ISO 639-1 code of the language spoken. Null if not transcribed.
ai Object AI summary of the recording. Null if none has been generated.
ai.summary String The AI-generated summary of the call as plain text.
ai.sensitivityLevel String Sensitivity of the recording as determined by the AI:
NORMAL - no sensitive information
CONFIDENTIAL - contains confidential information
SENSITIVE - contains personal sensitive information.
ai.sensitivityReasons Array Short texts explaining why the sensitivity level was set.
ai.events Array Calendar events extracted from the call by the AI.
ai.events[].title String Title of the event.
ai.events[].start Date Start of the event.
ai.events[].end Date End of the event (estimated to one hour after start when unknown).
ai.events[].location String Location of the event, if any.
ai.events[].notes String Notes for the event, if any.
transcription Array Transcription of the recording as interleaved full-sentence segments sorted by start time. Null if not transcribed.
transcription[].speaker String Who is speaking: caller or callee - references the recordings caller/callee objects.
transcription[].start Number Start time of the segment in fractional seconds.
transcription[].text String The sentence spoken.

Example

{
  "_id": "123457801234567890ABCC",
  "customer": "12345678901234567890ABCD",
  "employee": "12345678901234567890ABCE",
  "extension": "1234578901234567890ABCF",
  "channelId": "457t837w67t.47r7",
  "callerChannelId": null,
  "date": "2019-01-01T00:00:00.000Z",
  "expires": "2019-01-07T00:00:00.000Z",
  "length": 243,
  "quality": "NORMAL",
  "followUp": false,
  "followUpNote": null,
  "consent": "12345678901234567890BBBB",
  "caller": {
    "number": "300",
    "privacy": false,
    "name": "Hans Hansen",
    "type": "SIPPHONE",
    "employee": "12345678901234567890AAAA"
  },
  "callee": {
    "number": "+45350203040",
    "name": "DR"
  },
  "language": "da",
  "transcription": [
    { "speaker": "caller", "start": 0.12, "text": "Hej, det er Hans fra Northwind." },
    { "speaker": "callee", "start": 3.45, "text": "Hej Hans, hvad kan jeg hjælpe med?" }
  ],
  "ai": {
    "summary": "1. Resumé\nHans ringede vedrørende...",
    "events": [
      { "title": "Møde i Roskilde", "start": "2026-08-14T15:00:00.000Z", "end": "2026-08-14T16:00:00.000Z", "location": "Roskilde", "notes": null }
    ],
    "sensitivityLevel": "NORMAL",
    "sensitivityReasons": []
  }
}

Errors

Error code Message Description
404 not_found Recording not found
403 access_denied Insufficient access level
500 internal_error <Unspecified>