Skip to main content
PropertyValue
Dataset codeD21
Section codeS4 — Communications
Endpoint path/exports/S4/D21
Cursor fieldcommunicated_at
Page size11000 (default 500)
AvailabilityPhase 1 — generally available
PaginationVia (variable page size — joined through a parent)
One row per outreach attempt we made — a call, email, or other operational communication. It includes the direction, status, duration, and timestamps. It does not include message bodies, transcripts, or PBX metadata, which are operational-only and deliberately excluded.

Fields

FieldTypeDescriptionNotes
public_idstringStable unique identifier for this communication row. Use as the primary key for warehouse upserts. Derived from the underlying Mongo _id.Available as of v1.1
communication_typestringChannel of the attempt (e.g. call, email).
directionstringinbound or outbound.
statusstringOutcome/status of the attempt.
fromstringOriginating address/number for the attempt.
tostringDestination address/number for the attempt.
subjectstring | nullSubject line, where applicable (e.g. email).
durationnumber | nullCall/communication duration in seconds, where applicable (e.g. calls).Fractional (sub-second precision, e.g. 119.86464333534241); null when not applicable. Ingest as FLOAT64/NUMERIC, not INT64
communicated_atstringWhen the communication occurred (ISO-8601).Cursor field
created_atstringRow creation timestamp (ISO-8601).
updated_atstringLast-modified timestamp (ISO-8601).

Sample row

{
  "public_id": "664a1b2c3d4e5f6071829301",
  "communication_type": "CALL",
  "direction": "outbound",
  "status": "ANSWERED",
  "from": "+966550000001",
  "to": "+966512345678",
  "subject": null,
  "duration": 119.86464333534241,
  "communicated_at": "2026-05-19T09:31:20.000Z",
  "created_at": "2026-05-19T09:31:25.441Z",
  "updated_at": "2026-05-19T09:33:01.118Z"
}
duration is a fractional number, not an integer. It carries sub-second precision (e.g. 119.86464333534241) and may be null. If you ingest into a typed warehouse, map it to a floating-point/decimal type (FLOAT64, NUMERIC) — mapping to INT64/INTEGER will reject rows with fractional values.

Pagination characteristics

This dataset is via — it is filtered to your tenant by joining through its parent (user_lender_detail_idUserLenderDetails). On multi-tenant databases a single response may contain fewer rows than your limit even when more data exists. The cursor still advances correctly — keep paging until nextCursor is null. See Pagination → Variable page size.

Use cases

  • Attempt funnel analysis.
  • Cross-channel reach analytics (phone vs. email).
  • Operational health monitoring.
Page size may be smaller than the requested limit on multi-tenant DBs. Do not infer “end of data” from rows.length < limit — rely on nextCursor: null.