Overview
To maintain the stability and efficiency of our services, Salv enforces API rate limits. These limits ensure fair use of resources and service availability for all clients. This article will guide you through the API rate limits and provide instructions for handling rate limit responses effectively.
What is an API Rate Limit?
An API rate limit controls how many API requests you can send to the Salv platform in a specific period. Rate limits are introduced to prevent a single user from overwhelming the system, which could affect other clients.
If you exceed your rate limit, the API will return a 429 (Too Many Requests) error, and your requests will be rejected. To avoid service disruptions, it is essential to implement retry logic in your application.
Rate Limit Details
The specific rate limit applied to your account depends on the package you have with Salv and, in some cases, clauses in your contract. If your contract was established under older terms, it may contain different or customised rate limits.
To find out your specific rate limit:
- Review your contract.
- If you're unsure or need clarification, contact our support team for assistance.
Example Rate Limit
For each entity-related API operation, you can perform up to 5 API calls per second.
โ๏ธ Please note: This is just an example rate limit. Your actual rate limit may vary depending on your specific package or contract with Salv.
Here is how it works:
Create Entities: Up to 5 requests per second
Update Entities: Up to 5 requests per second
Get Entities: Up to 5 requests per second
Monitor Entities: Up to 5 requests per second
Screen Entities: Up to 5 requests per second
API calls not related to entities processing: Up to 5 requests per second
This means that, in total, you can make up to 30 API calls per second across all these actions (5 calls per operation type).
However, you cannot exceed 5 API requests for a single action type per second. For example:
- You cannot make 10 requests to create entities in one second.
- You cannot screen 15 entities in one second.
API Endpoint Groups
Below is a list of the API endpoints subject to rate limits:
Entity Creation
POST /v1/persons
POST /v2/persons
POST /v1/persons/{personId}/transactions
Entity Retrieval
GET /v1/persons/{personId}
GET /v1/persons/{personId}/transactions/{transactionId}
Entity Updates
PATCH /v2/persons/{personId}
PATCH /v1/persons/{personId}
PUT /v2/persons/{personId}
PATCH /v1/persons/{personId}/transactions/{transactionId}
Monitoring
POST /v1/persons/{personId}/monitoring-checks
POST /v1/transactions/{transactionId}/monitoring-checks
Screening
POST /v1/persons/{id}/screening-checks
POST /v1/transactions/{id}/screening-checks
Not related to Entities processing
GET /v1/data-upload/{uploadId}/status
POST /v1/data-upload
GET /v1/persons/{id}/unresolved-alerts/
GET /v1/transactions/{id}/unresolved-alerts/
POST /v1/custom-lists/{customListId}/records
DELETE /v1/custom-lists/{customListId}/records/{id}
GET /v1/custom-lists/{customListId}/records/{id}
GET /v1/custom-lists/{customListId}/records
PUT /v1/custom-lists/{customListId}/records/{id}
GET /v1/screening-alerts/{screeningAlertId}/hits
GET /v1/persons/{personId}/risks
PUT /v1/alerts/status
POST /v1/screening-searches
GET /v1/persons/{personId}/transactions
GET /v1/persons
GET /v1/persons/{personId}/statuses
GET /v1/alerts/{alertId}
Handling Rate Limit Errors
When you exceed the rate limit, the system will respond with an HTTP status code of 429 (Too Many Requests). To manage this, ensure that your application includes retry logic. This logic should pause and retry the request after a short delay, allowing the rate limit window to refresh.
Example Retry Logic
- Implement a backoff strategy (e.g., exponential backoff) to retry requests after receiving a 429 error.
- Check the Retry-After header in the 429 response, which may provide a recommended delay period before retrying the request.