Pharma Commercial Mock
GET/api/veeva/calls/summary

Field call summary

Field call aggregation by territory and specialty.

Roll-up over /api/veeva/calls. Returns counts, unique HCPs, samples dropped, and average duration grouped by territory and by specialty.

Query parameters

NameTypeDescription
productrequiredstring
Brand name.
e.g. ZENVARA
startrequiredstring (ISO date)
Inclusive start.
endrequiredstring (ISO date)
Inclusive end.

Response schema

PathTypeDescription
product / period / total_callsmixed
Same as /api/veeva/calls.
by_territory[]array
Grouped by rep's territory, sorted by call count descending.
by_territory[].territorystring
northeast | southeast | midwest | west.
by_territory[].callsinteger
Calls in territory.
by_territory[].unique_hcpsinteger
Distinct HCP NPIs reached.
by_territory[].samples_droppedinteger
Number of calls with at least one sample.
by_territory[].avg_duration_minnumber
Mean duration in minutes.
by_specialty[]array
Same shape, grouped by HCP specialty (Medical Oncology, Hem-Onc, etc.).

Behaviour notes

  • ·Sum of calls across territory buckets equals total_calls.
  • ·Same for specialty — every call counted in exactly one bucket per dimension.

Examples

Monthly summary
curl 'http://localhost:3000/api/veeva/calls/summary?product=ZENVARA&start=2026-02-01&end=2026-03-01'

Sources