agentlyleads docs
Contracts API

Errors

Every error is a JSON object with a single error string:

{ "error": "<message>" }

HTTP status codes

StatusMeaning
200Success
400 Bad RequestInvalid query parameter: an unknown status, an expiringWithinDays outside 1–3650, a limit outside 1–1000, or an unparseable updatedSince
401 UnauthorizedMissing, malformed, expired, or revoked API key
403 ForbiddenThe key is valid but lacks the read:contracts scope
404 Not FoundNo contract with that ID in this workspace
429 Too Many RequestsRate limit exceeded

Examples

{ "error": "status must be one of: DRAFT, ACTIVE, EXPIRED, CANCELLED." }
{ "error": "expiringWithinDays must be an integer between 1 and 3650." }
{ "error": "API key missing required scope: read:contracts." }

What is not an error

A filter that matches nothing returns 200 with an empty list and "nextCursor": null. A companyId naming a company with no contracts, or one that does not exist at all, is an empty page rather than a 404: the endpoint is answering "which contracts match this?", and the answer is legitimately none.

Limits

Each API key is limited to 120 requests per minute (platform-enforced). Exceeding it returns 429 with a Retry-After header giving the seconds until the window resets.

On this page