Hi team,
I’d like to request an enhancement to the List Services API (GET /services) that would make it possible to return custom field values directly within the service objects, without needing additional calls to the Service Custom Fields API.
Current Challenge
Today, if you want to retrieve custom field values for all services in your PagerDuty account, you must:
- Call the List Services API to get the list of services
- Loop through every service ID
- Make separate API calls to fetch custom field values per service
For accounts with a large number of services, this results in significant numbers of API calls, higher latency, and increased complexity in automation and reporting workflows.
Proposed Solution
Provide an optional query parameter (e.g., include[]=custom_fields) to allow the List Services API to return each service along with its custom field values in a single response, similar to how other PD APIs support the include[] pattern for expandable fields.
Benefits
- Reduced API call volume
- Better performance for bulk data retrieval
- Simpler automation scripts and reporting pipelines
- More efficient integrations, especially for teams managing many services
- Lower load on PagerDuty APIs since fewer requests are made
Why This Matters
Custom fields often contain critical metadata used for routing, ownership mapping, service classifications, cost allocation, or operational reports. Fetching them in bulk is a common need and enabling this at the API level would streamline workflows for many users.