Skip to main content

Get Send Plan

GET 

/api/send-plans/:sendPlan

Get one send plan with its resolved policy and totals. Poll this after creating a plan until status is ready or failed.

Required scope: send-plans:read

Grant 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.

Send plan fields:

  • type: working | scenario | run. status: calculating | ready | failed | superseded | archived.
  • parent_send_plan_id: the scenario a promoted working plan came from.
  • scope / policy_overrides: what the plan was requested with. policy: the fully resolved rules the plan ran with (tenant settings, every network's targets, weights, lead times and lanes), stored on the plan so it still explains itself after rules change. policy.networks is an object keyed by destination warehouse ID; each entry repeats its destination_warehouse_id and carries the integration_instance_id of the marketplace connection it belongs to. Each network entry also carries inherited_from: the name of the marketplace's own replenishment settings its target_days came from (for example "FBA replenishment settings"), or null when the target is the network default or a value set in the send planner.
  • as_of: when the calculation finished. stale_networks: an object keyed by destination warehouse ID of networks whose stock snapshot was out of date (null when all were fresh). excluded_networks: networks left out of this calculation because they could not be read (for example a missing marketplace API permission), each with destination_warehouse_id, label and reason; every other network was planned.
  • totals: plan-wide units to send, need, available/protected/sendable stock, shortfall, exceptions and edited lines, plus per-network units, SKUs, cases, cubic feet and capacity usage in totals.networks, an object keyed by destination warehouse ID whose entries also carry destination_warehouse_id. Null while calculating. totals.carried_forward counts the edits carried over from the previous working plan. Each network's capacity (null when no limit applies this month) has limit, limit_multiplier (a scenario's capacity what-if), unit, storage_type, used_before, added, used_after, pct_used, cut_units, over_limit, note and period_start for its first limit, with every storage type's entry under by_storage_type and cut_units_total. capacity_missing is set when the network has limits for other months but none for this one, and totals.capacity_warnings lists those messages plan-wide.
  • policy.networks entries also carry the allocation rules the plan used: buffer_days, floor_strategy (days | service_level) with service_level, channel_priority (protect_other_channels | favor_network), seed_strategy (fixed | proxy) with seed_proxy_pct and seed_proxy_destination_warehouse_id, min_shelf_life_days, demand_windows and demand_window_factor, and inventory_refreshable (the network's stock can be refreshed with Refresh Network Inventory). policy.capacity_multiplier scales every capacity limit.
  • tracked_job_log_id: the background job that calculated the plan. error: why a failed plan failed.

Returns 404 when the plan does not exist.

Request​

Responses​

OK

Response Headers
    Content-Type