Submit Dropship Batch
POST/api/portal/dropship/batches/:batch/submit
Creates the batch's ready and warning orders in the background; orders with errors are skipped. Each order is re-checked against current stock, prices, your open orders and your account's standing just before it is created (an order created after the account was disabled fails with portal_account_inactive), so a retailer order number that already has an open order comes back as duplicate rather than a second order. No body. Returns 202 with the batch in submitting; poll Get Dropship Batch for progress and per-order results. Submitting twice is safe — only the first starts the work.
This endpoint currently requires session authentication; Personal Access Token scope support is in progress.
Auth: a portal session bearer token, or a portal API key (pfk_…) with the dropship:write scope, sent as Authorization: Bearer. A Viewer-role buyer (or a key owned by one) is refused with 403 viewer_read_only. Requires an enabled dropship program; 60 requests a minute.
Batch fields: id, original_filename, format (sku_template or shopify_export) with format_label, status (staged → submitting → completed or completed_with_errors; or discarded) with status_label, totals (rows, orders, lines, ready, warning, error, to_create, and once submitted processed, created, failed, repriced — orders whose price changed since the dry run — and repriced_delta), submittable_count, can_submit, can_discard, tracked_job_log_id (the background job creating the orders, once submitted), uploaded_by, created_at, updated_at.
Errors: 404 not_found; 422 batch_not_staged (already submitted or discarded) or nothing_to_submit (no ready or warning orders); 403 dropship_not_enabled when CSV intake is not enabled for your program.
Request
Responses
- 202
- 401
- 403
- 404
- 422
- 429
Accepted
Response Headers
Unauthorized
Response Headers
Forbidden
Response Headers
Not Found
Response Headers
Unprocessable Content
Response Headers
Too Many Requests