Sync Special Order List
POST/api/admin/portal/special-order-list/sync
Sync now. 200 with the run's report (sync.status succeeded|failed + message); 409 when a sync is already running. A cost/supplier column in the portal range refuses the sheet. With a cost tab set, the same run reads it into a staff-only table: sync.cost_status (succeeded|failed, null = no cost tab), costs_imported, cost_errors, cost_message. A cost tab problem never fails the portal import and leaves stored costs unchanged. Counts only — no cost value is ever returned.
This endpoint currently requires session authentication; Personal Access Token scope support is in progress.
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.
Validation failed — the body is a field → messages map (Laravel shape) or the platform envelope with a stable machine-readable code. Fix the payload and resubmit.
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.