# `POST /carrier` Protected. Requires a valid session cookie (`credentials: 'include'`). Create carrier Creates a new carrier for the selected company. Sort order will be automatically appended if omitted. ## Body (JSON) | Field | Required | Type | Description | |-------|----------|------|-------------| | `name` | yes | string | | | `sort` | no | integer | Optional sort order | | `hasPackages` | no | boolean | | | `isReverse` | no | boolean | | ```json { "name": "…", "sort": 1, "hasPackages": true, "isReverse": true } ``` ## Signals On success, emits SSE signal: `carrier` (see [`GET /events`](../events.md)). ## Response `201` Created carrier ```json { "carrier": { "id": 1, "name": "…", "sort": 1, "hasPackages": true, "isReverse": true } } ``` ## Errors | Status | Description | |--------|-------------| | 400 | Invalid input or missing fields — `{"error":"…"}` | | 401 | Unauthorized — `{"error":"…"}` | | 403 | Not authorized — `{"error":"…"}` | | 409 | Carrier already exists — `{"error":"…"}` | --- _Generated from `@openapi` JSDoc. Do not edit by hand — run `npm run docs:api`._