I need to retrieve the complete work order history for a specific technician via the FieldPulse API. Specifically, I am interested in understanding the following:
- What is the recommended endpoint and query pattern for filtering work orders by assignee (i.e.,
assignee_id)? The documentation suggestsGET /v1/work_orders?assignee_id={id}, but I am uncertain whether this returns all historical records or only those in non-terminal states. - How does pagination behave when filtering by assignee? I have observed cursor-based pagination in other list endpoints, but I need confirmation on whether the
cursorparameter is stable across filter combinations, particularly when the underlying dataset may be receiving concurrent updates. - Is there a mechanism to retrieve associated metadata—e.g., customer details, location coordinates, completion timestamps—without issuing N+1 requests? The documentation mentions an
expandparameter, but its supported values are not exhaustively enumerated. - What are the failure modes and edge cases I should account for? Specifically:
- How does the API handle requests for a technician ID that has been deactivated or reassigned?
- Is there a maximum lookback period for historical data, and if so, is this configurable per tenant?
- Are there rate-limiting considerations specific to filtered queries versus unfiltered list requests?
For context, my use case involves generating quarterly performance reports that aggregate job completion metrics per technician. I am less concerned with real-time consistency than with completeness and accuracy of the historical record. I have confirmed that my API key has work_orders:read and technicians:read scopes.
Any clarification on the query parameters, expansion capabilities, and documented constraints would be appreciated. If there are relevant RFCs or specification documents I should consult, please reference them directly.