External Service
Integrators of the Partner API are referred to as external service in the API.
Each external service is assigned a unique identifier (externalServiceId) that is used to associate users and data with that service.
Some endpoints require externalServiceId to be passed with the request by having the endpoint prefixed with /external-service/{externalServiceId}/.
This is always required when the external service is involved in more than just authentication, when directly influencing the data that is being returned or modified.
External Identifiers
By default, endpoints will require identifiers set by Wingfield to be used for querying resources. However, some endpoints may also allow the use of external identifiers provided by the partner's system. In these cases, the endpoint will declare this in its endpoint by using a /by-external-id/ segment in the URL path (eg. when getting court bookings by external ID).
In general, properties tied to the partner's system will be prefixed with external in the API schema (eg. externalCourtName or externalCourtBookingId) to distinguish them from Wingfield's internal identifiers.