Support & Troubleshooting

Rate Limits & Error Handling

The Fastino Personalization API enforces rate limits and returns standardized error objects for all endpoints. This ensures consistent, predictable behavior and clear recovery paths for all client applications.

Overview

All API responses follow a consistent error schema and include headers that describe your current rate-limit state.

You should implement:

  • Graceful retry logic for 429 Too Many Requests responses.

  • Exponential backoff for burst requests.

  • Consistent error handling based on structured JSON error objects.

Rate Limits

Rate limits vary depending on environment and authentication scope.

Environment

Default Limit

Notes

Production

60 requests / minute

Temporary data, relaxed limit.

Enterprise / Partner

Configurable up to 2,000 requests / minute

Contact support for adjustment.

Rate-Limit Headers

Every response includes headers describing your remaining quota and reset window.

Header

Description

Example

X-RateLimit-Limit

Maximum allowed requests per minute.

600

X-RateLimit-Remaining

Remaining requests in the current window.

543

X-RateLimit-Reset

UTC timestamp when the limit resets.

2025-10-27T12:01:00Z

Example


Handling Rate Limit Exceedance

If you exceed the allowed number of requests per minute, you’ll receive a 429 Too Many Requests response:

Response


Body


Your client should respect the Retry-After header and pause requests for that number of seconds before retrying.

Error Response Schema

All Fastino API errors share a consistent JSON structure:


The code field is machine-readable and suitable for programmatic handling.
The message field provides a human-readable explanation.
The optional details object gives diagnostic context for logs or dashboards.

Common Error Codes

Error Code

HTTP Status

Meaning

Recommended Action

USER_NOT_FOUND

404

No user found for the given user_id.

Verify user exists or register them first.

INVALID_REQUEST

400

Request body or parameters malformed.

Check required fields and JSON structure.

RATE_LIMIT_EXCEEDED

429

Too many requests within time window.

Wait for Retry-After interval and retry.

UNAUTHORIZED

401

Invalid or missing API key.

Check your Bearer token.

FORBIDDEN

403

Key valid, but lacks required permissions.

Use a scoped key with appropriate access.

SERVER_ERROR

500

Internal processing failure.

Retry after a short delay; contact support if persistent.

TIMEOUT

504

Request exceeded processing time.

Retry with smaller payload or fewer results.

Example: Invalid Request Error


Body


Example: User Not Found


Body


You can handle this by re-registering the user:

Example: Unauthorized


Body


Check that your requests include:

Authorization: Bearer <token>

Example: Server Error


Body


If this error persists, log the request_id from the details field and contact support.

Retry Guidelines

Error Code

Retry Strategy

Delay

RATE_LIMIT_EXCEEDED

Wait for Retry-After header.

Typically 15–60s

SERVER_ERROR

Retry with exponential backoff (max 3x).

2s → 4s → 8s

TIMEOUT

Retry once with smaller payload.

5s

USER_NOT_FOUND

Do not retry automatically.

Manual fix required.

Example: Exponential Backoff (Python)


Monitoring and Logging

  • Always log the request_id from error.details for traceability.

  • Aggregate rate-limit headers to monitor usage trends.

  • Surface RATE_LIMIT_EXCEEDED and SERVER_ERROR in application dashboards for early alerts.

  • Consider caching frequent /summary or /query responses to reduce duplicate requests.

Summary

Fastino’s rate limiting and standardized error handling ensure that your integrations remain stable, predictable, and diagnosable at scale.

Implement exponential backoff, respect Retry-After intervals, and always parse the structured JSON error schema for resilient, production-grade client behavior.

Next, continue to Core Concepts → Authentication & Security to learn about key scopes, header configuration, and best practices for secure API usage.

On this page