# Create Position (v2) Creates a new staff position for the specified company. At least one salon ID must be provided. Endpoint: POST /companies/{company_id}/positions Version: 2.0.0 Security: BearerPartnerUser ## Header parameters: - `Accept` (string, required) - `Content-Type` (string, required) - `Authorization` (string, required) Bearer {partner_token}, User {user_token} ## Path parameters: - `company_id` (integer, required) Company (location) ID ## Request fields (application/json): - `title` (string, required) Position name Example: "Senior Stylist" - `salon_ids` (array, required) IDs of salons where this position is available Example: [1,2,3] - `description` (string) Position description (optional) Example: "Senior hair stylist with color specialization" ## Response 201 fields (application/json): - `data` (object) - `data.type` (string) Example: "position" - `data.id` (string) Example: "42" - `data.attributes` (object) - `data.attributes.chain_id` (integer) - `data.attributes.title` (string) - `data.attributes.description` (string) - `data.attributes.services_binding_type` (string) - `data.attributes.rules_required_fields` (array) - `data.attributes.only_chain_appointment` (boolean) - `data.attributes.salon_ids` (array) - `meta` (object) ## Response 400 fields (application/json): - `success` (boolean) - `data` (null) - `meta` (object) - `meta.message` (string) ## Response 401 fields (application/json): - `success` (boolean) - `data` (null) - `meta` (object) ## Response 403 fields (application/json): - `success` (boolean) - `data` (null) - `meta` (object) ## Response 404 fields (application/json): - `success` (boolean) - `data` (null) - `meta` (object) - `meta.message` (string) ## Response 422 fields (application/json): - `success` (boolean) - `data` (null) - `errors` (object) Example: {"title":["Title is required"],"salon_ids":["At least one salon must be selected"]}