Compare Send Plans
GET/api/send-plans/compare
Compare up to four plans side by side — typically the working plan against one or more scenarios. Plans are returned in the order of ids; unknown IDs are skipped.
send-plans:readGrant this scope to your token under Settings → Developer → Personal Access Tokens.
Authentication: Bearer Personal Access Token with the send-plans:read scope. The token's user also needs permission to view the send planner.
Query parameters:
- ids (required): comma-separated plan IDs, 1 to 4.
- product_id (optional): compare a single product instead of plan totals.
Without product_id each entry has per-network units (networks, and networks_by_key summed by network type), short units, skus_short, left_at_source (sendable units not sent anywhere), stockout_before_arrival lines and total send. Each network also carries cuft (cubic feet the send adds) and capacity (limit, unit, used_before and added; null when the network has no limit this month). under_floor counts selling-network lines left below their floor after the send, and capacity_multiplier is the capacity what-if the plan ran with (1.0 = the limits as entered).
With product_id each entry has that product's per-network units and cover after the send, short, left_at_source, under_floor (selling networks left below their floor) and send.
Returns 422 when ids is missing or lists more than four plans.
Request
Responses
- 200
- 401
- 403
- 422
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Unprocessable Content
Response Headers
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.