Partner / APIRate Limits

API Rate Limits

SpaceKart enforces per-IP and per-user request rate limits to maintain service quality for all users. These limits are structural — the same values are applied at the API gateway and documented here.

Rate limit classes

ClassLimitWindow (seconds)ScopeTier
default120 requests60ipPUBLIC
public300 requests60ipPUBLIC
strict10 requests60userPUBLIC
strict-public30 requests60ipPUBLIC
lenient-public600 requests60ipPUBLIC
mobile-ingest60 requests60install_tokenPUBLIC
super-write60 requests60userSUPER_ADMIN
super-read240 requests60userSUPER_ADMIN
super-strict10 requests60userSUPER_ADMIN
webhook-ingest500 requests60ipPUBLIC
identity-otp-request3 requests60ipPUBLIC
identity-public-action20 requests60ipPUBLIC
identity-user-action60 requests60userSUPER_ADMIN
identity-mobile-change3 requests3600userSUPER_ADMIN
identity-data-export1 requests2592000userSUPER_ADMIN
identity-deletion1 requests86400userSUPER_ADMIN
identity-biometric-login10 requests60userSUPER_ADMIN
vendor-write60 requests60userPUBLIC
vendor-bulk5 requests60userPUBLIC
customer-read240 requests60ipPUBLIC
cart-read240 requests60userPUBLIC
cart-write60 requests60userPUBLIC
checkout-mint10 requests60userPUBLIC
checkout-read120 requests60userPUBLIC
promo-validate20 requests60userPUBLIC
payment-create-order10 requests60userPUBLIC
payment-read120 requests60userPUBLIC
payment-cod-confirm10 requests60userPUBLIC
refund-create5 requests60userPUBLIC
invoice-download30 requests60userPUBLIC
vendor-report60 requests60userPUBLIC
order-read120 requests60userPUBLIC
order-list120 requests60userPUBLIC
order-action30 requests60userPUBLIC
report-read60 requests60userPUBLIC
report-export10 requests60userPUBLIC
return-list60 requests60userPUBLIC
return-open5 requests60userPUBLIC
return-read120 requests60userPUBLIC
return-evidence-sas30 requests60userPUBLIC
return-evidence-commit30 requests60userPUBLIC
return-evidence-read60 requests60userPUBLIC
vendor-analytics30 requests60userPUBLIC
vendor-analytics-export5 requests3600userPUBLIC
dispute-list60 requests60userPUBLIC
dispute-open10 requests60userPUBLIC
dispute-get120 requests60userPUBLIC
dispute-evidence-sas20 requests60userPUBLIC
dispute-evidence-commit20 requests60userPUBLIC
vendor-dispute-list60 requests60userPUBLIC
vendor-dispute-get120 requests60userPUBLIC
vendor-dispute-respond20 requests60userPUBLIC
vendor-dispute-evidence-sas20 requests60userPUBLIC
vendor-dispute-evidence-commit20 requests60userPUBLIC
admin-dispute-list120 requests60userPUBLIC
admin-dispute-get120 requests60userPUBLIC
admin-dispute-claim60 requests60userPUBLIC
admin-dispute-release60 requests60userPUBLIC
admin-dispute-resolve30 requests60userPUBLIC
admin-dispute-close60 requests60userPUBLIC
admin-dispute-evidence-sas20 requests60userPUBLIC
admin-dispute-evidence-commit20 requests60userPUBLIC
admin-dispute-evidence-preview60 requests60userPUBLIC
admin-dispute-detail120 requests60userPUBLIC
bi-report-export3 requests300userPUBLIC
vendor-comms-thread5 requests3600userPUBLIC
vendor-comms-message30 requests3600userPUBLIC
reviews3 requests60userPUBLIC
catalog-suggest120 requests60ipPUBLIC
catalog-trending60 requests60ipPUBLIC

Handling 429 responses

When you exceed the rate limit, the API returns HTTP 429 Too Many Requests with a Retry-After header indicating how many seconds to wait before retrying.

{
  "statusCode": 429,
  "code": "RATE_LIMIT_EXCEEDED",
  "message": "Too many requests",
  "retryAfter": 60
}

Implement exponential backoff in your client starting from the Retry-After value.