Voice APICall Lookup

Call Lookup

Nhữ Hào Nam·4/17/2026

Call Logs API

API group for querying call logs (CDR – Call Detail Record): search for a list of calls by time range and view details of a specific call (including recording_urland transcript).

General authentication header

Header

Value

Description

Authorization

<api_key>

Tenant's API key

X-ACCESS-TOKEN

<jwt_token>

JWT token after logging in

Content-Type

application/json

Required for requests with body (POST)

Get API key: Contact Alohub to obtain the API key for the tenant.


1. Call List (CDR)

POST https://app.alohub.vn:9909/api/report/call-logs

Retrieve the list of call logs within the specified time range, with pagination.

Request Body

{
  "callStartTime": "2025-04-13T00:00:00+07:00",
  "callEndtime":   "2026-04-13T23:59:59+07:00",
  "page":          1,
  "limit":         50
}

Field description

Field

Type

Required

Description

callStartTime

string

Yes

Start time (ISO 8601 with timezone). E.g.: "2025-04-13T00:00:00+07:00"

callEndtime

string

Yes

End time (ISO 8601 with timezone)

page

Yes

number

Current page (starting from 1)

limit

Yes

number

Number of records per page

Note: Field names are callEndtime(not callEndTime) — pay attention to lowercase and uppercase as per backend spec.

Sample code

curl --location 'https://app.alohub.vn:9909/api/report/call-logs' \
  --header 'Accept: application/json, text/plain, */*' \
  --header 'Authorization: <api_key>' \
  --header 'X-ACCESS-TOKEN: <jwt_token>' \
  --header 'Content-Type: application/json' \
  --header 'X-Requested-With: XMLHttpRequest' \
  --data '{
    "callStartTime": "2025-04-13T00:00:00+07:00",
    "callEndtime": "2026-04-13T23:59:59+07:00",
    "page": 1,
    "limit": 50
  }'
const axios = require('axios')

const response = await axios.post(
  'https://app.alohub.vn:9909/api/report/call-logs',
  {
    callStartTime: '2025-04-13T00:00:00+07:00',
    callEndtime: '2026-04-13T23:59:59+07:00',
    page: 1,
    limit: 50
  },
  {
    headers: {
      'Accept': 'application/json, text/plain, */*',
      'Authorization': '<api_key>',
      'X-ACCESS-TOKEN': '<jwt_token>',
      'Content-Type': 'application/json',
      'X-Requested-With': 'XMLHttpRequest'
    }
  }
)

console.log(response.data)
import requests

response = requests.post(
  'https://app.alohub.vn:9909/api/report/call-logs',
  json={
    'callStartTime': '2025-04-13T00:00:00+07:00',
    'callEndtime': '2026-04-13T23:59:59+07:00',
    'page': 1,
    'limit': 50
  },
  headers={
    'Accept': 'application/json, text/plain, */*',
    'Authorization': '',
    'X-ACCESS-TOKEN': '',
    'Content-Type': 'application/json',
    'X-Requested-With': 'XMLHttpRequest'
  }
)

print(response.json())

2. Call Details

GET https://app.alohub.vn:9909/api/report/call-logs/{call_id}

Retrieve detailed information of a specific call including recording_urland transcript (if available).

Path Parameter

Parameter

Required

Type

Description

{call_id}

Yes

string

Call identifier, format: YYYYMMDDHHMMSS-XXXXXXXX-XXX. E.g.: 20260121095227-IMCRRNJW-342

Sample code

curl --location 'https://app.alohub.vn:9909/api/report/call-logs/20260121095227-IMCRRNJW-342' \
  --header 'Accept: application/json, text/plain, */*' \
  --header 'Authorization: <api_key>' \
  --header 'X-ACCESS-TOKEN: <jwt_token>' \
  --header 'X-Requested-With: XMLHttpRequest'
const axios = require('axios')

const callId = '20260121095227-IMCRRNJW-342'

const response = await axios.get(
  `https://app.alohub.vn:9909/api/report/call-logs/${callId}`,
  {
    headers: {
      'Accept': 'application/json, text/plain, */*',
      'Authorization': '<api_key>',
      'X-ACCESS-TOKEN': '<jwt_token>',
      'X-Requested-With': 'XMLHttpRequest'
    }
  }
)

console.log(response.data)
import requests

call_id = '20260121095227-IMCRRNJW-342'

response = requests.get(
  f'https://app.alohub.vn:9909/api/report/call-logs/{call_id}',
  headers={
    'Accept': 'application/json, text/plain, */*',
    'Authorization': '',
    'X-ACCESS-TOKEN': '',
    'X-Requested-With': 'XMLHttpRequest'
  }
)

print(response.json())

Note: call_idobtained from the response of the call list API (item 1). The ID format is a string consisting of: timestamp + random chars + extension/session id.

Was this article helpful?
Updated: 4/17/2026
để chuyển bài