API - Transcription

Call Transcriptions API

This API allows you to retrieve AI-generated call transcriptions and summaries for calls associated with your account. Results are returned using cursor-based pagination.

Base URL https://api.cytracom.net/v1.0/insights/transcriptions

API Endpoint

VERB URL PATH ABOUT
GET /insights/transcriptions Retrieve call transcriptions and summaries

Retrieve Call Transcriptions

/insights/transcriptions

Returns transcription records within a specified date range. Results are paginated and can be retrieved using the cursor returned in the previous response.

The following query parameters are supported:

Field Description Mandatory
from_date Start of the date range. Supports ISO-8601 format (2026-06-04T00:00:00Z) or Unix timestamp (seconds or milliseconds). Yes
to_date End of the date range. Must be after from_date and cannot be in the future. Yes
page_size Number of records returned per page. Default: 50. Maximum: 100. No
cursor Pagination cursor returned by the previous response. Omit on the first request. No

Date Range Limits

Rule Limit
Maximum date range 1 day
Historical lookback 90 days
Future dates Not allowed
Page size 1–100

If you need data spanning multiple days, make separate requests for each day.

Example cURL Request (First Page)

curl --request GET \
  --url 'https://api.cytracom.net/v1.0/insights/transcriptions?from_date=2026-06-04T00:00:00Z&to_date=2026-06-04T23:59:59Z&page_size=2' \
  --user token:<<YOUR-TOKEN>>

Example JSON Response

{
  "code": 200,
  "data": {
    "page_size": 2,
    "next_cursor": "eyJzYSI6WzE3NDk0NzgyMDAwMDAsIjE3NDk0NzgyMDAuMTIzNDU2Il19",
    "transcriptions": [
      {
        "linked_id": "1749478200.123456",
        "start_time": "2026-06-04T10:15:00Z",
        "created_at": "2026-06-04T10:20:00Z",
        "transcript": "Agent: Thank you for calling...",
        "summary": "Customer requested billing assistance.",
        "duration_seconds": 184,
        "status": "completed",
        "sentiment": "positive",
        "caller": "+15125550100",
        "callee": "+15125550200",
        "labels": {
          "queue": "support"
        },
        "has_transcription": true
      }
    ]
  }
}

Retrieve Next Page

If the response contains a value in next_cursor, use that value in the next request to retrieve additional records.

Example cURL Request (Next Page)

curl --request GET \
  --url 'https://api.cytracom.net/v1.0/insights/transcriptions?from_date=2026-06-04T00:00:00Z&to_date=2026-06-04T23:59:59Z&page_size=2&cursor=eyJzYSI6WzE3NDk0NzgyMDAwMDAsIjE3NDk0NzgyMDAuMTIzNDU2Il19' \
  --user token:<<YOUR-TOKEN>>

Continue requesting pages until next_cursor is null.

Response Fields

Field Description
page_size Number of records returned in the response.
next_cursor Cursor used to retrieve the next page. Null indicates no additional results.
transcriptions Array of transcription records.
linked_id Unique identifier for the call.
start_time Call start time.
created_at Time the transcription record was created.
transcript Full transcript text.
summary AI-generated summary.
duration_seconds Duration of the call in seconds.
status Transcription processing status.
sentiment Sentiment classification.
caller Calling party number.
callee Called party number.
labels Custom metadata associated with the call.
has_transcription Indicates whether transcript text is available.

Error Responses

All errors return a JSON response containing a code, error_code, and message.

Example:

{
  "code": 400,
  "error_code": "invalid_date_range",
  "msg": "from_date must be before to_date"
}

Common Error Codes

HTTP Code Error Code Description
400 missing_from_date from_date is required.
400 missing_to_date to_date is required.
400 invalid_from_date Invalid from_date value.
400 invalid_to_date Invalid to_date value.
400 invalid_date_range from_date must be before to_date.
400 to_date_in_future to_date cannot be in the future.
400 window_too_large Date range exceeds 1 day.
400 retention_exceeded Requested data exceeds the 90-day retention window.
400 invalid_page_size page_size must be between 1 and 100.
400 bad_cursor Cursor is malformed.
401 Authentication required.
403 Invalid or expired token.
500 Internal server error.

Notes

  • Only calls with available transcription data are returned.
  • Calls without transcription data are omitted from the results.
  • Keep from_date, to_date, and page_size the same while paging through results.
  • Treat cursor values as opaque and do not modify them.
  • Pagination only moves forward.
  • Use error_code rather than msg when handling errors programmatically.
Was this article helpful?
0 out of 0 found this helpful