GET
/api/veeva/calls/summaryField 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
| Name | Type | Description |
|---|---|---|
productrequired | string | Brand name. e.g. ZENVARA |
startrequired | string (ISO date) | Inclusive start. |
endrequired | string (ISO date) | Inclusive end. |
Response schema
| Path | Type | Description |
|---|---|---|
product / period / total_calls | mixed | Same as /api/veeva/calls. |
by_territory[] | array | Grouped by rep's territory, sorted by call count descending. |
by_territory[].territory | string | northeast | southeast | midwest | west. |
by_territory[].calls | integer | Calls in territory. |
by_territory[].unique_hcps | integer | Distinct HCP NPIs reached. |
by_territory[].samples_dropped | integer | Number of calls with at least one sample. |
by_territory[].avg_duration_min | number | 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
- Veeva CRM Help — Call Reportinghttps://crmhelp.veeva.com/doc/Content/CRM_topics/Activities/Call_Reporting_2/