Rate Limits
Lawmatics enforces a limit of 150 requests per minute per firm.
Exceeding the limit returns a
429status with aRetry-After: 60header — wait the indicated number of seconds before retrying.The limit is per-firm (i.e. shared across all requests authenticated against the same Lawmatics account), not per-app or per-token.
Error Response Format
Errors are returned as a JSON:API-style envelope:
{ "errors": [ { "status": 422, "title": "Filter By Parameter Not Available", "detail": "When applying filters, a valid 'filter_by' parameter is required." } ] }Another example — requesting a resource that doesn't exist:
{ "errors": [ { "status": 404, "title": "Not found", "detail": "File with id invalidId was not found." } ] }errors is always an array — check status and detail on each entry for the specifics.
Common Status Codes
Status | Meaning | Common cause |
200 / 201 | Success | Request succeeded (201 for resource creation) |
401 | Unauthorized | Missing/invalid |
404 | Not Found | Record ID doesn't exist or isn't accessible to this firm |
422 | Unprocessable Entity | Validation failure — e.g. missing a required param like |
429 | Too Many Requests | Rate limit exceeded — see |
Best Practices for Integration Partners
Implement backoff/retry logic keyed off
429+Retry-After, not a fixed request intervalAlways check the
errorsarray rather than assuming a non-2xx means the same thing every time —detailis usually specific enough to branch onFor filtering, remember only one
filter_by/filter_onpair is supported per request — combine conditions client-side if you need more complex logic
Questions? [email protected]
