Skip to content
Docs
Sign in

Sizes and limits

The largest nests you can run: API limits for sync and async requests, the errors you get past them, and the limits in imposition and estimating.

Every nest has limits on its size and its time, so one very large request can't hold up everyone else's. This page lists the ones you can run into and what happens when you do.

Nesting API limits#

A request to the nesting API runs sync (the answer comes back in the same response) or async (it is queued as a job you poll). Each mode has its own limits:

LimitSyncAsyncError when exceeded
Time limit (s)10120The time limit is above the maximum for this mode.
Pieces1,0004,000Too many pieces (after quantities and panelling).
Distinct parts5002,000Too many distinct parts.
Points per outline2,0002,000An outline has too many points; simplify it.
Outline points in total200,000200,000Too many outline points in total; simplify the outlines.
Outline points in the response400,0001,000,000The response would carry too many outline points; ask for fewer layouts, simpler outlines or include=["transform"] only.
Raster grid cells50,000,00050,000,000The container is too large for the raster grid.
Layouts per request55Too many layouts requested.
Queued or running jobs per team–2More async jobs than this at once are refused until one finishes.
  • Pieces count every copy, after quantities, and every panel of a split part.
  • Outline points in the response count the outline points of every piece in every layout you ask for, once for each geometry you include. Ask for fewer layouts, simpler outlines, or transforms only to stay under it.
  • Raster grid cells: very large sheets or rolls hit this first. Use a smaller container, or send the job async.

A request body can be at most 5 MB of JSON, and any length or coordinate at most 100,000 in.

GET /a/{team_slug}/nesting/api/v1/limits/

The effective limits (`sync`, `async`), free sync slots in this process and the team's active jobs.

nesting_limits · View in API reference

The limits call returns your team's limits and how many background jobs are running, so you can check before you send a large request.

Sync or async#

With mode set to auto (the default), a request runs sync when it fits the sync limits and the server has room for it, and is queued as an async job otherwise. sync never queues and async always does. Starting nests is rate limited to 60 requests a minute per user; polling a job isn't.

When a limit is hit#

Response When What to do
413 A request is over a limit of its mode. The body names it: {"detail", "limit", "value", "maximum"}. Size limits are checked before any nesting work starts. Reduce the request, or send it async.
429 The team already has the most async jobs queued or running, a sync request found the server busy, or the rate limit was reached. Retry when a job finishes, or later. A busy sync request can be resent as async.
422 No valid layout was found. The body carries the warnings. Check that the parts fit the container in an allowed rotation.

Imposition#

Limit Value
Time limit of a run 1 to 600 seconds (30 by default)
Artworks in an offset run at most 40
Quantity of an artwork 1 to 100,000
Max sheets 0 (no limit) to 500

Estimating#

Limit Value
Time budget of an automatic nest 1 to 10 seconds (2 by default)
Optimize 10 seconds
Parts and dimension lines in an estimate 2,000
Points in one polygon 500
Uploaded file 50 MB

More on the takeoff limits on Takeoff: tracing parts.

Last updated Sept. 27, 2026