Get Contract Payments (Legacy)
GET/v1/open-api/contract-payment/:contractId
This endpoint has been deprecated and may be replaced or removed in future versions of the API.
> ⚠️ Deprecated — use GET /v1/open-api/contract/{id}/payment instead.
This endpoint places the child resource under its own top-level path instead of nesting it under the parent contract's ID. It is kept for existing integrations and stays available until 12 Feb 2027; every response carries
Deprecation: true,Sunset: Fri, 12 Feb 2027 00:00:00 GMTand aLink: </v1/open-api/contract/{id}/payment>; rel="successor-version"header.
List a contract's payments (newest first). Both page and size are required
query parameters here (unlike the canonical endpoint, which defaults them); size
has no upper bound enforced by this legacy endpoint, only the min 20 shown below.
Requires grant PERMISSION_OPEN_API_CONTRACT_PAYMENT:READ.
Request
Responses
- 200
- 400
- 401
- 403
- 404
- 429
Page of payments.
Validation error (400). Field-level failures are listed in errors[] and error is
null; a malformed / unparsable JSON body is the inverse — error.messageCode is
3705 and errors[] is empty.
Invalid, revoked or expired token (401) — also returned when the connection was
revoked or the company is blocked.
Produced by the authentication filter, so the body is a reduced envelope: no
error, no requestId, and errors is null rather than []. Every cause yields the
same fixed English message.
The token lacks the required permission:scope grant (403).
Resource not found (404).
Rate limit of 60 requests/minute exceeded (429). Like 401, this comes from the
authentication filter: reduced envelope, fixed English message, no error object and no
Retry-After header.