Upside Down Research, LLC · Est. MMXXIII A little different look at the world
Pre-release · subject to change
Documentation

Quotas & Limits

Tupshar is a free research preview. Default limits are generous for experimentation; they may change as the product evolves.

Rate Limit

Tupshar uses a token-bucket rate limiter per API key.

ParameterValue
Sustained rate60 requests / minute
Burst capacity120 requests

Exceeding the limit returns 429 rate_limited. The response includes a Retry-After header (in seconds) — wait that long before retrying. There are no X-RateLimit-* headers.

Per-Key Quotas

Every key starts with these defaults:

ResourceDefault limit
Documents100,000
Total storage10 GiB
Keys per user25
Key lifetime180 days after creation

Exceeding document count or storage returns 403 quota_exceeded. Your data is safe — nothing is deleted automatically.

There is no /v1/quota endpoint. Check your usage by listing documents or contacting support.

Request and Document Size Limits

ItemLimit
Request body8 MiB
Document contents4 MiB
Filename length512 characters

Requests over these sizes return 413 payload_too_large.

Metadata Limits

ItemLimit
Tags per document64
Tag length64 characters
Links per document256
Properties per document64
Property key length128 characters
Property value length2,048 characters

Search Limits

ItemLimit
Terms in a token query32
Results per page (query endpoints)25 default, 100 max
Results per page (list endpoint)50 default, 500 max

Handling Quota Errors

Rate limited (429):

{
  "error": {
    "code": "rate_limited",
    "message": "Rate limit exceeded",
    "request_id": null
  }
}

Read the Retry-After header and wait before retrying. Use exponential backoff for automated clients.

Quota exceeded (403):

{
  "error": {
    "code": "quota_exceeded",
    "message": "Storage quota exceeded",
    "request_id": null
  }
}

Delete documents you no longer need to free storage, or contact paul@upside-down-research.com to request a higher quota.

Notes

  • Limits apply per API key, not per IP address.
  • Key lifetime begins at creation; keys do not auto-renew.
  • These are research preview defaults and may change without notice.

For the full error code reference see @/docs/reference/errors.md.