{"openapi": "3.1.0", "info": {"title": "IZZILOG API", "version": "0.1.0", "description": ""}, "paths": {"/auth/register": {"post": {"operationId": "apps_identity_api_register", "summary": "Register", "parameters": [], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ChallengeOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "429": {"description": "Too Many Requests", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["auth"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/RegisterIn"}}}, "required": true}}}, "/auth/otp/request": {"post": {"operationId": "apps_identity_api_otp_request", "summary": "Otp Request", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ChallengeOut"}}}}, "429": {"description": "Too Many Requests", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["auth"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/OTPRequestIn"}}}, "required": true}}}, "/auth/otp/verify": {"post": {"operationId": "apps_identity_api_otp_verify", "summary": "Otp Verify", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VerifyOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "429": {"description": "Too Many Requests", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["auth"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/OTPVerifyIn"}}}, "required": true}}}, "/auth/login": {"post": {"operationId": "apps_identity_api_login", "summary": "Login", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TokensOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "429": {"description": "Too Many Requests", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["auth"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/LoginIn"}}}, "required": true}}}, "/auth/refresh": {"post": {"operationId": "apps_identity_api_refresh", "summary": "Refresh", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TokensOut"}}}}, "401": {"description": "Unauthorized", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["auth"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/RefreshIn"}}}, "required": true}}}, "/auth/logout": {"post": {"operationId": "apps_identity_api_logout", "summary": "Logout", "parameters": [], "responses": {"204": {"description": "No Content"}}, "tags": ["auth"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/LogoutIn"}}}, "required": true}}}, "/auth/logout-all": {"post": {"operationId": "apps_identity_api_logout_all", "summary": "Logout All", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/RevokedOut"}}}}}, "tags": ["auth"]}}, "/auth/me": {"get": {"operationId": "apps_identity_api_me", "summary": "Me", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserOut"}}}}}, "tags": ["auth"]}}, "/auth/me/accept-terms": {"post": {"operationId": "apps_identity_api_me_accept_terms", "summary": "Me Accept Terms", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SuccessOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["auth"]}}, "/auth/me/step-up": {"post": {"operationId": "apps_identity_api_me_step_up", "summary": "Me Step Up", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SuccessOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "401": {"description": "Unauthorized", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "429": {"description": "Too Many Requests", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["auth"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/StepUpIn"}}}, "required": true}}}, "/auth/password/set": {"post": {"operationId": "apps_identity_api_password_set", "summary": "Password Set", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SuccessOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "422": {"description": "Unprocessable Content", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["auth"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/PasswordSetIn"}}}, "required": true}}}, "/auth/password/reset": {"post": {"operationId": "apps_identity_api_password_reset", "summary": "Password Reset", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SuccessOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "422": {"description": "Unprocessable Content", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["auth"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/PasswordResetIn"}}}, "required": true}}}, "/auth/users/{user_id}/activate": {"post": {"operationId": "apps_identity_api_admin_activate", "summary": "Admin Activate", "parameters": [{"in": "path", "name": "user_id", "schema": {"format": "uuid", "title": "User Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["auth"]}}, "/auth/users/{user_id}/suspend": {"post": {"operationId": "apps_identity_api_admin_suspend", "summary": "Admin Suspend", "parameters": [{"in": "path", "name": "user_id", "schema": {"format": "uuid", "title": "User Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["auth"]}}, "/auth/users/{user_id}/block": {"post": {"operationId": "apps_identity_api_admin_block", "summary": "Admin Block", "parameters": [{"in": "path", "name": "user_id", "schema": {"format": "uuid", "title": "User Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["auth"]}}, "/auth/users/{user_id}/unblock": {"post": {"operationId": "apps_identity_api_admin_unblock", "summary": "Admin Unblock", "parameters": [{"in": "path", "name": "user_id", "schema": {"format": "uuid", "title": "User Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["auth"]}}, "/auth/me/devices": {"get": {"operationId": "apps_identity_api_my_devices", "summary": "My Devices", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/DeviceOut"}, "title": "Response", "type": "array"}}}}}, "tags": ["auth"]}}, "/auth/users/{user_id}/devices": {"get": {"operationId": "apps_identity_api_admin_list_devices", "summary": "Admin List Devices", "parameters": [{"in": "path", "name": "user_id", "schema": {"format": "uuid", "title": "User Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/DeviceOut"}, "title": "Response", "type": "array"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["auth"]}}, "/auth/users/{user_id}/devices/{device_id}/block": {"post": {"operationId": "apps_identity_api_admin_block_device", "summary": "Admin Block Device", "parameters": [{"in": "path", "name": "user_id", "schema": {"format": "uuid", "title": "User Id", "type": "string"}, "required": true}, {"in": "path", "name": "device_id", "schema": {"format": "uuid", "title": "Device Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DeviceOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["auth"]}}, "/auth/users/{user_id}/devices/{device_id}/unblock": {"post": {"operationId": "apps_identity_api_admin_unblock_device", "summary": "Admin Unblock Device", "parameters": [{"in": "path", "name": "user_id", "schema": {"format": "uuid", "title": "User Id", "type": "string"}, "required": true}, {"in": "path", "name": "device_id", "schema": {"format": "uuid", "title": "Device Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DeviceOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["auth"]}}, "/rbac/orgs": {"post": {"operationId": "apps_rbac_api_create_org", "summary": "Create Org", "parameters": [], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrgOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["rbac"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrgCreateIn"}}}, "required": true}}, "get": {"operationId": "apps_rbac_api_list_orgs", "summary": "List Orgs", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/OrgOut"}, "title": "Response", "type": "array"}}}}}, "tags": ["rbac"]}}, "/rbac/orgs/{org_id}": {"get": {"operationId": "apps_rbac_api_get_org", "summary": "Get Org", "parameters": [{"in": "path", "name": "org_id", "schema": {"format": "uuid", "title": "Org Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrgOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["rbac"]}}, "/rbac/orgs/{org_id}/activate": {"post": {"operationId": "apps_rbac_api_activate_org", "summary": "Activate Org", "parameters": [{"in": "path", "name": "org_id", "schema": {"format": "uuid", "title": "Org Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["rbac"]}}, "/rbac/orgs/{org_id}/suspend": {"post": {"operationId": "apps_rbac_api_suspend_org", "summary": "Suspend Org", "parameters": [{"in": "path", "name": "org_id", "schema": {"format": "uuid", "title": "Org Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["rbac"]}}, "/rbac/orgs/{org_id}/reactivate": {"post": {"operationId": "apps_rbac_api_reactivate_org", "summary": "Reactivate Org", "parameters": [{"in": "path", "name": "org_id", "schema": {"format": "uuid", "title": "Org Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["rbac"]}}, "/rbac/orgs/{org_id}/deactivate": {"post": {"operationId": "apps_rbac_api_deactivate_org", "summary": "Deactivate Org", "parameters": [{"in": "path", "name": "org_id", "schema": {"format": "uuid", "title": "Org Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["rbac"]}}, "/rbac/orgs/{org_id}/limit": {"post": {"operationId": "apps_rbac_api_limit_org", "summary": "Limit Org", "parameters": [{"in": "path", "name": "org_id", "schema": {"format": "uuid", "title": "Org Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["rbac"]}}, "/rbac/orgs/{org_id}/branches": {"post": {"operationId": "apps_rbac_api_create_branch_endpoint", "summary": "Create Branch Endpoint", "parameters": [{"in": "path", "name": "org_id", "schema": {"format": "uuid", "title": "Org Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/BranchOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["rbac"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/BranchCreateIn"}}}, "required": true}}, "get": {"operationId": "apps_rbac_api_list_branches", "summary": "List Branches", "parameters": [{"in": "path", "name": "org_id", "schema": {"format": "uuid", "title": "Org Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/BranchOut"}, "title": "Response", "type": "array"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["rbac"]}}, "/rbac/memberships": {"post": {"operationId": "apps_rbac_api_create_membership_endpoint", "summary": "Create Membership Endpoint", "parameters": [], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/MembershipOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["rbac"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/MembershipCreateIn"}}}, "required": true}}}, "/rbac/orgs/{org_id}/memberships": {"get": {"operationId": "apps_rbac_api_list_memberships", "summary": "List Memberships", "parameters": [{"in": "path", "name": "org_id", "schema": {"format": "uuid", "title": "Org Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/MembershipOut"}, "title": "Response", "type": "array"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["rbac"]}}, "/rbac/memberships/{membership_id}/activate": {"post": {"operationId": "apps_rbac_api_activate_membership", "summary": "Activate Membership", "parameters": [{"in": "path", "name": "membership_id", "schema": {"format": "uuid", "title": "Membership Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["rbac"]}}, "/rbac/memberships/{membership_id}/suspend": {"post": {"operationId": "apps_rbac_api_suspend_membership", "summary": "Suspend Membership", "parameters": [{"in": "path", "name": "membership_id", "schema": {"format": "uuid", "title": "Membership Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["rbac"]}}, "/rbac/memberships/{membership_id}/reactivate": {"post": {"operationId": "apps_rbac_api_reactivate_membership", "summary": "Reactivate Membership", "parameters": [{"in": "path", "name": "membership_id", "schema": {"format": "uuid", "title": "Membership Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["rbac"]}}, "/rbac/memberships/{membership_id}/deactivate": {"post": {"operationId": "apps_rbac_api_deactivate_membership", "summary": "Deactivate Membership", "parameters": [{"in": "path", "name": "membership_id", "schema": {"format": "uuid", "title": "Membership Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["rbac"]}}, "/rbac/memberships/{membership_id}/role": {"patch": {"operationId": "apps_rbac_api_change_role", "summary": "Change Role", "parameters": [{"in": "path", "name": "membership_id", "schema": {"format": "uuid", "title": "Membership Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/MembershipOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["rbac"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/RoleChangeIn"}}}, "required": true}}}, "/rbac/roles": {"get": {"operationId": "apps_rbac_api_list_roles", "summary": "List Roles", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/RoleOut"}, "title": "Response", "type": "array"}}}}}, "tags": ["rbac"]}}, "/rbac/permissions": {"get": {"operationId": "apps_rbac_api_list_permissions", "summary": "List Permissions", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/PermissionOut"}, "title": "Response", "type": "array"}}}}}, "tags": ["rbac"]}}, "/rbac/check-permission": {"post": {"operationId": "apps_rbac_api_check_permission", "summary": "Check Permission", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PermissionCheckOut"}}}}}, "tags": ["rbac"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/PermissionCheckIn"}}}, "required": true}}}, "/geo/countries": {"post": {"operationId": "apps_geo_api_create_country_endpoint", "summary": "Create Country Endpoint", "parameters": [], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CountryOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["geo"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CountryCreateIn"}}}, "required": true}}, "get": {"operationId": "apps_geo_api_list_countries_endpoint", "summary": "List Countries Endpoint", "parameters": [{"in": "query", "name": "active_only", "schema": {"default": true, "title": "Active Only", "type": "boolean"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/CountryOut"}, "title": "Response", "type": "array"}}}}}, "tags": ["geo"]}}, "/geo/countries/{country_id}": {"get": {"operationId": "apps_geo_api_get_country_endpoint", "summary": "Get Country Endpoint", "parameters": [{"in": "path", "name": "country_id", "schema": {"format": "uuid", "title": "Country Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CountryOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["geo"]}}, "/geo/regions": {"post": {"operationId": "apps_geo_api_create_region_endpoint", "summary": "Create Region Endpoint", "parameters": [], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/RegionOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["geo"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/RegionCreateIn"}}}, "required": true}}, "get": {"operationId": "apps_geo_api_list_regions_endpoint", "summary": "List Regions Endpoint", "parameters": [{"in": "query", "name": "country_id", "schema": {"anyOf": [{"format": "uuid", "type": "string"}, {"type": "null"}], "title": "Country Id"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/RegionOut"}, "title": "Response", "type": "array"}}}}}, "tags": ["geo"]}}, "/geo/cities": {"post": {"operationId": "apps_geo_api_create_city_endpoint", "summary": "Create City Endpoint", "parameters": [], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CityOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["geo"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CityCreateIn"}}}, "required": true}}, "get": {"operationId": "apps_geo_api_list_cities_endpoint", "summary": "List Cities Endpoint", "parameters": [{"in": "query", "name": "country_id", "schema": {"anyOf": [{"format": "uuid", "type": "string"}, {"type": "null"}], "title": "Country Id"}, "required": false}, {"in": "query", "name": "region_id", "schema": {"anyOf": [{"format": "uuid", "type": "string"}, {"type": "null"}], "title": "Region Id"}, "required": false}, {"in": "query", "name": "search", "schema": {"default": "", "title": "Search", "type": "string"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/CityOut"}, "title": "Response", "type": "array"}}}}}, "tags": ["geo"]}}, "/geo/cities/{city_id}/aliases": {"post": {"operationId": "apps_geo_api_create_alias_endpoint", "summary": "Create Alias Endpoint", "parameters": [{"in": "path", "name": "city_id", "schema": {"format": "uuid", "title": "City Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CityAliasOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["geo"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CityAliasCreateIn"}}}, "required": true}}}, "/geo/cities/resolve": {"get": {"operationId": "apps_geo_api_resolve_city_endpoint", "summary": "Resolve City Endpoint", "parameters": [{"in": "query", "name": "text", "schema": {"title": "Text", "type": "string"}, "required": true}, {"in": "query", "name": "country_id", "schema": {"anyOf": [{"format": "uuid", "type": "string"}, {"type": "null"}], "title": "Country Id"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CityResolveOut"}}}}}, "tags": ["geo"]}}, "/geo/locations": {"post": {"operationId": "apps_geo_api_create_location_endpoint", "summary": "Create Location Endpoint", "parameters": [], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GeoLocationOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["geo"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/GeoLocationCreateIn"}}}, "required": true}}}, "/geo/locations/{location_id}": {"get": {"operationId": "apps_geo_api_get_location_endpoint", "summary": "Get Location Endpoint", "parameters": [{"in": "path", "name": "location_id", "schema": {"format": "uuid", "title": "Location Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GeoLocationOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["geo"]}}, "/geo/locations/{location_id}/coordinates": {"post": {"operationId": "apps_geo_api_update_coordinates_endpoint", "summary": "Update Coordinates Endpoint", "parameters": [{"in": "path", "name": "location_id", "schema": {"format": "uuid", "title": "Location Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GeoLocationOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["geo"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CoordinateUpdateIn"}}}, "required": true}}}, "/geo/lanes": {"post": {"operationId": "apps_geo_api_create_lane_endpoint", "summary": "Create Lane Endpoint", "parameters": [], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/LaneOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["geo"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/LaneCreateIn"}}}, "required": true}}, "get": {"operationId": "apps_geo_api_list_lanes_endpoint", "summary": "List Lanes Endpoint", "parameters": [{"in": "query", "name": "active_only", "schema": {"default": true, "title": "Active Only", "type": "boolean"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/LaneOut"}, "title": "Response", "type": "array"}}}}}, "tags": ["geo"]}}, "/geo/lanes/by-key": {"get": {"operationId": "apps_geo_api_get_lane_by_key_endpoint", "summary": "Get Lane By Key Endpoint", "parameters": [{"in": "query", "name": "key", "schema": {"title": "Key", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/LaneOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["geo"]}}, "/geo/lanes/{lane_id}/transit-countries": {"post": {"operationId": "apps_geo_api_add_transit_country_endpoint", "summary": "Add Transit Country Endpoint", "parameters": [{"in": "path", "name": "lane_id", "schema": {"format": "uuid", "title": "Lane Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TransitCountryOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["geo"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/TransitCountryCreateIn"}}}, "required": true}}, "get": {"operationId": "apps_geo_api_list_transit_countries_endpoint", "summary": "List Transit Countries Endpoint", "parameters": [{"in": "path", "name": "lane_id", "schema": {"format": "uuid", "title": "Lane Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/TransitCountryOut"}, "title": "Response", "type": "array"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["geo"]}}, "/geo/lanes/{lane_id}/transit-countries/order": {"put": {"operationId": "apps_geo_api_reorder_transit_countries_endpoint", "summary": "Reorder Transit Countries Endpoint", "parameters": [{"in": "path", "name": "lane_id", "schema": {"format": "uuid", "title": "Lane Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/TransitCountryOut"}, "title": "Response", "type": "array"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["geo"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/TransitReorderIn"}}}, "required": true}}}, "/geo/lanes/{lane_id}/transit-countries/{tc_id}": {"delete": {"operationId": "apps_geo_api_remove_transit_country_endpoint", "summary": "Remove Transit Country Endpoint", "parameters": [{"in": "path", "name": "lane_id", "schema": {"format": "uuid", "title": "Lane Id", "type": "string"}, "required": true}, {"in": "path", "name": "tc_id", "schema": {"format": "uuid", "title": "Tc Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["geo"]}}, "/geo/reviews": {"get": {"operationId": "apps_geo_api_list_reviews_endpoint", "summary": "List Reviews Endpoint", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/GeoReviewOut"}, "title": "Response", "type": "array"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["geo"]}}, "/geo/reviews/{review_id}/resolve": {"post": {"operationId": "apps_geo_api_resolve_review_endpoint", "summary": "Resolve Review Endpoint", "parameters": [{"in": "path", "name": "review_id", "schema": {"format": "uuid", "title": "Review Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GeoReviewOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["geo"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ReviewResolveIn"}}}, "required": true}}}, "/geo/reviews/{review_id}/reject": {"post": {"operationId": "apps_geo_api_reject_review_endpoint", "summary": "Reject Review Endpoint", "parameters": [{"in": "path", "name": "review_id", "schema": {"format": "uuid", "title": "Review Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GeoReviewOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["geo"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ReviewRejectIn"}}}, "required": true}}}, "/kyc/kyc": {"post": {"operationId": "apps_kyc_api_create_kyc", "summary": "Create Kyc", "parameters": [], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VerificationOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["kyc"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/KycCreateIn"}}}, "required": true}}}, "/kyc/kyb": {"post": {"operationId": "apps_kyc_api_create_kyb", "summary": "Create Kyb", "parameters": [], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VerificationOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["kyc"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/KybCreateIn"}}}, "required": true}}}, "/kyc/verifications": {"get": {"operationId": "apps_kyc_api_list_verifications", "summary": "List Verifications", "parameters": [{"in": "query", "name": "status", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Status"}, "required": false}, {"in": "query", "name": "type", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Type"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/VerificationOut"}, "title": "Response", "type": "array"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["kyc"]}}, "/kyc/verifications/{v_id}": {"get": {"operationId": "apps_kyc_api_get_verification", "summary": "Get Verification", "parameters": [{"in": "path", "name": "v_id", "schema": {"format": "uuid", "title": "V Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VerificationOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["kyc"]}}, "/kyc/verifications/{v_id}/submit": {"post": {"operationId": "apps_kyc_api_submit_endpoint", "summary": "Submit Endpoint", "parameters": [{"in": "path", "name": "v_id", "schema": {"format": "uuid", "title": "V Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VerificationOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["kyc"]}}, "/kyc/verifications/{v_id}/start-review": {"post": {"operationId": "apps_kyc_api_start_review_endpoint", "summary": "Start Review Endpoint", "parameters": [{"in": "path", "name": "v_id", "schema": {"format": "uuid", "title": "V Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VerificationOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["kyc"]}}, "/kyc/verifications/{v_id}/approve": {"post": {"operationId": "apps_kyc_api_approve_endpoint", "summary": "Approve Endpoint", "parameters": [{"in": "path", "name": "v_id", "schema": {"format": "uuid", "title": "V Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VerificationOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["kyc"]}}, "/kyc/verifications/{v_id}/reject": {"post": {"operationId": "apps_kyc_api_reject_endpoint", "summary": "Reject Endpoint", "parameters": [{"in": "path", "name": "v_id", "schema": {"format": "uuid", "title": "V Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VerificationOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["kyc"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ReviewDecisionIn"}}}, "required": true}}}, "/kyc/verifications/{v_id}/request-correction": {"post": {"operationId": "apps_kyc_api_correction_endpoint", "summary": "Correction Endpoint", "parameters": [{"in": "path", "name": "v_id", "schema": {"format": "uuid", "title": "V Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VerificationOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["kyc"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ReviewDecisionIn"}}}, "required": true}}}, "/kyc/verifications/{v_id}/suspend": {"post": {"operationId": "apps_kyc_api_suspend_endpoint", "summary": "Suspend Endpoint", "parameters": [{"in": "path", "name": "v_id", "schema": {"format": "uuid", "title": "V Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VerificationOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["kyc"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/SuspendBlockIn"}}}, "required": true}}}, "/kyc/verifications/{v_id}/block": {"post": {"operationId": "apps_kyc_api_block_endpoint", "summary": "Block Endpoint", "parameters": [{"in": "path", "name": "v_id", "schema": {"format": "uuid", "title": "V Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VerificationOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["kyc"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/SuspendBlockIn"}}}, "required": true}}}, "/kyc/verifications/{v_id}/reactivate": {"post": {"operationId": "apps_kyc_api_reactivate_endpoint", "summary": "Reactivate Endpoint", "parameters": [{"in": "path", "name": "v_id", "schema": {"format": "uuid", "title": "V Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VerificationOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["kyc"]}}, "/kyc/gate/check": {"post": {"operationId": "apps_kyc_api_gate_check", "summary": "Gate Check", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GateCheckOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["kyc"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/GateCheckIn"}}}, "required": true}}}, "/kyc/verifications/{v_id}/documents": {"get": {"operationId": "apps_kyc_api_list_documents", "summary": "List Documents", "parameters": [{"in": "path", "name": "v_id", "schema": {"format": "uuid", "title": "V Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/KycDocumentOut"}, "title": "Response", "type": "array"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["kyc"]}}, "/kyc/verifications/{v_id}/completeness": {"get": {"operationId": "apps_kyc_api_check_completeness", "summary": "Check Completeness", "parameters": [{"in": "path", "name": "v_id", "schema": {"format": "uuid", "title": "V Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CompletenessOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["kyc"]}}, "/kyc/verifications/{v_id}/flags": {"get": {"operationId": "apps_kyc_api_list_flags", "summary": "List Flags", "parameters": [{"in": "path", "name": "v_id", "schema": {"format": "uuid", "title": "V Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/RiskFlagOut"}, "title": "Response", "type": "array"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["kyc"]}, "post": {"operationId": "apps_kyc_api_create_flag_endpoint", "summary": "Create Flag Endpoint", "parameters": [{"in": "path", "name": "v_id", "schema": {"format": "uuid", "title": "V Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/RiskFlagOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["kyc"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/RiskFlagCreateIn"}}}, "required": true}}}, "/kyc/flags/{flag_id}/resolve": {"post": {"operationId": "apps_kyc_api_resolve_flag_endpoint", "summary": "Resolve Flag Endpoint", "parameters": [{"in": "path", "name": "flag_id", "schema": {"format": "uuid", "title": "Flag Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/RiskFlagOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["kyc"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/RiskFlagResolveIn"}}}, "required": true}}}, "/kyc/verifications/{v_id}/overrides": {"get": {"operationId": "apps_kyc_api_list_overrides", "summary": "List Overrides", "parameters": [{"in": "path", "name": "v_id", "schema": {"format": "uuid", "title": "V Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/OverrideOut"}, "title": "Response", "type": "array"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["kyc"]}, "post": {"operationId": "apps_kyc_api_create_override_endpoint", "summary": "Create Override Endpoint", "parameters": [{"in": "path", "name": "v_id", "schema": {"format": "uuid", "title": "V Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OverrideOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["kyc"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/OverrideCreateIn"}}}, "required": true}}}, "/carriers/": {"post": {"operationId": "apps_carriers_api_create_carrier_endpoint", "summary": "Create Carrier Endpoint", "parameters": [], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CarrierOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["carriers"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CarrierCreateIn"}}}, "required": true}}, "get": {"operationId": "apps_carriers_api_list_carriers", "summary": "List Carriers", "parameters": [{"in": "query", "name": "status", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Status"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/CarrierOut"}, "title": "Response", "type": "array"}}}}}, "tags": ["carriers"]}}, "/carriers/{carrier_id}": {"get": {"operationId": "apps_carriers_api_get_carrier", "summary": "Get Carrier", "parameters": [{"in": "path", "name": "carrier_id", "schema": {"format": "uuid", "title": "Carrier Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CarrierOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["carriers"]}}, "/carriers/{carrier_id}/submit": {"post": {"operationId": "apps_carriers_api_submit_carrier", "summary": "Submit Carrier", "parameters": [{"in": "path", "name": "carrier_id", "schema": {"format": "uuid", "title": "Carrier Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CarrierOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["carriers"]}}, "/carriers/{carrier_id}/activate": {"post": {"operationId": "apps_carriers_api_activate_carrier", "summary": "Activate Carrier", "parameters": [{"in": "path", "name": "carrier_id", "schema": {"format": "uuid", "title": "Carrier Id", "type": "string"}, "required": true}, {"in": "query", "name": "force", "schema": {"default": false, "title": "Force", "type": "boolean"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CarrierOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["carriers"]}}, "/carriers/{carrier_id}/limit": {"post": {"operationId": "apps_carriers_api_limit_carrier", "summary": "Limit Carrier", "parameters": [{"in": "path", "name": "carrier_id", "schema": {"format": "uuid", "title": "Carrier Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CarrierOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["carriers"]}}, "/carriers/{carrier_id}/hold": {"post": {"operationId": "apps_carriers_api_hold_carrier", "summary": "Hold Carrier", "parameters": [{"in": "path", "name": "carrier_id", "schema": {"format": "uuid", "title": "Carrier Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CarrierOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["carriers"], "requestBody": {"content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/StatusActionIn"}, {"type": "null"}]}}}, "required": false}}}, "/carriers/{carrier_id}/release-hold": {"post": {"operationId": "apps_carriers_api_release_hold_carrier", "summary": "Release Hold Carrier", "parameters": [{"in": "path", "name": "carrier_id", "schema": {"format": "uuid", "title": "Carrier Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CarrierOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["carriers"]}}, "/carriers/{carrier_id}/suspend": {"post": {"operationId": "apps_carriers_api_suspend_carrier", "summary": "Suspend Carrier", "parameters": [{"in": "path", "name": "carrier_id", "schema": {"format": "uuid", "title": "Carrier Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CarrierOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["carriers"], "requestBody": {"content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/StatusActionIn"}, {"type": "null"}]}}}, "required": false}}}, "/carriers/{carrier_id}/reactivate": {"post": {"operationId": "apps_carriers_api_reactivate_carrier", "summary": "Reactivate Carrier", "parameters": [{"in": "path", "name": "carrier_id", "schema": {"format": "uuid", "title": "Carrier Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CarrierOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["carriers"]}}, "/carriers/{carrier_id}/blacklist": {"post": {"operationId": "apps_carriers_api_blacklist_carrier", "summary": "Blacklist Carrier", "parameters": [{"in": "path", "name": "carrier_id", "schema": {"format": "uuid", "title": "Carrier Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CarrierOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["carriers"], "requestBody": {"content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/StatusActionIn"}, {"type": "null"}]}}}, "required": false}}}, "/carriers/{carrier_id}/archive": {"post": {"operationId": "apps_carriers_api_archive_carrier", "summary": "Archive Carrier", "parameters": [{"in": "path", "name": "carrier_id", "schema": {"format": "uuid", "title": "Carrier Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CarrierOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["carriers"]}}, "/carriers/{carrier_id}/operational-profile": {"patch": {"operationId": "apps_carriers_api_update_operational_profile_endpoint", "summary": "Update Operational Profile Endpoint", "parameters": [{"in": "path", "name": "carrier_id", "schema": {"format": "uuid", "title": "Carrier Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CarrierOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["carriers"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/OperationalProfileIn"}}}, "required": true}}}, "/carriers/{carrier_id}/service-capabilities": {"patch": {"operationId": "apps_carriers_api_update_service_capabilities_endpoint", "summary": "Update Service Capabilities Endpoint", "parameters": [{"in": "path", "name": "carrier_id", "schema": {"format": "uuid", "title": "Carrier Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CarrierOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["carriers"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceCapabilitiesIn"}}}, "required": true}}}, "/carriers/{carrier_id}/communication-prefs": {"patch": {"operationId": "apps_carriers_api_update_communication_prefs_endpoint", "summary": "Update Communication Prefs Endpoint", "parameters": [{"in": "path", "name": "carrier_id", "schema": {"format": "uuid", "title": "Carrier Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CarrierOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["carriers"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CommunicationPrefsIn"}}}, "required": true}}}, "/carriers/{carrier_id}/internal-notes": {"patch": {"operationId": "apps_carriers_api_update_internal_notes_endpoint", "summary": "Update Internal Notes Endpoint", "parameters": [{"in": "path", "name": "carrier_id", "schema": {"format": "uuid", "title": "Carrier Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CarrierOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["carriers"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/InternalNotesIn"}}}, "required": true}}}, "/carriers/{carrier_id}/dispatcher": {"post": {"operationId": "apps_carriers_api_set_dispatcher_endpoint", "summary": "Set Dispatcher Endpoint", "parameters": [{"in": "path", "name": "carrier_id", "schema": {"format": "uuid", "title": "Carrier Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CarrierOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["carriers"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/DispatcherIn"}}}, "required": true}}}, "/carriers/{carrier_id}/lanes": {"get": {"operationId": "apps_carriers_api_list_carrier_lanes", "summary": "List Carrier Lanes", "parameters": [{"in": "path", "name": "carrier_id", "schema": {"format": "uuid", "title": "Carrier Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/CarrierLaneOut"}, "title": "Response", "type": "array"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["carriers"]}, "post": {"operationId": "apps_carriers_api_add_carrier_lane_endpoint", "summary": "Add Carrier Lane Endpoint", "parameters": [{"in": "path", "name": "carrier_id", "schema": {"format": "uuid", "title": "Carrier Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CarrierLaneOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["carriers"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/LaneIn"}}}, "required": true}}}, "/carriers/{carrier_id}/lanes/{carrier_lane_id}": {"delete": {"operationId": "apps_carriers_api_remove_carrier_lane_endpoint", "summary": "Remove Carrier Lane Endpoint", "parameters": [{"in": "path", "name": "carrier_id", "schema": {"format": "uuid", "title": "Carrier Id", "type": "string"}, "required": true}, {"in": "path", "name": "carrier_lane_id", "schema": {"format": "uuid", "title": "Carrier Lane Id", "type": "string"}, "required": true}], "responses": {"204": {"description": "No Content"}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["carriers"]}}, "/carriers/{carrier_id}/completeness": {"get": {"operationId": "apps_carriers_api_check_completeness_endpoint", "summary": "Check Completeness Endpoint", "parameters": [{"in": "path", "name": "carrier_id", "schema": {"format": "uuid", "title": "Carrier Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CompletenessOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["carriers"]}}, "/carriers/{carrier_id}/duplicates": {"get": {"operationId": "apps_carriers_api_check_duplicates_endpoint", "summary": "Check Duplicates Endpoint", "parameters": [{"in": "path", "name": "carrier_id", "schema": {"format": "uuid", "title": "Carrier Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/CarrierDuplicateWarningOut"}, "title": "Response", "type": "array"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["carriers"]}}, "/carriers/{carrier_id}/check-action": {"post": {"operationId": "apps_carriers_api_check_action_endpoint", "summary": "Check Action Endpoint", "parameters": [{"in": "path", "name": "carrier_id", "schema": {"format": "uuid", "title": "Carrier Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ActionCheckOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["carriers"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ActionCheckIn"}}}, "required": true}}}, "/fleet/actors": {"get": {"operationId": "apps_fleet_api_list_actors", "summary": "List Actors", "parameters": [{"in": "query", "name": "carrier_id", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Carrier Id"}, "required": false}, {"in": "query", "name": "actor_type", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Actor Type"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/ActorProfileOut"}, "title": "Response", "type": "array"}}}}}, "tags": ["fleet"]}}, "/fleet/actors/{actor_id}": {"get": {"operationId": "apps_fleet_api_get_actor", "summary": "Get Actor", "parameters": [{"in": "path", "name": "actor_id", "schema": {"format": "uuid", "title": "Actor Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ActorProfileOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["fleet"]}}, "/fleet/actors/{actor_id}/overlaps": {"get": {"operationId": "apps_fleet_api_check_actor_overlaps", "summary": "Check Actor Overlaps", "parameters": [{"in": "path", "name": "actor_id", "schema": {"format": "uuid", "title": "Actor Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/ActorOverlapOut"}, "title": "Response", "type": "array"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["fleet"]}}, "/fleet/vehicles": {"post": {"operationId": "apps_fleet_api_create_vehicle_endpoint", "summary": "Create Vehicle Endpoint", "parameters": [], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VehicleOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["fleet"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/VehicleCreateIn"}}}, "required": true}}, "get": {"operationId": "apps_fleet_api_list_vehicles", "summary": "List Vehicles", "parameters": [{"in": "query", "name": "carrier_id", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Carrier Id"}, "required": false}, {"in": "query", "name": "status", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Status"}, "required": false}, {"in": "query", "name": "availability", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Availability"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/VehicleOut"}, "title": "Response", "type": "array"}}}}}, "tags": ["fleet"]}}, "/fleet/vehicles/{vehicle_id}": {"get": {"operationId": "apps_fleet_api_get_vehicle", "summary": "Get Vehicle", "parameters": [{"in": "path", "name": "vehicle_id", "schema": {"format": "uuid", "title": "Vehicle Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VehicleOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["fleet"]}, "patch": {"operationId": "apps_fleet_api_update_vehicle", "summary": "Update Vehicle", "parameters": [{"in": "path", "name": "vehicle_id", "schema": {"format": "uuid", "title": "Vehicle Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VehicleOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["fleet"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/VehicleUpdateIn"}}}, "required": true}}}, "/fleet/vehicles/{vehicle_id}/activate": {"post": {"operationId": "apps_fleet_api_activate_vehicle", "summary": "Activate Vehicle", "parameters": [{"in": "path", "name": "vehicle_id", "schema": {"format": "uuid", "title": "Vehicle Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VehicleOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["fleet"]}}, "/fleet/vehicles/{vehicle_id}/limit": {"post": {"operationId": "apps_fleet_api_limit_vehicle", "summary": "Limit Vehicle", "parameters": [{"in": "path", "name": "vehicle_id", "schema": {"format": "uuid", "title": "Vehicle Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VehicleOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["fleet"]}}, "/fleet/vehicles/{vehicle_id}/reactivate": {"post": {"operationId": "apps_fleet_api_reactivate_vehicle", "summary": "Reactivate Vehicle", "parameters": [{"in": "path", "name": "vehicle_id", "schema": {"format": "uuid", "title": "Vehicle Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VehicleOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["fleet"]}}, "/fleet/vehicles/{vehicle_id}/suspend": {"post": {"operationId": "apps_fleet_api_suspend_vehicle", "summary": "Suspend Vehicle", "parameters": [{"in": "path", "name": "vehicle_id", "schema": {"format": "uuid", "title": "Vehicle Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VehicleOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["fleet"], "requestBody": {"content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/StatusActionIn"}, {"type": "null"}]}}}, "required": false}}}, "/fleet/vehicles/{vehicle_id}/decommission": {"post": {"operationId": "apps_fleet_api_decommission_vehicle", "summary": "Decommission Vehicle", "parameters": [{"in": "path", "name": "vehicle_id", "schema": {"format": "uuid", "title": "Vehicle Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VehicleOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["fleet"]}}, "/fleet/vehicles/{vehicle_id}/availability": {"post": {"operationId": "apps_fleet_api_update_vehicle_availability", "summary": "Update Vehicle Availability", "parameters": [{"in": "path", "name": "vehicle_id", "schema": {"format": "uuid", "title": "Vehicle Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VehicleOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["fleet"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/VehicleAvailabilityIn"}}}, "required": true}}}, "/fleet/vehicles/{vehicle_id}/dispatch-ready": {"get": {"operationId": "apps_fleet_api_vehicle_dispatch_ready", "summary": "Vehicle Dispatch Ready", "parameters": [{"in": "path", "name": "vehicle_id", "schema": {"format": "uuid", "title": "Vehicle Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DispatchReadyOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["fleet"]}}, "/fleet/vehicles/{vehicle_id}/check-action": {"post": {"operationId": "apps_fleet_api_check_vehicle_action", "summary": "Check Vehicle Action", "parameters": [{"in": "path", "name": "vehicle_id", "schema": {"format": "uuid", "title": "Vehicle Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ActionCheckOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["fleet"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ActionCheckIn"}}}, "required": true}}}, "/fleet/vehicles/{vehicle_id}/duplicates": {"get": {"operationId": "apps_fleet_api_vehicle_duplicates", "summary": "Vehicle Duplicates", "parameters": [{"in": "path", "name": "vehicle_id", "schema": {"format": "uuid", "title": "Vehicle Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/FleetDuplicateWarningOut"}, "title": "Response", "type": "array"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["fleet"]}}, "/fleet/vehicles/{vehicle_id}/documents": {"get": {"operationId": "apps_fleet_api_list_vehicle_documents", "summary": "List Vehicle Documents", "parameters": [{"in": "path", "name": "vehicle_id", "schema": {"format": "uuid", "title": "Vehicle Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/FleetDocumentOut"}, "title": "Response", "type": "array"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["fleet"]}}, "/fleet/vehicles/{vehicle_id}/documents/{doc_id}": {"patch": {"operationId": "apps_fleet_api_update_document_status", "summary": "Update Document Status", "parameters": [{"in": "path", "name": "vehicle_id", "schema": {"format": "uuid", "title": "Vehicle Id", "type": "string"}, "required": true}, {"in": "path", "name": "doc_id", "schema": {"format": "uuid", "title": "Doc Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/FleetDocumentOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["fleet"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/DocumentStatusIn"}}}, "required": true}}}, "/fleet/drivers": {"post": {"operationId": "apps_fleet_api_create_driver_endpoint", "summary": "Create Driver Endpoint", "parameters": [], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DriverOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["fleet"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/DriverCreateIn"}}}, "required": true}}, "get": {"operationId": "apps_fleet_api_list_drivers", "summary": "List Drivers", "parameters": [{"in": "query", "name": "carrier_id", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Carrier Id"}, "required": false}, {"in": "query", "name": "status", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Status"}, "required": false}, {"in": "query", "name": "availability", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Availability"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/DriverOut"}, "title": "Response", "type": "array"}}}}}, "tags": ["fleet"]}}, "/fleet/drivers/{driver_id}": {"get": {"operationId": "apps_fleet_api_get_driver", "summary": "Get Driver", "parameters": [{"in": "path", "name": "driver_id", "schema": {"format": "uuid", "title": "Driver Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DriverOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["fleet"]}, "patch": {"operationId": "apps_fleet_api_update_driver", "summary": "Update Driver", "parameters": [{"in": "path", "name": "driver_id", "schema": {"format": "uuid", "title": "Driver Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DriverOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["fleet"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/DriverUpdateIn"}}}, "required": true}}}, "/fleet/drivers/{driver_id}/activate": {"post": {"operationId": "apps_fleet_api_activate_driver", "summary": "Activate Driver", "parameters": [{"in": "path", "name": "driver_id", "schema": {"format": "uuid", "title": "Driver Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DriverOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["fleet"]}}, "/fleet/drivers/{driver_id}/limit": {"post": {"operationId": "apps_fleet_api_limit_driver", "summary": "Limit Driver", "parameters": [{"in": "path", "name": "driver_id", "schema": {"format": "uuid", "title": "Driver Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DriverOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["fleet"]}}, "/fleet/drivers/{driver_id}/reactivate": {"post": {"operationId": "apps_fleet_api_reactivate_driver", "summary": "Reactivate Driver", "parameters": [{"in": "path", "name": "driver_id", "schema": {"format": "uuid", "title": "Driver Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DriverOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["fleet"]}}, "/fleet/drivers/{driver_id}/suspend": {"post": {"operationId": "apps_fleet_api_suspend_driver", "summary": "Suspend Driver", "parameters": [{"in": "path", "name": "driver_id", "schema": {"format": "uuid", "title": "Driver Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DriverOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["fleet"], "requestBody": {"content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/StatusActionIn"}, {"type": "null"}]}}}, "required": false}}}, "/fleet/drivers/{driver_id}/block": {"post": {"operationId": "apps_fleet_api_block_driver", "summary": "Block Driver", "parameters": [{"in": "path", "name": "driver_id", "schema": {"format": "uuid", "title": "Driver Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DriverOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["fleet"], "requestBody": {"content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/StatusActionIn"}, {"type": "null"}]}}}, "required": false}}}, "/fleet/drivers/{driver_id}/availability": {"post": {"operationId": "apps_fleet_api_update_driver_availability", "summary": "Update Driver Availability", "parameters": [{"in": "path", "name": "driver_id", "schema": {"format": "uuid", "title": "Driver Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DriverOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["fleet"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/DriverAvailabilityIn"}}}, "required": true}}}, "/fleet/drivers/{driver_id}/check-action": {"post": {"operationId": "apps_fleet_api_check_driver_action", "summary": "Check Driver Action", "parameters": [{"in": "path", "name": "driver_id", "schema": {"format": "uuid", "title": "Driver Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ActionCheckOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["fleet"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ActionCheckIn"}}}, "required": true}}}, "/fleet/drivers/{driver_id}/duplicates": {"get": {"operationId": "apps_fleet_api_driver_duplicates", "summary": "Driver Duplicates", "parameters": [{"in": "path", "name": "driver_id", "schema": {"format": "uuid", "title": "Driver Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/FleetDuplicateWarningOut"}, "title": "Response", "type": "array"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["fleet"]}}, "/fleet/truck-owners": {"post": {"operationId": "apps_fleet_api_create_truck_owner_endpoint", "summary": "Create Truck Owner Endpoint", "parameters": [], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TruckOwnerOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["fleet"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/TruckOwnerCreateIn"}}}, "required": true}}, "get": {"operationId": "apps_fleet_api_list_truck_owners", "summary": "List Truck Owners", "parameters": [{"in": "query", "name": "carrier_id", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Carrier Id"}, "required": false}, {"in": "query", "name": "status", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Status"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/TruckOwnerOut"}, "title": "Response", "type": "array"}}}}}, "tags": ["fleet"]}}, "/fleet/truck-owners/{owner_id}": {"get": {"operationId": "apps_fleet_api_get_truck_owner", "summary": "Get Truck Owner", "parameters": [{"in": "path", "name": "owner_id", "schema": {"format": "uuid", "title": "Owner Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TruckOwnerOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["fleet"]}}, "/fleet/truck-owners/{owner_id}/activate": {"post": {"operationId": "apps_fleet_api_activate_truck_owner", "summary": "Activate Truck Owner", "parameters": [{"in": "path", "name": "owner_id", "schema": {"format": "uuid", "title": "Owner Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TruckOwnerOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["fleet"]}}, "/fleet/truck-owners/{owner_id}/suspend": {"post": {"operationId": "apps_fleet_api_suspend_truck_owner", "summary": "Suspend Truck Owner", "parameters": [{"in": "path", "name": "owner_id", "schema": {"format": "uuid", "title": "Owner Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TruckOwnerOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["fleet"], "requestBody": {"content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/StatusActionIn"}, {"type": "null"}]}}}, "required": false}}}, "/fleet/truck-owners/{owner_id}/block": {"post": {"operationId": "apps_fleet_api_block_truck_owner", "summary": "Block Truck Owner", "parameters": [{"in": "path", "name": "owner_id", "schema": {"format": "uuid", "title": "Owner Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TruckOwnerOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["fleet"], "requestBody": {"content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/StatusActionIn"}, {"type": "null"}]}}}, "required": false}}}, "/fleet/dispatchers": {"post": {"operationId": "apps_fleet_api_create_dispatcher_endpoint", "summary": "Create Dispatcher Endpoint", "parameters": [], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DispatcherOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["fleet"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/DispatcherCreateIn"}}}, "required": true}}, "get": {"operationId": "apps_fleet_api_list_dispatchers", "summary": "List Dispatchers", "parameters": [{"in": "query", "name": "carrier_id", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Carrier Id"}, "required": false}, {"in": "query", "name": "status", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Status"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/DispatcherOut"}, "title": "Response", "type": "array"}}}}}, "tags": ["fleet"]}}, "/fleet/dispatchers/{dispatcher_id}": {"get": {"operationId": "apps_fleet_api_get_dispatcher", "summary": "Get Dispatcher", "parameters": [{"in": "path", "name": "dispatcher_id", "schema": {"format": "uuid", "title": "Dispatcher Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DispatcherOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["fleet"]}}, "/fleet/dispatchers/{dispatcher_id}/activate": {"post": {"operationId": "apps_fleet_api_activate_dispatcher", "summary": "Activate Dispatcher", "parameters": [{"in": "path", "name": "dispatcher_id", "schema": {"format": "uuid", "title": "Dispatcher Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DispatcherOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["fleet"]}}, "/fleet/dispatchers/{dispatcher_id}/suspend": {"post": {"operationId": "apps_fleet_api_suspend_dispatcher", "summary": "Suspend Dispatcher", "parameters": [{"in": "path", "name": "dispatcher_id", "schema": {"format": "uuid", "title": "Dispatcher Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DispatcherOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["fleet"], "requestBody": {"content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/StatusActionIn"}, {"type": "null"}]}}}, "required": false}}}, "/fleet/dispatchers/{dispatcher_id}/block": {"post": {"operationId": "apps_fleet_api_block_dispatcher", "summary": "Block Dispatcher", "parameters": [{"in": "path", "name": "dispatcher_id", "schema": {"format": "uuid", "title": "Dispatcher Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DispatcherOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["fleet"], "requestBody": {"content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/StatusActionIn"}, {"type": "null"}]}}}, "required": false}}}, "/fleet/dispatchers/{dispatcher_id}/scope": {"post": {"operationId": "apps_fleet_api_assign_dispatcher_scope", "summary": "Assign Dispatcher Scope", "parameters": [{"in": "path", "name": "dispatcher_id", "schema": {"format": "uuid", "title": "Dispatcher Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DispatcherOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "M05-F004: set a dispatcher's operating scope (assigned drivers/vehicles).", "tags": ["fleet"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/DispatcherScopeIn"}}}, "required": true}}}, "/fleet/assignments": {"post": {"operationId": "apps_fleet_api_create_assignment", "summary": "Create Assignment", "parameters": [], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AssignmentOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["fleet"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/AssignmentCreateIn"}}}, "required": true}}, "get": {"operationId": "apps_fleet_api_list_assignments", "summary": "List Assignments", "parameters": [{"in": "query", "name": "carrier_id", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Carrier Id"}, "required": false}, {"in": "query", "name": "driver_id", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Driver Id"}, "required": false}, {"in": "query", "name": "vehicle_id", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Vehicle Id"}, "required": false}, {"in": "query", "name": "is_active", "schema": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Is Active"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/AssignmentOut"}, "title": "Response", "type": "array"}}}}}, "tags": ["fleet"]}}, "/fleet/assignments/{assignment_id}": {"delete": {"operationId": "apps_fleet_api_delete_assignment", "summary": "Delete Assignment", "parameters": [{"in": "path", "name": "assignment_id", "schema": {"format": "uuid", "title": "Assignment Id", "type": "string"}, "required": true}], "responses": {"204": {"description": "No Content"}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["fleet"]}}, "/shippers/": {"post": {"operationId": "apps_shippers_api_create_shipper_endpoint", "summary": "Create Shipper Endpoint", "parameters": [], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ShipperOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["shippers"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ShipperCreateIn"}}}, "required": true}}, "get": {"operationId": "apps_shippers_api_list_shippers", "summary": "List Shippers", "parameters": [{"in": "query", "name": "status", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Status"}, "required": false}, {"in": "query", "name": "account_type", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Account Type"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/ShipperOut"}, "title": "Response", "type": "array"}}}}}, "tags": ["shippers"]}}, "/shippers/{shipper_id}": {"get": {"operationId": "apps_shippers_api_get_shipper", "summary": "Get Shipper", "parameters": [{"in": "path", "name": "shipper_id", "schema": {"format": "uuid", "title": "Shipper Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ShipperOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["shippers"]}}, "/shippers/{shipper_id}/activate": {"post": {"operationId": "apps_shippers_api_activate_shipper", "summary": "Activate Shipper", "parameters": [{"in": "path", "name": "shipper_id", "schema": {"format": "uuid", "title": "Shipper Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ShipperOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["shippers"]}}, "/shippers/{shipper_id}/suspend": {"post": {"operationId": "apps_shippers_api_suspend_shipper", "summary": "Suspend Shipper", "parameters": [{"in": "path", "name": "shipper_id", "schema": {"format": "uuid", "title": "Shipper Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ShipperOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["shippers"], "requestBody": {"content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/StatusActionIn"}, {"type": "null"}]}}}, "required": false}}}, "/shippers/{shipper_id}/reactivate": {"post": {"operationId": "apps_shippers_api_reactivate_shipper", "summary": "Reactivate Shipper", "parameters": [{"in": "path", "name": "shipper_id", "schema": {"format": "uuid", "title": "Shipper Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ShipperOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["shippers"]}}, "/shippers/{shipper_id}/archive": {"post": {"operationId": "apps_shippers_api_archive_shipper", "summary": "Archive Shipper", "parameters": [{"in": "path", "name": "shipper_id", "schema": {"format": "uuid", "title": "Shipper Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ShipperOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["shippers"]}}, "/shippers/{shipper_id}/profile": {"patch": {"operationId": "apps_shippers_api_update_profile", "summary": "Update Profile", "parameters": [{"in": "path", "name": "shipper_id", "schema": {"format": "uuid", "title": "Shipper Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ShipperOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["shippers"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ShipperProfileIn"}}}, "required": true}}}, "/shippers/{shipper_id}/contact": {"patch": {"operationId": "apps_shippers_api_update_contact", "summary": "Update Contact", "parameters": [{"in": "path", "name": "shipper_id", "schema": {"format": "uuid", "title": "Shipper Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ShipperOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["shippers"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ContactPrefsIn"}}}, "required": true}}}, "/shippers/{shipper_id}/internal-notes": {"patch": {"operationId": "apps_shippers_api_update_notes", "summary": "Update Notes", "parameters": [{"in": "path", "name": "shipper_id", "schema": {"format": "uuid", "title": "Shipper Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ShipperOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["shippers"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/InternalNotesIn"}}}, "required": true}}}, "/shippers/{shipper_id}/locations": {"get": {"operationId": "apps_shippers_api_list_locations", "summary": "List Locations", "parameters": [{"in": "path", "name": "shipper_id", "schema": {"format": "uuid", "title": "Shipper Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/ShipperLocationOut"}, "title": "Response", "type": "array"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["shippers"]}, "post": {"operationId": "apps_shippers_api_create_location", "summary": "Create Location", "parameters": [{"in": "path", "name": "shipper_id", "schema": {"format": "uuid", "title": "Shipper Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ShipperLocationOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["shippers"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ShipperLocationCreateIn"}}}, "required": true}}}, "/shippers/{shipper_id}/locations/{location_id}": {"patch": {"operationId": "apps_shippers_api_update_location", "summary": "Update Location", "parameters": [{"in": "path", "name": "shipper_id", "schema": {"format": "uuid", "title": "Shipper Id", "type": "string"}, "required": true}, {"in": "path", "name": "location_id", "schema": {"format": "uuid", "title": "Location Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ShipperLocationOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["shippers"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/LocationUpdateIn"}}}, "required": true}}, "delete": {"operationId": "apps_shippers_api_delete_location", "summary": "Delete Location", "parameters": [{"in": "path", "name": "shipper_id", "schema": {"format": "uuid", "title": "Shipper Id", "type": "string"}, "required": true}, {"in": "path", "name": "location_id", "schema": {"format": "uuid", "title": "Location Id", "type": "string"}, "required": true}], "responses": {"204": {"description": "No Content"}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["shippers"]}}, "/shippers/{shipper_id}/check-action": {"post": {"operationId": "apps_shippers_api_check_action", "summary": "Check Action", "parameters": [{"in": "path", "name": "shipper_id", "schema": {"format": "uuid", "title": "Shipper Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ActionCheckOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["shippers"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ActionCheckIn"}}}, "required": true}}}, "/shippers/{shipper_id}/rfq-eligibility": {"get": {"operationId": "apps_shippers_api_rfq_eligibility", "summary": "Rfq Eligibility", "parameters": [{"in": "path", "name": "shipper_id", "schema": {"format": "uuid", "title": "Shipper Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/EligibilityOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["shippers"]}}, "/shippers/{shipper_id}/duplicates": {"get": {"operationId": "apps_shippers_api_duplicates", "summary": "Duplicates", "parameters": [{"in": "path", "name": "shipper_id", "schema": {"format": "uuid", "title": "Shipper Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/ShipperDuplicateWarningOut"}, "title": "Response", "type": "array"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["shippers"]}}, "/admin-console/configs/": {"get": {"operationId": "apps_administration_api_list_configs_endpoint", "summary": "List Configs Endpoint", "parameters": [{"in": "query", "name": "category", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Category"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/ConfigOut"}, "title": "Response", "type": "array"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["admin-console"]}}, "/admin-console/configs/{key}/": {"get": {"operationId": "apps_administration_api_get_config_endpoint", "summary": "Get Config Endpoint", "parameters": [{"in": "path", "name": "key", "schema": {"title": "Key", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ConfigOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["admin-console"]}, "put": {"operationId": "apps_administration_api_set_config_endpoint", "summary": "Set Config Endpoint", "parameters": [{"in": "path", "name": "key", "schema": {"title": "Key", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ConfigOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["admin-console"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ConfigSetIn"}}}, "required": true}}, "delete": {"operationId": "apps_administration_api_delete_config_endpoint", "summary": "Delete Config Endpoint", "parameters": [{"in": "path", "name": "key", "schema": {"title": "Key", "type": "string"}, "required": true}], "responses": {"204": {"description": "No Content"}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["admin-console"]}}, "/admin-console/toggles/": {"get": {"operationId": "apps_administration_api_list_toggles_endpoint", "summary": "List Toggles Endpoint", "parameters": [{"in": "query", "name": "scope", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Scope"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/ToggleOut"}, "title": "Response", "type": "array"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["admin-console"]}}, "/admin-console/toggles/{key}/": {"get": {"operationId": "apps_administration_api_get_toggle_endpoint", "summary": "Get Toggle Endpoint", "parameters": [{"in": "path", "name": "key", "schema": {"title": "Key", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ToggleOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["admin-console"]}, "put": {"operationId": "apps_administration_api_set_toggle_endpoint", "summary": "Set Toggle Endpoint", "parameters": [{"in": "path", "name": "key", "schema": {"title": "Key", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ToggleOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["admin-console"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ToggleSetIn"}}}, "required": true}}}, "/admin-console/toggles/{key}/check/": {"get": {"operationId": "apps_administration_api_check_toggle_endpoint", "summary": "Check Toggle Endpoint", "parameters": [{"in": "path", "name": "key", "schema": {"title": "Key", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ToggleCheckOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["admin-console"]}}, "/admin-console/own-companies/": {"get": {"operationId": "apps_administration_api_list_own_companies_endpoint", "summary": "List Own Companies Endpoint", "parameters": [{"in": "query", "name": "active_only", "schema": {"default": true, "title": "Active Only", "type": "boolean"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/OwnCompanyOut"}, "title": "Response", "type": "array"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["admin-console"]}, "post": {"operationId": "apps_administration_api_create_own_company_endpoint", "summary": "Create Own Company Endpoint", "parameters": [], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OwnCompanyOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["admin-console"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/OwnCompanyCreateIn"}}}, "required": true}}}, "/admin-console/own-companies/{company_id}/": {"get": {"operationId": "apps_administration_api_get_own_company_endpoint", "summary": "Get Own Company Endpoint", "parameters": [{"in": "path", "name": "company_id", "schema": {"format": "uuid", "title": "Company Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OwnCompanyOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["admin-console"]}, "patch": {"operationId": "apps_administration_api_update_own_company_endpoint", "summary": "Update Own Company Endpoint", "parameters": [{"in": "path", "name": "company_id", "schema": {"format": "uuid", "title": "Company Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OwnCompanyOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["admin-console"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/OwnCompanyUpdateIn"}}}, "required": true}}}, "/analytics/events/": {"post": {"operationId": "apps_analytics_api_ingest_event_endpoint", "summary": "Ingest Event Endpoint", "parameters": [], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/EventOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["analytics"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/EventIngestIn"}}}, "required": true}}, "get": {"operationId": "apps_analytics_api_list_events", "summary": "List Events", "parameters": [{"in": "query", "name": "event_type", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Event Type"}, "required": false}, {"in": "query", "name": "entity_type", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Entity Type"}, "required": false}, {"in": "query", "name": "entity_id", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Entity Id"}, "required": false}, {"in": "query", "name": "org_id", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Org Id"}, "required": false}, {"in": "query", "name": "execution_mode", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Execution Mode"}, "required": false}, {"in": "query", "name": "limit", "schema": {"default": 100, "title": "Limit", "type": "integer"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/EventOut"}, "title": "Response", "type": "array"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["analytics"]}}, "/analytics/events/counts/by-type/": {"get": {"operationId": "apps_analytics_api_count_by_type", "summary": "Count By Type", "parameters": [{"in": "query", "name": "org_id", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Org Id"}, "required": false}, {"in": "query", "name": "execution_mode", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Execution Mode"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/EventCountOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["analytics"]}}, "/analytics/events/counts/by-mode/": {"get": {"operationId": "apps_analytics_api_count_by_mode", "summary": "Count By Mode", "parameters": [{"in": "query", "name": "org_id", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Org Id"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/EventCountOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["analytics"]}}, "/analytics/events/timeline/{entity_type}/{entity_id}/": {"get": {"operationId": "apps_analytics_api_entity_timeline", "summary": "Entity Timeline", "parameters": [{"in": "path", "name": "entity_type", "schema": {"title": "Entity Type", "type": "string"}, "required": true}, {"in": "path", "name": "entity_id", "schema": {"title": "Entity Id", "type": "string"}, "required": true}, {"in": "query", "name": "limit", "schema": {"default": 50, "title": "Limit", "type": "integer"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/EventOut"}, "title": "Response", "type": "array"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["analytics"]}}, "/analytics/kpi/{kpi_key}/": {"get": {"operationId": "apps_analytics_api_list_kpi_snapshots", "summary": "List Kpi Snapshots", "parameters": [{"in": "path", "name": "kpi_key", "schema": {"title": "Kpi Key", "type": "string"}, "required": true}, {"in": "query", "name": "org_id", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Org Id"}, "required": false}, {"in": "query", "name": "period", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Period"}, "required": false}, {"in": "query", "name": "limit", "schema": {"default": 100, "title": "Limit", "type": "integer"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/KPISnapshotOut"}, "title": "Response", "type": "array"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["analytics"]}}, "/analytics/kpi/{kpi_key}/latest/": {"get": {"operationId": "apps_analytics_api_latest_kpi", "summary": "Latest Kpi", "parameters": [{"in": "path", "name": "kpi_key", "schema": {"title": "Kpi Key", "type": "string"}, "required": true}, {"in": "query", "name": "org_id", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Org Id"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/KPISnapshotOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["analytics"]}}, "/analytics/dashboards/": {"get": {"operationId": "apps_analytics_api_list_dashboards", "summary": "List Dashboards", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/DashboardOut"}, "title": "Response", "type": "array"}}}}}, "tags": ["analytics"]}, "post": {"operationId": "apps_analytics_api_create_dashboard_endpoint", "summary": "Create Dashboard Endpoint", "parameters": [], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DashboardOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["analytics"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/DashboardIn"}}}, "required": true}}}, "/analytics/dashboards/{key}/": {"get": {"operationId": "apps_analytics_api_get_dashboard", "summary": "Get Dashboard", "parameters": [{"in": "path", "name": "key", "schema": {"title": "Key", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DashboardOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["analytics"]}, "patch": {"operationId": "apps_analytics_api_update_dashboard_endpoint", "summary": "Update Dashboard Endpoint", "parameters": [{"in": "path", "name": "key", "schema": {"title": "Key", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DashboardOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["analytics"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/DashboardUpdateIn"}}}, "required": true}}}, "/compliance/audit/": {"get": {"operationId": "apps_compliance_api_list_audit_events", "summary": "List Audit Events", "parameters": [{"in": "query", "name": "entity_type", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Entity Type"}, "required": false}, {"in": "query", "name": "entity_id", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Entity Id"}, "required": false}, {"in": "query", "name": "action", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Action"}, "required": false}, {"in": "query", "name": "actor_id", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Actor Id"}, "required": false}, {"in": "query", "name": "date_from", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Date From"}, "required": false}, {"in": "query", "name": "date_to", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Date To"}, "required": false}, {"in": "query", "name": "limit", "schema": {"default": 100, "title": "Limit", "type": "integer"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/AuditEventOut"}, "title": "Response", "type": "array"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["compliance"]}}, "/compliance/audit/timeline/{entity_type}/{entity_id}/": {"get": {"operationId": "apps_compliance_api_audit_timeline", "summary": "Audit Timeline", "parameters": [{"in": "path", "name": "entity_type", "schema": {"title": "Entity Type", "type": "string"}, "required": true}, {"in": "path", "name": "entity_id", "schema": {"title": "Entity Id", "type": "string"}, "required": true}, {"in": "query", "name": "limit", "schema": {"default": 50, "title": "Limit", "type": "integer"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/AuditEventOut"}, "title": "Response", "type": "array"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["compliance"]}}, "/compliance/reasons/": {"get": {"operationId": "apps_compliance_api_list_reasons", "summary": "List Reasons", "parameters": [{"in": "query", "name": "category", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Category"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/HoldReasonOut"}, "title": "Response", "type": "array"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["compliance"]}, "post": {"operationId": "apps_compliance_api_create_reason", "summary": "Create Reason", "parameters": [], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HoldReasonOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["compliance"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/HoldReasonCreateIn"}}}, "required": true}}}, "/compliance/reasons/{code}/": {"get": {"operationId": "apps_compliance_api_get_reason", "summary": "Get Reason", "parameters": [{"in": "path", "name": "code", "schema": {"title": "Code", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HoldReasonOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["compliance"]}}, "/compliance/holds/": {"get": {"operationId": "apps_compliance_api_list_holds", "summary": "List Holds", "parameters": [{"in": "query", "name": "entity_type", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Entity Type"}, "required": false}, {"in": "query", "name": "hold_type", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Hold Type"}, "required": false}, {"in": "query", "name": "severity", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Severity"}, "required": false}, {"in": "query", "name": "is_active", "schema": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Is Active"}, "required": false}, {"in": "query", "name": "limit", "schema": {"default": 100, "title": "Limit", "type": "integer"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/ComplianceHoldOut"}, "title": "Response", "type": "array"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["compliance"]}, "post": {"operationId": "apps_compliance_api_place_hold_endpoint", "summary": "Place Hold Endpoint", "parameters": [], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ComplianceHoldOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["compliance"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/HoldPlaceIn"}}}, "required": true}}}, "/compliance/holds/active/{entity_type}/{entity_id}/": {"get": {"operationId": "apps_compliance_api_active_holds_for_entity", "summary": "Active Holds For Entity", "parameters": [{"in": "path", "name": "entity_type", "schema": {"title": "Entity Type", "type": "string"}, "required": true}, {"in": "path", "name": "entity_id", "schema": {"title": "Entity Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/ComplianceHoldOut"}, "title": "Response", "type": "array"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["compliance"]}}, "/compliance/holds/{hold_id}/release/": {"post": {"operationId": "apps_compliance_api_release_hold_endpoint", "summary": "Release Hold Endpoint", "parameters": [{"in": "path", "name": "hold_id", "schema": {"format": "uuid", "title": "Hold Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ComplianceHoldOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["compliance"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/HoldReleaseIn"}}}, "required": true}}}, "/compliance/check/{entity_type}/{entity_id}/{action}/": {"get": {"operationId": "apps_compliance_api_check_blocked", "summary": "Check Blocked", "parameters": [{"in": "path", "name": "entity_type", "schema": {"title": "Entity Type", "type": "string"}, "required": true}, {"in": "path", "name": "entity_id", "schema": {"title": "Entity Id", "type": "string"}, "required": true}, {"in": "path", "name": "action", "schema": {"title": "Action", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/BlockCheckOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["compliance"]}}, "/booking/rfqs/{rfq_id}/workspace": {"get": {"operationId": "apps_booking_api_workspace", "summary": "Workspace", "parameters": [{"in": "path", "name": "rfq_id", "schema": {"format": "uuid", "title": "Rfq Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/WorkspaceOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["booking"]}}, "/booking/rfqs/{rfq_id}/awards": {"post": {"operationId": "apps_booking_api_create_manual_award", "summary": "Create Manual Award", "parameters": [{"in": "path", "name": "rfq_id", "schema": {"format": "uuid", "title": "Rfq Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AwardOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["booking"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ManualAwardIn"}}}, "required": true}}}, "/booking/awards/{award_id}/confirm": {"post": {"operationId": "apps_booking_api_confirm", "summary": "Confirm", "parameters": [{"in": "path", "name": "award_id", "schema": {"format": "uuid", "title": "Award Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AwardOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["booking"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ConfirmIn"}}}, "required": true}}}, "/booking/awards/{award_id}/fail": {"post": {"operationId": "apps_booking_api_fail", "summary": "Fail", "parameters": [{"in": "path", "name": "award_id", "schema": {"format": "uuid", "title": "Award Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AwardOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["booking"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/BookingFailIn"}}}, "required": true}}}, "/booking/awards/{award_id}/cancel": {"post": {"operationId": "apps_booking_api_cancel", "summary": "Cancel", "parameters": [{"in": "path", "name": "award_id", "schema": {"format": "uuid", "title": "Award Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AwardOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["booking"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/BookingCancelIn"}}}, "required": true}}}, "/booking/awards/{award_id}/revoke-reveal": {"post": {"operationId": "apps_booking_api_revoke_reveal", "summary": "Revoke Reveal", "parameters": [{"in": "path", "name": "award_id", "schema": {"format": "uuid", "title": "Award Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AwardOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["booking"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/RevokeRevealIn"}}}, "required": true}}}, "/loadboard/feed/": {"get": {"operationId": "apps_loadboard_api_feed", "summary": "Feed", "parameters": [{"in": "query", "name": "offset", "schema": {"default": 0, "title": "Offset", "type": "integer"}, "required": false}, {"in": "query", "name": "limit", "schema": {"default": 20, "title": "Limit", "type": "integer"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/FeedOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "Eligibility-filtered carrier load feed (FR-006). Each card is the masked\nallowlist DTO (FR-003); ineligible loads are absent (not hidden client-side). A\nrender-time leak hides the load (FR-011 defense-in-depth).", "tags": ["loadboard"]}}, "/loadboard/{publication_id}/": {"get": {"operationId": "apps_loadboard_api_detail", "summary": "Detail", "parameters": [{"in": "path", "name": "publication_id", "schema": {"format": "uuid", "title": "Publication Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "Carrier load detail (FR-006). IDOR-safe: ineligible / paused / withdrawn / expired\n/ non-existent / leaking loads return 404 (never 403, never a partial body).", "tags": ["loadboard"]}}, "/loadboard/rfqs/{rfq_id}/readiness/": {"get": {"operationId": "apps_loadboard_api_readiness", "summary": "Readiness", "parameters": [{"in": "path", "name": "rfq_id", "schema": {"format": "uuid", "title": "Rfq Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ReadinessOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["loadboard"]}}, "/loadboard/rfqs/{rfq_id}/publish/": {"post": {"operationId": "apps_loadboard_api_publish", "summary": "Publish", "parameters": [{"in": "path", "name": "rfq_id", "schema": {"format": "uuid", "title": "Rfq Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PublicationOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["loadboard"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/PublishIn"}}}, "required": true}}}, "/loadboard/publications/{publication_id}/pause/": {"post": {"operationId": "apps_loadboard_api_pause", "summary": "Pause", "parameters": [{"in": "path", "name": "publication_id", "schema": {"format": "uuid", "title": "Publication Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PublicationOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["loadboard"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/PauseIn"}}}, "required": true}}}, "/loadboard/publications/{publication_id}/resume/": {"post": {"operationId": "apps_loadboard_api_resume", "summary": "Resume", "parameters": [{"in": "path", "name": "publication_id", "schema": {"format": "uuid", "title": "Publication Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PublicationOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["loadboard"]}}, "/loadboard/publications/{publication_id}/withdraw/": {"post": {"operationId": "apps_loadboard_api_withdraw", "summary": "Withdraw", "parameters": [{"in": "path", "name": "publication_id", "schema": {"format": "uuid", "title": "Publication Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PublicationOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["loadboard"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/WithdrawIn"}}}, "required": true}}}, "/loadboard/publications/{publication_id}/invites/": {"post": {"operationId": "apps_loadboard_api_create_invite", "summary": "Create Invite", "parameters": [{"in": "path", "name": "publication_id", "schema": {"format": "uuid", "title": "Publication Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/InviteOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["loadboard"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/InviteIn"}}}, "required": true}}}, "/loadboard/publications/{publication_id}/invites/{invite_id}/": {"delete": {"operationId": "apps_loadboard_api_revoke_invite", "summary": "Revoke Invite", "parameters": [{"in": "path", "name": "publication_id", "schema": {"format": "uuid", "title": "Publication Id", "type": "string"}, "required": true}, {"in": "path", "name": "invite_id", "schema": {"format": "uuid", "title": "Invite Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/InviteOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["loadboard"]}}, "/matching/publications/{publication_id}/auto-suggest": {"post": {"operationId": "apps_matching_api_auto_suggest", "summary": "Auto Suggest", "parameters": [{"in": "path", "name": "publication_id", "schema": {"format": "uuid", "title": "Publication Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AutoSuggestOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["matching"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/AutoSuggestIn"}}}, "required": true}}}, "/matching/carriers/search": {"post": {"operationId": "apps_matching_api_search_carriers", "summary": "Search Carriers", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SearchOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["matching"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/SearchIn"}}}, "required": true}}}, "/matching/publications/{publication_id}/shortlist": {"post": {"operationId": "apps_matching_api_create_shortlist", "summary": "Create Shortlist", "parameters": [{"in": "path", "name": "publication_id", "schema": {"format": "uuid", "title": "Publication Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ShortlistOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["matching"]}, "get": {"operationId": "apps_matching_api_get_shortlist", "summary": "Get Shortlist", "parameters": [{"in": "path", "name": "publication_id", "schema": {"format": "uuid", "title": "Publication Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ShortlistDetailOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["matching"]}}, "/matching/shortlists/{shortlist_id}/entries": {"post": {"operationId": "apps_matching_api_add_entry", "summary": "Add Entry", "parameters": [{"in": "path", "name": "shortlist_id", "schema": {"format": "uuid", "title": "Shortlist Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/EntryOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/BlockedOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["matching"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/AddEntryIn"}}}, "required": true}}}, "/matching/shortlists/{shortlist_id}/entries/{carrier_id}/remove": {"post": {"operationId": "apps_matching_api_remove_entry", "summary": "Remove Entry", "parameters": [{"in": "path", "name": "shortlist_id", "schema": {"format": "uuid", "title": "Shortlist Id", "type": "string"}, "required": true}, {"in": "path", "name": "carrier_id", "schema": {"format": "uuid", "title": "Carrier Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/EntryOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["matching"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/RemoveEntryIn"}}}, "required": true}}}, "/matching/shortlists/{shortlist_id}/lock": {"post": {"operationId": "apps_matching_api_lock", "summary": "Lock", "parameters": [{"in": "path", "name": "shortlist_id", "schema": {"format": "uuid", "title": "Shortlist Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ShortlistOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["matching"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/LockIn"}}}, "required": true}}}, "/matching/shortlists/{shortlist_id}/unlock": {"post": {"operationId": "apps_matching_api_unlock", "summary": "Unlock", "parameters": [{"in": "path", "name": "shortlist_id", "schema": {"format": "uuid", "title": "Shortlist Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ShortlistOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["matching"]}}, "/matching/shortlists/{shortlist_id}/send": {"post": {"operationId": "apps_matching_api_send", "summary": "Send", "parameters": [{"in": "path", "name": "shortlist_id", "schema": {"format": "uuid", "title": "Shortlist Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SendOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["matching"]}}, "/matching/shortlists/{shortlist_id}/revalidate": {"post": {"operationId": "apps_matching_api_revalidate", "summary": "Revalidate", "parameters": [{"in": "path", "name": "shortlist_id", "schema": {"format": "uuid", "title": "Shortlist Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/RevalidateOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["matching"]}}, "/orders/{order_id}/release": {"post": {"operationId": "apps_orders_api_release", "summary": "Release", "parameters": [{"in": "path", "name": "order_id", "schema": {"format": "uuid", "title": "Order Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrderOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ReleaseBlockedOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["orders"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ReleaseIn"}}}, "required": true}}}, "/orders/{order_id}/cancel": {"post": {"operationId": "apps_orders_api_cancel", "summary": "Cancel", "parameters": [{"in": "path", "name": "order_id", "schema": {"format": "uuid", "title": "Order Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrderOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["orders"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrderCancelIn"}}}, "required": true}}}, "/orders/{order_id}/fail": {"post": {"operationId": "apps_orders_api_fail", "summary": "Fail", "parameters": [{"in": "path", "name": "order_id", "schema": {"format": "uuid", "title": "Order Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrderOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["orders"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrderFailIn"}}}, "required": true}}}, "/orders/{order_id}/handoff/confirm": {"post": {"operationId": "apps_orders_api_confirm_handoff", "summary": "Confirm Handoff", "parameters": [{"in": "path", "name": "order_id", "schema": {"format": "uuid", "title": "Order Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrderOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["orders"]}}, "/orders/{order_id}/handoff/fail": {"post": {"operationId": "apps_orders_api_fail_handoff", "summary": "Fail Handoff", "parameters": [{"in": "path", "name": "order_id", "schema": {"format": "uuid", "title": "Order Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrderOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["orders"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/HandoffFailIn"}}}, "required": true}}}, "/orders/{order_id}/replace-carrier": {"post": {"operationId": "apps_orders_api_replace_carrier", "summary": "Replace Carrier", "parameters": [{"in": "path", "name": "order_id", "schema": {"format": "uuid", "title": "Order Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrderOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["orders"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ReplaceCarrierIn"}}}, "required": true}}}, "/orders/{order_id}": {"get": {"operationId": "apps_orders_api_detail", "summary": "Detail", "parameters": [{"in": "path", "name": "order_id", "schema": {"format": "uuid", "title": "Order Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrderDetailOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["orders"]}}, "/orders/": {"get": {"operationId": "apps_orders_api_list_orders", "summary": "List Orders", "parameters": [{"in": "query", "name": "status", "schema": {"default": "", "title": "Status", "type": "string"}, "required": false}, {"in": "query", "name": "carrier_id", "schema": {"anyOf": [{"format": "uuid", "type": "string"}, {"type": "null"}], "title": "Carrier Id"}, "required": false}, {"in": "query", "name": "rfq_id", "schema": {"anyOf": [{"format": "uuid", "type": "string"}, {"type": "null"}], "title": "Rfq Id"}, "required": false}, {"in": "query", "name": "award_id", "schema": {"anyOf": [{"format": "uuid", "type": "string"}, {"type": "null"}], "title": "Award Id"}, "required": false}, {"in": "query", "name": "offset", "schema": {"default": 0, "title": "Offset", "type": "integer"}, "required": false}, {"in": "query", "name": "limit", "schema": {"default": 50, "title": "Limit", "type": "integer"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrderListOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["orders"]}}, "/orders/{order_id}/customer-view": {"get": {"operationId": "apps_orders_api_customer_view", "summary": "Customer View", "parameters": [{"in": "path", "name": "order_id", "schema": {"format": "uuid", "title": "Order Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/MaskingLeakOut"}}}}}, "tags": ["orders"]}}, "/orders/{order_id}/handoff-package": {"get": {"operationId": "apps_orders_api_handoff_package", "summary": "Handoff Package", "parameters": [{"in": "path", "name": "order_id", "schema": {"format": "uuid", "title": "Order Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["orders"]}}, "/dispatch/{case_id}/mark-ready": {"post": {"operationId": "apps_dispatch_api_mark_ready", "summary": "Mark Ready", "parameters": [{"in": "path", "name": "case_id", "schema": {"format": "uuid", "title": "Case Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CaseOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NotReadyOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["dispatch"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/MarkReadyIn"}}}, "required": true}}}, "/dispatch/{case_id}/release": {"post": {"operationId": "apps_dispatch_api_release", "summary": "Release", "parameters": [{"in": "path", "name": "case_id", "schema": {"format": "uuid", "title": "Case Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CaseOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NotReadyOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["dispatch"]}}, "/dispatch/{case_id}/confirm-carrier": {"post": {"operationId": "apps_dispatch_api_confirm_carrier", "summary": "Confirm Carrier", "parameters": [{"in": "path", "name": "case_id", "schema": {"format": "uuid", "title": "Case Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CaseOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["dispatch"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ConfirmCarrierIn"}}}, "required": true}}}, "/dispatch/{case_id}/pickup-plan": {"post": {"operationId": "apps_dispatch_api_set_pickup_plan", "summary": "Set Pickup Plan", "parameters": [{"in": "path", "name": "case_id", "schema": {"format": "uuid", "title": "Case Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CaseOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["dispatch"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/PickupPlanIn"}}}, "required": true}}}, "/dispatch/{case_id}/delivery-plan": {"post": {"operationId": "apps_dispatch_api_set_delivery_plan", "summary": "Set Delivery Plan", "parameters": [{"in": "path", "name": "case_id", "schema": {"format": "uuid", "title": "Case Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CaseOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["dispatch"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/DeliveryPlanIn"}}}, "required": true}}}, "/dispatch/{case_id}/tracking": {"post": {"operationId": "apps_dispatch_api_set_tracking", "summary": "Set Tracking", "parameters": [{"in": "path", "name": "case_id", "schema": {"format": "uuid", "title": "Case Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CaseOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["dispatch"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/TrackingIn"}}}, "required": true}}}, "/dispatch/{case_id}/doc-readiness": {"post": {"operationId": "apps_dispatch_api_set_doc_readiness", "summary": "Set Doc Readiness", "parameters": [{"in": "path", "name": "case_id", "schema": {"format": "uuid", "title": "Case Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CaseOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["dispatch"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/DocReadinessIn"}}}, "required": true}}}, "/dispatch/{case_id}/replace-vehicle": {"post": {"operationId": "apps_dispatch_api_replace_vehicle", "summary": "Replace Vehicle", "parameters": [{"in": "path", "name": "case_id", "schema": {"format": "uuid", "title": "Case Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CaseOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["dispatch"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ReplaceVehicleIn"}}}, "required": true}}}, "/dispatch/{case_id}/replace-driver": {"post": {"operationId": "apps_dispatch_api_replace_driver", "summary": "Replace Driver", "parameters": [{"in": "path", "name": "case_id", "schema": {"format": "uuid", "title": "Case Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CaseOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["dispatch"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ReplaceDriverIn"}}}, "required": true}}}, "/dispatch/{case_id}/replace-trailer": {"post": {"operationId": "apps_dispatch_api_replace_trailer", "summary": "Replace Trailer", "parameters": [{"in": "path", "name": "case_id", "schema": {"format": "uuid", "title": "Case Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CaseOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["dispatch"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ReplaceTrailerIn"}}}, "required": true}}}, "/dispatch/{case_id}/holds": {"post": {"operationId": "apps_dispatch_api_add_hold", "summary": "Add Hold", "parameters": [{"in": "path", "name": "case_id", "schema": {"format": "uuid", "title": "Case Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DispatchHoldOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["dispatch"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/AddHoldIn"}}}, "required": true}}}, "/dispatch/{case_id}/holds/{hold_id}/release": {"post": {"operationId": "apps_dispatch_api_release_hold", "summary": "Release Hold", "parameters": [{"in": "path", "name": "case_id", "schema": {"format": "uuid", "title": "Case Id", "type": "string"}, "required": true}, {"in": "path", "name": "hold_id", "schema": {"format": "uuid", "title": "Hold Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DispatchHoldOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["dispatch"]}}, "/dispatch/{case_id}/cancel": {"post": {"operationId": "apps_dispatch_api_cancel", "summary": "Cancel", "parameters": [{"in": "path", "name": "case_id", "schema": {"format": "uuid", "title": "Case Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CaseOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["dispatch"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/DispatchCancelIn"}}}, "required": true}}}, "/dispatch/{case_id}/fail": {"post": {"operationId": "apps_dispatch_api_fail", "summary": "Fail", "parameters": [{"in": "path", "name": "case_id", "schema": {"format": "uuid", "title": "Case Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CaseOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["dispatch"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/DispatchFailIn"}}}, "required": true}}}, "/dispatch/{case_id}": {"get": {"operationId": "apps_dispatch_api_detail", "summary": "Detail", "parameters": [{"in": "path", "name": "case_id", "schema": {"format": "uuid", "title": "Case Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CaseOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["dispatch"]}}, "/dispatch/": {"get": {"operationId": "apps_dispatch_api_list_cases", "summary": "List Cases", "parameters": [{"in": "query", "name": "status", "schema": {"default": "", "title": "Status", "type": "string"}, "required": false}, {"in": "query", "name": "carrier_id", "schema": {"anyOf": [{"format": "uuid", "type": "string"}, {"type": "null"}], "title": "Carrier Id"}, "required": false}, {"in": "query", "name": "rfq_id", "schema": {"anyOf": [{"format": "uuid", "type": "string"}, {"type": "null"}], "title": "Rfq Id"}, "required": false}, {"in": "query", "name": "owner_id", "schema": {"anyOf": [{"format": "uuid", "type": "string"}, {"type": "null"}], "title": "Owner Id"}, "required": false}, {"in": "query", "name": "offset", "schema": {"default": 0, "title": "Offset", "type": "integer"}, "required": false}, {"in": "query", "name": "limit", "schema": {"default": 50, "title": "Limit", "type": "integer"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CaseListOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["dispatch"]}}, "/dispatch/{case_id}/customer-view": {"get": {"operationId": "apps_dispatch_api_customer_view", "summary": "Customer View", "parameters": [{"in": "path", "name": "case_id", "schema": {"format": "uuid", "title": "Case Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/MaskingLeakOut"}}}}}, "tags": ["dispatch"]}}, "/dispatch/{case_id}/release-package": {"get": {"operationId": "apps_dispatch_api_release_package", "summary": "Release Package", "parameters": [{"in": "path", "name": "case_id", "schema": {"format": "uuid", "title": "Case Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["dispatch"]}}, "/execution/carrier-trips/": {"get": {"operationId": "apps_execution_api_carrier_trip_list", "summary": "Carrier Trip List", "parameters": [{"in": "query", "name": "status", "schema": {"default": "", "title": "Status", "type": "string"}, "required": false}, {"in": "query", "name": "offset", "schema": {"default": 0, "title": "Offset", "type": "integer"}, "required": false}, {"in": "query", "name": "limit", "schema": {"default": 50, "title": "Limit", "type": "integer"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CarrierTripListOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F11 carrier dashboard: the caller's own carriers' trips, masked.\n\nRow-scoped by the caller's authorized carrier SET, not a single resolved carrier: a user may\nlegitimately hold memberships at two carriers. An empty set is a 200 with zero rows, not a 403 - the\ncaller may simply have no trips.\n\nA leaking row is OMITTED from the page, never 409'd: F11's only free text is shipper/Zanjeer-authored\ncargo text and the contact scan runs regardless of the masking terms, so one shipper typing a phone\nnumber into a cargo description would otherwise blank a carrier's whole dashboard, persistently, on a\nplain marketplace load. The skip is logged so a vanished row leaves an ops trail.", "tags": ["execution"]}}, "/execution/carrier-trips/{trip_id}": {"get": {"operationId": "apps_execution_api_carrier_trip_detail", "summary": "Carrier Trip Detail", "parameters": [{"in": "path", "name": "trip_id", "schema": {"format": "uuid", "title": "Trip Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CarrierTripOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F11 detail. A render-time leak returns 404, not 409: a 409 would confirm the trip exists (IDOR), and\nits category counts would themselves be the F17 tell - `forbidden_term: n` told to a carrier means \"a\nhidden own-company exists on your trip\", which is exactly what the allowlist structurally excludes.", "tags": ["execution"]}}, "/execution/carrier-trips/{trip_id}/signals": {"post": {"operationId": "apps_execution_api_carrier_raise_signal", "summary": "Carrier Raise Signal", "parameters": [{"in": "path", "name": "trip_id", "schema": {"format": "uuid", "title": "Trip Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CarrierSignalOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F11 \"problem reporting\". Severity is capped at info/warning by the schema, so a carrier can never\nraise a CRITICAL and permanently block `close` (M15 has no signal resolution; M17 owns it).\n\nGated on ``execution.update``, not ``execution.view``: this appends an EXCEPTION_SIGNAL + an audit row,\nand a read permission gating a write would make signal-writing un-revocable independently of dashboard\nreading - contradicting the reason ``view`` and ``update`` are separate permissions at all. Same grant\nset today, so it costs nothing; it is the rule that matters.", "tags": ["execution"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/SignalIn"}}}, "required": true}}}, "/execution/carrier-trips/{trip_id}/confirm-driver": {"post": {"operationId": "apps_execution_api_carrier_confirm_driver", "summary": "Carrier Confirm Driver", "parameters": [{"in": "path", "name": "trip_id", "schema": {"format": "uuid", "title": "Trip Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CarrierTripOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F02: \"Driver or carrier dispatcher confirms trip\". The dispatcher confirms AS THEMSELVES - the\non-behalf-of-driver path is the internal operator's manual workaround and lives on the internal prefix.", "tags": ["execution"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CarrierConfirmDriverIn"}}}, "required": true}}}, "/execution/carrier-trips/{trip_id}/advance": {"post": {"operationId": "apps_execution_api_carrier_advance", "summary": "Carrier Advance", "parameters": [{"in": "path", "name": "trip_id", "schema": {"format": "uuid", "title": "Trip Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CarrierTripOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "422": {"description": "Unprocessable Content", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F04: \"Manual status updates by driver, carrier dispatcher, or authorized internal operator\". The\noverride path is internal-only, so this body carries no ``override_reason`` at all.", "tags": ["execution"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CarrierAdvanceIn"}}}, "required": true}}}, "/execution/carrier-trips/{trip_id}/gps": {"post": {"operationId": "apps_execution_api_record_gps", "summary": "Record Gps", "parameters": [{"in": "path", "name": "trip_id", "schema": {"format": "uuid", "title": "Trip Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PingOut"}}}}, "201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PingOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F03 GPS ingest - a device fact, gated on the pre-existing ``tracking.update`` (held by exactly the\nfield-side set, driver included, which is correct here precisely because this route stamps no\ncaller-derived ``ExecutionEvent.Source``).\n\nThe ``dedup_key`` is namespaced with the trip id server-side. Without it, the service's idempotency belt\nrecovers on a GLOBALLY unique key with an unscoped query, so a client key colliding with another\ncarrier's ping would return THAT carrier's ping row - lat/lng for a trip the caller cannot see. Row-scope\ndoes not help: the leak is through the belt's return value, after the scope check passed. ``str(trip.id)``\nis fixed-width 36, so the namespace is injective even if the client key itself contains a colon.\n\nReturns 201 on a new fix and 200 on an idempotent resend - the belt's contract the mobile client depends\non (a resend re-runs no denormalize, no rescore, no geofence).", "tags": ["execution"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/GpsPingIn"}}}, "required": true}}}, "/execution/carrier-trips/{trip_id}/gps-permission": {"post": {"operationId": "apps_execution_api_set_gps_permission", "summary": "Set Gps Permission", "parameters": [{"in": "path", "name": "trip_id", "schema": {"format": "uuid", "title": "Trip Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GpsPermissionOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F03 \"permission status\" - a device fact, so it is ``tracking.update``-gated like the ingest (the same\nactor, the same device state). ``execution.manage`` is held by neither driver, carrier_admin nor\ndispatcher, so an ops-gated setter would mean an operator phones the driver and types it in.\n\nThis route passes **no source**: the service stamps SYSTEM itself, because ``tracking.update`` admits the\nwhole field-side union and no human source would be true for every caller - hardcoding\n``carrier_dispatcher`` here would stamp a *driver's* own device report as a dispatcher's on an\nappend-only row. See ADR-0008's rule and ``services.set_gps_permission``.\n\nReturns the narrow receipt, never the F10 view - a ``tracking.update`` holder must not receive the\ninternal backbone.", "tags": ["execution"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/GpsPermissionIn"}}}, "required": true}}}, "/execution/{trip_id}/confirm-driver": {"post": {"operationId": "apps_execution_api_confirm_driver", "summary": "Confirm Driver", "parameters": [{"in": "path", "name": "trip_id", "schema": {"format": "uuid", "title": "Trip Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ControlTowerOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F02 via the internal operator - including the spec's manual workaround: \"Internal operator can confirm\non behalf of driver only with reason and audit if driver cannot use app\" (the service enforces the\nreason).", "tags": ["execution"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ConfirmDriverIn"}}}, "required": true}}}, "/execution/{trip_id}/advance": {"post": {"operationId": "apps_execution_api_advance", "summary": "Advance", "parameters": [{"in": "path", "name": "trip_id", "schema": {"format": "uuid", "title": "Trip Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ControlTowerOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "422": {"description": "Unprocessable Content", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F04 manual status + F05 authorized override.\n\n``override_reason`` is stripped ONCE and the SAME value both gates and is forwarded: the service's guard\nis raw truthiness, so a whitespace-only reason must neither trip the ``execution.override`` gate nor be\napplied. The gate fires on INTENT (a non-blank stripped reason) before the service call - even on a trip\nthat would advance cleanly - so there is no outcome-dependent bypass. Fail closed.", "tags": ["execution"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/AdvanceIn"}}}, "required": true}}}, "/execution/{trip_id}/cancel": {"post": {"operationId": "apps_execution_api_cancel", "summary": "Cancel", "parameters": [{"in": "path", "name": "trip_id", "schema": {"format": "uuid", "title": "Trip Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ControlTowerOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["execution"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/TripCancelIn"}}}, "required": true}}}, "/execution/{trip_id}/fail": {"post": {"operationId": "apps_execution_api_fail", "summary": "Fail", "parameters": [{"in": "path", "name": "trip_id", "schema": {"format": "uuid", "title": "Trip Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ControlTowerOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["execution"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/TripFailIn"}}}, "required": true}}}, "/execution/{trip_id}/eta": {"post": {"operationId": "apps_execution_api_set_eta", "summary": "Set Eta", "parameters": [{"in": "path", "name": "trip_id", "schema": {"format": "uuid", "title": "Trip Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ControlTowerOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F07 manual ETA - advisory only (no FSM gate, no Zanjeer milestone, no async side effect). ``source``\nis the free-form ``manual_eta_source`` label, not an event source; the ETA event's source is hardcoded\nINTERNAL_OPERATOR in the service, which is correct by construction since this route is ops-gated.", "tags": ["execution"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/EtaIn"}}}, "required": true}}}, "/execution/{trip_id}/close": {"post": {"operationId": "apps_execution_api_close", "summary": "Close", "parameters": [{"in": "path", "name": "trip_id", "schema": {"format": "uuid", "title": "Trip Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ControlTowerOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F18 closure readiness: DELIVERED -> CLOSED, producing the signal finance (M20/M21) observes. M15\nissues no invoice.\n\nSince M16 PR2c closure requires approved proof (``pod_state == RECEIVED``). ``override_reason``\nforce-closes without it, gated on ``execution.override`` with ``allow_staff=False`` so a bare\nsuperuser cannot waive proof. Force-closing a trip is an OPS call, which is why it sits on\nexecution's own override permission; finance's proof-waiver at invoice-readiness is a separate\n``document.override`` decision in M16 PR2d (ADR-0010).", "tags": ["execution"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CloseIn"}}}, "required": true}}}, "/execution/{trip_id}/signals": {"post": {"operationId": "apps_execution_api_raise_signal", "summary": "Raise Signal", "parameters": [{"in": "path", "name": "trip_id", "schema": {"format": "uuid", "title": "Trip Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SignalOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F09 operator signal. Severity is capped at info/warning by the schema: CRITICAL stays raisable only by\nthe service primitive, so an API-raised signal can never permanently dead-end ``close``.", "tags": ["execution"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/SignalIn"}}}, "required": true}}}, "/execution/{trip_id}": {"get": {"operationId": "apps_execution_api_detail", "summary": "Detail", "parameters": [{"in": "path", "name": "trip_id", "schema": {"format": "uuid", "title": "Trip Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ControlTowerOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["execution"]}}, "/execution/": {"get": {"operationId": "apps_execution_api_list_trips", "summary": "List Trips", "parameters": [{"in": "query", "name": "status", "schema": {"default": "", "title": "Status", "type": "string"}, "required": false}, {"in": "query", "name": "carrier_id", "schema": {"anyOf": [{"format": "uuid", "type": "string"}, {"type": "null"}], "title": "Carrier Id"}, "required": false}, {"in": "query", "name": "rfq_id", "schema": {"anyOf": [{"format": "uuid", "type": "string"}, {"type": "null"}], "title": "Rfq Id"}, "required": false}, {"in": "query", "name": "owner_id", "schema": {"anyOf": [{"format": "uuid", "type": "string"}, {"type": "null"}], "title": "Owner Id"}, "required": false}, {"in": "query", "name": "execution_mode", "schema": {"default": "", "title": "Execution Mode", "type": "string"}, "required": false}, {"in": "query", "name": "gps_stale", "schema": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Gps Stale"}, "required": false}, {"in": "query", "name": "offset", "schema": {"default": 0, "title": "Offset", "type": "integer"}, "required": false}, {"in": "query", "name": "limit", "schema": {"default": 50, "title": "Limit", "type": "integer"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ControlTowerListOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F10 active-trip queue. Filters mirror the indexes PR1 built for exactly this surface.", "tags": ["execution"]}}, "/documents/carrier/packages/{package_id}/documents": {"get": {"operationId": "apps_documents_api_carrier_document_list", "summary": "Carrier Document List", "parameters": [{"in": "path", "name": "package_id", "schema": {"format": "uuid", "title": "Package Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CarrierProofDocumentListOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F11 carrier document list: the CARRIER-visible artifacts on the caller's own package, masked.\n\nA leaking row is OMITTED, never 409'd, per M15's list precedent: the masked view's only free text\nis shipper/Zanjeer-authored, and the contact scan runs regardless of the masking terms, so one\nshipper typing a phone number into a cargo description would otherwise blank a carrier's whole\ndocument list on a plain marketplace load. The skip is logged so a vanished row leaves an ops trail.", "tags": ["documents"]}, "post": {"operationId": "apps_documents_api_carrier_upload_document", "summary": "Carrier Upload Document", "parameters": [{"in": "path", "name": "package_id", "schema": {"format": "uuid", "title": "Package Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CarrierProofDocumentOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "422": {"description": "Unprocessable Content", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F02 carrier/driver upload, gated on the pre-existing ``document.upload`` - the permission that\nexists for exactly this, held by carrier_admin/dispatcher/driver/truck_owner/egs_driver.\n\n``upload_source`` is a caller-declared CHANNEL bounded to ``{mobile, web}`` by the schema, never a\nperson claim: ``uploaded_by`` carries who, from the token. See ``schemas.py`` for why this is not a\nhardcode and why the ops-side values are unreachable from here.\n\nReturns the MASKED receipt, not the internal projection. \"The uploader supplied it, so they may see\nit\" is false: they supplied the bytes and the filename, not ``review_reason``, ``locked_at``, or -\non the re-upload path - the ``document_type`` inherited from the superseded row.", "tags": ["documents"], "requestBody": {"content": {"multipart/form-data": {"schema": {"title": "MultiPartBodyParams", "type": "object", "properties": {"document_type": {"enum": ["pod", "cmr", "waybill", "delivery_photo", "other"], "title": "Document Type", "type": "string"}, "upload_source": {"enum": ["mobile", "web"], "title": "Upload Source", "type": "string"}, "file": {"format": "binary", "title": "File", "type": "string"}}, "required": ["document_type", "upload_source", "file"]}}}, "required": true}}}, "/documents/carrier/artifacts/{document_id}": {"get": {"operationId": "apps_documents_api_carrier_document_detail", "summary": "Carrier Document Detail", "parameters": [{"in": "path", "name": "document_id", "schema": {"format": "uuid", "title": "Document Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CarrierProofDocumentOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F11 detail. Both failure modes are 404, never 409: a 409 would confirm the document exists, and\nfor a leak the category counts would themselves be the F17 tell - \"forbidden_term: n\" told to a\ncarrier means \"a hidden own-company exists on your load\", which is exactly what the allowlist\nstructurally excludes.\n\n``DocumentNotVisibleError`` is raised by the builder itself, not checked here: ``visibility`` is the\nrow's OWN audience tag rather than row scope, and F11's design is that INTERNAL is a fail-closed\ndefault a document leaves only by a deliberate, audited change (``services.py:118``).", "tags": ["documents"]}}, "/documents/carrier/artifacts/{document_id}/content": {"get": {"operationId": "apps_documents_api_carrier_document_content", "summary": "Carrier Document Content", "parameters": [{"in": "path", "name": "document_id", "schema": {"format": "uuid", "title": "Document Id", "type": "string"}, "required": true}], "responses": {"403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "Carrier byte-serving (OD-M16-010): stream a CARRIER-visible artifact on the caller's OWN package.\nRow scope is ``_carrier_document_or_404`` (``package.order.carrier``, ``allow_staff=False``, 404 not\n403); F11 visibility is the services seam (``audience=CARRIER`` -> ``DocumentNotVisibleError`` ->\n404). BOTH are load-bearing: row-scope alone would let a carrier download an INTERNAL artifact on its\nown package (an operator-captured POD naming the hidden shipper).", "tags": ["documents"]}}, "/documents/carrier/artifacts/{document_id}/reupload": {"post": {"operationId": "apps_documents_api_carrier_reupload_document", "summary": "Carrier Reupload Document", "parameters": [{"in": "path", "name": "document_id", "schema": {"format": "uuid", "title": "Document Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CarrierProofDocumentOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "422": {"description": "Unprocessable Content", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F05 carrier re-upload.\n\n**Refuses an artifact the carrier neither owns nor was shown**, and that check is the point rather\nthan defence in depth. ``reupload_document`` guards only ``locked_at`` and ``is_active_version`` -\nit never reads ``visibility`` - so row scope alone would let a carrier supersede an INTERNAL\nartifact on their own package (one an operator captured through the F03 Telegram path and\ndeliberately never published to them): the internal row flips inactive, its checklist slot is\ncleared, and a PENDING carrier row replaces it. That is a carrier mutating - and neutralising as\nevidence - a document it cannot even read. 404, mirroring the detail read, so it does not confirm\nthe artifact exists.\n\nThe predicate is \"CARRIER-tagged **or** field-side in origin\", not visibility alone. Visibility\nalone would be wrong in the other direction: a carrier's OWN upload is INTERNAL by the F11\nfail-closed default, so a visibility-only check would block them from correcting the very artifact\nthey just sent - and, because a re-upload's new version is INTERNAL too, would make the F05 loop\none-shot. ``upload_source`` is a trustworthy discriminator of origin precisely because the two\nprefixes carry DISJOINT enums enforced by different gates: a carrier can only ever have written\n``mobile``/``web``, an operator only ever ``admin``/``telegram_manual``. So this admits exactly the\nartifacts the field side produced, plus those an operator deliberately published to them.\n\n**Refuses to supersede an APPROVED artifact**, and that is not defence in depth either. Re-upload\nclears the required checklist slot the approved document satisfied and creates a PENDING replacement\n(``reupload_document`` guards ``locked_at`` and ``is_active_version`` but never ``review_state``), so\na carrier re-uploading over approved proof resets a package that would mark ready cleanly into one\nthat needs an OD-M16-004 override - putting ``override_applied=True``, the flag M20 bills from, at a\ncarrier's discretion and repeatable. That is the exact outcome ``ProofReuploadIn`` withholds\n``document_type`` to prevent, reached by another door. The F05 loop exists for the PENDING / REJECTED\n/ correction states - \"the photo was rejected, here is a better one\" - and those stay open; an\nAPPROVED artifact is not the carrier's to overwrite. 409, because unlike the visibility/origin\nrefusal above this is not \"does not exist for you\" - the carrier can see it, they just cannot\nsupersede it, and the checklist can only reach APPROVED through an ops action they can observe.\n\nThe schema carries no ``document_type`` either; see ``ProofReuploadIn``.", "tags": ["documents"], "requestBody": {"content": {"multipart/form-data": {"schema": {"title": "MultiPartBodyParams", "type": "object", "properties": {"upload_source": {"enum": ["mobile", "web"], "title": "Upload Source", "type": "string"}, "file": {"format": "binary", "title": "File", "type": "string"}}, "required": ["upload_source", "file"]}}}, "required": true}}}, "/documents/carrier/packages/{package_id}/submit": {"post": {"operationId": "apps_documents_api_carrier_submit_epod", "summary": "Carrier Submit Epod", "parameters": [{"in": "path", "name": "package_id", "schema": {"format": "uuid", "title": "Package Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CarrierProofPackageOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F06 ePOD submission by the field side. Gated on ``document.upload``, not ``document.view``: this\ntakes an FSM edge and writes the handover evidence, and a read permission gating a write would make\nsubmission un-revocable independently of reading.", "tags": ["documents"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/EpodSubmitIn"}}}, "required": true}}}, "/documents/carrier/packages/{package_id}/resubmit": {"post": {"operationId": "apps_documents_api_carrier_resubmit_epod", "summary": "Carrier Resubmit Epod", "parameters": [{"in": "path", "name": "package_id", "schema": {"format": "uuid", "title": "Package Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CarrierProofPackageOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F07 resubmission after a rejection or a correction request - the carrier's way back.", "tags": ["documents"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/EpodSubmitIn"}}}, "required": true}}}, "/documents/": {"get": {"operationId": "apps_documents_api_list_packages", "summary": "List Packages", "parameters": [{"in": "query", "name": "status", "schema": {"anyOf": [{"enum": ["draft", "submitted", "approved", "rejected", "correction_required", "invoice_ready"], "type": "string"}, {"type": "null"}], "title": "Status"}, "required": false}, {"in": "query", "name": "signal", "schema": {"anyOf": [{"enum": ["missing_pod", "rejected_proof", "delivered_not_proof_ready"], "type": "string"}, {"type": "null"}], "title": "Signal"}, "required": false}, {"in": "query", "name": "carrier_id", "schema": {"anyOf": [{"format": "uuid", "type": "string"}, {"type": "null"}], "title": "Carrier Id"}, "required": false}, {"in": "query", "name": "rfq_id", "schema": {"anyOf": [{"format": "uuid", "type": "string"}, {"type": "null"}], "title": "Rfq Id"}, "required": false}, {"in": "query", "name": "order_id", "schema": {"anyOf": [{"format": "uuid", "type": "string"}, {"type": "null"}], "title": "Order Id"}, "required": false}, {"in": "query", "name": "override_applied", "schema": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Override Applied"}, "required": false}, {"in": "query", "name": "offset", "schema": {"default": 0, "title": "Offset", "type": "integer"}, "required": false}, {"in": "query", "name": "limit", "schema": {"default": 50, "title": "Limit", "type": "integer"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProofPackageListOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F15 admin document dashboard: the proof queue, filterable by the F13 signals.\n\nThe signals are DERIVED, not stored, so they are annotated onto the page query\n(``services.proof_signal_annotations``) rather than computed per row. That is what makes both the\nfilter and the counters honest: filtering in Python after the page would paginate wrongly and count\nwrongly, and calling the per-package builder per row would cost 3 queries each and 500 the whole\nqueue on a single order carrying two trips.\n\n``carrier_id`` filters on ``order__carrier``, the OPERATIVE carrier, not the stale denormalized\nsnapshot (F-M16-18) - so a package whose carrier was replaced answers to the carrier who actually\nholds it.", "tags": ["documents"]}}, "/documents/packages/{package_id}": {"get": {"operationId": "apps_documents_api_package_detail", "summary": "Package Detail", "parameters": [{"in": "path", "name": "package_id", "schema": {"format": "uuid", "title": "Package Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProofPackageOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F10 control view - the full internal backbone, no masking re-scan (protection is authz).", "tags": ["documents"]}}, "/documents/packages/{package_id}/customer-view": {"get": {"operationId": "apps_documents_api_package_customer_view", "summary": "Package Customer View", "parameters": [{"in": "path", "name": "package_id", "schema": {"format": "uuid", "title": "Package Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProofMaskingLeakOut"}}}}}, "description": "F09's manual workaround, in-product: what the customer WOULD see, for an operator to export and\nsend. Gated ``document.readiness`` because the spec names Ops **and Finance** as the exporters.\n\nThere is deliberately no shipper-facing route - OD-M16-002 keeps customer access manual for MVP and\nthe portal is Phase 2. This is an internal preview of a masked view, the ``dispatch/api.py:537``\nshape, not a customer endpoint.\n\nA leak withholds the ENTIRE view (never partial, never 500); ``categories`` is counts-only and is\nsafe to surface to an operator as the reason the package cannot be shown to a customer.", "tags": ["documents"]}}, "/documents/packages/{package_id}/documents": {"post": {"operationId": "apps_documents_api_upload_document", "summary": "Upload Document", "parameters": [{"in": "path", "name": "package_id", "schema": {"format": "uuid", "title": "Package Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProofDocumentOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "422": {"description": "Unprocessable Content", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F02's manual workaround plus F03's Telegram capture: an operator uploads a file received out of\nband and records which channel it came from. ``telegram_manual`` is reachable only here - it is an\nops tell, and spec F03 requires an operator to be able to set it.", "tags": ["documents"], "requestBody": {"content": {"multipart/form-data": {"schema": {"title": "MultiPartBodyParams", "type": "object", "properties": {"document_type": {"enum": ["pod", "cmr", "waybill", "delivery_photo", "other"], "title": "Document Type", "type": "string"}, "upload_source": {"enum": ["admin", "telegram_manual"], "title": "Upload Source", "type": "string"}, "file": {"format": "binary", "title": "File", "type": "string"}}, "required": ["document_type", "upload_source", "file"]}}}, "required": true}}}, "/documents/packages/{package_id}/submit": {"post": {"operationId": "apps_documents_api_submit_epod", "summary": "Submit Epod", "parameters": [{"in": "path", "name": "package_id", "schema": {"format": "uuid", "title": "Package Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProofPackageOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F06's manual workaround: \"If driver cannot submit, operator creates ePOD from Telegram/phone\nevidence with manual source\".", "tags": ["documents"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/EpodSubmitIn"}}}, "required": true}}}, "/documents/packages/{package_id}/resubmit": {"post": {"operationId": "apps_documents_api_resubmit_epod", "summary": "Resubmit Epod", "parameters": [{"in": "path", "name": "package_id", "schema": {"format": "uuid", "title": "Package Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProofPackageOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["documents"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/EpodSubmitIn"}}}, "required": true}}}, "/documents/packages/{package_id}/approve": {"post": {"operationId": "apps_documents_api_approve_epod", "summary": "Approve Epod", "parameters": [{"in": "path", "name": "package_id", "schema": {"format": "uuid", "title": "Package Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProofPackageOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F07 approval - and the route that finally gives ``approve_epod`` an HTTP caller.\n\nUntil this shipped, ``pod_state`` could reach RECEIVED by no in-product path, so ``execution.close``\nsucceeded only through its ``execution.override`` force-close and every closure stamped\n``override_applied=True`` (F-M16-07). The M15 seam runs inside the service's transaction and\nPROPAGATES: a failed ``mark_pod_received`` rolls this approval back and surfaces as a 409.", "tags": ["documents"]}}, "/documents/packages/{package_id}/reject": {"post": {"operationId": "apps_documents_api_reject_epod", "summary": "Reject Epod", "parameters": [{"in": "path", "name": "package_id", "schema": {"format": "uuid", "title": "Package Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProofPackageOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F07 rejection. Drives M15's ``pod_state`` to REJECTED, which blocks closure exactly as PENDING\ndoes but says why.", "tags": ["documents"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/EpodReviewReasonIn"}}}, "required": true}}}, "/documents/packages/{package_id}/request-correction": {"post": {"operationId": "apps_documents_api_request_correction", "summary": "Request Correction", "parameters": [{"in": "path", "name": "package_id", "schema": {"format": "uuid", "title": "Package Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProofPackageOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F07 \"we are waiting for a better photo\" - deliberately does NOT touch ``pod_state``, which is\nneither received nor rejected in that state.", "tags": ["documents"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/EpodReviewReasonIn"}}}, "required": true}}}, "/documents/packages/{package_id}/invoice-ready": {"post": {"operationId": "apps_documents_api_mark_invoice_ready", "summary": "Mark Invoice Ready", "parameters": [{"in": "path", "name": "package_id", "schema": {"format": "uuid", "title": "Package Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProofPackageOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProofNotReadyOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F08 readiness - the one route gated on ``document.readiness`` rather than ``document.manage``, so\n``finance`` can reach it (OD-M16-004: waiving proof for invoicing is the financial call).\n\n``override_reason`` arrives stripped from the schema and the SAME value gates and is forwarded: the\nservice's guard is raw truthiness, so a whitespace-only reason must neither trip the\n``document.override`` gate nor be applied. The gate fires on INTENT (a non-blank reason) BEFORE the\nservice call - even on a package that would mark ready cleanly - so there is no outcome-dependent\nbypass. ``allow_staff=False``: a bare superuser must not be able to waive a proof block.\n\nThe override clears only the OVERRIDABLE bucket. A non-empty ``critical`` raises before the override\nbranch is reachable in the service, so no reason can wave a critical block through.", "tags": ["documents"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/InvoiceReadyIn"}}}, "required": true}}}, "/documents/packages/{package_id}/signals": {"post": {"operationId": "apps_documents_api_raise_signals", "summary": "Raise Signals", "parameters": [{"in": "path", "name": "package_id", "schema": {"format": "uuid", "title": "Package Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProofSignalsOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F13: push the derived proof-block signals into M15's ledger. This is the caller PR2d shipped the\nseam without.\n\nState-changing (an immutable ExecutionEvent plus an audit, in another module), hence\n``document.manage`` and not a read permission. The response is what was actually WRITTEN, not what\nwas derived: a kind the trip already carries is skipped and a dead trip receives nothing, so\nreporting the derivation would put a false statement on an ops surface.", "tags": ["documents"]}}, "/documents/artifacts/{document_id}/review": {"post": {"operationId": "apps_documents_api_review_document", "summary": "Review Document", "parameters": [{"in": "path", "name": "document_id", "schema": {"format": "uuid", "title": "Document Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProofDocumentOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F04 per-artifact review (\"this photo is blurry\"), distinct from the per-delivery F07 ePOD review.\nA rejection needs a reason - the schema enforces that, so a missing one is a 422 rather than a 409\nindistinguishable from \"this document is locked\".", "tags": ["documents"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/DocumentReviewIn"}}}, "required": true}}}, "/documents/artifacts/{document_id}/reupload": {"post": {"operationId": "apps_documents_api_reupload_document", "summary": "Reupload Document", "parameters": [{"in": "path", "name": "document_id", "schema": {"format": "uuid", "title": "Document Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProofDocumentOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "422": {"description": "Unprocessable Content", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F05 internal re-upload, including the ``document_type`` correction F-M16-12 describes. Unlike the\ncarrier route this accepts any visibility: an operator re-uploading an INTERNAL artifact is the\nnormal case.", "tags": ["documents"], "requestBody": {"content": {"multipart/form-data": {"schema": {"title": "MultiPartBodyParams", "type": "object", "properties": {"upload_source": {"enum": ["admin", "telegram_manual"], "title": "Upload Source", "type": "string"}, "document_type": {"anyOf": [{"enum": ["pod", "cmr", "waybill", "delivery_photo", "other"], "type": "string"}, {"type": "null"}], "title": "Document Type"}, "file": {"format": "binary", "title": "File", "type": "string"}}, "required": ["upload_source", "file"]}}}, "required": true}}}, "/documents/artifacts/{document_id}/visibility": {"post": {"operationId": "apps_documents_api_set_document_visibility", "summary": "Set Document Visibility", "parameters": [{"in": "path", "name": "document_id", "schema": {"format": "uuid", "title": "Document Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProofDocumentOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F11 audience change - the single most authz-sensitive route in the module, because it is what\nmoves an artifact off the fail-closed INTERNAL default onto a carrier- or customer-visible surface.\n\nGated on the internal-only ``document.manage``. **Never ``document.view`` or ``document.upload``**:\nboth are externally held and both reach ``driver``, so reusing the obvious-looking one would let a\ndriver publish their own document to the CUSTOMER audience. That is ADR-0007's trap in the one place\nwhere falling into it is a masking breach rather than a privilege nit.\n\n``allow_staff=False`` - the only ``document.manage`` route that sets it. ``require_permission``\nreturns None before ``evaluate_permission`` when staff bypass is on, so the default would let a bare\nDjango-staff user with NO membership publish to CUSTOMER, invisible to any role-derived test. F11's\nacceptance criterion is an attributable audit event, and a caller with no membership cannot satisfy\nit.\n\nRe-tagging a document with the audience it already has is a deliberate service-level raise, not a\nsilent success - so a double-submit is a 409 rather than something a client retries blindly.", "tags": ["documents"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/DocumentVisibilityIn"}}}, "required": true}}}, "/documents/artifacts/{document_id}/unlock": {"post": {"operationId": "apps_documents_api_unlock_document", "summary": "Unlock Document", "parameters": [{"in": "path", "name": "document_id", "schema": {"format": "uuid", "title": "Document Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProofDocumentOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F12's manual workaround: un-freeze a locked proof artifact so it can be corrected.\n\n``document.unlock`` is the SOLE gate - it does not supplement ``document.manage`` - and it is granted\nto ``{super_admin}`` only, with ``allow_staff=False``. Spec F12 says \"Super Admin can manually unlock\nand record reason if correction needed\", and ``require_permission`` exposes no role-narrowing knob,\nso \"manage, or narrower\" is not expressible and this needs its own catalog entry. Deliberately NOT\n``document.override``, whose grant set includes ``finance``: that would hand the party with the\nstrongest interest in a billing dispute the power to unseal locked delivery evidence.\n\nUnlocking restores the ability to CHANGE THE ARTIFACT, not to RE-LINK THE EVIDENCE: the package keeps\n``status=INVOICE_READY`` (no outgoing edge), nothing re-evaluates the readiness gate, and the\nchecklist stays frozen (F-M16-13/14).", "tags": ["documents"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/DocumentUnlockIn"}}}, "required": true}}}, "/documents/artifacts/{document_id}/content": {"get": {"operationId": "apps_documents_api_document_content", "summary": "Document Content", "parameters": [{"in": "path", "name": "document_id", "schema": {"format": "uuid", "title": "Document Id", "type": "string"}, "required": true}], "responses": {"403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "Internal byte-serving (OD-M16-010): stream ANY artifact's bytes to a ``document.manage`` holder.\n\n``allow_staff=False`` (Sardor sign-off): raw proof bytes are a masking egress (an INTERNAL POD can\nname the hidden shipper), so this joins ``set_document_visibility`` / ``unlock_document`` in closing\nthe house staff bypass - a bare Django-staff user with NO membership must not stream a shipper's\ndelivery evidence. Deliberately NOT ``_require_document_manage`` (that keeps ``allow_staff=True`` for\nthe ordinary writes). ``document.manage`` (not ``document.readiness``) also EXCLUDES finance from\nbyte-download by design (finance reads metadata + previews, never pulls raw bytes - confirmed at\nsign-off). Serves ALL FIVE visibility tiers to a manage holder - including the currently-INERT\nFINANCE/RESTRICTED (no behavioral consumer wires either to a narrower audience today, so no\nnarrower-audience contract is broken); a manage holder is entitled to any proof byte. If\nFINANCE/RESTRICTED ever gain \"narrower than manage\" semantics, this route must be revisited (ADR-0013).\nRow scope is not a concept for the internal surface.", "tags": ["documents"]}}, "/cases/": {"get": {"operationId": "apps_cases_api_list_cases", "summary": "List Cases", "parameters": [{"in": "query", "name": "status", "schema": {"anyOf": [{"enum": ["open", "investigating", "resolved", "closed", "cancelled"], "type": "string"}, {"type": "null"}], "title": "Status"}, "required": false}, {"in": "query", "name": "severity", "schema": {"anyOf": [{"enum": ["s1", "s2", "s3", "s4"], "type": "string"}, {"type": "null"}], "title": "Severity"}, "required": false}, {"in": "query", "name": "case_type", "schema": {"anyOf": [{"enum": ["exception", "incident", "claim", "dispute"], "type": "string"}, {"type": "null"}], "title": "Case Type"}, "required": false}, {"in": "query", "name": "execution_mode", "schema": {"anyOf": [{"enum": ["aggregator", "marketplace"], "type": "string"}, {"type": "null"}], "title": "Execution Mode"}, "required": false}, {"in": "query", "name": "owner_id", "schema": {"anyOf": [{"format": "uuid", "type": "string"}, {"type": "null"}], "title": "Owner Id"}, "required": false}, {"in": "query", "name": "order_id", "schema": {"anyOf": [{"format": "uuid", "type": "string"}, {"type": "null"}], "title": "Order Id"}, "required": false}, {"in": "query", "name": "carrier_id", "schema": {"anyOf": [{"format": "uuid", "type": "string"}, {"type": "null"}], "title": "Carrier Id"}, "required": false}, {"in": "query", "name": "shipper_id", "schema": {"anyOf": [{"format": "uuid", "type": "string"}, {"type": "null"}], "title": "Shipper Id"}, "required": false}, {"in": "query", "name": "offset", "schema": {"default": 0, "title": "Offset", "type": "integer"}, "required": false}, {"in": "query", "name": "limit", "schema": {"default": 50, "title": "Limit", "type": "integer"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CasePageOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F04 control-tower workbench. Rows carry structured fields ONLY (no note bodies), so the list\ncannot leak HIDDEN_EGS. Filters traverse Case's own FK graph (``shipper_id`` -> ``rfq.own_company``).\nOrdered by the ``(status, severity, -created_at)`` index (the S1/S2-first queue). DB-paginated with a\nhard page cap (single-call bulk-egress guard).", "tags": ["cases"]}, "post": {"operationId": "apps_cases_api_create_case", "summary": "Create Case", "parameters": [], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CaseDetailOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F01 intake. Resolves the required ``order`` + the optional ``trip`` / ``dispatch_case`` /\n``proof_package`` instances (404 on a provided-but-missing id); ``from_signal_event_id`` is a raw\nUUID validated M15-side, passed straight through.", "tags": ["cases"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CaseCreateIn"}}}, "required": true}}}, "/cases/{case_id}": {"get": {"operationId": "apps_cases_api_get_case", "summary": "Get Case", "parameters": [{"in": "path", "name": "case_id", "schema": {"format": "uuid", "title": "Case Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CaseDetailOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "The internal case detail (F04). Full projection; HIDDEN_EGS notes are role-filtered\n(``can_view_hidden_egs`` = caller is egs_supervisor / super_admin).", "tags": ["cases"]}}, "/cases/{case_id}/assign-owner": {"post": {"operationId": "apps_cases_api_assign_owner", "summary": "Assign Owner", "parameters": [{"in": "path", "name": "case_id", "schema": {"format": "uuid", "title": "Case Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CaseDetailOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F05 owner (re)assignment. ``owner_id`` is a raw-id passthrough (``assign_owner`` takes ``owner_id=``,\nnot an instance); existence-check it so a bad id is a 404, not an FK ``IntegrityError`` -> 500.", "tags": ["cases"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CaseAssignOwnerIn"}}}, "required": true}}}, "/cases/{case_id}/severity": {"post": {"operationId": "apps_cases_api_change_severity", "summary": "Change Severity", "parameters": [{"in": "path", "name": "case_id", "schema": {"format": "uuid", "title": "Case Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CaseDetailOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F03 escalation / de-escalation. De-escalating OUT of S1 is authority-sensitive (``case.override``,\n``allow_staff=False``); the gate AND the ``allow_override`` flag derive from the SAME current-vs-target\ncomparison. The service re-checks under ``select_for_update``, so a race is fail-closed.", "tags": ["cases"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CaseSeverityIn"}}}, "required": true}}}, "/cases/{case_id}/investigate": {"post": {"operationId": "apps_cases_api_investigate_case", "summary": "Investigate Case", "parameters": [{"in": "path", "name": "case_id", "schema": {"format": "uuid", "title": "Case Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CaseDetailOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F05 OPEN -> INVESTIGATING through the owner gate (an S1/S2 or active-trip case needs an owner).", "tags": ["cases"]}}, "/cases/{case_id}/resolve": {"post": {"operationId": "apps_cases_api_resolve_case", "summary": "Resolve Case", "parameters": [{"in": "path", "name": "case_id", "schema": {"format": "uuid", "title": "Case Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CaseDetailOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F14 INVESTIGATING -> RESOLVED. An S1/S2 case needs ``case.override`` (``allow_staff=False``),\nthreaded as ``allow_override`` (the authority requirement, NOT a waiver of the data gates).", "tags": ["cases"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CaseResolveIn"}}}, "required": true}}}, "/cases/{case_id}/close": {"post": {"operationId": "apps_cases_api_close_case", "summary": "Close Case", "parameters": [{"in": "path", "name": "case_id", "schema": {"format": "uuid", "title": "Case Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CaseDetailOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F14 RESOLVED -> CLOSED, gated on no ACTIVE hold. A non-blank ``override_reason`` waives the hold\ngate and requires the ``case.hold`` money authority (``allow_staff=False``) - gated on INTENT before\nthe service; a whitespace-only reason is falsy here and in the service, so it neither trips the gate\nnor applies.", "tags": ["cases"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CaseCloseIn"}}}, "required": true}}}, "/cases/{case_id}/cancel": {"post": {"operationId": "apps_cases_api_cancel_case", "summary": "Cancel Case", "parameters": [{"in": "path", "name": "case_id", "schema": {"format": "uuid", "title": "Case Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CaseDetailOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "The opened-in-error tombstone (A6-symmetric with close: an ACTIVE hold blocks it too). Same\n``case.hold`` waiver pattern as close.", "tags": ["cases"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CaseCancelIn"}}}, "required": true}}}, "/cases/{case_id}/evidence": {"post": {"operationId": "apps_cases_api_request_evidence", "summary": "Request Evidence", "parameters": [{"in": "path", "name": "case_id", "schema": {"format": "uuid", "title": "Case Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CaseEvidenceOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F06/F16 evidence requirement / manual-channel log. The optional ``document`` is an M16 file\nreference (resolved by pk; 404 on a provided-but-missing id).", "tags": ["cases"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CaseEvidenceRequestIn"}}}, "required": true}}}, "/cases/evidence/{evidence_id}/review": {"post": {"operationId": "apps_cases_api_review_evidence", "summary": "Review Evidence", "parameters": [{"in": "path", "name": "evidence_id", "schema": {"format": "uuid", "title": "Evidence Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CaseEvidenceOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F07 review. ``review_status`` cannot be PENDING (excluded at the edge Literal AND rejected by the\nservice). Child route: ``/cases/evidence/{id}/review`` (distinct literal, distinct depth).", "tags": ["cases"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CaseEvidenceReviewIn"}}}, "required": true}}}, "/cases/{case_id}/notes": {"post": {"operationId": "apps_cases_api_add_case_note", "summary": "Add Case Note", "parameters": [{"in": "path", "name": "case_id", "schema": {"format": "uuid", "title": "Case Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CaseNoteOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F08 tiered note. Authoring an EXTERNAL tier (shipper/carrier-visible) needs ``case.manage`` with\n``allow_staff=False`` (external content needs a real membership - the ``set_document_visibility``\nprecedent). HIDDEN_EGS needs the ROLE ``{egs_supervisor, super_admin}`` (403 otherwise). NB the\nservice kwarg is ``author_id``, not ``actor_id``.", "tags": ["cases"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CaseNoteIn"}}}, "required": true}}}, "/cases/{case_id}/action-notes": {"post": {"operationId": "apps_cases_api_add_action_note", "summary": "Add Action Note", "parameters": [{"in": "path", "name": "case_id", "schema": {"format": "uuid", "title": "Case Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CaseNoteOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F10 reference note (INTERNAL only - M17 records the needed dispatch/tracking action, never\nexecutes it).", "tags": ["cases"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CaseActionNoteIn"}}}, "required": true}}}, "/cases/{case_id}/holds": {"post": {"operationId": "apps_cases_api_request_hold", "summary": "Request Hold", "parameters": [{"in": "path", "name": "case_id", "schema": {"format": "uuid", "title": "Case Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CaseHoldOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F13 payment hold (M17's money surface). Base gate: ``case.hold`` OR ``case.manage`` - finance holds\n``case.hold`` (not ``case.manage``) and the design grants it the over-cap request authority\n(OD-M17-005). ``over_cap_ok`` is ``allow_staff=False`` so a bare staff user cannot get over-cap\nauthority; a ``case.manage``-only caller can request under-cap. The service enforces the per-currency\ncap + Decimal guards.", "tags": ["cases"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CaseHoldRequestIn"}}}, "required": true}}}, "/cases/holds/{hold_id}/release": {"post": {"operationId": "apps_cases_api_release_hold", "summary": "Release Hold", "parameters": [{"in": "path", "name": "hold_id", "schema": {"format": "uuid", "title": "Hold Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CaseHoldOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "F13 release - the ``case.hold`` money authority ONLY (``allow_staff=False``), NOT ``case.manage``.\nChild route: ``/cases/holds/{id}/release``.", "tags": ["cases"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CaseHoldReleaseIn"}}}, "required": true}}}, "/pricing/": {"post": {"operationId": "apps_pricing_api_create_pricing", "summary": "Create Pricing", "parameters": [], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PricingRecordOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "Bring a governed DRAFT price into being for an RFQ. Idempotent on the one-active-price-per-RFQ\nslot: a duplicate create returns the EXISTING active record, which may already be RELEASED or LOCKED -\nhence the full status set in the response schema. Always 201 (the service gives no created-vs-existing\nsignal, and the postcondition \"an active price exists for this RFQ\" holds either way).", "tags": ["pricing"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/PricingCreateIn"}}}, "required": true}}, "get": {"operationId": "apps_pricing_api_list_pricing", "summary": "List Pricing", "parameters": [{"in": "query", "name": "status", "schema": {"default": "", "title": "Status", "type": "string"}, "required": false}, {"in": "query", "name": "rfq_id", "schema": {"anyOf": [{"format": "uuid", "type": "string"}, {"type": "null"}], "title": "Rfq Id"}, "required": false}, {"in": "query", "name": "offset", "schema": {"default": 0, "title": "Offset", "type": "integer"}, "required": false}, {"in": "query", "name": "limit", "schema": {"default": 50, "title": "Limit", "type": "integer"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PricingListOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["pricing"]}}, "/pricing/{pricing_id}/buy-rate": {"post": {"operationId": "apps_pricing_api_set_buy_rate", "summary": "Set Buy Rate", "parameters": [{"in": "path", "name": "pricing_id", "schema": {"format": "uuid", "title": "Pricing Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PricingRecordOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "Capture the carrier buy leg and recompute the margin. DRAFT-only.", "tags": ["pricing"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/PricingBuyRateIn"}}}, "required": true}}}, "/pricing/{pricing_id}/sell-rate": {"post": {"operationId": "apps_pricing_api_set_sell_rate", "summary": "Set Sell Rate", "parameters": [{"in": "path", "name": "pricing_id", "schema": {"format": "uuid", "title": "Pricing Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PricingRecordOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "Capture the customer sell leg and recompute the margin. DRAFT-only.", "tags": ["pricing"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/PricingSellRateIn"}}}, "required": true}}}, "/pricing/{pricing_id}/fx": {"post": {"operationId": "apps_pricing_api_set_fx", "summary": "Set Fx", "parameters": [{"in": "path", "name": "pricing_id", "schema": {"format": "uuid", "title": "Pricing Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PricingRecordOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "Capture the cross-currency FX rate (F11) and recompute the margin. Direction is PINNED: the rate\nis \"sell units per 1 buy unit\", so it converts the BUY leg into the sell currency. DRAFT-only.", "tags": ["pricing"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/PricingFxIn"}}}, "required": true}}}, "/pricing/{pricing_id}/release": {"post": {"operationId": "apps_pricing_api_release", "summary": "Release", "parameters": [{"in": "path", "name": "pricing_id", "schema": {"format": "uuid", "title": "Pricing Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PricingRecordOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PricingReleaseBlockedOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "Release a DRAFT price through the F020 gate. Returns the record with status **released** - or\n**locked**, when the load was already booked and PR2c's double edge bound the price in the same\ntransaction.\n\nThe base gate admits ``pricing.manage`` OR either authority, so ``finance`` (which holds neither\n``pricing.manage`` nor ``pricing.view``-plus-manage) can reach the handler to spend its below-floor\napproval; the service then refuses a CLEAN release from a caller without manage authority, so\nreaching the handler is not itself a release right.\n\nBoth authority probes are ``allow_staff=False``: ``require_permission`` staff-bypasses BEFORE\n``evaluate_permission``, so a bare Django-staff user with no membership would otherwise inherit both\nwaivers. The base gate deliberately keeps the default staff bypass, mirroring every other manage gate.", "tags": ["pricing"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/PricingReleaseIn"}}}, "required": true}}}, "/pricing/{pricing_id}/reprice": {"post": {"operationId": "apps_pricing_api_reprice", "summary": "Reprice", "parameters": [{"in": "path", "name": "pricing_id", "schema": {"format": "uuid", "title": "Pricing Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PricingRecordOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "Supersede the active price and mint version+1 as a fresh DRAFT (F012), including the F013\nemergency exit from a LOCKED price.\n\nThe base gate is plain ``pricing.manage`` - deliberately NOT ``/release``'s three-way\n``manage OR approve OR override`` form. super_admin already holds ``pricing.manage``, so no holder\nof the emergency authority is locked out, and the three-way form would only let a\n``pricing.approve``-only finance caller reach a handler it has no business in.\n\n``pricing.override`` is probed separately (``allow_staff=False``, since ``require_permission``\nstaff-bypasses BEFORE ``evaluate_permission``) and THREADED IN as ``authorized_emergency`` rather\nthan decided here: whether this reprice is an emergency depends on the record's status and on\nwhether a live order exists, and only the service's transaction pins those. Deciding it here would\nbe check-then-act - a concurrent ``confirm_award`` flips RELEASED to LOCKED in between - and would\nlet an ops caller unwind a booked price. Note ``pricing.override`` now carries TWO authorities (the\nF008 negative-margin waiver and this one); widening its audience must be judged against both.", "tags": ["pricing"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/PricingRepriceIn"}}}, "required": true}}}, "/pricing/{pricing_id}/direct-costs": {"post": {"operationId": "apps_pricing_api_add_direct_cost", "summary": "Add Direct Cost", "parameters": [{"in": "path", "name": "pricing_id", "schema": {"format": "uuid", "title": "Pricing Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PricingDirectCostOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "Record one approved out-of-pocket cost against a price (F014/F019).\n\nAllowed on DRAFT, RELEASED and LOCKED - F014's costs arise during execution, so a DRAFT-only rule\nwould make recording a real demurrage charge require a super_admin emergency reprice. A cost never\nchanges the customer-facing sell price; it moves the internal cost basis, and the STORED planned\nmargin is recomputed only while the record is DRAFT.", "tags": ["pricing"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/PricingDirectCostIn"}}}, "required": true}}, "get": {"operationId": "apps_pricing_api_list_direct_costs", "summary": "List Direct Costs", "parameters": [{"in": "path", "name": "pricing_id", "schema": {"format": "uuid", "title": "Pricing Id", "type": "string"}, "required": true}, {"in": "query", "name": "include_voided", "schema": {"default": false, "title": "Include Voided", "type": "boolean"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PricingDirectCostListOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "The record's direct-cost lines (INTERNAL). Live costs only by default; ``include_voided``\nsurfaces the withdrawn ones for the audit trail.", "tags": ["pricing"]}}, "/pricing/{pricing_id}/direct-costs/{cost_id}/void": {"post": {"operationId": "apps_pricing_api_void_direct_cost", "summary": "Void Direct Cost", "parameters": [{"in": "path", "name": "pricing_id", "schema": {"format": "uuid", "title": "Pricing Id", "type": "string"}, "required": true}, {"in": "path", "name": "cost_id", "schema": {"format": "uuid", "title": "Cost Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PricingDirectCostOut"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "Withdraw a direct cost (soft void). Idempotent. This is the exit from the one wedge the cost\nmodel can create: correcting a leg's currency orphans a cost in the old currency, which makes the\nmargin uncomputable until that cost is voided.", "tags": ["pricing"]}}, "/pricing/{pricing_id}": {"get": {"operationId": "apps_pricing_api_detail", "summary": "Detail", "parameters": [{"in": "path", "name": "pricing_id", "schema": {"format": "uuid", "title": "Pricing Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PricingRecordOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "tags": ["pricing"]}}, "/pricing/{pricing_id}/margin": {"get": {"operationId": "apps_pricing_api_margin_preview", "summary": "Margin Preview", "parameters": [{"in": "path", "name": "pricing_id", "schema": {"format": "uuid", "title": "Pricing Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PricingMarginOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "The PURE margin preview (F06) - ``compute_margin`` reads the record and writes nothing.\n\nA refusal is reported as **data, not a 4xx**: the service is explicit that incomplete rates are \"a\nlegitimate mid-entry state (e.g. sell entered before fx on a cross-currency deal), not an error\", and\na preview that 400s while the operator is still typing would be wrong. The reason codes are machine\ncodes only (never a leaked value), so they are safe to surface.", "tags": ["pricing"]}}, "/pricing/{pricing_id}/customer-view": {"get": {"operationId": "apps_pricing_api_customer_view", "summary": "Customer View", "parameters": [{"in": "path", "name": "pricing_id", "schema": {"format": "uuid", "title": "Pricing Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PricingMaskingLeakOut"}}}}}, "description": "The F016 customer-safe projection, behind the INTERNAL read gate - the ops/finance preview of what\na customer would be shown. The external masked read is Phase-2 and ships no route here.", "tags": ["pricing"]}}, "/comms/test-send": {"post": {"operationId": "apps_comms_api_test_send", "summary": "Send a test notification to your own bound Telegram chat", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TestSendOut"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "422": {"description": "Unprocessable Content", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}, "503": {"description": "Service Unavailable", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorOut"}}}}}, "description": "Exercise the live Telegram path end to end (module plan `:836-838`).\n\n``allow_staff=False``, and that is not the house default. ``rbac.guards.require_permission``\nreturns ``None`` for ANY ``request.auth.is_staff`` caller **before** ``evaluate_permission`` runs,\nso the default would hand the module's first external-send surface to every staff user -\nincluding ``egs_supervisor``, which the permission seed deliberately excludes for the exposure\nADR-0012 calls \"materially sharper than the dispatch twin\". The role-fixture 403 sweep cannot see\nthat hole, because fixtures are not staff; a dedicated test does.", "tags": ["comms"]}}, "/izzilog/queries": {"post": {"operationId": "apps_zanjeer_api_push_query", "summary": "Push Query", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/QueryAccepted"}}}}, "401": {"description": "Unauthorized", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ApiError"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ApiError"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ApiError"}}}}, "422": {"description": "Unprocessable Content", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ApiError"}}}}}, "tags": ["zanjeer-inbound"]}}, "/izzilog/queries/{query_id}/close": {"post": {"operationId": "apps_zanjeer_api_close_query", "summary": "Close Query", "parameters": [{"in": "path", "name": "query_id", "schema": {"title": "Query Id", "type": "integer"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/QueryAccepted"}}}}, "401": {"description": "Unauthorized", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ApiError"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ApiError"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ApiError"}}}}, "422": {"description": "Unprocessable Content", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ApiError"}}}}}, "tags": ["zanjeer-inbound"]}}, "/izzilog/bids/{bid_id}/accept": {"post": {"operationId": "apps_zanjeer_api_accept_bid", "summary": "Accept Bid", "parameters": [{"in": "path", "name": "bid_id", "schema": {"title": "Bid Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AwardAck"}}}}, "401": {"description": "Unauthorized", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ApiError"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ApiError"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ApiError"}}}}, "422": {"description": "Unprocessable Content", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ApiError"}}}}}, "tags": ["zanjeer-inbound"]}}, "/izzilog/bids/{bid_id}/reject": {"post": {"operationId": "apps_zanjeer_api_reject_bid", "summary": "Reject Bid", "parameters": [{"in": "path", "name": "bid_id", "schema": {"title": "Bid Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AwardAck"}}}}, "401": {"description": "Unauthorized", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ApiError"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ApiError"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ApiError"}}}}, "422": {"description": "Unprocessable Content", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ApiError"}}}}}, "tags": ["zanjeer-inbound"]}}}, "components": {"schemas": {"ChallengeOut": {"properties": {"challenge_id": {"title": "Challenge Id", "type": "string"}}, "required": ["challenge_id"], "title": "ChallengeOut", "type": "object"}, "ErrorOut": {"description": "The repo's standard error body. ``code`` is machine-readable; ``require_permission`` fills it\nwith a ``DenyReason``, and this module fills it with a test-send refusal reason.", "properties": {"detail": {"title": "Detail", "type": "string"}, "code": {"default": "", "title": "Code", "type": "string"}}, "required": ["detail"], "title": "ErrorOut", "type": "object"}, "RegisterIn": {"properties": {"phone": {"title": "Phone", "type": "string"}, "full_name": {"maxLength": 255, "minLength": 1, "title": "Full Name", "type": "string"}}, "required": ["phone", "full_name"], "title": "RegisterIn", "type": "object"}, "OTPRequestIn": {"properties": {"phone": {"title": "Phone", "type": "string"}, "purpose": {"default": "login", "enum": ["registration", "login", "recovery", "verification", "stepup"], "title": "Purpose", "type": "string"}}, "required": ["phone"], "title": "OTPRequestIn", "type": "object"}, "VerifyOut": {"properties": {"verified": {"title": "Verified", "type": "boolean"}}, "required": ["verified"], "title": "VerifyOut", "type": "object"}, "OTPVerifyIn": {"properties": {"challenge_id": {"format": "uuid", "title": "Challenge Id", "type": "string"}, "code": {"pattern": "^\\d{6}$", "title": "Code", "type": "string"}}, "required": ["challenge_id", "code"], "title": "OTPVerifyIn", "type": "object"}, "TokensOut": {"properties": {"access": {"title": "Access", "type": "string"}, "refresh": {"title": "Refresh", "type": "string"}}, "required": ["access", "refresh"], "title": "TokensOut", "type": "object"}, "LoginIn": {"properties": {"phone": {"title": "Phone", "type": "string"}, "challenge_id": {"format": "uuid", "title": "Challenge Id", "type": "string"}, "client_type": {"default": "web", "enum": ["web", "mobile"], "title": "Client Type", "type": "string"}, "device_identifier": {"default": "", "title": "Device Identifier", "type": "string"}, "device_type": {"anyOf": [{"enum": ["mobile", "web", "tablet"], "type": "string"}, {"type": "null"}], "title": "Device Type"}, "os_info": {"default": "", "title": "Os Info", "type": "string"}, "app_version": {"default": "", "title": "App Version", "type": "string"}, "push_token": {"default": "", "title": "Push Token", "type": "string"}}, "required": ["phone", "challenge_id"], "title": "LoginIn", "type": "object"}, "RefreshIn": {"properties": {"refresh_token": {"default": "", "title": "Refresh Token", "type": "string"}}, "title": "RefreshIn", "type": "object"}, "LogoutIn": {"properties": {"refresh_token": {"default": "", "title": "Refresh Token", "type": "string"}}, "title": "LogoutIn", "type": "object"}, "RevokedOut": {"properties": {"revoked_count": {"title": "Revoked Count", "type": "integer"}}, "required": ["revoked_count"], "title": "RevokedOut", "type": "object"}, "UserOut": {"properties": {"id": {"title": "Id", "type": "string"}, "phone": {"title": "Phone", "type": "string"}, "email": {"title": "Email", "type": "string"}, "full_name": {"title": "Full Name", "type": "string"}, "status": {"title": "Status", "type": "string"}, "is_staff": {"title": "Is Staff", "type": "boolean"}, "created_at": {"title": "Created At", "type": "string"}, "terms_accepted": {"title": "Terms Accepted", "type": "boolean"}, "current_terms_version": {"title": "Current Terms Version", "type": "string"}}, "required": ["id", "phone", "email", "full_name", "status", "is_staff", "created_at", "terms_accepted", "current_terms_version"], "title": "UserOut", "type": "object"}, "SuccessOut": {"properties": {"ok": {"default": true, "title": "Ok", "type": "boolean"}}, "title": "SuccessOut", "type": "object"}, "StepUpIn": {"properties": {"challenge_id": {"anyOf": [{"format": "uuid", "type": "string"}, {"type": "null"}], "title": "Challenge Id"}, "code": {"anyOf": [{"pattern": "^\\d{6}$", "type": "string"}, {"type": "null"}], "title": "Code"}, "password": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Password"}}, "title": "StepUpIn", "type": "object"}, "PasswordSetIn": {"properties": {"new_password": {"maxLength": 128, "minLength": 8, "title": "New Password", "type": "string"}}, "required": ["new_password"], "title": "PasswordSetIn", "type": "object"}, "PasswordResetIn": {"properties": {"phone": {"title": "Phone", "type": "string"}, "challenge_id": {"format": "uuid", "title": "Challenge Id", "type": "string"}, "new_password": {"maxLength": 128, "minLength": 8, "title": "New Password", "type": "string"}}, "required": ["phone", "challenge_id", "new_password"], "title": "PasswordResetIn", "type": "object"}, "DeviceOut": {"properties": {"id": {"title": "Id", "type": "string"}, "device_identifier": {"title": "Device Identifier", "type": "string"}, "device_type": {"title": "Device Type", "type": "string"}, "os_info": {"title": "Os Info", "type": "string"}, "app_version": {"title": "App Version", "type": "string"}, "status": {"title": "Status", "type": "string"}, "last_login_at": {"title": "Last Login At", "type": "string"}, "created_at": {"title": "Created At", "type": "string"}}, "required": ["id", "device_identifier", "device_type", "os_info", "app_version", "status", "last_login_at", "created_at"], "title": "DeviceOut", "type": "object"}, "OrgOut": {"properties": {"id": {"title": "Id", "type": "string"}, "name": {"title": "Name", "type": "string"}, "display_name": {"title": "Display Name", "type": "string"}, "type": {"title": "Type", "type": "string"}, "status": {"title": "Status", "type": "string"}, "city": {"title": "City", "type": "string"}, "country": {"title": "Country", "type": "string"}, "is_hidden": {"title": "Is Hidden", "type": "boolean"}, "created_at": {"title": "Created At", "type": "string"}}, "required": ["id", "name", "display_name", "type", "status", "city", "country", "is_hidden", "created_at"], "title": "OrgOut", "type": "object"}, "OrgCreateIn": {"properties": {"name": {"title": "Name", "type": "string"}, "display_name": {"default": "", "title": "Display Name", "type": "string"}, "type": {"enum": ["carrier", "truck_owner", "shipper", "egs", "internal"], "title": "Type", "type": "string"}, "city": {"default": "", "title": "City", "type": "string"}, "phone": {"default": "", "title": "Phone", "type": "string"}}, "required": ["name", "type"], "title": "OrgCreateIn", "type": "object"}, "BranchOut": {"properties": {"id": {"title": "Id", "type": "string"}, "org_id": {"title": "Org Id", "type": "string"}, "name": {"title": "Name", "type": "string"}, "city": {"title": "City", "type": "string"}, "is_default": {"title": "Is Default", "type": "boolean"}, "is_active": {"title": "Is Active", "type": "boolean"}}, "required": ["id", "org_id", "name", "city", "is_default", "is_active"], "title": "BranchOut", "type": "object"}, "BranchCreateIn": {"properties": {"name": {"title": "Name", "type": "string"}, "city": {"default": "", "title": "City", "type": "string"}, "phone": {"default": "", "title": "Phone", "type": "string"}, "is_default": {"default": false, "title": "Is Default", "type": "boolean"}}, "required": ["name"], "title": "BranchCreateIn", "type": "object"}, "MembershipOut": {"properties": {"id": {"title": "Id", "type": "string"}, "user_id": {"title": "User Id", "type": "string"}, "org_id": {"title": "Org Id", "type": "string"}, "branch_id": {"title": "Branch Id", "type": "string"}, "team_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Team Id"}, "role_codename": {"title": "Role Codename", "type": "string"}, "scope": {"title": "Scope", "type": "string"}, "status": {"title": "Status", "type": "string"}, "is_primary": {"title": "Is Primary", "type": "boolean"}}, "required": ["id", "user_id", "org_id", "branch_id", "team_id", "role_codename", "scope", "status", "is_primary"], "title": "MembershipOut", "type": "object"}, "MembershipCreateIn": {"properties": {"user_id": {"format": "uuid", "title": "User Id", "type": "string"}, "org_id": {"format": "uuid", "title": "Org Id", "type": "string"}, "branch_id": {"format": "uuid", "title": "Branch Id", "type": "string"}, "role_codename": {"title": "Role Codename", "type": "string"}, "scope": {"default": "branch", "enum": ["org", "branch", "team", "assigned"], "title": "Scope", "type": "string"}, "is_primary": {"default": false, "title": "Is Primary", "type": "boolean"}}, "required": ["user_id", "org_id", "branch_id", "role_codename"], "title": "MembershipCreateIn", "type": "object"}, "RoleChangeIn": {"properties": {"role_codename": {"title": "Role Codename", "type": "string"}, "reason": {"default": "", "title": "Reason", "type": "string"}}, "required": ["role_codename"], "title": "RoleChangeIn", "type": "object"}, "RoleOut": {"properties": {"id": {"title": "Id", "type": "string"}, "name": {"title": "Name", "type": "string"}, "codename": {"title": "Codename", "type": "string"}, "is_system": {"title": "Is System", "type": "boolean"}}, "required": ["id", "name", "codename", "is_system"], "title": "RoleOut", "type": "object"}, "PermissionOut": {"properties": {"id": {"title": "Id", "type": "string"}, "codename": {"title": "Codename", "type": "string"}, "name": {"title": "Name", "type": "string"}}, "required": ["id", "codename", "name"], "title": "PermissionOut", "type": "object"}, "PermissionCheckOut": {"properties": {"allowed": {"title": "Allowed", "type": "boolean"}, "reason": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Reason"}}, "required": ["allowed"], "title": "PermissionCheckOut", "type": "object"}, "PermissionCheckIn": {"properties": {"action": {"title": "Action", "type": "string"}, "org_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Org Id"}}, "required": ["action"], "title": "PermissionCheckIn", "type": "object"}, "CountryOut": {"properties": {"id": {"title": "Id", "type": "string"}, "name": {"title": "Name", "type": "string"}, "iso2": {"title": "Iso2", "type": "string"}, "iso3": {"title": "Iso3", "type": "string"}, "is_active": {"title": "Is Active", "type": "boolean"}, "is_risk": {"title": "Is Risk", "type": "boolean"}, "is_restricted": {"title": "Is Restricted", "type": "boolean"}}, "required": ["id", "name", "iso2", "iso3", "is_active", "is_risk", "is_restricted"], "title": "CountryOut", "type": "object"}, "CountryCreateIn": {"properties": {"name": {"maxLength": 255, "minLength": 1, "title": "Name", "type": "string"}, "iso2": {"maxLength": 2, "minLength": 2, "title": "Iso2", "type": "string"}, "iso3": {"maxLength": 3, "minLength": 3, "title": "Iso3", "type": "string"}, "is_risk": {"default": false, "title": "Is Risk", "type": "boolean"}, "is_restricted": {"default": false, "title": "Is Restricted", "type": "boolean"}}, "required": ["name", "iso2", "iso3"], "title": "CountryCreateIn", "type": "object"}, "RegionOut": {"properties": {"id": {"title": "Id", "type": "string"}, "country_id": {"title": "Country Id", "type": "string"}, "name": {"title": "Name", "type": "string"}, "code": {"title": "Code", "type": "string"}, "is_active": {"title": "Is Active", "type": "boolean"}}, "required": ["id", "country_id", "name", "code", "is_active"], "title": "RegionOut", "type": "object"}, "RegionCreateIn": {"properties": {"country_id": {"title": "Country Id", "type": "string"}, "name": {"maxLength": 255, "minLength": 1, "title": "Name", "type": "string"}, "code": {"default": "", "title": "Code", "type": "string"}}, "required": ["country_id", "name"], "title": "RegionCreateIn", "type": "object"}, "CityOut": {"properties": {"id": {"title": "Id", "type": "string"}, "country_id": {"title": "Country Id", "type": "string"}, "region_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Region Id"}, "name": {"title": "Name", "type": "string"}, "latitude": {"anyOf": [{"type": "number"}, {"type": "null"}], "title": "Latitude"}, "longitude": {"anyOf": [{"type": "number"}, {"type": "null"}], "title": "Longitude"}, "is_active": {"title": "Is Active", "type": "boolean"}}, "required": ["id", "country_id", "region_id", "name", "latitude", "longitude", "is_active"], "title": "CityOut", "type": "object"}, "CityCreateIn": {"properties": {"country_id": {"title": "Country Id", "type": "string"}, "region_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Region Id"}, "name": {"maxLength": 255, "minLength": 1, "title": "Name", "type": "string"}, "latitude": {"anyOf": [{"maximum": 90, "minimum": -90, "type": "number"}, {"type": "null"}], "title": "Latitude"}, "longitude": {"anyOf": [{"maximum": 180, "minimum": -180, "type": "number"}, {"type": "null"}], "title": "Longitude"}}, "required": ["country_id", "name"], "title": "CityCreateIn", "type": "object"}, "CityAliasOut": {"properties": {"id": {"title": "Id", "type": "string"}, "city_id": {"title": "City Id", "type": "string"}, "alias": {"title": "Alias", "type": "string"}, "normalized": {"title": "Normalized", "type": "string"}, "language": {"title": "Language", "type": "string"}, "script": {"title": "Script", "type": "string"}}, "required": ["id", "city_id", "alias", "normalized", "language", "script"], "title": "CityAliasOut", "type": "object"}, "CityAliasCreateIn": {"properties": {"alias": {"maxLength": 255, "minLength": 1, "title": "Alias", "type": "string"}, "language": {"default": "ru", "title": "Language", "type": "string"}, "script": {"default": "cyrillic", "title": "Script", "type": "string"}}, "required": ["alias"], "title": "CityAliasCreateIn", "type": "object"}, "CityResolveOut": {"properties": {"city_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "City Id"}, "city_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "City Name"}, "country_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Country Id"}, "confidence": {"title": "Confidence", "type": "string"}}, "required": ["city_id", "city_name", "country_id", "confidence"], "title": "CityResolveOut", "type": "object"}, "GeoLocationOut": {"properties": {"id": {"title": "Id", "type": "string"}, "country_id": {"title": "Country Id", "type": "string"}, "city_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "City Id"}, "address_text": {"title": "Address Text", "type": "string"}, "latitude": {"anyOf": [{"type": "number"}, {"type": "null"}], "title": "Latitude"}, "longitude": {"anyOf": [{"type": "number"}, {"type": "null"}], "title": "Longitude"}, "confidence": {"title": "Confidence", "type": "string"}, "source": {"title": "Source", "type": "string"}, "created_at": {"title": "Created At", "type": "string"}}, "required": ["id", "country_id", "city_id", "address_text", "latitude", "longitude", "confidence", "source", "created_at"], "title": "GeoLocationOut", "type": "object"}, "GeoLocationCreateIn": {"properties": {"country_id": {"title": "Country Id", "type": "string"}, "city_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "City Id"}, "address_text": {"default": "", "title": "Address Text", "type": "string"}, "latitude": {"anyOf": [{"maximum": 90, "minimum": -90, "type": "number"}, {"type": "null"}], "title": "Latitude"}, "longitude": {"anyOf": [{"maximum": 180, "minimum": -180, "type": "number"}, {"type": "null"}], "title": "Longitude"}, "confidence": {"default": "unverified", "title": "Confidence", "type": "string"}, "source": {"default": "manual", "title": "Source", "type": "string"}}, "required": ["country_id"], "title": "GeoLocationCreateIn", "type": "object"}, "CoordinateUpdateIn": {"properties": {"latitude": {"maximum": 90, "minimum": -90, "title": "Latitude", "type": "number"}, "longitude": {"maximum": 180, "minimum": -180, "title": "Longitude", "type": "number"}, "reason": {"default": "", "title": "Reason", "type": "string"}}, "required": ["latitude", "longitude"], "title": "CoordinateUpdateIn", "type": "object"}, "LaneOut": {"properties": {"id": {"title": "Id", "type": "string"}, "origin_country_id": {"title": "Origin Country Id", "type": "string"}, "origin_city_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Origin City Id"}, "destination_country_id": {"title": "Destination Country Id", "type": "string"}, "destination_city_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Destination City Id"}, "lane_key": {"title": "Lane Key", "type": "string"}, "direction": {"title": "Direction", "type": "string"}, "is_active": {"title": "Is Active", "type": "boolean"}}, "required": ["id", "origin_country_id", "origin_city_id", "destination_country_id", "destination_city_id", "lane_key", "direction", "is_active"], "title": "LaneOut", "type": "object"}, "LaneCreateIn": {"properties": {"origin_country_id": {"title": "Origin Country Id", "type": "string"}, "origin_city_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Origin City Id"}, "destination_country_id": {"title": "Destination Country Id", "type": "string"}, "destination_city_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Destination City Id"}, "direction": {"default": "one_way", "title": "Direction", "type": "string"}, "lane_key": {"default": "", "title": "Lane Key", "type": "string"}}, "required": ["origin_country_id", "destination_country_id"], "title": "LaneCreateIn", "type": "object"}, "TransitCountryOut": {"properties": {"id": {"title": "Id", "type": "string"}, "lane_id": {"title": "Lane Id", "type": "string"}, "country_id": {"title": "Country Id", "type": "string"}, "sequence": {"title": "Sequence", "type": "integer"}}, "required": ["id", "lane_id", "country_id", "sequence"], "title": "TransitCountryOut", "type": "object"}, "TransitCountryCreateIn": {"properties": {"country_id": {"title": "Country Id", "type": "string"}, "sequence": {"maximum": 8, "minimum": 1, "title": "Sequence", "type": "integer"}}, "required": ["country_id", "sequence"], "title": "TransitCountryCreateIn", "type": "object"}, "TransitReorderIn": {"properties": {"ordered_ids": {"items": {"type": "string"}, "maxItems": 8, "minItems": 1, "title": "Ordered Ids", "type": "array"}}, "required": ["ordered_ids"], "title": "TransitReorderIn", "type": "object"}, "GeoReviewOut": {"properties": {"id": {"title": "Id", "type": "string"}, "issue_type": {"title": "Issue Type", "type": "string"}, "entity_type": {"title": "Entity Type", "type": "string"}, "entity_id": {"title": "Entity Id", "type": "string"}, "raw_input": {"additionalProperties": true, "title": "Raw Input", "type": "object"}, "suggested_city_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Suggested City Id"}, "suggested_country_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Suggested Country Id"}, "status": {"title": "Status", "type": "string"}, "resolved_city_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Resolved City Id"}, "resolution_note": {"title": "Resolution Note", "type": "string"}, "created_at": {"title": "Created At", "type": "string"}}, "required": ["id", "issue_type", "entity_type", "entity_id", "raw_input", "suggested_city_id", "suggested_country_id", "status", "resolved_city_id", "resolution_note", "created_at"], "title": "GeoReviewOut", "type": "object"}, "ReviewResolveIn": {"properties": {"resolved_city_id": {"title": "Resolved City Id", "type": "string"}, "resolution_note": {"default": "", "title": "Resolution Note", "type": "string"}}, "required": ["resolved_city_id"], "title": "ReviewResolveIn", "type": "object"}, "ReviewRejectIn": {"properties": {"resolution_note": {"default": "", "title": "Resolution Note", "type": "string"}}, "title": "ReviewRejectIn", "type": "object"}, "VerificationOut": {"properties": {"id": {"title": "Id", "type": "string"}, "type": {"title": "Type", "type": "string"}, "subject_type": {"title": "Subject Type", "type": "string"}, "user_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "User Id"}, "org_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Org Id"}, "status": {"title": "Status", "type": "string"}, "trust_level": {"title": "Trust Level", "type": "integer"}, "full_name": {"title": "Full Name", "type": "string"}, "legal_name": {"title": "Legal Name", "type": "string"}, "tax_id": {"title": "Tax Id", "type": "string"}, "reason_code": {"title": "Reason Code", "type": "string"}, "review_note": {"title": "Review Note", "type": "string"}, "submitted_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Submitted At"}, "reviewed_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Reviewed At"}, "created_at": {"title": "Created At", "type": "string"}}, "required": ["id", "type", "subject_type", "user_id", "org_id", "status", "trust_level", "full_name", "legal_name", "tax_id", "reason_code", "review_note", "submitted_at", "reviewed_at", "created_at"], "title": "VerificationOut", "type": "object"}, "KycCreateIn": {"properties": {"subject_type": {"enum": ["driver", "truck_owner", "dispatcher", "representative", "carrier_company", "shipper_company"], "title": "Subject Type", "type": "string"}, "full_name": {"default": "", "title": "Full Name", "type": "string"}, "license_category": {"default": "", "title": "License Category", "type": "string"}, "license_number": {"default": "", "title": "License Number", "type": "string"}}, "required": ["subject_type"], "title": "KycCreateIn", "type": "object"}, "KybCreateIn": {"properties": {"org_id": {"title": "Org Id", "type": "string"}, "subject_type": {"enum": ["driver", "truck_owner", "dispatcher", "representative", "carrier_company", "shipper_company"], "title": "Subject Type", "type": "string"}, "legal_name": {"default": "", "title": "Legal Name", "type": "string"}, "tax_id": {"default": "", "title": "Tax Id", "type": "string"}, "registration_number": {"default": "", "title": "Registration Number", "type": "string"}, "contact_phone": {"default": "", "title": "Contact Phone", "type": "string"}}, "required": ["org_id", "subject_type"], "title": "KybCreateIn", "type": "object"}, "ReviewDecisionIn": {"properties": {"reason_code": {"minLength": 1, "title": "Reason Code", "type": "string"}, "review_note": {"default": "", "title": "Review Note", "type": "string"}}, "required": ["reason_code"], "title": "ReviewDecisionIn", "type": "object"}, "SuspendBlockIn": {"properties": {"reason_code": {"minLength": 1, "title": "Reason Code", "type": "string"}}, "required": ["reason_code"], "title": "SuspendBlockIn", "type": "object"}, "GateCheckOut": {"properties": {"decision": {"title": "Decision", "type": "string"}, "reason_code": {"title": "Reason Code", "type": "string"}, "reason_detail": {"title": "Reason Detail", "type": "string"}}, "required": ["decision", "reason_code", "reason_detail"], "title": "GateCheckOut", "type": "object"}, "GateCheckIn": {"properties": {"user_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "User Id"}, "org_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Org Id"}, "action": {"title": "Action", "type": "string"}}, "required": ["action"], "title": "GateCheckIn", "type": "object"}, "KycDocumentOut": {"properties": {"id": {"title": "Id", "type": "string"}, "document_type": {"title": "Document Type", "type": "string"}, "label": {"title": "Label", "type": "string"}, "is_provided": {"title": "Is Provided", "type": "boolean"}}, "required": ["id", "document_type", "label", "is_provided"], "title": "KycDocumentOut", "type": "object"}, "CompletenessOut": {"properties": {"complete": {"title": "Complete", "type": "boolean"}, "missing": {"items": {"type": "string"}, "title": "Missing", "type": "array"}}, "required": ["complete", "missing"], "title": "CompletenessOut", "type": "object"}, "RiskFlagOut": {"properties": {"id": {"title": "Id", "type": "string"}, "flag_type": {"title": "Flag Type", "type": "string"}, "severity": {"title": "Severity", "type": "string"}, "detail": {"title": "Detail", "type": "string"}, "is_active": {"title": "Is Active", "type": "boolean"}, "created_at": {"title": "Created At", "type": "string"}}, "required": ["id", "flag_type", "severity", "detail", "is_active", "created_at"], "title": "RiskFlagOut", "type": "object"}, "RiskFlagCreateIn": {"properties": {"flag_type": {"enum": ["duplicate_phone", "duplicate_tax_id", "duplicate_plate", "suspicious_doc", "expired_doc", "suspended_by_admin", "egs_no_leak_breach"], "title": "Flag Type", "type": "string"}, "severity": {"enum": ["blocker", "high", "medium", "low"], "title": "Severity", "type": "string"}, "detail": {"default": "", "title": "Detail", "type": "string"}}, "required": ["flag_type", "severity"], "title": "RiskFlagCreateIn", "type": "object"}, "RiskFlagResolveIn": {"properties": {"resolution_note": {"default": "", "title": "Resolution Note", "type": "string"}}, "title": "RiskFlagResolveIn", "type": "object"}, "OverrideOut": {"properties": {"id": {"title": "Id", "type": "string"}, "scope": {"title": "Scope", "type": "string"}, "action": {"title": "Action", "type": "string"}, "reason_code": {"title": "Reason Code", "type": "string"}, "reason_note": {"title": "Reason Note", "type": "string"}, "expires_at": {"title": "Expires At", "type": "string"}, "is_active": {"title": "Is Active", "type": "boolean"}, "created_at": {"title": "Created At", "type": "string"}}, "required": ["id", "scope", "action", "reason_code", "reason_note", "expires_at", "is_active", "created_at"], "title": "OverrideOut", "type": "object"}, "OverrideCreateIn": {"properties": {"scope": {"enum": ["entity", "order"], "title": "Scope", "type": "string"}, "action": {"enum": ["view_full_load", "bid", "confirm", "dispatch", "start_pickup", "upload_pod", "close"], "title": "Action", "type": "string"}, "reason_code": {"title": "Reason Code", "type": "string"}, "reason_note": {"default": "", "title": "Reason Note", "type": "string"}, "expires_at": {"title": "Expires At", "type": "string"}, "order_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Order Id"}}, "required": ["scope", "action", "reason_code", "expires_at"], "title": "OverrideCreateIn", "type": "object"}, "CarrierOut": {"properties": {"id": {"title": "Id", "type": "string"}, "org_id": {"title": "Org Id", "type": "string"}, "org_name": {"title": "Org Name", "type": "string"}, "owner_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Owner Id"}, "status": {"title": "Status", "type": "string"}, "source": {"title": "Source", "type": "string"}, "reason_code": {"title": "Reason Code", "type": "string"}, "operating_countries": {"items": {"type": "string"}, "title": "Operating Countries", "type": "array"}, "working_hours_note": {"title": "Working Hours Note", "type": "string"}, "availability_note": {"title": "Availability Note", "type": "string"}, "supports_ftl": {"title": "Supports Ftl", "type": "boolean"}, "supports_ltl": {"title": "Supports Ltl", "type": "boolean"}, "is_refrigerated": {"title": "Is Refrigerated", "type": "boolean"}, "is_adr": {"title": "Is Adr", "type": "boolean"}, "max_weight_kg": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Max Weight Kg"}, "max_volume_m3": {"anyOf": [{"type": "number"}, {"type": "null"}], "title": "Max Volume M3"}, "cargo_exclusions": {"title": "Cargo Exclusions", "type": "string"}, "truck_types": {"items": {"type": "string"}, "title": "Truck Types", "type": "array"}, "preferred_channel": {"title": "Preferred Channel", "type": "string"}, "telegram_username": {"title": "Telegram Username", "type": "string"}, "preferred_language": {"title": "Preferred Language", "type": "string"}, "primary_dispatcher_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Primary Dispatcher Id"}, "dispatcher_phone": {"title": "Dispatcher Phone", "type": "string"}, "created_at": {"title": "Created At", "type": "string"}, "updated_at": {"title": "Updated At", "type": "string"}}, "required": ["id", "org_id", "org_name", "owner_id", "status", "source", "reason_code", "operating_countries", "working_hours_note", "availability_note", "supports_ftl", "supports_ltl", "is_refrigerated", "is_adr", "max_weight_kg", "max_volume_m3", "cargo_exclusions", "truck_types", "preferred_channel", "telegram_username", "preferred_language", "primary_dispatcher_id", "dispatcher_phone", "created_at", "updated_at"], "title": "CarrierOut", "type": "object"}, "CarrierCreateIn": {"properties": {"company_name": {"maxLength": 255, "minLength": 1, "title": "Company Name", "type": "string"}, "owner_id": {"title": "Owner Id", "type": "string"}, "source": {"default": "self_registration", "enum": ["self_registration", "internal_admin", "zanjeer_import", "telegram_campaign"], "title": "Source", "type": "string"}, "country": {"default": "UZ", "title": "Country", "type": "string"}, "phone": {"default": "", "title": "Phone", "type": "string"}, "telegram_username": {"default": "", "title": "Telegram Username", "type": "string"}}, "required": ["company_name", "owner_id"], "title": "CarrierCreateIn", "type": "object"}, "StatusActionIn": {"properties": {"reason_code": {"default": "", "title": "Reason Code", "type": "string"}}, "title": "StatusActionIn", "type": "object"}, "OperationalProfileIn": {"properties": {"operating_countries": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "title": "Operating Countries"}, "working_hours_note": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Working Hours Note"}, "availability_note": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Availability Note"}}, "title": "OperationalProfileIn", "type": "object"}, "ServiceCapabilitiesIn": {"properties": {"supports_ftl": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Supports Ftl"}, "supports_ltl": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Supports Ltl"}, "is_refrigerated": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Is Refrigerated"}, "is_adr": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Is Adr"}, "max_weight_kg": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Max Weight Kg"}, "max_volume_m3": {"anyOf": [{"type": "number"}, {"type": "null"}], "title": "Max Volume M3"}, "cargo_exclusions": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Cargo Exclusions"}, "truck_types": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "title": "Truck Types"}}, "title": "ServiceCapabilitiesIn", "type": "object"}, "CommunicationPrefsIn": {"properties": {"preferred_channel": {"anyOf": [{"enum": ["telegram", "phone", "app"], "type": "string"}, {"type": "null"}], "title": "Preferred Channel"}, "telegram_username": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Telegram Username"}, "preferred_language": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Preferred Language"}}, "title": "CommunicationPrefsIn", "type": "object"}, "InternalNotesIn": {"properties": {"notes": {"title": "Notes", "type": "string"}}, "required": ["notes"], "title": "InternalNotesIn", "type": "object"}, "DispatcherIn": {"properties": {"dispatcher_id": {"title": "Dispatcher Id", "type": "string"}, "dispatcher_phone": {"default": "", "title": "Dispatcher Phone", "type": "string"}}, "required": ["dispatcher_id"], "title": "DispatcherIn", "type": "object"}, "CarrierLaneOut": {"properties": {"id": {"title": "Id", "type": "string"}, "lane_id": {"title": "Lane Id", "type": "string"}, "lane_key": {"title": "Lane Key", "type": "string"}, "notes": {"title": "Notes", "type": "string"}, "is_active": {"title": "Is Active", "type": "boolean"}}, "required": ["id", "lane_id", "lane_key", "notes", "is_active"], "title": "CarrierLaneOut", "type": "object"}, "LaneIn": {"properties": {"lane_id": {"title": "Lane Id", "type": "string"}, "notes": {"default": "", "title": "Notes", "type": "string"}}, "required": ["lane_id"], "title": "LaneIn", "type": "object"}, "CarrierDuplicateWarningOut": {"properties": {"field": {"title": "Field", "type": "string"}, "detail": {"title": "Detail", "type": "string"}, "other_carrier_id": {"title": "Other Carrier Id", "type": "string"}}, "required": ["field", "detail", "other_carrier_id"], "title": "CarrierDuplicateWarningOut", "type": "object"}, "ActionCheckOut": {"properties": {"allowed": {"title": "Allowed", "type": "boolean"}}, "required": ["allowed"], "title": "ActionCheckOut", "type": "object"}, "ActionCheckIn": {"properties": {"action": {"title": "Action", "type": "string"}}, "required": ["action"], "title": "ActionCheckIn", "type": "object"}, "ActorProfileOut": {"properties": {"id": {"title": "Id", "type": "string"}, "carrier_id": {"title": "Carrier Id", "type": "string"}, "user_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "User Id"}, "actor_type": {"title": "Actor Type", "type": "string"}, "full_name": {"title": "Full Name", "type": "string"}, "phone": {"title": "Phone", "type": "string"}, "created_at": {"title": "Created At", "type": "string"}}, "required": ["id", "carrier_id", "user_id", "actor_type", "full_name", "phone", "created_at"], "title": "ActorProfileOut", "type": "object"}, "ActorOverlapOut": {"properties": {"kind": {"title": "Kind", "type": "string"}, "other_actor_id": {"title": "Other Actor Id", "type": "string"}, "other_carrier_id": {"title": "Other Carrier Id", "type": "string"}, "other_actor_type": {"title": "Other Actor Type", "type": "string"}, "detail": {"title": "Detail", "type": "string"}}, "required": ["kind", "other_actor_id", "other_carrier_id", "other_actor_type", "detail"], "title": "ActorOverlapOut", "type": "object"}, "VehicleOut": {"properties": {"id": {"title": "Id", "type": "string"}, "carrier_id": {"title": "Carrier Id", "type": "string"}, "owner_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Owner Id"}, "truck_owner_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Truck Owner Id"}, "plate_number": {"title": "Plate Number", "type": "string"}, "vehicle_type": {"title": "Vehicle Type", "type": "string"}, "body_type": {"title": "Body Type", "type": "string"}, "make": {"title": "Make", "type": "string"}, "model_name": {"title": "Model Name", "type": "string"}, "year": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Year"}, "max_weight_kg": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Max Weight Kg"}, "max_volume_m3": {"anyOf": [{"type": "number"}, {"type": "null"}], "title": "Max Volume M3"}, "is_refrigerated": {"title": "Is Refrigerated", "type": "boolean"}, "is_adr": {"title": "Is Adr", "type": "boolean"}, "status": {"title": "Status", "type": "string"}, "availability": {"title": "Availability", "type": "string"}, "reason_code": {"title": "Reason Code", "type": "string"}, "last_known_city": {"title": "Last Known City", "type": "string"}, "last_location_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Last Location At"}, "created_at": {"title": "Created At", "type": "string"}, "updated_at": {"title": "Updated At", "type": "string"}}, "required": ["id", "carrier_id", "owner_id", "truck_owner_id", "plate_number", "vehicle_type", "body_type", "make", "model_name", "year", "max_weight_kg", "max_volume_m3", "is_refrigerated", "is_adr", "status", "availability", "reason_code", "last_known_city", "last_location_at", "created_at", "updated_at"], "title": "VehicleOut", "type": "object"}, "VehicleCreateIn": {"properties": {"carrier_id": {"title": "Carrier Id", "type": "string"}, "plate_number": {"maxLength": 20, "minLength": 1, "title": "Plate Number", "type": "string"}, "vehicle_type": {"default": "truck", "enum": ["truck", "trailer", "truck_trailer"], "title": "Vehicle Type", "type": "string"}, "body_type": {"default": "tilt", "enum": ["tilt", "refrigerator", "container", "flatbed", "curtainside", "tank", "livestock", "other"], "title": "Body Type", "type": "string"}, "make": {"default": "", "title": "Make", "type": "string"}, "model_name": {"default": "", "title": "Model Name", "type": "string"}, "year": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Year"}, "max_weight_kg": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Max Weight Kg"}, "max_volume_m3": {"anyOf": [{"type": "number"}, {"type": "null"}], "title": "Max Volume M3"}, "is_refrigerated": {"default": false, "title": "Is Refrigerated", "type": "boolean"}, "is_adr": {"default": false, "title": "Is Adr", "type": "boolean"}, "owner_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Owner Id"}, "owner_full_name": {"default": "", "title": "Owner Full Name", "type": "string"}, "owner_phone": {"default": "", "title": "Owner Phone", "type": "string"}}, "required": ["carrier_id", "plate_number"], "title": "VehicleCreateIn", "type": "object"}, "VehicleUpdateIn": {"properties": {"make": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Make"}, "model_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Model Name"}, "year": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Year"}, "max_weight_kg": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Max Weight Kg"}, "max_volume_m3": {"anyOf": [{"type": "number"}, {"type": "null"}], "title": "Max Volume M3"}, "is_refrigerated": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Is Refrigerated"}, "is_adr": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Is Adr"}, "last_known_city": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Last Known City"}}, "title": "VehicleUpdateIn", "type": "object"}, "VehicleAvailabilityIn": {"properties": {"availability": {"enum": ["available", "on_trip", "maintenance", "unavailable"], "title": "Availability", "type": "string"}}, "required": ["availability"], "title": "VehicleAvailabilityIn", "type": "object"}, "DispatchReadyOut": {"properties": {"ready": {"title": "Ready", "type": "boolean"}, "missing": {"items": {"type": "string"}, "title": "Missing", "type": "array"}}, "required": ["ready", "missing"], "title": "DispatchReadyOut", "type": "object"}, "FleetDuplicateWarningOut": {"properties": {"field": {"title": "Field", "type": "string"}, "detail": {"title": "Detail", "type": "string"}, "other_id": {"title": "Other Id", "type": "string"}}, "required": ["field", "detail", "other_id"], "title": "FleetDuplicateWarningOut", "type": "object"}, "FleetDocumentOut": {"properties": {"id": {"title": "Id", "type": "string"}, "vehicle_id": {"title": "Vehicle Id", "type": "string"}, "document_type": {"title": "Document Type", "type": "string"}, "status": {"title": "Status", "type": "string"}, "expiry_date": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Expiry Date"}, "notes": {"title": "Notes", "type": "string"}, "created_at": {"title": "Created At", "type": "string"}}, "required": ["id", "vehicle_id", "document_type", "status", "expiry_date", "notes", "created_at"], "title": "FleetDocumentOut", "type": "object"}, "DocumentStatusIn": {"properties": {"status": {"enum": ["valid", "expired", "missing", "pending_review"], "title": "Status", "type": "string"}, "expiry_date": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Expiry Date"}, "notes": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Notes"}}, "required": ["status"], "title": "DocumentStatusIn", "type": "object"}, "DriverOut": {"properties": {"id": {"title": "Id", "type": "string"}, "carrier_id": {"title": "Carrier Id", "type": "string"}, "user_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "User Id"}, "full_name": {"title": "Full Name", "type": "string"}, "phone": {"title": "Phone", "type": "string"}, "license_number": {"title": "License Number", "type": "string"}, "license_category": {"title": "License Category", "type": "string"}, "license_expiry": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "License Expiry"}, "status": {"title": "Status", "type": "string"}, "availability": {"title": "Availability", "type": "string"}, "reason_code": {"title": "Reason Code", "type": "string"}, "preferred_language": {"title": "Preferred Language", "type": "string"}, "telegram_username": {"title": "Telegram Username", "type": "string"}, "backup_contact_name": {"title": "Backup Contact Name", "type": "string"}, "backup_contact_phone": {"title": "Backup Contact Phone", "type": "string"}, "last_known_city": {"title": "Last Known City", "type": "string"}, "last_location_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Last Location At"}, "created_at": {"title": "Created At", "type": "string"}, "updated_at": {"title": "Updated At", "type": "string"}}, "required": ["id", "carrier_id", "user_id", "full_name", "phone", "license_number", "license_category", "license_expiry", "status", "availability", "reason_code", "preferred_language", "telegram_username", "backup_contact_name", "backup_contact_phone", "last_known_city", "last_location_at", "created_at", "updated_at"], "title": "DriverOut", "type": "object"}, "DriverCreateIn": {"properties": {"carrier_id": {"title": "Carrier Id", "type": "string"}, "full_name": {"maxLength": 255, "minLength": 1, "title": "Full Name", "type": "string"}, "phone": {"title": "Phone", "type": "string"}, "license_number": {"default": "", "title": "License Number", "type": "string"}, "license_category": {"default": "", "title": "License Category", "type": "string"}, "license_expiry": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "License Expiry"}, "user_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "User Id"}, "preferred_language": {"default": "ru", "title": "Preferred Language", "type": "string"}, "telegram_username": {"default": "", "title": "Telegram Username", "type": "string"}}, "required": ["carrier_id", "full_name", "phone"], "title": "DriverCreateIn", "type": "object"}, "DriverUpdateIn": {"properties": {"full_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Full Name"}, "license_number": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "License Number"}, "license_category": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "License Category"}, "license_expiry": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "License Expiry"}, "preferred_language": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Preferred Language"}, "telegram_username": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Telegram Username"}, "backup_contact_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Backup Contact Name"}, "backup_contact_phone": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Backup Contact Phone"}, "last_known_city": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Last Known City"}}, "title": "DriverUpdateIn", "type": "object"}, "DriverAvailabilityIn": {"properties": {"availability": {"enum": ["available", "on_trip", "off_duty", "unavailable"], "title": "Availability", "type": "string"}}, "required": ["availability"], "title": "DriverAvailabilityIn", "type": "object"}, "TruckOwnerOut": {"properties": {"id": {"title": "Id", "type": "string"}, "carrier_id": {"title": "Carrier Id", "type": "string"}, "user_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "User Id"}, "full_name": {"title": "Full Name", "type": "string"}, "phone": {"title": "Phone", "type": "string"}, "company_name": {"title": "Company Name", "type": "string"}, "status": {"title": "Status", "type": "string"}, "reason_code": {"title": "Reason Code", "type": "string"}, "needs_review": {"title": "Needs Review", "type": "boolean"}, "created_at": {"title": "Created At", "type": "string"}, "updated_at": {"title": "Updated At", "type": "string"}}, "required": ["id", "carrier_id", "user_id", "full_name", "phone", "company_name", "status", "reason_code", "needs_review", "created_at", "updated_at"], "title": "TruckOwnerOut", "type": "object"}, "TruckOwnerCreateIn": {"properties": {"carrier_id": {"title": "Carrier Id", "type": "string"}, "full_name": {"maxLength": 255, "minLength": 1, "title": "Full Name", "type": "string"}, "phone": {"title": "Phone", "type": "string"}, "company_name": {"default": "", "title": "Company Name", "type": "string"}, "user_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "User Id"}}, "required": ["carrier_id", "full_name", "phone"], "title": "TruckOwnerCreateIn", "type": "object"}, "DispatcherOut": {"properties": {"id": {"title": "Id", "type": "string"}, "carrier_id": {"title": "Carrier Id", "type": "string"}, "user_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "User Id"}, "full_name": {"title": "Full Name", "type": "string"}, "phone": {"title": "Phone", "type": "string"}, "telegram_username": {"title": "Telegram Username", "type": "string"}, "status": {"title": "Status", "type": "string"}, "reason_code": {"title": "Reason Code", "type": "string"}, "assigned_driver_ids": {"items": {"type": "string"}, "title": "Assigned Driver Ids", "type": "array"}, "assigned_vehicle_ids": {"items": {"type": "string"}, "title": "Assigned Vehicle Ids", "type": "array"}, "created_at": {"title": "Created At", "type": "string"}, "updated_at": {"title": "Updated At", "type": "string"}}, "required": ["id", "carrier_id", "user_id", "full_name", "phone", "telegram_username", "status", "reason_code", "assigned_driver_ids", "assigned_vehicle_ids", "created_at", "updated_at"], "title": "DispatcherOut", "type": "object"}, "DispatcherCreateIn": {"properties": {"carrier_id": {"title": "Carrier Id", "type": "string"}, "full_name": {"maxLength": 255, "minLength": 1, "title": "Full Name", "type": "string"}, "phone": {"title": "Phone", "type": "string"}, "telegram_username": {"default": "", "title": "Telegram Username", "type": "string"}, "user_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "User Id"}}, "required": ["carrier_id", "full_name", "phone"], "title": "DispatcherCreateIn", "type": "object"}, "DispatcherScopeIn": {"properties": {"driver_ids": {"default": [], "items": {"type": "string"}, "title": "Driver Ids", "type": "array"}, "vehicle_ids": {"default": [], "items": {"type": "string"}, "title": "Vehicle Ids", "type": "array"}}, "title": "DispatcherScopeIn", "type": "object"}, "AssignmentOut": {"properties": {"id": {"title": "Id", "type": "string"}, "driver_id": {"title": "Driver Id", "type": "string"}, "vehicle_id": {"title": "Vehicle Id", "type": "string"}, "is_active": {"title": "Is Active", "type": "boolean"}, "assigned_at": {"title": "Assigned At", "type": "string"}, "unassigned_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Unassigned At"}}, "required": ["id", "driver_id", "vehicle_id", "is_active", "assigned_at", "unassigned_at"], "title": "AssignmentOut", "type": "object"}, "AssignmentCreateIn": {"properties": {"driver_id": {"title": "Driver Id", "type": "string"}, "vehicle_id": {"title": "Vehicle Id", "type": "string"}}, "required": ["driver_id", "vehicle_id"], "title": "AssignmentCreateIn", "type": "object"}, "ShipperOut": {"properties": {"id": {"title": "Id", "type": "string"}, "org_id": {"title": "Org Id", "type": "string"}, "org_name": {"title": "Org Name", "type": "string"}, "account_type": {"title": "Account Type", "type": "string"}, "service_mode": {"title": "Service Mode", "type": "string"}, "status": {"title": "Status", "type": "string"}, "zanjeer_company_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Zanjeer Company Id"}, "legal_name": {"title": "Legal Name", "type": "string"}, "short_name": {"title": "Short Name", "type": "string"}, "tax_id": {"title": "Tax Id", "type": "string"}, "registration_number": {"title": "Registration Number", "type": "string"}, "country": {"title": "Country", "type": "string"}, "city": {"title": "City", "type": "string"}, "primary_contact_name": {"title": "Primary Contact Name", "type": "string"}, "primary_contact_phone": {"title": "Primary Contact Phone", "type": "string"}, "primary_contact_email": {"title": "Primary Contact Email", "type": "string"}, "preferred_channel": {"title": "Preferred Channel", "type": "string"}, "telegram_username": {"title": "Telegram Username", "type": "string"}, "default_ftl": {"title": "Default Ftl", "type": "boolean"}, "reason_code": {"title": "Reason Code", "type": "string"}, "created_at": {"title": "Created At", "type": "string"}, "updated_at": {"title": "Updated At", "type": "string"}}, "required": ["id", "org_id", "org_name", "account_type", "service_mode", "status", "zanjeer_company_id", "legal_name", "short_name", "tax_id", "registration_number", "country", "city", "primary_contact_name", "primary_contact_phone", "primary_contact_email", "preferred_channel", "telegram_username", "default_ftl", "reason_code", "created_at", "updated_at"], "title": "ShipperOut", "type": "object"}, "ShipperCreateIn": {"properties": {"company_name": {"maxLength": 255, "minLength": 1, "title": "Company Name", "type": "string"}, "account_type": {"default": "own_company", "enum": ["own_company", "external"], "title": "Account Type", "type": "string"}, "service_mode": {"default": "aggregator", "enum": ["aggregator", "marketplace"], "title": "Service Mode", "type": "string"}, "zanjeer_company_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Zanjeer Company Id"}, "legal_name": {"default": "", "title": "Legal Name", "type": "string"}, "short_name": {"default": "", "title": "Short Name", "type": "string"}, "tax_id": {"default": "", "title": "Tax Id", "type": "string"}, "registration_number": {"default": "", "title": "Registration Number", "type": "string"}, "country": {"default": "UZ", "title": "Country", "type": "string"}, "city": {"default": "", "title": "City", "type": "string"}}, "required": ["company_name"], "title": "ShipperCreateIn", "type": "object"}, "ShipperProfileIn": {"properties": {"legal_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Legal Name"}, "short_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Short Name"}, "tax_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Tax Id"}, "registration_number": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Registration Number"}, "country": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Country"}, "city": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "City"}}, "title": "ShipperProfileIn", "type": "object"}, "ContactPrefsIn": {"properties": {"primary_contact_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Primary Contact Name"}, "primary_contact_phone": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Primary Contact Phone"}, "primary_contact_email": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Primary Contact Email"}, "preferred_channel": {"anyOf": [{"enum": ["telegram", "phone", "email", "app"], "type": "string"}, {"type": "null"}], "title": "Preferred Channel"}, "telegram_username": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Telegram Username"}}, "title": "ContactPrefsIn", "type": "object"}, "ShipperLocationOut": {"properties": {"id": {"title": "Id", "type": "string"}, "shipper_id": {"title": "Shipper Id", "type": "string"}, "name": {"title": "Name", "type": "string"}, "address": {"title": "Address", "type": "string"}, "city": {"title": "City", "type": "string"}, "region": {"title": "Region", "type": "string"}, "country": {"title": "Country", "type": "string"}, "latitude": {"anyOf": [{"type": "number"}, {"type": "null"}], "title": "Latitude"}, "longitude": {"anyOf": [{"type": "number"}, {"type": "null"}], "title": "Longitude"}, "contact_name": {"title": "Contact Name", "type": "string"}, "contact_phone": {"title": "Contact Phone", "type": "string"}, "contact_telegram": {"title": "Contact Telegram", "type": "string"}, "source": {"title": "Source", "type": "string"}, "is_active": {"title": "Is Active", "type": "boolean"}, "created_at": {"title": "Created At", "type": "string"}}, "required": ["id", "shipper_id", "name", "address", "city", "region", "country", "latitude", "longitude", "contact_name", "contact_phone", "contact_telegram", "source", "is_active", "created_at"], "title": "ShipperLocationOut", "type": "object"}, "ShipperLocationCreateIn": {"properties": {"name": {"maxLength": 255, "minLength": 1, "title": "Name", "type": "string"}, "address": {"default": "", "title": "Address", "type": "string"}, "city": {"default": "", "title": "City", "type": "string"}, "region": {"default": "", "title": "Region", "type": "string"}, "country": {"default": "UZ", "title": "Country", "type": "string"}, "latitude": {"anyOf": [{"type": "number"}, {"type": "null"}], "title": "Latitude"}, "longitude": {"anyOf": [{"type": "number"}, {"type": "null"}], "title": "Longitude"}, "contact_name": {"default": "", "title": "Contact Name", "type": "string"}, "contact_phone": {"default": "", "title": "Contact Phone", "type": "string"}, "contact_telegram": {"default": "", "title": "Contact Telegram", "type": "string"}, "source": {"default": "manual", "enum": ["zanjeer_import", "manual"], "title": "Source", "type": "string"}}, "required": ["name"], "title": "ShipperLocationCreateIn", "type": "object"}, "LocationUpdateIn": {"properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Name"}, "address": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Address"}, "city": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "City"}, "region": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Region"}, "country": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Country"}, "latitude": {"anyOf": [{"type": "number"}, {"type": "null"}], "title": "Latitude"}, "longitude": {"anyOf": [{"type": "number"}, {"type": "null"}], "title": "Longitude"}, "contact_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Contact Name"}, "contact_phone": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Contact Phone"}, "contact_telegram": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Contact Telegram"}}, "title": "LocationUpdateIn", "type": "object"}, "EligibilityOut": {"properties": {"eligible": {"title": "Eligible", "type": "boolean"}, "reasons": {"items": {"type": "string"}, "title": "Reasons", "type": "array"}}, "required": ["eligible", "reasons"], "title": "EligibilityOut", "type": "object"}, "ShipperDuplicateWarningOut": {"properties": {"field": {"title": "Field", "type": "string"}, "detail": {"title": "Detail", "type": "string"}, "other_id": {"title": "Other Id", "type": "string"}}, "required": ["field", "detail", "other_id"], "title": "ShipperDuplicateWarningOut", "type": "object"}, "ConfigOut": {"properties": {"id": {"title": "Id", "type": "string"}, "key": {"title": "Key", "type": "string"}, "value": {"anyOf": [{"additionalProperties": true, "type": "object"}, {"items": {}, "type": "array"}, {"type": "string"}, {"type": "integer"}, {"type": "number"}, {"type": "boolean"}], "title": "Value"}, "category": {"title": "Category", "type": "string"}, "description": {"title": "Description", "type": "string"}, "is_sensitive": {"title": "Is Sensitive", "type": "boolean"}, "version": {"title": "Version", "type": "integer"}, "updated_by_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Updated By Id"}, "created_at": {"title": "Created At", "type": "string"}, "updated_at": {"title": "Updated At", "type": "string"}}, "required": ["id", "key", "value", "category", "description", "is_sensitive", "version", "updated_by_id", "created_at", "updated_at"], "title": "ConfigOut", "type": "object"}, "ConfigSetIn": {"properties": {"value": {"anyOf": [{"additionalProperties": true, "type": "object"}, {"items": {}, "type": "array"}, {"type": "string"}, {"type": "integer"}, {"type": "number"}, {"type": "boolean"}], "title": "Value"}, "category": {"default": "platform", "enum": ["platform", "carrier_eligibility", "shipper", "execution_mode", "egs", "rfq_import", "pricing", "telegram"], "title": "Category", "type": "string"}, "description": {"default": "", "title": "Description", "type": "string"}, "is_sensitive": {"default": false, "title": "Is Sensitive", "type": "boolean"}}, "required": ["value"], "title": "ConfigSetIn", "type": "object"}, "ToggleOut": {"properties": {"id": {"title": "Id", "type": "string"}, "key": {"title": "Key", "type": "string"}, "title": {"title": "Title", "type": "string"}, "description": {"title": "Description", "type": "string"}, "is_enabled": {"title": "Is Enabled", "type": "boolean"}, "scope": {"title": "Scope", "type": "string"}, "is_killswitch": {"title": "Is Killswitch", "type": "boolean"}, "updated_by_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Updated By Id"}, "created_at": {"title": "Created At", "type": "string"}, "updated_at": {"title": "Updated At", "type": "string"}}, "required": ["id", "key", "title", "description", "is_enabled", "scope", "is_killswitch", "updated_by_id", "created_at", "updated_at"], "title": "ToggleOut", "type": "object"}, "ToggleSetIn": {"properties": {"title": {"default": "", "title": "Title", "type": "string"}, "is_enabled": {"default": false, "title": "Is Enabled", "type": "boolean"}, "scope": {"default": "global", "enum": ["global", "org", "user"], "title": "Scope", "type": "string"}, "is_killswitch": {"default": false, "title": "Is Killswitch", "type": "boolean"}, "description": {"default": "", "title": "Description", "type": "string"}}, "title": "ToggleSetIn", "type": "object"}, "ToggleCheckOut": {"properties": {"key": {"title": "Key", "type": "string"}, "enabled": {"title": "Enabled", "type": "boolean"}}, "required": ["key", "enabled"], "title": "ToggleCheckOut", "type": "object"}, "OwnCompanyOut": {"properties": {"id": {"title": "Id", "type": "string"}, "name": {"title": "Name", "type": "string"}, "legal_name": {"title": "Legal Name", "type": "string"}, "aliases": {"items": {"type": "string"}, "title": "Aliases", "type": "array"}, "zanjeer_company_id": {"title": "Zanjeer Company Id", "type": "string"}, "shipper_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Shipper Id"}, "is_active": {"title": "Is Active", "type": "boolean"}, "sort_order": {"title": "Sort Order", "type": "integer"}, "created_at": {"title": "Created At", "type": "string"}, "updated_at": {"title": "Updated At", "type": "string"}}, "required": ["id", "name", "legal_name", "aliases", "zanjeer_company_id", "shipper_id", "is_active", "sort_order", "created_at", "updated_at"], "title": "OwnCompanyOut", "type": "object"}, "OwnCompanyCreateIn": {"properties": {"name": {"maxLength": 255, "minLength": 1, "title": "Name", "type": "string"}, "zanjeer_company_id": {"maxLength": 100, "minLength": 1, "title": "Zanjeer Company Id", "type": "string"}, "legal_name": {"default": "", "maxLength": 255, "title": "Legal Name", "type": "string"}, "aliases": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "title": "Aliases"}, "shipper_id": {"anyOf": [{"format": "uuid", "type": "string"}, {"type": "null"}], "title": "Shipper Id"}, "sort_order": {"default": 0, "title": "Sort Order", "type": "integer"}}, "required": ["name", "zanjeer_company_id"], "title": "OwnCompanyCreateIn", "type": "object"}, "OwnCompanyUpdateIn": {"properties": {"name": {"anyOf": [{"maxLength": 255, "minLength": 1, "type": "string"}, {"type": "null"}], "title": "Name"}, "legal_name": {"anyOf": [{"maxLength": 255, "type": "string"}, {"type": "null"}], "title": "Legal Name"}, "aliases": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "title": "Aliases"}, "is_active": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Is Active"}, "sort_order": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Sort Order"}, "shipper_id": {"anyOf": [{"format": "uuid", "type": "string"}, {"type": "null"}], "title": "Shipper Id"}}, "title": "OwnCompanyUpdateIn", "type": "object"}, "EventOut": {"properties": {"id": {"title": "Id", "type": "string"}, "event_type": {"title": "Event Type", "type": "string"}, "entity_type": {"title": "Entity Type", "type": "string"}, "entity_id": {"title": "Entity Id", "type": "string"}, "org_id": {"title": "Org Id", "type": "string"}, "execution_mode": {"title": "Execution Mode", "type": "string"}, "source": {"title": "Source", "type": "string"}, "payload": {"additionalProperties": true, "title": "Payload", "type": "object"}, "dimensions": {"additionalProperties": true, "title": "Dimensions", "type": "object"}, "event_at": {"title": "Event At", "type": "string"}, "received_at": {"title": "Received At", "type": "string"}, "dedup_key": {"title": "Dedup Key", "type": "string"}}, "required": ["id", "event_type", "entity_type", "entity_id", "org_id", "execution_mode", "source", "payload", "dimensions", "event_at", "received_at", "dedup_key"], "title": "EventOut", "type": "object"}, "EventIngestIn": {"properties": {"event_type": {"enum": ["rfq_created", "rfq_published", "offer_submitted", "tender_awarded", "booking_created", "trip_assigned", "status_updated", "gps_received", "pod_accepted", "invoice_triggered"], "title": "Event Type", "type": "string"}, "entity_type": {"maxLength": 50, "minLength": 1, "title": "Entity Type", "type": "string"}, "entity_id": {"maxLength": 64, "minLength": 1, "title": "Entity Id", "type": "string"}, "org_id": {"format": "uuid", "title": "Org Id", "type": "string"}, "dedup_key": {"maxLength": 255, "minLength": 1, "title": "Dedup Key", "type": "string"}, "event_at": {"format": "date-time", "title": "Event At", "type": "string"}, "execution_mode": {"default": "unknown", "enum": ["aggregator", "marketplace", "internal_test", "unknown"], "title": "Execution Mode", "type": "string"}, "source": {"default": "system", "title": "Source", "type": "string"}, "payload": {"anyOf": [{"additionalProperties": true, "type": "object"}, {"type": "null"}], "title": "Payload"}, "dimensions": {"anyOf": [{"additionalProperties": true, "type": "object"}, {"type": "null"}], "title": "Dimensions"}}, "required": ["event_type", "entity_type", "entity_id", "org_id", "dedup_key", "event_at"], "title": "EventIngestIn", "type": "object"}, "EventCountOut": {"properties": {"counts": {"additionalProperties": {"type": "integer"}, "title": "Counts", "type": "object"}}, "required": ["counts"], "title": "EventCountOut", "type": "object"}, "KPISnapshotOut": {"properties": {"id": {"title": "Id", "type": "string"}, "kpi_key": {"title": "Kpi Key", "type": "string"}, "org_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Org Id"}, "period": {"title": "Period", "type": "string"}, "period_start": {"title": "Period Start", "type": "string"}, "period_end": {"title": "Period End", "type": "string"}, "value": {"title": "Value", "type": "string"}, "metadata": {"additionalProperties": true, "title": "Metadata", "type": "object"}, "computed_at": {"title": "Computed At", "type": "string"}}, "required": ["id", "kpi_key", "org_id", "period", "period_start", "period_end", "value", "metadata", "computed_at"], "title": "KPISnapshotOut", "type": "object"}, "DashboardOut": {"properties": {"id": {"title": "Id", "type": "string"}, "key": {"title": "Key", "type": "string"}, "title": {"title": "Title", "type": "string"}, "description": {"title": "Description", "type": "string"}, "is_internal": {"title": "Is Internal", "type": "boolean"}, "required_permission": {"title": "Required Permission", "type": "string"}, "config": {"additionalProperties": true, "title": "Config", "type": "object"}, "is_active": {"title": "Is Active", "type": "boolean"}, "sort_order": {"title": "Sort Order", "type": "integer"}, "created_at": {"title": "Created At", "type": "string"}, "updated_at": {"title": "Updated At", "type": "string"}}, "required": ["id", "key", "title", "description", "is_internal", "required_permission", "config", "is_active", "sort_order", "created_at", "updated_at"], "title": "DashboardOut", "type": "object"}, "DashboardIn": {"properties": {"key": {"maxLength": 50, "minLength": 1, "title": "Key", "type": "string"}, "title": {"maxLength": 200, "minLength": 1, "title": "Title", "type": "string"}, "description": {"default": "", "title": "Description", "type": "string"}, "is_internal": {"default": false, "title": "Is Internal", "type": "boolean"}, "required_permission": {"default": "", "title": "Required Permission", "type": "string"}, "config": {"anyOf": [{"additionalProperties": true, "type": "object"}, {"type": "null"}], "title": "Config"}, "sort_order": {"default": 0, "title": "Sort Order", "type": "integer"}}, "required": ["key", "title"], "title": "DashboardIn", "type": "object"}, "DashboardUpdateIn": {"properties": {"title": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Title"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Description"}, "config": {"anyOf": [{"additionalProperties": true, "type": "object"}, {"type": "null"}], "title": "Config"}, "is_active": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Is Active"}, "sort_order": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Sort Order"}}, "title": "DashboardUpdateIn", "type": "object"}, "AuditEventOut": {"properties": {"id": {"title": "Id", "type": "string"}, "entity_type": {"title": "Entity Type", "type": "string"}, "entity_id": {"title": "Entity Id", "type": "string"}, "action": {"title": "Action", "type": "string"}, "actor_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Actor Id"}, "org_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Org Id"}, "diff": {"additionalProperties": true, "title": "Diff", "type": "object"}, "metadata": {"additionalProperties": true, "title": "Metadata", "type": "object"}, "created_at": {"title": "Created At", "type": "string"}}, "required": ["id", "entity_type", "entity_id", "action", "actor_id", "org_id", "diff", "metadata", "created_at"], "title": "AuditEventOut", "type": "object"}, "HoldReasonOut": {"properties": {"id": {"title": "Id", "type": "string"}, "code": {"title": "Code", "type": "string"}, "title": {"title": "Title", "type": "string"}, "description": {"title": "Description", "type": "string"}, "category": {"title": "Category", "type": "string"}, "remediation_text": {"title": "Remediation Text", "type": "string"}, "is_active": {"title": "Is Active", "type": "boolean"}}, "required": ["id", "code", "title", "description", "category", "remediation_text", "is_active"], "title": "HoldReasonOut", "type": "object"}, "HoldReasonCreateIn": {"properties": {"code": {"maxLength": 50, "minLength": 1, "title": "Code", "type": "string"}, "title": {"maxLength": 200, "minLength": 1, "title": "Title", "type": "string"}, "category": {"enum": ["compliance", "fraud", "data_quality", "finance", "operational", "security"], "title": "Category", "type": "string"}, "description": {"default": "", "title": "Description", "type": "string"}, "remediation_text": {"default": "", "title": "Remediation Text", "type": "string"}}, "required": ["code", "title", "category"], "title": "HoldReasonCreateIn", "type": "object"}, "ComplianceHoldOut": {"properties": {"id": {"title": "Id", "type": "string"}, "entity_type": {"title": "Entity Type", "type": "string"}, "entity_id": {"title": "Entity Id", "type": "string"}, "hold_type": {"title": "Hold Type", "type": "string"}, "reason_code": {"title": "Reason Code", "type": "string"}, "severity": {"title": "Severity", "type": "string"}, "notes": {"title": "Notes", "type": "string"}, "is_active": {"title": "Is Active", "type": "boolean"}, "placed_by_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Placed By Id"}, "released_by_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Released By Id"}, "released_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Released At"}, "release_notes": {"title": "Release Notes", "type": "string"}, "created_at": {"title": "Created At", "type": "string"}, "updated_at": {"title": "Updated At", "type": "string"}}, "required": ["id", "entity_type", "entity_id", "hold_type", "reason_code", "severity", "notes", "is_active", "placed_by_id", "released_by_id", "released_at", "release_notes", "created_at", "updated_at"], "title": "ComplianceHoldOut", "type": "object"}, "HoldPlaceIn": {"properties": {"entity_type": {"maxLength": 50, "minLength": 1, "title": "Entity Type", "type": "string"}, "entity_id": {"maxLength": 64, "minLength": 1, "title": "Entity Id", "type": "string"}, "hold_type": {"enum": ["verification", "document", "payment", "incident", "compliance", "admin", "managed_mode", "egs_execution"], "title": "Hold Type", "type": "string"}, "reason_code": {"maxLength": 50, "minLength": 1, "title": "Reason Code", "type": "string"}, "severity": {"default": "medium", "enum": ["low", "medium", "high", "critical"], "title": "Severity", "type": "string"}, "notes": {"default": "", "title": "Notes", "type": "string"}}, "required": ["entity_type", "entity_id", "hold_type", "reason_code"], "title": "HoldPlaceIn", "type": "object"}, "HoldReleaseIn": {"properties": {"release_notes": {"default": "", "title": "Release Notes", "type": "string"}}, "title": "HoldReleaseIn", "type": "object"}, "BlockCheckOut": {"properties": {"blocked": {"title": "Blocked", "type": "boolean"}, "blocking_hold_types": {"items": {"type": "string"}, "title": "Blocking Hold Types", "type": "array"}, "outcome": {"enum": ["allow", "warn", "block", "hold", "require_manual_approval", "managed_mode_only", "suspend_restrict"], "title": "Outcome", "type": "string"}, "rule_id": {"title": "Rule Id", "type": "string"}, "reason_code": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Reason Code"}, "remediation": {"title": "Remediation", "type": "string"}}, "required": ["blocked", "blocking_hold_types", "outcome", "rule_id", "reason_code", "remediation"], "title": "BlockCheckOut", "type": "object"}, "WorkspaceAwardOut": {"properties": {"award_id": {"title": "Award Id", "type": "string"}, "quote_id": {"title": "Quote Id", "type": "string"}, "carrier_id": {"title": "Carrier Id", "type": "string"}, "carrier_name": {"title": "Carrier Name", "type": "string"}, "origin": {"title": "Origin", "type": "string"}, "status": {"title": "Status", "type": "string"}, "reveal_state": {"title": "Reveal State", "type": "string"}}, "required": ["award_id", "quote_id", "carrier_id", "carrier_name", "origin", "status", "reveal_state"], "title": "WorkspaceAwardOut", "type": "object"}, "WorkspaceBidOut": {"properties": {"quote_id": {"title": "Quote Id", "type": "string"}, "carrier_id": {"title": "Carrier Id", "type": "string"}, "carrier_name": {"title": "Carrier Name", "type": "string"}, "price_amount": {"title": "Price Amount", "type": "string"}, "currency": {"title": "Currency", "type": "string"}, "vehicle_type": {"title": "Vehicle Type", "type": "string"}, "availability_datetime": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Availability Datetime"}, "quote_valid_until": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Quote Valid Until"}, "status": {"title": "Status", "type": "string"}, "awardable": {"title": "Awardable", "type": "boolean"}}, "required": ["quote_id", "carrier_id", "carrier_name", "price_amount", "currency", "vehicle_type", "availability_datetime", "quote_valid_until", "status", "awardable"], "title": "WorkspaceBidOut", "type": "object"}, "WorkspaceOut": {"properties": {"rfq": {"$ref": "#/components/schemas/WorkspaceRfqOut"}, "bids": {"items": {"$ref": "#/components/schemas/WorkspaceBidOut"}, "title": "Bids", "type": "array"}, "awards": {"items": {"$ref": "#/components/schemas/WorkspaceAwardOut"}, "title": "Awards", "type": "array"}}, "required": ["rfq", "bids", "awards"], "title": "WorkspaceOut", "type": "object"}, "WorkspaceRfqOut": {"properties": {"id": {"title": "Id", "type": "string"}, "source_rfq_id": {"title": "Source Rfq Id", "type": "string"}, "status": {"title": "Status", "type": "string"}, "truck_count": {"title": "Truck Count", "type": "integer"}, "active_award_count": {"title": "Active Award Count", "type": "integer"}, "slots_remaining": {"title": "Slots Remaining", "type": "integer"}}, "required": ["id", "source_rfq_id", "status", "truck_count", "active_award_count", "slots_remaining"], "title": "WorkspaceRfqOut", "type": "object"}, "AwardOut": {"properties": {"id": {"title": "Id", "type": "string"}, "rfq_id": {"title": "Rfq Id", "type": "string"}, "quote_id": {"title": "Quote Id", "type": "string"}, "carrier_id": {"title": "Carrier Id", "type": "string"}, "carrier_name": {"title": "Carrier Name", "type": "string"}, "origin": {"title": "Origin", "type": "string"}, "status": {"title": "Status", "type": "string"}, "award_reason": {"title": "Award Reason", "type": "string"}, "reveal_state": {"title": "Reveal State", "type": "string"}, "confirmed_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Confirmed At"}, "failure_reason": {"title": "Failure Reason", "type": "string"}, "cancel_reason": {"title": "Cancel Reason", "type": "string"}}, "required": ["id", "rfq_id", "quote_id", "carrier_id", "carrier_name", "origin", "status", "award_reason", "reveal_state", "confirmed_at", "failure_reason", "cancel_reason"], "title": "AwardOut", "type": "object"}, "ManualAwardIn": {"properties": {"quote_id": {"format": "uuid", "title": "Quote Id", "type": "string"}, "award_reason": {"default": "", "title": "Award Reason", "type": "string"}}, "required": ["quote_id"], "title": "ManualAwardIn", "type": "object"}, "ConfirmIn": {"properties": {"vehicle_available": {"title": "Vehicle Available", "type": "boolean"}, "pickup_window_confirmed": {"title": "Pickup Window Confirmed", "type": "boolean"}, "confirmation_note": {"default": "", "title": "Confirmation Note", "type": "string"}}, "required": ["vehicle_available", "pickup_window_confirmed"], "title": "ConfirmIn", "type": "object"}, "BookingFailIn": {"properties": {"failure_reason": {"enum": ["carrier_unavailable", "no_confirmation", "vehicle_unavailable", "other"], "title": "Failure Reason", "type": "string"}}, "required": ["failure_reason"], "title": "BookingFailIn", "type": "object"}, "BookingCancelIn": {"properties": {"cancel_reason": {"enum": ["reaward", "operator_void", "shipper_cancelled", "other"], "title": "Cancel Reason", "type": "string"}}, "required": ["cancel_reason"], "title": "BookingCancelIn", "type": "object"}, "RevokeRevealIn": {"properties": {"revoke_reason": {"enum": ["dispute", "cancelled", "security", "other"], "title": "Revoke Reason", "type": "string"}}, "required": ["revoke_reason"], "title": "RevokeRevealIn", "type": "object"}, "FeedOut": {"properties": {"loads": {"items": {"additionalProperties": true, "type": "object"}, "title": "Loads", "type": "array"}, "total": {"title": "Total", "type": "integer"}, "offset": {"title": "Offset", "type": "integer"}, "limit": {"title": "Limit", "type": "integer"}}, "required": ["loads", "total", "offset", "limit"], "title": "FeedOut", "type": "object"}, "ReadinessOut": {"properties": {"ready": {"title": "Ready", "type": "boolean"}, "missing": {"items": {"type": "string"}, "title": "Missing", "type": "array"}, "blocking_holds": {"items": {"type": "string"}, "title": "Blocking Holds", "type": "array"}, "reason": {"title": "Reason", "type": "string"}}, "required": ["ready", "missing", "blocking_holds", "reason"], "title": "ReadinessOut", "type": "object"}, "PublicationOut": {"properties": {"id": {"title": "Id", "type": "string"}, "rfq_id": {"title": "Rfq Id", "type": "string"}, "publication_type": {"title": "Publication Type", "type": "string"}, "status": {"title": "Status", "type": "string"}, "expires_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Expires At"}, "current_wave": {"default": 0, "title": "Current Wave", "type": "integer"}}, "required": ["id", "rfq_id", "publication_type", "status"], "title": "PublicationOut", "type": "object"}, "PublishIn": {"properties": {"publication_type": {"default": "controlled_pool", "enum": ["dark", "private", "controlled_pool"], "title": "Publication Type", "type": "string"}}, "title": "PublishIn", "type": "object"}, "PauseIn": {"properties": {"reason_code": {"enum": ["cargo_changed", "leakage_risk", "operational", "other"], "title": "Reason Code", "type": "string"}, "reason_note": {"default": "", "title": "Reason Note", "type": "string"}}, "required": ["reason_code"], "title": "PauseIn", "type": "object"}, "WithdrawIn": {"properties": {"reason_code": {"enum": ["cancelled", "expired", "duplicate", "leakage_risk", "operational", "other"], "title": "Reason Code", "type": "string"}, "reason_note": {"default": "", "title": "Reason Note", "type": "string"}}, "required": ["reason_code"], "title": "WithdrawIn", "type": "object"}, "InviteOut": {"properties": {"id": {"title": "Id", "type": "string"}, "publication_id": {"title": "Publication Id", "type": "string"}, "carrier_id": {"title": "Carrier Id", "type": "string"}, "is_active": {"title": "Is Active", "type": "boolean"}}, "required": ["id", "publication_id", "carrier_id", "is_active"], "title": "InviteOut", "type": "object"}, "InviteIn": {"properties": {"carrier_id": {"format": "uuid", "title": "Carrier Id", "type": "string"}}, "required": ["carrier_id"], "title": "InviteIn", "type": "object"}, "AutoSuggestOut": {"properties": {"publication_id": {"title": "Publication Id", "type": "string"}, "candidates": {"items": {"additionalProperties": true, "type": "object"}, "title": "Candidates", "type": "array"}, "no_match": {"title": "No Match", "type": "boolean"}, "breakdown": {"additionalProperties": true, "title": "Breakdown", "type": "object"}}, "required": ["publication_id", "candidates", "no_match", "breakdown"], "title": "AutoSuggestOut", "type": "object"}, "AutoSuggestIn": {"properties": {"limit": {"default": 30, "title": "Limit", "type": "integer"}}, "title": "AutoSuggestIn", "type": "object"}, "SearchOut": {"properties": {"carriers": {"items": {"additionalProperties": true, "type": "object"}, "title": "Carriers", "type": "array"}, "count": {"title": "Count", "type": "integer"}, "offset": {"title": "Offset", "type": "integer"}, "limit": {"title": "Limit", "type": "integer"}}, "required": ["carriers", "count", "offset", "limit"], "title": "SearchOut", "type": "object"}, "SearchIn": {"properties": {"term": {"default": "", "title": "Term", "type": "string"}, "status": {"default": "", "title": "Status", "type": "string"}, "truck_type": {"default": "", "title": "Truck Type", "type": "string"}, "offset": {"default": 0, "title": "Offset", "type": "integer"}, "limit": {"default": 50, "title": "Limit", "type": "integer"}}, "title": "SearchIn", "type": "object"}, "ShortlistOut": {"properties": {"id": {"title": "Id", "type": "string"}, "publication_id": {"title": "Publication Id", "type": "string"}, "status": {"title": "Status", "type": "string"}, "version": {"title": "Version", "type": "integer"}, "is_stale": {"title": "Is Stale", "type": "boolean"}, "stale_reason": {"default": "", "title": "Stale Reason", "type": "string"}}, "required": ["id", "publication_id", "status", "version", "is_stale"], "title": "ShortlistOut", "type": "object"}, "ShortlistDetailOut": {"properties": {"shortlist": {"$ref": "#/components/schemas/ShortlistOut"}, "entries": {"items": {"additionalProperties": true, "type": "object"}, "title": "Entries", "type": "array"}}, "required": ["shortlist", "entries"], "title": "ShortlistDetailOut", "type": "object"}, "EntryOut": {"properties": {"carrier_id": {"title": "Carrier Id", "type": "string"}, "reason_code": {"title": "Reason Code", "type": "string"}, "added_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Added At"}, "removed_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Removed At"}, "is_active": {"title": "Is Active", "type": "boolean"}}, "required": ["carrier_id", "reason_code", "is_active"], "title": "EntryOut", "type": "object"}, "BlockedOut": {"description": "400 body for an ineligible add without override (F15) - carries the M09 reason codes.", "properties": {"detail": {"title": "Detail", "type": "string"}, "code": {"default": "", "title": "Code", "type": "string"}, "reasons": {"default": [], "items": {"type": "string"}, "title": "Reasons", "type": "array"}}, "required": ["detail"], "title": "BlockedOut", "type": "object"}, "AddEntryIn": {"properties": {"carrier_id": {"format": "uuid", "title": "Carrier Id", "type": "string"}, "reason_code": {"default": "manual_add", "enum": ["route_fit", "truck_fit", "availability", "manual_add"], "title": "Reason Code", "type": "string"}, "expected_version": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Expected Version"}, "allow_override": {"default": false, "title": "Allow Override", "type": "boolean"}, "override_reason": {"default": "", "title": "Override Reason", "type": "string"}}, "required": ["carrier_id"], "title": "AddEntryIn", "type": "object"}, "RemoveEntryIn": {"properties": {"removal_reason": {"title": "Removal Reason", "type": "string"}}, "required": ["removal_reason"], "title": "RemoveEntryIn", "type": "object"}, "LockIn": {"properties": {"expected_version": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Expected Version"}}, "title": "LockIn", "type": "object"}, "SendOut": {"properties": {"shortlist_version": {"title": "Shortlist Version", "type": "integer"}, "survivors": {"items": {"type": "string"}, "title": "Survivors", "type": "array"}, "dropped": {"items": {"additionalProperties": true, "type": "object"}, "title": "Dropped", "type": "array"}, "low_depth": {"title": "Low Depth", "type": "boolean"}, "over_max": {"title": "Over Max", "type": "boolean"}}, "required": ["shortlist_version", "survivors", "dropped", "low_depth", "over_max"], "title": "SendOut", "type": "object"}, "RevalidateOut": {"properties": {"shortlist": {"$ref": "#/components/schemas/ShortlistOut"}, "removed": {"items": {"additionalProperties": true, "type": "object"}, "title": "Removed", "type": "array"}}, "required": ["shortlist", "removed"], "title": "RevalidateOut", "type": "object"}, "OrderOut": {"description": "INTERNAL ops order projection: carrier identity + frozen price + owner are visible (gated on\n``order.manage``, never the externally-held ``order.view``). Money is a string, never a float.", "properties": {"id": {"title": "Id", "type": "string"}, "status": {"title": "Status", "type": "string"}, "award_id": {"title": "Award Id", "type": "string"}, "rfq_id": {"title": "Rfq Id", "type": "string"}, "carrier_id": {"title": "Carrier Id", "type": "string"}, "execution_mode": {"title": "Execution Mode", "type": "string"}, "handoff_state": {"title": "Handoff State", "type": "string"}, "frozen_price_amount": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Frozen Price Amount"}, "frozen_currency": {"default": "", "title": "Frozen Currency", "type": "string"}, "owner_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Owner Id"}, "override_applied": {"title": "Override Applied", "type": "boolean"}, "released_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Released At"}, "cancel_reason": {"default": "", "title": "Cancel Reason", "type": "string"}, "failure_reason": {"default": "", "title": "Failure Reason", "type": "string"}, "created_at": {"title": "Created At", "type": "string"}}, "required": ["id", "status", "award_id", "rfq_id", "carrier_id", "execution_mode", "handoff_state", "override_applied", "created_at"], "title": "OrderOut", "type": "object"}, "ReleaseBlockedOut": {"description": "400 body for a blocked F15 release - the reason-code buckets (never leaked values). ``critical``\nis never overridable; ``overridable`` clears with an OD-03 ``order.override`` + reason.", "properties": {"detail": {"title": "Detail", "type": "string"}, "code": {"default": "", "title": "Code", "type": "string"}, "critical": {"default": [], "items": {"type": "string"}, "title": "Critical", "type": "array"}, "overridable": {"default": [], "items": {"type": "string"}, "title": "Overridable", "type": "array"}}, "required": ["detail"], "title": "ReleaseBlockedOut", "type": "object"}, "ReleaseIn": {"properties": {"override_reason": {"default": "", "title": "Override Reason", "type": "string"}}, "title": "ReleaseIn", "type": "object"}, "OrderCancelIn": {"properties": {"cancel_reason": {"enum": ["shipper_cancelled", "operator_void", "duplicate", "other"], "title": "Cancel Reason", "type": "string"}}, "required": ["cancel_reason"], "title": "OrderCancelIn", "type": "object"}, "OrderFailIn": {"properties": {"failure_reason": {"enum": ["handoff_failed", "incomplete_data", "carrier_withdrew", "other"], "title": "Failure Reason", "type": "string"}}, "required": ["failure_reason"], "title": "OrderFailIn", "type": "object"}, "HandoffFailIn": {"properties": {"reason": {"title": "Reason", "type": "string"}}, "required": ["reason"], "title": "HandoffFailIn", "type": "object"}, "ReplaceCarrierIn": {"properties": {"carrier_id": {"format": "uuid", "title": "Carrier Id", "type": "string"}, "reason": {"title": "Reason", "type": "string"}}, "required": ["carrier_id", "reason"], "title": "ReplaceCarrierIn", "type": "object"}, "OrderDetailOut": {"description": "Detail folds in the transient F04 completeness (``compute_completeness``); never stored.", "properties": {"id": {"title": "Id", "type": "string"}, "status": {"title": "Status", "type": "string"}, "award_id": {"title": "Award Id", "type": "string"}, "rfq_id": {"title": "Rfq Id", "type": "string"}, "carrier_id": {"title": "Carrier Id", "type": "string"}, "execution_mode": {"title": "Execution Mode", "type": "string"}, "handoff_state": {"title": "Handoff State", "type": "string"}, "frozen_price_amount": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Frozen Price Amount"}, "frozen_currency": {"default": "", "title": "Frozen Currency", "type": "string"}, "owner_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Owner Id"}, "override_applied": {"title": "Override Applied", "type": "boolean"}, "released_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Released At"}, "cancel_reason": {"default": "", "title": "Cancel Reason", "type": "string"}, "failure_reason": {"default": "", "title": "Failure Reason", "type": "string"}, "created_at": {"title": "Created At", "type": "string"}, "missing": {"default": [], "items": {"type": "string"}, "title": "Missing", "type": "array"}, "data_complete": {"default": true, "title": "Data Complete", "type": "boolean"}}, "required": ["id", "status", "award_id", "rfq_id", "carrier_id", "execution_mode", "handoff_state", "override_applied", "created_at"], "title": "OrderDetailOut", "type": "object"}, "OrderListOut": {"properties": {"orders": {"items": {"$ref": "#/components/schemas/OrderOut"}, "title": "Orders", "type": "array"}, "count": {"title": "Count", "type": "integer"}, "offset": {"title": "Offset", "type": "integer"}, "limit": {"title": "Limit", "type": "integer"}}, "required": ["orders", "count", "offset", "limit"], "title": "OrderListOut", "type": "object"}, "MaskingLeakOut": {"description": "409 body for a customer-view leak (FN-019) - the whole view is withheld; only category COUNTS\nare surfaced, never a matched term/value.", "properties": {"detail": {"title": "Detail", "type": "string"}, "code": {"default": "", "title": "Code", "type": "string"}, "categories": {"additionalProperties": {"type": "integer"}, "default": {}, "title": "Categories", "type": "object"}}, "required": ["detail"], "title": "MaskingLeakOut", "type": "object"}, "CaseOut": {"description": "INTERNAL ops dispatch-case projection: carrier identity, driver phone, vehicle plate, and\nexecution contacts are visible (gated on ``dispatch.manage``, never the carrier-held\n``dispatch.view``). Wide by design - DispatchCase is a fat aggregate, so every setter's effect is\nobservable in its response. ``override_reason`` free text is deliberately omitted (only\n``override_applied`` is surfaced; the reason lives in the audit).", "properties": {"id": {"title": "Id", "type": "string"}, "status": {"title": "Status", "type": "string"}, "order_id": {"title": "Order Id", "type": "string"}, "rfq_id": {"title": "Rfq Id", "type": "string"}, "carrier_id": {"title": "Carrier Id", "type": "string"}, "execution_mode": {"title": "Execution Mode", "type": "string"}, "owner_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Owner Id"}, "carrier_confirm_state": {"title": "Carrier Confirm State", "type": "string"}, "carrier_confirm_evidence": {"title": "Carrier Confirm Evidence", "type": "string"}, "carrier_confirmed_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Carrier Confirmed At"}, "vehicle_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Vehicle Id"}, "vehicle_plate": {"title": "Vehicle Plate", "type": "string"}, "vehicle_type": {"title": "Vehicle Type", "type": "string"}, "vehicle_capacity": {"title": "Vehicle Capacity", "type": "string"}, "vehicle_owner_ref": {"title": "Vehicle Owner Ref", "type": "string"}, "vehicle_verification": {"title": "Vehicle Verification", "type": "string"}, "driver_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Driver Id"}, "driver_name": {"title": "Driver Name", "type": "string"}, "driver_phone": {"title": "Driver Phone", "type": "string"}, "driver_verification": {"title": "Driver Verification", "type": "string"}, "driver_acceptance_state": {"title": "Driver Acceptance State", "type": "string"}, "driver_contact_channel": {"title": "Driver Contact Channel", "type": "string"}, "trailer_plate": {"title": "Trailer Plate", "type": "string"}, "trailer_type": {"title": "Trailer Type", "type": "string"}, "pickup_city": {"title": "Pickup City", "type": "string"}, "pickup_region": {"title": "Pickup Region", "type": "string"}, "pickup_country": {"title": "Pickup Country", "type": "string"}, "pickup_window_start": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Pickup Window Start"}, "pickup_window_end": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Pickup Window End"}, "pickup_contact_name": {"title": "Pickup Contact Name", "type": "string"}, "pickup_contact_phone": {"title": "Pickup Contact Phone", "type": "string"}, "pickup_instructions": {"title": "Pickup Instructions", "type": "string"}, "pickup_arrival_note": {"title": "Pickup Arrival Note", "type": "string"}, "delivery_city": {"title": "Delivery City", "type": "string"}, "delivery_region": {"title": "Delivery Region", "type": "string"}, "delivery_country": {"title": "Delivery Country", "type": "string"}, "delivery_window_start": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Delivery Window Start"}, "delivery_window_end": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Delivery Window End"}, "delivery_eta": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Delivery Eta"}, "delivery_contact_name": {"title": "Delivery Contact Name", "type": "string"}, "delivery_contact_phone": {"title": "Delivery Contact Phone", "type": "string"}, "delivery_instructions": {"title": "Delivery Instructions", "type": "string"}, "delivery_unloading_note": {"title": "Delivery Unloading Note", "type": "string"}, "route_corridor": {"title": "Route Corridor", "type": "string"}, "transit_countries": {"default": [], "items": {"type": "string"}, "title": "Transit Countries", "type": "array"}, "route_note": {"title": "Route Note", "type": "string"}, "tracking_method": {"title": "Tracking Method", "type": "string"}, "tracking_owner_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Tracking Owner Id"}, "tracking_owner_ref": {"title": "Tracking Owner Ref", "type": "string"}, "tracking_interval": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Tracking Interval"}, "doc_readiness": {"additionalProperties": true, "default": {}, "title": "Doc Readiness", "type": "object"}, "override_applied": {"title": "Override Applied", "type": "boolean"}, "released_to_m15_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Released To M15 At"}, "cancel_reason": {"title": "Cancel Reason", "type": "string"}, "failure_reason": {"title": "Failure Reason", "type": "string"}, "closed_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Closed At"}, "created_at": {"title": "Created At", "type": "string"}}, "required": ["id", "status", "order_id", "rfq_id", "carrier_id", "execution_mode", "carrier_confirm_state", "carrier_confirm_evidence", "vehicle_plate", "vehicle_type", "vehicle_capacity", "vehicle_owner_ref", "vehicle_verification", "driver_name", "driver_phone", "driver_verification", "driver_acceptance_state", "driver_contact_channel", "trailer_plate", "trailer_type", "pickup_city", "pickup_region", "pickup_country", "pickup_contact_name", "pickup_contact_phone", "pickup_instructions", "pickup_arrival_note", "delivery_city", "delivery_region", "delivery_country", "delivery_contact_name", "delivery_contact_phone", "delivery_instructions", "delivery_unloading_note", "route_corridor", "route_note", "tracking_method", "tracking_owner_ref", "override_applied", "cancel_reason", "failure_reason", "created_at"], "title": "CaseOut", "type": "object"}, "NotReadyOut": {"description": "400 body for a blocked FN-017 readiness gate - the reason-code buckets (never leaked values).\n``critical`` is never overridable; ``overridable`` clears with a ``dispatch.override`` + reason.", "properties": {"detail": {"title": "Detail", "type": "string"}, "code": {"default": "", "title": "Code", "type": "string"}, "critical": {"default": [], "items": {"type": "string"}, "title": "Critical", "type": "array"}, "overridable": {"default": [], "items": {"type": "string"}, "title": "Overridable", "type": "array"}}, "required": ["detail"], "title": "NotReadyOut", "type": "object"}, "MarkReadyIn": {"properties": {"override_reason": {"default": "", "title": "Override Reason", "type": "string"}}, "title": "MarkReadyIn", "type": "object"}, "ConfirmCarrierIn": {"properties": {"state": {"enum": ["pending", "accepted", "rejected", "change_requested", "expired"], "title": "State", "type": "string"}, "evidence": {"default": "", "title": "Evidence", "type": "string"}}, "required": ["state"], "title": "ConfirmCarrierIn", "type": "object"}, "PickupPlanIn": {"properties": {"window_start": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Window Start"}, "window_end": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Window End"}, "contact_name": {"default": "", "maxLength": 128, "title": "Contact Name", "type": "string"}, "contact_phone": {"default": "", "maxLength": 32, "title": "Contact Phone", "type": "string"}, "instructions": {"default": "", "title": "Instructions", "type": "string"}, "arrival_note": {"default": "", "title": "Arrival Note", "type": "string"}}, "title": "PickupPlanIn", "type": "object"}, "DeliveryPlanIn": {"properties": {"window_start": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Window Start"}, "window_end": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Window End"}, "eta": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Eta"}, "contact_name": {"default": "", "maxLength": 128, "title": "Contact Name", "type": "string"}, "contact_phone": {"default": "", "maxLength": 32, "title": "Contact Phone", "type": "string"}, "instructions": {"default": "", "title": "Instructions", "type": "string"}, "unloading_note": {"default": "", "title": "Unloading Note", "type": "string"}}, "title": "DeliveryPlanIn", "type": "object"}, "TrackingIn": {"properties": {"method": {"enum": ["app_gps", "driver_manual", "carrier_dispatcher", "internal_manual"], "title": "Method", "type": "string"}, "tracking_owner_id": {"anyOf": [{"format": "uuid", "type": "string"}, {"type": "null"}], "title": "Tracking Owner Id"}, "owner_ref": {"default": "", "maxLength": 128, "title": "Owner Ref", "type": "string"}, "interval": {"anyOf": [{"maximum": 2147483647, "minimum": 0, "type": "integer"}, {"type": "null"}], "title": "Interval"}}, "required": ["method"], "title": "TrackingIn", "type": "object"}, "DocReadinessIn": {"properties": {"flags": {"additionalProperties": {"type": "boolean"}, "default": {}, "title": "Flags", "type": "object"}}, "title": "DocReadinessIn", "type": "object"}, "ReplaceVehicleIn": {"properties": {"vehicle_id": {"anyOf": [{"format": "uuid", "type": "string"}, {"type": "null"}], "title": "Vehicle Id"}, "plate": {"default": "", "maxLength": 32, "title": "Plate", "type": "string"}, "vehicle_type": {"default": "", "maxLength": 20, "title": "Vehicle Type", "type": "string"}, "verification": {"anyOf": [{"enum": ["basic", "verified"], "type": "string"}, {"const": "", "type": "string"}], "default": "", "title": "Verification"}, "reason": {"title": "Reason", "type": "string"}}, "required": ["reason"], "title": "ReplaceVehicleIn", "type": "object"}, "ReplaceDriverIn": {"properties": {"driver_id": {"anyOf": [{"format": "uuid", "type": "string"}, {"type": "null"}], "title": "Driver Id"}, "name": {"default": "", "maxLength": 128, "title": "Name", "type": "string"}, "phone": {"default": "", "maxLength": 32, "title": "Phone", "type": "string"}, "verification": {"anyOf": [{"enum": ["basic", "verified"], "type": "string"}, {"const": "", "type": "string"}], "default": "", "title": "Verification"}, "reason": {"title": "Reason", "type": "string"}}, "required": ["reason"], "title": "ReplaceDriverIn", "type": "object"}, "ReplaceTrailerIn": {"properties": {"plate": {"default": "", "maxLength": 32, "title": "Plate", "type": "string"}, "trailer_type": {"default": "", "maxLength": 20, "title": "Trailer Type", "type": "string"}, "reason": {"title": "Reason", "type": "string"}}, "required": ["reason"], "title": "ReplaceTrailerIn", "type": "object"}, "DispatchHoldOut": {"properties": {"id": {"title": "Id", "type": "string"}, "dispatch_case_id": {"title": "Dispatch Case Id", "type": "string"}, "reason_code": {"title": "Reason Code", "type": "string"}, "severity": {"title": "Severity", "type": "string"}, "is_overridable": {"title": "Is Overridable", "type": "boolean"}, "detail": {"title": "Detail", "type": "string"}, "owner_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Owner Id"}, "released_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Released At"}, "released_by_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Released By Id"}, "created_at": {"title": "Created At", "type": "string"}}, "required": ["id", "dispatch_case_id", "reason_code", "severity", "is_overridable", "detail", "created_at"], "title": "DispatchHoldOut", "type": "object"}, "AddHoldIn": {"properties": {"reason_code": {"maxLength": 64, "title": "Reason Code", "type": "string"}, "severity": {"default": "blocking", "enum": ["blocking", "warning"], "title": "Severity", "type": "string"}, "is_overridable": {"default": false, "title": "Is Overridable", "type": "boolean"}, "detail": {"default": "", "title": "Detail", "type": "string"}, "owner_id": {"anyOf": [{"format": "uuid", "type": "string"}, {"type": "null"}], "title": "Owner Id"}}, "required": ["reason_code"], "title": "AddHoldIn", "type": "object"}, "DispatchCancelIn": {"properties": {"cancel_reason": {"enum": ["carrier_failed", "shipper_cancelled", "operator_void", "reassignment_required", "other"], "title": "Cancel Reason", "type": "string"}}, "required": ["cancel_reason"], "title": "DispatchCancelIn", "type": "object"}, "DispatchFailIn": {"properties": {"failure_reason": {"enum": ["no_carrier", "no_vehicle", "no_driver", "incomplete_data", "other"], "title": "Failure Reason", "type": "string"}}, "required": ["failure_reason"], "title": "DispatchFailIn", "type": "object"}, "CaseListOut": {"properties": {"cases": {"items": {"$ref": "#/components/schemas/CaseOut"}, "title": "Cases", "type": "array"}, "count": {"title": "Count", "type": "integer"}, "offset": {"title": "Offset", "type": "integer"}, "limit": {"title": "Limit", "type": "integer"}}, "required": ["cases", "count", "offset", "limit"], "title": "CaseListOut", "type": "object"}, "CarrierTripListOut": {"properties": {"trips": {"items": {"$ref": "#/components/schemas/CarrierTripOut"}, "title": "Trips", "type": "array"}, "count": {"title": "Count", "type": "integer"}, "offset": {"title": "Offset", "type": "integer"}, "limit": {"title": "Limit", "type": "integer"}}, "required": ["trips", "count", "offset", "limit"], "title": "CarrierTripListOut", "type": "object"}, "CarrierTripOut": {"description": "Carrier-facing F11 projection. The EGS backbone is STRUCTURALLY ABSENT (no execution_mode, no\nowner/carrier/lineage refs, no override triplet, no operator-typed free text, no tracking_confidence,\nno raw coordinates). Kept key-for-key in lockstep with ``build_carrier_trip_view``, whose frozen key\nset PR2d pinned - a parity test asserts equality, so a new field cannot reach a carrier silently.", "properties": {"trip_id": {"title": "Trip Id", "type": "string"}, "dispatch_case_id": {"title": "Dispatch Case Id", "type": "string"}, "status": {"title": "Status", "type": "string"}, "next_action": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Next Action"}, "driver_confirm_state": {"title": "Driver Confirm State", "type": "string"}, "driver_confirmed_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Driver Confirmed At"}, "tracking_method": {"title": "Tracking Method", "type": "string"}, "gps_permission": {"title": "Gps Permission", "type": "string"}, "gps_stale": {"title": "Gps Stale", "type": "boolean"}, "last_gps_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Last Gps At"}, "manual_update_required": {"title": "Manual Update Required", "type": "boolean"}, "delivered_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Delivered At"}, "pod_state": {"title": "Pod State", "type": "string"}, "manual_eta": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Manual Eta"}, "cargo_description": {"title": "Cargo Description", "type": "string"}, "cargo_category": {"title": "Cargo Category", "type": "string"}}, "required": ["trip_id", "dispatch_case_id", "status", "driver_confirm_state", "tracking_method", "gps_permission", "gps_stale", "manual_update_required", "pod_state", "cargo_description", "cargo_category"], "title": "CarrierTripOut", "type": "object"}, "CarrierSignalOut": {"description": "Carrier-facing F09 signal receipt - a deliberate narrowing of ``SignalOut``. Omits ``is_override``\nand ``detail``: the latter is an internal telemetry channel (GPS_STATUS_CONFLICT records the fix-to-fence\ndistance, a geofence-anchor oracle) and echoing it across the security split would defeat the prefix\ndesign. ``reason`` is omitted too - the carrier supplied it.", "properties": {"signal_id": {"title": "Signal Id", "type": "string"}, "trip_id": {"title": "Trip Id", "type": "string"}, "signal": {"title": "Signal", "type": "string"}, "severity": {"title": "Severity", "type": "string"}, "occurred_at": {"title": "Occurred At", "type": "string"}}, "required": ["signal_id", "trip_id", "signal", "severity", "occurred_at"], "title": "CarrierSignalOut", "type": "object"}, "SignalIn": {"properties": {"signal": {"enum": ["no_gps", "status_overdue", "driver_unreachable", "gps_status_conflict", "delivery_blocked"], "title": "Signal", "type": "string"}, "severity": {"default": "warning", "enum": ["info", "warning"], "title": "Severity", "type": "string"}, "reason": {"default": "", "title": "Reason", "type": "string"}}, "required": ["signal"], "title": "SignalIn", "type": "object"}, "CarrierConfirmDriverIn": {"description": "D7: a carrier dispatcher confirms AS THEMSELVES. ``on_behalf`` is deliberately not exposed - the\non-behalf-of-driver path is the internal operator's manual workaround (spec:56).", "properties": {"reason": {"default": "", "title": "Reason", "type": "string"}}, "title": "CarrierConfirmDriverIn", "type": "object"}, "CarrierAdvanceIn": {"description": "D7: the override path is internal-only, so the carrier body carries no ``override_reason`` at all.", "properties": {"to_status": {"enum": ["en_route_pickup", "arrived_pickup", "loaded", "in_transit", "arrived_delivery", "delivered"], "title": "To Status", "type": "string"}, "reason": {"default": "", "title": "Reason", "type": "string"}}, "required": ["to_status"], "title": "CarrierAdvanceIn", "type": "object"}, "PingOut": {"description": "GPS ping receipt. ``record_gps_ping`` returns a MODEL, so this is a hand-built allowlist, not a\nprojection parity. The (namespaced) ``dedup_key`` is deliberately not echoed - the client would get back\na key it did not send.", "properties": {"ping_id": {"title": "Ping Id", "type": "string"}, "trip_id": {"title": "Trip Id", "type": "string"}, "lat": {"title": "Lat", "type": "string"}, "lng": {"title": "Lng", "type": "string"}, "recorded_at": {"title": "Recorded At", "type": "string"}, "accuracy_m": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Accuracy M"}}, "required": ["ping_id", "trip_id", "lat", "lng", "recorded_at"], "title": "PingOut", "type": "object"}, "GpsPingIn": {"properties": {"lat": {"anyOf": [{"maximum": 90.0, "minimum": -90.0, "type": "number"}, {"pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$", "type": "string"}], "title": "Lat"}, "lng": {"anyOf": [{"maximum": 180.0, "minimum": -180.0, "type": "number"}, {"pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$", "type": "string"}], "title": "Lng"}, "recorded_at": {"format": "date-time", "title": "Recorded At", "type": "string"}, "dedup_key": {"maxLength": 200, "minLength": 1, "title": "Dedup Key", "type": "string"}, "accuracy_m": {"anyOf": [{"maximum": 2147483647, "minimum": 0, "type": "integer"}, {"type": "null"}], "title": "Accuracy M"}}, "required": ["lat", "lng", "recorded_at", "dedup_key"], "title": "GpsPingIn", "type": "object"}, "GpsPermissionOut": {"description": "F03 permission receipt. Never the F10 view - a ``tracking.update`` holder must not receive the\ninternal backbone.", "properties": {"trip_id": {"title": "Trip Id", "type": "string"}, "gps_permission": {"title": "Gps Permission", "type": "string"}}, "required": ["trip_id", "gps_permission"], "title": "GpsPermissionOut", "type": "object"}, "GpsPermissionIn": {"properties": {"permission": {"enum": ["unknown", "granted", "denied"], "title": "Permission", "type": "string"}}, "required": ["permission"], "title": "GpsPermissionIn", "type": "object"}, "ControlTowerOut": {"description": "INTERNAL F10 control-tower projection: execution_mode, owner, carrier, raw coordinates, the override\ntriplet and the confidence label are all visible. Gated on ``execution.manage``, NEVER on the\ncarrier-held ``execution.view`` - this surface runs no masking re-scan, so its entire protection is\nauthorization. Kept key-for-key in lockstep with ``build_control_tower_view`` (a parity test asserts\nequality).", "properties": {"trip_id": {"title": "Trip Id", "type": "string"}, "dispatch_case_id": {"title": "Dispatch Case Id", "type": "string"}, "order_id": {"title": "Order Id", "type": "string"}, "rfq_id": {"title": "Rfq Id", "type": "string"}, "carrier_id": {"title": "Carrier Id", "type": "string"}, "execution_mode": {"title": "Execution Mode", "type": "string"}, "owner_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Owner Id"}, "status": {"title": "Status", "type": "string"}, "created_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Created At"}, "driver_confirm_state": {"title": "Driver Confirm State", "type": "string"}, "driver_confirmed_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Driver Confirmed At"}, "driver_confirm_on_behalf": {"title": "Driver Confirm On Behalf", "type": "boolean"}, "driver_confirm_reason": {"title": "Driver Confirm Reason", "type": "string"}, "tracking_method": {"title": "Tracking Method", "type": "string"}, "tracking_interval": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Tracking Interval"}, "gps_permission": {"title": "Gps Permission", "type": "string"}, "last_lat": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Last Lat"}, "last_lng": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Last Lng"}, "last_gps_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Last Gps At"}, "gps_stale": {"title": "Gps Stale", "type": "boolean"}, "tracking_confidence": {"title": "Tracking Confidence", "type": "string"}, "manual_update_required": {"title": "Manual Update Required", "type": "boolean"}, "manual_eta": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Manual Eta"}, "manual_eta_source": {"title": "Manual Eta Source", "type": "string"}, "manual_eta_set_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Manual Eta Set At"}, "delivered_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Delivered At"}, "pod_state": {"title": "Pod State", "type": "string"}, "pod_received_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Pod Received At"}, "closure_ready": {"title": "Closure Ready", "type": "boolean"}, "override_applied": {"title": "Override Applied", "type": "boolean"}, "override_reason": {"title": "Override Reason", "type": "string"}, "cancel_reason": {"title": "Cancel Reason", "type": "string"}, "failure_reason": {"title": "Failure Reason", "type": "string"}, "closed_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Closed At"}, "open_signals": {"default": [], "items": {"$ref": "#/components/schemas/SignalSummaryOut"}, "title": "Open Signals", "type": "array"}}, "required": ["trip_id", "dispatch_case_id", "order_id", "rfq_id", "carrier_id", "execution_mode", "status", "driver_confirm_state", "driver_confirm_on_behalf", "driver_confirm_reason", "tracking_method", "gps_permission", "gps_stale", "tracking_confidence", "manual_update_required", "manual_eta_source", "pod_state", "closure_ready", "override_applied", "override_reason", "cancel_reason", "failure_reason"], "title": "ControlTowerOut", "type": "object"}, "SignalSummaryOut": {"description": "One open F09 signal as F10 projects it. Internal: carries the raw severity and the operator reason.", "properties": {"signal": {"title": "Signal", "type": "string"}, "severity": {"title": "Severity", "type": "string"}, "reason": {"title": "Reason", "type": "string"}, "occurred_at": {"title": "Occurred At", "type": "string"}}, "required": ["signal", "severity", "reason", "occurred_at"], "title": "SignalSummaryOut", "type": "object"}, "ConfirmDriverIn": {"properties": {"on_behalf": {"default": false, "title": "On Behalf", "type": "boolean"}, "reason": {"default": "", "title": "Reason", "type": "string"}}, "title": "ConfirmDriverIn", "type": "object"}, "AdvanceIn": {"properties": {"to_status": {"enum": ["en_route_pickup", "arrived_pickup", "loaded", "in_transit", "arrived_delivery", "delivered"], "title": "To Status", "type": "string"}, "reason": {"default": "", "title": "Reason", "type": "string"}, "override_reason": {"default": "", "title": "Override Reason", "type": "string"}}, "required": ["to_status"], "title": "AdvanceIn", "type": "object"}, "TripCancelIn": {"description": "``TripCancelIn``, not ``CancelIn``: django-ninja names OpenAPI components after the class, so a bare\n``CancelIn`` would $ref the SAME component as the other apps' cancel bodies and silently overwrite their\ndocumented ``cancel_reason`` enum with this one (the frontend generates its types from that file). The\napp prefix is now the repo-wide convention for such names - see ``BookingCancelIn``/``DispatchCancelIn``/\n``OrderCancelIn`` and the guard in ``tests/test_openapi_components.py``.", "properties": {"cancel_reason": {"enum": ["shipper_cancelled", "operator_void", "carrier_failed", "other"], "title": "Cancel Reason", "type": "string"}, "reason": {"default": "", "title": "Reason", "type": "string"}}, "required": ["cancel_reason"], "title": "TripCancelIn", "type": "object"}, "TripFailIn": {"description": "``TripFailIn``, not ``FailIn`` - same component-collision reason as ``TripCancelIn``.", "properties": {"failure_reason": {"enum": ["delivery_failed", "carrier_abandoned", "unrecoverable_exception", "other"], "title": "Failure Reason", "type": "string"}, "reason": {"default": "", "title": "Reason", "type": "string"}}, "required": ["failure_reason"], "title": "TripFailIn", "type": "object"}, "EtaIn": {"properties": {"eta": {"format": "date-time", "title": "Eta", "type": "string"}, "source": {"default": "", "maxLength": 64, "title": "Source", "type": "string"}, "reason": {"default": "", "title": "Reason", "type": "string"}}, "required": ["eta"], "title": "EtaIn", "type": "object"}, "CloseIn": {"properties": {"override_reason": {"default": "", "title": "Override Reason", "type": "string"}}, "title": "CloseIn", "type": "object"}, "SignalOut": {"description": "INTERNAL F09 signal receipt. Carries ``is_override`` and the raw ``detail`` JSONB, which holds\ninternal telemetry (a geofence fix-to-fence distance, ping provenance) - never returned to a carrier;\nsee ``CarrierSignalOut``.", "properties": {"signal_id": {"title": "Signal Id", "type": "string"}, "trip_id": {"title": "Trip Id", "type": "string"}, "signal": {"title": "Signal", "type": "string"}, "severity": {"title": "Severity", "type": "string"}, "reason": {"title": "Reason", "type": "string"}, "is_override": {"title": "Is Override", "type": "boolean"}, "detail": {"additionalProperties": true, "default": {}, "title": "Detail", "type": "object"}, "occurred_at": {"title": "Occurred At", "type": "string"}}, "required": ["signal_id", "trip_id", "signal", "severity", "reason", "is_override", "occurred_at"], "title": "SignalOut", "type": "object"}, "ControlTowerListOut": {"properties": {"trips": {"items": {"$ref": "#/components/schemas/ControlTowerOut"}, "title": "Trips", "type": "array"}, "count": {"title": "Count", "type": "integer"}, "offset": {"title": "Offset", "type": "integer"}, "limit": {"title": "Limit", "type": "integer"}}, "required": ["trips", "count", "offset", "limit"], "title": "ControlTowerListOut", "type": "object"}, "CarrierProofDocumentListOut": {"description": "``count`` is the number of carrier-visible documents BEFORE the render-time masking re-scan, so\na withheld row leaves the count unchanged. Stated because the alternative reading (count == number\nof rows returned) is the natural one and is not what this does: a leak is skipped and logged, per\nM15's list precedent, so one shipper typing a phone number into cargo text cannot blank a carrier's\nwhole page.", "properties": {"documents": {"items": {"$ref": "#/components/schemas/CarrierProofDocumentOut"}, "title": "Documents", "type": "array"}, "count": {"title": "Count", "type": "integer"}}, "required": ["documents", "count"], "title": "CarrierProofDocumentListOut", "type": "object"}, "CarrierProofDocumentOut": {"description": "The F11 carrier projection, key-for-key with ``services._carrier_document_projection`` (a parity\ntest asserts equality). The EGS backbone is STRUCTURALLY ABSENT here, not serialized-and-stripped.\n``review_state`` IS carrier-facing - it is how a carrier learns a POD was rejected and must be\nre-uploaded.", "properties": {"document_id": {"title": "Document Id", "type": "string"}, "document_type": {"title": "Document Type", "type": "string"}, "review_state": {"title": "Review State", "type": "string"}, "version": {"title": "Version", "type": "integer"}, "is_active_version": {"title": "Is Active Version", "type": "boolean"}, "content_type": {"title": "Content Type", "type": "string"}, "size_bytes": {"title": "Size Bytes", "type": "integer"}, "uploaded_at": {"title": "Uploaded At", "type": "string"}}, "required": ["document_id", "document_type", "review_state", "version", "is_active_version", "content_type", "size_bytes", "uploaded_at"], "title": "CarrierProofDocumentOut", "type": "object"}, "ProofUploadIn": {"description": "F02 carrier/driver upload. Paired with a ``file: UploadedFile = File(...)`` parameter.", "properties": {"document_type": {"enum": ["pod", "cmr", "waybill", "delivery_photo", "other"], "title": "Document Type", "type": "string"}, "upload_source": {"enum": ["mobile", "web"], "title": "Upload Source", "type": "string"}}, "required": ["document_type", "upload_source"], "title": "ProofUploadIn", "type": "object"}, "ProofReuploadIn": {"description": "F05 carrier re-upload.\n\n**No ``document_type``.** The service accepts an override, but F-M16-12 records what it does: a\nre-upload that changes an artifact's type clears the old checklist slot and satisfies nothing on\napproval, so the package reports ``checklist_incomplete`` permanently and can only reach\nINVOICE_READY through an override. A carrier must not be able to force ``override_applied=True`` -\nthe flag M20 bills from - so the field stays on the internal schema only.", "properties": {"upload_source": {"enum": ["mobile", "web"], "title": "Upload Source", "type": "string"}}, "required": ["upload_source"], "title": "ProofReuploadIn", "type": "object"}, "CarrierProofPackageOut": {"description": "What a carrier gets back from its own ePOD submit / resubmit, key-for-key with\n``services.build_carrier_package_view``.\n\nDeliberately NOT ``ProofPackageOut``. That schema is the F10 control view: it carries\n``review_reason``, the OD-M16-004 override triplet, the derived F13 signals, the checklist, reviewer\nids, and every document on the package regardless of visibility - including ``original_filename``\n(which can read ``EGS_Group_POD_12345.pdf``) and ``upload_source`` (``telegram_manual`` is an ops\ntell). Returning it from a ``document.upload``-gated route would hand all of that to a driver on the\none response the module's gate tests cannot see, because the gate is correct and the BODY is the\nleak.", "properties": {"proof_package_id": {"title": "Proof Package Id", "type": "string"}, "status": {"title": "Status", "type": "string"}, "submitted_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Submitted At"}, "reviewed_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Reviewed At"}, "documents": {"default": [], "items": {"$ref": "#/components/schemas/CarrierProofDocumentOut"}, "title": "Documents", "type": "array"}}, "required": ["proof_package_id", "status"], "title": "CarrierProofPackageOut", "type": "object"}, "EpodSubmitIn": {"description": "F06 submission / resubmission. Both receiver fields are write-only-when-given in the service (a\nresubmission usually corrects the photo, not the handover), which is why stripping matters here as\nmuch as bounding: ``\"   \"`` is truthy raw and would overwrite a real captured name or note with\nwhitespace, destroying the POD's load-bearing non-image evidence.", "properties": {"receiver_name": {"default": "", "maxLength": 128, "title": "Receiver Name", "type": "string"}, "receiver_note": {"default": "", "title": "Receiver Note", "type": "string"}}, "title": "EpodSubmitIn", "type": "object"}, "ProofPackageListOut": {"description": "F15 page. ``signal_counts`` is the spec's \"basic counters\", computed over the WHOLE filtered\nqueryset rather than the page, because a queue counter that only counted the visible page would\ntell ops nothing.", "properties": {"packages": {"items": {"$ref": "#/components/schemas/ProofPackageRowOut"}, "title": "Packages", "type": "array"}, "count": {"title": "Count", "type": "integer"}, "offset": {"title": "Offset", "type": "integer"}, "limit": {"title": "Limit", "type": "integer"}, "signal_counts": {"additionalProperties": {"type": "integer"}, "default": {}, "title": "Signal Counts", "type": "object"}}, "required": ["packages", "count", "offset", "limit"], "title": "ProofPackageListOut", "type": "object"}, "ProofPackageRowOut": {"description": "One F15 dashboard row: the package backbone plus its derived F13 signals, no children.\n\nThe children are omitted on purpose - a list that embedded every document and checklist item would\nbe an N+1 on the surface ops works from all day, and the queue needs the signals, not the artifacts.", "properties": {"id": {"title": "Id", "type": "string"}, "order_id": {"title": "Order Id", "type": "string"}, "rfq_id": {"title": "Rfq Id", "type": "string"}, "carrier_id": {"title": "Carrier Id", "type": "string"}, "status": {"title": "Status", "type": "string"}, "receiver_name": {"title": "Receiver Name", "type": "string"}, "receiver_note": {"title": "Receiver Note", "type": "string"}, "submitted_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Submitted At"}, "submitted_by_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Submitted By Id"}, "review_reason": {"title": "Review Reason", "type": "string"}, "reviewed_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Reviewed At"}, "reviewed_by_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Reviewed By Id"}, "invoice_ready_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Invoice Ready At"}, "invoice_ready_by_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Invoice Ready By Id"}, "override_applied": {"title": "Override Applied", "type": "boolean"}, "override_reason": {"title": "Override Reason", "type": "string"}, "override_by_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Override By Id"}, "signals": {"default": [], "items": {"type": "string"}, "title": "Signals", "type": "array"}, "created_at": {"title": "Created At", "type": "string"}, "updated_at": {"title": "Updated At", "type": "string"}}, "required": ["id", "order_id", "rfq_id", "carrier_id", "status", "receiver_name", "receiver_note", "review_reason", "override_applied", "override_reason", "created_at", "updated_at"], "title": "ProofPackageRowOut", "type": "object"}, "ChecklistItemOut": {"description": "One F01 proof slot. ``satisfied_by_id`` is a pointer, not an owner.", "properties": {"id": {"title": "Id", "type": "string"}, "document_type": {"title": "Document Type", "type": "string"}, "is_required": {"title": "Is Required", "type": "boolean"}, "satisfied_by_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Satisfied By Id"}, "satisfied_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Satisfied At"}}, "required": ["id", "document_type", "is_required"], "title": "ChecklistItemOut", "type": "object"}, "ProofDocumentOut": {"description": "INTERNAL artifact projection.\n\nCarries what the masked carrier view structurally omits - ``original_filename`` (design 4.7's\nsleeper: it can read ``EGS_Group_POD_12345.pdf``), ``upload_source`` (``telegram_manual`` is an ops\ntell), ``review_reason`` (operator-typed) and ``locked_at``. Which is exactly why it is returned\nonly from ``document.manage`` / ``document.readiness`` handlers.\n\n``storage_key`` is deliberately NOT emitted: nothing can use it without the R2 credentials, PR4's\nserving proxy addresses artifacts by ``id``, and omitting it keeps the egress surface minimal.", "properties": {"id": {"title": "Id", "type": "string"}, "package_id": {"title": "Package Id", "type": "string"}, "document_type": {"title": "Document Type", "type": "string"}, "original_filename": {"title": "Original Filename", "type": "string"}, "content_type": {"title": "Content Type", "type": "string"}, "size_bytes": {"title": "Size Bytes", "type": "integer"}, "checksum": {"title": "Checksum", "type": "string"}, "version": {"title": "Version", "type": "integer"}, "supersedes_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Supersedes Id"}, "is_active_version": {"title": "Is Active Version", "type": "boolean"}, "review_state": {"title": "Review State", "type": "string"}, "review_reason": {"title": "Review Reason", "type": "string"}, "reviewed_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Reviewed At"}, "reviewed_by_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Reviewed By Id"}, "visibility": {"title": "Visibility", "type": "string"}, "upload_source": {"title": "Upload Source", "type": "string"}, "uploaded_by_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Uploaded By Id"}, "locked_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Locked At"}, "created_at": {"title": "Created At", "type": "string"}, "updated_at": {"title": "Updated At", "type": "string"}}, "required": ["id", "package_id", "document_type", "original_filename", "content_type", "size_bytes", "checksum", "version", "is_active_version", "review_state", "review_reason", "visibility", "upload_source", "created_at", "updated_at"], "title": "ProofDocumentOut", "type": "object"}, "ProofPackageOut": {"description": "F10 control view: a row plus its artifacts and checklist. Runs NO masking re-scan - it is the\nsurface whose purpose is to show ops the hidden backbone, so its ENTIRE protection is\nauthorization (the ``build_control_tower_view`` precedent, ``execution/api.py:12``).", "properties": {"id": {"title": "Id", "type": "string"}, "order_id": {"title": "Order Id", "type": "string"}, "rfq_id": {"title": "Rfq Id", "type": "string"}, "carrier_id": {"title": "Carrier Id", "type": "string"}, "status": {"title": "Status", "type": "string"}, "receiver_name": {"title": "Receiver Name", "type": "string"}, "receiver_note": {"title": "Receiver Note", "type": "string"}, "submitted_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Submitted At"}, "submitted_by_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Submitted By Id"}, "review_reason": {"title": "Review Reason", "type": "string"}, "reviewed_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Reviewed At"}, "reviewed_by_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Reviewed By Id"}, "invoice_ready_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Invoice Ready At"}, "invoice_ready_by_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Invoice Ready By Id"}, "override_applied": {"title": "Override Applied", "type": "boolean"}, "override_reason": {"title": "Override Reason", "type": "string"}, "override_by_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Override By Id"}, "signals": {"default": [], "items": {"type": "string"}, "title": "Signals", "type": "array"}, "created_at": {"title": "Created At", "type": "string"}, "updated_at": {"title": "Updated At", "type": "string"}, "documents": {"default": [], "items": {"$ref": "#/components/schemas/ProofDocumentOut"}, "title": "Documents", "type": "array"}, "checklist": {"default": [], "items": {"$ref": "#/components/schemas/ChecklistItemOut"}, "title": "Checklist", "type": "array"}}, "required": ["id", "order_id", "rfq_id", "carrier_id", "status", "receiver_name", "receiver_note", "review_reason", "override_applied", "override_reason", "created_at", "updated_at"], "title": "ProofPackageOut", "type": "object"}, "ProofMaskingLeakOut": {"description": "409 body for a customer-view leak (F10) - the whole view is withheld; only category COUNTS are\nsurfaced, never a matched term or value (F33: do not leak the leak).", "properties": {"detail": {"title": "Detail", "type": "string"}, "code": {"default": "", "title": "Code", "type": "string"}, "categories": {"additionalProperties": {"type": "integer"}, "default": {}, "title": "Categories", "type": "object"}}, "required": ["detail"], "title": "ProofMaskingLeakOut", "type": "object"}, "ProofAdminUploadIn": {"description": "F02 internal upload, including F03's Telegram manual-capture path.", "properties": {"document_type": {"enum": ["pod", "cmr", "waybill", "delivery_photo", "other"], "title": "Document Type", "type": "string"}, "upload_source": {"enum": ["admin", "telegram_manual"], "title": "Upload Source", "type": "string"}}, "required": ["document_type", "upload_source"], "title": "ProofAdminUploadIn", "type": "object"}, "EpodReviewReasonIn": {"description": "F07 reject / request-correction. Reason mandatory - the two negative outcomes carry the\njustification the carrier acts on. ``min_length=1`` bites on whitespace because the base strips\nfirst.", "properties": {"reason": {"minLength": 1, "title": "Reason", "type": "string"}}, "required": ["reason"], "title": "EpodReviewReasonIn", "type": "object"}, "ProofNotReadyOut": {"description": "400 body for a blocked F08 readiness gate - the reason-code buckets, never leaked values.\n``critical`` is NEVER overridable (status / trip / pod_state / masking); ``overridable`` clears\nwith a ``document.override`` plus a reason (OD-M16-004).", "properties": {"detail": {"title": "Detail", "type": "string"}, "code": {"default": "", "title": "Code", "type": "string"}, "critical": {"default": [], "items": {"type": "string"}, "title": "Critical", "type": "array"}, "overridable": {"default": [], "items": {"type": "string"}, "title": "Overridable", "type": "array"}}, "required": ["detail"], "title": "ProofNotReadyOut", "type": "object"}, "InvoiceReadyIn": {"description": "F08. ``override_reason`` is OPTIONAL - blank is the legitimate \"no override\" case, so it must\nnot be ``min_length=1``. It arrives stripped, and the handler passes the SAME value to the\n``document.override`` gate and to the service: the service's guard is raw truthiness, so an\nunstripped ``\"   \"`` would skip the gate and still apply the waiver (OD-M16-004's whole point).", "properties": {"override_reason": {"default": "", "title": "Override Reason", "type": "string"}}, "title": "InvoiceReadyIn", "type": "object"}, "ProofSignalsOut": {"description": "F13 receipt. ``raised`` is what was actually WRITTEN to M15's ledger, not what was derived - a\nkind the trip already carries is skipped, and nothing is raised on a dead trip. Reporting the\nderivation instead would put a false statement on an ops surface (``services.py:1292``).", "properties": {"package_id": {"title": "Package Id", "type": "string"}, "raised": {"default": [], "items": {"type": "string"}, "title": "Raised", "type": "array"}}, "required": ["package_id"], "title": "ProofSignalsOut", "type": "object"}, "DocumentReviewIn": {"description": "F04 per-artifact review. The reason is required only for a REJECTION - for F04 the reason IS the\nvalue and it is what the carrier acts on; approving does not need one.\n\nThat conditional lives here rather than being left to the service's bare ``DocumentError``, so a\nmissing reason is a 422 (request validation) instead of a 409 (state conflict), which would be\nindistinguishable from \"this document is locked\".", "properties": {"approved": {"title": "Approved", "type": "boolean"}, "reason": {"default": "", "title": "Reason", "type": "string"}}, "required": ["approved"], "title": "DocumentReviewIn", "type": "object"}, "ProofAdminReuploadIn": {"description": "F05 internal re-upload. Carries the ``document_type`` correction (F-M16-12) an operator may\nlegitimately need; blank means \"keep the current type\".", "properties": {"upload_source": {"enum": ["admin", "telegram_manual"], "title": "Upload Source", "type": "string"}, "document_type": {"anyOf": [{"enum": ["pod", "cmr", "waybill", "delivery_photo", "other"], "type": "string"}, {"type": "null"}], "title": "Document Type"}}, "required": ["upload_source"], "title": "ProofAdminReuploadIn", "type": "object"}, "DocumentVisibilityIn": {"description": "F11 audience change - the module's most authz-sensitive input. The reason is mandatory because\nF11's acceptance criterion IS the audit event, and an event whose reason is whitespace satisfies\nthe letter while defeating the point.", "properties": {"visibility": {"enum": ["internal", "carrier", "customer", "finance", "restricted"], "title": "Visibility", "type": "string"}, "reason": {"minLength": 1, "title": "Reason", "type": "string"}}, "required": ["visibility", "reason"], "title": "DocumentVisibilityIn", "type": "object"}, "DocumentUnlockIn": {"description": "F12 unlock. Reason mandatory: these two audit rows are the entire in-service record of a\nSuper-Admin unseal of locked delivery evidence.", "properties": {"reason": {"minLength": 1, "title": "Reason", "type": "string"}}, "required": ["reason"], "title": "DocumentUnlockIn", "type": "object"}, "CasePageOut": {"properties": {"cases": {"items": {"$ref": "#/components/schemas/CaseRowOut"}, "title": "Cases", "type": "array"}, "count": {"title": "Count", "type": "integer"}, "offset": {"title": "Offset", "type": "integer"}, "limit": {"title": "Limit", "type": "integer"}}, "required": ["cases", "count", "offset", "limit"], "title": "CasePageOut", "type": "object"}, "CaseRowOut": {"description": "One F04 workbench row: structured case fields ONLY (no note bodies), so the list cannot leak\nHIDDEN_EGS and needs no per-row masking.", "properties": {"case_id": {"title": "Case Id", "type": "string"}, "order_id": {"title": "Order Id", "type": "string"}, "carrier_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Carrier Id"}, "status": {"title": "Status", "type": "string"}, "severity": {"title": "Severity", "type": "string"}, "severity_source": {"title": "Severity Source", "type": "string"}, "case_type": {"title": "Case Type", "type": "string"}, "reason_code": {"title": "Reason Code", "type": "string"}, "execution_mode": {"title": "Execution Mode", "type": "string"}, "handling_team": {"title": "Handling Team", "type": "string"}, "owner_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Owner Id"}, "is_claim": {"title": "Is Claim", "type": "boolean"}, "opened_at": {"title": "Opened At", "type": "string"}, "updated_at": {"title": "Updated At", "type": "string"}}, "required": ["case_id", "order_id", "status", "severity", "severity_source", "case_type", "reason_code", "execution_mode", "handling_team", "is_claim", "opened_at", "updated_at"], "title": "CaseRowOut", "type": "object"}, "CaseDetailOut": {"description": "Mirrors ``services.build_internal_case_view`` key-for-key (a parity test asserts the set). The\ninternal control-tower projection - HIDDEN_EGS notes are role-filtered by the service.", "properties": {"case_id": {"title": "Case Id", "type": "string"}, "order_id": {"title": "Order Id", "type": "string"}, "status": {"title": "Status", "type": "string"}, "case_type": {"title": "Case Type", "type": "string"}, "reason_code": {"title": "Reason Code", "type": "string"}, "severity": {"title": "Severity", "type": "string"}, "severity_source": {"title": "Severity Source", "type": "string"}, "execution_mode": {"title": "Execution Mode", "type": "string"}, "handling_team": {"title": "Handling Team", "type": "string"}, "title": {"title": "Title", "type": "string"}, "description": {"title": "Description", "type": "string"}, "reporter": {"title": "Reporter", "type": "string"}, "owner_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Owner Id"}, "resolution_type": {"title": "Resolution Type", "type": "string"}, "responsibility": {"title": "Responsibility", "type": "string"}, "decision_note": {"title": "Decision Note", "type": "string"}, "root_cause": {"title": "Root Cause", "type": "string"}, "is_claim": {"title": "Is Claim", "type": "boolean"}, "claim_amount": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Claim Amount"}, "claim_currency": {"title": "Claim Currency", "type": "string"}, "override_applied": {"title": "Override Applied", "type": "boolean"}, "opened_at": {"title": "Opened At", "type": "string"}, "notes": {"default": [], "items": {"$ref": "#/components/schemas/CaseNoteOut"}, "title": "Notes", "type": "array"}}, "required": ["case_id", "order_id", "status", "case_type", "reason_code", "severity", "severity_source", "execution_mode", "handling_team", "title", "description", "reporter", "resolution_type", "responsibility", "decision_note", "root_cause", "is_claim", "claim_currency", "override_applied", "opened_at"], "title": "CaseDetailOut", "type": "object"}, "CaseNoteOut": {"properties": {"id": {"title": "Id", "type": "string"}, "body": {"title": "Body", "type": "string"}, "visibility": {"title": "Visibility", "type": "string"}, "author_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Author Id"}, "created_at": {"title": "Created At", "type": "string"}}, "required": ["id", "body", "visibility", "created_at"], "title": "CaseNoteOut", "type": "object"}, "CaseCreateIn": {"properties": {"order_id": {"format": "uuid", "title": "Order Id", "type": "string"}, "case_type": {"enum": ["exception", "incident", "claim", "dispute"], "title": "Case Type", "type": "string"}, "reason_code": {"enum": ["accident", "theft", "fraud", "cargo_damage", "shortage", "delay", "wrong_delivery", "pod_missing", "pod_rejected", "payment_dispute", "carrier_no_show", "document_issue", "other"], "title": "Reason Code", "type": "string"}, "title": {"maxLength": 200, "title": "Title", "type": "string"}, "severity": {"anyOf": [{"enum": ["s1", "s2", "s3", "s4"], "type": "string"}, {"type": "null"}], "title": "Severity"}, "description": {"default": "", "title": "Description", "type": "string"}, "reporter": {"default": "", "maxLength": 128, "title": "Reporter", "type": "string"}, "trip_id": {"anyOf": [{"format": "uuid", "type": "string"}, {"type": "null"}], "title": "Trip Id"}, "dispatch_case_id": {"anyOf": [{"format": "uuid", "type": "string"}, {"type": "null"}], "title": "Dispatch Case Id"}, "proof_package_id": {"anyOf": [{"format": "uuid", "type": "string"}, {"type": "null"}], "title": "Proof Package Id"}, "from_signal_event_id": {"anyOf": [{"format": "uuid", "type": "string"}, {"type": "null"}], "title": "From Signal Event Id"}}, "required": ["order_id", "case_type", "reason_code", "title"], "title": "CaseCreateIn", "type": "object"}, "CaseAssignOwnerIn": {"properties": {"owner_id": {"format": "uuid", "title": "Owner Id", "type": "string"}}, "required": ["owner_id"], "title": "CaseAssignOwnerIn", "type": "object"}, "CaseSeverityIn": {"properties": {"severity": {"enum": ["s1", "s2", "s3", "s4"], "title": "Severity", "type": "string"}}, "required": ["severity"], "title": "CaseSeverityIn", "type": "object"}, "CaseClaimIn": {"properties": {"amount": {"anyOf": [{"type": "number"}, {"pattern": "^(?!^[-+.]*$)[+-]?0*(?:\\d{0,12}|(?=[\\d.]{1,15}0*$)\\d{0,12}\\.\\d{0,2}0*$)", "type": "string"}], "title": "Amount"}, "currency": {"maxLength": 3, "title": "Currency", "type": "string"}}, "required": ["amount", "currency"], "title": "CaseClaimIn", "type": "object"}, "CaseResolveIn": {"properties": {"resolution_type": {"enum": ["resolved", "rejected", "duplicate", "no_action", "compensated"], "title": "Resolution Type", "type": "string"}, "responsibility": {"enum": ["carrier", "shipper", "izzilog", "third_party", "none", "undetermined"], "title": "Responsibility", "type": "string"}, "decision_note": {"default": "", "title": "Decision Note", "type": "string"}, "root_cause": {"default": "", "title": "Root Cause", "type": "string"}, "claim": {"anyOf": [{"$ref": "#/components/schemas/CaseClaimIn"}, {"type": "null"}]}}, "required": ["resolution_type", "responsibility"], "title": "CaseResolveIn", "type": "object"}, "CaseCloseIn": {"properties": {"override_reason": {"default": "", "title": "Override Reason", "type": "string"}}, "title": "CaseCloseIn", "type": "object"}, "CaseCancelIn": {"properties": {"reason": {"default": "", "title": "Reason", "type": "string"}, "override_reason": {"default": "", "title": "Override Reason", "type": "string"}}, "title": "CaseCancelIn", "type": "object"}, "CaseEvidenceOut": {"properties": {"id": {"title": "Id", "type": "string"}, "case_id": {"title": "Case Id", "type": "string"}, "evidence_type": {"title": "Evidence Type", "type": "string"}, "document_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Document Id"}, "source": {"title": "Source", "type": "string"}, "sender": {"title": "Sender", "type": "string"}, "note": {"title": "Note", "type": "string"}, "review_status": {"title": "Review Status", "type": "string"}, "requested_by_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Requested By Id"}, "reviewed_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Reviewed At"}, "reviewed_by_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Reviewed By Id"}, "created_at": {"title": "Created At", "type": "string"}}, "required": ["id", "case_id", "evidence_type", "source", "sender", "note", "review_status", "created_at"], "title": "CaseEvidenceOut", "type": "object"}, "CaseEvidenceRequestIn": {"properties": {"evidence_type": {"enum": ["photo", "pod", "cmr", "driver_statement", "gps_reference", "telegram_screenshot"], "title": "Evidence Type", "type": "string"}, "source": {"default": "system", "enum": ["system", "telegram_manual", "phone_manual"], "title": "Source", "type": "string"}, "sender": {"default": "", "maxLength": 128, "title": "Sender", "type": "string"}, "document_id": {"anyOf": [{"format": "uuid", "type": "string"}, {"type": "null"}], "title": "Document Id"}}, "required": ["evidence_type"], "title": "CaseEvidenceRequestIn", "type": "object"}, "CaseEvidenceReviewIn": {"properties": {"review_status": {"enum": ["valid", "invalid", "insufficient", "duplicate"], "title": "Review Status", "type": "string"}, "note": {"default": "", "title": "Note", "type": "string"}}, "required": ["review_status"], "title": "CaseEvidenceReviewIn", "type": "object"}, "CaseNoteIn": {"properties": {"body": {"title": "Body", "type": "string"}, "visibility": {"default": "internal", "enum": ["internal", "shipper_visible", "carrier_visible", "hidden_egs"], "title": "Visibility", "type": "string"}}, "required": ["body"], "title": "CaseNoteIn", "type": "object"}, "CaseActionNoteIn": {"properties": {"action": {"title": "Action", "type": "string"}, "target_module": {"title": "Target Module", "type": "string"}}, "required": ["action", "target_module"], "title": "CaseActionNoteIn", "type": "object"}, "CaseHoldOut": {"properties": {"id": {"title": "Id", "type": "string"}, "case_id": {"title": "Case Id", "type": "string"}, "party": {"title": "Party", "type": "string"}, "amount": {"title": "Amount", "type": "string"}, "currency": {"title": "Currency", "type": "string"}, "reason": {"title": "Reason", "type": "string"}, "status": {"title": "Status", "type": "string"}, "requested_by_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Requested By Id"}, "released_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Released At"}, "released_by_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Released By Id"}, "release_reason": {"title": "Release Reason", "type": "string"}, "created_at": {"title": "Created At", "type": "string"}}, "required": ["id", "case_id", "party", "amount", "currency", "reason", "status", "release_reason", "created_at"], "title": "CaseHoldOut", "type": "object"}, "CaseHoldRequestIn": {"properties": {"party": {"enum": ["carrier", "shipper"], "title": "Party", "type": "string"}, "amount": {"anyOf": [{"type": "number"}, {"pattern": "^(?!^[-+.]*$)[+-]?0*(?:\\d{0,12}|(?=[\\d.]{1,15}0*$)\\d{0,12}\\.\\d{0,2}0*$)", "type": "string"}], "title": "Amount"}, "currency": {"maxLength": 3, "title": "Currency", "type": "string"}, "reason": {"default": "", "title": "Reason", "type": "string"}}, "required": ["party", "amount", "currency"], "title": "CaseHoldRequestIn", "type": "object"}, "CaseHoldReleaseIn": {"properties": {"release_reason": {"default": "", "title": "Release Reason", "type": "string"}}, "title": "CaseHoldReleaseIn", "type": "object"}, "PricingRecordOut": {"description": "The INTERNAL projection: the buy leg, planned GP, margin and FX are visible as strings, gated on\n``pricing.view`` (internal-only - no external role holds it). Never the customer surface; that is\n``build_customer_pricing_view`` behind the customer-view route.", "properties": {"id": {"title": "Id", "type": "string"}, "status": {"enum": ["draft", "released", "locked", "superseded", "cancelled"], "title": "Status", "type": "string"}, "rfq_id": {"title": "Rfq Id", "type": "string"}, "service_mode": {"title": "Service Mode", "type": "string"}, "version": {"title": "Version", "type": "integer"}, "selected_quote_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Selected Quote Id"}, "first_locked_by_order_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "First Locked By Order Id"}, "buy_amount": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Buy Amount"}, "buy_currency": {"title": "Buy Currency", "type": "string"}, "buy_valid_until": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Buy Valid Until"}, "buy_confidence": {"title": "Buy Confidence", "type": "string"}, "sell_amount": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Sell Amount"}, "sell_currency": {"title": "Sell Currency", "type": "string"}, "sell_valid_until": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Sell Valid Until"}, "included_services": {"title": "Included Services", "type": "string"}, "excluded_services": {"title": "Excluded Services", "type": "string"}, "fx_rate": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Fx Rate"}, "fx_source_note": {"title": "Fx Source Note", "type": "string"}, "fx_captured_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Fx Captured At"}, "planned_gp_amount": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Planned Gp Amount"}, "margin_pct": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Margin Pct"}, "override_reason_code": {"title": "Override Reason Code", "type": "string"}, "override_type": {"title": "Override Type", "type": "string"}, "approved_by_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Approved By Id"}, "approved_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Approved At"}, "locked_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Locked At"}, "created_at": {"title": "Created At", "type": "string"}}, "required": ["id", "status", "rfq_id", "service_mode", "version", "buy_currency", "buy_confidence", "sell_currency", "included_services", "excluded_services", "fx_source_note", "override_reason_code", "override_type", "created_at"], "title": "PricingRecordOut", "type": "object"}, "PricingCreateIn": {"properties": {"rfq_id": {"format": "uuid", "title": "Rfq Id", "type": "string"}}, "required": ["rfq_id"], "title": "PricingCreateIn", "type": "object"}, "PricingListOut": {"properties": {"records": {"items": {"$ref": "#/components/schemas/PricingRecordOut"}, "title": "Records", "type": "array"}, "count": {"title": "Count", "type": "integer"}, "offset": {"title": "Offset", "type": "integer"}, "limit": {"title": "Limit", "type": "integer"}}, "required": ["records", "count", "offset", "limit"], "title": "PricingListOut", "type": "object"}, "PricingBuyRateIn": {"properties": {"amount": {"anyOf": [{"type": "number"}, {"pattern": "^(?!^[-+.]*$)[+-]?0*(?:\\d{0,12}|(?=[\\d.]{1,15}0*$)\\d{0,12}\\.\\d{0,2}0*$)", "type": "string"}], "title": "Amount"}, "currency": {"enum": ["UZS", "USD", "EUR", "RUB"], "title": "Currency", "type": "string"}, "confidence": {"anyOf": [{"enum": ["manual_estimate", "carrier_confirmed", "egs_managed", "historical_reference"], "type": "string"}, {"type": "null"}], "title": "Confidence"}, "valid_until": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Valid Until"}, "selected_quote_id": {"anyOf": [{"format": "uuid", "type": "string"}, {"type": "null"}], "title": "Selected Quote Id"}}, "required": ["amount", "currency"], "title": "PricingBuyRateIn", "type": "object"}, "PricingSellRateIn": {"properties": {"amount": {"anyOf": [{"type": "number"}, {"pattern": "^(?!^[-+.]*$)[+-]?0*(?:\\d{0,12}|(?=[\\d.]{1,15}0*$)\\d{0,12}\\.\\d{0,2}0*$)", "type": "string"}], "title": "Amount"}, "currency": {"enum": ["UZS", "USD", "EUR", "RUB"], "title": "Currency", "type": "string"}, "valid_until": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Valid Until"}, "included_services": {"default": "", "title": "Included Services", "type": "string"}, "excluded_services": {"default": "", "title": "Excluded Services", "type": "string"}}, "required": ["amount", "currency"], "title": "PricingSellRateIn", "type": "object"}, "PricingFxIn": {"properties": {"rate": {"anyOf": [{"type": "number"}, {"pattern": "^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,21}0*$)\\d{0,8}\\.\\d{0,12}0*$)", "type": "string"}], "title": "Rate"}, "source_note": {"default": "", "maxLength": 255, "title": "Source Note", "type": "string"}, "captured_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Captured At"}}, "required": ["rate"], "title": "PricingFxIn", "type": "object"}, "PricingReleaseBlockedOut": {"description": "The F020 gate's 400. Both lists are machine reason codes only - never a leaked amount or term.", "properties": {"detail": {"title": "Detail", "type": "string"}, "code": {"default": "RELEASE_BLOCKED", "title": "Code", "type": "string"}, "critical": {"default": [], "items": {"type": "string"}, "title": "Critical", "type": "array"}, "overridable": {"default": [], "items": {"type": "string"}, "title": "Overridable", "type": "array"}}, "required": ["detail"], "title": "PricingReleaseBlockedOut", "type": "object"}, "PricingReleaseIn": {"properties": {"override_reason": {"default": "", "maxLength": 100, "title": "Override Reason", "type": "string"}}, "title": "PricingReleaseIn", "type": "object"}, "PricingRepriceIn": {"description": "F012 versioning. Every field is OPTIONAL and carries the ``_UNSET`` semantics via\n``model_fields_set``: only what the caller actually SENT is forwarded as a change, so the new\nversion inherits everything else from the superseded one.\n\n``reason`` is REQUIRED and non-blank (``min_length=1`` after the inherited whitespace strip), so a\nwhitespace-only justification is a 422 at the edge rather than reaching the service.", "properties": {"reason": {"maxLength": 255, "minLength": 1, "title": "Reason", "type": "string"}, "buy_amount": {"anyOf": [{"type": "number"}, {"pattern": "^(?!^[-+.]*$)[+-]?0*(?:\\d{0,12}|(?=[\\d.]{1,15}0*$)\\d{0,12}\\.\\d{0,2}0*$)", "type": "string"}, {"type": "null"}], "title": "Buy Amount"}, "buy_currency": {"anyOf": [{"enum": ["UZS", "USD", "EUR", "RUB"], "type": "string"}, {"type": "null"}], "title": "Buy Currency"}, "buy_valid_until": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Buy Valid Until"}, "buy_confidence": {"anyOf": [{"enum": ["manual_estimate", "carrier_confirmed", "egs_managed", "historical_reference"], "type": "string"}, {"type": "null"}], "title": "Buy Confidence"}, "sell_amount": {"anyOf": [{"type": "number"}, {"pattern": "^(?!^[-+.]*$)[+-]?0*(?:\\d{0,12}|(?=[\\d.]{1,15}0*$)\\d{0,12}\\.\\d{0,2}0*$)", "type": "string"}, {"type": "null"}], "title": "Sell Amount"}, "sell_currency": {"anyOf": [{"enum": ["UZS", "USD", "EUR", "RUB"], "type": "string"}, {"type": "null"}], "title": "Sell Currency"}, "sell_valid_until": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Sell Valid Until"}, "included_services": {"default": "", "title": "Included Services", "type": "string"}, "excluded_services": {"default": "", "title": "Excluded Services", "type": "string"}, "fx_rate": {"anyOf": [{"type": "number"}, {"pattern": "^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,21}0*$)\\d{0,8}\\.\\d{0,12}0*$)", "type": "string"}, {"type": "null"}], "title": "Fx Rate"}, "fx_source_note": {"default": "", "maxLength": 255, "title": "Fx Source Note", "type": "string"}, "fx_captured_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Fx Captured At"}}, "required": ["reason"], "title": "PricingRepriceIn", "type": "object"}, "PricingDirectCostOut": {"description": "A direct-cost line. Money as a STRING (never float). INTERNAL only - ``source_module`` /\n``source_reference`` are operator free text and never reach a customer-facing projection.", "properties": {"id": {"title": "Id", "type": "string"}, "pricing_record_id": {"title": "Pricing Record Id", "type": "string"}, "category": {"title": "Category", "type": "string"}, "amount": {"title": "Amount", "type": "string"}, "currency": {"title": "Currency", "type": "string"}, "source_module": {"title": "Source Module", "type": "string"}, "source_reference": {"title": "Source Reference", "type": "string"}, "recorded_by_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Recorded By Id"}, "voided_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Voided At"}, "voided_by_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Voided By Id"}, "created_at": {"title": "Created At", "type": "string"}}, "required": ["id", "pricing_record_id", "category", "amount", "currency", "source_module", "source_reference", "created_at"], "title": "PricingDirectCostOut", "type": "object"}, "PricingDirectCostIn": {"description": "One approved out-of-pocket cost (F014/F019). Bounded at the edge to the model column\n(Decimal(14,2)) so an over-scale value is a 422 here and can never reach ``save()`` as a\n``DataError``; the service re-validates and additionally rejects a non-finite amount.", "properties": {"category": {"enum": ["waiting_demurrage", "detention", "extra_stop", "route_change", "cancellation", "customs", "escort", "insurance", "loading_unloading", "penalty", "other"], "title": "Category", "type": "string"}, "amount": {"anyOf": [{"type": "number"}, {"pattern": "^(?!^[-+.]*$)[+-]?0*(?:\\d{0,12}|(?=[\\d.]{1,15}0*$)\\d{0,12}\\.\\d{0,2}0*$)", "type": "string"}], "title": "Amount"}, "currency": {"enum": ["UZS", "USD", "EUR", "RUB"], "title": "Currency", "type": "string"}, "source_module": {"default": "", "maxLength": 32, "title": "Source Module", "type": "string"}, "source_reference": {"default": "", "maxLength": 255, "title": "Source Reference", "type": "string"}}, "required": ["category", "amount", "currency"], "title": "PricingDirectCostIn", "type": "object"}, "PricingDirectCostListOut": {"properties": {"costs": {"items": {"$ref": "#/components/schemas/PricingDirectCostOut"}, "title": "Costs", "type": "array"}, "count": {"title": "Count", "type": "integer"}}, "required": ["costs", "count"], "title": "PricingDirectCostListOut", "type": "object"}, "PricingMarginOut": {"description": "The margin preview. ``reason`` is a machine code (``\"\"`` when the margin computed) - a\nmid-entry record is reported as data, not as a 4xx: the service is explicit that incomplete rates are\n\"a legitimate mid-entry state ... not an error\".\n\nThese are the COST-INCLUSIVE figures, recomputed on read (F014). They can differ from the record's\nSTORED ``planned_gp_amount`` / ``margin_pct`` (on ``PricingRecordOut``), which freeze at release:\na direct cost recorded during execution moves the numbers here and deliberately leaves the stored\nones alone. ``direct_cost_total`` is that difference, in the sell currency (``null`` when the\nrecord cannot convert its costs).", "properties": {"planned_gp_amount": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Planned Gp Amount"}, "margin_pct": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Margin Pct"}, "direct_cost_total": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Direct Cost Total"}, "reason": {"default": "", "title": "Reason", "type": "string"}}, "title": "PricingMarginOut", "type": "object"}, "PricingMaskingLeakOut": {"description": "The F016 fail-closed 409: the WHOLE customer view is withheld and ``categories`` carries category\nCOUNTS only (F33), never the matched term.", "properties": {"detail": {"title": "Detail", "type": "string"}, "code": {"default": "MASKING_LEAK", "title": "Code", "type": "string"}, "categories": {"additionalProperties": {"type": "integer"}, "default": {}, "title": "Categories", "type": "object"}}, "required": ["detail"], "title": "PricingMaskingLeakOut", "type": "object"}, "TestSendOut": {"description": "The result of one ops smoke test.\n\n``status`` is almost always ``pending``: delivery is dispatched after commit, so the arriving\nTelegram message is the real observable and this is the receipt for the row. The other three\nfields exist because each is a way the send can be a no-op that still looks like a success:\n\n* ``created`` false means ``notify()`` handed back an EXISTING row rather than writing one, so\n  nothing was sent by this call.\n* ``suppression_reason`` non-empty means the pipeline stopped the message - a kill switch, the\n  send gate, the throttle, or the masking scan.\n* ``silent`` true means the message will arrive with ``disable_notification``, so an operator who\n  muted this category on Telegram would see no alert and wrongly conclude nothing was sent.", "properties": {"notification_id": {"title": "Notification Id", "type": "string"}, "created": {"title": "Created", "type": "boolean"}, "status": {"title": "Status", "type": "string"}, "channel": {"title": "Channel", "type": "string"}, "suppression_reason": {"default": "", "title": "Suppression Reason", "type": "string"}, "silent": {"default": false, "title": "Silent", "type": "boolean"}}, "required": ["notification_id", "created", "status", "channel"], "title": "TestSendOut", "type": "object"}, "QueryAccepted": {"description": "Success body for the inbound query/close endpoints.", "properties": {"izzilog_rfq_id": {"title": "Izzilog Rfq Id", "type": "string"}, "rfq_status": {"title": "Rfq Status", "type": "string"}}, "required": ["izzilog_rfq_id", "rfq_status"], "title": "QueryAccepted", "type": "object"}, "ApiError": {"description": "The apidoc error envelope (section 4): {\"error\": {\"code\", \"message\"}}.", "properties": {"error": {"$ref": "#/components/schemas/ErrorDetail"}}, "required": ["error"], "title": "ApiError", "type": "object"}, "ErrorDetail": {"properties": {"code": {"title": "Code", "type": "string"}, "message": {"title": "Message", "type": "string"}}, "required": ["code", "message"], "title": "ErrorDetail", "type": "object"}, "AwardAck": {"description": "Ack body for the inbound bid accept/reject endpoints (FR-030). Echoes the request\nidempotency_key for Zanjeer-side correlation, mirroring the outbound bid webhook's\n{received, idempotency_key} response.", "properties": {"received": {"title": "Received", "type": "boolean"}, "idempotency_key": {"title": "Idempotency Key", "type": "string"}}, "required": ["received", "idempotency_key"], "title": "AwardAck", "type": "object"}}}, "servers": []}