Limits
AI agents: read /llms.txt; add .md to any page URL. This page as Markdown: /concepts/limits.md. Index of every page and the rules for every call: /llms.txt. Guides and concepts in one file: /llms-full.txt. OpenAPI: /openapi.json.
Request rate
Section titled “Request rate”The API has no published per-key request rate, and it doesn’t send rate-limit headers. That isn’t permission to send without limit. Pace your integration:
- Send requests one at a time, or a few in parallel.
- Use filters and pages instead of reading records one by one.
- On a
503, or any429, wait before you retry, and wait longer each time.
AI apps have their own limits. See Everyday shop limits.
Email sending
Section titled “Email sending”Operations that email customers count toward the team’s sending limits. They’re the same limits the web app counts, so emails your team sends in YoPrint count too.
| Limit | Value |
|---|---|
| Calls per minute, per team, that send order details, payment reminders or approval reminders, or create or send approvals | 60 |
| Emails per day, per team, on a trial (when YoPrint has turned trial email on) or the Free plan | 60 |
| Emails per day, per team, in the first 6 days of a team or its subscription | 280 |
| Emails per day, per team, from then until 3 months of subscription | 380 |
| Emails per day, per team, after 3 months of subscription | 800 |
The daily limit counts messages, message templates, purchase order emails and the three sending actions on orders. The day is a rolling 24 hours.
On a trial, sending email needs YoPrint to turn it on for the team. Until then, every send answers 422 with email_feature_not_enabled_in_trial.
Data exports
Section titled “Data exports”- A team can have at most 3 exports running at once. A fourth answers
429withexport_capacity. - Only one export of each kind can run at a time. Another of the same kind answers
422withduplicate_report. - While YoPrint updates, new exports can be paused for a few minutes:
503withexport_creation_paused, andRetry-Afterin seconds.
Lists and filters
Section titled “Lists and filters”- A page holds between 5 and 100 records, set per team, 50 by default. See Pagination.
- Order search returns at most 30 matches.
- The job calendar returns up to 1,000 records a page when you page it (500 by default), or up to 1,200 jobs at once without paging. The task calendar never pages: it returns up to 1,200 tasks.
Bodies and files
Section titled “Bodies and files”| What you send | Limit |
|---|---|
| Any request, an uploaded file included | 100 MB (100,000,000 bytes). A bigger one is refused with 413 before YoPrint reads it, so the answer isn’t JSON. |
| An image uploaded as a mockup | 120 megapixels. A bigger one is refused with 422 image_not_allowed, which names the image’s size. |
| A logo, Customer Portal background or profile picture | 6 MB and 32 megapixels. |
| A service-pricing CSV import | 6,240 KB, and 1 to 600 data rows. |
- The Free plan caps an uploaded file at 5,240 KB (about 5 MB), but it doesn’t include API access, so this only applies in the web app.
- YoPrint refuses files that could run as code: web pages, JavaScript, PHP and other scripts, and programs. It checks the file’s name and its content, so a script renamed to
art.pngis refused too. The answer is a422:validation_failednaming the file field inerror.fields, or the codeupload_not_allowed(see Errors). Artwork formats such as AI, EPS, PSD, SVG and ZIP are fine. - AI apps have lower file limits, such as 10 MB for a file from a public link. See Everyday shop limits.
Bulk operations
Section titled “Bulk operations”The bulk operations for order lines, invoice lines and shipment lines take a list of create, update and delete actions for one order, invoice or shipment. YoPrint doesn’t cap the list’s length. Split very large changes into several requests, so a failure costs less to redo.
