Limits
Request sizes, page sizes, link lifetimes and request rates of the Tepez API.
This page lists the limits of the Tepez API in one place: how large a request can be, how many items a page returns, how long each kind of link stays valid, and how fast you can send requests. Plan your integration within them.
At a glance
| Limit | Value | More |
|---|---|---|
| Request body | 1 MB | Request body size |
| Request body to create or change a form | 2 MB | Request body size |
| Request body to add options to an options set | 5 MB | Options sets |
Entries per page (limit on GET /entry) | 2,000 | Page through the results |
Options per search (limit on autocomplete) | 10 by default, 250 at most | Search a set |
Empty entries per generateEntries request | 10,000 | Pre-issue empty entries |
Prefill link (?data=) | about 2,000 characters | Prefill a form |
| Export and render download links | about 2 days | Link lifetimes |
| File upload policy | 2 hours | Files and PDFs |
Fill links (resumeUrlBewit) | until the entry is submitted, at most 2 years | Authentication |
| Login token | 3 days | Authentication |
| Request rate | fair use | Request rate |
Request body size
A request body can be at most 1 MB (1,048,576 bytes). Two kinds of request allow more:
- Creating or changing a form, with
POST /formorPATCH /form/{formId}: 2 MB. - Adding options to a set, with
POST /optionsSet/{setId}/addOptions: 5 MB.
A larger body fails with 413. The message gives the limit in bytes:
{
"statusCode": 413,
"error": "Request Entity Too Large",
"message": "Payload content length greater than maximum allowed: 1048576"
}Files don't count toward these limits, because they never go through the API. You upload each file straight to storage, as Files and PDFs describes, and the entry holds only a small file object. A file field's own settings, such as the largest file size it takes, are part of the form.
Page size
GET /entry returns up to 2,000 entries per page. A larger
limit fails with 400 "limit" must be less than or equal to 2000. Always send limit, and
follow the Link header to the next page, as
Page through the results describes.
Link lifetimes
| Link | Valid for | Notes |
|---|---|---|
The download url of an export or of a PDF rendered on demand | about 2 days | After that, export or render again. |
An archived PDF's archivedRenders[].file.url | years | Store the link, or the PDF itself, with your record. |
| A file upload policy | 2 hours | After that, ask for a new policy. |
A fill link, resumeUrlBewit | until the entry is submitted, and at most 2 years | After that, create a new entry for the person. |
A login token from POST /auth/login | 3 days | After that, sign in again. API keys don't expire. |
A prefill link has no lifetime, but keep it under about 2,000 characters after encoding. Browsers and email clients can cut longer links. For more data, create a personal entry.
Request rate
Tepez sets no fixed request quota for your account. The API is shared, so use it fairly:
Bursts above ~1,000 requests per minute from one IP address may be throttled.
To stay well below that:
- Fetch many entries per request, with
limitup to 2,000, rather than one entry per request. - Poll for changes with a
changedAtfilter every few minutes, as Poll for changes describes, rather than re-reading every entry. - Spread large imports over time, and send one request at a time, or a few in parallel.
- After a failed request, wait before you retry, and wait longer after each retry.
If your integration needs a sustained higher rate, tell us before you start.
Tell us about your integration's volumeQuestion about this page? Email support@tepez.co.il