Skip to main content

Timestamps

Timestamps in responses are ISO 8601 strings in UTC with millisecond precision:
Send timestamps in requests the same way (ISO 8601). Include a Z or an explicit offset.

Durations

Call durations are in milliseconds. Fields ending in Ms are milliseconds:

Fields in other units

The unit is part of every field name except for two speech-analysis fields (noted below). Don’t assume milliseconds for these:

Money

Wallet amounts (for example amountMicro, balanceAfter) are strings in micro-units of the currency, so they keep full precision. Parse them as decimals or big integers, not floats.

Campaign time zones and calling windows

  • timezone is an IANA time zone name such as Asia/Kolkata or America/New_York. When it is not set, campaigns use Asia/Kolkata.
  • dailyWindowStart and dailyWindowEnd are local times in HH:MM format in the campaign’s time zone. The start is inclusive and the end exclusive. Without them, calls are placed between 09:00 and 21:00 local time.
  • Voice calls are placed only between 09:00 and 21:00 local time, even if the window you set is wider, unless Pineyard has agreed a different range for your workspace.
  • Windows cannot cross midnight. A start at or after the end means the window is closed.
  • dialDays lists the allowed weekdays, 0 = Sunday through 6 = Saturday, in the campaign’s time zone.
  • scheduledStartAt and scheduledEndAt are absolute ISO 8601 timestamps.

Date filters and reporting days

  • Date-range filters (from, to) take ISO 8601 timestamps. On GET /calls both ends are inclusive.
  • Preset periods such as today or last_7_days (call exports, wallet ledger), the today analytics filter and daily analytics buckets use India Standard Time (Asia/Kolkata) calendar days.
  • GET /analytics/heatmap accepts a tz parameter (default UTC) to bucket by hour in your time zone.