Skip to content

Limits

Open .md

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 any 429, wait before you retry, and wait longer each time.

AI apps have their own limits. See Everyday shop limits.

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.

  • A team can have at most 3 exports running at once. A fourth answers 429 with export_capacity.
  • Only one export of each kind can run at a time. Another of the same kind answers 422 with duplicate_report.
  • While YoPrint updates, new exports can be paused for a few minutes: 503 with export_creation_paused, and Retry-After in seconds.

See Export and import data.

  • 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.
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.png is refused too. The answer is a 422: validation_failed naming the file field in error.fields, or the code upload_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.

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.