{"openapi":"3.1.0","info":{"title":"Worqen agent API","version":"1.0.0"},"paths":{"/api/v1/calendar/google":{"delete":{"tags":["Calendar"],"summary":"Disconnect the current user's Google Calendar","operationId":"disconnect_google_calendar","responses":{"204":{"description":"Successful Response"}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"delete","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]},"get":{"tags":["Calendar"],"summary":"Whether the current user has a connected Google Calendar","operationId":"get_google_connection","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalendarConnectionStatus"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read","parameters":[]}},"/api/v1/chats/{chat_id}":{"delete":{"tags":["Chats"],"summary":"Delete a chat","operationId":"delete_chat","security":[{"AgentBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"delete"},"get":{"tags":["Chats"],"summary":"Get chat details","operationId":"get_chat","security":[{"AgentBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"},"patch":{"tags":["Chats"],"summary":"Update chat settings","operationId":"update_chat","security":[{"AgentBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Name"},"photo_url":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Photo Url"},"description":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Description"},"settings":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Settings"}},"type":"object","title":"ChatUpdate","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/chats/{chat_id}/messages/scheduled/{scheduled_id}":{"delete":{"tags":["Scheduled Messages"],"summary":"Cancel a pending scheduled message","operationId":"cancel_scheduled_message","security":[{"AgentBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}},{"name":"scheduled_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Scheduled Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"delete"}},"/api/v1/chats/{chat_id}/messages/{message_id}":{"delete":{"tags":["Chat Messages"],"summary":"Delete a message","operationId":"delete_message","security":[{"AgentBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}},{"name":"message_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Message Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"delete"},"get":{"tags":["Chat Messages"],"summary":"Get a message","operationId":"get_message","security":[{"AgentBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}},{"name":"message_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Message Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatMessageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"},"patch":{"tags":["Chat Messages"],"summary":"Edit a message","operationId":"update_message","security":[{"AgentBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}},{"name":"message_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Message Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"content":{"type":"string","maxLength":10000,"minLength":1,"title":"Content"}},"type":"object","required":["content"],"title":"ChatMessageUpdate","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatMessageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/chats/{chat_id}/messages/{message_id}/pin":{"delete":{"tags":["Chat Extended"],"summary":"Unpin a message","operationId":"unpin_message","security":[{"AgentBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}},{"name":"message_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Message Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PinMessageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"delete"},"post":{"tags":["Chat Extended"],"summary":"Pin a message","operationId":"pin_message","security":[{"AgentBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}},{"name":"message_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Message Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PinMessageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/chats/{chat_id}/messages/{message_id}/reactions/{emoji}":{"delete":{"tags":["Chat Extended"],"summary":"Remove reaction from message","operationId":"remove_reaction","security":[{"AgentBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}},{"name":"message_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Message Id"}},{"name":"emoji","in":"path","required":true,"schema":{"type":"string","title":"Emoji"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"delete"}},"/api/v1/chats/{chat_id}/mute":{"delete":{"tags":["Chat Extended"],"summary":"Unmute chat notifications","operationId":"unmute_chat","security":[{"AgentBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MuteSettingsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"delete"},"get":{"tags":["Chat Extended"],"summary":"Get mute settings","operationId":"get_mute_settings","security":[{"AgentBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MuteSettingsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"},"post":{"tags":["Chat Extended"],"summary":"Mute chat notifications","operationId":"mute_chat","security":[{"AgentBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"duration":{"type":"string","enum":["1h","8h","1d","1w","forever"],"title":"MuteDuration"}},"type":"object","required":["duration"],"title":"MuteSettingsRequest","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MuteSettingsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/chats/{chat_id}/participants/{user_id}":{"delete":{"tags":["Chats"],"summary":"Remove participant from chat","operationId":"remove_participant","security":[{"AgentBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}},{"name":"user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveParticipantResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"delete"}},"/api/v1/disputes/{escrow_id}/messages/{message_id}":{"delete":{"tags":["Dispute Chat"],"summary":"Delete dispute message","description":"Soft delete a message you sent in a dispute chat.","operationId":"delete_dispute_message","security":[{"AgentBearer":[]}],"parameters":[{"name":"escrow_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Escrow Id"}},{"name":"message_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Message Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"delete"},"patch":{"tags":["Dispute Chat"],"summary":"Edit dispute message","description":"Edit a message you sent in a dispute chat.","operationId":"update_dispute_message","security":[{"AgentBearer":[]}],"parameters":[{"name":"escrow_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Escrow Id"}},{"name":"message_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Message Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"content":{"type":"string","maxLength":5000,"minLength":1,"title":"Content"}},"type":"object","required":["content"],"title":"MessageUpdate","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/images/avatar":{"delete":{"tags":["Images"],"summary":"Delete user avatar","description":"Delete the current user's avatar.","operationId":"delete_avatar","responses":{"204":{"description":"Successful Response"}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"delete","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]},"post":{"tags":["Images"],"summary":"Upload user avatar","description":"Upload a new avatar image for the current user. Replaces existing avatar if any.","operationId":"upload_avatar","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_avatar_api_v1_images_avatar_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvatarUploadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/images/cover":{"delete":{"tags":["Images"],"summary":"Delete profile cover image","description":"Delete the current user's cover image.","operationId":"delete_cover","responses":{"204":{"description":"Successful Response"}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"delete","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]},"post":{"tags":["Images"],"summary":"Upload profile cover image","description":"Upload a new cover/banner image for the current user. Replaces existing cover if any.","operationId":"upload_cover","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_cover_api_v1_images_cover_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvatarUploadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/images/jobs/{job_id}/photos":{"delete":{"tags":["Images"],"summary":"Delete a job photo","description":"Delete a specific photo from a job.","operationId":"delete_job_photo","security":[{"AgentBearer":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}},{"name":"photo_url","in":"query","required":true,"schema":{"type":"string","description":"URL of the photo to delete","title":"Photo Url"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"delete"},"post":{"tags":["Images"],"summary":"Upload job photos","description":"Upload one or more photos for a job. Maximum 10 photos per job.","operationId":"upload_job_photos","security":[{"AgentBearer":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_job_photos_api_v1_images_jobs__job_id__photos_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhotosUploadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/images/vacancies/{vacancy_id}/photos":{"delete":{"tags":["Images"],"summary":"Delete a vacancy photo","description":"Delete a specific photo from a vacancy.","operationId":"delete_vacancy_photo","security":[{"AgentBearer":[]}],"parameters":[{"name":"vacancy_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Vacancy Id"}},{"name":"photo_url","in":"query","required":true,"schema":{"type":"string","description":"URL of the photo to delete","title":"Photo Url"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"delete"},"post":{"tags":["Images"],"summary":"Upload vacancy photos","description":"Upload one or more photos for a vacancy. Maximum 10 photos per vacancy.","operationId":"upload_vacancy_photos","security":[{"AgentBearer":[]}],"parameters":[{"name":"vacancy_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Vacancy Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_vacancy_photos_api_v1_images_vacancies__vacancy_id__photos_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhotosUploadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/jobs/{job_id}":{"delete":{"tags":["Jobs"],"summary":"Delete job","description":"Delete a job (soft delete - sets status to cancelled).","operationId":"delete_job","security":[{"AgentBearer":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"delete"},"get":{"tags":["Jobs"],"summary":"Get job details","description":"Full detail of one job posting: description, budget, category, location and current status. Public — no authentication required.","operationId":"get_job","security":[{"AgentBearer":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"},"patch":{"tags":["Jobs"],"summary":"Update job","description":"Update a job (only the owner can update).","operationId":"update_job","security":[{"AgentBearer":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"title":{"anyOf":[{"type":"string","maxLength":200,"minLength":5},{"type":"null"}],"title":"Title"},"description":{"anyOf":[{"type":"string","maxLength":20000,"minLength":20},{"type":"null"}],"title":"Description"},"categories":{"anyOf":[{"items":{"type":"string","format":"uuid"},"type":"array","minItems":1},{"type":"null"}],"title":"Categories"},"payment_type":{"anyOf":[{"type":"string","enum":["fixed","hourly"],"title":"PaymentType"},{"type":"null"}]},"rate":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Rate"},"currency":{"anyOf":[{"type":"string","maxLength":10},{"type":"null"}],"title":"Currency"},"photos":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Photos"},"latitude":{"anyOf":[{"type":"number","maximum":90.0,"minimum":-90.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number","maximum":180.0,"minimum":-180.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Longitude"},"address":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Address"},"city":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"City"},"country":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Country"},"search_radius_km":{"anyOf":[{"type":"integer","maximum":1000.0,"minimum":1.0},{"type":"null"}],"title":"Search Radius Km"},"estimated_duration_hours":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Estimated Duration Hours"},"weekly_hours_limit":{"anyOf":[{"type":"integer","maximum":168.0,"minimum":1.0},{"type":"null"}],"title":"Weekly Hours Limit"},"start_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date"},"end_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date"},"is_remote":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Remote"},"is_urgent":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Urgent"},"worqs_cost":{"anyOf":[{"type":"integer","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Worqs Cost"},"additional_conditions":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Additional Conditions"},"required_skills":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Required Skills"}},"type":"object","title":"JobUpdate","example":{"is_urgent":true,"rate":"600.00","title":"Updated job title"},"additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/jobs/{job_id}/save":{"delete":{"tags":["Jobs"],"summary":"Unsave a job","description":"Remove a job bookmark. Unsaving a job that was never saved is not an error.","operationId":"unsave_job","security":[{"AgentBearer":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"delete"},"post":{"tags":["Jobs"],"summary":"Save a job","description":"Bookmark a job for later. Saving an already-saved job is not an error.","operationId":"save_job","security":[{"AgentBearer":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SavedJobStatus"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/meeting-invites/{invite_id}":{"delete":{"tags":["Meeting invites"],"summary":"Withdraw a pending interview invite","operationId":"cancel_meeting_invite","security":[{"AgentBearer":[]}],"parameters":[{"name":"invite_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Invite Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"delete"}},"/api/v1/meetings/{meeting_id}":{"delete":{"tags":["Meetings"],"summary":"Cancel a meeting","operationId":"cancel_meeting","security":[{"AgentBearer":[]}],"parameters":[{"name":"meeting_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Meeting Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeetingRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"delete"},"patch":{"tags":["Meetings"],"summary":"Reschedule or rename an existing meeting","operationId":"update_meeting","security":[{"AgentBearer":[]}],"parameters":[{"name":"meeting_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Meeting Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"title":{"anyOf":[{"type":"string","maxLength":300,"minLength":3},{"type":"null"}],"title":"Title"},"description":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"title":"Description"},"start_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start At"},"end_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End At"}},"type":"object","title":"MeetingUpdate","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeetingRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/milestones/{milestone_id}/attachments/{attachment_id}":{"delete":{"tags":["Milestone Files"],"summary":"Remove an attachment (employer)","operationId":"delete_attachment","security":[{"AgentBearer":[]}],"parameters":[{"name":"milestone_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Milestone Id"}},{"name":"attachment_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Attachment Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"delete"},"patch":{"tags":["Milestone Files"],"summary":"Edit attachment metadata (employer)","operationId":"update_attachment","security":[{"AgentBearer":[]}],"parameters":[{"name":"milestone_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Milestone Id"}},{"name":"attachment_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Attachment Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"title":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Title"},"description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Description"},"sequence_order":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sequence Order"}},"type":"object","title":"MilestoneAttachmentUpdate","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MilestoneAttachmentRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/milestones/{milestone_id}/requirements/{requirement_id}":{"delete":{"tags":["Milestones"],"summary":"Remove Requirement","operationId":"remove_requirement","security":[{"AgentBearer":[]}],"parameters":[{"name":"milestone_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Milestone Id"}},{"name":"requirement_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Requirement Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"delete"},"patch":{"tags":["Milestones"],"summary":"Update Requirement","operationId":"update_requirement","security":[{"AgentBearer":[]}],"parameters":[{"name":"milestone_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Milestone Id"}},{"name":"requirement_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Requirement Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"title":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Title"},"description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Description"},"is_required":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Required"},"sequence_order":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sequence Order"}},"type":"object","title":"MilestoneRequirementUpdate","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MilestoneRequirementRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/milestones/{milestone_id}/submissions/current/files/{file_id}":{"delete":{"tags":["Milestone Files"],"summary":"Remove a file from the current draft round (employee)","operationId":"remove_file_from_current","security":[{"AgentBearer":[]}],"parameters":[{"name":"milestone_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Milestone Id"}},{"name":"file_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"File Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"delete"}},"/api/v1/notifications/{notification_id}":{"delete":{"tags":["Notifications"],"summary":"Delete Notification","operationId":"delete_notification","security":[{"AgentBearer":[]}],"parameters":[{"name":"notification_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Notification Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"delete"},"get":{"tags":["Notifications"],"summary":"Get Notification","operationId":"get_notification","security":[{"AgentBearer":[]}],"parameters":[{"name":"notification_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Notification Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/profile/me/connections/linkedin":{"delete":{"tags":["LinkedIn"],"summary":"Disconnect Linkedin","operationId":"disconnect_linkedin","responses":{"204":{"description":"Successful Response"}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"delete","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]},"get":{"tags":["LinkedIn"],"summary":"Get Status","operationId":"get_status","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkedInConnectionStatus"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read","parameters":[]}},"/api/v1/profile/me/employments/{employment_id}":{"delete":{"tags":["Profile"],"summary":"Delete Employment","operationId":"delete_employment","security":[{"AgentBearer":[]}],"parameters":[{"name":"employment_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Employment Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"delete"}},"/api/v1/profile/me/languages/{language_id}":{"delete":{"tags":["Profile"],"summary":"Delete Language","operationId":"delete_language","security":[{"AgentBearer":[]}],"parameters":[{"name":"language_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Language Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"delete"}},"/api/v1/profile/me/portfolios/{portfolio_id}":{"delete":{"tags":["Profile"],"summary":"Delete Portfolio","operationId":"delete_portfolio","security":[{"AgentBearer":[]}],"parameters":[{"name":"portfolio_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Portfolio Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"delete"},"patch":{"tags":["Profile"],"summary":"Update Portfolio","operationId":"update_portfolio","security":[{"AgentBearer":[]}],"parameters":[{"name":"portfolio_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Portfolio Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"title":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"project_url":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Project Url"},"image_url":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Image Url"},"image_urls":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Image Urls","description":"Replace the full screenshot list. Omit to leave unchanged."},"hire_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Hire Id"},"show_amount":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Show Amount"}},"type":"object","title":"PortfolioUpdate","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortfolioRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/profile/me/showcase-projects/{project_id}":{"delete":{"tags":["Showcase"],"summary":"Delete Showcase","operationId":"delete_showcase","security":[{"AgentBearer":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Project Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"delete"},"patch":{"tags":["Showcase"],"summary":"Update Showcase","operationId":"update_showcase","security":[{"AgentBearer":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Project Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"title":{"anyOf":[{"type":"string","maxLength":80,"minLength":3},{"type":"null"}],"title":"Title"},"short_description":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Short Description"},"full_description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Full Description"},"category":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Category"},"skills":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":8},{"type":"null"}],"title":"Skills"},"cover_image_url":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Cover Image Url"},"image_urls":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":8},{"type":"null"}],"title":"Image Urls"},"video_url":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Video Url"},"external_link":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"External Link"},"project_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Project Date"},"hire_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Hire Id"},"is_featured":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Featured"},"sequence":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sequence"}},"type":"object","title":"ShowcaseProjectUpdate","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShowcaseProjectRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/profile/me/social-links/{link_id}":{"delete":{"tags":["Profile"],"summary":"Delete Social Link","operationId":"delete_social_link","security":[{"AgentBearer":[]}],"parameters":[{"name":"link_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Link Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"delete"},"patch":{"tags":["Profile"],"summary":"Update Social Link","operationId":"update_social_link","security":[{"AgentBearer":[]}],"parameters":[{"name":"link_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Link Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"url":{"type":"string","maxLength":500,"minLength":1,"title":"Url","examples":["https://github.com/romankliuiev"]}},"type":"object","required":["url"],"title":"SocialLinkUpdate","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocialLinkRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/profile/me/user-skills/{skill_id}":{"delete":{"tags":["Profile"],"summary":"Delete User Skill","operationId":"delete_user_skill","security":[{"AgentBearer":[]}],"parameters":[{"name":"skill_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Skill Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"delete"},"patch":{"tags":["Profile"],"summary":"Update User Skill","operationId":"update_user_skill","security":[{"AgentBearer":[]}],"parameters":[{"name":"skill_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Skill Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"skill":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Skill"},"level":{"anyOf":[{"type":"string","enum":["beginner","intermediate","advanced","expert"],"title":"SkillLevel"},{"type":"null"}]},"years_experience":{"anyOf":[{"type":"integer","maximum":70.0,"minimum":0.0},{"type":"null"}],"title":"Years Experience"}},"type":"object","title":"UserSkillUpdate","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSkillRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/profile/me/wallet":{"delete":{"tags":["Profile"],"summary":"Clear Verified Wallet","operationId":"clear_verified_wallet","responses":{"204":{"description":"Successful Response"}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"delete","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/users/me/location":{"delete":{"tags":["Users"],"summary":"Clear Location","operationId":"clear_location","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"boolean"}]},"type":"object","title":"Response Clear Location Api V1 Users Me Location Delete"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"delete","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]},"get":{"tags":["Users"],"summary":"Get Current Location","operationId":"get_current_location","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LocationResponse"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read","parameters":[]},"put":{"tags":["Users"],"summary":"Update Current Location","operationId":"update_current_location","requestBody":{"content":{"application/json":{"schema":{"properties":{"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Latitude","examples":[40.7128]},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Longitude","examples":[-74.006]}},"type":"object","required":["latitude","longitude"],"title":"LocationUpdate","additionalProperties":false}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LocationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/vacancies/{vacancy_id}":{"delete":{"tags":["Vacancies"],"summary":"Delete vacancy","description":"Delete a vacancy (soft delete - sets status to closed).","operationId":"delete_vacancy","security":[{"AgentBearer":[]}],"parameters":[{"name":"vacancy_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Vacancy Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"delete"},"get":{"tags":["Vacancies"],"summary":"Get vacancy details","description":"Get details of a specific vacancy.","operationId":"get_vacancy","security":[{"AgentBearer":[]}],"parameters":[{"name":"vacancy_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Vacancy Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VacancyRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"},"patch":{"tags":["Vacancies"],"summary":"Update vacancy","description":"Update a vacancy (only the owner can update).","operationId":"update_vacancy","security":[{"AgentBearer":[]}],"parameters":[{"name":"vacancy_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Vacancy Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"title":{"anyOf":[{"type":"string","maxLength":200,"minLength":5},{"type":"null"}],"title":"Title"},"description":{"anyOf":[{"type":"string","maxLength":5000,"minLength":20},{"type":"null"}],"title":"Description"},"categories":{"anyOf":[{"items":{"type":"string","format":"uuid"},"type":"array","maxItems":5,"minItems":1},{"type":"null"}],"title":"Categories"},"payment_type":{"anyOf":[{"type":"string","enum":["fixed","hourly"],"title":"PaymentType"},{"type":"null"}]},"rate":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Rate"},"currency":{"anyOf":[{"type":"string","maxLength":10},{"type":"null"}],"title":"Currency"},"photos":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Photos"},"latitude":{"anyOf":[{"type":"number","maximum":90.0,"minimum":-90.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number","maximum":180.0,"minimum":-180.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Longitude"},"address":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Address"},"city":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"City"},"country":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Country"},"travel_radius_km":{"anyOf":[{"type":"integer","maximum":1000.0,"minimum":1.0},{"type":"null"}],"title":"Travel Radius Km"},"is_available_now":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Available Now"},"available_from":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Available From"},"experience_years":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Experience Years"},"skills":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Skills"},"is_remote_available":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Remote Available"},"service_areas":{"anyOf":[{"items":{"properties":{"id":{"type":"string","title":"Id","description":"Stable area id, e.g. 'relation/421866'"},"name":{"type":"string","title":"Name","description":"Short display name, e.g. 'Kyiv'"},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name","description":"Full OSM display name"},"type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Type","description":"Admin level type, e.g. city/state/district"},"latitude":{"anyOf":[{"type":"number","maximum":90.0,"minimum":-90.0},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number","maximum":180.0,"minimum":-180.0},{"type":"null"}],"title":"Longitude"},"bbox":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Bbox","description":"[south, north, west, east] bounding box"},"geojson":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Geojson","description":"Simplified boundary polygon (GeoJSON Polygon/MultiPolygon)"}},"type":"object","required":["id","name"],"title":"ServiceArea","additionalProperties":false},"type":"array"},{"type":"null"}],"title":"Service Areas"},"additional_info":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Additional Info"},"worqs_cost":{"anyOf":[{"type":"integer","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Worqs Cost"}},"type":"object","title":"VacancyUpdate","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VacancyRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/wallets/{wallet_id}":{"delete":{"tags":["Wallets"],"summary":"Delete wallet","description":"Soft-delete a wallet. Works for both external and custodial wallets. Blocked with HTTP 409 if the wallet is locked to an active hire or if a custodial wallet holds on-chain funds (use the drain endpoint).","operationId":"delete_wallet","security":[{"AgentBearer":[]}],"parameters":[{"name":"wallet_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Wallet Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"204":{"description":"Wallet archived."},"409":{"description":"Wallet is locked or needs drain.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletDeleteError"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"},"get":{"tags":["Wallets"],"summary":"Get wallet by ID","operationId":"get_wallet","security":[{"AgentBearer":[]}],"parameters":[{"name":"wallet_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Wallet Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"},"patch":{"tags":["Wallets"],"summary":"Update wallet","description":"Rename wallet or set as primary. Works on both custodial and external wallets.","operationId":"update_wallet","security":[{"AgentBearer":[]}],"parameters":[{"name":"wallet_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Wallet Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"label":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Label","description":"New label for the wallet","examples":["Updated Wallet Name"]},"is_primary":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Primary","description":"Set this wallet as the primary for its network","examples":[true]}},"type":"object","title":"WalletUpdate","example":{"is_primary":true,"label":"Updated Wallet Name"},"additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/work-log-templates/{template_id}":{"delete":{"tags":["Work Log Extended"],"summary":"Delete Template","operationId":"delete_template","security":[{"AgentBearer":[]}],"parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Template Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"delete"},"patch":{"tags":["Work Log Extended"],"summary":"Update Template","operationId":"update_template","security":[{"AgentBearer":[]}],"parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Template Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Name"},"default_hours":{"anyOf":[{"type":"number","maximum":24.0,"exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Default Hours"},"default_description":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}],"title":"Default Description"},"default_tasks":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Default Tasks"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"}},"type":"object","title":"WorkLogTemplateUpdate","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkLogTemplateRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/work-logs/{work_log_id}":{"delete":{"tags":["Work Logs"],"summary":"Delete work log","description":"Delete a work log entry that has not been billed yet.","operationId":"delete_work_log","security":[{"AgentBearer":[]}],"parameters":[{"name":"work_log_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Work Log Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"delete"},"get":{"tags":["Work Logs"],"summary":"Get work log details","description":"Get detailed work log information.","operationId":"get_work_log","security":[{"AgentBearer":[]}],"parameters":[{"name":"work_log_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Work Log Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkLogRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"},"patch":{"tags":["Work Logs"],"summary":"Update work log","description":"Update a work log entry that has not been billed yet.","operationId":"update_work_log","security":[{"AgentBearer":[]}],"parameters":[{"name":"work_log_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Work Log Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"start_time":{"anyOf":[{"type":"string","format":"time"},{"type":"null"}],"title":"Start Time"},"end_time":{"anyOf":[{"type":"string","format":"time"},{"type":"null"}],"title":"End Time"},"break_minutes":{"anyOf":[{"type":"integer","maximum":480.0,"minimum":0.0},{"type":"null"}],"title":"Break Minutes"},"hours_worked":{"anyOf":[{"type":"number","maximum":24.0,"exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Hours Worked"},"description":{"anyOf":[{"type":"string","maxLength":2000,"minLength":10},{"type":"null"}],"title":"Description"},"tasks_completed":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tasks Completed"},"evidence_urls":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Evidence Urls"}},"type":"object","title":"WorkLogUpdate","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkLogRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/work-logs/{work_log_id}/evidence/{evidence_id}":{"delete":{"tags":["Work Log Extended"],"summary":"Remove Evidence","operationId":"remove_evidence","security":[{"AgentBearer":[]}],"parameters":[{"name":"work_log_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Work Log Id"}},{"name":"evidence_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Evidence Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"delete"}},"/api/v1/applications/job/{job_id}":{"get":{"tags":["Applications"],"summary":"List job applications","description":"Get applications for a specific job with applicant details (employer only).","operationId":"list_job_applications","security":[{"AgentBearer":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","enum":["pending","viewed","accepted","rejected","withdrawn"],"title":"ApplicationStatus"}},{"type":"null"}],"description":"Repeatable. Narrows the page to the given application statuses; omit it for every status.","title":"Status"}},{"name":"shortlisted","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Narrows the page to shortlisted (true) or not-shortlisted (false) applications; omit it for both.","title":"Shortlisted"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Page size","default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_ApplicationEmployerListItem_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/applications/received":{"get":{"tags":["Applications"],"summary":"List received applications","description":"Get paginated list of applications received across all jobs owned by the current user (as employer).","operationId":"list_received_applications","security":[{"AgentBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","enum":["pending","viewed","accepted","rejected","withdrawn"],"title":"ApplicationStatus"}},{"type":"null"}],"description":"Repeatable. Narrows the page to the given application statuses; omit it for every status.","title":"Status"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Page size","default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_ApplicationEmployerListItem_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/applications/sent":{"get":{"tags":["Applications"],"summary":"List sent applications","description":"Get paginated list of applications submitted by the current user (as employee).","operationId":"list_sent_applications","security":[{"AgentBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","enum":["pending","viewed","accepted","rejected","withdrawn"],"title":"ApplicationStatus"}},{"type":"null"}],"description":"Repeatable. Narrows the page to the given application statuses; omit it for every status.","title":"Status"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Page size","default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_ApplicationListItem_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/applications/{application_id}":{"get":{"tags":["Applications"],"summary":"Get application details","description":"Get details of a specific application including applicant, job, and employer info.","operationId":"get_application","security":[{"AgentBearer":[]}],"parameters":[{"name":"application_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Application Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationDetailRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/blog/authors/{slug}":{"get":{"tags":["Blog"],"summary":"Author profile and their published posts","operationId":"get_author","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlogAuthorPage"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/blog/categories":{"get":{"tags":["Blog"],"summary":"List active blog categories","operationId":"list_categories","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/BlogCategoryPublic"},"type":"array","title":"Response List Categories Api V1 Blog Categories Get"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read","parameters":[]}},"/api/v1/blog/posts":{"get":{"tags":["Blog"],"summary":"List published posts","operationId":"list_posts","parameters":[{"name":"locale","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by post language; 'all' for every language","title":"Locale"}},{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Category slug","title":"Category"}},{"name":"featured","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Only featured posts","title":"Featured"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":12,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlogPostList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/blog/posts/{slug}":{"get":{"tags":["Blog"],"summary":"Get a published post by slug","operationId":"get_post","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlogPostDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/calendar/busy":{"get":{"tags":["Calendar"],"summary":"The current user's Google free/busy inside a window","operationId":"list_busy_intervals","security":[{"AgentBearer":[]}],"parameters":[{"name":"start_at","in":"query","required":true,"schema":{"type":"string","format":"date-time","description":"Window start, inclusive","title":"Start At"}},{"name":"end_at","in":"query","required":true,"schema":{"type":"string","format":"date-time","description":"Window end, exclusive","title":"End At"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalendarBusyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/cancellation-reasons":{"get":{"tags":["Cancellation reasons"],"summary":"Active cancellation reasons","operationId":"list_cancellation_reasons","security":[{"AgentBearer":[]}],"parameters":[{"name":"applies_to","in":"query","required":false,"schema":{"anyOf":[{"enum":["job","hire"],"type":"string"},{"type":"null"}],"description":"Scope the list to order ('job') or hire termination","title":"Applies To"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CancellationReason"},"title":"Response List Cancellation Reasons Api V1 Cancellation Reasons Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/categories":{"get":{"tags":["Categories"],"summary":"List all main categories","description":"Get all main (top-level) categories with their subcategories.","operationId":"get_categories","parameters":[{"name":"include_inactive","in":"query","required":false,"schema":{"type":"boolean","const":false,"default":false}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoryListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/categories/tree":{"get":{"tags":["Categories"],"summary":"Get full category tree","description":"Get the complete category hierarchy as a tree structure.","operationId":"get_category_tree","parameters":[{"name":"include_inactive","in":"query","required":false,"schema":{"type":"boolean","const":false,"default":false}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoryTreeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/categories/{category_id}":{"get":{"tags":["Categories"],"summary":"Get category by ID","description":"Get a single category by its UUID, including subcategories.","operationId":"get_category","parameters":[{"name":"category_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Category Id"}},{"name":"include_inactive","in":"query","required":false,"schema":{"type":"boolean","const":false,"default":false}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoryWithChildren"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/categories/{category_id}/subcategories":{"get":{"tags":["Categories"],"summary":"Get subcategories","description":"Get all subcategories of a main category.","operationId":"get_subcategories","parameters":[{"name":"category_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Category Id"}},{"name":"include_inactive","in":"query","required":false,"schema":{"type":"boolean","const":false,"default":false}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CategoryResponse"},"title":"Response Get Subcategories Api V1 Categories  Category Id  Subcategories Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/chats":{"get":{"tags":["Chats"],"summary":"Get user's chats","description":"Paginated list of the caller's chats, newest activity first. Filter by chat status or by the job the chat is attached to.","operationId":"get_user_chats","security":[{"AgentBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Per Page"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string","enum":["active","archived","locked","deleted"],"title":"ChatStatus"},{"type":"null"}],"title":"Status"}},{"name":"job_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"},"post":{"tags":["Chats"],"summary":"Create a new chat","operationId":"create_chat","security":[{"AgentBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Description"},"job_id":{"type":"string","format":"uuid","title":"Job Id"},"participant_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Participant Ids"}},"type":"object","required":["job_id"],"title":"ChatCreate","additionalProperties":false}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/chats/ai/usage":{"get":{"tags":["Chat AI"],"summary":"Get weekly AI usage","operationId":"get_ai_usage","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AiUsageResponse"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read","parameters":[]}},"/api/v1/chats/job/{job_id}":{"get":{"tags":["Chats"],"summary":"Get all chats for a job","operationId":"get_job_chats","security":[{"AgentBearer":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Per Page"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/chats/{chat_id}/media":{"get":{"tags":["Chat Extended"],"summary":"Get media gallery","operationId":"get_media_gallery","security":[{"AgentBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}},{"name":"media_type","in":"query","required":false,"schema":{"type":"string","enum":["image","video","audio","document","voice","all"],"title":"MediaType","default":"all"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Per Page"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaGalleryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/chats/{chat_id}/messages":{"get":{"tags":["Chat Messages"],"summary":"Get messages","description":"Paginated messages in a chat the caller belongs to, ordered oldest to newest within the page. Use before_id/after_id to page around a known message instead of by page number.","operationId":"get_messages","security":[{"AgentBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Per Page"}},{"name":"before_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Before Id"}},{"name":"after_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"After Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatMessageListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"},"post":{"tags":["Chat Messages"],"summary":"Send a message","description":"Post a message into a chat the caller is a participant of, and notify the other participants over the chat's realtime channel.","operationId":"send_message","security":[{"AgentBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"message_type":{"type":"string","enum":["text","image","file","voice","media","system"],"title":"MessageType","default":"text"},"content":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}],"title":"Content"},"extra_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Extra Data"},"reply_to_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Reply To Id"},"attachments":{"anyOf":[{"items":{"properties":{"attachment_type":{"type":"string","enum":["image","video","audio","document","other"],"title":"AttachmentType"},"filename":{"type":"string","maxLength":255,"title":"Filename"},"original_filename":{"type":"string","maxLength":255,"title":"Original Filename"},"mime_type":{"type":"string","maxLength":100,"title":"Mime Type"},"file_size":{"type":"integer","exclusiveMinimum":0.0,"title":"File Size"},"storage_key":{"type":"string","maxLength":500,"title":"Storage Key"},"url":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Url"},"thumbnail_key":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Thumbnail Key"},"thumbnail_url":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Thumbnail Url"},"width":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Width"},"height":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Height"},"duration_seconds":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Duration Seconds"},"waveform_data":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Waveform Data"},"extra_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Extra Data"}},"type":"object","required":["attachment_type","filename","original_filename","mime_type","file_size","storage_key"],"title":"ChatAttachmentCreate","additionalProperties":false},"type":"array"},{"type":"null"}],"title":"Attachments"}},"type":"object","title":"ChatMessageCreate","additionalProperties":false}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatMessageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/chats/{chat_id}/messages/scheduled":{"get":{"tags":["Scheduled Messages"],"summary":"List the current user's pending scheduled messages in a chat","operationId":"list_scheduled_messages","security":[{"AgentBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduledMessageListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"},"post":{"tags":["Scheduled Messages"],"summary":"Schedule a message for later delivery","operationId":"schedule_message","security":[{"AgentBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"scheduled_for":{"type":"string","format":"date-time","title":"Scheduled For"},"message":{"properties":{"message_type":{"type":"string","enum":["text","image","file","voice","media","system"],"title":"MessageType","default":"text"},"content":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}],"title":"Content"},"extra_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Extra Data"},"reply_to_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Reply To Id"},"attachments":{"anyOf":[{"items":{"properties":{"attachment_type":{"type":"string","enum":["image","video","audio","document","other"],"title":"AttachmentType"},"filename":{"type":"string","maxLength":255,"title":"Filename"},"original_filename":{"type":"string","maxLength":255,"title":"Original Filename"},"mime_type":{"type":"string","maxLength":100,"title":"Mime Type"},"file_size":{"type":"integer","exclusiveMinimum":0.0,"title":"File Size"},"storage_key":{"type":"string","maxLength":500,"title":"Storage Key"},"url":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Url"},"thumbnail_key":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Thumbnail Key"},"thumbnail_url":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Thumbnail Url"},"width":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Width"},"height":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Height"},"duration_seconds":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Duration Seconds"},"waveform_data":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Waveform Data"},"extra_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Extra Data"}},"type":"object","required":["attachment_type","filename","original_filename","mime_type","file_size","storage_key"],"title":"ChatAttachmentCreate","additionalProperties":false},"type":"array"},{"type":"null"}],"title":"Attachments"}},"type":"object","title":"ChatMessageCreate","additionalProperties":false}},"type":"object","required":["scheduled_for","message"],"title":"ScheduleMessageRequest","additionalProperties":false}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduledMessageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/chats/{chat_id}/messages/search":{"get":{"tags":["Chat Messages"],"summary":"Search messages","operationId":"search_messages","security":[{"AgentBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}},{"name":"query","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":200,"title":"Query"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Per Page"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatMessageListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/chats/{chat_id}/messages/{message_id}/history":{"get":{"tags":["Chat Messages"],"summary":"Get the edit history for a message","operationId":"get_message_edit_history","security":[{"AgentBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}},{"name":"message_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Message Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatMessageEditHistoryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/chats/{chat_id}/messages/{message_id}/reactions":{"get":{"tags":["Chat Extended"],"summary":"Get message reactions","operationId":"get_reactions","security":[{"AgentBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}},{"name":"message_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Message Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageReactionsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"},"post":{"tags":["Chat Extended"],"summary":"Add reaction to message","operationId":"add_reaction","security":[{"AgentBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}},{"name":"message_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Message Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"emoji":{"type":"string","maxLength":32,"minLength":1,"title":"Emoji"}},"type":"object","required":["emoji"],"title":"MessageReactionCreate","additionalProperties":false}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageReactionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/chats/{chat_id}/messages/{message_id}/receipts":{"get":{"tags":["Chat Messages"],"summary":"Get message read receipts","operationId":"get_read_receipts","security":[{"AgentBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}},{"name":"message_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Message Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MessageReadReceiptResponse"},"title":"Response Get Read Receipts Api V1 Chats  Chat Id  Messages  Message Id  Receipts Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/chats/{chat_id}/participants":{"get":{"tags":["Chats"],"summary":"Get chat participants","operationId":"get_participants","security":[{"AgentBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ChatParticipantResponse"},"title":"Response Get Participants Api V1 Chats  Chat Id  Participants Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"},"post":{"tags":["Chats"],"summary":"Add participants to chat","operationId":"add_participants","security":[{"AgentBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"user_ids":{"items":{"type":"string","format":"uuid"},"type":"array","maxItems":50,"minItems":1,"title":"User Ids"},"role":{"type":"string","enum":["employer","employee"],"title":"ChatParticipantRole","default":"employee"}},"type":"object","required":["user_ids"],"title":"AddParticipantsRequest","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddParticipantsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/chats/{chat_id}/pinned":{"get":{"tags":["Chat Extended"],"summary":"Get pinned messages","operationId":"get_pinned_messages","security":[{"AgentBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PinnedMessagesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/chats/{chat_id}/presence":{"get":{"tags":["Chat Extended"],"summary":"Get chat users presence","operationId":"get_chat_presence","security":[{"AgentBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatUsersPresenceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/chats/{chat_id}/unread":{"get":{"tags":["Chat Extended"],"summary":"Get unread messages info","operationId":"get_unread_info","security":[{"AgentBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnreadInfo"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/community/stats":{"get":{"tags":["Community"],"summary":"Live community stats","description":"Public endpoint — total registered users + the latest few (first name and avatar only). Used by the landing page for the initial figure; live updates arrive over the `/community/ws` WebSocket.","operationId":"community_stats","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommunityStats"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read","parameters":[]}},"/api/v1/dashboard/employee":{"get":{"tags":["Dashboard"],"summary":"Get Employee Dashboard","operationId":"get_employee_dashboard","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployeeDashboardResponse"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read","parameters":[]}},"/api/v1/dashboard/employer":{"get":{"tags":["Dashboard"],"summary":"Get Employer Dashboard","operationId":"get_employer_dashboard","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployerDashboardResponse"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read","parameters":[]}},"/api/v1/dashboard/hires-pending-review":{"get":{"tags":["Dashboard"],"summary":"Get Hires Pending Review","operationId":"get_hires_pending_review","security":[{"AgentBearer":[]}],"parameters":[{"name":"role","in":"query","required":false,"schema":{"enum":["employer","employee"],"type":"string","default":"employer","title":"Role"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PendingReviewHiresResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/dashboard/inbox":{"get":{"tags":["Dashboard"],"summary":"Get Action Inbox","operationId":"get_action_inbox","security":[{"AgentBearer":[]}],"parameters":[{"name":"role","in":"query","required":false,"schema":{"enum":["employer","employee"],"type":"string","default":"employer","title":"Role"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionInboxResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/dashboard/timeseries":{"get":{"tags":["Dashboard"],"summary":"Get Dashboard Timeseries","operationId":"get_dashboard_timeseries","security":[{"AgentBearer":[]}],"parameters":[{"name":"role","in":"query","required":false,"schema":{"enum":["employer","employee"],"type":"string","default":"employer","title":"Role"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":7,"default":30,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimeseriesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/devices":{"get":{"tags":["Devices"],"summary":"Devices this account has signed in from","operationId":"list_my_devices","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MyDeviceListResponse"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read","parameters":[]}},"/api/v1/disputes/{escrow_id}":{"get":{"tags":["Dispute Chat"],"summary":"Get dispute chat info","description":"Get information about a dispute chat, including participants and stats.","operationId":"get_dispute_chat_info","security":[{"AgentBearer":[]}],"parameters":[{"name":"escrow_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Escrow Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DisputeChatInfo"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/disputes/{escrow_id}/messages":{"get":{"tags":["Dispute Chat"],"summary":"Get dispute messages","description":"Get paginated list of messages in a dispute chat.","operationId":"get_dispute_messages","security":[{"AgentBearer":[]}],"parameters":[{"name":"escrow_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Escrow Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Items per page","default":50,"title":"Per Page"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"},"post":{"tags":["Dispute Chat"],"summary":"Send dispute message","description":"Send a new message in a dispute chat.","operationId":"send_dispute_message","security":[{"AgentBearer":[]}],"parameters":[{"name":"escrow_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Escrow Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"content":{"type":"string","maxLength":5000,"title":"Content","default":""},"message_type":{"type":"string","title":"Message Type","default":"text"},"visibility":{"type":"string","enum":["all"]},"extra_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Extra Data"},"attachments":{"anyOf":[{"items":{"properties":{"filename":{"type":"string","maxLength":255,"title":"Filename"},"file_type":{"type":"string","maxLength":50,"title":"File Type"},"file_size":{"type":"integer","exclusiveMinimum":0.0,"title":"File Size"},"description":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Description"},"storage_key":{"type":"string","maxLength":500,"title":"Storage Key"},"thumbnail_key":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Thumbnail Key"},"attachment_type":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Attachment Type","description":"image, video, audio, document, other"},"original_filename":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Original Filename"},"width":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Width"},"height":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Height"},"duration_seconds":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Duration Seconds"},"waveform_data":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Waveform Data"}},"type":"object","required":["filename","file_type","file_size","storage_key"],"title":"AttachmentCreate","additionalProperties":false},"type":"array"},{"type":"null"}],"title":"Attachments"}},"type":"object","title":"MessageCreate","additionalProperties":false}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/escrows/hire/{hire_id}":{"get":{"tags":["Escrows"],"summary":"Get Escrows By Hire","operationId":"get_escrows_by_hire","security":[{"AgentBearer":[]}],"parameters":[{"name":"hire_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Hire Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HireEscrowsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/escrows/job/{job_id}":{"get":{"tags":["Escrows"],"summary":"List escrows for a job","description":"Get all escrows for a specific job.","operationId":"get_escrows_by_job","security":[{"AgentBearer":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HireEscrowsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/escrows/milestone/{milestone_id}":{"get":{"tags":["Escrows"],"summary":"Get Escrow By Milestone","operationId":"get_escrow_by_milestone","security":[{"AgentBearer":[]}],"parameters":[{"name":"milestone_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Milestone Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EscrowResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/escrows/my":{"get":{"tags":["Escrows"],"summary":"List My Escrows","operationId":"list_my_escrows","security":[{"AgentBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string","enum":["draft","created","funded","pending_release","released","disputed","resolved","cancelled"],"title":"EscrowStatus"},{"type":"null"}],"title":"Status"}},{"name":"role","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^(employer|employee)$"},{"type":"null"}],"title":"Role"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Per Page"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__schemas__escrow__EscrowListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/escrows/{escrow_db_id}":{"get":{"tags":["Escrows"],"summary":"Get Escrow","operationId":"get_escrow","security":[{"AgentBearer":[]}],"parameters":[{"name":"escrow_db_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Escrow Db Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EscrowResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/escrows/{escrow_db_id}/dispute/proposals":{"get":{"tags":["Escrows"],"summary":"List proposals","description":"List all split proposals for a dispute.","operationId":"list_dispute_proposals","security":[{"AgentBearer":[]}],"parameters":[{"name":"escrow_db_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Escrow Db Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Per Page"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProposalListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/escrows/{escrow_db_id}/preflight":{"get":{"tags":["Escrows"],"summary":"Pre-check balance before depositing to an escrow","description":"Checks the locked employer wallet has enough of each currency the escrow requires (token amount + commission, plus the SOL the network charges for this exact transaction — signature fee, priority fee, escrow/vault rent — and the rent-exempt floor the wallet must keep). Call this right before /deposit to give the user a clear error state instead of a generic RPC failure.","operationId":"preflight","security":[{"AgentBearer":[]}],"parameters":[{"name":"escrow_db_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Escrow Db Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EscrowPreflightResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/fees/estimate":{"get":{"tags":["Fees"],"summary":"Estimate the Solana network cost of an action","description":"Deterministic SOL cost the signer pays for one on-chain action: signature fees, priority fee, refundable rent (escrow/period/vault PDAs, returned on close) and non-refundable rent (token accounts that belong to the recipient or the treasury). The platform never pays gas on a user's behalf.\n\nPass `wallet_id` to get the caller's SOL balance and sufficiency. Pass `escrow_id`, `hire_id` or `recipient_address` to refine the estimate against the chain; `chain_checked` reports whether that refinement succeeded — when it is false the figure is the worst case.","operationId":"estimate_fee","security":[{"AgentBearer":[]}],"parameters":[{"name":"flow","in":"query","required":true,"schema":{"type":"string","enum":["escrow_create_and_fund","escrow_deposit","escrow_confirm","escrow_release","escrow_cancel","escrow_raise_dispute","hourly_open_and_fund","hourly_fund","direct_pay","wallet_send","wallet_drain"],"title":"NetworkFeeFlow","description":"Action being priced"}},{"name":"currency","in":"query","required":true,"schema":{"type":"string","enum":["SOL","USDC","USDT","EURC"],"title":"PaymentCurrency","description":"Currency the action moves"}},{"name":"wallet_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"description":"Custodial wallet paying the fee","title":"Wallet Id"}},{"name":"escrow_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"description":"Escrow to refine the estimate against","title":"Escrow Id"}},{"name":"hire_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"description":"Hourly hire to refine the estimate against","title":"Hire Id"}},{"name":"amount_lamports","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"description":"Native amount the same transaction moves","title":"Amount Lamports"}},{"name":"recipient_address","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Destination owner for pay/send/drain flows","title":"Recipient Address"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NetworkFeeEstimateResponse"}}}},"404":{"description":"Wallet, escrow or hire not found for this user."},"503":{"description":"Solana RPC unavailable — balance could not be read."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/hires/job/{job_id}":{"get":{"tags":["Hires"],"summary":"List all hires on a job (employer view)","description":"Return every Hire attached to a job, including completed and terminated ones. Employer-only — 403 for any other caller. Non-paginated because a single job rarely has more than ~20 hires.","operationId":"list_hires_for_job","security":[{"AgentBearer":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/HireListItem"},"title":"Response List Hires For Job Api V1 Hires Job  Job Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/hires/received":{"get":{"tags":["Hires"],"summary":"List received hires","description":"Get paginated list of hires where the current user is the employee (hires you received).","operationId":"list_received_hires","security":[{"AgentBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","enum":["pending_employee_acceptance","active","in_progress","closing","completed","terminated","declined","disputed"],"title":"HireStatus"}},{"type":"null"}],"description":"Repeatable. Narrows the page to the given hire statuses; omit it for every status.","title":"Status"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Page size","default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_HireListItem_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/hires/sent":{"get":{"tags":["Hires"],"summary":"List sent hires","description":"Get paginated list of hires where the current user is the employer (hires you created).","operationId":"list_sent_hires","security":[{"AgentBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","enum":["pending_employee_acceptance","active","in_progress","closing","completed","terminated","declined","disputed"],"title":"HireStatus"}},{"type":"null"}],"description":"Repeatable. Narrows the page to the given hire statuses; omit it for every status.","title":"Status"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Page size","default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_HireListItem_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/hires/{hire_id}":{"get":{"tags":["Hires"],"summary":"Get hire details","description":"Full detail of one hire: status, both parties, payment mode, agreed rate and its associated escrows or hourly periods. Callable by either the employer or the employee on the hire.","operationId":"get_hire","security":[{"AgentBearer":[]}],"parameters":[{"name":"hire_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Hire Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HireDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/hires/{hire_id}/files":{"get":{"tags":["Hires"],"summary":"List every file attached to a contract","description":"One flat, chronologically grouped feed of the contract's files: employer-supplied milestone references, worker deliverables from every submission round, and work-log evidence on hourly contracts. Replaces the per-milestone fan-out the contract page used to do. Employer or worker only, at any hire status — a completed contract still serves its archive.","operationId":"list_hire_files","security":[{"AgentBearer":[]}],"parameters":[{"name":"hire_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Hire Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HireFilesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/hires/{hire_id}/periods":{"get":{"tags":["Hourly"],"summary":"List hourly weeks","description":"Budget meter for an hourly hire: one entry per hire-anchored 168h week with cap (hours + money), funded amount, staged/released totals, the remaining allowance and the per-invoice breakdown.","operationId":"list_periods","security":[{"AgentBearer":[]}],"parameters":[{"name":"hire_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Hire Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/HourlyPeriodRead"},"title":"Response List Periods Api V1 Hires  Hire Id  Periods Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/hires/{hire_id}/periods/current":{"get":{"tags":["Hourly"],"summary":"Current hourly week","description":"The week that contains 'now' for this hire-anchored schedule.","operationId":"current_period","security":[{"AgentBearer":[]}],"parameters":[{"name":"hire_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Hire Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HourlyPeriodRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/hires/{hire_id}/timeline":{"get":{"tags":["Hires"],"summary":"Get the hire's activity timeline","description":"Chronological events on a hire — funding, milestone or invoice state changes, disputes and completion — for progress tracking without re-reading every child object.","operationId":"get_hire_timeline","security":[{"AgentBearer":[]}],"parameters":[{"name":"hire_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Hire Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/HireTimelineEvent"},"title":"Response Get Hire Timeline Api V1 Hires  Hire Id  Timeline Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/hires/{hire_id}/work-log-templates":{"get":{"tags":["Work Log Extended"],"summary":"List Templates","operationId":"list_templates","security":[{"AgentBearer":[]}],"parameters":[{"name":"hire_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Hire Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WorkLogTemplateRead"},"title":"Response List Templates Api V1 Hires  Hire Id  Work Log Templates Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"},"post":{"tags":["Work Log Extended"],"summary":"Create Template","operationId":"create_template","security":[{"AgentBearer":[]}],"parameters":[{"name":"hire_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Hire Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name"},"default_hours":{"anyOf":[{"type":"number","maximum":24.0,"exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Default Hours"},"default_description":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}],"title":"Default Description"},"default_tasks":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Default Tasks"}},"type":"object","required":["name"],"title":"WorkLogTemplateCreate","additionalProperties":false}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkLogTemplateRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/invitations/my":{"get":{"tags":["Invitations"],"summary":"List my received invitations","description":"Get invitations received by the current user (as employee).","operationId":"list_my_invitations","security":[{"AgentBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by status: pending, accepted, declined, expired","title":"Status"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Page size","default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_InvitationRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/invitations/sent":{"get":{"tags":["Invitations"],"summary":"List my sent invitations","description":"Get invitations sent by the current user (as employer).","operationId":"list_sent_invitations","security":[{"AgentBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by status: pending, accepted, declined, expired","title":"Status"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Page size","default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_InvitationRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/invitations/{invitation_id}":{"get":{"tags":["Invitations"],"summary":"Get invitation details","description":"Get details of a specific invitation.","operationId":"get_invitation","security":[{"AgentBearer":[]}],"parameters":[{"name":"invitation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Invitation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvitationRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/invoices/hire/{hire_id}":{"get":{"tags":["Invoices"],"summary":"List invoices for hire","description":"Get all invoices for a specific hire.","operationId":"list_invoices_for_hire","security":[{"AgentBearer":[]}],"parameters":[{"name":"hire_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Hire Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/InvoiceDetailRead"},"title":"Response List Invoices For Hire Api V1 Invoices Hire  Hire Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/invoices/hire/{hire_id}/totals":{"get":{"tags":["Invoices"],"summary":"Get invoice totals","description":"Get invoice totals summary for a hire.","operationId":"get_invoice_totals","security":[{"AgentBearer":[]}],"parameters":[{"name":"hire_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Hire Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceTotals"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/invoices/my":{"get":{"tags":["Invoices"],"summary":"List my invoices","description":"Get invoices created by the current user (as employee).","operationId":"list_my_invoices","security":[{"AgentBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string","enum":["draft","submitted","approved","disputed","paid","cancelled"],"title":"InvoiceStatus"},{"type":"null"}],"title":"Status"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Page size","default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_InvoiceListItem_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/invoices/pending":{"get":{"tags":["Invoices"],"summary":"List pending invoices","description":"Get invoices pending approval (as employer).","operationId":"list_pending_invoices","security":[{"AgentBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Page size","default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_InvoiceListItem_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/invoices/{invoice_id}":{"get":{"tags":["Invoices"],"summary":"Get invoice details","description":"Get detailed invoice information including line items.","operationId":"get_invoice","security":[{"AgentBearer":[]}],"parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceDetailRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/jobs":{"get":{"tags":["Jobs"],"summary":"List jobs","description":"Get paginated list of active jobs with employer info. Supports filtering and sorting.","operationId":"list_jobs","security":[{"AgentBearer":[]}],"parameters":[{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Search in title and description","title":"Search"}},{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"description":"Filter by main category UUID","title":"Category"}},{"name":"subcategories","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","format":"uuid"}},{"type":"null"}],"description":"Filter by subcategory UUIDs","title":"Subcategories"}},{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by city","title":"City"}},{"name":"country","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by country","title":"Country"}},{"name":"is_remote","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Filter remote jobs","title":"Is Remote"}},{"name":"is_urgent","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Filter urgent jobs","title":"Is Urgent"}},{"name":"min_rate","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"description":"Minimum rate","title":"Min Rate"}},{"name":"max_rate","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"description":"Maximum rate","title":"Max Rate"}},{"name":"payment_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string","enum":["fixed","hourly"],"title":"PaymentType"},{"type":"null"}],"description":"Filter by payment type","title":"Payment Type"}},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by currency (e.g., USD, EUR)","title":"Currency"}},{"name":"has_photos","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Filter jobs with photos only","title":"Has Photos"}},{"name":"min_duration_hours","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}],"description":"Minimum duration in hours","title":"Min Duration Hours"}},{"name":"max_duration_hours","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}],"description":"Maximum duration in hours","title":"Max Duration Hours"}},{"name":"published_after","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Only jobs published at or after this instant. Jobs that were never stamped with a publication time are excluded.","title":"Published After"}},{"name":"latitude","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":90,"minimum":-90},{"type":"null"}],"description":"Center latitude for geo search","title":"Latitude"}},{"name":"longitude","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":180,"minimum":-180},{"type":"null"}],"description":"Center longitude for geo search","title":"Longitude"}},{"name":"radius_km","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":500,"minimum":1},{"type":"null"}],"description":"Search radius in kilometers","title":"Radius Km"}},{"name":"sort_by","in":"query","required":false,"schema":{"type":"string","enum":["created_at","updated_at","rate","start_date","title","distance"],"title":"JobSortField","description":"Field to sort by","default":"created_at"}},{"name":"sort_order","in":"query","required":false,"schema":{"type":"string","enum":["asc","desc"],"title":"SortOrder","description":"Sort direction","default":"desc"}},{"name":"hide_boosted","in":"query","required":false,"schema":{"type":"boolean","description":"Exclude Prime-boosted listings from priority ranking","default":false,"title":"Hide Boosted"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Page size","default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_JobListItem_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"},"post":{"tags":["Jobs"],"summary":"Create a new job","description":"Create a new job posting as an employer.","operationId":"create_job","security":[{"AgentBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"title":{"type":"string","maxLength":200,"minLength":5,"title":"Title","description":"Job title","examples":["Need a plumber for bathroom renovation"]},"description":{"type":"string","maxLength":20000,"minLength":20,"title":"Description","description":"Detailed job description","examples":["Looking for an experienced plumber to help with bathroom renovation..."]},"categories":{"items":{"type":"string","format":"uuid"},"type":"array","minItems":1,"title":"Categories","description":"List of category UUIDs","examples":[["550e8400-e29b-41d4-a716-446655440000"]]},"payment_type":{"type":"string","enum":["fixed","hourly"],"title":"PaymentType","description":"Type of payment","default":"fixed"},"rate":{"anyOf":[{"type":"number","exclusiveMaximum":1000000000.0,"exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Rate","description":"Payment rate/amount","examples":["150.00"]},"currency":{"type":"string","maxLength":10,"title":"Currency","description":"Currency code","default":"USDC","examples":["USDC","EURC"]},"max_hires":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Max Hires","description":"Maximum concurrent active hires allowed on this job. NULL = unlimited (legacy default). When set, the job is hidden from listings once the cap is reached and further applications are rejected.","examples":[3]},"default_payment_mode":{"type":"string","title":"Default Payment Mode","description":"Default settlement mode copied into new hires. 'escrowed' locks funds upfront with dispute support; 'direct_split' runs each payment through pay_with_commission without pre-locking. Employers can still override per-hire.","default":"escrowed","examples":["escrowed","direct_split"]},"photos":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Photos","description":"List of photo URLs"},"latitude":{"anyOf":[{"type":"number","maximum":90.0,"minimum":-90.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Latitude","description":"Job location latitude"},"longitude":{"anyOf":[{"type":"number","maximum":180.0,"minimum":-180.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Longitude","description":"Job location longitude"},"address":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Address"},"city":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"City"},"country":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Country"},"search_radius_km":{"type":"integer","maximum":1000.0,"minimum":1.0,"title":"Search Radius Km","description":"Search radius in kilometers","default":100},"estimated_duration_hours":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Estimated Duration Hours","description":"Estimated duration in hours"},"weekly_hours_limit":{"anyOf":[{"type":"integer","maximum":168.0,"minimum":1.0},{"type":"null"}],"title":"Weekly Hours Limit","description":"Weekly billable hours cap for hourly jobs"},"start_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date","description":"Preferred start date"},"end_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","description":"Deadline"},"is_remote":{"type":"boolean","title":"Is Remote","description":"Can be done remotely","default":false},"is_urgent":{"type":"boolean","title":"Is Urgent","description":"Is urgent","default":false},"worqs_cost":{"type":"integer","maximum":100.0,"minimum":0.0,"title":"Worqs Cost","default":0},"additional_conditions":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Additional Conditions","description":"Additional conditions as JSON"},"milestones":{"anyOf":[{"items":{"properties":{"title":{"type":"string","maxLength":200,"minLength":3,"title":"Title","examples":["Design Mockups"]},"description":{"type":"string","maxLength":20000,"minLength":10,"title":"Description","examples":["Create UI/UX mockups for all screens"]},"deliverable":{"type":"string","maxLength":500,"minLength":1,"title":"Deliverable","examples":["Figma file with 5 screens in .fig format"]},"amount":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Amount","default":"0","examples":["500.00"]},"percentage":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Percentage"},"currency":{"type":"string","maxLength":10,"title":"Currency","default":"USDC"},"is_free":{"type":"boolean","title":"Is Free","default":false},"due_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Due Date"}},"type":"object","required":["title","description","deliverable"],"title":"JobMilestoneTemplate","additionalProperties":false},"type":"array","maxItems":20},{"type":"null"}],"title":"Milestones","description":"Optional milestone templates to include with the job"},"required_skills":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Required Skills","description":"Required skill names"}},"type":"object","required":["title","description","categories","rate"],"title":"JobCreate","example":{"categories":["550e8400-e29b-41d4-a716-446655440000"],"city":"Kyiv","country":"Ukraine","currency":"USDC","description":"Looking for an experienced plumber to help with complete bathroom renovation including pipe replacement, fixture installation, and tiling.","is_remote":false,"is_urgent":true,"latitude":"50.4501","longitude":"30.5234","payment_type":"fixed","rate":"500.00","search_radius_km":50,"title":"Need a plumber for bathroom renovation"},"additionalProperties":false}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/jobs/bbox":{"get":{"tags":["Jobs"],"summary":"Get jobs in bounding box","description":"Get jobs within a geographic bounding box for map views.","operationId":"get_jobs_in_bbox","security":[{"AgentBearer":[]}],"parameters":[{"name":"min_lat","in":"query","required":true,"schema":{"type":"number","maximum":90,"minimum":-90,"description":"Minimum latitude","title":"Min Lat"}},{"name":"min_lng","in":"query","required":true,"schema":{"type":"number","maximum":180,"minimum":-180,"description":"Minimum longitude","title":"Min Lng"}},{"name":"max_lat","in":"query","required":true,"schema":{"type":"number","maximum":90,"minimum":-90,"description":"Maximum latitude","title":"Max Lat"}},{"name":"max_lng","in":"query","required":true,"schema":{"type":"number","maximum":180,"minimum":-180,"description":"Maximum longitude","title":"Max Lng"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"description":"Maximum results","default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobsMapResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/jobs/map":{"get":{"tags":["Jobs"],"summary":"Get jobs for map display","description":"Get jobs within a radius of user's current location for map display. Uses user's stored location. Returns minimal data optimized for map markers.","operationId":"get_jobs_on_map","security":[{"AgentBearer":[]}],"parameters":[{"name":"radius_km","in":"query","required":false,"schema":{"type":"number","maximum":500,"minimum":1,"description":"Search radius in kilometers","default":50.0,"title":"Radius Km"}},{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"description":"Filter by category UUID","title":"Category"}},{"name":"is_remote","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Filter remote jobs","title":"Is Remote"}},{"name":"is_urgent","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Filter urgent jobs","title":"Is Urgent"}},{"name":"latitude","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":90,"minimum":-90},{"type":"null"}],"description":"Custom center latitude (overrides user location)","title":"Latitude"}},{"name":"longitude","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":180,"minimum":-180},{"type":"null"}],"description":"Custom center longitude (overrides user location)","title":"Longitude"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"description":"Maximum number of jobs to return","default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobsMapResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/jobs/my":{"get":{"tags":["Jobs"],"summary":"List my jobs","description":"Get paginated list of jobs created by the current user.","operationId":"list_my_jobs","security":[{"AgentBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string","enum":["draft","active","in_progress","paused","completed","cancelled","expired"],"title":"JobStatus"},{"type":"null"}],"description":"Filter by job status","title":"Status"}},{"name":"sort_by","in":"query","required":false,"schema":{"type":"string","enum":["created_at","updated_at","rate","start_date","title","distance"],"title":"JobSortField","description":"Field to sort by","default":"created_at"}},{"name":"sort_order","in":"query","required":false,"schema":{"type":"string","enum":["asc","desc"],"title":"SortOrder","description":"Sort direction","default":"desc"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Page size","default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_JobRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/jobs/saved":{"get":{"tags":["Jobs"],"summary":"List saved jobs","description":"Get the paginated list of jobs the current user has bookmarked, newest save first.","operationId":"list_saved_jobs","security":[{"AgentBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Page size","default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_JobListItem_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/matching/jobs/{job_id}/applicants":{"get":{"tags":["Matching"],"summary":"Ranked applicants for a job","description":"Every applicant on the job, ranked by match score. Applicants excluded by a hard filter are still returned, carrying filtered, filter_reason and filter_code with an empty factor list.","operationId":"job_applicants","security":[{"AgentBearer":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string","enum":["pending","viewed","accepted","rejected","withdrawn"],"title":"ApplicationStatus"},{"type":"null"}],"description":"Only rank applications in this status","title":"Status"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicantMatchList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/matching/jobs/{job_id}/candidates":{"get":{"tags":["Matching"],"summary":"Ranked candidates for a job","operationId":"job_candidates","security":[{"AgentBearer":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CandidateMatchList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/matching/jobs/{job_id}/candidates/{user_id}":{"get":{"tags":["Matching"],"summary":"Match breakdown for one candidate","operationId":"candidate_breakdown","security":[{"AgentBearer":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}},{"name":"user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MatchBreakdown"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/matching/jobs/{job_id}/my-match":{"get":{"tags":["Matching"],"summary":"My match for a job","operationId":"my_match","security":[{"AgentBearer":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MatchBreakdown"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/matching/me/jobs":{"get":{"tags":["Matching"],"summary":"Ranked jobs for the current user","operationId":"my_job_matches","security":[{"AgentBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":20,"title":"Limit"}},{"name":"include","in":"query","required":false,"schema":{"anyOf":[{"const":"job","type":"string"},{"type":"null"}],"description":"Pass include=job to embed the full job list item per match","title":"Include"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobMatchList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/mcp/operations":{"get":{"tags":["AI connections"],"summary":"List MCP operations","description":"List money-moving and other tracked MCP operations for the current connection, paginated by creation time or looked up by a single operation_key for an agent connection.","operationId":"list_agent_operations","security":[{"AgentBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"before","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Before"}},{"name":"operation_key","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Operation Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPOperationList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/mcp/operations/{operation_id}":{"get":{"tags":["AI connections"],"summary":"Get an MCP operation","description":"Read one MCP operation's current status, request and result, optionally refreshing its linked on-chain transactions from the ledger.","operationId":"get_agent_operation","security":[{"AgentBearer":[]}],"parameters":[{"name":"operation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Operation Id"}},{"name":"refresh","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Refresh"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPOperationRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/me/consents":{"get":{"tags":["Privacy"],"summary":"Get Consents","operationId":"get_consents","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsentStateResponse"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read","parameters":[]},"post":{"tags":["Privacy"],"summary":"Update Consents","operationId":"update_consents","requestBody":{"content":{"application/json":{"schema":{"properties":{"consents":{"items":{"properties":{"consent_type":{"type":"string","enum":["terms","privacy","age","marketing","cookies_functional","cookies_analytics","cookies_marketing"],"title":"ConsentType"},"granted":{"type":"boolean","title":"Granted"}},"type":"object","required":["consent_type","granted"],"title":"ConsentItemIn","additionalProperties":false},"type":"array","maxItems":20,"minItems":1,"title":"Consents"}},"type":"object","required":["consents"],"title":"ConsentUpdateRequest","additionalProperties":false}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsentStateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/me/data-export":{"get":{"tags":["Privacy"],"summary":"Data Export Endpoint","operationId":"data_export_endpoint","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read","parameters":[]}},"/api/v1/meeting-invites/by-application/{application_id}":{"get":{"tags":["Meeting invites"],"summary":"List the interview invites on an application","operationId":"list_meeting_invites","security":[{"AgentBearer":[]}],"parameters":[{"name":"application_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Application Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MeetingInviteRead"},"title":"Response List Meeting Invites Api V1 Meeting Invites By Application  Application Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/meeting-invites/{invite_id}/slots":{"get":{"tags":["Meeting invites"],"summary":"The times an applicant can still pick for an invite","operationId":"list_meeting_invite_slots","security":[{"AgentBearer":[]}],"parameters":[{"name":"invite_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Invite Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeetingInviteSlots"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/meetings/by-application/{application_id}":{"get":{"tags":["Meetings"],"summary":"List meetings on an application","operationId":"list_meetings","security":[{"AgentBearer":[]}],"parameters":[{"name":"application_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Application Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MeetingRead"},"title":"Response List Meetings Api V1 Meetings By Application  Application Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/meetings/calendar":{"get":{"tags":["Meetings"],"summary":"List the current user's meetings overlapping a time window","operationId":"list_calendar_meetings","security":[{"AgentBearer":[]}],"parameters":[{"name":"start_at","in":"query","required":true,"schema":{"type":"string","format":"date-time","description":"Window start, inclusive","title":"Start At"}},{"name":"end_at","in":"query","required":true,"schema":{"type":"string","format":"date-time","description":"Window end, exclusive","title":"End At"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MeetingRead"},"title":"Response List Calendar Meetings Api V1 Meetings Calendar Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/milestones/job/{job_id}":{"get":{"tags":["Milestones"],"summary":"List milestones for job","description":"Get all milestones for a specific job.","operationId":"list_milestones_for_job","security":[{"AgentBearer":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MilestoneRead"},"title":"Response List Milestones For Job Api V1 Milestones Job  Job Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/milestones/job/{job_id}/progress":{"get":{"tags":["Milestones"],"summary":"Get milestone progress","description":"Get milestone progress summary for a job.","operationId":"get_milestone_progress","security":[{"AgentBearer":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MilestoneProgress"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/milestones/job/{job_id}/public":{"get":{"tags":["Milestones"],"summary":"List the public milestone plan for a job","description":"Public milestone breakdown (plan only) — visible to anyone, so a worker can review the stages and payment split before applying. Excludes per-hire workflow data (status, feedback, escrow, payment).","operationId":"list_public_milestones_for_job","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MilestonePublic"},"title":"Response List Public Milestones For Job Api V1 Milestones Job  Job Id  Public Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/milestones/{milestone_id}":{"get":{"tags":["Milestones"],"summary":"Get milestone details","description":"Get detailed milestone information.","operationId":"get_milestone","security":[{"AgentBearer":[]}],"parameters":[{"name":"milestone_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Milestone Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MilestoneRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"},"patch":{"tags":["Milestones"],"summary":"Update milestone","description":"Update a pending milestone (employer only, before hire).","operationId":"update_milestone","security":[{"AgentBearer":[]}],"parameters":[{"name":"milestone_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Milestone Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"title":{"anyOf":[{"type":"string","maxLength":200,"minLength":3},{"type":"null"}],"title":"Title"},"description":{"anyOf":[{"type":"string","maxLength":20000,"minLength":10},{"type":"null"}],"title":"Description"},"deliverable":{"anyOf":[{"type":"string","maxLength":500,"minLength":1},{"type":"null"}],"title":"Deliverable"},"amount":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Amount"},"is_free":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Free"},"due_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Due Date"}},"type":"object","title":"MilestoneUpdate","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MilestoneRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/milestones/{milestone_id}/attachments":{"get":{"tags":["Milestone Files"],"summary":"List attachments on a milestone","operationId":"list_attachments","security":[{"AgentBearer":[]}],"parameters":[{"name":"milestone_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Milestone Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MilestoneAttachmentRead"},"title":"Response List Attachments Api V1 Milestones  Milestone Id  Attachments Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"},"post":{"tags":["Milestone Files"],"summary":"Add a reference attachment (employer)","operationId":"add_attachment","security":[{"AgentBearer":[]}],"parameters":[{"name":"milestone_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Milestone Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"kind":{"type":"string","enum":["image","video","document","archive","link","other"],"title":"Kind","default":"other"},"provider":{"type":"string","enum":["raw","figma","github","gitlab","youtube","notion","gdrive","dropbox","loom","other"],"title":"Provider","default":"raw"},"url":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"title":"Url"},"storage_key":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"}],"title":"Storage Key"},"file_name":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"File Name"},"file_size":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"File Size"},"mime_type":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Mime Type"},"title":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Title"},"description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Description"},"sequence_order":{"type":"integer","title":"Sequence Order","default":0}},"type":"object","title":"MilestoneAttachmentCreate","additionalProperties":false}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MilestoneAttachmentRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/milestones/{milestone_id}/requirements":{"get":{"tags":["Milestones"],"summary":"List Requirements","operationId":"list_requirements","security":[{"AgentBearer":[]}],"parameters":[{"name":"milestone_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Milestone Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MilestoneRequirementRead"},"title":"Response List Requirements Api V1 Milestones  Milestone Id  Requirements Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"},"post":{"tags":["Milestones"],"summary":"Add Requirement","operationId":"add_requirement","security":[{"AgentBearer":[]}],"parameters":[{"name":"milestone_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Milestone Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"title":{"type":"string","maxLength":255,"minLength":1,"title":"Title"},"description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Description"},"is_required":{"type":"boolean","title":"Is Required","default":true},"sequence_order":{"type":"integer","title":"Sequence Order","default":0}},"type":"object","required":["title"],"title":"MilestoneRequirementCreate","additionalProperties":false}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MilestoneRequirementRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/milestones/{milestone_id}/requirements/progress":{"get":{"tags":["Milestones"],"summary":"Get Requirements Progress","operationId":"get_requirements_progress","security":[{"AgentBearer":[]}],"parameters":[{"name":"milestone_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Milestone Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Requirements Progress Api V1 Milestones  Milestone Id  Requirements Progress Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/milestones/{milestone_id}/reviews":{"get":{"tags":["Milestones"],"summary":"List Reviews","operationId":"list_reviews","security":[{"AgentBearer":[]}],"parameters":[{"name":"milestone_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Milestone Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MilestoneReviewRead"},"title":"Response List Reviews Api V1 Milestones  Milestone Id  Reviews Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"},"post":{"tags":["Milestones"],"summary":"Create Review","operationId":"create_review","security":[{"AgentBearer":[]}],"parameters":[{"name":"milestone_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Milestone Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"review_type":{"type":"string","pattern":"^(approval|revision_request|rejection)$","title":"Review Type"},"overall_notes":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}],"title":"Overall Notes"},"requirement_reviews":{"items":{"properties":{"requirement_id":{"type":"string","format":"uuid","title":"Requirement Id"},"is_satisfied":{"type":"boolean","title":"Is Satisfied"},"feedback":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Feedback"}},"type":"object","required":["requirement_id","is_satisfied"],"title":"RequirementReviewCreate","additionalProperties":false},"type":"array","title":"Requirement Reviews","default":[]}},"type":"object","required":["review_type"],"title":"MilestoneReviewCreate","additionalProperties":false}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MilestoneReviewRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/milestones/{milestone_id}/submissions":{"get":{"tags":["Milestone Files"],"summary":"List all submission rounds for a milestone","operationId":"list_submissions","security":[{"AgentBearer":[]}],"parameters":[{"name":"milestone_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Milestone Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MilestoneSubmissionRead"},"title":"Response List Submissions Api V1 Milestones  Milestone Id  Submissions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/milestones/{milestone_id}/submissions/current":{"get":{"tags":["Milestone Files"],"summary":"Get the latest submission round (draft or last frozen)","operationId":"get_current_submission","security":[{"AgentBearer":[]}],"parameters":[{"name":"milestone_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Milestone Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MilestoneSubmissionRead"},{"type":"null"}],"title":"Response Get Current Submission Api V1 Milestones  Milestone Id  Submissions Current Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/notifications":{"get":{"tags":["Notifications"],"summary":"List notifications","description":"Paginated list of the caller's in-app notifications, newest first. Filter by read/unread status or by notification type; omit both to get every notification.","operationId":"list_notifications","security":[{"AgentBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string","enum":["unread","read","archived"],"title":"NotificationStatus"},{"type":"null"}],"title":"Status"}},{"name":"notification_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string","enum":["job_application_received","job_application_accepted","job_application_rejected","job_published","job_completed","job_removed_by_admin","job_restored_by_admin","vacancy_removed_by_admin","vacancy_restored_by_admin","chat_message_removed_by_admin","chat_locked_by_admin","kyc_approved","kyc_rejected","hire_created","hire_completed","hire_terminated","hire_proposed","hire_declined","hire_stopped","hire_closed","wallet_locked","wallet_unlocked","wallet_swap_proposed","wallet_swap_approved","wallet_swap_rejected","wallet_drain_completed","wallet_secret_revealed","escrow_created","escrow_funded","escrow_confirmed","escrow_ready_for_release","escrow_released","escrow_disputed","escrow_resolved","escrow_cancelled","transaction_completed","transaction_failed","deposit_received","withdrawal_processed","payment_completed","payment_received","payment_failed","review_received","level_up","level_down","invoice_submitted","invoice_approved","invoice_disputed","invoice_paid","invoice_released","week_funded","week_cap_raised","week_settled","week_unfunded","fund_reminder_t1","week_auto_funded","week_autofund_failed","week_auto_billed","week_hours_over_cap","funding_requested","work_log_submitted","milestone_started","milestone_submitted","milestone_revision_requested","milestone_approved","milestone_paid","dispute_proposal_received","dispute_proposal_accepted","dispute_escalated","dispute_deadline_warning","dispute_resolved","dispute_resolution_failed","invitation_received","invitation_accepted","invitation_declined","proposal_received","proposal_accepted","proposal_declined","interview_scheduled","interview_rescheduled","interview_cancelled","interview_reminder","interview_invite_received","interview_invite_accepted","interview_invite_cancelled","calendar_reconnect_required","chat_mention","system_announcement","account_verified","support_reply","support_thread_started","subscription_renewed","subscription_payment_failed","subscription_expired","referral_bonus","referral_welcome"],"title":"NotificationType"},{"type":"null"}],"title":"Notification Type"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Page size","default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_NotificationRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/notifications/count":{"get":{"tags":["Notifications"],"summary":"Get Notification Count","operationId":"get_notification_count","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationCountResponse"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read","parameters":[]}},"/api/v1/profile/by-username/{username}":{"get":{"tags":["Profile"],"summary":"Get Public Profile By Username","operationId":"get_public_profile_by_username","parameters":[{"name":"username","in":"path","required":true,"schema":{"type":"string","title":"Username"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicProfileResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/profile/me":{"get":{"tags":["Profile"],"summary":"Get the caller's full profile","description":"Return the caller's complete profile: skills, languages, experience, portfolio, location, score progress and profile-completeness fields. Read-only; use PATCH /profile/me to change any of it.","operationId":"get_my_profile","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FullProfileResponse"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read","parameters":[]},"patch":{"tags":["Profile"],"summary":"Update the caller's profile","description":"Partial update of profile fields such as skills, bio, pricing model, availability, location and username. Only the fields present in the request body change; omitted fields keep their current value. Email, password and other security fields are not editable here.","operationId":"update_my_profile","requestBody":{"content":{"application/json":{"schema":{"properties":{"username":{"anyOf":[{"type":"string","maxLength":30,"minLength":2,"pattern":"^[a-z0-9_]{2,30}$"},{"type":"null"}],"title":"Username","examples":["john_doe"]},"first_name":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"First Name","examples":["Roman"]},"last_name":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Last Name","examples":["K."]},"tagline":{"anyOf":[{"type":"string","maxLength":160},{"type":"null"}],"title":"Tagline","examples":["I help SaaS founders ship Stripe integrations in 2 weeks"]},"bio":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Bio","examples":["Full-stack developer with 4 years of experience..."]},"skills":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Skills","examples":[["TypeScript","React","Next.js","Solana","Anchor"]]},"hourly_rate":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Hourly Rate","examples":[90.0]},"min_project_budget":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Min Project Budget","examples":[500.0]},"pricing_model":{"anyOf":[{"type":"string","enum":["hourly","fixed","both","retainer"],"title":"PricingModel"},{"type":"null"}],"examples":["hourly"]},"preferred_payment_currency":{"anyOf":[{"type":"string","enum":["SOL","USDC","USDT","EURC"],"title":"PaymentCurrencyPreference"},{"type":"null"}],"examples":["USDC"]},"employer_min_project_budget":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Employer Min Project Budget","examples":[500.0]},"employer_preferred_currency":{"anyOf":[{"type":"string","enum":["SOL","USDC","USDT","EURC"],"title":"PaymentCurrencyPreference"},{"type":"null"}],"examples":["USDC"]},"availability":{"anyOf":[{"type":"string","enum":["available_now","limited","booked","away"],"title":"AvailabilityStatus"},{"type":"null"}],"examples":["available_now"]},"available_from":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Available From","examples":["2026-06-15T00:00:00Z"]},"hours_per_week_target":{"anyOf":[{"type":"integer","maximum":168.0,"minimum":0.0},{"type":"null"}],"title":"Hours Per Week Target","examples":[30]},"cover_url":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Cover Url","examples":["https://cdn.worqen.com/covers/roman.jpg"]},"city":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"City","examples":["Kyiv"]},"country":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Country","examples":["UA"]},"timezone":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Timezone","examples":["Europe/Kyiv"]},"leaderboard_opt_out":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Leaderboard Opt Out","description":"Hide from the public leaderboard (US-247)."}},"type":"object","title":"ProfileUpdate","additionalProperties":false}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FullProfileResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/profile/me/connections/linkedin/authorize":{"get":{"tags":["LinkedIn"],"summary":"Authorize Linkedin","operationId":"authorize_linkedin","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkedInAuthorizeResponse"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read","parameters":[]}},"/api/v1/profile/me/connections/linkedin/pending":{"get":{"tags":["LinkedIn"],"summary":"Get Pending Draft","operationId":"get_pending_draft","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/LinkedInDraftResponse"},{"type":"null"}],"title":"Response Get Pending Draft Api V1 Profile Me Connections Linkedin Pending Get"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read","parameters":[]}},"/api/v1/profile/me/portfolio-candidates":{"get":{"tags":["Profile"],"summary":"Get Portfolio Candidates","operationId":"get_portfolio_candidates","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortfolioCandidateList"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read","parameters":[]}},"/api/v1/profile/me/score":{"get":{"tags":["Profile"],"summary":"Get My Score","operationId":"get_my_score","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScoreProgressResponse"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read","parameters":[]}},"/api/v1/profile/me/showcase-projects":{"get":{"tags":["Showcase"],"summary":"List My Showcase","operationId":"list_my_showcase","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ShowcaseProjectRead"},"type":"array","title":"Response List My Showcase Api V1 Profile Me Showcase Projects Get"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read","parameters":[]},"post":{"tags":["Showcase"],"summary":"Create Showcase","operationId":"create_showcase","requestBody":{"content":{"application/json":{"schema":{"properties":{"title":{"type":"string","maxLength":80,"minLength":3,"title":"Title"},"short_description":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Short Description"},"full_description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Full Description"},"category":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Category"},"skills":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":8},{"type":"null"}],"title":"Skills"},"cover_image_url":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Cover Image Url"},"image_urls":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":8},{"type":"null"}],"title":"Image Urls"},"video_url":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Video Url"},"external_link":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"External Link"},"project_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Project Date"},"hire_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Hire Id"},"is_featured":{"type":"boolean","title":"Is Featured","default":false},"sequence":{"type":"integer","title":"Sequence","default":0}},"type":"object","required":["title"],"title":"ShowcaseProjectCreate","additionalProperties":false}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShowcaseProjectRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/profile/{user_id}":{"get":{"tags":["Profile"],"summary":"Get Public Profile","operationId":"get_public_profile","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicProfileResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/profile/{user_id}/onchain-metrics":{"get":{"tags":["Profile"],"summary":"On-chain activity metrics","description":"Verifiable Solana activity counts for a user, aggregated from released escrows. Public: monetary sums are served only to the profile owner; other viewers and guests receive counts + chain only. Block is hidden client-side when completed_contracts == 0.","operationId":"get_onchain_metrics","security":[{"AgentBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OnchainMetricsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/profile/{user_id}/reviews":{"get":{"tags":["Profile"],"summary":"Get Reviews","operationId":"get_reviews","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}},{"name":"role","in":"query","required":false,"schema":{"type":"string","default":"worker","title":"Role"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReviewListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/profile/{user_id}/showcase-projects":{"get":{"tags":["Showcase"],"summary":"List User Showcase","operationId":"list_user_showcase","security":[{"AgentBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ShowcaseProjectRead"},"title":"Response List User Showcase Api V1 Profile  User Id  Showcase Projects Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/proposals/received":{"get":{"tags":["Proposals"],"summary":"List proposals I received","operationId":"list_received_proposals","security":[{"AgentBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","enum":["pending","accepted","declined","withdrawn","expired"],"title":"VacancyProposalStatus"}},{"type":"null"}],"description":"Repeatable. Narrows the page to the given proposal statuses; omit it for every status.","title":"Status"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Page size","default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_ProposalListItem_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/proposals/sent":{"get":{"tags":["Proposals"],"summary":"List proposals I sent","operationId":"list_sent_proposals","security":[{"AgentBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","enum":["pending","accepted","declined","withdrawn","expired"],"title":"VacancyProposalStatus"}},{"type":"null"}],"description":"Repeatable. Narrows the page to the given proposal statuses; omit it for every status.","title":"Status"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Page size","default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_ProposalListItem_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/proposals/{proposal_id}":{"get":{"tags":["Proposals"],"summary":"Get a proposal","operationId":"get_proposal","security":[{"AgentBearer":[]}],"parameters":[{"name":"proposal_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Proposal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProposalRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/referrals/me":{"get":{"tags":["Referrals"],"summary":"My referral code + stats","description":"Returns the caller's referral code/link and Invited/Joined/Activated funnel.","operationId":"my_referrals","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReferralStats"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read","parameters":[]}},"/api/v1/score/leaderboard":{"get":{"tags":["Worqen Score"],"summary":"Public level leaderboard (no raw XP / earnings)","operationId":"leaderboard","parameters":[{"name":"track","in":"query","required":false,"schema":{"type":"string","pattern":"^(worker|client)$","default":"worker","title":"Track"}},{"name":"skill","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Skill"}},{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"description":"Filter by marketplace category","title":"Category"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LeaderboardResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/search":{"get":{"tags":["Search"],"summary":"Search jobs, services, people and contracts at once","description":"Command-palette search. Returns at most five hits per requested type in a bucket keyed by that type; a bucket is null when the type was not requested. `total` is populated only where the underlying query already computes a count, and is null otherwise — never read null as zero. Hire results are restricted to contracts the caller is a party to, and people results exclude the platform bookkeeping account, deactivated, erased and fully banned accounts.","operationId":"search_everything","security":[{"AgentBearer":[]}],"parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":100,"description":"Free-text term. `%` and `_` are matched literally in the people and contract buckets; the job and vacancy buckets still delegate to the pre-existing feed search, which does not escape them.","title":"Q"}},{"name":"types","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Types to search, repeatable or comma-separated (jobs, vacancies, users, hires). Defaults to all four.","title":"Types"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/skills/categories":{"get":{"tags":["Skills"],"summary":"List Skill Categories","operationId":"list_skill_categories","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillCategoryBriefResponse"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read","parameters":[]}},"/api/v1/skills/suggest":{"get":{"tags":["Skills"],"summary":"Suggest Skills","operationId":"suggest_skills","security":[{"AgentBearer":[]}],"parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","maxLength":100,"default":"","title":"Q"}},{"name":"category_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Category Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":25,"minimum":1,"default":10,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillSuggestResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/subscriptions/charges":{"get":{"tags":["Subscriptions"],"summary":"Get Charges","operationId":"get_charges","security":[{"AgentBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Page size","default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_SubscriptionChargeRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/subscriptions/me":{"get":{"tags":["Subscriptions"],"summary":"Get My Subscription","operationId":"get_my_subscription","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/SubscriptionRead"},{"type":"null"}],"title":"Response Get My Subscription Api V1 Subscriptions Me Get"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read","parameters":[]}},"/api/v1/subscriptions/plans":{"get":{"tags":["Subscriptions"],"summary":"Get Plans","operationId":"get_plans","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PlanRead"},"type":"array","title":"Response Get Plans Api V1 Subscriptions Plans Get"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read","parameters":[]}},"/api/v1/subscriptions/pricing":{"get":{"tags":["Subscriptions"],"summary":"Get Pricing","operationId":"get_pricing","security":[{"AgentBearer":[]}],"parameters":[{"name":"plan","in":"query","required":false,"schema":{"type":"string","default":"prime","title":"Plan"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlanPricingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/support/tickets/me/active":{"get":{"tags":["Support"],"summary":"Get My Active Ticket","operationId":"get_my_active_ticket","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/SupportTicketDetail"},{"type":"null"}],"title":"Response Get My Active Ticket Api V1 Support Tickets Me Active Get"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read","parameters":[]}},"/api/v1/support/unread":{"get":{"tags":["Support"],"summary":"Get My Unread","operationId":"get_my_unread","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupportUnreadResponse"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read","parameters":[]}},"/api/v1/transactions":{"get":{"tags":["Transactions"],"summary":"List transactions","description":"Get paginated list of user's transactions with optional filtering.","operationId":"list_transactions","security":[{"AgentBearer":[]}],"parameters":[{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"type":"string","enum":["deposit","withdrawal","transfer","fee","refund","bonus","escrow_deposit","escrow_release","escrow_release_debit","escrow_refund","escrow_refund_debit","platform_commission","hourly_fund","hourly_payout","hourly_refund","hourly_period_close","tip","direct_pay","dispute_settlement","dispute_force_release","worqs_purchase","subscription","wallet_transfer","gas_sponsorship","escrow_rent_close"],"title":"TransactionType"},{"type":"null"}],"description":"Filter by transaction type","title":"Type"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string","enum":["pending","processing","completed","failed","cancelled"],"title":"TransactionStatus"},{"type":"null"}],"description":"Filter by status","title":"Status"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Page size","default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_TransactionRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/users/check-username":{"get":{"tags":["Users"],"summary":"Check Username","operationId":"check_username","security":[{"AgentBearer":[]}],"parameters":[{"name":"value","in":"query","required":true,"schema":{"type":"string","title":"Value"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsernameAvailabilityResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/users/me":{"get":{"tags":["Users"],"summary":"Get the caller's account summary","description":"Return the caller's account identity, public-facing profile fields, verification status, active subscription plan and worker/client score levels. A lighter read than GET /profile/me — use that endpoint for skills, languages, portfolio and completeness detail.","operationId":"get_current_user_profile","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserProfileResponse"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read","parameters":[]},"patch":{"tags":["Users"],"summary":"Update Current User","operationId":"update_current_user","requestBody":{"content":{"application/json":{"schema":{"properties":{"username":{"anyOf":[{"type":"string","pattern":"^[a-z0-9_]{2,30}$"},{"type":"null"}],"title":"Username"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"tagline":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tagline"},"bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bio"}},"type":"object","title":"UserUpdate","additionalProperties":false,"required":[],"description":"Update profile fields. Email, password and security changes require the Worqen website."}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/vacancies":{"get":{"tags":["Vacancies"],"summary":"List vacancies","description":"Get paginated list of active vacancies with employee info. Supports filtering and sorting.","operationId":"list_vacancies","security":[{"AgentBearer":[]}],"parameters":[{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Search in title and description","title":"Search"}},{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"description":"Filter by main category UUID","title":"Category"}},{"name":"subcategories","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","format":"uuid"}},{"type":"null"}],"description":"Filter by subcategory UUIDs","title":"Subcategories"}},{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by city","title":"City"}},{"name":"country","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by country","title":"Country"}},{"name":"is_available_now","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Filter available now","title":"Is Available Now"}},{"name":"is_remote_available","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Filter remote available","title":"Is Remote Available"}},{"name":"min_experience_years","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"description":"Minimum experience years","title":"Min Experience Years"}},{"name":"max_experience_years","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"description":"Maximum experience years","title":"Max Experience Years"}},{"name":"min_rate","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"description":"Minimum rate","title":"Min Rate"}},{"name":"max_rate","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"description":"Maximum rate","title":"Max Rate"}},{"name":"payment_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string","enum":["fixed","hourly"],"title":"PaymentType"},{"type":"null"}],"description":"Filter by payment type","title":"Payment Type"}},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by currency (e.g., USD, EUR)","title":"Currency"}},{"name":"has_photos","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Filter vacancies with photos only","title":"Has Photos"}},{"name":"min_travel_radius_km","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}],"description":"Minimum travel radius in km","title":"Min Travel Radius Km"}},{"name":"skills","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Repeatable. Filters to vacancies whose `skills` array contains ALL provided skills (AND match).","title":"Skills"}},{"name":"worker_min_hourly_rate","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"description":"Owning user's hourly_rate >= this value","title":"Worker Min Hourly Rate"}},{"name":"worker_max_hourly_rate","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"description":"Owning user's hourly_rate <= this value","title":"Worker Max Hourly Rate"}},{"name":"worker_availability","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Repeatable. Owning user's availability in this set (available_now/limited/booked/away).","title":"Worker Availability"}},{"name":"worker_languages","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Repeatable. Owning user speaks at least one of these languages (case-insensitive).","title":"Worker Languages"}},{"name":"latitude","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":90,"minimum":-90},{"type":"null"}],"description":"Center latitude for geo search","title":"Latitude"}},{"name":"longitude","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":180,"minimum":-180},{"type":"null"}],"description":"Center longitude for geo search","title":"Longitude"}},{"name":"radius_km","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":500,"minimum":1},{"type":"null"}],"description":"Search radius in kilometers","title":"Radius Km"}},{"name":"sort_by","in":"query","required":false,"schema":{"type":"string","enum":["created_at","updated_at","rate","experience_years","title","distance"],"title":"VacancySortField","description":"Field to sort by","default":"created_at"}},{"name":"sort_order","in":"query","required":false,"schema":{"type":"string","enum":["asc","desc"],"title":"SortOrder","description":"Sort direction","default":"desc"}},{"name":"hide_boosted","in":"query","required":false,"schema":{"type":"boolean","description":"Exclude Prime-boosted listings from priority ranking","default":false,"title":"Hide Boosted"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Page size","default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_VacancyListItem_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"},"post":{"tags":["Vacancies"],"summary":"Create a vacancy","description":"Create a new vacancy/service offering as an employee.","operationId":"create_vacancy","security":[{"AgentBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"title":{"type":"string","maxLength":200,"minLength":5,"title":"Title","description":"Vacancy title"},"description":{"type":"string","maxLength":5000,"minLength":20,"title":"Description","description":"Detailed description of services offered"},"categories":{"items":{"type":"string","format":"uuid"},"type":"array","maxItems":5,"minItems":1,"title":"Categories","description":"List of service categories"},"payment_type":{"type":"string","enum":["fixed","hourly"],"title":"PaymentType","description":"Preferred payment type","default":"hourly"},"rate":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Rate","description":"Rate the worker charges for this listing"},"currency":{"type":"string","maxLength":10,"title":"Currency","default":"USDC"},"photos":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Photos","description":"Portfolio photos"},"latitude":{"anyOf":[{"type":"number","maximum":90.0,"minimum":-90.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number","maximum":180.0,"minimum":-180.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Longitude"},"address":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Address"},"city":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"City"},"country":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Country"},"travel_radius_km":{"type":"integer","maximum":1000.0,"minimum":1.0,"title":"Travel Radius Km","description":"Willing to travel radius in km","default":50},"is_available_now":{"type":"boolean","title":"Is Available Now","default":true},"available_from":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Available From"},"experience_years":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Experience Years"},"skills":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Skills"},"is_remote_available":{"type":"boolean","title":"Is Remote Available","default":false},"worqs_cost":{"type":"integer","maximum":100.0,"minimum":0.0,"title":"Worqs Cost","description":"Worqs an employer spends to send a proposal to this listing","default":0},"service_areas":{"anyOf":[{"items":{"properties":{"id":{"type":"string","title":"Id","description":"Stable area id, e.g. 'relation/421866'"},"name":{"type":"string","title":"Name","description":"Short display name, e.g. 'Kyiv'"},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name","description":"Full OSM display name"},"type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Type","description":"Admin level type, e.g. city/state/district"},"latitude":{"anyOf":[{"type":"number","maximum":90.0,"minimum":-90.0},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number","maximum":180.0,"minimum":-180.0},{"type":"null"}],"title":"Longitude"},"bbox":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Bbox","description":"[south, north, west, east] bounding box"},"geojson":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Geojson","description":"Simplified boundary polygon (GeoJSON Polygon/MultiPolygon)"}},"type":"object","required":["id","name"],"title":"ServiceArea","additionalProperties":false},"type":"array"},{"type":"null"}],"title":"Service Areas","description":"Named areas (cities/districts/regions) the worker serves"},"additional_info":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Additional Info"}},"type":"object","required":["title","description","categories","rate"],"title":"VacancyCreate","example":{"categories":["550e8400-e29b-41d4-a716-446655440000"],"currency":"USDC","description":"Professional plumber with 10 years of experience...","experience_years":10,"is_available_now":true,"is_remote_available":false,"payment_type":"hourly","rate":"25.00","skills":["Pipe repair","Fixture installation","Leak detection"],"title":"Experienced Plumber Available","travel_radius_km":30},"additionalProperties":false}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VacancyRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/vacancies/bbox":{"get":{"tags":["Vacancies"],"summary":"Get vacancies in bounding box","description":"Get vacancies within a geographic bounding box for map views.","operationId":"get_vacancies_in_bbox","security":[{"AgentBearer":[]}],"parameters":[{"name":"min_lat","in":"query","required":true,"schema":{"type":"number","maximum":90,"minimum":-90,"description":"Minimum latitude","title":"Min Lat"}},{"name":"min_lng","in":"query","required":true,"schema":{"type":"number","maximum":180,"minimum":-180,"description":"Minimum longitude","title":"Min Lng"}},{"name":"max_lat","in":"query","required":true,"schema":{"type":"number","maximum":90,"minimum":-90,"description":"Maximum latitude","title":"Max Lat"}},{"name":"max_lng","in":"query","required":true,"schema":{"type":"number","maximum":180,"minimum":-180,"description":"Maximum longitude","title":"Max Lng"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"description":"Maximum results","default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VacanciesMapResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/vacancies/map":{"get":{"tags":["Vacancies"],"summary":"Get vacancies for map display","description":"Get vacancies within a radius of user's current location for map display. Uses user's stored location. Returns minimal data optimized for map markers.","operationId":"get_vacancies_on_map","security":[{"AgentBearer":[]}],"parameters":[{"name":"radius_km","in":"query","required":false,"schema":{"type":"number","maximum":500,"minimum":1,"description":"Search radius in kilometers","default":50.0,"title":"Radius Km"}},{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"description":"Filter by category UUID","title":"Category"}},{"name":"is_available_now","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Filter available now","title":"Is Available Now"}},{"name":"is_remote_available","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Filter remote available","title":"Is Remote Available"}},{"name":"latitude","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":90,"minimum":-90},{"type":"null"}],"description":"Custom center latitude (overrides user location)","title":"Latitude"}},{"name":"longitude","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":180,"minimum":-180},{"type":"null"}],"description":"Custom center longitude (overrides user location)","title":"Longitude"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"description":"Maximum number of vacancies to return","default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VacanciesMapResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/vacancies/my":{"get":{"tags":["Vacancies"],"summary":"List my vacancies","description":"Get paginated list of vacancies created by the current user.","operationId":"list_my_vacancies","security":[{"AgentBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string","enum":["draft","active","paused","closed"],"title":"VacancyStatus"},{"type":"null"}],"description":"Filter by vacancy status","title":"Status"}},{"name":"sort_by","in":"query","required":false,"schema":{"type":"string","enum":["created_at","updated_at","rate","experience_years","title","distance"],"title":"VacancySortField","description":"Field to sort by","default":"created_at"}},{"name":"sort_order","in":"query","required":false,"schema":{"type":"string","enum":["asc","desc"],"title":"SortOrder","description":"Sort direction","default":"desc"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Page size","default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_VacancyRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/verification/status":{"get":{"tags":["Verification"],"summary":"Get verification status","description":"Returns the current KYC verification status for the authenticated user.","operationId":"get_verification_status","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerificationStatusResponse"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read","parameters":[]}},"/api/v1/wallets":{"get":{"tags":["Wallets"],"summary":"List all wallets","description":"Get all wallets associated with the current user, including lock status.","operationId":"list_wallets","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/WalletRead"},"type":"array","title":"Response List Wallets Api V1 Wallets Get"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read","parameters":[]},"post":{"tags":["Wallets"],"summary":"Add external wallet","description":"Register an externally-held wallet address. Wallet is created in UNVERIFIED state; call /wallets/challenge and /wallets/{id}/verify to prove ownership before it can be used for hires.","operationId":"add_wallet","requestBody":{"content":{"application/json":{"schema":{"properties":{"network":{"type":"string","enum":["solana","trc20","erc20","btc"],"title":"WalletNetwork","description":"Blockchain network for the wallet","examples":["solana"]},"address":{"type":"string","maxLength":255,"minLength":20,"title":"Address","description":"Wallet address (must be valid for the selected network)","examples":["7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU"]},"label":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Label","description":"Optional label for the wallet","examples":["My Phantom Wallet"]},"is_embedded":{"type":"boolean","title":"Is Embedded","description":"True if the caller is registering a WaaS-provisioned embedded wallet (Privy, Turnkey). The server will mark it verified immediately and skip the signed-nonce challenge.","default":false,"examples":[false]}},"type":"object","required":["network","address"],"title":"WalletCreate","example":{"address":"7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU","is_embedded":false,"label":"My Phantom Wallet","network":"solana"},"additionalProperties":false}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/wallets/{wallet_id}/balance":{"get":{"tags":["Wallets"],"summary":"Get wallet balance","description":"Query on-chain balance for a wallet. For Solana wallets returns both SOL (native) and USDT (SPL) balances; for EVM wallets returns ETH. Returns HTTP 503 with a structured `rpc_unavailable` code if the RPC node is unreachable or rate-limited.","operationId":"get_wallet_balance","security":[{"AgentBearer":[]}],"parameters":[{"name":"wallet_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Wallet Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletBalanceResponse"}}}},"503":{"description":"Upstream RPC unreachable."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/work-logs/hire/{hire_id}":{"get":{"tags":["Work Logs"],"summary":"List work logs for hire","description":"Get all work logs for a specific hire.","operationId":"list_work_logs_for_hire","security":[{"AgentBearer":[]}],"parameters":[{"name":"hire_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Hire Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string","enum":["draft","submitted","invoiced"],"title":"WorkLogStatus"},{"type":"null"}],"title":"Status"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WorkLogRead"},"title":"Response List Work Logs For Hire Api V1 Work Logs Hire  Hire Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/work-logs/hire/{hire_id}/breakdown":{"get":{"tags":["Work Logs"],"summary":"Get weekly breakdown","description":"Get daily hours breakdown for a date range.","operationId":"get_weekly_breakdown","security":[{"AgentBearer":[]}],"parameters":[{"name":"hire_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Hire Id"}},{"name":"start_date","in":"query","required":true,"schema":{"type":"string","format":"date","description":"Start date","title":"Start Date"}},{"name":"end_date","in":"query","required":true,"schema":{"type":"string","format":"date","description":"End date","title":"End Date"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WorkLogWeeklyBreakdown"},"title":"Response Get Weekly Breakdown Api V1 Work Logs Hire  Hire Id  Breakdown Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/work-logs/hire/{hire_id}/summary":{"get":{"tags":["Work Logs"],"summary":"Get hours summary","description":"Get hours summary for a hire.","operationId":"get_hours_summary","security":[{"AgentBearer":[]}],"parameters":[{"name":"hire_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Hire Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkLogSummary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/work-logs/hire/{hire_id}/uninvoiced":{"get":{"tags":["Work Logs"],"summary":"List uninvoiced work logs","description":"Submitted work logs not yet attached to an invoice.","operationId":"list_uninvoiced_work_logs","security":[{"AgentBearer":[]}],"parameters":[{"name":"hire_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Hire Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WorkLogRead"},"title":"Response List Uninvoiced Work Logs Api V1 Work Logs Hire  Hire Id  Uninvoiced Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/work-logs/my":{"get":{"tags":["Work Logs"],"summary":"List my work logs","description":"Get work logs created by the current user (as employee).","operationId":"list_my_work_logs","security":[{"AgentBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string","enum":["draft","submitted","invoiced"],"title":"WorkLogStatus"},{"type":"null"}],"title":"Status"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Page size","default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_WorkLogListItem_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/work-logs/submitted":{"get":{"tags":["Work Logs"],"summary":"List submitted work logs","description":"Work logs submitted on the caller's hires as employer. Submitted logs are evidence attached to invoices — there is no approval step.","operationId":"list_submitted_work_logs","security":[{"AgentBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Page size","default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_WorkLogListItem_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/work-logs/{work_log_id}/evidence":{"get":{"tags":["Work Log Extended"],"summary":"List Evidence","operationId":"list_evidence","security":[{"AgentBearer":[]}],"parameters":[{"name":"work_log_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Work Log Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WorkLogEvidenceRead"},"title":"Response List Evidence Api V1 Work Logs  Work Log Id  Evidence Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"},"post":{"tags":["Work Log Extended"],"summary":"Add Evidence","operationId":"add_evidence","security":[{"AgentBearer":[]}],"parameters":[{"name":"work_log_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Work Log Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"url":{"type":"string","maxLength":1024,"title":"Url"},"thumbnail_url":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"}],"title":"Thumbnail Url"},"file_type":{"type":"string","pattern":"^(photo|screenshot|document|video)$","title":"File Type"},"file_name":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"File Name"},"file_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"File Size"},"caption":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Caption"},"evidence_type":{"type":"string","pattern":"^(before|during|after|issue|completion|receipt)$","title":"Evidence Type"},"captured_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Captured At"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"},"device_info":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Device Info"}},"type":"object","required":["url","file_type","evidence_type"],"title":"WorkLogEvidenceCreate","additionalProperties":false}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkLogEvidenceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/worqs/balance":{"get":{"tags":["Worqs"],"summary":"Get Worqs Balance","operationId":"get_worqs_balance","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorqsBalanceResponse"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read","parameters":[]}},"/api/v1/worqs/history":{"get":{"tags":["Worqs"],"summary":"Get Worqs History","operationId":"get_worqs_history","security":[{"AgentBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Page size","default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_WorqsTransactionRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/worqs/price":{"get":{"tags":["Worqs"],"summary":"Get Worq Price","operationId":"get_worq_price","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Worq Price Api V1 Worqs Price Get"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read","parameters":[]}},"/api/v1/chats/{chat_id}/settings":{"patch":{"tags":["Chats"],"summary":"Update participant settings","operationId":"update_participant_settings","security":[{"AgentBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"nickname":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Nickname"},"is_muted":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Muted"},"is_pinned":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Pinned"}},"type":"object","title":"ChatParticipantUpdate","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatParticipantResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/milestones/{milestone_id}/submissions/{submission_id}/files/{file_id}/status":{"patch":{"tags":["Milestone Files"],"summary":"Set the per-file review status (employer)","operationId":"update_file_status","security":[{"AgentBearer":[]}],"parameters":[{"name":"milestone_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Milestone Id"}},{"name":"submission_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Submission Id"}},{"name":"file_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"File Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"status":{"type":"string","enum":["pending","accepted","needs_revision","rejected"],"title":"Status"},"status_note":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Status Note"}},"type":"object","required":["status"],"title":"MilestoneSubmissionFileStatusUpdate","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MilestoneSubmissionFileRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/users/me/onboarding":{"patch":{"tags":["Users"],"summary":"Update Onboarding State","operationId":"update_onboarding_state","requestBody":{"content":{"application/json":{"schema":{"properties":{"has_completed_onboarding":{"type":"boolean","title":"Has Completed Onboarding","examples":[true]}},"type":"object","required":["has_completed_onboarding"],"title":"OnboardingUpdate","additionalProperties":false}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OnboardingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/users/me/role":{"patch":{"tags":["Users"],"summary":"Set the hat the user prefers to land in","operationId":"update_role_preference","requestBody":{"content":{"application/json":{"schema":{"properties":{"preferred_role":{"type":"string","enum":["employer","employee"],"title":"UserRole","examples":["employer"]}},"type":"object","required":["preferred_role"],"title":"RolePreferenceUpdate","additionalProperties":false}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RolePreferenceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/agents/me/revoke":{"post":{"tags":["Agents"],"summary":"Revoke Agent","operationId":"revoke_agent","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentRevokeResponse"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/agents/me/rotate-key":{"post":{"tags":["Agents"],"summary":"Rotate Agent Key","operationId":"rotate_agent_key","requestBody":{"content":{"application/json":{"schema":{"properties":{"new_public_key":{"type":"string","maxLength":88,"minLength":43,"title":"New Public Key"},"nonce":{"type":"string","maxLength":128,"minLength":16,"title":"Nonce"},"signature":{"type":"string","maxLength":120,"minLength":86,"title":"Signature"}},"additionalProperties":false,"type":"object","required":["new_public_key","nonce","signature"],"title":"AgentRotateKeyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentRegisterResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/agents/upload":{"post":{"tags":["Agents"],"summary":"Upload an agent file","description":"Upload a base64-encoded file for an agent connection and return a storage reference other MCP tools can attach to their requests.","operationId":"upload_agent_file","requestBody":{"content":{"application/json":{"schema":{"properties":{"signing_action":{"type":"string","enum":["get_presigned_url","get_upload_url","get_support_upload_url","get_dispute_upload_url","sign_milestone_upload"],"title":"Signing Action"},"arguments":{"additionalProperties":true,"type":"object","title":"Arguments"},"file":{"properties":{"filename":{"type":"string","maxLength":255,"minLength":1,"title":"Filename"},"content_type":{"type":"string","maxLength":128,"minLength":1,"title":"Content Type"},"data_base64":{"type":"string","maxLength":14000000,"title":"Data Base64"}},"additionalProperties":false,"type":"object","required":["filename","content_type","data_base64"],"title":"AgentUploadFile"}},"additionalProperties":false,"type":"object","required":["signing_action","arguments","file"],"title":"AgentUploadRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Upload Agent File"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/applications":{"post":{"tags":["Applications"],"summary":"Apply for a job","description":"Submit an application for a job. Can include optional CV file URL and invitation ID if applying via invitation.","operationId":"apply_for_job","requestBody":{"content":{"application/json":{"schema":{"properties":{"job_id":{"type":"string","format":"uuid","title":"Job Id"},"payee_wallet_id":{"type":"string","format":"uuid","title":"Payee Wallet Id","description":"Wallet that will receive payment for this hire. Must be owned by the applicant, ACTIVE, and ownership-verified."},"cover_letter":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Cover Letter"},"cv_file_url":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Cv File Url"},"proposed_rate":{"anyOf":[{"type":"number","exclusiveMaximum":1000000000.0,"exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Proposed Rate","description":"Rate the applicant proposes, in the job's currency","examples":["150.00"]},"estimated_duration_days":{"anyOf":[{"type":"integer","maximum":3650.0,"minimum":1.0},{"type":"null"}],"title":"Estimated Duration Days","description":"How long the applicant expects the work to take, in days","examples":[14]},"invitation_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Invitation Id"}},"type":"object","required":["job_id","payee_wallet_id"],"title":"ApplicationCreate","additionalProperties":false}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/applications/{application_id}/shortlist":{"post":{"tags":["Applications"],"summary":"Shortlist an application","description":"Set or clear the employer-private shortlist flag. Idempotent, and never disclosed to the applicant.","operationId":"set_application_shortlist","security":[{"AgentBearer":[]}],"parameters":[{"name":"application_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Application Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"is_shortlisted":{"type":"boolean","title":"Is Shortlisted","description":"Explicit target state; the endpoint is idempotent"}},"type":"object","required":["is_shortlisted"],"title":"ApplicationShortlistUpdate","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationShortlistRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/applications/{application_id}/status":{"post":{"tags":["Applications"],"summary":"Update application status","description":"Update application status (employer accepts/rejects).","operationId":"update_application_status","security":[{"AgentBearer":[]}],"parameters":[{"name":"application_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Application Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"status":{"type":"string","enum":["pending","viewed","accepted","rejected","withdrawn"],"title":"ApplicationStatus"},"employer_notes":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Employer Notes"}},"type":"object","required":["status"],"title":"ApplicationStatusUpdate","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/applications/{application_id}/withdraw":{"post":{"tags":["Applications"],"summary":"Withdraw application","description":"Withdraw your own application.","operationId":"withdraw_application","security":[{"AgentBearer":[]}],"parameters":[{"name":"application_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Application Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/calendar/google/connect":{"post":{"tags":["Calendar"],"summary":"Start the Google Calendar consent flow","operationId":"connect_google_calendar","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalendarAuthorizeResponse"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/categories/validate":{"post":{"tags":["Categories"],"summary":"Validate category IDs","description":"Check which category UUIDs are valid.","operationId":"validate_categories","requestBody":{"content":{"application/json":{"schema":{"properties":{"category_ids":{"items":{"type":"string","format":"uuid"},"type":"array","minItems":1,"title":"Category Ids","description":"List of category UUIDs to validate","examples":[["550e8400-e29b-41d4-a716-446655440000"]]}},"type":"object","required":["category_ids"],"title":"CategoryValidationRequest","additionalProperties":false}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoryValidationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read","parameters":[]}},"/api/v1/chats/ai/compose":{"post":{"tags":["Chat AI"],"summary":"Compose a message from a prompt","operationId":"compose_text","requestBody":{"content":{"application/json":{"schema":{"properties":{"prompt":{"type":"string","maxLength":2000,"minLength":1,"title":"Prompt"},"tone":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Tone","examples":["friendly"]}},"type":"object","required":["prompt"],"title":"ComposeTextRequest","additionalProperties":false}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AiTextResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/chats/ai/improve":{"post":{"tags":["Chat AI"],"summary":"Improve a drafted message","operationId":"improve_text","requestBody":{"content":{"application/json":{"schema":{"properties":{"content":{"type":"string","maxLength":10000,"minLength":1,"title":"Content"},"tone":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Tone","examples":["friendly"]}},"type":"object","required":["content"],"title":"ImproveTextRequest","additionalProperties":false}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AiTextResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/chats/by-application/{application_id}":{"post":{"tags":["Chats"],"summary":"Create chat from application","operationId":"create_chat_from_application","security":[{"AgentBearer":[]}],"parameters":[{"name":"application_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Application Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/chats/search":{"post":{"tags":["Chats"],"summary":"Search chats","operationId":"search_chats","requestBody":{"content":{"application/json":{"schema":{"properties":{"query":{"type":"string","maxLength":200,"minLength":1,"title":"Query"},"job_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Job Id"},"status":{"anyOf":[{"type":"string","enum":["active","archived","locked","deleted"],"title":"ChatStatus"},{"type":"null"}]},"page":{"type":"integer","minimum":1.0,"title":"Page","default":1},"per_page":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","default":20}},"type":"object","required":["query"],"title":"ChatSearchRequest","additionalProperties":false}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatSearchResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read","parameters":[]}},"/api/v1/chats/{chat_id}/archive":{"post":{"tags":["Chats"],"summary":"Archive a chat","operationId":"archive_chat","security":[{"AgentBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArchiveChatResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/chats/{chat_id}/leave":{"post":{"tags":["Chats"],"summary":"Leave chat","operationId":"leave_chat","security":[{"AgentBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/chats/{chat_id}/messages/forward":{"post":{"tags":["Chat Messages"],"summary":"Forward messages","operationId":"forward_messages","security":[{"AgentBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"message_ids":{"items":{"type":"string","format":"uuid"},"type":"array","maxItems":50,"minItems":1,"title":"Message Ids"},"target_chat_id":{"type":"string","format":"uuid","title":"Target Chat Id"}},"type":"object","required":["message_ids","target_chat_id"],"title":"ForwardMessageRequest","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForwardMessageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/chats/{chat_id}/messages/read":{"post":{"tags":["Chat Messages"],"summary":"Mark messages as read","operationId":"mark_messages_read","security":[{"AgentBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"message_ids":{"anyOf":[{"items":{"type":"string","format":"uuid"},"type":"array"},{"type":"null"}],"title":"Message Ids"},"read_until":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Read Until"}},"type":"object","title":"MarkMessagesReadRequest","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarkMessagesReadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/chats/{chat_id}/messages/translate":{"post":{"tags":["Chat AI"],"summary":"Translate many chat messages","operationId":"translate_messages_batch","security":[{"AgentBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"message_ids":{"items":{"type":"string","format":"uuid"},"type":"array","maxItems":50,"minItems":1,"title":"Message Ids"},"target_lang":{"type":"string","maxLength":8,"minLength":2,"title":"Target Lang","examples":["es"]}},"type":"object","required":["message_ids","target_lang"],"title":"BatchTranslateRequest","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchTranslationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/chats/{chat_id}/messages/upload-url":{"post":{"tags":["Chat Messages"],"summary":"Get upload URL for attachment","operationId":"get_upload_url","security":[{"AgentBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"filename":{"type":"string","maxLength":255,"title":"Filename"},"content_type":{"type":"string","maxLength":100,"title":"Content Type"},"file_size":{"type":"integer","exclusiveMinimum":0.0,"title":"File Size"}},"type":"object","required":["filename","content_type","file_size"],"title":"UploadAttachmentRequest","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadAttachmentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/chats/{chat_id}/messages/{message_id}/transcribe":{"post":{"tags":["Chat AI"],"summary":"Transcribe a voice message","operationId":"transcribe_voice","security":[{"AgentBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}},{"name":"message_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Message Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TranscriptionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/chats/{chat_id}/messages/{message_id}/translate":{"post":{"tags":["Chat AI"],"summary":"Translate a chat message","operationId":"translate_message","security":[{"AgentBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}},{"name":"message_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Message Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"target_lang":{"type":"string","maxLength":8,"minLength":2,"title":"Target Lang","examples":["es"]}},"type":"object","required":["target_lang"],"title":"TranslateMessageRequest","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageTranslationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/disputes/{escrow_id}/attachments/upload-url":{"post":{"tags":["Dispute Chat"],"summary":"Get presigned upload URL for a dispute attachment","description":"Returns a presigned S3 URL for direct browser upload of an attachment.","operationId":"get_dispute_upload_url","security":[{"AgentBearer":[]}],"parameters":[{"name":"escrow_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Escrow Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"filename":{"type":"string","maxLength":255,"title":"Filename"},"content_type":{"type":"string","maxLength":100,"title":"Content Type"},"file_size":{"type":"integer","exclusiveMinimum":0.0,"title":"File Size"}},"type":"object","required":["filename","content_type","file_size"],"title":"DisputeUploadRequest","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DisputeUploadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/disputes/{escrow_id}/read":{"post":{"tags":["Dispute Chat"],"summary":"Mark messages as read","description":"Mark dispute messages as read for the current user.","operationId":"mark_messages_as_read","security":[{"AgentBearer":[]}],"parameters":[{"name":"escrow_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Escrow Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"message_ids":{"anyOf":[{"items":{"type":"string","format":"uuid"},"type":"array"},{"type":"null"}],"title":"Message Ids"}},"type":"object","title":"MarkAsReadRequest","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarkAsReadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/escrows/job/{job_id}/prepare-hire":{"post":{"tags":["Escrows"],"summary":"Prepare escrows for hiring","description":"Returns escrow details + employee wallet + platform authority for the frontend to build on-chain tx.","operationId":"prepare_hire","security":[{"AgentBearer":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"employee_id":{"type":"string","format":"uuid","title":"Employee Id","description":"UUID of the employee to hire"},"payer_wallet_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Payer Wallet Id","description":"Wallet the employer will sign with. If omitted, falls back to the employer's primary/first active Solana wallet (legacy behavior — do not rely on this for new flows)."},"payee_wallet_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Payee Wallet Id","description":"Wallet that will receive the payout — must equal `application.payee_wallet_id`. If omitted, falls back to the employee's primary/first active Solana wallet (legacy)."}},"type":"object","required":["employee_id"],"title":"PrepareHireRequest","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrepareHireResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/escrows/{escrow_db_id}/cancel":{"post":{"tags":["Escrows"],"summary":"Cancel Escrow","operationId":"cancel_escrow","security":[{"AgentBearer":[]}],"parameters":[{"name":"escrow_db_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Escrow Db Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"tx_signature":{"anyOf":[{"type":"string","maxLength":128,"minLength":64},{"type":"null"}],"title":"Tx Signature","description":"Solana transaction signature (external wallet mode, required if funded)"},"wallet_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Wallet Id","description":"Custodial wallet ID — backend signs the cancel transaction (required if funded)"},"reason":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Reason"}},"type":"object","title":"CancelEscrowRequest","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CancelEscrowResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/escrows/{escrow_db_id}/confirm":{"post":{"tags":["Escrows"],"summary":"Confirm Escrow","operationId":"confirm_escrow","security":[{"AgentBearer":[]}],"parameters":[{"name":"escrow_db_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Escrow Db Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"tx_signature":{"anyOf":[{"type":"string","maxLength":128,"minLength":64},{"type":"null"}],"title":"Tx Signature","description":"Solana transaction signature (external wallet mode)"},"wallet_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Wallet Id","description":"Custodial wallet ID — backend signs the confirm transaction"}},"type":"object","title":"ConfirmEscrowRequest","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfirmEscrowResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/escrows/{escrow_db_id}/deposit":{"post":{"tags":["Escrows"],"summary":"Fund an escrow","description":"Move the agreed amount plus commission from the employer's wallet into the on-chain escrow, marking it funded. This spends real money: with `wallet_id` the platform signs and submits the transfer on the spot; with `tx_signature` it records a transfer the employer already signed externally. Once funded, the escrow can only progress through release, dispute or cancellation — depositing again is not how to undo it. On a human AI connection this action waits for the account holder's approval before it executes.","operationId":"deposit_escrow","security":[{"AgentBearer":[]}],"parameters":[{"name":"escrow_db_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Escrow Db Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"tx_signature":{"anyOf":[{"type":"string","maxLength":128,"minLength":64},{"type":"null"}],"title":"Tx Signature","description":"Solana transaction signature (external wallet mode)"},"wallet_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Wallet Id","description":"Wallet ID. For a custodial wallet the backend signs and submits; for an external wallet it is the payer-wallet hint used alongside tx_signature to resolve and lock the escrow's employer wallet."}},"type":"object","title":"DepositEscrowRequest","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DepositEscrowResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/escrows/{escrow_db_id}/dispute":{"post":{"tags":["Escrows"],"summary":"Raise Dispute","operationId":"raise_dispute","security":[{"AgentBearer":[]}],"parameters":[{"name":"escrow_db_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Escrow Db Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"reason":{"type":"string","maxLength":500,"minLength":10,"title":"Reason","description":"Reason for the dispute"},"initial_employee_share_percentage":{"anyOf":[{"type":"integer","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Initial Employee Share Percentage","description":"Optional initial proposal: percentage to employee (0-100)"},"tx_signature":{"anyOf":[{"type":"string","maxLength":128,"minLength":64},{"type":"null"}],"title":"Tx Signature","description":"External-wallet caller's `raise_dispute_sol` tx signature."},"wallet_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Wallet Id","description":"Custodial wallet id — backend signs `raise_dispute_sol` with this wallet's encrypted key."},"dispute_deadline":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Dispute Deadline","description":"Absolute unix timestamp (seconds) for the v2 dispute deadline. After this time anyone may force-resolve the dispute in the worker's favor. Required by the on-chain program (errors 6025 DisputeDeadlineRequired and 6026 DisputeDeadlineTooLong); must be in the future and within 90 days. If omitted the backend defaults to now + DISPUTE_NEGOTIATION_DAYS."}},"type":"object","required":["reason"],"title":"RaiseDisputeRequest","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RaiseDisputeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/escrows/{escrow_db_id}/dispute/escalate":{"post":{"tags":["Escrows"],"summary":"Escalate to support","description":"Manually escalate the dispute to platform support.","operationId":"escalate_dispute","security":[{"AgentBearer":[]}],"parameters":[{"name":"escrow_db_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Escrow Db Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EscalateDisputeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/escrows/{escrow_db_id}/dispute/propose":{"post":{"tags":["Escrows"],"summary":"Propose split","description":"Propose a percentage split during dispute negotiation.","operationId":"propose_dispute_split","security":[{"AgentBearer":[]}],"parameters":[{"name":"escrow_db_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Escrow Db Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"employee_share_percentage":{"type":"integer","maximum":100.0,"minimum":0.0,"title":"Employee Share Percentage","description":"Percentage of escrow funds to employee (0-100)"},"message":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Message","description":"Optional message"}},"type":"object","required":["employee_share_percentage"],"title":"ProposeDisputeSplitRequest","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProposeDisputeSplitResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/escrows/{escrow_db_id}/dispute/respond/{proposal_id}":{"post":{"tags":["Escrows"],"summary":"Respond to proposal","description":"Accept or reject a proposal. Rejecting can include a counter-proposal.","operationId":"respond_to_proposal","security":[{"AgentBearer":[]}],"parameters":[{"name":"escrow_db_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Escrow Db Id"}},{"name":"proposal_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Proposal Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"accept":{"type":"boolean","title":"Accept","description":"Accept or reject the proposal"},"counter_percentage":{"anyOf":[{"type":"integer","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Counter Percentage","description":"Counter-proposal percentage (only when rejecting)"},"counter_message":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Counter Message","description":"Counter-proposal message"}},"type":"object","required":["accept"],"title":"RespondToProposalRequest","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RespondToProposalResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/escrows/{escrow_db_id}/release":{"post":{"tags":["Escrows"],"summary":"Release a funded escrow to the worker","description":"Pay the escrowed funds out to the employee's wallet on-chain and mark the escrow released. This is the final, irreversible step of the payment: once the transaction confirms, the funds have left the escrow and there is no undo route through this API. On a human AI connection this action waits for the account holder's approval before it executes.","operationId":"release_escrow","security":[{"AgentBearer":[]}],"parameters":[{"name":"escrow_db_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Escrow Db Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"tx_signature":{"anyOf":[{"type":"string","maxLength":128,"minLength":64},{"type":"null"}],"title":"Tx Signature","description":"Solana transaction signature (external wallet mode)"},"wallet_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Wallet Id","description":"Custodial wallet ID — backend signs and submits the release"}},"type":"object","title":"ReleaseEscrowRequest","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReleaseEscrowResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/hires/direct":{"post":{"tags":["Hires"],"summary":"Propose a direct hire (two-phase)","description":"Phase 1 of the direct-hire flow. Creates a PENDING_EMPLOYEE_ACCEPTANCE hire with the employer's wallet locked. The employee must then call POST /hires/{id}/accept with their own wallet selection before the escrow activates and the chat opens.","operationId":"direct_hire","requestBody":{"content":{"application/json":{"schema":{"properties":{"job_id":{"type":"string","format":"uuid","title":"Job Id"},"employee_id":{"type":"string","format":"uuid","title":"Employee Id"},"agreed_rate":{"anyOf":[{"type":"number","exclusiveMaximum":1000000000.0,"exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Agreed Rate"},"currency":{"type":"string","maxLength":10,"title":"Currency","default":"USD"},"payer_wallet_id":{"type":"string","format":"uuid","title":"Payer Wallet Id","description":"Employer's wallet that will pay and sign every action."},"message":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Message","description":"Optional message shown to the employee in the acceptance prompt."},"payment_mode":{"type":"string","title":"Payment Mode","description":"How this hire settles on-chain. 'escrowed' (default) pre-funds an escrow account with dispute/arbitration; 'direct_split' runs each payment through pay_with_commission with no pre-lock.","default":"escrowed","examples":["escrowed","direct_split"]}},"type":"object","required":["job_id","employee_id","agreed_rate","payer_wallet_id"],"title":"HireCreate","example":{"agreed_rate":"500.00","currency":"USD","employee_id":"550e8400-e29b-41d4-a716-446655440000","job_id":"550e8400-e29b-41d4-a716-446655440000","message":"I'd like you to take on this job. Let me know!","payer_wallet_id":"9c4a6e6e-a1e6-4e3b-8bb1-2b9dcb9d1a2b"},"additionalProperties":false}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HireRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/hires/from-application":{"post":{"tags":["Hires"],"summary":"Hire an applicant directly to an active hire","description":"Create a Hire from an accepted job application, locking the employer's payer wallet. Unlike direct_hire this is single-phase: the employee already applied, so the hire activates immediately and the escrow becomes ready to fund. On a human AI connection this action waits for the account holder's approval before it executes.","operationId":"hire_from_application","requestBody":{"content":{"application/json":{"schema":{"properties":{"application_id":{"type":"string","format":"uuid","title":"Application Id"},"agreed_rate":{"anyOf":[{"type":"number","exclusiveMaximum":1000000000.0,"exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Agreed Rate"},"currency":{"type":"string","maxLength":10,"title":"Currency","default":"USD"},"payer_wallet_id":{"type":"string","format":"uuid","title":"Payer Wallet Id","description":"Employer's wallet that will pay and sign every action."},"payment_mode":{"type":"string","title":"Payment Mode","description":"How this hire settles on-chain. 'escrowed' (default) pre-funds an escrow account with dispute/arbitration; 'direct_split' runs each payment through pay_with_commission with no pre-lock.","default":"escrowed","examples":["escrowed","direct_split"]},"tx_signature":{"anyOf":[{"type":"string","maxLength":128,"minLength":64},{"type":"null"}],"title":"Tx Signature","description":"Deposit transaction signature. Required iff the payer wallet is external; omitted for custodial wallets (backend signs)."}},"type":"object","required":["application_id","agreed_rate","payer_wallet_id"],"title":"HireFromApplication","example":{"agreed_rate":"450.00","application_id":"550e8400-e29b-41d4-a716-446655440000","currency":"USD","payer_wallet_id":"9c4a6e6e-a1e6-4e3b-8bb1-2b9dcb9d1a2b"},"additionalProperties":false}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HireRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/hires/{hire_id}/accept":{"post":{"tags":["Hires"],"summary":"Employee accepts (or declines) a direct-hire proposal","description":"Phase 2 of the direct-hire flow. Only callable by the proposed employee while hire status is PENDING_EMPLOYEE_ACCEPTANCE. Passing `accept=true` requires `payee_wallet_id`; `accept=false` declines.","operationId":"accept_direct_hire","security":[{"AgentBearer":[]}],"parameters":[{"name":"hire_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Hire Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"accept":{"type":"boolean","title":"Accept","description":"True to accept, false to decline."},"payee_wallet_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Payee Wallet Id","description":"Required when accept=true. Employee's receive wallet."},"tx_signature":{"anyOf":[{"type":"string","maxLength":128,"minLength":64},{"type":"null"}],"title":"Tx Signature","description":"Only used when the employer's payer wallet is external AND the employer signs the deposit out-of-band. Usually omitted."},"decline_reason":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Decline Reason","description":"Optional reason when declining."}},"type":"object","required":["accept"],"title":"DirectHireAccept","example":{"accept":true,"payee_wallet_id":"6f3aa6fd-3f36-4d9c-8b26-1d6bd9a2cf0e"},"additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HireRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/hires/{hire_id}/auto-fund":{"post":{"tags":["Hourly"],"summary":"Enable or disable weekly auto-funding (custodial)","description":"Standing weekly order: the crank funds each new week automatically from a custodial employer wallet. Employer only; external wallets are rejected with a clean 400. `hours` defaults to the hire's weekly_hours_limit when null.","operationId":"set_auto_fund","security":[{"AgentBearer":[]}],"parameters":[{"name":"hire_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Hire Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"enabled":{"type":"boolean","title":"Enabled"},"hours":{"anyOf":[{"type":"integer","maximum":168.0,"minimum":1.0},{"type":"null"}],"title":"Hours","description":"Weekly hours to fund automatically. Falls back to the hire's weekly_hours_limit when null."}},"type":"object","required":["enabled"],"title":"HourlyAutoFundRequest","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HireRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/hires/{hire_id}/complete":{"post":{"tags":["Hires"],"summary":"Complete Hire","operationId":"complete_hire","security":[{"AgentBearer":[]}],"parameters":[{"name":"hire_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Hire Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"rating":{"type":"integer","maximum":5.0,"minimum":1.0,"title":"Rating"},"review":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Review"},"signals":{"anyOf":[{"properties":{"delivered_on_time":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Delivered On Time"},"quality_as_expected":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Quality As Expected"},"would_hire_again":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Would Hire Again"}},"type":"object","title":"HireReviewSignals","additionalProperties":false},{"type":"null"}]}},"type":"object","required":["rating"],"title":"HireComplete","example":{"rating":5,"review":"Excellent work, very professional!","signals":{"delivered_on_time":true,"would_hire_again":true}},"additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HireRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/hires/{hire_id}/pay":{"post":{"tags":["Hires"],"summary":"Direct-pay a hire (non-escrow, commission-split)","description":"Executes a pay_with_commission_* on-chain tx for a hire whose `payment_mode == 'direct_split'`. Not valid for escrowed hires — use the escrow release flow for those. Returns the on-chain signature and the split amounts.","operationId":"pay_hire_directly","security":[{"AgentBearer":[]}],"parameters":[{"name":"hire_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Hire Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"amount":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Amount","description":"The freelancer NET — what the worker receives. Commission is charged on top: the employer pays amount + commission."},"commission_bps":{"type":"integer","maximum":1000.0,"minimum":0.0,"title":"Commission Bps","description":"Platform commission in basis points. 0-1000 (max 10%).","default":500},"note":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Note","description":"Optional memo recorded on the Payment row for audit."}},"type":"object","required":["amount"],"title":"HirePayRequest","example":{"amount":"120.00","commission_bps":200,"note":"Week 42 hours"},"additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HirePayResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/hires/{hire_id}/periods/{period_index}/fund":{"post":{"tags":["Hourly"],"summary":"Fund an hourly week (custodial)","description":"Opens the week on-chain if needed and tops the vault up to `cap + commission`. Employer only, custodial wallets only — external wallets must use `/fund/unsigned` + `/fund/confirm`.","operationId":"fund_period","security":[{"AgentBearer":[]}],"parameters":[{"name":"hire_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Hire Id"}},{"name":"period_index","in":"path","required":true,"schema":{"type":"integer","minimum":0,"title":"Period Index"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"properties":{"cap_hours":{"anyOf":[{"type":"integer","maximum":168.0,"minimum":1.0},{"type":"null"}],"title":"Cap Hours","description":"Override the hire's weekly hours cap for this week."}},"type":"object","title":"HourlyFundRequest","additionalProperties":false},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HourlyPeriodRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/hires/{hire_id}/periods/{period_index}/fund/confirm":{"post":{"tags":["Hourly"],"summary":"Confirm an externally signed funding transaction","description":"Verifies the signature landed successfully against this week's PDA and records the on-chain funded amount.","operationId":"confirm_fund_period","security":[{"AgentBearer":[]}],"parameters":[{"name":"hire_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Hire Id"}},{"name":"period_index","in":"path","required":true,"schema":{"type":"integer","minimum":0,"title":"Period Index"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"signature":{"type":"string","maxLength":128,"minLength":32,"title":"Signature"}},"type":"object","required":["signature"],"title":"HourlyConfirmRequest","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HourlyPeriodRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/hires/{hire_id}/periods/{period_index}/fund/unsigned":{"post":{"tags":["Hourly"],"summary":"Build an unsigned funding transaction","description":"Returns a base64 unsigned versioned transaction (open_period when the week is new, plus fund_period_sol|token) for a browser wallet to sign. Submit the resulting signature to `/fund/confirm`.","operationId":"fund_period_unsigned","security":[{"AgentBearer":[]}],"parameters":[{"name":"hire_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Hire Id"}},{"name":"period_index","in":"path","required":true,"schema":{"type":"integer","minimum":0,"title":"Period Index"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"properties":{"cap_hours":{"anyOf":[{"type":"integer","maximum":168.0,"minimum":1.0},{"type":"null"}],"title":"Cap Hours","description":"Override the hire's weekly hours cap for this week."}},"type":"object","title":"HourlyFundRequest","additionalProperties":false},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HourlyUnsignedTxResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/hires/{hire_id}/periods/{period_index}/raise-cap":{"post":{"tags":["Hourly"],"summary":"Raise the weekly cap (custodial)","description":"Raises the on-chain weekly cap and funds the delta in a single transaction. Caps are monotonic — they can only go up.","operationId":"raise_cap","security":[{"AgentBearer":[]}],"parameters":[{"name":"hire_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Hire Id"}},{"name":"period_index","in":"path","required":true,"schema":{"type":"integer","minimum":0,"title":"Period Index"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"new_hours":{"type":"integer","maximum":168.0,"minimum":1.0,"title":"New Hours"}},"type":"object","required":["new_hours"],"title":"HourlyRaiseCapRequest","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HourlyPeriodRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/hires/{hire_id}/periods/{period_index}/raise-cap/confirm":{"post":{"tags":["Hourly"],"summary":"Confirm an externally signed raise-cap transaction","operationId":"confirm_raise_cap","security":[{"AgentBearer":[]}],"parameters":[{"name":"hire_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Hire Id"}},{"name":"period_index","in":"path","required":true,"schema":{"type":"integer","minimum":0,"title":"Period Index"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"signature":{"type":"string","maxLength":128,"minLength":32,"title":"Signature"},"new_hours":{"type":"integer","maximum":168.0,"minimum":1.0,"title":"New Hours"}},"type":"object","required":["signature","new_hours"],"title":"HourlyRaiseCapConfirmRequest","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HourlyPeriodRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/hires/{hire_id}/periods/{period_index}/raise-cap/unsigned":{"post":{"tags":["Hourly"],"summary":"Build an unsigned raise-cap transaction","description":"raise_weekly_cap + the funding delta, in one unsigned tx.","operationId":"raise_cap_unsigned","security":[{"AgentBearer":[]}],"parameters":[{"name":"hire_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Hire Id"}},{"name":"period_index","in":"path","required":true,"schema":{"type":"integer","minimum":0,"title":"Period Index"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"new_hours":{"type":"integer","maximum":168.0,"minimum":1.0,"title":"New Hours"}},"type":"object","required":["new_hours"],"title":"HourlyRaiseCapRequest","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HourlyUnsignedTxResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/hires/{hire_id}/periods/{period_index}/request-funding":{"post":{"tags":["Hourly"],"summary":"Ask the employer to fund or raise this week","description":"Worker-only nudge. `nudge` asks the employer to fund the week; `more_hours` asks them to raise the weekly cap to `suggested_hours`. Rate-limited per hire+week to avoid spam.","operationId":"request_funding","security":[{"AgentBearer":[]}],"parameters":[{"name":"hire_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Hire Id"}},{"name":"period_index","in":"path","required":true,"schema":{"type":"integer","minimum":0,"title":"Period Index"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"kind":{"type":"string","enum":["nudge","more_hours"],"title":"Kind"},"suggested_hours":{"anyOf":[{"type":"integer","maximum":168.0,"minimum":1.0},{"type":"null"}],"title":"Suggested Hours","description":"For 'more_hours', the new weekly hours cap the worker suggests."}},"type":"object","required":["kind"],"title":"HourlyFundingRequestBody","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HourlyFundingRequestAck"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/hires/{hire_id}/review":{"post":{"tags":["Hires"],"summary":"Leave Review","operationId":"leave_review","security":[{"AgentBearer":[]}],"parameters":[{"name":"hire_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Hire Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"rating":{"type":"integer","maximum":5.0,"minimum":1.0,"title":"Rating"},"review":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Review"},"signals":{"anyOf":[{"properties":{"delivered_on_time":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Delivered On Time"},"quality_as_expected":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Quality As Expected"},"would_hire_again":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Would Hire Again"}},"type":"object","title":"HireReviewSignals","additionalProperties":false},{"type":"null"}]}},"type":"object","required":["rating"],"title":"HireReview","example":{"rating":5,"review":"Excellent work, very professional!","signals":{"delivered_on_time":true,"would_hire_again":true}},"additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HireRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/hires/{hire_id}/stop":{"post":{"tags":["Hourly"],"summary":"Stop an hourly engagement","description":"Either party may stop an hourly hire. The hire moves to `closing`: no new work logs after the stop moment, but pre-stop hours stay invoiceable until the current week ends. The hire closes automatically once the last week settles and every invoice resolves.","operationId":"stop_hire","security":[{"AgentBearer":[]}],"parameters":[{"name":"hire_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Hire Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"reason_code":{"type":"string","maxLength":40,"title":"Reason Code"},"note":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Note"}},"type":"object","required":["reason_code"],"title":"HireStopRequest","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HireRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/hires/{hire_id}/terminate":{"post":{"tags":["Hires"],"summary":"Terminate Hire","operationId":"terminate_hire","security":[{"AgentBearer":[]}],"parameters":[{"name":"hire_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Hire Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"reason_code":{"type":"string","maxLength":40,"minLength":1,"title":"Reason Code","description":"Stable reason code from the cancellation_reasons catalogue"},"note":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Note","description":"Optional free-text note (required when reason_code='other')"},"rating":{"anyOf":[{"type":"integer","maximum":5.0,"minimum":1.0},{"type":"null"}],"title":"Rating"},"review":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Review"}},"type":"object","required":["reason_code"],"title":"HireTerminate","example":{"note":"Work quality dropped after milestone 1.","rating":1,"reason_code":"quality_issues","review":"Work quality dropped after milestone 1."},"additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HireRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/hires/{hire_id}/tip":{"post":{"tags":["Hires"],"summary":"Tip a worker on a hire","description":"Sends a voluntary tip to the worker via a direct pay_with_commission_* tx (fee-on-top at the fixed tip rate). Never touches escrow; allowed on active, in-progress or completed hires. Employer only.","operationId":"tip_hire","security":[{"AgentBearer":[]}],"parameters":[{"name":"hire_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Hire Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"amount":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Amount","description":"The tip NET — what the worker receives (commission on top)."},"note":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Note","description":"Optional message shown to the worker with the tip."}},"type":"object","required":["amount"],"title":"HireTipRequest","example":{"amount":"25.00","note":"Great work!"},"additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HirePayResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/hires/{hire_id}/wallet-swap":{"post":{"tags":["Wallet swaps"],"summary":"Propose a wallet swap on an active hire","operationId":"propose","security":[{"AgentBearer":[]}],"parameters":[{"name":"hire_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Hire Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"new_wallet_id":{"type":"string","format":"uuid","title":"New Wallet Id","description":"Replacement wallet ID you own."},"reason":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Reason","description":"Short reason shown to the counterparty."}},"type":"object","required":["new_wallet_id"],"title":"WalletSwapProposeRequest","example":{"new_wallet_id":"c27a0e1f-1a5b-42f6-b4ef-8c6aa7e0e9d1","reason":"Lost access to my old wallet's seed phrase."},"additionalProperties":false}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletSwapProposalRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/images/confirm-upload":{"post":{"tags":["Images"],"summary":"Confirm direct upload completion","description":"Confirm that a direct S3 upload was completed and update the relevant entity.","operationId":"confirm_upload","requestBody":{"content":{"application/json":{"schema":{"properties":{"key":{"type":"string","title":"Key","description":"S3 key of the uploaded file"},"upload_type":{"type":"string","enum":["avatar","job_photo","vacancy_photo","cv"],"title":"Upload Type","description":"Type of upload"},"entity_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Id","description":"ID of the job or vacancy (required for job_photo/vacancy_photo)"}},"type":"object","required":["key","upload_type"],"title":"ConfirmUploadRequest","additionalProperties":false}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfirmUploadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/images/portfolio":{"post":{"tags":["Images"],"summary":"Upload a portfolio image","description":"Upload an image asset for a portfolio item. Returns the public URL — the caller is responsible for persisting it on the portfolio row by calling the profile portfolio create/update endpoints.","operationId":"upload_portfolio_image","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_portfolio_image_api_v1_images_portfolio_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvatarUploadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/images/presigned-url":{"post":{"tags":["Images"],"summary":"Get presigned URL for direct upload","description":"Get a presigned URL to upload a file directly to S3. More efficient for large files.","operationId":"get_presigned_url","requestBody":{"content":{"application/json":{"schema":{"properties":{"filename":{"type":"string","title":"Filename","description":"Original filename"},"content_type":{"type":"string","title":"Content Type","description":"MIME type of the file"},"upload_type":{"type":"string","enum":["avatar","job_photo","vacancy_photo","cv"],"title":"Upload Type","description":"Type of upload"},"entity_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Id","description":"ID of the job or vacancy (required for job_photo/vacancy_photo)"}},"type":"object","required":["filename","content_type","upload_type"],"title":"PresignedUrlRequest","additionalProperties":false}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresignedUrlResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/invitations":{"post":{"tags":["Invitations"],"summary":"Send invitation to employee","description":"Invite an employee to apply for your job. Typically used after viewing their vacancy.","operationId":"create_invitation","requestBody":{"content":{"application/json":{"schema":{"properties":{"job_id":{"type":"string","format":"uuid","title":"Job Id","description":"ID of the job to invite for"},"employee_id":{"type":"string","format":"uuid","title":"Employee Id","description":"ID of the employee to invite"},"vacancy_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Vacancy Id","description":"ID of the vacancy where you found this employee (optional)"},"message":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Message","description":"Personal message to the employee"}},"type":"object","required":["job_id","employee_id"],"title":"InvitationCreate","example":{"employee_id":"660e8400-e29b-41d4-a716-446655440001","job_id":"550e8400-e29b-41d4-a716-446655440000","message":"Hi! I saw your profile and think you'd be a great fit for this job. Please apply!","vacancy_id":"770e8400-e29b-41d4-a716-446655440002"},"additionalProperties":false}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvitationRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/invitations/{invitation_id}/decline":{"post":{"tags":["Invitations"],"summary":"Decline invitation","description":"Decline a job invitation (as employee).","operationId":"decline_invitation","security":[{"AgentBearer":[]}],"parameters":[{"name":"invitation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Invitation Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"reason":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Reason","description":"Optional reason for declining"}},"type":"object","title":"InvitationDecline","example":{"reason":"Thank you for the offer, but I'm not available at this time."},"additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvitationRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/invoices":{"post":{"tags":["Invoices"],"summary":"Create an invoice","description":"Create a new invoice. Type determines required fields: hourly needs work_log_ids, milestone needs milestone_id, final needs nothing extra.","operationId":"create_invoice","requestBody":{"content":{"application/json":{"schema":{"properties":{"hire_id":{"type":"string","format":"uuid","title":"Hire Id"},"invoice_type":{"type":"string","enum":["hourly","milestone","final"],"title":"InvoiceType"},"period_start":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Period Start"},"period_end":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Period End"},"work_log_ids":{"anyOf":[{"items":{"type":"string","format":"uuid"},"type":"array"},{"type":"null"}],"title":"Work Log Ids"},"milestone_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Milestone Id"},"employee_notes":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Employee Notes"},"line_items":{"anyOf":[{"items":{"properties":{"description":{"type":"string","maxLength":500,"title":"Description"},"quantity":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Quantity"},"unit_type":{"type":"string","maxLength":20,"title":"Unit Type","default":"hour"},"rate":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Rate"},"work_log_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Work Log Id"}},"type":"object","required":["description","quantity","rate"],"title":"InvoiceLineItemCreate","additionalProperties":false},"type":"array"},{"type":"null"}],"title":"Line Items"}},"type":"object","required":["hire_id","invoice_type"],"title":"InvoiceCreate","example":{"employee_notes":"Week 1 work completed","hire_id":"550e8400-e29b-41d4-a716-446655440000","invoice_type":"hourly","period_end":"2026-02-07","period_start":"2026-02-01","work_log_ids":["550e8400-e29b-41d4-a716-446655440001"]},"additionalProperties":false}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/invoices/hourly/bill":{"post":{"tags":["Invoices"],"summary":"Bill this week's outstanding hours","description":"Bills the worker's unbilled hours for the current weekly period. The server resolves the billable entries at request time, so an entry logged moments before the call is never missed. Entries that no longer fit the funded weekly cap are left unbilled and reported back in `skipped_hours`; the employer is notified that the cap was hit. Creating the invoice and staging it on-chain happen in one transaction.","operationId":"bill_hourly_period","requestBody":{"content":{"application/json":{"schema":{"properties":{"hire_id":{"type":"string","format":"uuid","title":"Hire Id"},"employee_notes":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Employee Notes"}},"type":"object","required":["hire_id"],"title":"HourlyBillRequest","additionalProperties":false}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HourlyBillResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/invoices/{invoice_id}/approve":{"post":{"tags":["Invoices"],"summary":"Approve invoice","description":"Employer approves a submitted invoice. For hourly invoices this releases the staged funds to the worker immediately, skipping the rest of the review window: the response comes back with `status=paid` and a `payment_tx_signature`. Milestone and final invoices are only marked approved and are paid out separately.","operationId":"approve_invoice","security":[{"AgentBearer":[]}],"parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Invoice Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"properties":{"employer_notes":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Employer Notes"}},"type":"object","title":"InvoiceApprove","additionalProperties":false},{"type":"null"}],"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/invoices/{invoice_id}/dispute":{"post":{"tags":["Invoices"],"summary":"Dispute invoice","description":"Disputes a submitted invoice. For hourly invoices either party may dispute until the invoice's `release_at`; for other invoice types the employer disputes.","operationId":"dispute_invoice","security":[{"AgentBearer":[]}],"parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Invoice Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"reason":{"type":"string","maxLength":2000,"minLength":10,"title":"Reason"},"notes":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Notes"}},"type":"object","required":["reason"],"title":"InvoiceDispute","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/invoices/{invoice_id}/submit":{"post":{"tags":["Invoices"],"summary":"Submit invoice","description":"Submit invoice for employer approval.","operationId":"submit_invoice","security":[{"AgentBearer":[]}],"parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Invoice Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/jobs/search":{"post":{"tags":["Jobs"],"summary":"Search jobs with advanced filters","description":"Search jobs with detailed filtering options including date ranges, payment types, and more.","operationId":"search_jobs","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Page size","default":50,"title":"Size"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"categories":{"anyOf":[{"items":{"type":"string","format":"uuid"},"type":"array"},{"type":"null"}],"title":"Categories","description":"Filter by categories"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Filter by city"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country","description":"Filter by country"},"is_remote":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Remote","description":"Filter remote jobs"},"is_urgent":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Urgent","description":"Filter urgent jobs"},"min_rate":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Min Rate","description":"Minimum rate"},"max_rate":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Max Rate","description":"Maximum rate"},"payment_type":{"anyOf":[{"type":"string","enum":["fixed","hourly"],"title":"PaymentType"},{"type":"null"}],"description":"Filter by payment type"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency","description":"Filter by currency"},"has_photos":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Photos","description":"Only jobs with photos"},"min_duration_hours":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Min Duration Hours","description":"Minimum duration"},"max_duration_hours":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Max Duration Hours","description":"Maximum duration"},"start_date_from":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date From","description":"Start date from"},"start_date_to":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date To","description":"Start date to"}},"type":"object","title":"JobSearchFilters","example":{"categories":["550e8400-e29b-41d4-a716-446655440000"],"city":"Kyiv","country":"Ukraine","has_photos":true,"is_remote":false,"is_urgent":true,"max_rate":"500.00","min_rate":"50.00","payment_type":"fixed","start_date_from":"2026-01-15T00:00:00Z","start_date_to":"2026-02-15T00:00:00Z"},"additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_JobRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/jobs/{job_id}/cancel":{"post":{"tags":["Jobs"],"summary":"Cancel a job with a reason","description":"Cancel an order and record why (reason code + optional note).","operationId":"cancel_job","security":[{"AgentBearer":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"reason_code":{"type":"string","maxLength":40,"minLength":1,"title":"Reason Code","description":"Stable reason code from the cancellation_reasons catalogue"},"note":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Note","description":"Optional free-text note (required when reason_code='other')"}},"type":"object","required":["reason_code"],"title":"JobCancel","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/jobs/{job_id}/publish":{"post":{"tags":["Jobs"],"summary":"Publish job","description":"Publish a draft job to make it visible to employees.","operationId":"publish_job","security":[{"AgentBearer":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/jobs/{job_id}/status":{"post":{"tags":["Jobs"],"summary":"Update job status","description":"Update the status of a job.","operationId":"update_job_status","security":[{"AgentBearer":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"status":{"type":"string","enum":["draft","active","in_progress","paused","completed","cancelled","expired"],"title":"JobStatus","description":"New job status"}},"type":"object","required":["status"],"title":"JobStatusUpdate","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/me/delete-account":{"post":{"tags":["Privacy"],"summary":"Delete (pseudonymize) the caller's account","description":"Permanently pseudonymize the caller's account: personal identifiers are scrubbed and the account can no longer be used to sign in. This does not close or withdraw from any open wallet or escrow first, and it cannot be undone — it requires `confirm=true` in the body and a stable operation_key to guard against an accidental repeat.","operationId":"delete_account","requestBody":{"content":{"application/json":{"schema":{"properties":{"confirm":{"type":"boolean","title":"Confirm","description":"Must be true to proceed with erasure."},"reason":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Reason"}},"type":"object","required":["confirm"],"title":"DeleteAccountRequest","additionalProperties":false}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteAccountResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"delete","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/meeting-invites":{"post":{"tags":["Meeting invites"],"summary":"Invite an applicant to pick an interview time","operationId":"create_meeting_invite","requestBody":{"content":{"application/json":{"schema":{"properties":{"application_id":{"type":"string","format":"uuid","title":"Application Id"},"title":{"type":"string","maxLength":300,"minLength":3,"title":"Title"},"description":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"title":"Description"},"duration_minutes":{"type":"integer","title":"Duration Minutes"},"window_start_at":{"type":"string","format":"date-time","title":"Window Start At"},"window_end_at":{"type":"string","format":"date-time","title":"Window End At"},"day_start_minute":{"type":"integer","maximum":1440.0,"minimum":0.0,"title":"Day Start Minute"},"day_end_minute":{"type":"integer","maximum":1440.0,"minimum":0.0,"title":"Day End Minute"},"timezone":{"type":"string","maxLength":64,"minLength":1,"title":"Timezone"},"min_notice_minutes":{"type":"integer","maximum":43200.0,"minimum":0.0,"title":"Min Notice Minutes","default":120},"buffer_minutes":{"type":"integer","minimum":0.0,"title":"Buffer Minutes","default":0}},"type":"object","required":["application_id","title","duration_minutes","window_start_at","window_end_at","day_start_minute","day_end_minute","timezone"],"title":"MeetingInviteCreate","additionalProperties":false}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeetingInviteRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/meeting-invites/{invite_id}/accept":{"post":{"tags":["Meeting invites"],"summary":"Pick one of the offered interview times","operationId":"accept_meeting_invite","security":[{"AgentBearer":[]}],"parameters":[{"name":"invite_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Invite Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"start_at":{"type":"string","format":"date-time","title":"Start At"}},"type":"object","required":["start_at"],"title":"MeetingInviteAccept","additionalProperties":false}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeetingInviteAccepted"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/meetings":{"post":{"tags":["Meetings"],"summary":"Schedule a meeting on an application","description":"Employer-only. Create an interview meeting on a job application, within a 90-day window, and send calendar invitations to both the employer and the applicant.","operationId":"create_meeting","requestBody":{"content":{"application/json":{"schema":{"properties":{"application_id":{"type":"string","format":"uuid","title":"Application Id"},"title":{"type":"string","maxLength":300,"minLength":3,"title":"Title"},"description":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"title":"Description"},"start_at":{"type":"string","format":"date-time","title":"Start At"},"end_at":{"type":"string","format":"date-time","title":"End At"}},"type":"object","required":["application_id","title","start_at","end_at"],"title":"MeetingCreate","additionalProperties":false}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeetingRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/milestones/reorder":{"post":{"tags":["Milestones"],"summary":"Reorder milestones","description":"Reorder milestones for a job (employer only).","operationId":"reorder_milestones","security":[{"AgentBearer":[]}],"parameters":[{"name":"job_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"milestone_ids":{"items":{"type":"string","format":"uuid"},"type":"array","maxItems":50,"minItems":1,"title":"Milestone Ids"}},"type":"object","required":["milestone_ids"],"title":"MilestoneReorder","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MilestoneListItem"},"title":"Response Reorder Milestones Api V1 Milestones Reorder Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/milestones/{milestone_id}/approve":{"post":{"tags":["Milestones"],"summary":"Approve milestone","description":"Employer approves a submitted milestone.","operationId":"approve_milestone","security":[{"AgentBearer":[]}],"parameters":[{"name":"milestone_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Milestone Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MilestoneRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/milestones/{milestone_id}/requirements/{requirement_id}/complete":{"post":{"tags":["Milestones"],"summary":"Complete Requirement","operationId":"complete_requirement","security":[{"AgentBearer":[]}],"parameters":[{"name":"milestone_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Milestone Id"}},{"name":"requirement_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Requirement Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"completion_notes":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Completion Notes"},"evidence_url":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"}],"title":"Evidence Url"}},"type":"object","title":"MilestoneRequirementComplete","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MilestoneRequirementRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/milestones/{milestone_id}/requirements/{requirement_id}/uncomplete":{"post":{"tags":["Milestones"],"summary":"Uncomplete Requirement","operationId":"uncomplete_requirement","security":[{"AgentBearer":[]}],"parameters":[{"name":"milestone_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Milestone Id"}},{"name":"requirement_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Requirement Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MilestoneRequirementRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/milestones/{milestone_id}/revision":{"post":{"tags":["Milestones"],"summary":"Request revision","description":"Employer requests revision on a submitted milestone.","operationId":"request_revision","security":[{"AgentBearer":[]}],"parameters":[{"name":"milestone_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Milestone Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"feedback":{"type":"string","maxLength":2000,"minLength":10,"title":"Feedback"}},"type":"object","required":["feedback"],"title":"MilestoneRevision","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MilestoneRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/milestones/{milestone_id}/start":{"post":{"tags":["Milestones"],"summary":"Start milestone","description":"Employee marks milestone as in progress.","operationId":"start_milestone","security":[{"AgentBearer":[]}],"parameters":[{"name":"milestone_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Milestone Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MilestoneRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/milestones/{milestone_id}/submissions/current/files":{"post":{"tags":["Milestone Files"],"summary":"Add a file to the current draft round (employee)","operationId":"add_file_to_current","security":[{"AgentBearer":[]}],"parameters":[{"name":"milestone_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Milestone Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"kind":{"type":"string","enum":["image","video","document","archive","link","other"],"title":"Kind","default":"other"},"provider":{"type":"string","enum":["raw","figma","github","gitlab","youtube","notion","gdrive","dropbox","loom","other"],"title":"Provider","default":"raw"},"url":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"title":"Url"},"storage_key":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"}],"title":"Storage Key"},"file_name":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"File Name"},"file_size":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"File Size"},"mime_type":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Mime Type"},"title":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Title"},"description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Description"}},"type":"object","title":"MilestoneSubmissionFileCreate","additionalProperties":false}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MilestoneSubmissionFileRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/milestones/{milestone_id}/submissions/current/submit":{"post":{"tags":["Milestone Files"],"summary":"Submit the current draft round for review (employee)","operationId":"submit_current","security":[{"AgentBearer":[]}],"parameters":[{"name":"milestone_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Milestone Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"notes":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"title":"Notes"}},"type":"object","title":"MilestoneSubmissionSubmit","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MilestoneSubmissionRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/milestones/{milestone_id}/submissions/{submission_id}/review":{"post":{"tags":["Milestone Files"],"summary":"Review a submitted round (employer)","operationId":"review_submission","security":[{"AgentBearer":[]}],"parameters":[{"name":"milestone_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Milestone Id"}},{"name":"submission_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Submission Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"decision":{"type":"string","enum":["accept","request_revision","reject"],"title":"Decision"},"employer_feedback":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"title":"Employer Feedback"},"file_statuses":{"items":{"properties":{"file_id":{"type":"string","format":"uuid","title":"File Id"},"status":{"type":"string","enum":["pending","accepted","needs_revision","rejected"],"title":"Status"},"status_note":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Status Note"}},"type":"object","required":["file_id","status"],"title":"MilestoneSubmissionFileStatusEntry","additionalProperties":false},"type":"array","title":"File Statuses"}},"type":"object","required":["decision"],"title":"MilestoneSubmissionReview","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MilestoneSubmissionRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/milestones/{milestone_id}/submit":{"post":{"tags":["Milestones"],"summary":"Submit milestone","description":"Employee submits milestone deliverables for review.","operationId":"submit_milestone","security":[{"AgentBearer":[]}],"parameters":[{"name":"milestone_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Milestone Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"notes":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Notes"}},"type":"object","title":"MilestoneSubmit","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MilestoneRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/milestones/{milestone_id}/uploads/sign":{"post":{"tags":["Milestone Uploads"],"summary":"Mint a presigned upload URL for a milestone file","operationId":"sign_milestone_upload","security":[{"AgentBearer":[]}],"parameters":[{"name":"milestone_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Milestone Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"purpose":{"type":"string","enum":["attachment","submission"],"title":"Purpose","description":"What this upload is for. `attachment` = employer reference material; `submission` = worker delivery file.","examples":["submission"]},"filename":{"type":"string","maxLength":255,"minLength":1,"title":"Filename","examples":["mockup-v2.png"]},"content_type":{"type":"string","maxLength":120,"title":"Content Type","examples":["image/png"]},"file_size":{"anyOf":[{"type":"integer","maximum":524288000.0,"minimum":1.0},{"type":"null"}],"title":"File Size","description":"Optional, in bytes. Used only to fail fast.","examples":[842311]}},"type":"object","required":["purpose","filename","content_type"],"title":"PresignUploadRequest","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresignUploadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/notifications/read-all":{"post":{"tags":["Notifications"],"summary":"Mark All Read","operationId":"mark_all_read","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarkReadResponse"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/notifications/{notification_id}/read":{"post":{"tags":["Notifications"],"summary":"Mark Notification Read","operationId":"mark_notification_read","security":[{"AgentBearer":[]}],"parameters":[{"name":"notification_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Notification Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/profile/me/connections/linkedin/apply":{"post":{"tags":["LinkedIn"],"summary":"Apply Pending Draft","operationId":"apply_pending_draft","requestBody":{"content":{"application/json":{"schema":{"properties":{"scalar_fields":{"items":{"type":"string"},"type":"array","title":"Scalar Fields","description":"Names of scalar fields to apply. Allowed: first_name, last_name, avatar_url, tagline, bio, city, country."},"employment_indexes":{"items":{"type":"integer"},"type":"array","title":"Employment Indexes"},"skill_indexes":{"items":{"type":"integer"},"type":"array","title":"Skill Indexes"},"language_indexes":{"items":{"type":"integer"},"type":"array","title":"Language Indexes"},"social_link_indexes":{"items":{"type":"integer"},"type":"array","title":"Social Link Indexes"}},"type":"object","title":"LinkedInApplyRequest","additionalProperties":false}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"boolean"},"type":"object","title":"Response Apply Pending Draft Api V1 Profile Me Connections Linkedin Apply Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/profile/me/connections/linkedin/archive":{"post":{"tags":["LinkedIn"],"summary":"Upload Linkedin Archive","operationId":"upload_linkedin_archive","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_linkedin_archive_api_v1_profile_me_connections_linkedin_archive_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkedInDraftResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/profile/me/employments":{"post":{"tags":["Profile"],"summary":"Add Employment","operationId":"add_employment","requestBody":{"content":{"application/json":{"schema":{"properties":{"company":{"type":"string","maxLength":200,"title":"Company","examples":["Stratascratch"]},"title":{"type":"string","maxLength":200,"title":"Title","examples":["Team Lead"]},"summary":{"anyOf":[{"type":"string","maxLength":280},{"type":"null"}],"title":"Summary","examples":["Built data products on Django + Next.js"]},"start_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Start Year","examples":[2023]},"end_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"End Year","examples":[2025]},"is_current":{"type":"boolean","title":"Is Current","default":false,"examples":[true]}},"type":"object","required":["company","title"],"title":"EmploymentCreate","additionalProperties":false}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmploymentRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/profile/me/import/cv":{"post":{"tags":["Profile import"],"summary":"Import a profile draft from a CV","description":"Parses an uploaded CV (PDF, DOCX or plain text, max 10 MiB) with the AI assistant and stages a reviewable per-field import draft. Nothing is written to the profile until the draft is applied. Errors carry a machine code as the detail: unsupported_file, unreadable_file, empty_file, encrypted_file, file_too_large, budget_exhausted, ai_unavailable, ai_failed.","operationId":"import_cv","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_import_cv_api_v1_profile_me_import_cv_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkedInDraftResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/profile/me/languages":{"post":{"tags":["Profile"],"summary":"Add Language","operationId":"add_language","requestBody":{"content":{"application/json":{"schema":{"properties":{"language":{"type":"string","maxLength":50,"title":"Language","examples":["English"]},"proficiency":{"type":"string","enum":["basic","conversational","fluent","native"],"title":"LanguageProficiency","default":"fluent","examples":["fluent"]}},"type":"object","required":["language"],"title":"LanguageCreate","additionalProperties":false}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LanguageRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/profile/me/portfolios":{"post":{"tags":["Profile"],"summary":"Add Portfolio","operationId":"add_portfolio","requestBody":{"content":{"application/json":{"schema":{"properties":{"title":{"type":"string","maxLength":200,"title":"Title","examples":["Tacans Labs"]},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","examples":["Web3 solutions for financial services"]},"project_url":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Project Url","examples":["https://tacans.com"]},"image_url":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Image Url","examples":["https://example.com/screenshot.png"]},"image_urls":{"items":{"type":"string"},"type":"array","title":"Image Urls","description":"Up to 10 screenshot URLs for this portfolio item.","examples":[["https://example.com/shot-1.png","https://example.com/shot-2.png"]]},"hire_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Hire Id","description":"Optional: link this portfolio item to a Worqen hire to get the on-chain verified badge."},"show_amount":{"type":"boolean","title":"Show Amount","description":"If true and hire_id is set, the released amount is exposed on the public profile.","default":false}},"type":"object","required":["title"],"title":"PortfolioCreate","additionalProperties":false}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortfolioRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/profile/me/social-links":{"post":{"tags":["Profile"],"summary":"Add Social Link","operationId":"add_social_link","requestBody":{"content":{"application/json":{"schema":{"properties":{"platform":{"type":"string","enum":["github","linkedin","twitter","dribbble","behance","website","telegram"],"title":"SocialPlatform","examples":["github"]},"url":{"type":"string","maxLength":500,"minLength":1,"title":"Url","examples":["https://github.com/romankliuiev"]}},"type":"object","required":["platform","url"],"title":"SocialLinkCreate","additionalProperties":false}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocialLinkRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/profile/me/user-skills":{"post":{"tags":["Profile"],"summary":"Add User Skill","operationId":"add_user_skill","requestBody":{"content":{"application/json":{"schema":{"properties":{"skill":{"type":"string","maxLength":100,"minLength":1,"title":"Skill","examples":["Rust"]},"level":{"anyOf":[{"type":"string","enum":["beginner","intermediate","advanced","expert"],"title":"SkillLevel"},{"type":"null"}],"examples":["expert"]},"years_experience":{"anyOf":[{"type":"integer","maximum":70.0,"minimum":0.0},{"type":"null"}],"title":"Years Experience","examples":[5]}},"type":"object","required":["skill"],"title":"UserSkillCreate","additionalProperties":false}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSkillRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/profile/me/wallet/challenge":{"post":{"tags":["Profile"],"summary":"Request Wallet Challenge","operationId":"request_wallet_challenge","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__schemas__profile__WalletChallengeResponse"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/profile/me/wallet/verify":{"post":{"tags":["Profile"],"summary":"Verify Wallet","operationId":"verify_wallet","requestBody":{"content":{"application/json":{"schema":{"properties":{"address":{"type":"string","maxLength":64,"minLength":32,"title":"Address","examples":["7n4..."]},"signature":{"type":"string","title":"Signature","examples":["base58-encoded-signature"]},"message":{"type":"string","title":"Message","examples":["worqen.com|<nonce>|7n4..."]}},"type":"object","required":["address","signature","message"],"title":"WalletProofRequest","additionalProperties":false}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FullProfileResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/proposals":{"post":{"tags":["Proposals"],"summary":"Send a proposal on a vacancy","description":"Employer-initiated offer on a worker's vacancy. Carries the work terms (scope, rate, milestones). The worker accepts to create a hire.","operationId":"create_proposal","requestBody":{"content":{"application/json":{"schema":{"properties":{"vacancy_id":{"type":"string","format":"uuid","title":"Vacancy Id"},"title":{"type":"string","maxLength":200,"minLength":3,"title":"Title"},"message":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Message"},"proposed_rate":{"anyOf":[{"type":"number","exclusiveMaximum":1000000000.0,"exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Proposed Rate"},"proposed_hours":{"anyOf":[{"type":"number","exclusiveMaximum":100000000.0,"exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Proposed Hours"},"currency":{"type":"string","maxLength":10,"title":"Currency","default":"USD"},"payment_type":{"type":"string","enum":["fixed","hourly"],"title":"Payment Type","default":"fixed"},"payer_wallet_id":{"type":"string","format":"uuid","title":"Payer Wallet Id","description":"Wallet that will fund the escrow. Must be owned by the employer, ACTIVE, and ownership-verified."},"milestones":{"items":{"properties":{"title":{"type":"string","maxLength":200,"title":"Title"},"description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Description"},"deliverable":{"type":"string","maxLength":500,"minLength":1,"title":"Deliverable","examples":["Figma file with 5 screens in .fig format"]},"amount":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Amount"},"due_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Due Date"},"is_free":{"type":"boolean","title":"Is Free","default":false}},"type":"object","required":["title","deliverable","amount"],"title":"ProposalMilestoneInput","additionalProperties":false},"type":"array","title":"Milestones"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"}},"type":"object","required":["vacancy_id","title","payer_wallet_id"],"title":"ProposalCreate","additionalProperties":false}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProposalRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/proposals/{proposal_id}/accept":{"post":{"tags":["Proposals"],"summary":"Accept a proposal","description":"Worker accepts; creates the job/work-order + hire and funds escrow.","operationId":"accept_proposal","security":[{"AgentBearer":[]}],"parameters":[{"name":"proposal_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Proposal Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"payee_wallet_id":{"type":"string","format":"uuid","title":"Payee Wallet Id","description":"Wallet that will receive payment. Owned by the worker, ACTIVE, verified."},"tx_signature":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tx Signature"}},"type":"object","required":["payee_wallet_id"],"title":"ProposalAccept","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProposalRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/proposals/{proposal_id}/decline":{"post":{"tags":["Proposals"],"summary":"Decline a proposal","operationId":"decline_proposal","security":[{"AgentBearer":[]}],"parameters":[{"name":"proposal_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Proposal Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"reason":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Reason"}},"type":"object","title":"ProposalDecline","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProposalRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/proposals/{proposal_id}/withdraw":{"post":{"tags":["Proposals"],"summary":"Withdraw a proposal","operationId":"withdraw_proposal","security":[{"AgentBearer":[]}],"parameters":[{"name":"proposal_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Proposal Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProposalRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/referrals/claim":{"post":{"tags":["Referrals"],"summary":"Claim a referral code","description":"Attach the caller to a referrer by code. One-time, new accounts only; rejected attempts return a single generic error and are audited.","operationId":"claim_referral","requestBody":{"content":{"application/json":{"schema":{"properties":{"code":{"type":"string","title":"Code"}},"type":"object","required":["code"],"title":"ReferralClaim","additionalProperties":false}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReferralStats"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/reports":{"post":{"tags":["Reports"],"summary":"File a content report","description":"Report a user, job, message or other piece of content to Worqen's moderation team for review, with a category, description and optional evidence URLs. You cannot report yourself.","operationId":"create_report","requestBody":{"content":{"application/json":{"schema":{"properties":{"target_type":{"type":"string","enum":["job","vacancy","user","chat","message","profile","device"],"title":"ReportTargetType"},"target_id":{"type":"string","maxLength":80,"minLength":1,"title":"Target Id"},"category":{"type":"string","enum":["illegal","fraud","spam","harassment","nsfw","impersonation","other"],"title":"ReportCategory"},"description":{"type":"string","maxLength":2000,"minLength":10,"title":"Description"},"evidence_urls":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":10},{"type":"null"}],"title":"Evidence Urls"}},"type":"object","required":["target_type","target_id","category","description"],"title":"CreateReportRequest","example":{"category":"illegal","description":"This job is asking for an illegal service (see attached screenshots).","evidence_urls":[],"target_id":"8a4f7c2d-2b18-4f6e-9e13-1ab2c3d4e5f6","target_type":"job"},"additionalProperties":false}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateReportResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/skills/suggest-from-text":{"post":{"tags":["Skills"],"summary":"Suggest categories and skills from a job title and description","operationId":"suggest_from_text","requestBody":{"content":{"application/json":{"schema":{"properties":{"title":{"type":"string","maxLength":500,"title":"Title","default":""},"description":{"type":"string","maxLength":50000,"title":"Description","default":""}},"type":"object","title":"TaxonomySuggestRequest","additionalProperties":false}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaxonomySuggestResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/skills/track":{"post":{"tags":["Skills"],"summary":"Track Skills","operationId":"track_skills","requestBody":{"content":{"application/json":{"schema":{"properties":{"skills":{"items":{"type":"string"},"type":"array","maxItems":50,"title":"Skills"},"skill_category_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Skill Category Id"}},"type":"object","title":"SkillTrackRequest","additionalProperties":false}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillTrackResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/subscriptions/cancel":{"post":{"tags":["Subscriptions"],"summary":"Cancel","operationId":"cancel","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionRead"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/subscriptions/subscribe":{"post":{"tags":["Subscriptions"],"summary":"Subscribe","operationId":"subscribe","requestBody":{"content":{"application/json":{"schema":{"properties":{"plan_key":{"type":"string","title":"Plan Key","default":"prime","examples":["prime"]},"period":{"type":"string","title":"Period","default":"monthly","examples":["monthly"]},"currency":{"type":"string","title":"Currency","description":"Payment currency: SOL, USDC, USDT, or EURC","examples":["USDC"]},"wallet_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Wallet Id","description":"Custodial wallet to pay from. Mutually exclusive."},"tx_signature":{"anyOf":[{"type":"string","maxLength":128,"minLength":64},{"type":"null"}],"title":"Tx Signature","description":"Signature of a client-signed payment. Mutually exclusive."}},"type":"object","required":["currency"],"title":"SubscribeRequest","additionalProperties":false}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscribeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/support/tickets/open":{"post":{"tags":["Support"],"summary":"Open Or Get Active Ticket","operationId":"open_or_get_active_ticket","requestBody":{"content":{"application/json":{"schema":{"properties":{"subject":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Subject"}},"type":"object","title":"SupportTicketOpenRequest","additionalProperties":false}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupportTicketDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/support/tickets/{ticket_id}/messages":{"post":{"tags":["Support"],"summary":"Send User Message","operationId":"send_user_message","security":[{"AgentBearer":[]}],"parameters":[{"name":"ticket_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Ticket Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"content":{"anyOf":[{"type":"string","maxLength":10000,"minLength":1},{"type":"null"}],"title":"Content"},"attachments":{"anyOf":[{"items":{"properties":{"attachment_type":{"type":"string","enum":["image","video","audio","document","other"],"title":"AttachmentType"},"filename":{"type":"string","maxLength":255,"title":"Filename"},"original_filename":{"type":"string","maxLength":255,"title":"Original Filename"},"storage_key":{"type":"string","maxLength":500,"title":"Storage Key"},"mime_type":{"type":"string","maxLength":100,"title":"Mime Type"},"file_size":{"type":"integer","exclusiveMinimum":0.0,"title":"File Size"},"width":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Width"},"height":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Height"}},"type":"object","required":["attachment_type","filename","original_filename","storage_key","mime_type","file_size"],"title":"SupportAttachmentCreate","additionalProperties":false},"type":"array","maxItems":10},{"type":"null"}],"title":"Attachments"}},"type":"object","title":"SupportMessageCreate","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupportMessageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/support/tickets/{ticket_id}/read":{"post":{"tags":["Support"],"summary":"Mark Ticket Read","operationId":"mark_ticket_read","security":[{"AgentBearer":[]}],"parameters":[{"name":"ticket_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Ticket Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupportUnreadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/support/tickets/{ticket_id}/resolve":{"post":{"tags":["Support"],"summary":"Resolve My Ticket","operationId":"resolve_my_ticket","security":[{"AgentBearer":[]}],"parameters":[{"name":"ticket_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Ticket Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupportTicketResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/support/tickets/{ticket_id}/upload-url":{"post":{"tags":["Support"],"summary":"Get Support Upload Url","operationId":"get_support_upload_url","security":[{"AgentBearer":[]}],"parameters":[{"name":"ticket_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Ticket Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"filename":{"type":"string","maxLength":255,"title":"Filename"},"content_type":{"type":"string","maxLength":100,"title":"Content Type"},"file_size":{"type":"integer","exclusiveMinimum":0.0,"title":"File Size"}},"type":"object","required":["filename","content_type","file_size"],"title":"SupportUploadUrlRequest","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupportUploadUrlResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/vacancies/search":{"post":{"tags":["Vacancies"],"summary":"Search vacancies with advanced filters","description":"Search vacancies with detailed filtering options including experience, skills, rates, and more.","operationId":"search_vacancies","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Page size","default":50,"title":"Size"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"categories":{"anyOf":[{"items":{"type":"string","format":"uuid"},"type":"array"},{"type":"null"}],"title":"Categories","description":"Filter by category UUIDs"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Filter by city"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country","description":"Filter by country"},"is_available_now":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Available Now","description":"Filter available now"},"is_remote_available":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Remote Available","description":"Filter remote available"},"min_experience_years":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Min Experience Years","description":"Minimum experience years"},"max_experience_years":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Max Experience Years","description":"Maximum experience years"},"min_rate":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Min Rate","description":"Minimum rate"},"max_rate":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Max Rate","description":"Maximum rate"},"payment_type":{"anyOf":[{"type":"string","enum":["fixed","hourly"],"title":"PaymentType"},{"type":"null"}],"description":"Filter by payment type"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency","description":"Filter by currency"},"has_photos":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Photos","description":"Only vacancies with photos"},"skills":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Skills","description":"Required skills"},"available_from_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Available From Date","description":"Available from date"},"min_travel_radius_km":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Min Travel Radius Km","description":"Min travel radius"}},"type":"object","title":"VacancySearchFilters","example":{"categories":["550e8400-e29b-41d4-a716-446655440000"],"city":"Kyiv","country":"Ukraine","is_available_now":true,"is_remote_available":false,"max_experience_years":10,"max_rate":"100.00","min_experience_years":2,"min_rate":"20.00","skills":["Pipe repair","Fixture installation"]},"additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_VacancyRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read"],"x-worqen-effect":"read"}},"/api/v1/vacancies/{vacancy_id}/publish":{"post":{"tags":["Vacancies"],"summary":"Publish vacancy","description":"Publish a draft vacancy to make it visible to employers.","operationId":"publish_vacancy","security":[{"AgentBearer":[]}],"parameters":[{"name":"vacancy_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Vacancy Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VacancyRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/vacancies/{vacancy_id}/status":{"post":{"tags":["Vacancies"],"summary":"Update vacancy status","description":"Update the status of a vacancy.","operationId":"update_vacancy_status","security":[{"AgentBearer":[]}],"parameters":[{"name":"vacancy_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Vacancy Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"status":{"type":"string","enum":["draft","active","paused","closed"],"title":"VacancyStatus","description":"New vacancy status"}},"type":"object","required":["status"],"title":"VacancyStatusUpdate","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VacancyRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/verification/session":{"post":{"tags":["Verification"],"summary":"Start or resume a Persona verification session","description":"Creates a Persona inquiry for the authenticated user (or resumes the existing one) and returns the inquiry id plus a hosted-flow session token. A new inquiry is only minted when the stored one is spent or unusable.","operationId":"create_verification_session","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerificationSessionResponse"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/wallet-swaps/{proposal_id}/cancel":{"post":{"tags":["Wallet swaps"],"summary":"Proposer withdraws their own swap request","operationId":"post_wallet_swaps__proposal_id__cancel","security":[{"AgentBearer":[]}],"parameters":[{"name":"proposal_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Proposal Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletSwapProposalRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/wallet-swaps/{proposal_id}/respond":{"post":{"tags":["Wallet swaps"],"summary":"Counterparty approves or rejects a swap","operationId":"respond","security":[{"AgentBearer":[]}],"parameters":[{"name":"proposal_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Proposal Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"approve":{"type":"boolean","title":"Approve","description":"True to approve, false to reject."},"notes":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Notes","description":"Optional comment shown to the proposer."}},"type":"object","required":["approve"],"title":"WalletSwapRespondRequest","example":{"approve":true,"notes":"OK, I'll sign with the new one."},"additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletSwapProposalRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/wallets/challenge":{"post":{"tags":["Wallets"],"summary":"Request ownership challenge","description":"Get a nonce + message to sign with your external wallet. Sign the returned `message` UTF-8 bytes verbatim with your wallet's signMessage flow, then call POST /wallets/{id}/verify with the signature.","operationId":"request_challenge","requestBody":{"content":{"application/json":{"schema":{"properties":{"network":{"type":"string","enum":["solana","trc20","erc20","btc"],"title":"WalletNetwork","description":"Network of the address."},"address":{"type":"string","maxLength":255,"minLength":20,"title":"Address","description":"The external address you're about to register (or verify)."}},"type":"object","required":["network","address"],"title":"WalletChallengeRequest","example":{"address":"7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU","network":"solana"},"additionalProperties":false}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__schemas__wallet__wallet__WalletChallengeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/wallets/generate":{"post":{"tags":["Wallets"],"summary":"Generate custodial wallet","description":"Generate a new platform-managed Solana wallet. Key is stored encrypted server-side.","operationId":"generate_wallet","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"properties":{"label":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Label","description":"Optional label for the wallet"},"network":{"type":"string","title":"Network","description":"Network to generate for: 'solana' or 'erc20'.","default":"solana","examples":["solana","erc20"]}},"type":"object","title":"GenerateWalletRequest","additionalProperties":false},{"type":"null"}],"title":"Payload"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/wallets/{wallet_id}/drain":{"post":{"tags":["Wallets"],"summary":"Drain a custodial wallet then archive it","description":"Queues an async transfer of every non-zero balance (SOL + SPL tokens) from the wallet to `destination_wallet_id`, then archives the source and wipes its encrypted key. Only valid on custodial wallets the user owns. Does nothing to external wallets.","operationId":"drain_wallet","security":[{"AgentBearer":[]}],"parameters":[{"name":"wallet_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Wallet Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"destination_wallet_id":{"type":"string","format":"uuid","title":"Destination Wallet Id","description":"Wallet to move all balances into before archival."}},"type":"object","required":["destination_wallet_id"],"title":"WalletDrainRequest","example":{"destination_wallet_id":"c27a0e1f-1a5b-42f6-b4ef-8c6aa7e0e9d1"},"additionalProperties":false}}}},"responses":{"202":{"description":"Drain queued.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletDrainResponse"}}}},"400":{"description":"Invalid state or destination."},"409":{"description":"Wallet is locked to an active hire.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletDeleteError"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/wallets/{wallet_id}/transfer":{"post":{"tags":["Wallets"],"summary":"Send SOL or SPL tokens from a custodial wallet","description":"Send SOL, USDC, USDT, or EURC from a platform-managed (custodial) Solana wallet to any base58 recipient. Synchronous: the transaction is signed, submitted, and confirmed before this endpoint returns. Only works on the user's own custodial Solana wallets in `active` state and not locked to a hire. EURC is mainnet-only.","operationId":"transfer_from_wallet","security":[{"AgentBearer":[]}],"parameters":[{"name":"wallet_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Wallet Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"to_address":{"type":"string","maxLength":64,"minLength":32,"title":"To Address","description":"Recipient Solana address (base58 pubkey)."},"amount":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Amount","description":"Amount to send in human units (e.g. 1.5 SOL, 25 USDC)."},"currency":{"type":"string","enum":["SOL","USDC","USDT","EURC"],"title":"PaymentCurrency","description":"Currency to send. EURC is rejected on non-mainnet networks."},"memo":{"anyOf":[{"type":"string","maxLength":256},{"type":"null"}],"title":"Memo","description":"Optional internal note recorded in the audit log only."}},"type":"object","required":["to_address","amount","currency"],"title":"WalletTransferRequest","example":{"amount":"1.5","currency":"SOL","memo":"Reimbursement for design work","to_address":"7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU"},"additionalProperties":false}}}},"responses":{"200":{"description":"Transfer confirmed on-chain.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletTransferResponse"}}}},"400":{"description":"Validation failure: bad recipient, insufficient balance, wrong network/state, locked wallet, or unsupported currency."},"404":{"description":"Wallet not found or not owned by the user."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/wallets/{wallet_id}/verify":{"post":{"tags":["Wallets"],"summary":"Verify wallet ownership","description":"Submit the signature produced from the challenge message. On success, the wallet transitions to VERIFIED and can be selected for hires. Custodial wallets are pre-verified and this endpoint is a no-op for them.","operationId":"verify_ownership","security":[{"AgentBearer":[]}],"parameters":[{"name":"wallet_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Wallet Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"signature":{"type":"string","maxLength":256,"minLength":32,"title":"Signature","description":"Base58-encoded signature of the challenge message, produced by the user's wallet (e.g. Phantom's `signMessage`)."}},"type":"object","required":["signature"],"title":"WalletVerifyRequest","example":{"signature":"5H3s...base58 signature from Phantom..."},"additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment"}},"/api/v1/work-logs":{"post":{"tags":["Work Logs"],"summary":"Log work","description":"Employee logs hours worked for a specific date on an hourly hire, in draft status until submitted for invoicing.","operationId":"create_work_log","requestBody":{"content":{"application/json":{"schema":{"properties":{"hire_id":{"type":"string","format":"uuid","title":"Hire Id"},"work_date":{"type":"string","format":"date","title":"Work Date"},"start_time":{"anyOf":[{"type":"string","format":"time"},{"type":"null"}],"title":"Start Time"},"end_time":{"anyOf":[{"type":"string","format":"time"},{"type":"null"}],"title":"End Time"},"break_minutes":{"type":"integer","maximum":480.0,"minimum":0.0,"title":"Break Minutes","default":0},"hours_worked":{"anyOf":[{"type":"number","maximum":24.0,"exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Hours Worked"},"description":{"type":"string","maxLength":2000,"minLength":10,"title":"Description"},"tasks_completed":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tasks Completed"},"evidence_urls":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Evidence Urls"}},"type":"object","required":["hire_id","work_date","hours_worked","description"],"title":"WorkLogCreate","example":{"description":"Completed frontend development tasks","hire_id":"550e8400-e29b-41d4-a716-446655440000","hours_worked":"8.5","tasks_completed":["Login page","Dashboard layout"],"work_date":"2026-02-10"},"additionalProperties":false}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkLogRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/work-logs/bulk-submit":{"post":{"tags":["Work Logs"],"summary":"Bulk submit work logs","description":"Submit multiple work logs at once.","operationId":"bulk_submit_work_logs","requestBody":{"content":{"application/json":{"schema":{"properties":{"work_log_ids":{"items":{"type":"string","format":"uuid"},"type":"array","maxItems":50,"minItems":1,"title":"Work Log Ids"}},"type":"object","required":["work_log_ids"],"title":"WorkLogBulkAction","additionalProperties":false}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/WorkLogRead"},"type":"array","title":"Response Bulk Submit Work Logs Api V1 Work Logs Bulk Submit Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/work-logs/from-template/{template_id}":{"post":{"tags":["Work Log Extended"],"summary":"Create From Template","operationId":"create_from_template","security":[{"AgentBearer":[]}],"parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Template Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"work_date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","title":"Work Date"},"hours_worked":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Hours Worked"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"tasks_completed":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tasks Completed"}},"type":"object","required":["work_date"],"title":"WorkLogFromTemplate","additionalProperties":false}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkLogRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/work-logs/{work_log_id}/submit":{"post":{"tags":["Work Logs"],"summary":"Submit work log","description":"Submit a draft work log so it can be attached to an invoice.","operationId":"submit_work_log","security":[{"AgentBearer":[]}],"parameters":[{"name":"work_log_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Work Log Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkLogRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/worqs/purchase":{"post":{"tags":["Worqs"],"summary":"Purchase Worqs","operationId":"purchase_worqs","requestBody":{"content":{"application/json":{"schema":{"properties":{"amount":{"type":"integer","maximum":1000.0,"exclusiveMinimum":0.0,"title":"Amount","examples":[20]},"currency":{"type":"string","title":"Currency","description":"Payment currency: SOL, USDC, USDT, or EURC","examples":["USDC"]},"wallet_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Wallet Id","description":"Custodial wallet to pay from (server signs). Mutually exclusive with tx_signature."},"tx_signature":{"anyOf":[{"type":"string","maxLength":128,"minLength":64},{"type":"null"}],"title":"Tx Signature","description":"Signature of a client-signed payment to the treasury (external wallet). Mutually exclusive with wallet_id."}},"type":"object","required":["amount","currency"],"title":"WorqsPurchaseRequest","additionalProperties":false}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorqsPurchaseResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"AgentBearer":[]}],"x-worqen-scopes":["mcp:payments","mcp:read","mcp:write"],"x-worqen-effect":"payment","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}]}},"/api/v1/presence":{"put":{"tags":["User Presence"],"summary":"Update user presence","operationId":"update_presence","security":[{"AgentBearer":[]}],"parameters":[{"name":"chat_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Chat Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"status":{"type":"string","enum":["online","offline","away"],"title":"PresenceStatus"},"device_info":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Device Info"}},"type":"object","required":["status"],"title":"UserPresenceUpdate","additionalProperties":false}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPresenceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-worqen-scopes":["mcp:read","mcp:write"],"x-worqen-effect":"write"}},"/api/v1/agents/challenge":{"post":{"tags":["Agents"],"summary":"Create Agent Challenge","operationId":"create_agent_challenge_api_v1_agents_challenge_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentChallengeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentChallengeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[],"x-worqen-bootstrap":true}},"/api/v1/agents/register":{"post":{"tags":["Agents"],"summary":"Register Agent","operationId":"register_agent_api_v1_agents_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentRegisterRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentRegisterResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[],"x-worqen-bootstrap":true}},"/api/v1/agents/token":{"post":{"tags":["Agents"],"summary":"Issue Agent Token","operationId":"issue_agent_token_api_v1_agents_token_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_issue_agent_token_api_v1_agents_token_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Issue Agent Token Api V1 Agents Token Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[],"x-worqen-bootstrap":true}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"Body_issue_agent_token_api_v1_agents_token_post":{"properties":{"grant_type":{"type":"string","title":"Grant Type"},"client_id":{"type":"string","title":"Client Id"},"client_assertion_type":{"type":"string","title":"Client Assertion Type"},"client_assertion":{"type":"string","title":"Client Assertion"},"scope":{"type":"string","title":"Scope"},"resource":{"type":"string","title":"Resource"}},"type":"object","required":["grant_type","client_id","client_assertion_type","client_assertion","scope","resource"],"title":"Body_issue_agent_token_api_v1_agents_token_post"},"AgentRegisterResponse":{"properties":{"agent_id":{"type":"string","format":"uuid","title":"Agent Id"},"client_id":{"type":"string","title":"Client Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"public_key":{"type":"string","title":"Public Key"},"account_type":{"type":"string","const":"agent","title":"Account Type"},"kind":{"type":"string","const":"agent","title":"Kind"}},"type":"object","required":["agent_id","client_id","user_id","public_key","account_type","kind"],"title":"AgentRegisterResponse"},"AgentRegisterRequest":{"properties":{"challenge_id":{"type":"string","format":"uuid","title":"Challenge Id"},"public_key":{"type":"string","maxLength":88,"minLength":43,"title":"Public Key"},"signature":{"type":"string","maxLength":120,"minLength":86,"title":"Signature"},"name":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Name"},"email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Email"}},"additionalProperties":false,"type":"object","required":["challenge_id","public_key","signature"],"title":"AgentRegisterRequest"},"AgentChallengeResponse":{"properties":{"challenge_id":{"type":"string","format":"uuid","title":"Challenge Id"},"challenge":{"type":"string","title":"Challenge"},"signing_message":{"type":"string","title":"Signing Message"},"algorithm":{"type":"string","const":"Ed25519","title":"Algorithm"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"}},"type":"object","required":["challenge_id","challenge","signing_message","algorithm","expires_at"],"title":"AgentChallengeResponse"},"AgentChallengeRequest":{"properties":{"public_key":{"type":"string","maxLength":88,"minLength":43,"title":"Public Key"}},"additionalProperties":false,"type":"object","required":["public_key"],"title":"AgentChallengeRequest"},"UserPresenceResponse":{"properties":{"user_id":{"type":"string","format":"uuid","title":"User Id"},"status":{"type":"string","title":"Status"},"last_seen_at":{"type":"string","format":"date-time","title":"Last Seen At"},"last_active_chat_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Last Active Chat Id"}},"type":"object","required":["user_id","status","last_seen_at","last_active_chat_id"],"title":"UserPresenceResponse"},"WorqsPurchaseResponse":{"properties":{"worqs_balance":{"type":"integer","title":"Worqs Balance","examples":[80]},"worqs_purchased":{"type":"integer","title":"Worqs Purchased","examples":[20]},"cost_usd":{"type":"number","title":"Cost Usd","examples":[10.0]},"cost_amount":{"type":"string","title":"Cost Amount","description":"Amount paid in the chosen currency","examples":["10.000000"]},"currency":{"type":"string","title":"Currency","examples":["USDC"]},"tx_signature":{"type":"string","title":"Tx Signature","description":"On-chain signature of the payment"},"explorer_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Explorer Url","description":"Block-explorer link"}},"type":"object","required":["worqs_balance","worqs_purchased","cost_usd","cost_amount","currency","tx_signature"],"title":"WorqsPurchaseResponse"},"WorkLogRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"hire_id":{"type":"string","format":"uuid","title":"Hire Id"},"work_date":{"type":"string","format":"date","title":"Work Date"},"start_time":{"anyOf":[{"type":"string","format":"time"},{"type":"null"}],"title":"Start Time"},"end_time":{"anyOf":[{"type":"string","format":"time"},{"type":"null"}],"title":"End Time"},"break_minutes":{"type":"integer","title":"Break Minutes"},"hours_worked":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Hours Worked"},"rate_at_log":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Rate At Log"},"description":{"type":"string","title":"Description"},"tasks_completed":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tasks Completed"},"evidence_urls":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Evidence Urls"},"status":{"$ref":"#/components/schemas/WorkLogStatus"},"invoice_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Invoice Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"submitted_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Submitted At"}},"type":"object","required":["id","hire_id","work_date","break_minutes","hours_worked","description","status","created_at","updated_at"],"title":"WorkLogRead"},"WorkLogStatus":{"type":"string","enum":["draft","submitted","invoiced"],"title":"WorkLogStatus"},"WalletRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"Unique wallet identifier"},"network":{"type":"string","title":"Network","description":"Blockchain network (solana, trc20, erc20, btc)","examples":["solana","trc20"]},"address":{"type":"string","title":"Address","description":"Wallet address on the blockchain","examples":["7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU"]},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label","description":"User-defined label for easy identification","examples":["Main Solana Wallet","Trading Wallet"]},"status":{"type":"string","title":"Status","description":"Wallet status (pending, active, disabled, pending_deletion, archived)","examples":["active"]},"is_primary":{"type":"boolean","title":"Is Primary","description":"Whether this is the primary wallet for its network","examples":[true]},"is_system_generated":{"type":"boolean","title":"Is System Generated","description":"True for platform-managed (custodial) wallets; false for user-imported external wallets.","examples":[true]},"is_embedded":{"type":"boolean","title":"Is Embedded","description":"True if the wallet is a WaaS-provisioned embedded wallet (Privy, Turnkey, etc.) — user-owned but no seed phrase was shown. Embedded wallets are pre-verified on create.","default":false,"examples":[false]},"verification_status":{"type":"string","title":"Verification Status","description":"Ownership proof status for external wallets. 'verified' means the wallet can be selected for hires. Custodial wallets are always verified.","examples":["verified","unverified"]},"verified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Verified At","description":"When ownership was verified (or wallet was created for custodial)."},"locked":{"type":"boolean","title":"Locked","description":"True if the wallet is currently bound to an active hire.","default":false},"locked_by":{"items":{"$ref":"#/components/schemas/WalletHireLockInfo"},"type":"array","title":"Locked By","description":"Active hires that lock this wallet."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Wallet creation timestamp","examples":["2026-01-01T12:00:00Z"]}},"type":"object","required":["id","network","address","status","is_primary","is_system_generated","verification_status","created_at"],"title":"WalletRead","example":{"address":"7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU","created_at":"2026-01-01T12:00:00Z","id":"550e8400-e29b-41d4-a716-446655440000","is_primary":true,"is_system_generated":true,"label":"Main Solana Wallet","locked":false,"locked_by":[],"network":"solana","status":"active","verification_status":"verified"}},"WalletHireLockInfo":{"properties":{"hire_id":{"type":"string","format":"uuid","title":"Hire Id","description":"Hire that locks this wallet."},"job_id":{"type":"string","format":"uuid","title":"Job Id","description":"Job the hire belongs to."},"job_title":{"type":"string","title":"Job Title","description":"Human-readable job title."},"role":{"type":"string","title":"Role","description":"'payer' if this wallet pays, 'payee' if it receives.","examples":["payer","payee"]},"status":{"type":"string","title":"Status","description":"Current hire status.","examples":["active"]}},"type":"object","required":["hire_id","job_id","job_title","role","status"],"title":"WalletHireLockInfo"},"WalletTransferResponse":{"properties":{"wallet_id":{"type":"string","format":"uuid","title":"Wallet Id"},"to_address":{"type":"string","title":"To Address"},"amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Amount"},"currency":{"type":"string","title":"Currency"},"tx_signature":{"type":"string","title":"Tx Signature"},"explorer_url":{"type":"string","title":"Explorer Url"}},"type":"object","required":["wallet_id","to_address","amount","currency","tx_signature","explorer_url"],"title":"WalletTransferResponse","example":{"amount":"1.5","currency":"SOL","explorer_url":"https://solscan.io/tx/5H3s...","to_address":"7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU","tx_signature":"5H3s...","wallet_id":"550e8400-e29b-41d4-a716-446655440000"}},"WalletDeleteError":{"properties":{"detail":{"type":"string","title":"Detail"},"locked_by":{"items":{"$ref":"#/components/schemas/WalletHireLockInfo"},"type":"array","title":"Locked By"}},"type":"object","required":["detail"],"title":"WalletDeleteError","example":{"detail":"Wallet is locked to an active hire","locked_by":[{"hire_id":"c9a1...","job_id":"d8b2...","job_title":"Build a landing page","role":"payee","status":"active"}]}},"WalletDrainResponse":{"properties":{"wallet_id":{"type":"string","format":"uuid","title":"Wallet Id"},"status":{"type":"string","title":"Status","description":"'queued' — watch audit log / notifications for completion."},"destination_wallet_id":{"type":"string","format":"uuid","title":"Destination Wallet Id"}},"type":"object","required":["wallet_id","status","destination_wallet_id"],"title":"WalletDrainResponse"},"app__api__schemas__wallet__wallet__WalletChallengeResponse":{"properties":{"challenge_id":{"type":"string","format":"uuid","title":"Challenge Id"},"nonce":{"type":"string","title":"Nonce"},"message":{"type":"string","title":"Message","description":"Exact UTF-8 message to sign. Sign these bytes verbatim."},"expires_at":{"type":"string","format":"date-time","title":"Expires At"}},"type":"object","required":["challenge_id","nonce","message","expires_at"],"title":"WalletChallengeResponse","example":{"challenge_id":"e0b2...","expires_at":"2026-04-18T12:05:00Z","message":"Worqen — verify wallet ownership.\nNetwork: solana\n...","nonce":"yZx3PnQ2vH"}},"WalletSwapProposalRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"hire_id":{"type":"string","format":"uuid","title":"Hire Id"},"proposer_id":{"type":"string","format":"uuid","title":"Proposer Id"},"role":{"type":"string","title":"Role"},"old_wallet_id":{"type":"string","format":"uuid","title":"Old Wallet Id"},"new_wallet_id":{"type":"string","format":"uuid","title":"New Wallet Id"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason"},"status":{"$ref":"#/components/schemas/WalletSwapProposalStatus"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"},"responded_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Responded At"},"response_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Response Notes"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","hire_id","proposer_id","role","old_wallet_id","new_wallet_id","status","expires_at","created_at"],"title":"WalletSwapProposalRead"},"WalletSwapProposalStatus":{"type":"string","enum":["proposed","approved","rejected","expired","cancelled"],"title":"WalletSwapProposalStatus"},"VerificationSessionResponse":{"properties":{"provider":{"type":"string","const":"persona","title":"Provider","default":"persona"},"inquiry_id":{"type":"string","title":"Inquiry Id","examples":["inq_abc123..."]},"session_token":{"type":"string","title":"Session Token","examples":["eyJhbGciOi..."]}},"type":"object","required":["inquiry_id","session_token"],"title":"VerificationSessionResponse"},"VacancyRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"employee_id":{"type":"string","format":"uuid","title":"Employee Id"},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"},"categories":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Categories"},"payment_type":{"$ref":"#/components/schemas/PaymentType"},"rate":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Rate"},"currency":{"type":"string","title":"Currency"},"photos":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Photos"},"latitude":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Longitude"},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"travel_radius_km":{"type":"integer","title":"Travel Radius Km"},"is_available_now":{"type":"boolean","title":"Is Available Now"},"available_from":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Available From"},"experience_years":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Experience Years"},"skills":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Skills"},"status":{"$ref":"#/components/schemas/VacancyStatus"},"is_remote_available":{"type":"boolean","title":"Is Remote Available"},"worqs_cost":{"type":"integer","title":"Worqs Cost","default":0},"service_areas":{"anyOf":[{"items":{"$ref":"#/components/schemas/ServiceArea"},"type":"array"},{"type":"null"}],"title":"Service Areas"},"additional_info":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Additional Info"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"published_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Published At"},"employee":{"anyOf":[{"$ref":"#/components/schemas/WorkerPublicBrief"},{"type":"null"}],"description":"Brief info about the employee offering services"}},"type":"object","required":["id","employee_id","title","description","categories","payment_type","currency","travel_radius_km","is_available_now","status","is_remote_available","created_at","updated_at"],"title":"VacancyRead","example":{"categories":["550e8400-e29b-41d4-a716-446655440000"],"created_at":"2026-01-01T12:00:00Z","currency":"USD","description":"Professional plumber with 10 years of experience...","employee_id":"550e8400-e29b-41d4-a716-446655440000","experience_years":10,"id":"550e8400-e29b-41d4-a716-446655440000","is_available_now":true,"payment_type":"hourly","rate":"25.00","status":"active","title":"Experienced Plumber Available"}},"WorkerPublicBrief":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"account_type":{"type":"string","enum":["human","agent"],"title":"Account Type","default":"human"},"kind":{"type":"string","enum":["human","agent"],"title":"Kind","default":"human"},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"is_verified_identity":{"type":"boolean","title":"Is Verified Identity","default":false},"is_prime":{"type":"boolean","title":"Is Prime","default":false},"worker_level":{"type":"integer","title":"Worker Level","default":1},"employee_job_success_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Employee Job Success Score"},"rating_as_employee":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rating As Employee"},"total_jobs_completed":{"type":"integer","title":"Total Jobs Completed","default":0}},"type":"object","required":["id"],"title":"WorkerPublicBrief"},"ServiceArea":{"properties":{"id":{"type":"string","title":"Id","description":"Stable area id, e.g. 'relation/421866'"},"name":{"type":"string","title":"Name","description":"Short display name, e.g. 'Kyiv'"},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name","description":"Full OSM display name"},"type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Type","description":"Admin level type, e.g. city/state/district"},"latitude":{"anyOf":[{"type":"number","maximum":90.0,"minimum":-90.0},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number","maximum":180.0,"minimum":-180.0},{"type":"null"}],"title":"Longitude"},"bbox":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Bbox","description":"[south, north, west, east] bounding box"},"geojson":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Geojson","description":"Simplified boundary polygon (GeoJSON Polygon/MultiPolygon)"}},"type":"object","required":["id","name"],"title":"ServiceArea"},"VacancyStatus":{"type":"string","enum":["draft","active","paused","closed"],"title":"VacancyStatus"},"PaymentType":{"type":"string","enum":["fixed","hourly"],"title":"PaymentType"},"Page_VacancyRead_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/VacancyRead"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"page":{"type":"integer","minimum":1.0,"title":"Page"},"size":{"type":"integer","minimum":1.0,"title":"Size"},"pages":{"type":"integer","minimum":0.0,"title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"Page[VacancyRead]"},"SupportUploadUrlResponse":{"properties":{"upload_url":{"type":"string","title":"Upload Url"},"storage_key":{"type":"string","title":"Storage Key"},"attachment_type":{"type":"string","title":"Attachment Type"},"expires_in":{"type":"integer","title":"Expires In"}},"type":"object","required":["upload_url","storage_key","attachment_type","expires_in"],"title":"SupportUploadUrlResponse"},"SupportTicketResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"requester_id":{"type":"string","format":"uuid","title":"Requester Id"},"status":{"$ref":"#/components/schemas/SupportTicketStatus"},"subject":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subject"},"priority":{"type":"integer","title":"Priority","default":0},"initiated_by":{"$ref":"#/components/schemas/SupportTicketInitiator","default":"user"},"last_message_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Message At"},"last_message_preview":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Message Preview"},"message_count":{"type":"integer","title":"Message Count"},"user_unread_count":{"type":"integer","title":"User Unread Count","default":0},"user_last_read_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"User Last Read At"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"resolved_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Resolved At"},"resolved_by_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Resolved By User Id"},"requester":{"anyOf":[{"$ref":"#/components/schemas/SupportUserBrief"},{"type":"null"}]}},"type":"object","required":["id","requester_id","status","message_count","created_at","updated_at"],"title":"SupportTicketResponse"},"SupportUserBrief":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"email":{"type":"string","title":"Email"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"}},"type":"object","required":["id","email"],"title":"SupportUserBrief"},"SupportTicketInitiator":{"type":"string","enum":["user","admin"],"title":"SupportTicketInitiator"},"SupportTicketStatus":{"type":"string","enum":["open","resolved"],"title":"SupportTicketStatus"},"SupportUnreadResponse":{"properties":{"unread_count":{"type":"integer","title":"Unread Count"},"ticket_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Ticket Id"}},"type":"object","required":["unread_count"],"title":"SupportUnreadResponse"},"SupportMessageResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"ticket_id":{"type":"string","format":"uuid","title":"Ticket Id"},"sender_kind":{"$ref":"#/components/schemas/SupportMessageSenderKind"},"sender_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Sender User Id"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"is_deleted":{"type":"boolean","title":"Is Deleted","default":false},"created_at":{"type":"string","format":"date-time","title":"Created At"},"sender_user":{"anyOf":[{"$ref":"#/components/schemas/SupportUserBrief"},{"type":"null"}]},"attachments":{"items":{"$ref":"#/components/schemas/SupportAttachmentResponse"},"type":"array","title":"Attachments"}},"type":"object","required":["id","ticket_id","sender_kind","created_at"],"title":"SupportMessageResponse"},"SupportAttachmentResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"message_id":{"type":"string","format":"uuid","title":"Message Id"},"attachment_type":{"type":"string","title":"Attachment Type"},"filename":{"type":"string","title":"Filename"},"original_filename":{"type":"string","title":"Original Filename"},"storage_key":{"type":"string","title":"Storage Key"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"mime_type":{"type":"string","title":"Mime Type"},"file_size":{"type":"integer","title":"File Size"},"width":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Width"},"height":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Height"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","message_id","attachment_type","filename","original_filename","storage_key","url","mime_type","file_size","width","height","created_at"],"title":"SupportAttachmentResponse"},"SupportMessageSenderKind":{"type":"string","enum":["user","admin","system"],"title":"SupportMessageSenderKind"},"SupportTicketDetail":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"requester_id":{"type":"string","format":"uuid","title":"Requester Id"},"status":{"$ref":"#/components/schemas/SupportTicketStatus"},"subject":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subject"},"priority":{"type":"integer","title":"Priority","default":0},"initiated_by":{"$ref":"#/components/schemas/SupportTicketInitiator","default":"user"},"last_message_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Message At"},"last_message_preview":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Message Preview"},"message_count":{"type":"integer","title":"Message Count"},"user_unread_count":{"type":"integer","title":"User Unread Count","default":0},"user_last_read_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"User Last Read At"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"resolved_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Resolved At"},"resolved_by_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Resolved By User Id"},"requester":{"anyOf":[{"$ref":"#/components/schemas/SupportUserBrief"},{"type":"null"}]},"messages":{"items":{"$ref":"#/components/schemas/SupportMessageResponse"},"type":"array","title":"Messages"}},"type":"object","required":["id","requester_id","status","message_count","created_at","updated_at"],"title":"SupportTicketDetail"},"SubscribeResponse":{"properties":{"plan_key":{"type":"string","title":"Plan Key","examples":["prime"]},"status":{"type":"string","title":"Status","examples":["active"]},"billing_period":{"type":"string","title":"Billing Period","examples":["monthly"]},"current_period_end":{"type":"string","format":"date-time","title":"Current Period End"},"auto_renew":{"type":"boolean","title":"Auto Renew","examples":[true]},"cost_usd":{"type":"number","title":"Cost Usd","examples":[12.0]},"cost_amount":{"type":"string","title":"Cost Amount","description":"Amount paid in the chosen currency","examples":["12.000000"]},"currency":{"type":"string","title":"Currency","examples":["USDC"]},"tx_signature":{"type":"string","title":"Tx Signature","description":"On-chain signature of the payment"},"explorer_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Explorer Url","description":"Block-explorer link"}},"type":"object","required":["plan_key","status","billing_period","current_period_end","auto_renew","cost_usd","cost_amount","currency","tx_signature"],"title":"SubscribeResponse"},"SubscriptionRead":{"properties":{"plan_key":{"type":"string","title":"Plan Key","examples":["prime"]},"status":{"type":"string","title":"Status","examples":["active"]},"billing_period":{"type":"string","title":"Billing Period","examples":["monthly"]},"current_period_start":{"type":"string","format":"date-time","title":"Current Period Start"},"current_period_end":{"type":"string","format":"date-time","title":"Current Period End"},"auto_renew":{"type":"boolean","title":"Auto Renew","examples":[true]},"renewal_source":{"type":"string","title":"Renewal Source","examples":["custodial"]},"effective_commission_bps":{"type":"integer","title":"Effective Commission Bps","examples":[300]}},"type":"object","required":["plan_key","status","billing_period","current_period_start","current_period_end","auto_renew","renewal_source","effective_commission_bps"],"title":"SubscriptionRead"},"SkillTrackResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/SkillTrackResult"},"type":"array","title":"Items"}},"type":"object","required":["items"],"title":"SkillTrackResponse"},"SkillTrackResult":{"properties":{"raw":{"type":"string","title":"Raw"},"canonical_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Canonical Name"},"resolved":{"type":"boolean","title":"Resolved","default":false},"created_skill":{"type":"boolean","title":"Created Skill","default":false}},"type":"object","required":["raw"],"title":"SkillTrackResult"},"TaxonomySuggestResponse":{"properties":{"reason":{"type":"string","enum":["ok","disabled","insufficient_input","budget_exhausted","unavailable"],"title":"Reason"},"cached":{"type":"boolean","title":"Cached","default":false},"categories":{"items":{"$ref":"#/components/schemas/SuggestedCategory"},"type":"array","title":"Categories"},"skills":{"items":{"$ref":"#/components/schemas/SuggestedSkill"},"type":"array","title":"Skills"}},"type":"object","required":["reason"],"title":"TaxonomySuggestResponse"},"SuggestedSkill":{"properties":{"name":{"type":"string","title":"Name"},"skill_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Skill Id"},"resolved":{"type":"boolean","title":"Resolved","default":false}},"type":"object","required":["name"],"title":"SuggestedSkill"},"SuggestedCategory":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"slug":{"type":"string","title":"Slug"},"name":{"type":"string","title":"Name"}},"type":"object","required":["id","slug","name"],"title":"SuggestedCategory"},"CreateReportResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"status":{"type":"string","title":"Status"}},"type":"object","required":["id","status"],"title":"CreateReportResponse"},"ReferralStats":{"properties":{"code":{"type":"string","title":"Code"},"link":{"type":"string","title":"Link"},"invited":{"type":"integer","title":"Invited"},"joined":{"type":"integer","title":"Joined"},"activated":{"type":"integer","title":"Activated"},"bonus_worqs_earned":{"type":"integer","title":"Bonus Worqs Earned"},"is_ambassador":{"type":"boolean","title":"Is Ambassador"}},"type":"object","required":["code","link","invited","joined","activated","bonus_worqs_earned","is_ambassador"],"title":"ReferralStats"},"ProposalRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"vacancy_id":{"type":"string","format":"uuid","title":"Vacancy Id"},"proposer_id":{"type":"string","format":"uuid","title":"Proposer Id"},"recipient_id":{"type":"string","format":"uuid","title":"Recipient Id"},"job_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Job Id"},"hire_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Hire Id"},"payer_wallet_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Payer Wallet Id"},"title":{"type":"string","title":"Title"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"},"proposed_rate":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Proposed Rate"},"proposed_hours":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Proposed Hours"},"currency":{"type":"string","title":"Currency"},"payment_type":{"type":"string","title":"Payment Type"},"proposed_milestones":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Proposed Milestones"},"status":{"$ref":"#/components/schemas/VacancyProposalStatus"},"worqs_spent":{"type":"integer","title":"Worqs Spent","default":0},"decline_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Decline Reason"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"responded_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Responded At"}},"type":"object","required":["id","vacancy_id","proposer_id","recipient_id","title","currency","payment_type","status","created_at","updated_at"],"title":"ProposalRead"},"VacancyProposalStatus":{"type":"string","enum":["pending","accepted","declined","withdrawn","expired"],"title":"VacancyProposalStatus"},"FullProfileResponse":{"properties":{"id":{"type":"string","title":"Id","examples":["550e8400-e29b-41d4-a716-446655440000"]},"account_type":{"type":"string","enum":["human","agent"],"title":"Account Type","default":"human"},"kind":{"type":"string","enum":["human","agent"],"title":"Kind","default":"human"},"username":{"type":"string","title":"Username","examples":["roman_k"]},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name","examples":["Roman"]},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name","examples":["K."]},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url","examples":["https://example.com/avatar.jpg"]},"cover_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cover Url","examples":["https://cdn.worqen.com/covers/roman.jpg"]},"tagline":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tagline","examples":["I help SaaS founders ship Stripe integrations in 2 weeks"]},"bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bio","examples":["Full-stack developer..."]},"skills":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Skills","examples":[["TypeScript","React","Solana"]]},"hourly_rate":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Hourly Rate","examples":[90.0]},"min_project_budget":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Min Project Budget","examples":[500.0]},"pricing_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pricing Model","examples":["hourly"]},"preferred_payment_currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Preferred Payment Currency","examples":["USDC"]},"employer_min_project_budget":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Employer Min Project Budget","examples":[500.0]},"employer_preferred_currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Employer Preferred Currency","examples":["USDC"]},"availability":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Availability","examples":["available_now"]},"available_from":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Available From","examples":["2026-06-15T00:00:00Z"]},"hours_per_week_target":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Hours Per Week Target","examples":[30]},"response_time_minutes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Response Time Minutes","examples":[45]},"is_verified_identity":{"type":"boolean","title":"Is Verified Identity","default":false,"examples":[true]},"verified_wallet_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Verified Wallet Address","examples":["7n4..."]},"is_verified":{"type":"boolean","title":"Is Verified","examples":[true]},"is_prime":{"type":"boolean","title":"Is Prime","default":false,"examples":[true]},"is_ambassador":{"type":"boolean","title":"Is Ambassador","default":false,"examples":[true]},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","examples":["Kyiv"]},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country","examples":["UA"]},"rating_as_employer":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rating As Employer","examples":[4.8]},"rating_as_employee":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rating As Employee","examples":[4.9]},"total_jobs_posted":{"type":"integer","title":"Total Jobs Posted","default":0,"examples":[15]},"total_jobs_completed":{"type":"integer","title":"Total Jobs Completed","default":0,"examples":[3]},"success_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Success Score","examples":[97.0]},"employee_job_success_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Employee Job Success Score","examples":[96.0]},"employer_job_success_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Employer Job Success Score","examples":[98.0]},"worker_level":{"type":"integer","title":"Worker Level","description":"Worqen Score worker-track level (KYC display gate applied).","default":1,"examples":[5]},"client_level":{"type":"integer","title":"Client Level","description":"Worqen Score client-track level (KYC display gate applied).","default":1,"examples":[3]},"last_seen_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Seen At","examples":["2026-05-13T12:00:00Z"]},"member_since":{"type":"string","format":"date-time","title":"Member Since","examples":["2024-01-01T00:00:00Z"]},"languages":{"items":{"$ref":"#/components/schemas/LanguageRead"},"type":"array","title":"Languages"},"employments":{"items":{"$ref":"#/components/schemas/EmploymentRead"},"type":"array","title":"Employments"},"portfolios":{"items":{"$ref":"#/components/schemas/PortfolioRead"},"type":"array","title":"Portfolios"},"social_links":{"items":{"$ref":"#/components/schemas/SocialLinkRead"},"type":"array","title":"Social Links"},"user_skills":{"items":{"$ref":"#/components/schemas/UserSkillRead"},"type":"array","title":"User Skills"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email","examples":["roman@example.com"]},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone","examples":["Europe/Kyiv"]},"preferred_role":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Preferred Role","examples":["employer"]},"worqs_balance":{"type":"integer","title":"Worqs Balance","examples":[60]},"completeness":{"$ref":"#/components/schemas/ProfileCompleteness"}},"type":"object","required":["id","username","is_verified","member_since","worqs_balance","completeness"],"title":"FullProfileResponse"},"ProfileCompleteness":{"properties":{"score":{"type":"integer","maximum":100.0,"minimum":0.0,"title":"Score","examples":[64]},"items":{"items":{"$ref":"#/components/schemas/ProfileCompletenessItem"},"type":"array","title":"Items"},"next_item":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Item","description":"Key of the highest-points incomplete item, or null when score = 100.","examples":["portfolio"]}},"type":"object","required":["score","items"],"title":"ProfileCompleteness"},"ProfileCompletenessItem":{"properties":{"key":{"type":"string","title":"Key","examples":["tagline"]},"points":{"type":"integer","title":"Points","examples":[8]},"complete":{"type":"boolean","title":"Complete"},"edit_target":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Edit Target","examples":["pitch"]}},"type":"object","required":["key","points","complete"],"title":"ProfileCompletenessItem"},"UserSkillRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"skill":{"type":"string","title":"Skill"},"level":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Level"},"years_experience":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Years Experience"}},"type":"object","required":["id","skill"],"title":"UserSkillRead"},"SocialLinkRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"platform":{"type":"string","title":"Platform"},"url":{"type":"string","title":"Url"},"is_verified":{"type":"boolean","title":"Is Verified","default":false}},"type":"object","required":["id","platform","url"],"title":"SocialLinkRead"},"PortfolioRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"title":{"type":"string","title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"project_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Project Url"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url"},"image_urls":{"items":{"type":"string"},"type":"array","title":"Image Urls"},"hire_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Hire Id"},"show_amount":{"type":"boolean","title":"Show Amount","default":false},"verification":{"anyOf":[{"$ref":"#/components/schemas/PortfolioVerification"},{"type":"null"}]},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","title","created_at"],"title":"PortfolioRead"},"PortfolioVerification":{"properties":{"chain":{"type":"string","title":"Chain","default":"solana","examples":["solana"]},"tx_signature":{"type":"string","title":"Tx Signature","examples":["5j..."]},"released_at":{"type":"string","format":"date-time","title":"Released At"},"released_amount_usd":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Released Amount Usd","examples":[4200.0]},"released_amount_lamports":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Released Amount Lamports","examples":["12000000000"]},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency","examples":["USDC"]}},"type":"object","required":["tx_signature","released_at"],"title":"PortfolioVerification"},"EmploymentRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"company":{"type":"string","title":"Company"},"title":{"type":"string","title":"Title"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary"},"start_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Start Year"},"end_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"End Year"},"is_current":{"type":"boolean","title":"Is Current","default":false}},"type":"object","required":["id","company","title"],"title":"EmploymentRead"},"LanguageRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"language":{"type":"string","title":"Language"},"proficiency":{"type":"string","title":"Proficiency"}},"type":"object","required":["id","language","proficiency"],"title":"LanguageRead"},"app__api__schemas__profile__WalletChallengeResponse":{"properties":{"nonce":{"type":"string","title":"Nonce","examples":["a1b2c3d4..."]},"message":{"type":"string","title":"Message","examples":["worqen.com wallet verification\\nuser=...\\nnonce=..."]},"expires_in_seconds":{"type":"integer","title":"Expires In Seconds","examples":[300]}},"type":"object","required":["nonce","message","expires_in_seconds"],"title":"WalletChallengeResponse"},"LinkedInDraftResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"source":{"type":"string","enum":["oauth","archive","merged","cv"],"title":"Source"},"payload":{"$ref":"#/components/schemas/LinkedInDraftPayload"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"}},"type":"object","required":["id","source","payload","created_at","expires_at"],"title":"LinkedInDraftResponse"},"LinkedInDraftPayload":{"properties":{"first_name":{"$ref":"#/components/schemas/LinkedInScalarField"},"last_name":{"$ref":"#/components/schemas/LinkedInScalarField"},"avatar_url":{"$ref":"#/components/schemas/LinkedInScalarField"},"tagline":{"$ref":"#/components/schemas/LinkedInScalarField"},"bio":{"$ref":"#/components/schemas/LinkedInScalarField"},"city":{"$ref":"#/components/schemas/LinkedInScalarField"},"country":{"$ref":"#/components/schemas/LinkedInScalarField"},"employments":{"items":{"$ref":"#/components/schemas/LinkedInEmploymentDraft"},"type":"array","title":"Employments"},"skills":{"items":{"$ref":"#/components/schemas/LinkedInSkillDraft"},"type":"array","title":"Skills"},"languages":{"items":{"$ref":"#/components/schemas/LinkedInLanguageDraft"},"type":"array","title":"Languages"},"social_links":{"items":{"$ref":"#/components/schemas/LinkedInSocialLinkDraft"},"type":"array","title":"Social Links"}},"type":"object","required":["first_name","last_name","avatar_url","tagline","bio","city","country"],"title":"LinkedInDraftPayload"},"LinkedInSocialLinkDraft":{"properties":{"platform":{"type":"string","title":"Platform","default":"linkedin"},"url":{"type":"string","title":"Url"}},"type":"object","required":["url"],"title":"LinkedInSocialLinkDraft"},"LinkedInLanguageDraft":{"properties":{"language":{"type":"string","title":"Language"},"proficiency":{"type":"string","title":"Proficiency","default":"fluent"}},"type":"object","required":["language"],"title":"LinkedInLanguageDraft"},"LinkedInSkillDraft":{"properties":{"skill":{"type":"string","title":"Skill"},"level":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Level"},"years_experience":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Years Experience"}},"type":"object","required":["skill"],"title":"LinkedInSkillDraft"},"LinkedInEmploymentDraft":{"properties":{"company":{"type":"string","title":"Company"},"title":{"type":"string","title":"Title"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary"},"start_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Start Year"},"end_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"End Year"},"is_current":{"type":"boolean","title":"Is Current","default":false}},"type":"object","required":["company","title"],"title":"LinkedInEmploymentDraft"},"LinkedInScalarField":{"properties":{"current":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Current"},"incoming":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Incoming"}},"type":"object","title":"LinkedInScalarField"},"Body_import_cv_api_v1_profile_me_import_cv_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File","description":"CV file (PDF, DOCX or plain text)"}},"type":"object","required":["file"],"title":"Body_import_cv_api_v1_profile_me_import_cv_post"},"Body_upload_linkedin_archive_api_v1_profile_me_connections_linkedin_archive_post":{"properties":{"archive":{"type":"string","contentMediaType":"application/octet-stream","title":"Archive","description":"LinkedIn data export .zip"}},"type":"object","required":["archive"],"title":"Body_upload_linkedin_archive_api_v1_profile_me_connections_linkedin_archive_post"},"NotificationRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"type":{"type":"string","title":"Type"},"status":{"type":"string","title":"Status"},"title":{"type":"string","title":"Title"},"message":{"type":"string","title":"Message"},"entity_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Type"},"entity_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Entity Id"},"data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Data"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"read_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Read At"}},"type":"object","required":["id","type","status","title","message","created_at"],"title":"NotificationRead"},"MarkReadResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"marked_count":{"type":"integer","title":"Marked Count"}},"type":"object","required":["success","marked_count"],"title":"MarkReadResponse"},"PresignUploadResponse":{"properties":{"upload_url":{"type":"string","title":"Upload Url","description":"Presigned PUT URL"},"public_url":{"type":"string","title":"Public Url","description":"Where the file will live after upload"},"key":{"type":"string","title":"Key","description":"S3 key — pass to create-file endpoint"},"expires_in":{"type":"integer","title":"Expires In","default":3600}},"type":"object","required":["upload_url","public_url","key"],"title":"PresignUploadResponse"},"MilestoneRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"job_id":{"type":"string","format":"uuid","title":"Job Id"},"hire_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Hire Id"},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"},"deliverable":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deliverable"},"sequence_order":{"type":"integer","title":"Sequence Order"},"amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Amount"},"percentage":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Percentage"},"currency":{"type":"string","title":"Currency"},"is_free":{"type":"boolean","title":"Is Free"},"is_synthetic":{"type":"boolean","title":"Is Synthetic","default":false},"due_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Due Date"},"started_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Started At"},"status":{"$ref":"#/components/schemas/MilestoneStatus"},"submitted_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Submitted At"},"employer_feedback":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Employer Feedback"},"revision_count":{"type":"integer","title":"Revision Count"},"approved_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Approved At"},"escrow_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Escrow Id"},"paid_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Paid At"},"payment_tx_signature":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Tx Signature"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","job_id","title","description","sequence_order","amount","currency","is_free","status","revision_count","created_at","updated_at"],"title":"MilestoneRead"},"MilestoneStatus":{"type":"string","enum":["pending","in_progress","submitted","revision","approved","paid","completed"],"title":"MilestoneStatus"},"MilestoneSubmissionRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"milestone_id":{"type":"string","format":"uuid","title":"Milestone Id"},"round":{"type":"integer","title":"Round"},"status":{"type":"string","title":"Status"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"employer_feedback":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Employer Feedback"},"submitted_by":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Submitted By"},"submitted_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Submitted At"},"reviewed_by":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Reviewed By"},"reviewed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Reviewed At"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"files":{"items":{"$ref":"#/components/schemas/MilestoneSubmissionFileRead"},"type":"array","title":"Files"}},"type":"object","required":["id","milestone_id","round","status","created_at","updated_at"],"title":"MilestoneSubmissionRead"},"MilestoneSubmissionFileRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"submission_id":{"type":"string","format":"uuid","title":"Submission Id"},"kind":{"type":"string","title":"Kind"},"provider":{"type":"string","title":"Provider"},"url":{"type":"string","title":"Url"},"storage_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Storage Key"},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Name"},"file_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"File Size"},"mime_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mime Type"},"thumbnail_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thumbnail Url"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"status":{"type":"string","title":"Status"},"status_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Note"},"sequence_order":{"type":"integer","title":"Sequence Order"},"uploaded_by":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Uploaded By"},"uploaded_at":{"type":"string","format":"date-time","title":"Uploaded At"}},"type":"object","required":["id","submission_id","kind","provider","url","status","sequence_order","uploaded_at"],"title":"MilestoneSubmissionFileRead"},"MilestoneRequirementRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"milestone_id":{"type":"string","format":"uuid","title":"Milestone Id"},"title":{"type":"string","title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"is_required":{"type":"boolean","title":"Is Required"},"is_completed":{"type":"boolean","title":"Is Completed"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At"},"completed_by":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Completed By"},"completion_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Completion Notes"},"evidence_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Evidence Url"},"sequence_order":{"type":"integer","title":"Sequence Order"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","milestone_id","title","is_required","is_completed","sequence_order","created_at"],"title":"MilestoneRequirementRead"},"MilestoneListItem":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"job_id":{"type":"string","format":"uuid","title":"Job Id"},"hire_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Hire Id"},"title":{"type":"string","title":"Title"},"sequence_order":{"type":"integer","title":"Sequence Order"},"amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Amount"},"currency":{"type":"string","title":"Currency"},"is_free":{"type":"boolean","title":"Is Free"},"is_synthetic":{"type":"boolean","title":"Is Synthetic","default":false},"status":{"$ref":"#/components/schemas/MilestoneStatus"},"due_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Due Date"},"approved_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Approved At"},"paid_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Paid At"}},"type":"object","required":["id","job_id","title","sequence_order","amount","currency","is_free","status"],"title":"MilestoneListItem"},"MeetingRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"application_id":{"type":"string","format":"uuid","title":"Application Id"},"employer_id":{"type":"string","format":"uuid","title":"Employer Id"},"applicant_id":{"type":"string","format":"uuid","title":"Applicant Id"},"title":{"type":"string","title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"start_at":{"type":"string","format":"date-time","title":"Start At"},"end_at":{"type":"string","format":"date-time","title":"End At"},"google_event_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Google Event Id"},"meet_link":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Meet Link"},"calendar_provider":{"anyOf":[{"$ref":"#/components/schemas/CalendarProvider"},{"type":"null"}]},"status":{"$ref":"#/components/schemas/MeetingStatus"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","application_id","employer_id","applicant_id","title","start_at","end_at","status","created_at","updated_at"],"title":"MeetingRead"},"MeetingStatus":{"type":"string","enum":["scheduled","cancelled"],"title":"MeetingStatus"},"CalendarProvider":{"type":"string","enum":["platform","google_user"],"title":"CalendarProvider"},"MeetingInviteAccepted":{"properties":{"invite":{"$ref":"#/components/schemas/MeetingInviteRead"},"meeting":{"$ref":"#/components/schemas/MeetingRead"}},"type":"object","required":["invite","meeting"],"title":"MeetingInviteAccepted"},"MeetingInviteRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"application_id":{"type":"string","format":"uuid","title":"Application Id"},"employer_id":{"type":"string","format":"uuid","title":"Employer Id"},"applicant_id":{"type":"string","format":"uuid","title":"Applicant Id"},"title":{"type":"string","title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"duration_minutes":{"type":"integer","title":"Duration Minutes"},"window_start_at":{"type":"string","format":"date-time","title":"Window Start At"},"window_end_at":{"type":"string","format":"date-time","title":"Window End At"},"day_start_minute":{"type":"integer","title":"Day Start Minute"},"day_end_minute":{"type":"integer","title":"Day End Minute"},"timezone":{"type":"string","title":"Timezone"},"min_notice_minutes":{"type":"integer","title":"Min Notice Minutes"},"buffer_minutes":{"type":"integer","title":"Buffer Minutes"},"status":{"$ref":"#/components/schemas/MeetingInviteStatus"},"meeting_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Meeting Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","application_id","employer_id","applicant_id","title","duration_minutes","window_start_at","window_end_at","day_start_minute","day_end_minute","timezone","min_notice_minutes","buffer_minutes","status","created_at","updated_at"],"title":"MeetingInviteRead"},"MeetingInviteStatus":{"type":"string","enum":["pending","fulfilled","cancelled","expired"],"title":"MeetingInviteStatus"},"DeleteAccountResponse":{"properties":{"anonymized":{"type":"boolean","title":"Anonymized"},"anonymized_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Anonymized At"}},"type":"object","required":["anonymized"],"title":"DeleteAccountResponse"},"JobRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"employer_id":{"type":"string","format":"uuid","title":"Employer Id"},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"},"categories":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Categories"},"payment_type":{"$ref":"#/components/schemas/PaymentType"},"rate":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Rate"},"currency":{"type":"string","title":"Currency"},"max_hires":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Hires"},"default_payment_mode":{"type":"string","title":"Default Payment Mode","default":"escrowed"},"photos":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Photos"},"latitude":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Longitude"},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"search_radius_km":{"type":"integer","title":"Search Radius Km"},"estimated_duration_hours":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Estimated Duration Hours"},"weekly_hours_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Weekly Hours Limit"},"start_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date"},"end_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date"},"status":{"$ref":"#/components/schemas/JobStatus"},"is_hired":{"type":"boolean","title":"Is Hired","default":false},"is_remote":{"type":"boolean","title":"Is Remote"},"is_urgent":{"type":"boolean","title":"Is Urgent"},"worqs_cost":{"type":"integer","title":"Worqs Cost","default":2},"additional_conditions":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Additional Conditions"},"required_skills":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Required Skills"},"has_milestones":{"type":"boolean","title":"Has Milestones","default":false},"milestone_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Milestone Count"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"published_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Published At"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"},"has_applied":{"type":"boolean","title":"Has Applied","default":false},"pending_applications_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Pending Applications Count"},"cancellation_reason_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cancellation Reason Code"},"cancellation_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cancellation Note"},"employer":{"anyOf":[{"$ref":"#/components/schemas/EmployerPublicBrief"},{"type":"null"}]}},"type":"object","required":["id","employer_id","title","description","categories","payment_type","rate","currency","search_radius_km","status","is_remote","is_urgent","created_at","updated_at"],"title":"JobRead","example":{"categories":["550e8400-e29b-41d4-a716-446655440000"],"city":"Kyiv","country":"Ukraine","created_at":"2026-01-01T12:00:00Z","currency":"USDC","description":"Looking for an experienced plumber...","employer_id":"550e8400-e29b-41d4-a716-446655440000","id":"550e8400-e29b-41d4-a716-446655440000","is_hired":false,"is_remote":false,"is_urgent":true,"payment_type":"fixed","rate":"500.00","status":"active","title":"Need a plumber for bathroom renovation"}},"EmployerPublicBrief":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"account_type":{"type":"string","enum":["human","agent"],"title":"Account Type","default":"human"},"kind":{"type":"string","enum":["human","agent"],"title":"Kind","default":"human"},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"is_verified_identity":{"type":"boolean","title":"Is Verified Identity","default":false},"is_prime":{"type":"boolean","title":"Is Prime","default":false},"client_level":{"type":"integer","title":"Client Level","default":1},"employer_job_success_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Employer Job Success Score"},"rating_as_employer":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rating As Employer"},"total_jobs_posted":{"type":"integer","title":"Total Jobs Posted","default":0},"total_jobs_completed":{"type":"integer","title":"Total Jobs Completed","default":0}},"type":"object","required":["id"],"title":"EmployerPublicBrief"},"JobStatus":{"type":"string","enum":["draft","active","in_progress","paused","completed","cancelled","expired"],"title":"JobStatus"},"Page_JobRead_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/JobRead"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"page":{"type":"integer","minimum":1.0,"title":"Page"},"size":{"type":"integer","minimum":1.0,"title":"Size"},"pages":{"type":"integer","minimum":0.0,"title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"Page[JobRead]"},"InvoiceRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"hire_id":{"type":"string","format":"uuid","title":"Hire Id"},"invoice_number":{"type":"string","title":"Invoice Number"},"invoice_type":{"$ref":"#/components/schemas/InvoiceType"},"period_start":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Period Start"},"period_end":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Period End"},"hours_worked":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Hours Worked"},"days_worked":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Days Worked"},"rate_applied":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Rate Applied"},"subtotal":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Subtotal"},"platform_fee":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Platform Fee"},"platform_fee_rate_bps":{"type":"integer","title":"Platform Fee Rate Bps"},"total_due":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Total Due"},"currency":{"type":"string","title":"Currency"},"status":{"$ref":"#/components/schemas/InvoiceStatus"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"submitted_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Submitted At"},"approved_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Approved At"},"disputed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Disputed At"},"paid_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Paid At"},"due_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Due Date"},"employee_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Employee Notes"},"employer_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Employer Notes"},"dispute_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dispute Reason"},"escrow_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Escrow Id"},"payment_tx_signature":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Tx Signature"},"ref_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ref Id"},"release_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Release At"},"onchain_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Onchain Index"},"negotiation_deadline":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Negotiation Deadline"},"milestone_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Milestone Id"}},"type":"object","required":["id","hire_id","invoice_number","invoice_type","rate_applied","subtotal","platform_fee","platform_fee_rate_bps","total_due","currency","status","created_at","updated_at"],"title":"InvoiceRead"},"InvoiceStatus":{"type":"string","enum":["draft","submitted","approved","disputed","paid","cancelled"],"title":"InvoiceStatus"},"InvoiceType":{"type":"string","enum":["hourly","milestone","final"],"title":"InvoiceType"},"HourlyBillResult":{"properties":{"invoice":{"$ref":"#/components/schemas/InvoiceRead"},"period_index":{"type":"integer","title":"Period Index"},"billed_hours":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Billed Hours"},"billed_log_count":{"type":"integer","title":"Billed Log Count"},"skipped_hours":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Skipped Hours"},"skipped_log_count":{"type":"integer","title":"Skipped Log Count"},"remaining_hours":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Remaining Hours"}},"type":"object","required":["invoice","period_index","billed_hours","billed_log_count","skipped_hours","skipped_log_count","remaining_hours"],"title":"HourlyBillResult"},"InvitationRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"employer_id":{"type":"string","format":"uuid","title":"Employer Id"},"employee_id":{"type":"string","format":"uuid","title":"Employee Id"},"job_id":{"type":"string","format":"uuid","title":"Job Id"},"vacancy_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Vacancy Id"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"},"status":{"type":"string","title":"Status"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"responded_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Responded At"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"}},"type":"object","required":["id","employer_id","employee_id","job_id","status","created_at","updated_at"],"title":"InvitationRead","example":{"created_at":"2026-01-01T12:00:00Z","employee_id":"660e8400-e29b-41d4-a716-446655440001","employer_id":"550e8400-e29b-41d4-a716-446655440000","id":"550e8400-e29b-41d4-a716-446655440000","job_id":"770e8400-e29b-41d4-a716-446655440002","message":"Hi! I saw your profile and think you'd be a great fit!","status":"pending","vacancy_id":"880e8400-e29b-41d4-a716-446655440003"}},"PresignedUrlResponse":{"properties":{"upload_url":{"type":"string","title":"Upload Url","description":"Presigned URL for direct upload"},"public_url":{"type":"string","title":"Public Url","description":"Public URL where the file will be accessible"},"key":{"type":"string","title":"Key","description":"S3 key for the file"},"expires_in":{"type":"integer","title":"Expires In","description":"URL expiration in seconds","default":3600}},"type":"object","required":["upload_url","public_url","key"],"title":"PresignedUrlResponse"},"AvatarUploadResponse":{"properties":{"url":{"type":"string","title":"Url","description":"Public URL of the uploaded avatar"},"message":{"type":"string","title":"Message","default":"Avatar uploaded successfully"}},"type":"object","required":["url"],"title":"AvatarUploadResponse"},"Body_upload_portfolio_image_api_v1_images_portfolio_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File","description":"Portfolio image file"}},"type":"object","required":["file"],"title":"Body_upload_portfolio_image_api_v1_images_portfolio_post"},"ConfirmUploadResponse":{"properties":{"url":{"type":"string","title":"Url","description":"Public URL of the uploaded file"},"message":{"type":"string","title":"Message","default":"Upload confirmed successfully"}},"type":"object","required":["url"],"title":"ConfirmUploadResponse"},"HirePayResponse":{"properties":{"hire_id":{"type":"string","format":"uuid","title":"Hire Id"},"tx_signature":{"type":"string","title":"Tx Signature"},"amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Amount"},"worker_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Worker Amount"},"commission_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Commission Amount"},"commission_bps":{"type":"integer","title":"Commission Bps"}},"type":"object","required":["hire_id","tx_signature","amount","worker_amount","commission_amount","commission_bps"],"title":"HirePayResponse"},"HireRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"job_id":{"type":"string","format":"uuid","title":"Job Id"},"employer_id":{"type":"string","format":"uuid","title":"Employer Id"},"employee_id":{"type":"string","format":"uuid","title":"Employee Id"},"application_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Application Id"},"payer_wallet_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Payer Wallet Id"},"payee_wallet_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Payee Wallet Id"},"agreed_rate":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Agreed Rate"},"currency":{"type":"string","title":"Currency"},"payment_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Type"},"weekly_hours_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Weekly Hours Limit"},"payment_mode":{"type":"string","title":"Payment Mode","default":"escrowed"},"status":{"$ref":"#/components/schemas/HireStatus"},"work_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Work Notes"},"total_invoiced":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Total Invoiced"},"total_paid":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Total Paid"},"employer_rating":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Employer Rating"},"employer_review":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Employer Review"},"employee_rating":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Employee Rating"},"employee_review":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Employee Review"},"below_score_threshold":{"type":"boolean","title":"Below Score Threshold","default":false},"hourly_anchor_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Hourly Anchor At"},"hourly_auto_fund":{"type":"boolean","title":"Hourly Auto Fund","default":false},"hourly_auto_fund_hours":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Hourly Auto Fund Hours"},"stopped_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Stopped At"},"stopped_by_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Stopped By Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"started_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Started At"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At"}},"type":"object","required":["id","job_id","employer_id","employee_id","agreed_rate","currency","status","created_at","updated_at"],"title":"HireRead"},"HireStatus":{"type":"string","enum":["pending_employee_acceptance","active","in_progress","closing","completed","terminated","declined","disputed"],"title":"HireStatus"},"HourlyFundingRequestAck":{"properties":{"status":{"type":"string","title":"Status","default":"sent"},"hire_id":{"type":"string","title":"Hire Id"},"period_index":{"type":"integer","title":"Period Index"},"kind":{"type":"string","title":"Kind"},"suggested_hours":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Suggested Hours"}},"type":"object","required":["hire_id","period_index","kind"],"title":"HourlyFundingRequestAck"},"HourlyUnsignedTxResponse":{"properties":{"transaction":{"type":"string","title":"Transaction","description":"Base64 unsigned versioned transaction"},"period_pda":{"type":"string","title":"Period Pda"},"period_index":{"type":"integer","title":"Period Index"},"expected_funding_gross":{"type":"integer","title":"Expected Funding Gross"}},"type":"object","required":["transaction","period_pda","period_index","expected_funding_gross"],"title":"HourlyUnsignedTxResponse"},"HourlyPeriodRead":{"properties":{"period_index":{"type":"integer","title":"Period Index"},"period_start_at":{"type":"string","format":"date-time","title":"Period Start At"},"period_end_at":{"type":"string","format":"date-time","title":"Period End At"},"status":{"type":"string","title":"Status"},"currency":{"type":"string","title":"Currency"},"is_native":{"type":"boolean","title":"Is Native"},"cap_hours":{"type":"integer","title":"Cap Hours"},"cap_net":{"type":"integer","title":"Cap Net"},"cap_gross":{"type":"integer","title":"Cap Gross"},"funded_gross":{"type":"integer","title":"Funded Gross"},"staged_net":{"type":"integer","title":"Staged Net"},"released_net":{"type":"integer","title":"Released Net"},"refunded_amount":{"type":"integer","title":"Refunded Amount"},"remaining_net":{"type":"integer","title":"Remaining Net"},"remaining_hours":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Remaining Hours"},"staged_hours":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Staged Hours"},"commission_bps":{"type":"integer","title":"Commission Bps"},"escrow_pda":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Escrow Pda"},"invoices":{"items":{"$ref":"#/components/schemas/HourlyInvoiceBreakdown"},"type":"array","title":"Invoices","default":[]}},"type":"object","required":["period_index","period_start_at","period_end_at","status","currency","is_native","cap_hours","cap_net","cap_gross","funded_gross","staged_net","released_net","refunded_amount","remaining_net","remaining_hours","staged_hours","commission_bps"],"title":"HourlyPeriodRead"},"HourlyInvoiceBreakdown":{"properties":{"invoice_id":{"type":"string","title":"Invoice Id"},"invoice_number":{"type":"string","title":"Invoice Number"},"status":{"type":"string","title":"Status"},"amount_net":{"type":"integer","title":"Amount Net"},"release_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Release At"},"onchain_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Onchain Index"}},"type":"object","required":["invoice_id","invoice_number","status","amount_net"],"title":"HourlyInvoiceBreakdown"},"ReleaseEscrowResponse":{"properties":{"escrow_db_id":{"type":"string","format":"uuid","title":"Escrow Db Id"},"status":{"$ref":"#/components/schemas/EscrowStatus"},"tx_signature":{"type":"string","title":"Tx Signature"},"amount_released_lamports":{"type":"integer","title":"Amount Released Lamports"},"commission_paid_lamports":{"type":"integer","title":"Commission Paid Lamports"},"message":{"type":"string","title":"Message"}},"type":"object","required":["escrow_db_id","status","tx_signature","amount_released_lamports","commission_paid_lamports","message"],"title":"ReleaseEscrowResponse"},"EscrowStatus":{"type":"string","enum":["draft","created","funded","pending_release","released","disputed","resolved","cancelled"],"title":"EscrowStatus"},"RespondToProposalResponse":{"properties":{"proposal":{"$ref":"#/components/schemas/ProposalResponse"},"accepted":{"type":"boolean","title":"Accepted"},"counter_proposal":{"anyOf":[{"$ref":"#/components/schemas/ProposalResponse"},{"type":"null"}]},"resolved":{"type":"boolean","title":"Resolved"},"escrow_id":{"type":"string","format":"uuid","title":"Escrow Id"},"message":{"type":"string","title":"Message"}},"type":"object","required":["proposal","accepted","resolved","escrow_id","message"],"title":"RespondToProposalResponse"},"ProposalResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"escrow_id":{"type":"string","format":"uuid","title":"Escrow Id"},"proposer_id":{"type":"string","format":"uuid","title":"Proposer Id"},"proposer_role":{"type":"string","title":"Proposer Role"},"employee_share_percentage":{"type":"integer","title":"Employee Share Percentage"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"},"status":{"type":"string","title":"Status"},"responded_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Responded At"},"response_by_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Response By Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"proposer":{"anyOf":[{"$ref":"#/components/schemas/ProposalUserInfo"},{"type":"null"}]},"responder":{"anyOf":[{"$ref":"#/components/schemas/ProposalUserInfo"},{"type":"null"}]}},"type":"object","required":["id","escrow_id","proposer_id","proposer_role","employee_share_percentage","message","status","responded_at","response_by_id","created_at"],"title":"ProposalResponse"},"ProposalUserInfo":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"}},"type":"object","required":["id"],"title":"ProposalUserInfo"},"ProposeDisputeSplitResponse":{"properties":{"proposal":{"$ref":"#/components/schemas/ProposalResponse"},"escrow_id":{"type":"string","format":"uuid","title":"Escrow Id"},"message":{"type":"string","title":"Message"}},"type":"object","required":["proposal","escrow_id","message"],"title":"ProposeDisputeSplitResponse"},"EscalateDisputeResponse":{"properties":{"escrow_id":{"type":"string","format":"uuid","title":"Escrow Id"},"dispute_status":{"type":"string","title":"Dispute Status"},"dispute_escalated_at":{"type":"string","format":"date-time","title":"Dispute Escalated At"},"message":{"type":"string","title":"Message"}},"type":"object","required":["escrow_id","dispute_status","dispute_escalated_at","message"],"title":"EscalateDisputeResponse"},"RaiseDisputeResponse":{"properties":{"escrow_db_id":{"type":"string","format":"uuid","title":"Escrow Db Id"},"status":{"$ref":"#/components/schemas/EscrowStatus"},"dispute_reason":{"type":"string","title":"Dispute Reason"},"dispute_raised_by":{"type":"string","format":"uuid","title":"Dispute Raised By"},"dispute_status":{"type":"string","title":"Dispute Status"},"dispute_deadline":{"type":"string","format":"date-time","title":"Dispute Deadline"},"tx_signature":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tx Signature"},"message":{"type":"string","title":"Message"}},"type":"object","required":["escrow_db_id","status","dispute_reason","dispute_raised_by","dispute_status","dispute_deadline","tx_signature","message"],"title":"RaiseDisputeResponse"},"DepositEscrowResponse":{"properties":{"escrow_db_id":{"type":"string","format":"uuid","title":"Escrow Db Id"},"status":{"$ref":"#/components/schemas/EscrowStatus"},"tx_signature":{"type":"string","title":"Tx Signature"},"message":{"type":"string","title":"Message"}},"type":"object","required":["escrow_db_id","status","tx_signature","message"],"title":"DepositEscrowResponse"},"ConfirmEscrowResponse":{"properties":{"escrow_db_id":{"type":"string","format":"uuid","title":"Escrow Db Id"},"status":{"$ref":"#/components/schemas/EscrowStatus"},"employer_confirmed":{"type":"boolean","title":"Employer Confirmed"},"employee_confirmed":{"type":"boolean","title":"Employee Confirmed"},"tx_signature":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tx Signature"},"message":{"type":"string","title":"Message"}},"type":"object","required":["escrow_db_id","status","employer_confirmed","employee_confirmed","tx_signature","message"],"title":"ConfirmEscrowResponse"},"CancelEscrowResponse":{"properties":{"escrow_db_id":{"type":"string","format":"uuid","title":"Escrow Db Id"},"status":{"$ref":"#/components/schemas/EscrowStatus"},"refunded_lamports":{"type":"integer","title":"Refunded Lamports"},"tx_signature":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tx Signature"},"onchain_cancel_pending":{"type":"boolean","title":"Onchain Cancel Pending","default":false},"message":{"type":"string","title":"Message"}},"type":"object","required":["escrow_db_id","status","refunded_lamports","tx_signature","message"],"title":"CancelEscrowResponse"},"PrepareHireResponse":{"properties":{"escrows":{"items":{"$ref":"#/components/schemas/PrepareHireEscrowItem"},"type":"array","title":"Escrows"},"employee_wallet_address":{"type":"string","title":"Employee Wallet Address"},"employer_wallet_address":{"type":"string","title":"Employer Wallet Address"},"platform_authority":{"type":"string","title":"Platform Authority"},"sol_price_usd":{"type":"number","title":"Sol Price Usd"}},"type":"object","required":["escrows","employee_wallet_address","employer_wallet_address","platform_authority","sol_price_usd"],"title":"PrepareHireResponse"},"PrepareHireEscrowItem":{"properties":{"escrow_db_id":{"type":"string","format":"uuid","title":"Escrow Db Id"},"escrow_id":{"type":"string","title":"Escrow Id"},"milestone_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Milestone Id"},"is_first_milestone":{"type":"boolean","title":"Is First Milestone","default":false},"amount_usd":{"type":"number","title":"Amount Usd"},"amount_sol":{"type":"number","title":"Amount Sol"},"amount_lamports":{"type":"integer","title":"Amount Lamports"},"commission_lamports":{"type":"integer","title":"Commission Lamports"},"total_deposit_lamports":{"type":"integer","title":"Total Deposit Lamports"},"commission_rate_bps":{"type":"integer","title":"Commission Rate Bps"},"escrow_pda":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Escrow Pda"},"vault_pda":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vault Pda"},"currency":{"type":"string","title":"Currency","default":"SOL"},"is_native":{"type":"boolean","title":"Is Native","default":true},"token_mint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token Mint"}},"type":"object","required":["escrow_db_id","escrow_id","amount_usd","amount_sol","amount_lamports","commission_lamports","total_deposit_lamports","commission_rate_bps","escrow_pda","vault_pda"],"title":"PrepareHireEscrowItem"},"MarkAsReadResponse":{"properties":{"marked_count":{"type":"integer","title":"Marked Count"},"message":{"type":"string","title":"Message"}},"type":"object","required":["marked_count","message"],"title":"MarkAsReadResponse"},"DisputeUploadResponse":{"properties":{"upload_url":{"type":"string","title":"Upload Url"},"storage_key":{"type":"string","title":"Storage Key"},"attachment_type":{"type":"string","title":"Attachment Type"},"expires_in":{"type":"integer","title":"Expires In"}},"type":"object","required":["upload_url","storage_key","attachment_type","expires_in"],"title":"DisputeUploadResponse"},"MessageTranslationResponse":{"properties":{"message_id":{"type":"string","format":"uuid","title":"Message Id"},"target_lang":{"type":"string","title":"Target Lang"},"source_lang":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Lang"},"translated_content":{"type":"string","title":"Translated Content"},"cached":{"type":"boolean","title":"Cached"},"usage":{"$ref":"#/components/schemas/AiUsageResponse"}},"type":"object","required":["message_id","target_lang","translated_content","cached","usage"],"title":"MessageTranslationResponse"},"AiUsageResponse":{"properties":{"enabled":{"type":"boolean","title":"Enabled"},"is_prime":{"type":"boolean","title":"Is Prime"},"cap":{"type":"integer","title":"Cap"},"used":{"type":"integer","title":"Used"},"remaining":{"type":"integer","title":"Remaining"},"resets_at":{"type":"string","format":"date","title":"Resets At"}},"type":"object","required":["enabled","is_prime","cap","used","remaining","resets_at"],"title":"AiUsageResponse"},"TranscriptionResponse":{"properties":{"message_id":{"type":"string","format":"uuid","title":"Message Id"},"attachment_id":{"type":"string","format":"uuid","title":"Attachment Id"},"status":{"type":"string","title":"Status"},"transcript":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Transcript"},"usage":{"$ref":"#/components/schemas/AiUsageResponse"}},"type":"object","required":["message_id","attachment_id","status","usage"],"title":"TranscriptionResponse"},"UploadAttachmentResponse":{"properties":{"upload_url":{"type":"string","title":"Upload Url"},"storage_key":{"type":"string","title":"Storage Key"},"attachment_type":{"type":"string","title":"Attachment Type"},"expires_in":{"type":"integer","title":"Expires In"}},"type":"object","required":["upload_url","storage_key","attachment_type","expires_in"],"title":"UploadAttachmentResponse"},"BatchTranslationResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/MessageTranslationResponse"},"type":"array","title":"Items"},"usage":{"$ref":"#/components/schemas/AiUsageResponse"}},"type":"object","required":["items","usage"],"title":"BatchTranslationResponse"},"MarkMessagesReadResponse":{"properties":{"read_count":{"type":"integer","title":"Read Count"},"last_read_message_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Last Read Message Id"},"read_message_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Read Message Ids"}},"type":"object","required":["read_count","last_read_message_id"],"title":"MarkMessagesReadResponse"},"ForwardMessageResponse":{"properties":{"forwarded_messages":{"items":{"$ref":"#/components/schemas/ChatMessageResponse"},"type":"array","title":"Forwarded Messages"},"count":{"type":"integer","title":"Count"}},"type":"object","required":["forwarded_messages","count"],"title":"ForwardMessageResponse"},"ChatMessageResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"chat_id":{"type":"string","format":"uuid","title":"Chat Id"},"sender_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Sender Id"},"message_type":{"type":"string","title":"Message Type"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"status":{"type":"string","title":"Status"},"reply_to_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Reply To Id"},"forwarded_from_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Forwarded From Id"},"extra_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Extra Data"},"is_edited":{"type":"boolean","title":"Is Edited"},"edited_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Edited At"},"is_deleted":{"type":"boolean","title":"Is Deleted"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"sender":{"anyOf":[{"$ref":"#/components/schemas/app__api__schemas__chat__chat_message__MessageSenderInfo"},{"type":"null"}]},"reply_to":{"anyOf":[{"$ref":"#/components/schemas/ReplyToMessageBrief"},{"type":"null"}]},"forwarded_from":{"anyOf":[{"$ref":"#/components/schemas/ForwardedFromMessageBrief"},{"type":"null"}]},"attachments":{"items":{"$ref":"#/components/schemas/ChatAttachmentResponse"},"type":"array","title":"Attachments","default":[]},"reactions":{"items":{"$ref":"#/components/schemas/ChatReactionAggregate"},"type":"array","title":"Reactions","default":[]}},"type":"object","required":["id","chat_id","sender_id","message_type","content","status","reply_to_id","forwarded_from_id","extra_data","is_edited","edited_at","is_deleted","created_at"],"title":"ChatMessageResponse"},"ChatReactionAggregate":{"properties":{"emoji":{"type":"string","title":"Emoji"},"count":{"type":"integer","title":"Count"},"users":{"items":{"$ref":"#/components/schemas/ReactionUserBrief"},"type":"array","title":"Users"},"reacted_by_me":{"type":"boolean","title":"Reacted By Me"}},"type":"object","required":["emoji","count","users","reacted_by_me"],"title":"ChatReactionAggregate"},"ReactionUserBrief":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"}},"type":"object","required":["id","first_name","last_name","avatar_url"],"title":"ReactionUserBrief"},"ChatAttachmentResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"message_id":{"type":"string","format":"uuid","title":"Message Id"},"attachment_type":{"type":"string","title":"Attachment Type"},"filename":{"type":"string","title":"Filename"},"original_filename":{"type":"string","title":"Original Filename"},"storage_key":{"type":"string","title":"Storage Key"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"thumbnail_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thumbnail Key"},"thumbnail_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thumbnail Url"},"mime_type":{"type":"string","title":"Mime Type"},"file_size":{"type":"integer","title":"File Size"},"width":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Width"},"height":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Height"},"duration_seconds":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Duration Seconds"},"waveform_data":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Waveform Data"},"extra_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Extra Data"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","message_id","attachment_type","filename","original_filename","storage_key","url","thumbnail_key","thumbnail_url","mime_type","file_size","width","height","duration_seconds","waveform_data","extra_data","created_at"],"title":"ChatAttachmentResponse"},"ForwardedFromMessageBrief":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"chat_id":{"type":"string","format":"uuid","title":"Chat Id"},"sender_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Sender Id"},"sender":{"anyOf":[{"$ref":"#/components/schemas/app__api__schemas__chat__chat_message__MessageSenderInfo"},{"type":"null"}]}},"type":"object","required":["id","chat_id","sender_id"],"title":"ForwardedFromMessageBrief"},"app__api__schemas__chat__chat_message__MessageSenderInfo":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"}},"type":"object","required":["id","first_name","last_name","avatar_url"],"title":"MessageSenderInfo"},"ReplyToMessageBrief":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"sender_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Sender Id"},"message_type":{"type":"string","title":"Message Type"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"sender":{"anyOf":[{"$ref":"#/components/schemas/app__api__schemas__chat__chat_message__MessageSenderInfo"},{"type":"null"}]}},"type":"object","required":["id","sender_id","message_type","content","created_at"],"title":"ReplyToMessageBrief"},"ArchiveChatResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"chat_id":{"type":"string","format":"uuid","title":"Chat Id"},"status":{"type":"string","title":"Status"}},"type":"object","required":["success","chat_id","status"],"title":"ArchiveChatResponse"},"ChatSearchResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ChatListItem"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"per_page":{"type":"integer","title":"Per Page"},"query":{"type":"string","title":"Query"}},"type":"object","required":["items","total","page","per_page","query"],"title":"ChatSearchResponse"},"ChatListItem":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"job_id":{"type":"string","format":"uuid","title":"Job Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"photo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Photo Url"},"status":{"type":"string","title":"Status"},"last_message_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Message At"},"last_message_preview":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Message Preview"},"message_count":{"type":"integer","title":"Message Count"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"job":{"anyOf":[{"$ref":"#/components/schemas/JobBriefForChat"},{"type":"null"}]},"participants":{"items":{"$ref":"#/components/schemas/ChatParticipantBrief"},"type":"array","title":"Participants","default":[]},"unread_count":{"type":"integer","title":"Unread Count","default":0}},"type":"object","required":["id","job_id","name","photo_url","status","last_message_at","last_message_preview","message_count","created_at"],"title":"ChatListItem"},"ChatParticipantBrief":{"properties":{"user_id":{"type":"string","format":"uuid","title":"User Id"},"role":{"type":"string","title":"Role"},"nickname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nickname"},"is_active":{"type":"boolean","title":"Is Active"},"user":{"anyOf":[{"$ref":"#/components/schemas/ChatParticipantUserInfo"},{"type":"null"}]}},"type":"object","required":["user_id","role","nickname","is_active"],"title":"ChatParticipantBrief"},"ChatParticipantUserInfo":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"account_type":{"type":"string","enum":["human","agent"],"title":"Account Type","default":"human"},"kind":{"type":"string","enum":["human","agent"],"title":"Kind","default":"human"},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"is_verified_identity":{"type":"boolean","title":"Is Verified Identity","default":false}},"type":"object","required":["id","first_name","last_name","avatar_url"],"title":"ChatParticipantUserInfo"},"JobBriefForChat":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"title":{"type":"string","title":"Title"},"status":{"type":"string","title":"Status"}},"type":"object","required":["id","title","status"],"title":"JobBriefForChat"},"ChatResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"job_id":{"type":"string","format":"uuid","title":"Job Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"photo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Photo Url"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"status":{"type":"string","title":"Status"},"created_by_id":{"type":"string","format":"uuid","title":"Created By Id"},"last_message_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Message At"},"last_message_preview":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Message Preview"},"message_count":{"type":"integer","title":"Message Count"},"settings":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Settings"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"job":{"anyOf":[{"$ref":"#/components/schemas/JobBriefForChat"},{"type":"null"}]},"created_by":{"anyOf":[{"$ref":"#/components/schemas/ChatParticipantUserInfo"},{"type":"null"}]},"participants":{"items":{"$ref":"#/components/schemas/ChatParticipantResponse"},"type":"array","title":"Participants","default":[]}},"type":"object","required":["id","job_id","name","photo_url","description","status","created_by_id","last_message_at","last_message_preview","message_count","settings","created_at","updated_at"],"title":"ChatResponse"},"ChatParticipantResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"chat_id":{"type":"string","format":"uuid","title":"Chat Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"role":{"type":"string","title":"Role"},"is_muted":{"type":"boolean","title":"Is Muted"},"is_pinned":{"type":"boolean","title":"Is Pinned"},"unread_count":{"type":"integer","title":"Unread Count"},"last_read_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Read At"},"nickname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nickname"},"joined_at":{"type":"string","format":"date-time","title":"Joined At"},"is_active":{"type":"boolean","title":"Is Active"},"user":{"anyOf":[{"$ref":"#/components/schemas/ChatParticipantUserInfo"},{"type":"null"}]}},"type":"object","required":["id","chat_id","user_id","role","is_muted","is_pinned","unread_count","last_read_at","nickname","joined_at","is_active"],"title":"ChatParticipantResponse"},"AiTextResponse":{"properties":{"content":{"type":"string","title":"Content"},"usage":{"$ref":"#/components/schemas/AiUsageResponse"}},"type":"object","required":["content","usage"],"title":"AiTextResponse"},"CategoryValidationResponse":{"properties":{"valid":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Valid","description":"List of valid category UUIDs"},"invalid":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Invalid","description":"List of invalid category UUIDs"}},"type":"object","required":["valid","invalid"],"title":"CategoryValidationResponse"},"CalendarAuthorizeResponse":{"properties":{"auth_url":{"type":"string","title":"Auth Url"}},"type":"object","required":["auth_url"],"title":"CalendarAuthorizeResponse"},"ApplicationRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"job_id":{"type":"string","format":"uuid","title":"Job Id"},"applicant_id":{"type":"string","format":"uuid","title":"Applicant Id"},"payee_wallet_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Payee Wallet Id"},"cover_letter":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cover Letter"},"cv_file_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cv File Url"},"proposed_rate":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Proposed Rate"},"estimated_duration_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Estimated Duration Days"},"status":{"$ref":"#/components/schemas/ApplicationStatus"},"invitation_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Invitation Id"},"worqs_spent":{"type":"integer","title":"Worqs Spent","default":0},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"viewed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Viewed At"},"responded_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Responded At"}},"type":"object","required":["id","job_id","applicant_id","status","created_at","updated_at"],"title":"ApplicationRead"},"ApplicationStatus":{"type":"string","enum":["pending","viewed","accepted","rejected","withdrawn"],"title":"ApplicationStatus"},"ApplicationShortlistRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"is_shortlisted":{"type":"boolean","title":"Is Shortlisted"},"shortlisted_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Shortlisted At"}},"type":"object","required":["id","is_shortlisted"],"title":"ApplicationShortlistRead"},"AgentRevokeResponse":{"properties":{"revoked":{"type":"boolean","const":true,"title":"Revoked"}},"type":"object","required":["revoked"],"title":"AgentRevokeResponse"},"RolePreferenceResponse":{"properties":{"preferred_role":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Preferred Role","examples":["employer"]}},"type":"object","title":"RolePreferenceResponse"},"OnboardingResponse":{"properties":{"has_completed_onboarding":{"type":"boolean","title":"Has Completed Onboarding","examples":[true]}},"type":"object","required":["has_completed_onboarding"],"title":"OnboardingResponse"},"Page_WorqsTransactionRead_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/WorqsTransactionRead"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"page":{"type":"integer","minimum":1.0,"title":"Page"},"size":{"type":"integer","minimum":1.0,"title":"Size"},"pages":{"type":"integer","minimum":0.0,"title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"Page[WorqsTransactionRead]"},"WorqsTransactionRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"type":{"$ref":"#/components/schemas/WorqsTransactionType"},"amount":{"type":"integer","title":"Amount","examples":[-2]},"balance_after":{"type":"integer","title":"Balance After","examples":[58]},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","examples":["Applied to \"Senior Designer\""]},"related_application_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Related Application Id"},"reference":{"anyOf":[{"$ref":"#/components/schemas/WorqsTxReference"},{"type":"null"}]},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","type","amount","balance_after","created_at"],"title":"WorqsTransactionRead"},"WorqsTxReference":{"properties":{"kind":{"type":"string","const":"job","title":"Kind"},"id":{"type":"string","format":"uuid","title":"Id"},"title":{"type":"string","title":"Title"}},"type":"object","required":["kind","id","title"],"title":"WorqsTxReference"},"WorqsTransactionType":{"type":"string","enum":["monthly_grant","application_spent","application_refund","proposal_spent","proposal_refund","invitation_sent","referral_bonus","referral_welcome","purchased","bonus","admin_adjustment","level_up_bonus","level_monthly_bonus"],"title":"WorqsTransactionType"},"WorqsBalanceResponse":{"properties":{"worqs_balance":{"type":"integer","title":"Worqs Balance","examples":[60]}},"type":"object","required":["worqs_balance"],"title":"WorqsBalanceResponse"},"WorkLogEvidenceRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"work_log_id":{"type":"string","format":"uuid","title":"Work Log Id"},"url":{"type":"string","title":"Url"},"thumbnail_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thumbnail Url"},"file_type":{"type":"string","title":"File Type"},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Name"},"file_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"File Size"},"caption":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Caption"},"evidence_type":{"type":"string","title":"Evidence Type"},"captured_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Captured At"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"},"device_info":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Device Info"},"uploaded_at":{"type":"string","format":"date-time","title":"Uploaded At"},"uploaded_by":{"type":"string","format":"uuid","title":"Uploaded By"}},"type":"object","required":["id","work_log_id","url","file_type","evidence_type","uploaded_at","uploaded_by"],"title":"WorkLogEvidenceRead"},"Page_WorkLogListItem_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/WorkLogListItem"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"page":{"type":"integer","minimum":1.0,"title":"Page"},"size":{"type":"integer","minimum":1.0,"title":"Size"},"pages":{"type":"integer","minimum":0.0,"title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"Page[WorkLogListItem]"},"WorkLogListItem":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"hire_id":{"type":"string","format":"uuid","title":"Hire Id"},"work_date":{"type":"string","format":"date","title":"Work Date"},"hours_worked":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Hours Worked"},"status":{"$ref":"#/components/schemas/WorkLogStatus"},"description":{"type":"string","title":"Description"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"submitted_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Submitted At"}},"type":"object","required":["id","hire_id","work_date","hours_worked","status","description","created_at"],"title":"WorkLogListItem"},"WorkLogSummary":{"properties":{"hire_id":{"type":"string","format":"uuid","title":"Hire Id"},"draft_hours":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Draft Hours"},"submitted_hours":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Submitted Hours"},"invoiced_hours":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Invoiced Hours"},"total_entries":{"type":"integer","title":"Total Entries"}},"type":"object","required":["hire_id","draft_hours","submitted_hours","invoiced_hours","total_entries"],"title":"WorkLogSummary"},"WorkLogWeeklyBreakdown":{"properties":{"date":{"type":"string","title":"Date"},"hours":{"type":"number","title":"Hours"},"status":{"type":"string","title":"Status"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"type":"object","required":["date","hours","status"],"title":"WorkLogWeeklyBreakdown"},"WalletBalanceResponse":{"properties":{"balance_lamports":{"type":"integer","title":"Balance Lamports","description":"Balance in lamports (SOL wallets). 0 for EVM."},"balance_sol":{"type":"number","title":"Balance Sol","description":"Balance in SOL (SOL wallets). 0 for EVM."},"network":{"type":"string","title":"Network","description":"Wallet network (solana, erc20, ...)."},"native_symbol":{"type":"string","title":"Native Symbol","description":"Native token ticker (SOL, ETH, ...)."},"native_smallest_unit":{"type":"integer","title":"Native Smallest Unit","description":"Native balance in smallest unit (lamports, wei)."},"native_amount":{"type":"string","title":"Native Amount","description":"Native balance formatted as decimal string."},"usdt_smallest_unit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Usdt Smallest Unit","description":"Stablecoin balance in smallest unit (legacy)."},"usdt_amount":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Usdt Amount","description":"Stablecoin balance as decimal string (legacy)."},"tokens":{"items":{"$ref":"#/components/schemas/TokenBalanceItem"},"type":"array","title":"Tokens","description":"Per-asset balances — symbol-keyed across native + SPL/ERC-20."}},"type":"object","required":["balance_lamports","balance_sol","network","native_symbol","native_smallest_unit","native_amount"],"title":"WalletBalanceResponse"},"TokenBalanceItem":{"properties":{"symbol":{"type":"string","title":"Symbol","description":"Ticker — SOL, USDC, USDT, EURC, ETH, EURT."},"smallest_unit":{"type":"integer","title":"Smallest Unit","description":"Balance in smallest unit (lamports, base units, wei)."},"amount":{"type":"string","title":"Amount","description":"Balance formatted as a decimal string."},"decimals":{"type":"integer","title":"Decimals","description":"Decimals of this asset."},"mint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mint","description":"SPL mint address. Null for native assets (SOL, ETH)."}},"type":"object","required":["symbol","smallest_unit","amount","decimals"],"title":"TokenBalanceItem"},"VerificationStatusResponse":{"properties":{"status":{"$ref":"#/components/schemas/KYCVerificationStatus","examples":["not_submitted"]}},"type":"object","required":["status"],"title":"VerificationStatusResponse"},"KYCVerificationStatus":{"type":"string","enum":["not_submitted","pending","verified","rejected"],"title":"KYCVerificationStatus"},"VacanciesMapResponse":{"properties":{"mode":{"type":"string","title":"Mode","description":"Response mode: 'markers' or 'clusters'","default":"markers"},"total":{"type":"integer","title":"Total","description":"Total number of vacancies found"},"radius_km":{"type":"number","title":"Radius Km","description":"Search radius in kilometers"},"center_latitude":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Center Latitude","description":"Center point latitude"},"center_longitude":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Center Longitude","description":"Center point longitude"},"vacancies":{"items":{"$ref":"#/components/schemas/VacancyMapItem"},"type":"array","title":"Vacancies","description":"List of vacancies for map display"},"clusters":{"items":{"$ref":"#/components/schemas/MapCluster"},"type":"array","title":"Clusters","description":"Aggregated clusters for large viewports"}},"type":"object","required":["total","radius_km","center_latitude","center_longitude"],"title":"VacanciesMapResponse","example":{"center_latitude":"50.4501","center_longitude":"30.5234","clusters":[],"mode":"markers","radius_km":50.0,"total":15,"vacancies":[{"categories":["550e8400-e29b-41d4-a716-446655440000"],"currency":"USD","distance_km":2.5,"id":"550e8400-e29b-41d4-a716-446655440000","is_available_now":true,"latitude":"50.4501","longitude":"30.5234","rate":"25.00","title":"Experienced Plumber"}]}},"MapCluster":{"properties":{"latitude":{"type":"number","title":"Latitude","description":"Cluster center latitude"},"longitude":{"type":"number","title":"Longitude","description":"Cluster center longitude"},"count":{"type":"integer","title":"Count","description":"Number of items in this cluster"},"bbox_min_lat":{"type":"number","title":"Bbox Min Lat","description":"Cluster cell south boundary"},"bbox_min_lng":{"type":"number","title":"Bbox Min Lng","description":"Cluster cell west boundary"},"bbox_max_lat":{"type":"number","title":"Bbox Max Lat","description":"Cluster cell north boundary"},"bbox_max_lng":{"type":"number","title":"Bbox Max Lng","description":"Cluster cell east boundary"}},"type":"object","required":["latitude","longitude","count","bbox_min_lat","bbox_min_lng","bbox_max_lat","bbox_max_lng"],"title":"MapCluster","example":{"bbox_max_lat":50.675,"bbox_max_lng":30.78,"bbox_min_lat":50.225,"bbox_min_lng":30.26,"count":42,"latitude":50.45,"longitude":30.52}},"VacancyMapItem":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"title":{"type":"string","title":"Title"},"latitude":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Latitude"},"longitude":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Longitude"},"rate":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Rate"},"currency":{"type":"string","title":"Currency"},"is_available_now":{"type":"boolean","title":"Is Available Now"},"categories":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Categories"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"travel_radius_km":{"type":"integer","title":"Travel Radius Km"},"distance_km":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Distance Km"}},"type":"object","required":["id","title","latitude","longitude","currency","is_available_now","categories","travel_radius_km"],"title":"VacancyMapItem","example":{"categories":["550e8400-e29b-41d4-a716-446655440000"],"currency":"USD","distance_km":2.5,"id":"550e8400-e29b-41d4-a716-446655440000","is_available_now":true,"latitude":"50.4501","longitude":"30.5234","rate":"25.00","title":"Experienced Plumber"}},"Page_VacancyListItem_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/VacancyListItem"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"page":{"type":"integer","minimum":1.0,"title":"Page"},"size":{"type":"integer","minimum":1.0,"title":"Size"},"pages":{"type":"integer","minimum":0.0,"title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"Page[VacancyListItem]"},"VacancyListItem":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"employee_id":{"type":"string","format":"uuid","title":"Employee Id"},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"},"categories":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Categories"},"payment_type":{"$ref":"#/components/schemas/PaymentType"},"rate":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Rate"},"currency":{"type":"string","title":"Currency"},"photos":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Photos"},"latitude":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Longitude"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"travel_radius_km":{"type":"integer","title":"Travel Radius Km"},"is_available_now":{"type":"boolean","title":"Is Available Now"},"available_from":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Available From"},"experience_years":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Experience Years"},"skills":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Skills"},"status":{"$ref":"#/components/schemas/VacancyStatus"},"is_remote_available":{"type":"boolean","title":"Is Remote Available"},"worqs_cost":{"type":"integer","title":"Worqs Cost","default":0},"created_at":{"type":"string","format":"date-time","title":"Created At"},"published_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Published At"},"distance_km":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Distance Km"},"employee":{"anyOf":[{"$ref":"#/components/schemas/WorkerPublicBrief"},{"type":"null"}],"description":"Brief info about the employee offering services"}},"type":"object","required":["id","employee_id","title","description","categories","payment_type","currency","travel_radius_km","is_available_now","status","is_remote_available","created_at"],"title":"VacancyListItem","example":{"categories":["550e8400-e29b-41d4-a716-446655440000"],"city":"Kyiv","country":"Ukraine","created_at":"2026-01-01T12:00:00Z","currency":"USD","description":"Professional plumber with 10 years of experience...","employee":{"avatar_url":"https://example.com/avatar.jpg","first_name":"John","id":"550e8400-e29b-41d4-a716-446655440000","last_name":"Doe","rating_as_employee":4.8,"total_jobs_completed":42},"employee_id":"550e8400-e29b-41d4-a716-446655440000","experience_years":10,"id":"550e8400-e29b-41d4-a716-446655440000","is_available_now":true,"is_remote_available":false,"payment_type":"hourly","rate":"25.00","skills":["Pipe repair","Fixture installation"],"status":"active","title":"Experienced Plumber Available"}},"UserRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"is_active":{"type":"boolean","title":"Is Active","default":true},"is_verified":{"type":"boolean","title":"Is Verified","default":false},"username":{"type":"string","title":"Username"},"account_type":{"type":"string","enum":["human","agent"],"title":"Account Type","default":"human"},"kind":{"type":"string","enum":["human","agent"],"title":"Kind","default":"human"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"tagline":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tagline"},"bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bio"},"is_verified_identity":{"type":"boolean","title":"Is Verified Identity","default":false},"verified_wallet_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Verified Wallet Address"},"has_completed_onboarding":{"type":"boolean","title":"Has Completed Onboarding","default":false},"rating_as_employer":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rating As Employer"},"rating_as_employee":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rating As Employee"},"total_jobs_posted":{"type":"integer","title":"Total Jobs Posted","default":0},"total_jobs_completed":{"type":"integer","title":"Total Jobs Completed","default":0},"current_latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Current Latitude"},"current_longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Current Longitude"},"location_updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Location Updated At"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["id","email","username"],"title":"UserRead"},"UserProfileResponse":{"properties":{"id":{"type":"string","title":"Id","examples":["123e4567-e89b-12d3-a456-426614174000"]},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email","examples":["user@example.com"]},"account_type":{"type":"string","enum":["human","agent"],"title":"Account Type","default":"human"},"kind":{"type":"string","enum":["human","agent"],"title":"Kind","default":"human"},"username":{"type":"string","title":"Username","examples":["john_doe"]},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name","examples":["John"]},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name","examples":["Doe"]},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url","examples":["https://example.com/avatar.jpg"]},"tagline":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tagline","examples":["I help SaaS founders ship Stripe integrations in 2 weeks"]},"bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bio","examples":["Experienced professional"]},"skills":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Skills","examples":[["TypeScript","React"]]},"min_project_budget":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Min Project Budget","examples":[500.0]},"preferred_payment_currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Preferred Payment Currency","examples":["USDC"]},"preferred_role":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Preferred Role","examples":["employer"]},"response_time_minutes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Response Time Minutes","examples":[45]},"is_verified_identity":{"type":"boolean","title":"Is Verified Identity","default":false},"verified_wallet_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Verified Wallet Address","examples":["7n4..."]},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","examples":["Kyiv"]},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country","examples":["Ukraine"]},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone","examples":["Europe/Kyiv"]},"worqs_balance":{"type":"integer","title":"Worqs Balance","examples":[60]},"active_plan":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Active Plan","examples":["prime"]},"rating_as_employer":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rating As Employer","examples":[4.5]},"rating_as_employee":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rating As Employee","examples":[4.8]},"total_jobs_posted":{"type":"integer","title":"Total Jobs Posted","examples":[10]},"total_jobs_completed":{"type":"integer","title":"Total Jobs Completed","examples":[25]},"worker_level":{"type":"integer","title":"Worker Level","default":1,"examples":[5]},"client_level":{"type":"integer","title":"Client Level","default":1,"examples":[3]},"current_latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Current Latitude","examples":[40.7128]},"current_longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Current Longitude","examples":[-74.006]},"location_updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Location Updated At"},"is_verified":{"type":"boolean","title":"Is Verified","examples":[true]},"has_completed_onboarding":{"type":"boolean","title":"Has Completed Onboarding","default":false,"examples":[false]},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","username","worqs_balance","total_jobs_posted","total_jobs_completed","is_verified","created_at"],"title":"UserProfileResponse"},"UsernameAvailabilityResponse":{"properties":{"value":{"type":"string","title":"Value","examples":["john_doe"]},"available":{"type":"boolean","title":"Available","examples":[true]},"valid":{"type":"boolean","title":"Valid","examples":[true]}},"type":"object","required":["value","available","valid"],"title":"UsernameAvailabilityResponse"},"Page_TransactionRead_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/TransactionRead"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"page":{"type":"integer","minimum":1.0,"title":"Page"},"size":{"type":"integer","minimum":1.0,"title":"Size"},"pages":{"type":"integer","minimum":0.0,"title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"Page[TransactionRead]"},"TransactionRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"Unique transaction identifier"},"type":{"$ref":"#/components/schemas/TransactionType","description":"Type of transaction","examples":["deposit","withdrawal","transfer"]},"status":{"$ref":"#/components/schemas/TransactionStatus","description":"Current status of the transaction","examples":["pending","completed","failed"]},"amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Amount","description":"Transaction amount","examples":["100.00000000"]},"currency":{"type":"string","title":"Currency","description":"Currency code","examples":["USD"]},"fee":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Fee","description":"Transaction fee","examples":["1.00000000"]},"wallet_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Wallet Id","description":"Associated wallet ID (for crypto transactions)"},"tx_hash":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tx Hash","description":"Blockchain transaction hash (for crypto transactions)","examples":["5UxKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU123"]},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Transaction description or note","examples":["Withdrawal to Solana wallet"]},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Transaction creation timestamp","examples":["2026-01-01T12:00:00Z"]},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At","description":"Transaction completion timestamp (null if not completed)","examples":["2026-01-01T12:05:00Z"]},"counterparty":{"anyOf":[{"$ref":"#/components/schemas/TransactionCounterparty"},{"type":"null"}],"description":"The other human party to this money event, relative to the requesting user. Null when the transaction has no counterparty (deposits, withdrawals, wallet transfers) or when it settles against the platform itself (Worqs purchases, subscriptions)."}},"type":"object","required":["id","type","status","amount","currency","fee","created_at"],"title":"TransactionRead","example":{"amount":"100.00000000","completed_at":"2026-01-01T12:05:00Z","created_at":"2026-01-01T12:00:00Z","currency":"USD","description":"Withdrawal to Solana wallet","fee":"1.00000000","id":"550e8400-e29b-41d4-a716-446655440000","status":"completed","tx_hash":"5UxKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU123","type":"withdrawal","wallet_id":"550e8400-e29b-41d4-a716-446655440000"}},"TransactionCounterparty":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"Identifier of the other party"},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username","description":"Public handle, when set"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name","description":"Given name, when set"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name","description":"Family name, when set"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url","description":"Avatar image URL, when set"}},"type":"object","required":["id"],"title":"TransactionCounterparty"},"TransactionStatus":{"type":"string","enum":["pending","processing","completed","failed","cancelled"],"title":"TransactionStatus"},"TransactionType":{"type":"string","enum":["deposit","withdrawal","transfer","fee","refund","bonus","escrow_deposit","escrow_release","escrow_release_debit","escrow_refund","escrow_refund_debit","platform_commission","hourly_fund","hourly_payout","hourly_refund","hourly_period_close","tip","direct_pay","dispute_settlement","dispute_force_release","worqs_purchase","subscription","wallet_transfer","gas_sponsorship","escrow_rent_close"],"title":"TransactionType"},"PlanPricingResponse":{"properties":{"plan_key":{"type":"string","title":"Plan Key","examples":["prime"]},"monthly_usd":{"type":"number","title":"Monthly Usd","examples":[12.0]},"annual_usd":{"type":"number","title":"Annual Usd","examples":[120.0]},"discount_pct":{"type":"number","title":"Discount Pct","description":"Score perk discount applied to this caller (0 when anonymous).","default":0.0,"examples":[0.2]},"discounted_monthly_usd":{"type":"number","title":"Discounted Monthly Usd","examples":[9.6]},"discounted_annual_usd":{"type":"number","title":"Discounted Annual Usd","examples":[96.0]},"sol_price_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sol Price Usd","examples":[150.0]},"eurc_price_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Eurc Price Usd","examples":[1.08]},"treasury_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Treasury Address","examples":["49gGSC3..."]}},"type":"object","required":["plan_key","monthly_usd","annual_usd","discounted_monthly_usd","discounted_annual_usd"],"title":"PlanPricingResponse"},"PlanRead":{"properties":{"key":{"type":"string","title":"Key","examples":["prime"]},"name":{"type":"string","title":"Name","examples":["Worqen Prime"]},"commission_bps":{"type":"integer","title":"Commission Bps","examples":[150]},"monthly_worqs":{"type":"integer","title":"Monthly Worqs","examples":[30]},"price_usd_monthly":{"type":"number","title":"Price Usd Monthly","examples":[12.0]},"price_usd_annual":{"type":"number","title":"Price Usd Annual","examples":[120.0]}},"type":"object","required":["key","name","commission_bps","monthly_worqs","price_usd_monthly","price_usd_annual"],"title":"PlanRead"},"Page_SubscriptionChargeRead_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/SubscriptionChargeRead"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"page":{"type":"integer","minimum":1.0,"title":"Page"},"size":{"type":"integer","minimum":1.0,"title":"Size"},"pages":{"type":"integer","minimum":0.0,"title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"Page[SubscriptionChargeRead]"},"SubscriptionChargeRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"amount":{"type":"integer","title":"Amount","examples":[12000000]},"currency":{"type":"string","title":"Currency","examples":["USDC"]},"usd_value":{"type":"number","title":"Usd Value","examples":[12.0]},"tx_signature":{"type":"string","title":"Tx Signature"},"period_start":{"type":"string","format":"date-time","title":"Period Start"},"period_end":{"type":"string","format":"date-time","title":"Period End"},"status":{"type":"string","title":"Status","examples":["succeeded"]},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","amount","currency","usd_value","tx_signature","period_start","period_end","status","created_at"],"title":"SubscriptionChargeRead"},"SkillSuggestResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/SkillSuggestion"},"type":"array","title":"Items"}},"type":"object","required":["items"],"title":"SkillSuggestResponse"},"SkillSuggestion":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"canonical_name":{"type":"string","title":"Canonical Name"},"slug":{"type":"string","title":"Slug"},"skill_category_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Skill Category Id"}},"type":"object","required":["id","canonical_name","slug"],"title":"SkillSuggestion"},"SkillCategoryBriefResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/SkillCategoryBrief"},"type":"array","title":"Items"}},"type":"object","required":["items"],"title":"SkillCategoryBriefResponse"},"SkillCategoryBrief":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"slug":{"type":"string","title":"Slug"},"name":{"type":"string","title":"Name"}},"type":"object","required":["id","slug","name"],"title":"SkillCategoryBrief"},"SearchResponse":{"properties":{"q":{"type":"string","title":"Q"},"types":{"items":{"$ref":"#/components/schemas/SearchType"},"type":"array","title":"Types","description":"The types that were actually searched."},"jobs":{"anyOf":[{"$ref":"#/components/schemas/SearchBucket_SearchJobHit_"},{"type":"null"}]},"vacancies":{"anyOf":[{"$ref":"#/components/schemas/SearchBucket_SearchVacancyHit_"},{"type":"null"}]},"users":{"anyOf":[{"$ref":"#/components/schemas/SearchBucket_WorkerPublicBrief_"},{"type":"null"}]},"hires":{"anyOf":[{"$ref":"#/components/schemas/SearchBucket_SearchHireHit_"},{"type":"null"}]}},"type":"object","required":["q"],"title":"SearchResponse"},"SearchBucket_SearchHireHit_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/SearchHireHit"},"type":"array","title":"Items"},"total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total","description":"Total matches when the underlying query already computes a count. Null means no count was computed — never treat it as zero."}},"type":"object","title":"SearchBucket[SearchHireHit]"},"SearchHireHit":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"job_id":{"type":"string","format":"uuid","title":"Job Id"},"job_title":{"type":"string","title":"Job Title"},"status":{"$ref":"#/components/schemas/HireStatus"},"agreed_rate":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Agreed Rate"},"currency":{"type":"string","title":"Currency"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"counterparty_role":{"type":"string","enum":["employer","employee"],"title":"Counterparty Role","description":"Which side of the contract the counterparty is on, from the caller's point of view."},"counterparty":{"anyOf":[{"$ref":"#/components/schemas/EmployerPublicBrief"},{"$ref":"#/components/schemas/WorkerPublicBrief"},{"type":"null"}],"title":"Counterparty"}},"type":"object","required":["id","job_id","job_title","status","agreed_rate","currency","created_at","counterparty_role"],"title":"SearchHireHit"},"SearchBucket_WorkerPublicBrief_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/WorkerPublicBrief"},"type":"array","title":"Items"},"total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total","description":"Total matches when the underlying query already computes a count. Null means no count was computed — never treat it as zero."}},"type":"object","title":"SearchBucket[WorkerPublicBrief]"},"SearchBucket_SearchVacancyHit_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/SearchVacancyHit"},"type":"array","title":"Items"},"total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total","description":"Total matches when the underlying query already computes a count. Null means no count was computed — never treat it as zero."}},"type":"object","title":"SearchBucket[SearchVacancyHit]"},"SearchVacancyHit":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"title":{"type":"string","title":"Title"},"status":{"$ref":"#/components/schemas/VacancyStatus"},"payment_type":{"$ref":"#/components/schemas/PaymentType"},"rate":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Rate"},"currency":{"type":"string","title":"Currency"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"is_remote_available":{"type":"boolean","title":"Is Remote Available","default":false},"is_available_now":{"type":"boolean","title":"Is Available Now","default":false},"created_at":{"type":"string","format":"date-time","title":"Created At"},"employee":{"anyOf":[{"$ref":"#/components/schemas/WorkerPublicBrief"},{"type":"null"}]}},"type":"object","required":["id","title","status","payment_type","currency","created_at"],"title":"SearchVacancyHit"},"SearchBucket_SearchJobHit_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/SearchJobHit"},"type":"array","title":"Items"},"total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total","description":"Total matches when the underlying query already computes a count. Null means no count was computed — never treat it as zero."}},"type":"object","title":"SearchBucket[SearchJobHit]"},"SearchJobHit":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"title":{"type":"string","title":"Title"},"status":{"$ref":"#/components/schemas/JobStatus"},"payment_type":{"$ref":"#/components/schemas/PaymentType"},"rate":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Rate"},"currency":{"type":"string","title":"Currency"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"is_remote":{"type":"boolean","title":"Is Remote","default":false},"is_urgent":{"type":"boolean","title":"Is Urgent","default":false},"created_at":{"type":"string","format":"date-time","title":"Created At"},"employer":{"anyOf":[{"$ref":"#/components/schemas/EmployerPublicBrief"},{"type":"null"}]}},"type":"object","required":["id","title","status","payment_type","rate","currency","created_at"],"title":"SearchJobHit"},"SearchType":{"type":"string","enum":["jobs","vacancies","users","hires"],"title":"SearchType"},"LeaderboardResponse":{"properties":{"track":{"type":"string","title":"Track","examples":["worker"]},"skill":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Skill"},"enough_participants":{"type":"boolean","title":"Enough Participants","description":"False when fewer than the minimum participants rank in this slice; the UI shows a 'not enough participants' state.","default":true},"entries":{"items":{"$ref":"#/components/schemas/LeaderboardEntry"},"type":"array","title":"Entries"}},"type":"object","required":["track"],"title":"LeaderboardResponse"},"LeaderboardEntry":{"properties":{"rank":{"type":"integer","title":"Rank","examples":[1]},"user_id":{"type":"string","format":"uuid","title":"User Id"},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"level":{"type":"integer","title":"Level","examples":[7]},"track":{"type":"string","title":"Track","examples":["worker"]},"is_prime":{"type":"boolean","title":"Is Prime","default":false},"badge_dimmed":{"type":"boolean","title":"Badge Dimmed","default":false}},"type":"object","required":["rank","user_id","level","track"],"title":"LeaderboardEntry"},"Page_ProposalListItem_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ProposalListItem"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"page":{"type":"integer","minimum":1.0,"title":"Page"},"size":{"type":"integer","minimum":1.0,"title":"Size"},"pages":{"type":"integer","minimum":0.0,"title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"Page[ProposalListItem]"},"ProposalListItem":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"vacancy_id":{"type":"string","format":"uuid","title":"Vacancy Id"},"proposer_id":{"type":"string","format":"uuid","title":"Proposer Id"},"recipient_id":{"type":"string","format":"uuid","title":"Recipient Id"},"job_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Job Id"},"hire_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Hire Id"},"title":{"type":"string","title":"Title"},"proposed_rate":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Proposed Rate"},"proposed_hours":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Proposed Hours"},"currency":{"type":"string","title":"Currency"},"payment_type":{"type":"string","title":"Payment Type"},"status":{"$ref":"#/components/schemas/VacancyProposalStatus"},"worqs_spent":{"type":"integer","title":"Worqs Spent","default":0},"created_at":{"type":"string","format":"date-time","title":"Created At"},"responded_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Responded At"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"},"proposer":{"anyOf":[{"$ref":"#/components/schemas/UserBrief"},{"type":"null"}]},"recipient":{"anyOf":[{"$ref":"#/components/schemas/UserBrief"},{"type":"null"}]}},"type":"object","required":["id","vacancy_id","proposer_id","recipient_id","title","currency","payment_type","status","created_at"],"title":"ProposalListItem"},"UserBrief":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"account_type":{"type":"string","enum":["human","agent"],"title":"Account Type","default":"human"},"kind":{"type":"string","enum":["human","agent"],"title":"Kind","default":"human"},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"tagline":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tagline"},"bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bio"},"skills":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Skills"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"rating_as_employer":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rating As Employer"},"rating_as_employee":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rating As Employee"},"total_jobs_posted":{"type":"integer","title":"Total Jobs Posted","default":0},"total_jobs_completed":{"type":"integer","title":"Total Jobs Completed","default":0},"success_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Success Score"},"employee_job_success_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Employee Job Success Score"},"employer_job_success_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Employer Job Success Score"},"worker_level":{"type":"integer","title":"Worker Level","default":1},"client_level":{"type":"integer","title":"Client Level","default":1},"is_verified_identity":{"type":"boolean","title":"Is Verified Identity","default":false},"is_prime":{"type":"boolean","title":"Is Prime","default":false}},"type":"object","required":["id","email"],"title":"UserBrief"},"ShowcaseProjectRead":{"properties":{"title":{"type":"string","maxLength":80,"minLength":3,"title":"Title"},"short_description":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Short Description"},"full_description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Full Description"},"category":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Category"},"skills":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":8},{"type":"null"}],"title":"Skills"},"cover_image_url":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Cover Image Url"},"image_urls":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":8},{"type":"null"}],"title":"Image Urls"},"video_url":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Video Url"},"external_link":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"External Link"},"project_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Project Date"},"hire_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Hire Id"},"is_featured":{"type":"boolean","title":"Is Featured","default":false},"sequence":{"type":"integer","title":"Sequence","default":0},"id":{"type":"string","format":"uuid","title":"Id"},"is_verified":{"type":"boolean","title":"Is Verified","default":false}},"type":"object","required":["title","id"],"title":"ShowcaseProjectRead"},"ReviewListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ReviewRead"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["items","total"],"title":"ReviewListResponse"},"ReviewRead":{"properties":{"hire_id":{"type":"string","format":"uuid","title":"Hire Id"},"role":{"type":"string","title":"Role","examples":["as_worker"]},"rating":{"type":"integer","maximum":5.0,"minimum":1.0,"title":"Rating","examples":[5]},"review":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Review","examples":["Delivered ahead of schedule."]},"rater_id":{"type":"string","format":"uuid","title":"Rater Id"},"rater_username":{"type":"string","title":"Rater Username"},"rater_first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rater First Name"},"rater_last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rater Last Name"},"rater_avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rater Avatar Url"},"job_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Job Title"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At"}},"type":"object","required":["hire_id","role","rating","rater_id","rater_username"],"title":"ReviewRead"},"OnchainMetricsResponse":{"properties":{"verified_chain":{"type":"string","title":"Verified Chain"},"total_earnings_usd":{"type":"number","title":"Total Earnings Usd"},"completed_contracts":{"type":"integer","title":"Completed Contracts"},"avg_job_value_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Avg Job Value Usd"},"breakdown":{"items":{"$ref":"#/components/schemas/OnchainCurrencyBreakdown"},"type":"array","title":"Breakdown"},"total_spent_usd":{"type":"number","title":"Total Spent Usd"},"funded_contracts":{"type":"integer","title":"Funded Contracts"},"avg_funded_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Avg Funded Usd"},"spent_breakdown":{"items":{"$ref":"#/components/schemas/OnchainCurrencyBreakdown"},"type":"array","title":"Spent Breakdown"},"wallet_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wallet Address"}},"type":"object","required":["verified_chain","total_earnings_usd","completed_contracts","avg_job_value_usd","breakdown","total_spent_usd","funded_contracts","avg_funded_usd","spent_breakdown","wallet_address"],"title":"OnchainMetricsResponse"},"OnchainCurrencyBreakdown":{"properties":{"currency":{"type":"string","title":"Currency"},"amount_native":{"type":"number","title":"Amount Native"},"amount_usd":{"type":"number","title":"Amount Usd"}},"type":"object","required":["currency","amount_native","amount_usd"],"title":"OnchainCurrencyBreakdown"},"PublicProfileResponse":{"properties":{"id":{"type":"string","title":"Id","examples":["550e8400-e29b-41d4-a716-446655440000"]},"account_type":{"type":"string","enum":["human","agent"],"title":"Account Type","default":"human"},"kind":{"type":"string","enum":["human","agent"],"title":"Kind","default":"human"},"username":{"type":"string","title":"Username","examples":["roman_k"]},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name","examples":["Roman"]},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name","examples":["K."]},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url","examples":["https://example.com/avatar.jpg"]},"cover_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cover Url","examples":["https://cdn.worqen.com/covers/roman.jpg"]},"tagline":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tagline","examples":["I help SaaS founders ship Stripe integrations in 2 weeks"]},"bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bio","examples":["Full-stack developer..."]},"skills":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Skills","examples":[["TypeScript","React","Solana"]]},"hourly_rate":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Hourly Rate","examples":[90.0]},"min_project_budget":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Min Project Budget","examples":[500.0]},"pricing_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pricing Model","examples":["hourly"]},"preferred_payment_currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Preferred Payment Currency","examples":["USDC"]},"employer_min_project_budget":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Employer Min Project Budget","examples":[500.0]},"employer_preferred_currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Employer Preferred Currency","examples":["USDC"]},"availability":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Availability","examples":["available_now"]},"available_from":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Available From","examples":["2026-06-15T00:00:00Z"]},"hours_per_week_target":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Hours Per Week Target","examples":[30]},"response_time_minutes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Response Time Minutes","examples":[45]},"is_verified_identity":{"type":"boolean","title":"Is Verified Identity","default":false,"examples":[true]},"verified_wallet_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Verified Wallet Address","examples":["7n4..."]},"is_verified":{"type":"boolean","title":"Is Verified","examples":[true]},"is_prime":{"type":"boolean","title":"Is Prime","default":false,"examples":[true]},"is_ambassador":{"type":"boolean","title":"Is Ambassador","default":false,"examples":[true]},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","examples":["Kyiv"]},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country","examples":["UA"]},"rating_as_employer":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rating As Employer","examples":[4.8]},"rating_as_employee":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rating As Employee","examples":[4.9]},"total_jobs_posted":{"type":"integer","title":"Total Jobs Posted","default":0,"examples":[15]},"total_jobs_completed":{"type":"integer","title":"Total Jobs Completed","default":0,"examples":[3]},"success_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Success Score","examples":[97.0]},"employee_job_success_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Employee Job Success Score","examples":[96.0]},"employer_job_success_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Employer Job Success Score","examples":[98.0]},"worker_level":{"type":"integer","title":"Worker Level","description":"Worqen Score worker-track level (KYC display gate applied).","default":1,"examples":[5]},"client_level":{"type":"integer","title":"Client Level","description":"Worqen Score client-track level (KYC display gate applied).","default":1,"examples":[3]},"last_seen_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Seen At","examples":["2026-05-13T12:00:00Z"]},"member_since":{"type":"string","format":"date-time","title":"Member Since","examples":["2024-01-01T00:00:00Z"]},"languages":{"items":{"$ref":"#/components/schemas/LanguageRead"},"type":"array","title":"Languages"},"employments":{"items":{"$ref":"#/components/schemas/EmploymentRead"},"type":"array","title":"Employments"},"portfolios":{"items":{"$ref":"#/components/schemas/PortfolioRead"},"type":"array","title":"Portfolios"},"social_links":{"items":{"$ref":"#/components/schemas/SocialLinkRead"},"type":"array","title":"Social Links"},"user_skills":{"items":{"$ref":"#/components/schemas/UserSkillRead"},"type":"array","title":"User Skills"}},"type":"object","required":["id","username","is_verified","member_since"],"title":"PublicProfileResponse"},"ScoreProgressResponse":{"properties":{"worker":{"$ref":"#/components/schemas/TrackProgress"},"client":{"$ref":"#/components/schemas/TrackProgress"},"kyc_verified":{"type":"boolean","title":"Kyc Verified","examples":[true]},"recent_events":{"items":{"$ref":"#/components/schemas/XpEventRead"},"type":"array","title":"Recent Events"},"level_history":{"items":{"$ref":"#/components/schemas/LevelHistoryEntry"},"type":"array","title":"Level History"},"modifiers":{"anyOf":[{"$ref":"#/components/schemas/ScoreModifiers"},{"type":"null"}]},"entitlements":{"anyOf":[{"$ref":"#/components/schemas/PerkEntitlementsByTrack"},{"type":"null"}]}},"type":"object","required":["worker","client","kyc_verified"],"title":"ScoreProgressResponse"},"PerkEntitlementsByTrack":{"properties":{"worker":{"$ref":"#/components/schemas/PerkEntitlements"},"client":{"$ref":"#/components/schemas/PerkEntitlements"}},"type":"object","required":["worker","client"],"title":"PerkEntitlementsByTrack"},"PerkEntitlements":{"properties":{"track":{"type":"string","title":"Track","examples":["worker"]},"effective_level":{"type":"integer","title":"Effective Level","description":"Level the perks resolve from — the KYC-capped display level.","examples":[12]},"perk_level":{"type":"integer","title":"Perk Level","description":"Effective level after the current-form gate; below effective_level while perks are suspended.","examples":[10]},"form_gated":{"type":"boolean","title":"Form Gated","default":false,"examples":[false]},"tip_bps":{"type":"integer","title":"Tip Bps","examples":[0]},"client_fee_bps":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Client Fee Bps","description":"Level fee leg. None means no level perk — the plan fee applies.","examples":[400]},"ranking_boost":{"type":"number","title":"Ranking Boost","examples":[0.1]},"elite_placement":{"type":"boolean","title":"Elite Placement","default":false,"examples":[false]},"priority_support":{"type":"boolean","title":"Priority Support","default":false,"examples":[false]},"priority_dispute_tier":{"type":"integer","title":"Priority Dispute Tier","default":0,"examples":[2]},"prime_discount_pct":{"type":"number","title":"Prime Discount Pct","examples":[0.2]},"monthly_worqs_bonus":{"type":"integer","title":"Monthly Worqs Bonus","examples":[8]},"dormant":{"items":{"type":"string"},"type":"array","title":"Dormant","description":"Perks whose flag is computed but whose mechanic is not built.","examples":[["featured_credits","merch"]]}},"type":"object","required":["track","effective_level","perk_level","tip_bps","ranking_boost","prime_discount_pct","monthly_worqs_bonus"],"title":"PerkEntitlements"},"ScoreModifiers":{"properties":{"kyc_verified":{"type":"boolean","title":"Kyc Verified","examples":[false]},"kyc_gate_level":{"type":"integer","title":"Kyc Gate Level","examples":[10]},"form_perk_gate_level":{"type":"integer","title":"Form Perk Gate Level","examples":[11]},"form_perk_gate_threshold":{"type":"integer","title":"Form Perk Gate Threshold","examples":[70]},"form_badge_dim_threshold":{"type":"integer","title":"Form Badge Dim Threshold","examples":[40]},"pair_full_hires":{"type":"integer","title":"Pair Full Hires","examples":[3]},"pair_half_hires":{"type":"integer","title":"Pair Half Hires","examples":[6]}},"type":"object","required":["kyc_verified","kyc_gate_level","form_perk_gate_level","form_perk_gate_threshold","form_badge_dim_threshold","pair_full_hires","pair_half_hires"],"title":"ScoreModifiers"},"LevelHistoryEntry":{"properties":{"track":{"type":"string","title":"Track","examples":["worker"]},"level":{"type":"integer","title":"Level","examples":[6]},"direction":{"type":"string","title":"Direction","examples":["up"]},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["track","level","direction","created_at"],"title":"LevelHistoryEntry"},"XpEventRead":{"properties":{"id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Id"},"track":{"type":"string","title":"Track","examples":["worker"]},"type":{"type":"string","title":"Type","examples":["value_release"]},"amount":{"type":"integer","title":"Amount","examples":[173]},"created_at":{"type":"string","format":"date-time","title":"Created At"},"usd_value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Usd Value","description":"USD released to the user by this event. Only carried by value_release — dispute events store an XP basis, not money.","examples":[1250.0]},"reference":{"anyOf":[{"$ref":"#/components/schemas/XpEventReference"},{"type":"null"}]}},"type":"object","required":["track","type","amount","created_at"],"title":"XpEventRead"},"XpEventReference":{"properties":{"hire_id":{"type":"string","format":"uuid","title":"Hire Id"},"job_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Job Id"},"job_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Job Title","examples":["Landing page redesign"]},"counterparty_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Counterparty Id"},"counterparty_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Counterparty Name","examples":["Dmitry Kyselov"]},"counterparty_username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Counterparty Username","examples":["dmitry"]}},"type":"object","required":["hire_id"],"title":"XpEventReference"},"TrackProgress":{"properties":{"xp":{"type":"integer","title":"Xp","examples":[1240]},"level":{"type":"integer","title":"Level","examples":[5]},"display_level":{"type":"integer","title":"Display Level","description":"What the public sees — capped at the KYC gate (L10) until identity is verified.","examples":[5]},"next_threshold":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Next Threshold","examples":[2500]},"xp_to_next":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Xp To Next","examples":[1260]},"current_form":{"type":"integer","title":"Current Form","description":"0-100 rolling reliability gauge. Owner-only.","default":100,"examples":[82]},"form_forecast":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Form Forecast","description":"When current-form next mechanically improves (oldest in-window penalty ages out)."},"form_gated":{"type":"boolean","title":"Form Gated","description":"Upper-half perks suspended because current-form is below the gate threshold.","default":false},"badge_dimmed":{"type":"boolean","title":"Badge Dimmed","description":"Badge dims because current-form is below the dim threshold.","default":false}},"type":"object","required":["xp","level","display_level"],"title":"TrackProgress"},"PortfolioCandidateList":{"properties":{"items":{"items":{"$ref":"#/components/schemas/PortfolioCandidate"},"type":"array","title":"Items"}},"type":"object","required":["items"],"title":"PortfolioCandidateList"},"PortfolioCandidate":{"properties":{"hire_id":{"type":"string","format":"uuid","title":"Hire Id"},"job_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Job Title"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At"},"released_amount_usd":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Released Amount Usd","examples":[4200.0]},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency"},"release_count":{"type":"integer","title":"Release Count","examples":[1]}},"type":"object","required":["hire_id","released_amount_usd","release_count"],"title":"PortfolioCandidate"},"LinkedInAuthorizeResponse":{"properties":{"authorization_url":{"type":"string","title":"Authorization Url"}},"type":"object","required":["authorization_url"],"title":"LinkedInAuthorizeResponse"},"NotificationCountResponse":{"properties":{"unread_count":{"type":"integer","title":"Unread Count"},"total_count":{"type":"integer","title":"Total Count"}},"type":"object","required":["unread_count","total_count"],"title":"NotificationCountResponse"},"Page_NotificationRead_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/NotificationRead"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"page":{"type":"integer","minimum":1.0,"title":"Page"},"size":{"type":"integer","minimum":1.0,"title":"Size"},"pages":{"type":"integer","minimum":0.0,"title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"Page[NotificationRead]"},"MilestoneReviewRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"milestone_id":{"type":"string","format":"uuid","title":"Milestone Id"},"reviewer_id":{"type":"string","format":"uuid","title":"Reviewer Id"},"review_type":{"type":"string","title":"Review Type"},"overall_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Overall Notes"},"requirement_reviews":{"items":{"$ref":"#/components/schemas/RequirementReviewRead"},"type":"array","title":"Requirement Reviews","default":[]},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","milestone_id","reviewer_id","review_type","created_at"],"title":"MilestoneReviewRead"},"RequirementReviewRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"requirement_id":{"type":"string","format":"uuid","title":"Requirement Id"},"is_satisfied":{"type":"boolean","title":"Is Satisfied"},"feedback":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Feedback"}},"type":"object","required":["id","requirement_id","is_satisfied"],"title":"RequirementReviewRead"},"MilestoneAttachmentRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"milestone_id":{"type":"string","format":"uuid","title":"Milestone Id"},"kind":{"type":"string","title":"Kind"},"provider":{"type":"string","title":"Provider"},"url":{"type":"string","title":"Url"},"storage_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Storage Key"},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Name"},"file_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"File Size"},"mime_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mime Type"},"thumbnail_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thumbnail Url"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"sequence_order":{"type":"integer","title":"Sequence Order"},"uploaded_by":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Uploaded By"},"uploaded_at":{"type":"string","format":"date-time","title":"Uploaded At"}},"type":"object","required":["id","milestone_id","kind","provider","url","sequence_order","uploaded_at"],"title":"MilestoneAttachmentRead"},"MilestonePublic":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"job_id":{"type":"string","format":"uuid","title":"Job Id"},"sequence_order":{"type":"integer","title":"Sequence Order"},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"},"deliverable":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deliverable"},"amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Amount"},"percentage":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Percentage"},"currency":{"type":"string","title":"Currency"},"is_free":{"type":"boolean","title":"Is Free"},"is_synthetic":{"type":"boolean","title":"Is Synthetic","default":false},"due_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Due Date"}},"type":"object","required":["id","job_id","sequence_order","title","description","amount","currency","is_free"],"title":"MilestonePublic"},"MilestoneProgress":{"properties":{"total":{"type":"integer","title":"Total"},"completed":{"type":"integer","title":"Completed"},"in_progress":{"type":"integer","title":"In Progress"},"pending":{"type":"integer","title":"Pending"},"progress_percentage":{"type":"number","title":"Progress Percentage"},"total_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Total Amount"},"paid_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Paid Amount"}},"type":"object","required":["total","completed","in_progress","pending","progress_percentage","total_amount","paid_amount"],"title":"MilestoneProgress"},"MeetingInviteSlots":{"properties":{"slots":{"items":{"$ref":"#/components/schemas/MeetingInviteSlot"},"type":"array","title":"Slots"},"timezone":{"type":"string","title":"Timezone"},"status":{"$ref":"#/components/schemas/MeetingInviteStatus"}},"type":"object","required":["slots","timezone","status"],"title":"MeetingInviteSlots"},"MeetingInviteSlot":{"properties":{"start_at":{"type":"string","format":"date-time","title":"Start At"},"end_at":{"type":"string","format":"date-time","title":"End At"}},"type":"object","required":["start_at","end_at"],"title":"MeetingInviteSlot"},"ConsentStateResponse":{"properties":{"state":{"additionalProperties":{"type":"boolean"},"type":"object","title":"State"},"terms_version":{"type":"string","title":"Terms Version"},"privacy_version":{"type":"string","title":"Privacy Version"}},"type":"object","required":["state","terms_version","privacy_version"],"title":"ConsentStateResponse"},"MCPOperationRead":{"properties":{"operation_id":{"type":"string","format":"uuid","title":"Operation Id"},"connection_id":{"type":"string","format":"uuid","title":"Connection Id"},"action":{"type":"string","title":"Action"},"method":{"type":"string","title":"Method"},"path":{"type":"string","title":"Path"},"request":{"additionalProperties":true,"type":"object","title":"Request"},"status":{"type":"string","title":"Status"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"},"response_status":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Response Status"},"result":{"anyOf":[{},{"type":"null"}],"title":"Result"},"status_url":{"type":"string","title":"Status Url"},"confirmation_url":{"type":"string","title":"Confirmation Url"},"next_action":{"type":"string","title":"Next Action"},"transactions":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Transactions"}},"type":"object","required":["operation_id","connection_id","action","method","path","request","status","created_at","expires_at","response_status","result","status_url","confirmation_url","next_action"],"title":"MCPOperationRead"},"MCPOperationList":{"properties":{"operations":{"items":{"$ref":"#/components/schemas/MCPOperationRead"},"type":"array","title":"Operations"},"next_before":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Next Before"}},"type":"object","required":["operations","next_before"],"title":"MCPOperationList"},"JobMatchList":{"properties":{"items":{"items":{"$ref":"#/components/schemas/JobMatch"},"type":"array","title":"Items"},"rationale":{"anyOf":[{"$ref":"#/components/schemas/MatchRationaleRead"},{"type":"null"}]},"ineligible":{"anyOf":[{"$ref":"#/components/schemas/MatchIneligible"},{"type":"null"}]}},"type":"object","required":["items"],"title":"JobMatchList"},"MatchIneligible":{"properties":{"reason":{"type":"string","title":"Reason","default":"profile_incomplete"},"completeness":{"type":"integer","title":"Completeness"},"next_item":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Item"}},"type":"object","required":["completeness"],"title":"MatchIneligible"},"MatchRationaleRead":{"properties":{"text":{"type":"string","title":"Text"},"generated_at":{"type":"string","format":"date-time","title":"Generated At"}},"type":"object","required":["text","generated_at"],"title":"MatchRationaleRead"},"JobMatch":{"properties":{"job":{"$ref":"#/components/schemas/MatchJobSummary"},"match":{"$ref":"#/components/schemas/MatchBreakdown"},"job_detail":{"anyOf":[{"$ref":"#/components/schemas/JobListItem"},{"type":"null"}]}},"type":"object","required":["job","match"],"title":"JobMatch"},"JobListItem":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"employer_id":{"type":"string","format":"uuid","title":"Employer Id"},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"},"categories":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Categories"},"payment_type":{"$ref":"#/components/schemas/PaymentType"},"rate":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Rate"},"currency":{"type":"string","title":"Currency"},"max_hires":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Hires"},"default_payment_mode":{"type":"string","title":"Default Payment Mode","default":"escrowed"},"photos":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Photos"},"latitude":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Longitude"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"estimated_duration_hours":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Estimated Duration Hours"},"weekly_hours_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Weekly Hours Limit"},"start_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date"},"status":{"$ref":"#/components/schemas/JobStatus"},"is_hired":{"type":"boolean","title":"Is Hired","default":false},"is_remote":{"type":"boolean","title":"Is Remote"},"is_urgent":{"type":"boolean","title":"Is Urgent"},"worqs_cost":{"type":"integer","title":"Worqs Cost","default":2},"skills":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Skills","description":"Skills the employer asked for on this listing"},"has_milestones":{"type":"boolean","title":"Has Milestones","default":false},"milestone_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Milestone Count"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"published_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Published At"},"applications_count":{"type":"integer","title":"Applications Count","default":0},"has_applied":{"type":"boolean","title":"Has Applied","default":false},"is_saved":{"type":"boolean","title":"Is Saved","default":false},"is_funded":{"type":"boolean","title":"Is Funded","default":false},"distance_km":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Distance Km"},"employer":{"anyOf":[{"$ref":"#/components/schemas/EmployerPublicBrief"},{"type":"null"}]}},"type":"object","required":["id","employer_id","title","description","categories","payment_type","rate","currency","status","is_remote","is_urgent","created_at"],"title":"JobListItem","example":{"applications_count":5,"categories":["550e8400-e29b-41d4-a716-446655440000"],"city":"Kyiv","country":"Ukraine","created_at":"2026-01-01T12:00:00Z","currency":"USDC","description":"Looking for an experienced plumber...","employer":{"avatar_url":"https://example.com/avatar.jpg","first_name":"Jane","id":"550e8400-e29b-41d4-a716-446655440000","last_name":"Smith","rating_as_employer":4.9,"total_jobs_posted":15},"employer_id":"550e8400-e29b-41d4-a716-446655440000","id":"550e8400-e29b-41d4-a716-446655440000","is_hired":false,"is_remote":false,"is_urgent":true,"payment_type":"fixed","rate":"500.00","status":"active","title":"Need a plumber for bathroom renovation"}},"MatchBreakdown":{"properties":{"score":{"type":"integer","title":"Score"},"tier":{"$ref":"#/components/schemas/MatchTier"},"factors":{"items":{"$ref":"#/components/schemas/MatchFactor"},"type":"array","title":"Factors"},"filtered":{"type":"boolean","title":"Filtered","default":false},"filter_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Filter Reason"},"filter_code":{"anyOf":[{"$ref":"#/components/schemas/MatchFilterCode"},{"type":"null"}]}},"type":"object","required":["score","tier","factors"],"title":"MatchBreakdown"},"MatchFilterCode":{"type":"string","enum":["not_eligible","account_closed","needs_verification","no_overlap","profile_incomplete"],"title":"MatchFilterCode"},"MatchFactor":{"properties":{"name":{"type":"string","title":"Name"},"raw":{"type":"number","title":"Raw"},"weight":{"type":"number","title":"Weight"},"contribution":{"type":"number","title":"Contribution"},"direction":{"type":"string","title":"Direction"},"detail":{"type":"string","title":"Detail"},"code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code"},"params":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Params"}},"type":"object","required":["name","raw","weight","contribution","direction","detail"],"title":"MatchFactor"},"MatchTier":{"type":"string","enum":["strong","good","fair","weak"],"title":"MatchTier"},"MatchJobSummary":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"title":{"type":"string","title":"Title"},"payment_type":{"type":"string","title":"Payment Type"},"currency":{"type":"string","title":"Currency"}},"type":"object","required":["id","title","payment_type","currency"],"title":"MatchJobSummary"},"CandidateMatchList":{"properties":{"items":{"items":{"$ref":"#/components/schemas/CandidateMatch"},"type":"array","title":"Items"}},"type":"object","required":["items"],"title":"CandidateMatchList"},"CandidateMatch":{"properties":{"user":{"$ref":"#/components/schemas/MatchUserSummary"},"match":{"$ref":"#/components/schemas/MatchBreakdown"}},"type":"object","required":["user","match"],"title":"CandidateMatch"},"MatchUserSummary":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"worker_level":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Worker Level"},"availability":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Availability"}},"type":"object","required":["id"],"title":"MatchUserSummary"},"ApplicantMatchList":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ApplicantMatch"},"type":"array","title":"Items"},"rationale":{"anyOf":[{"$ref":"#/components/schemas/MatchRationaleRead"},{"type":"null"}]}},"type":"object","required":["items"],"title":"ApplicantMatchList"},"ApplicantMatch":{"properties":{"application_id":{"type":"string","format":"uuid","title":"Application Id"},"application_status":{"$ref":"#/components/schemas/ApplicationStatus"},"user":{"$ref":"#/components/schemas/MatchUserSummary"},"match":{"$ref":"#/components/schemas/MatchBreakdown"}},"type":"object","required":["application_id","application_status","user","match"],"title":"ApplicantMatch"},"Page_JobListItem_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/JobListItem"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"page":{"type":"integer","minimum":1.0,"title":"Page"},"size":{"type":"integer","minimum":1.0,"title":"Size"},"pages":{"type":"integer","minimum":0.0,"title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"Page[JobListItem]"},"JobsMapResponse":{"properties":{"mode":{"type":"string","title":"Mode","description":"Response mode: 'markers' or 'clusters'","default":"markers"},"total":{"type":"integer","title":"Total","description":"Total number of jobs found"},"radius_km":{"type":"number","title":"Radius Km","description":"Search radius in kilometers"},"center_latitude":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Center Latitude","description":"Center point latitude"},"center_longitude":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Center Longitude","description":"Center point longitude"},"jobs":{"items":{"$ref":"#/components/schemas/JobMapItem"},"type":"array","title":"Jobs","description":"List of jobs for map display"},"clusters":{"items":{"$ref":"#/components/schemas/MapCluster"},"type":"array","title":"Clusters","description":"Aggregated clusters for large viewports"}},"type":"object","required":["total","radius_km","center_latitude","center_longitude"],"title":"JobsMapResponse","example":{"center_latitude":"50.4501","center_longitude":"30.5234","clusters":[],"jobs":[{"categories":["550e8400-e29b-41d4-a716-446655440000"],"currency":"USDC","distance_km":2.5,"first_photo":"https://cdn.example.com/photos/job1.jpg","id":"550e8400-e29b-41d4-a716-446655440000","is_urgent":true,"latitude":"50.4501","longitude":"30.5234","rate":"150.00","title":"Need a plumber"}],"mode":"markers","radius_km":50.0,"total":25}},"JobMapItem":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"title":{"type":"string","title":"Title"},"latitude":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Latitude"},"longitude":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Longitude"},"rate":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Rate"},"currency":{"type":"string","title":"Currency"},"is_urgent":{"type":"boolean","title":"Is Urgent"},"categories":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Categories"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"distance_km":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Distance Km"},"first_photo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Photo"}},"type":"object","required":["id","title","latitude","longitude","rate","currency","is_urgent","categories"],"title":"JobMapItem","example":{"categories":["550e8400-e29b-41d4-a716-446655440000"],"currency":"USDC","distance_km":2.5,"first_photo":"https://cdn.example.com/photos/job1.jpg","id":"550e8400-e29b-41d4-a716-446655440000","is_urgent":true,"latitude":"50.4501","longitude":"30.5234","rate":"150.00","title":"Need a plumber"}},"InvoiceDetailRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"hire_id":{"type":"string","format":"uuid","title":"Hire Id"},"invoice_number":{"type":"string","title":"Invoice Number"},"invoice_type":{"$ref":"#/components/schemas/InvoiceType"},"period_start":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Period Start"},"period_end":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Period End"},"hours_worked":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Hours Worked"},"days_worked":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Days Worked"},"rate_applied":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Rate Applied"},"subtotal":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Subtotal"},"platform_fee":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Platform Fee"},"platform_fee_rate_bps":{"type":"integer","title":"Platform Fee Rate Bps"},"total_due":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Total Due"},"currency":{"type":"string","title":"Currency"},"status":{"$ref":"#/components/schemas/InvoiceStatus"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"submitted_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Submitted At"},"approved_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Approved At"},"disputed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Disputed At"},"paid_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Paid At"},"due_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Due Date"},"employee_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Employee Notes"},"employer_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Employer Notes"},"dispute_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dispute Reason"},"escrow_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Escrow Id"},"payment_tx_signature":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Tx Signature"},"ref_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ref Id"},"release_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Release At"},"onchain_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Onchain Index"},"negotiation_deadline":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Negotiation Deadline"},"milestone_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Milestone Id"},"line_items":{"items":{"$ref":"#/components/schemas/InvoiceLineItemRead"},"type":"array","title":"Line Items","default":[]}},"type":"object","required":["id","hire_id","invoice_number","invoice_type","rate_applied","subtotal","platform_fee","platform_fee_rate_bps","total_due","currency","status","created_at","updated_at"],"title":"InvoiceDetailRead"},"InvoiceLineItemRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"invoice_id":{"type":"string","format":"uuid","title":"Invoice Id"},"description":{"type":"string","title":"Description"},"quantity":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Quantity"},"unit_type":{"type":"string","title":"Unit Type"},"rate":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Rate"},"amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Amount"},"work_log_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Work Log Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","invoice_id","description","quantity","unit_type","rate","amount","created_at"],"title":"InvoiceLineItemRead"},"Page_InvoiceListItem_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/InvoiceListItem"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"page":{"type":"integer","minimum":1.0,"title":"Page"},"size":{"type":"integer","minimum":1.0,"title":"Size"},"pages":{"type":"integer","minimum":0.0,"title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"Page[InvoiceListItem]"},"InvoiceListItem":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"hire_id":{"type":"string","format":"uuid","title":"Hire Id"},"invoice_number":{"type":"string","title":"Invoice Number"},"invoice_type":{"$ref":"#/components/schemas/InvoiceType"},"period_start":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Period Start"},"period_end":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Period End"},"total_due":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Total Due"},"currency":{"type":"string","title":"Currency"},"status":{"$ref":"#/components/schemas/InvoiceStatus"},"job_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Job Title"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"submitted_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Submitted At"}},"type":"object","required":["id","hire_id","invoice_number","invoice_type","total_due","currency","status","created_at"],"title":"InvoiceListItem"},"InvoiceTotals":{"properties":{"total_paid":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Total Paid"},"total_approved":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Total Approved"},"total_pending":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Total Pending"},"total_count":{"type":"integer","title":"Total Count"}},"type":"object","required":["total_paid","total_approved","total_pending","total_count"],"title":"InvoiceTotals"},"Page_InvitationRead_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/InvitationRead"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"page":{"type":"integer","minimum":1.0,"title":"Page"},"size":{"type":"integer","minimum":1.0,"title":"Size"},"pages":{"type":"integer","minimum":0.0,"title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"Page[InvitationRead]"},"WorkLogTemplateRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"hire_id":{"type":"string","format":"uuid","title":"Hire Id"},"name":{"type":"string","title":"Name"},"default_hours":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Default Hours"},"default_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default Description"},"default_tasks":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Default Tasks"},"is_active":{"type":"boolean","title":"Is Active"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"created_by":{"type":"string","format":"uuid","title":"Created By"}},"type":"object","required":["id","hire_id","name","is_active","created_at","created_by"],"title":"WorkLogTemplateRead"},"HireTimelineEvent":{"properties":{"event":{"type":"string","title":"Event"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp"},"details":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Details"}},"type":"object","required":["event","timestamp"],"title":"HireTimelineEvent"},"HireFilesResponse":{"properties":{"hire_id":{"type":"string","format":"uuid","title":"Hire Id"},"job_id":{"type":"string","format":"uuid","title":"Job Id"},"total":{"type":"integer","title":"Total"},"files":{"items":{"$ref":"#/components/schemas/HireFileItem"},"type":"array","title":"Files","default":[]}},"type":"object","required":["hire_id","job_id","total"],"title":"HireFilesResponse"},"HireFileItem":{"properties":{"source":{"type":"string","enum":["milestone_attachment","milestone_submission","work_log_evidence"],"title":"Source","description":"Which table the file came from: an employer-supplied milestone reference, a worker deliverable in a submission round, or work-log evidence on an hourly contract."},"id":{"type":"string","format":"uuid","title":"Id"},"url":{"type":"string","title":"Url"},"thumbnail_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thumbnail Url"},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Name"},"file_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"File Size"},"mime_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mime Type","description":"The stored MIME type. Always null for work-log evidence, which records a media category rather than a MIME type - see media_type."},"media_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Media Type","description":"Broad media category (image, video, document...). Only work-log evidence carries one; the other two sources carry a real mime_type."},"kind":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kind","description":"Source-specific classifier, NOT a shared vocabulary: a milestone reference kind, a deliverable kind, or the evidence moment (before/after/progress). Branch on `source` before interpreting it."},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"milestone_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Milestone Id"},"milestone_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Milestone Title"},"milestone_sequence_order":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Milestone Sequence Order"},"submission_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Submission Id"},"submission_round":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Submission Round"},"submission_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Submission Status","description":"Status of the submission ROUND the file belongs to, distinct from the per-file review status in `status`. Rounds still in `draft` are the worker's unsubmitted work and are returned only to the worker."},"work_log_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Work Log Id"},"uploaded_by":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Uploaded By"},"uploaded_at":{"type":"string","format":"date-time","title":"Uploaded At"}},"type":"object","required":["source","id","url","uploaded_at"],"title":"HireFileItem"},"HireDetailResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"job_id":{"type":"string","format":"uuid","title":"Job Id"},"employer_id":{"type":"string","format":"uuid","title":"Employer Id"},"employee_id":{"type":"string","format":"uuid","title":"Employee Id"},"application_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Application Id"},"payer_wallet_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Payer Wallet Id"},"payee_wallet_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Payee Wallet Id"},"agreed_rate":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Agreed Rate"},"currency":{"type":"string","title":"Currency"},"payment_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Type"},"weekly_hours_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Weekly Hours Limit"},"payment_mode":{"type":"string","title":"Payment Mode","default":"escrowed"},"status":{"$ref":"#/components/schemas/HireStatus"},"work_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Work Notes"},"total_invoiced":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Total Invoiced"},"total_paid":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Total Paid"},"employer_rating":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Employer Rating"},"employer_review":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Employer Review"},"employee_rating":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Employee Rating"},"employee_review":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Employee Review"},"below_score_threshold":{"type":"boolean","title":"Below Score Threshold","default":false},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"started_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Started At"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At"},"expected_start_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expected Start Date"},"expected_end_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expected End Date"},"actual_end_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Actual End Date"},"employer":{"anyOf":[{"$ref":"#/components/schemas/UserDetailForHire"},{"type":"null"}]},"employee":{"anyOf":[{"$ref":"#/components/schemas/UserDetailForHire"},{"type":"null"}]},"job":{"anyOf":[{"$ref":"#/components/schemas/JobDetailForHire"},{"type":"null"}]},"escrows":{"items":{"$ref":"#/components/schemas/EscrowBriefForHire"},"type":"array","title":"Escrows","default":[]},"application":{"anyOf":[{"$ref":"#/components/schemas/ApplicationBriefForHire"},{"type":"null"}]},"timeline":{"items":{"$ref":"#/components/schemas/HireTimelineEvent"},"type":"array","title":"Timeline","default":[]}},"type":"object","required":["id","job_id","employer_id","employee_id","agreed_rate","currency","status","created_at","updated_at"],"title":"HireDetailResponse"},"ApplicationBriefForHire":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"cover_letter":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cover Letter"},"proposed_rate":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Proposed Rate"},"cv_file_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cv File Url"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","created_at"],"title":"ApplicationBriefForHire"},"EscrowBriefForHire":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"milestone_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Milestone Id"},"is_first_milestone":{"type":"boolean","title":"Is First Milestone","default":false},"status":{"$ref":"#/components/schemas/EscrowStatus"},"amount_usd":{"type":"number","title":"Amount Usd"},"amount_sol":{"type":"number","title":"Amount Sol"},"amount_lamports":{"type":"integer","title":"Amount Lamports"},"commission_lamports":{"type":"integer","title":"Commission Lamports"},"currency":{"type":"string","title":"Currency","default":"SOL"},"is_native":{"type":"boolean","title":"Is Native","default":true},"token_mint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token Mint"},"employer_confirmed":{"type":"boolean","title":"Employer Confirmed"},"employee_confirmed":{"type":"boolean","title":"Employee Confirmed"},"deposit_tx_signature":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deposit Tx Signature"},"release_tx_signature":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Release Tx Signature"},"dispute_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dispute Reason"},"dispute_raised_by":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Dispute Raised By"},"dispute_raised_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Dispute Raised At"},"dispute_deadline":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Dispute Deadline"},"released_to_employee_lamports":{"type":"integer","title":"Released To Employee Lamports","default":0},"created_at":{"type":"string","format":"date-time","title":"Created At"},"funded_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Funded At"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At"},"released_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Released At"},"close_tx_signature":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Close Tx Signature"},"closed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Closed At"},"escrow_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Escrow Id"},"escrow_pda":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Escrow Pda"},"vault_pda":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vault Pda"},"employer_wallet_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Employer Wallet Address"},"employee_wallet_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Employee Wallet Address"}},"type":"object","required":["id","status","amount_usd","amount_sol","amount_lamports","commission_lamports","employer_confirmed","employee_confirmed","created_at"],"title":"EscrowBriefForHire"},"JobDetailForHire":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"employer_id":{"type":"string","format":"uuid","title":"Employer Id"},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"},"categories":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Categories"},"payment_type":{"type":"string","title":"Payment Type"},"rate":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Rate"},"currency":{"type":"string","title":"Currency"},"status":{"type":"string","title":"Status"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address"},"is_remote":{"type":"boolean","title":"Is Remote"},"is_urgent":{"type":"boolean","title":"Is Urgent"},"is_hired":{"type":"boolean","title":"Is Hired","default":false},"start_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date"},"end_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","employer_id","title","description","categories","payment_type","rate","currency","status","is_remote","is_urgent","created_at"],"title":"JobDetailForHire"},"UserDetailForHire":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"email":{"type":"string","title":"Email"},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bio"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"rating_as_employer":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rating As Employer"},"rating_as_employee":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rating As Employee"},"total_jobs_posted":{"type":"integer","title":"Total Jobs Posted","default":0},"total_jobs_completed":{"type":"integer","title":"Total Jobs Completed","default":0},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","email","created_at"],"title":"UserDetailForHire"},"Page_HireListItem_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/HireListItem"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"page":{"type":"integer","minimum":1.0,"title":"Page"},"size":{"type":"integer","minimum":1.0,"title":"Size"},"pages":{"type":"integer","minimum":0.0,"title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"Page[HireListItem]"},"HireListItem":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"job_id":{"type":"string","format":"uuid","title":"Job Id"},"employer_id":{"type":"string","format":"uuid","title":"Employer Id"},"employee_id":{"type":"string","format":"uuid","title":"Employee Id"},"agreed_rate":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Agreed Rate"},"currency":{"type":"string","title":"Currency"},"payment_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Type"},"weekly_hours_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Weekly Hours Limit"},"payment_mode":{"type":"string","title":"Payment Mode","default":"escrowed"},"status":{"$ref":"#/components/schemas/HireStatus"},"total_invoiced":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Total Invoiced"},"total_paid":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Total Paid"},"employer_rating":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Employer Rating"},"employee_rating":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Employee Rating"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"started_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Started At"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At"},"employer":{"anyOf":[{"$ref":"#/components/schemas/UserBrief"},{"type":"null"}]},"employee":{"anyOf":[{"$ref":"#/components/schemas/UserBrief"},{"type":"null"}]},"job":{"anyOf":[{"$ref":"#/components/schemas/JobBrief"},{"type":"null"}]},"milestone":{"anyOf":[{"$ref":"#/components/schemas/HireListMilestone"},{"type":"null"}]},"milestone_total":{"type":"integer","title":"Milestone Total","default":0},"period_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Period Index"},"escrow_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Escrow Status"},"hire_escrow_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hire Escrow Status"},"dispute_escrow_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Dispute Escrow Id"},"chat_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Chat Id"},"last_activity_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Activity At"}},"type":"object","required":["id","job_id","employer_id","employee_id","agreed_rate","currency","status","created_at"],"title":"HireListItem"},"HireListMilestone":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"title":{"type":"string","title":"Title"},"status":{"type":"string","title":"Status"},"index":{"type":"integer","title":"Index"},"amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Amount","default":"0"},"currency":{"type":"string","title":"Currency"}},"type":"object","required":["id","title","status","index","currency"],"title":"HireListMilestone"},"JobBrief":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"Job ID"},"employer_id":{"type":"string","format":"uuid","title":"Employer Id","description":"Employer's user ID"},"title":{"type":"string","title":"Title","description":"Job title"},"categories":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Categories","description":"Job categories"},"payment_type":{"$ref":"#/components/schemas/PaymentType","description":"Payment type"},"rate":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Rate","description":"Payment rate"},"currency":{"type":"string","title":"Currency","description":"Currency code"},"status":{"$ref":"#/components/schemas/JobStatus","description":"Job status"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Job city"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country","description":"Job country"},"is_remote":{"type":"boolean","title":"Is Remote","description":"Can be done remotely"},"is_urgent":{"type":"boolean","title":"Is Urgent","description":"Is urgent"},"is_hired":{"type":"boolean","title":"Is Hired","description":"Has an active hire","default":false},"worqs_cost":{"type":"integer","title":"Worqs Cost","default":2}},"type":"object","required":["id","employer_id","title","categories","payment_type","rate","currency","status","is_remote","is_urgent"],"title":"JobBrief","example":{"categories":["550e8400-e29b-41d4-a716-446655440000"],"city":"Kyiv","country":"Ukraine","currency":"USDC","employer_id":"550e8400-e29b-41d4-a716-446655440000","id":"550e8400-e29b-41d4-a716-446655440000","is_hired":false,"is_remote":false,"is_urgent":true,"payment_type":"fixed","rate":"500.00","status":"active","title":"Need a plumber for bathroom renovation"}},"NetworkFeeEstimateResponse":{"properties":{"flow":{"$ref":"#/components/schemas/NetworkFeeFlow"},"currency":{"$ref":"#/components/schemas/PaymentCurrency"},"is_native":{"type":"boolean","title":"Is Native"},"signature_fee_lamports":{"type":"integer","title":"Signature Fee Lamports"},"priority_fee_lamports":{"type":"integer","title":"Priority Fee Lamports"},"rent_refundable_lamports":{"type":"integer","title":"Rent Refundable Lamports"},"rent_nonrefundable_lamports":{"type":"integer","title":"Rent Nonrefundable Lamports"},"total_lamports":{"type":"integer","title":"Total Lamports"},"lines":{"items":{"$ref":"#/components/schemas/NetworkFeeLine"},"type":"array","title":"Lines"},"chain_checked":{"type":"boolean","title":"Chain Checked","description":"True when the destination/vault accounts were read from chain. False means the figure is the worst case and should be labelled 'up to'."},"wallet_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Wallet Id"},"wallet_sol_lamports":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Wallet Sol Lamports"},"wallet_min_balance_lamports":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Wallet Min Balance Lamports"},"required_lamports":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Required Lamports"},"sufficient":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Sufficient"},"shortfall_lamports":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Shortfall Lamports"},"assumptions":{"$ref":"#/components/schemas/NetworkFeeAssumptions"}},"type":"object","required":["flow","currency","is_native","signature_fee_lamports","priority_fee_lamports","rent_refundable_lamports","rent_nonrefundable_lamports","total_lamports","lines","chain_checked","wallet_id","wallet_sol_lamports","wallet_min_balance_lamports","required_lamports","sufficient","shortfall_lamports","assumptions"],"title":"NetworkFeeEstimateResponse"},"NetworkFeeAssumptions":{"properties":{"lamports_per_signature":{"type":"integer","title":"Lamports Per Signature"},"compute_unit_limit":{"type":"integer","title":"Compute Unit Limit"},"compute_unit_price_microlamports":{"type":"integer","title":"Compute Unit Price Microlamports"},"signatures":{"type":"integer","title":"Signatures"}},"type":"object","required":["lamports_per_signature","compute_unit_limit","compute_unit_price_microlamports","signatures"],"title":"NetworkFeeAssumptions"},"NetworkFeeLine":{"properties":{"kind":{"type":"string","enum":["signature_fee","priority_fee","rent_refundable","rent_nonrefundable"],"title":"Kind"},"account":{"type":"string","title":"Account"},"lamports":{"type":"integer","title":"Lamports"}},"type":"object","required":["kind","account","lamports"],"title":"NetworkFeeLine"},"PaymentCurrency":{"type":"string","enum":["SOL","USDC","USDT","EURC"],"title":"PaymentCurrency"},"NetworkFeeFlow":{"type":"string","enum":["escrow_create_and_fund","escrow_deposit","escrow_confirm","escrow_release","escrow_cancel","escrow_raise_dispute","hourly_open_and_fund","hourly_fund","direct_pay","wallet_send","wallet_drain"],"title":"NetworkFeeFlow"},"EscrowPreflightResponse":{"properties":{"escrow_db_id":{"type":"string","format":"uuid","title":"Escrow Db Id"},"wallet_id":{"type":"string","format":"uuid","title":"Wallet Id"},"wallet_address":{"type":"string","title":"Wallet Address"},"sufficient":{"type":"boolean","title":"Sufficient","description":"True only if every required currency has enough balance."},"balances":{"items":{"$ref":"#/components/schemas/PreflightCurrencyBalance"},"type":"array","title":"Balances"}},"type":"object","required":["escrow_db_id","wallet_id","wallet_address","sufficient","balances"],"title":"EscrowPreflightResponse"},"PreflightCurrencyBalance":{"properties":{"currency":{"type":"string","title":"Currency","examples":["USDT","SOL"]},"needed":{"type":"integer","title":"Needed","description":"Required amount in base units."},"have":{"type":"integer","title":"Have","description":"Current on-chain balance in base units."},"sufficient":{"type":"boolean","title":"Sufficient"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"}},"type":"object","required":["currency","needed","have","sufficient"],"title":"PreflightCurrencyBalance"},"ProposalListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ProposalResponse"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"per_page":{"type":"integer","title":"Per Page"},"has_more":{"type":"boolean","title":"Has More"}},"type":"object","required":["items","total","page","per_page","has_more"],"title":"ProposalListResponse"},"EscrowResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"job_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Job Id"},"hire_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Hire Id"},"escrow_id":{"type":"string","title":"Escrow Id"},"milestone_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Milestone Id"},"is_first_milestone":{"type":"boolean","title":"Is First Milestone","default":false},"employer_id":{"type":"string","format":"uuid","title":"Employer Id"},"employee_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Employee Id"},"employer_wallet_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Employer Wallet Address"},"employee_wallet_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Employee Wallet Address"},"amount_usd":{"type":"number","title":"Amount Usd"},"amount_sol":{"type":"number","title":"Amount Sol"},"amount_lamports":{"type":"integer","title":"Amount Lamports"},"commission_rate_bps":{"type":"integer","title":"Commission Rate Bps"},"commission_lamports":{"type":"integer","title":"Commission Lamports"},"total_deposit_lamports":{"type":"integer","title":"Total Deposit Lamports"},"sol_price_usd":{"type":"number","title":"Sol Price Usd"},"currency":{"type":"string","title":"Currency","default":"SOL"},"is_native":{"type":"boolean","title":"Is Native","default":true},"token_mint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token Mint"},"escrow_pda":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Escrow Pda"},"vault_pda":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vault Pda"},"status":{"$ref":"#/components/schemas/EscrowStatus"},"employer_confirmed":{"type":"boolean","title":"Employer Confirmed"},"employee_confirmed":{"type":"boolean","title":"Employee Confirmed"},"create_tx_signature":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Create Tx Signature"},"deposit_tx_signature":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deposit Tx Signature"},"release_tx_signature":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Release Tx Signature"},"cancel_tx_signature":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cancel Tx Signature"},"dispute_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dispute Reason"},"dispute_raised_by":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Dispute Raised By"},"dispute_raised_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Dispute Raised At"},"resolution_employee_share_lamports":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Resolution Employee Share Lamports"},"resolution_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resolution Notes"},"resolution_tx_signature":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resolution Tx Signature"},"dispute_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dispute Status"},"dispute_deadline":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Dispute Deadline"},"dispute_escalated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Dispute Escalated At"},"dispute_escalated_by":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Dispute Escalated By"},"resolution_method":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resolution Method"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"funded_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Funded At"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At"},"released_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Released At"},"cancelled_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Cancelled At"}},"type":"object","required":["id","escrow_id","employer_id","amount_usd","amount_sol","amount_lamports","commission_rate_bps","commission_lamports","total_deposit_lamports","sol_price_usd","escrow_pda","vault_pda","status","employer_confirmed","employee_confirmed","create_tx_signature","deposit_tx_signature","release_tx_signature","cancel_tx_signature","dispute_reason","dispute_raised_by","dispute_raised_at","resolution_employee_share_lamports","resolution_notes","resolution_tx_signature","created_at","updated_at","funded_at","completed_at","released_at","cancelled_at"],"title":"EscrowResponse"},"app__api__schemas__escrow__EscrowListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/app__api__schemas__escrow__EscrowListItem"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"per_page":{"type":"integer","title":"Per Page"}},"type":"object","required":["items","total","page","per_page"],"title":"EscrowListResponse"},"app__api__schemas__escrow__EscrowListItem":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"job_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Job Id"},"hire_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Hire Id"},"escrow_id":{"type":"string","title":"Escrow Id"},"milestone_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Milestone Id"},"is_first_milestone":{"type":"boolean","title":"Is First Milestone","default":false},"status":{"$ref":"#/components/schemas/EscrowStatus"},"amount_usd":{"type":"number","title":"Amount Usd"},"amount_sol":{"type":"number","title":"Amount Sol"},"amount_lamports":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Amount Lamports"},"commission_lamports":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Commission Lamports"},"currency":{"type":"string","title":"Currency","default":"SOL"},"is_native":{"type":"boolean","title":"Is Native","default":true},"token_mint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token Mint"},"employer_confirmed":{"type":"boolean","title":"Employer Confirmed"},"employee_confirmed":{"type":"boolean","title":"Employee Confirmed"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"employer_id":{"type":"string","format":"uuid","title":"Employer Id"},"employee_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Employee Id"}},"type":"object","required":["id","escrow_id","status","amount_usd","amount_sol","employer_confirmed","employee_confirmed","created_at","employer_id"],"title":"EscrowListItem"},"HireEscrowsResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/app__api__schemas__escrow__EscrowListItem"},"type":"array","title":"Items"},"total_amount_usd":{"type":"number","title":"Total Amount Usd"},"funded_count":{"type":"integer","title":"Funded Count"},"total_count":{"type":"integer","title":"Total Count"}},"type":"object","required":["items","total_amount_usd","funded_count","total_count"],"title":"HireEscrowsResponse"},"MessageResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"escrow_id":{"type":"string","format":"uuid","title":"Escrow Id"},"sender_id":{"type":"string","format":"uuid","title":"Sender Id"},"sender_role":{"type":"string","title":"Sender Role"},"content":{"type":"string","title":"Content"},"message_type":{"type":"string","title":"Message Type"},"visibility":{"type":"string","title":"Visibility"},"extra_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Extra Data"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"edited_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Edited At"},"is_deleted":{"type":"boolean","title":"Is Deleted"},"sender":{"anyOf":[{"$ref":"#/components/schemas/app__api__schemas__dispute__MessageSenderInfo"},{"type":"null"}]},"attachments":{"items":{"$ref":"#/components/schemas/AttachmentResponse"},"type":"array","title":"Attachments","default":[]}},"type":"object","required":["id","escrow_id","sender_id","sender_role","content","message_type","visibility","extra_data","created_at","edited_at","is_deleted"],"title":"MessageResponse"},"AttachmentResponse":{"properties":{"filename":{"type":"string","maxLength":255,"title":"Filename"},"file_type":{"type":"string","maxLength":50,"title":"File Type"},"file_size":{"type":"integer","exclusiveMinimum":0.0,"title":"File Size"},"description":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Description"},"id":{"type":"string","format":"uuid","title":"Id"},"message_id":{"type":"string","format":"uuid","title":"Message Id"},"storage_key":{"type":"string","title":"Storage Key"},"thumbnail_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thumbnail Key"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"thumbnail_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thumbnail Url"},"attachment_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Attachment Type"},"original_filename":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Original Filename"},"width":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Width"},"height":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Height"},"duration_seconds":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Duration Seconds"},"waveform_data":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Waveform Data"}},"type":"object","required":["filename","file_type","file_size","id","message_id","storage_key","thumbnail_key","created_at"],"title":"AttachmentResponse"},"app__api__schemas__dispute__MessageSenderInfo":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"role":{"type":"string","title":"Role"}},"type":"object","required":["id","first_name","last_name","avatar_url","role"],"title":"MessageSenderInfo"},"MessageListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/MessageResponse"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"per_page":{"type":"integer","title":"Per Page"},"has_more":{"type":"boolean","title":"Has More"}},"type":"object","required":["items","total","page","per_page","has_more"],"title":"MessageListResponse"},"DisputeChatInfo":{"properties":{"escrow_id":{"type":"string","format":"uuid","title":"Escrow Id"},"hire_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Hire Id"},"status":{"type":"string","title":"Status"},"employer_id":{"type":"string","format":"uuid","title":"Employer Id"},"employer_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Employer Name"},"employee_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Employee Id"},"employee_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Employee Name"},"employer":{"anyOf":[{"$ref":"#/components/schemas/DisputePartyBrief"},{"type":"null"}]},"employee":{"anyOf":[{"$ref":"#/components/schemas/DisputePartyBrief"},{"type":"null"}]},"dispute_reason":{"type":"string","title":"Dispute Reason"},"dispute_raised_by":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Dispute Raised By"},"dispute_raised_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Dispute Raised At"},"dispute_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dispute Status"},"dispute_deadline":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Dispute Deadline"},"dispute_escalated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Dispute Escalated At"},"onchain_dispute_deadline":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Onchain Dispute Deadline"},"milestone_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Milestone Title"},"milestone_deliverable":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Milestone Deliverable"},"resolution_employee_share_percentage":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Resolution Employee Share Percentage"},"resolution_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resolution Notes"},"resolution_tx_signature":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resolution Tx Signature"},"active_proposal":{"anyOf":[{"$ref":"#/components/schemas/ProposalResponse"},{"type":"null"}]},"total_messages":{"type":"integer","title":"Total Messages"},"unread_count":{"type":"integer","title":"Unread Count"},"last_message_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Message At"}},"type":"object","required":["escrow_id","hire_id","status","employer_id","employer_name","employee_id","employee_name","dispute_reason","dispute_raised_by","dispute_raised_at","total_messages","unread_count","last_message_at"],"title":"DisputeChatInfo"},"DisputePartyBrief":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"account_type":{"type":"string","enum":["human","agent"],"title":"Account Type","default":"human"},"kind":{"type":"string","enum":["human","agent"],"title":"Kind","default":"human"},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"tagline":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tagline"},"bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bio"},"skills":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Skills"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"rating_as_employer":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rating As Employer"},"rating_as_employee":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rating As Employee"},"total_jobs_posted":{"type":"integer","title":"Total Jobs Posted","default":0},"total_jobs_completed":{"type":"integer","title":"Total Jobs Completed","default":0},"success_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Success Score"},"employee_job_success_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Employee Job Success Score"},"employer_job_success_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Employer Job Success Score"},"worker_level":{"type":"integer","title":"Worker Level","default":1},"client_level":{"type":"integer","title":"Client Level","default":1},"is_verified_identity":{"type":"boolean","title":"Is Verified Identity","default":false},"is_prime":{"type":"boolean","title":"Is Prime","default":false}},"type":"object","required":["id"],"title":"DisputePartyBrief","description":"The party brief every other surface returns, minus the email address.\n\nThe dispute page is the only place a counterparty was ever shown by email,\nso the field is dropped from the wire here rather than left for the client\nto remember not to render."},"MyDeviceListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/MyDeviceItem"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["items","total"],"title":"MyDeviceListResponse"},"MyDeviceItem":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"browser_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Browser Name"},"os_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Os Name"},"device_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Device Type"},"device_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Device Model"},"gpu_renderer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Renderer"},"last_seen_at":{"type":"string","format":"date-time","title":"Last Seen At"},"last_city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last City"},"last_country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Country"},"is_current":{"type":"boolean","title":"Is Current","default":false},"is_online":{"type":"boolean","title":"Is Online","default":false}},"type":"object","required":["id","last_seen_at"],"title":"MyDeviceItem"},"TimeseriesResponse":{"properties":{"role":{"type":"string","title":"Role"},"days":{"type":"integer","title":"Days"},"points":{"items":{"$ref":"#/components/schemas/TimeseriesPoint"},"type":"array","title":"Points"},"total_applications":{"type":"integer","title":"Total Applications","default":0},"total_hires_started":{"type":"integer","title":"Total Hires Started","default":0},"total_hires_completed":{"type":"integer","title":"Total Hires Completed","default":0},"total_money_usd":{"type":"number","title":"Total Money Usd","default":0.0}},"type":"object","required":["role","days"],"title":"TimeseriesResponse"},"TimeseriesPoint":{"properties":{"date":{"type":"string","title":"Date"},"applications":{"type":"integer","title":"Applications","default":0},"hires_started":{"type":"integer","title":"Hires Started","default":0},"hires_completed":{"type":"integer","title":"Hires Completed","default":0},"money_usd":{"type":"number","title":"Money Usd","default":0.0}},"type":"object","required":["date"],"title":"TimeseriesPoint"},"ActionInboxResponse":{"properties":{"role":{"$ref":"#/components/schemas/ActionItemHat"},"items":{"items":{"$ref":"#/components/schemas/ActionItem"},"type":"array","title":"Items"},"counts":{"$ref":"#/components/schemas/ActionItemCounts"},"truncated":{"type":"boolean","title":"Truncated","default":false}},"type":"object","required":["role"],"title":"ActionInboxResponse"},"ActionItemCounts":{"properties":{"review":{"type":"integer","title":"Review","default":0},"approve":{"type":"integer","title":"Approve","default":0},"fund":{"type":"integer","title":"Fund","default":0},"submit":{"type":"integer","title":"Submit","default":0},"dispute":{"type":"integer","title":"Dispute","default":0},"verify":{"type":"integer","title":"Verify","default":0},"profile":{"type":"integer","title":"Profile","default":0}},"type":"object","title":"ActionItemCounts"},"ActionItem":{"properties":{"id":{"type":"string","title":"Id"},"kind":{"$ref":"#/components/schemas/ActionItemKind"},"hat":{"$ref":"#/components/schemas/ActionItemHat"},"subject":{"$ref":"#/components/schemas/ActionItemSubject"},"count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Count"},"amount":{"anyOf":[{"$ref":"#/components/schemas/ActionItemAmount"},{"type":"null"}]},"deadline":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Deadline"},"action":{"$ref":"#/components/schemas/ActionItemAction"}},"type":"object","required":["id","kind","hat","subject","action"],"title":"ActionItem"},"ActionItemAction":{"type":"string","enum":["review","fund","approve","submit","respond","verify","complete"],"title":"ActionItemAction"},"ActionItemAmount":{"properties":{"value":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Value"},"currency":{"type":"string","title":"Currency"}},"type":"object","required":["value","currency"],"title":"ActionItemAmount"},"ActionItemSubject":{"properties":{"type":{"$ref":"#/components/schemas/ActionItemSubjectType"},"id":{"type":"string","title":"Id"},"title":{"type":"string","title":"Title"},"counterparty_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Counterparty Name"},"contract_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contract Id"}},"type":"object","required":["type","id","title"],"title":"ActionItemSubject"},"ActionItemSubjectType":{"type":"string","enum":["job","contract","invoice","offer","dispute","milestone","profile","identity"],"title":"ActionItemSubjectType"},"ActionItemHat":{"type":"string","enum":["employer","employee"],"title":"ActionItemHat"},"ActionItemKind":{"type":"string","enum":["review","approve","fund","submit","dispute","verify","profile"],"title":"ActionItemKind"},"PendingReviewHiresResponse":{"properties":{"role":{"type":"string","title":"Role"},"items":{"items":{"$ref":"#/components/schemas/PendingReviewHire"},"type":"array","title":"Items"}},"type":"object","required":["role"],"title":"PendingReviewHiresResponse"},"PendingReviewHire":{"properties":{"hire_id":{"type":"string","format":"uuid","title":"Hire Id"},"milestones_awaiting_review":{"type":"integer","title":"Milestones Awaiting Review","default":0}},"type":"object","required":["hire_id"],"title":"PendingReviewHire"},"EmployerDashboardResponse":{"properties":{"jobs":{"$ref":"#/components/schemas/JobStats"},"hires":{"$ref":"#/components/schemas/EmployerHireStats"},"applications":{"$ref":"#/components/schemas/EmployerApplicationStats"},"invoices":{"$ref":"#/components/schemas/EmployerInvoiceStats"},"escrows":{"$ref":"#/components/schemas/EmployerEscrowStats"},"milestones":{"$ref":"#/components/schemas/EmployerMilestoneStats"},"unread_notifications":{"type":"integer","title":"Unread Notifications","default":0},"unread_messages":{"type":"integer","title":"Unread Messages","default":0},"action_required":{"$ref":"#/components/schemas/ActionRequiredCounters"},"active_hires":{"$ref":"#/components/schemas/ActiveHiresBlock"},"recent_activity":{"items":{"$ref":"#/components/schemas/RecentActivity"},"type":"array","title":"Recent Activity"}},"type":"object","title":"EmployerDashboardResponse"},"RecentActivity":{"properties":{"type":{"type":"string","title":"Type"},"title":{"type":"string","title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"entity_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["type","title","created_at"],"title":"RecentActivity"},"ActiveHiresBlock":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ActiveHireItem"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total","default":0}},"type":"object","title":"ActiveHiresBlock"},"ActiveHireItem":{"properties":{"hire_id":{"type":"string","format":"uuid","title":"Hire Id"},"job_id":{"type":"string","format":"uuid","title":"Job Id"},"job_title":{"type":"string","title":"Job Title"},"hire_status":{"type":"string","title":"Hire Status"},"payment_type":{"type":"string","title":"Payment Type"},"payment_mode":{"type":"string","title":"Payment Mode"},"currency":{"type":"string","title":"Currency"},"counterparty":{"$ref":"#/components/schemas/ActiveHireParty"},"milestone":{"anyOf":[{"$ref":"#/components/schemas/ActiveHireMilestone"},{"type":"null"}]},"milestone_total":{"type":"integer","title":"Milestone Total","default":0},"period_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Period Index"},"escrow_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Escrow Status"},"hire_escrow_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hire Escrow Status"},"dispute_escrow_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Dispute Escrow Id"},"chat_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Chat Id"},"last_activity_at":{"type":"string","format":"date-time","title":"Last Activity At"}},"type":"object","required":["hire_id","job_id","job_title","hire_status","payment_type","payment_mode","currency","counterparty","last_activity_at"],"title":"ActiveHireItem"},"ActiveHireMilestone":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"title":{"type":"string","title":"Title"},"status":{"type":"string","title":"Status"},"index":{"type":"integer","title":"Index"},"amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Amount","default":"0"},"currency":{"type":"string","title":"Currency"}},"type":"object","required":["id","title","status","index","currency"],"title":"ActiveHireMilestone"},"ActiveHireParty":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"}},"type":"object","required":["id"],"title":"ActiveHireParty"},"ActionRequiredCounters":{"properties":{"role":{"type":"string","title":"Role","default":"employer"},"milestones_awaiting_review":{"type":"integer","title":"Milestones Awaiting Review","default":0},"new_applications":{"type":"integer","title":"New Applications","default":0},"milestones_revision_requested":{"type":"integer","title":"Milestones Revision Requested","default":0},"unread_hire_messages":{"type":"integer","title":"Unread Hire Messages","default":0},"active_disputes":{"type":"integer","title":"Active Disputes","default":0}},"type":"object","title":"ActionRequiredCounters"},"EmployerMilestoneStats":{"properties":{"in_progress":{"type":"integer","title":"In Progress","default":0},"submitted_for_review":{"type":"integer","title":"Submitted For Review","default":0},"approved":{"type":"integer","title":"Approved","default":0},"paid":{"type":"integer","title":"Paid","default":0}},"type":"object","title":"EmployerMilestoneStats"},"EmployerEscrowStats":{"properties":{"active_count":{"type":"integer","title":"Active Count","default":0},"active_amount_usd":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Active Amount Usd","default":"0"},"total_released_usd":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Total Released Usd","default":"0"},"total_commission_usd":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Total Commission Usd","description":"Commission paid on top of released escrows, in USD-at-event, derived the same way as total_released_usd so the two are comparable.","default":"0"},"disputed_count":{"type":"integer","title":"Disputed Count","default":0}},"type":"object","title":"EmployerEscrowStats"},"EmployerInvoiceStats":{"properties":{"pending_approval":{"type":"integer","title":"Pending Approval","default":0},"pending_approval_amounts":{"items":{"$ref":"#/components/schemas/InvoiceAmountByCurrency"},"type":"array","title":"Pending Approval Amounts","description":"Amount awaiting approval, grouped BY CURRENCY. Invoices carry the hire's currency and there is no USD column on the row, so a single summed figure would add SOL to USDC."},"disputed":{"type":"integer","title":"Disputed","default":0},"total_approved":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Total Approved","default":"0"},"total_paid":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Total Paid","default":"0"}},"type":"object","title":"EmployerInvoiceStats"},"InvoiceAmountByCurrency":{"properties":{"currency":{"type":"string","title":"Currency"},"amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Amount","default":"0"},"count":{"type":"integer","title":"Count","default":0}},"type":"object","required":["currency"],"title":"InvoiceAmountByCurrency"},"EmployerApplicationStats":{"properties":{"total_received":{"type":"integer","title":"Total Received","default":0},"pending":{"type":"integer","title":"Pending","default":0},"viewed":{"type":"integer","title":"Viewed","default":0},"accepted":{"type":"integer","title":"Accepted","default":0},"rejected":{"type":"integer","title":"Rejected","default":0},"withdrawn":{"type":"integer","title":"Withdrawn","default":0},"unviewed":{"type":"integer","title":"Unviewed","default":0}},"type":"object","title":"EmployerApplicationStats"},"EmployerHireStats":{"properties":{"total":{"type":"integer","title":"Total","default":0},"active":{"type":"integer","title":"Active","default":0},"in_progress":{"type":"integer","title":"In Progress","default":0},"completed":{"type":"integer","title":"Completed","default":0},"terminated":{"type":"integer","title":"Terminated","default":0},"disputed":{"type":"integer","title":"Disputed","default":0},"total_paid":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Total Paid","default":"0"},"avg_rating_received":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Avg Rating Received"}},"type":"object","title":"EmployerHireStats"},"JobStats":{"properties":{"total":{"type":"integer","title":"Total","default":0},"draft":{"type":"integer","title":"Draft","default":0},"active":{"type":"integer","title":"Active","default":0},"in_progress":{"type":"integer","title":"In Progress","default":0},"paused":{"type":"integer","title":"Paused","default":0},"completed":{"type":"integer","title":"Completed","default":0},"cancelled":{"type":"integer","title":"Cancelled","default":0},"expired":{"type":"integer","title":"Expired","default":0},"total_views":{"type":"integer","title":"Total Views","default":0},"total_applications_received":{"type":"integer","title":"Total Applications Received","default":0}},"type":"object","title":"JobStats"},"EmployeeDashboardResponse":{"properties":{"applications":{"$ref":"#/components/schemas/EmployeeApplicationStats"},"hires":{"$ref":"#/components/schemas/EmployeeHireStats"},"invoices":{"$ref":"#/components/schemas/EmployeeInvoiceStats"},"work_logs":{"$ref":"#/components/schemas/EmployeeWorkLogStats"},"milestones":{"$ref":"#/components/schemas/EmployeeMilestoneStats"},"vacancies":{"$ref":"#/components/schemas/EmployeeVacancyStats"},"worqs_balance":{"type":"integer","title":"Worqs Balance","default":0},"total_earnings":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Total Earnings","default":"0"},"unread_notifications":{"type":"integer","title":"Unread Notifications","default":0},"unread_messages":{"type":"integer","title":"Unread Messages","default":0},"action_required":{"$ref":"#/components/schemas/ActionRequiredCounters"},"active_hires":{"$ref":"#/components/schemas/ActiveHiresBlock"},"recent_activity":{"items":{"$ref":"#/components/schemas/RecentActivity"},"type":"array","title":"Recent Activity"}},"type":"object","title":"EmployeeDashboardResponse"},"EmployeeVacancyStats":{"properties":{"total":{"type":"integer","title":"Total","default":0},"active":{"type":"integer","title":"Active","default":0},"paused":{"type":"integer","title":"Paused","default":0},"total_views":{"type":"integer","title":"Total Views","default":0},"total_inquiries":{"type":"integer","title":"Total Inquiries","default":0},"total_invitations_received":{"type":"integer","title":"Total Invitations Received","default":0}},"type":"object","title":"EmployeeVacancyStats"},"EmployeeMilestoneStats":{"properties":{"in_progress":{"type":"integer","title":"In Progress","default":0},"submitted":{"type":"integer","title":"Submitted","default":0},"revision":{"type":"integer","title":"Revision","default":0},"approved":{"type":"integer","title":"Approved","default":0},"paid":{"type":"integer","title":"Paid","default":0},"total_milestone_earnings":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Total Milestone Earnings","default":"0"}},"type":"object","title":"EmployeeMilestoneStats"},"EmployeeWorkLogStats":{"properties":{"pending_approval":{"type":"integer","title":"Pending Approval","default":0},"approved":{"type":"integer","title":"Approved","default":0},"rejected":{"type":"integer","title":"Rejected","default":0},"total_hours_logged":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Total Hours Logged","default":"0"}},"type":"object","title":"EmployeeWorkLogStats"},"EmployeeInvoiceStats":{"properties":{"draft":{"type":"integer","title":"Draft","default":0},"submitted":{"type":"integer","title":"Submitted","default":0},"approved":{"type":"integer","title":"Approved","default":0},"disputed":{"type":"integer","title":"Disputed","default":0},"paid":{"type":"integer","title":"Paid","default":0},"total_invoiced":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Total Invoiced","default":"0"},"total_paid":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Total Paid","default":"0"}},"type":"object","title":"EmployeeInvoiceStats"},"EmployeeHireStats":{"properties":{"total":{"type":"integer","title":"Total","default":0},"active":{"type":"integer","title":"Active","default":0},"in_progress":{"type":"integer","title":"In Progress","default":0},"completed":{"type":"integer","title":"Completed","default":0},"terminated":{"type":"integer","title":"Terminated","default":0},"disputed":{"type":"integer","title":"Disputed","default":0},"total_earned":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Total Earned","default":"0"},"avg_rating_received":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Avg Rating Received"}},"type":"object","title":"EmployeeHireStats"},"EmployeeApplicationStats":{"properties":{"total_sent":{"type":"integer","title":"Total Sent","default":0},"pending":{"type":"integer","title":"Pending","default":0},"viewed":{"type":"integer","title":"Viewed","default":0},"accepted":{"type":"integer","title":"Accepted","default":0},"rejected":{"type":"integer","title":"Rejected","default":0},"withdrawn":{"type":"integer","title":"Withdrawn","default":0},"total_worqs_spent":{"type":"integer","title":"Total Worqs Spent","default":0}},"type":"object","title":"EmployeeApplicationStats"},"CommunityStats":{"properties":{"users":{"type":"integer","title":"Users","description":"Total registered users.","examples":[40]},"recent":{"items":{"$ref":"#/components/schemas/RecentUser"},"type":"array","title":"Recent","description":"Latest few users (newest first), for the avatar row."}},"type":"object","required":["users"],"title":"CommunityStats"},"RecentUser":{"properties":{"name":{"type":"string","title":"Name","examples":["Mykyta"]},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url","examples":[null]}},"type":"object","required":["name"],"title":"RecentUser"},"UnreadInfo":{"properties":{"chat_id":{"type":"string","format":"uuid","title":"Chat Id"},"unread_count":{"type":"integer","title":"Unread Count"},"first_unread_message_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"First Unread Message Id"},"last_read_message_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Last Read Message Id"}},"type":"object","required":["chat_id","unread_count","first_unread_message_id","last_read_message_id"],"title":"UnreadInfo"},"ChatUsersPresenceResponse":{"properties":{"users":{"items":{"$ref":"#/components/schemas/UserPresenceResponse"},"type":"array","title":"Users"}},"type":"object","required":["users"],"title":"ChatUsersPresenceResponse"},"PinnedMessagesResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ChatMessageResponse"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["items","total"],"title":"PinnedMessagesResponse"},"AddParticipantsResponse":{"properties":{"added_participants":{"items":{"$ref":"#/components/schemas/ChatParticipantResponse"},"type":"array","title":"Added Participants"},"already_exists":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Already Exists"}},"type":"object","required":["added_participants","already_exists"],"title":"AddParticipantsResponse"},"MessageReadReceiptResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"message_id":{"type":"string","format":"uuid","title":"Message Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"read_at":{"type":"string","format":"date-time","title":"Read At"},"user":{"anyOf":[{"$ref":"#/components/schemas/ChatParticipantUserInfo"},{"type":"null"}]}},"type":"object","required":["id","message_id","user_id","read_at"],"title":"MessageReadReceiptResponse"},"MessageReactionResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"message_id":{"type":"string","format":"uuid","title":"Message Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"emoji":{"type":"string","title":"Emoji"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"user":{"anyOf":[{"$ref":"#/components/schemas/ReactionUserInfo"},{"type":"null"}]}},"type":"object","required":["id","message_id","user_id","emoji","created_at"],"title":"MessageReactionResponse"},"ReactionUserInfo":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"}},"type":"object","required":["id","first_name","last_name","avatar_url"],"title":"ReactionUserInfo"},"MessageReactionsResponse":{"properties":{"message_id":{"type":"string","format":"uuid","title":"Message Id"},"reactions":{"items":{"$ref":"#/components/schemas/ReactionSummary"},"type":"array","title":"Reactions"},"total_count":{"type":"integer","title":"Total Count"}},"type":"object","required":["message_id","reactions","total_count"],"title":"MessageReactionsResponse"},"ReactionSummary":{"properties":{"emoji":{"type":"string","title":"Emoji"},"count":{"type":"integer","title":"Count"},"users":{"items":{"$ref":"#/components/schemas/ReactionUserInfo"},"type":"array","title":"Users"},"reacted_by_me":{"type":"boolean","title":"Reacted By Me","default":false}},"type":"object","required":["emoji","count","users"],"title":"ReactionSummary"},"ChatMessageEditHistoryResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ChatMessageEditEntry"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["items","total"],"title":"ChatMessageEditHistoryResponse"},"ChatMessageEditEntry":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"message_id":{"type":"string","format":"uuid","title":"Message Id"},"content_before":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Before"},"edited_at":{"type":"string","format":"date-time","title":"Edited At"}},"type":"object","required":["id","message_id","content_before","edited_at"],"title":"ChatMessageEditEntry"},"ChatMessageListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ChatMessageResponse"},"type":"array","title":"Items"},"total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total"},"page":{"type":"integer","title":"Page"},"per_page":{"type":"integer","title":"Per Page"},"has_more":{"type":"boolean","title":"Has More"}},"type":"object","required":["items","page","per_page","has_more"],"title":"ChatMessageListResponse"},"ScheduledMessageResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"chat_id":{"type":"string","format":"uuid","title":"Chat Id"},"sender_id":{"type":"string","format":"uuid","title":"Sender Id"},"scheduled_for":{"type":"string","format":"date-time","title":"Scheduled For"},"payload":{"additionalProperties":true,"type":"object","title":"Payload"},"status":{"type":"string","title":"Status"},"sent_message_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Sent Message Id"},"failure_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Failure Reason"},"sent_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Sent At"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","chat_id","sender_id","scheduled_for","payload","status","sent_message_id","failure_reason","sent_at","created_at"],"title":"ScheduledMessageResponse"},"ScheduledMessageListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ScheduledMessageResponse"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["total"],"title":"ScheduledMessageListResponse"},"MediaGalleryResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/MediaItem"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"per_page":{"type":"integer","title":"Per Page"},"has_more":{"type":"boolean","title":"Has More"}},"type":"object","required":["items","total","page","per_page","has_more"],"title":"MediaGalleryResponse"},"MediaItem":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"message_id":{"type":"string","format":"uuid","title":"Message Id"},"attachment_type":{"type":"string","title":"Attachment Type"},"filename":{"type":"string","title":"Filename"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"thumbnail_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thumbnail Url"},"mime_type":{"type":"string","title":"Mime Type"},"file_size":{"type":"integer","title":"File Size"},"width":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Width"},"height":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Height"},"duration_seconds":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Duration Seconds"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","message_id","attachment_type","filename","url","thumbnail_url","mime_type","file_size","width","height","duration_seconds","created_at"],"title":"MediaItem"},"ChatListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ChatListItem"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"per_page":{"type":"integer","title":"Per Page"}},"type":"object","required":["items","total","page","per_page"],"title":"ChatListResponse"},"CategoryResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"parent_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Parent Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"icon":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icon"},"sort_order":{"type":"integer","title":"Sort Order"},"is_active":{"type":"boolean","title":"Is Active"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","parent_id","name","description","icon","sort_order","is_active","created_at","updated_at"],"title":"CategoryResponse"},"CategoryWithChildren":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"parent_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Parent Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"icon":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icon"},"sort_order":{"type":"integer","title":"Sort Order"},"is_active":{"type":"boolean","title":"Is Active"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"children":{"items":{"$ref":"#/components/schemas/CategoryBrief"},"type":"array","title":"Children","description":"List of subcategories"}},"type":"object","required":["id","parent_id","name","description","icon","sort_order","is_active","created_at","updated_at"],"title":"CategoryWithChildren"},"CategoryBrief":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"icon":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icon"}},"type":"object","required":["id","name","icon"],"title":"CategoryBrief"},"CategoryTreeResponse":{"properties":{"categories":{"items":{"$ref":"#/components/schemas/CategoryTreeItem"},"type":"array","title":"Categories"}},"type":"object","required":["categories"],"title":"CategoryTreeResponse"},"CategoryTreeItem":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"icon":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icon"},"sort_order":{"type":"integer","title":"Sort Order"},"children":{"items":{"$ref":"#/components/schemas/CategoryTreeItem"},"type":"array","title":"Children","description":"Nested subcategories"}},"type":"object","required":["id","name","description","icon","sort_order"],"title":"CategoryTreeItem"},"CategoryListResponse":{"properties":{"categories":{"items":{"$ref":"#/components/schemas/CategoryWithChildren"},"type":"array","title":"Categories"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["categories","total"],"title":"CategoryListResponse"},"CancellationReason":{"properties":{"code":{"type":"string","maxLength":40,"minLength":1,"title":"Code"},"label_en":{"type":"string","maxLength":120,"minLength":1,"title":"Label En"},"label_uk":{"type":"string","maxLength":120,"minLength":1,"title":"Label Uk"},"active":{"type":"boolean","title":"Active","default":true},"applies_to":{"items":{"type":"string"},"type":"array","title":"Applies To"}},"type":"object","required":["code","label_en","label_uk"],"title":"CancellationReason"},"CalendarBusyResponse":{"properties":{"busy":{"items":{"$ref":"#/components/schemas/BusyInterval"},"type":"array","title":"Busy"}},"type":"object","required":["busy"],"title":"CalendarBusyResponse"},"BusyInterval":{"properties":{"start_at":{"type":"string","format":"date-time","title":"Start At"},"end_at":{"type":"string","format":"date-time","title":"End At"}},"type":"object","required":["start_at","end_at"],"title":"BusyInterval"},"BlogPostDetail":{"properties":{"slug":{"type":"string","title":"Slug"},"locale":{"type":"string","title":"Locale"},"title":{"type":"string","title":"Title"},"excerpt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Excerpt"},"cover_image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cover Image Url"},"cover_image_alt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cover Image Alt"},"reading_time_minutes":{"type":"integer","title":"Reading Time Minutes"},"is_featured":{"type":"boolean","title":"Is Featured"},"published_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Published At"},"author":{"anyOf":[{"$ref":"#/components/schemas/BlogAuthorProfile"},{"type":"null"}]},"category":{"anyOf":[{"$ref":"#/components/schemas/BlogCategoryPublic"},{"type":"null"}]},"subtitle":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subtitle"},"content_json":{"additionalProperties":true,"type":"object","title":"Content Json"},"seo_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seo Title"},"seo_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seo Description"},"og_image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Og Image Url"},"related":{"items":{"$ref":"#/components/schemas/BlogPostCard"},"type":"array","title":"Related","default":[]}},"type":"object","required":["slug","locale","title","reading_time_minutes","is_featured","content_json"],"title":"BlogPostDetail"},"BlogPostCard":{"properties":{"slug":{"type":"string","title":"Slug"},"locale":{"type":"string","title":"Locale"},"title":{"type":"string","title":"Title"},"excerpt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Excerpt"},"cover_image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cover Image Url"},"cover_image_alt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cover Image Alt"},"reading_time_minutes":{"type":"integer","title":"Reading Time Minutes"},"is_featured":{"type":"boolean","title":"Is Featured"},"published_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Published At"},"author":{"anyOf":[{"$ref":"#/components/schemas/BlogAuthorPublic"},{"type":"null"}]},"category":{"anyOf":[{"$ref":"#/components/schemas/BlogCategoryPublic"},{"type":"null"}]}},"type":"object","required":["slug","locale","title","reading_time_minutes","is_featured"],"title":"BlogPostCard"},"BlogCategoryPublic":{"properties":{"slug":{"type":"string","title":"Slug"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"accent":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Accent"}},"type":"object","required":["slug","name"],"title":"BlogCategoryPublic"},"BlogAuthorPublic":{"properties":{"slug":{"type":"string","title":"Slug"},"name":{"type":"string","title":"Name"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"}},"type":"object","required":["slug","name"],"title":"BlogAuthorPublic"},"BlogAuthorProfile":{"properties":{"slug":{"type":"string","title":"Slug"},"name":{"type":"string","title":"Name"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bio"},"twitter_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Twitter Url"},"linkedin_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Linkedin Url"},"website_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Website Url"}},"type":"object","required":["slug","name"],"title":"BlogAuthorProfile"},"BlogPostList":{"properties":{"items":{"items":{"$ref":"#/components/schemas/BlogPostCard"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"size":{"type":"integer","title":"Size"},"pages":{"type":"integer","title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"BlogPostList"},"BlogAuthorPage":{"properties":{"author":{"$ref":"#/components/schemas/BlogAuthorProfile"},"posts":{"items":{"$ref":"#/components/schemas/BlogPostCard"},"type":"array","title":"Posts"}},"type":"object","required":["author","posts"],"title":"BlogAuthorPage"},"ApplicationDetailRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"job_id":{"type":"string","format":"uuid","title":"Job Id"},"applicant_id":{"type":"string","format":"uuid","title":"Applicant Id"},"payee_wallet_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Payee Wallet Id"},"cover_letter":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cover Letter"},"cv_file_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cv File Url"},"proposed_rate":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Proposed Rate"},"estimated_duration_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Estimated Duration Days"},"status":{"$ref":"#/components/schemas/ApplicationStatus"},"invitation_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Invitation Id"},"worqs_spent":{"type":"integer","title":"Worqs Spent","default":0},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"viewed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Viewed At"},"responded_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Responded At"},"applicant":{"anyOf":[{"$ref":"#/components/schemas/UserBrief"},{"type":"null"}]},"job":{"anyOf":[{"$ref":"#/components/schemas/JobDetailForApplication"},{"type":"null"}]},"hire":{"anyOf":[{"$ref":"#/components/schemas/HireBriefForApplication"},{"type":"null"}]}},"type":"object","required":["id","job_id","applicant_id","status","created_at","updated_at"],"title":"ApplicationDetailRead"},"HireBriefForApplication":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"agreed_rate":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Agreed Rate"},"currency":{"type":"string","title":"Currency"},"payment_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Type"},"status":{"$ref":"#/components/schemas/HireStatus"},"total_invoiced":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Total Invoiced"},"total_paid":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Total Paid"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"started_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Started At"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At"}},"type":"object","required":["id","agreed_rate","currency","status","created_at"],"title":"HireBriefForApplication"},"JobDetailForApplication":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"employer_id":{"type":"string","format":"uuid","title":"Employer Id"},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"},"categories":{"items":{"$ref":"#/components/schemas/CategoryBrief"},"type":"array","title":"Categories"},"payment_type":{"$ref":"#/components/schemas/PaymentType"},"rate":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Rate"},"currency":{"type":"string","title":"Currency"},"default_payment_mode":{"type":"string","title":"Default Payment Mode","default":"escrowed"},"status":{"$ref":"#/components/schemas/JobStatus"},"photos":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Photos"},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"is_remote":{"type":"boolean","title":"Is Remote"},"is_urgent":{"type":"boolean","title":"Is Urgent"},"is_hired":{"type":"boolean","title":"Is Hired","default":false},"worqs_cost":{"type":"integer","title":"Worqs Cost","default":2},"estimated_duration_hours":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Estimated Duration Hours"},"start_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date"},"end_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date"},"has_milestones":{"type":"boolean","title":"Has Milestones","default":false},"milestone_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Milestone Count"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"published_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Published At"},"employer":{"anyOf":[{"$ref":"#/components/schemas/UserBrief"},{"type":"null"}]},"milestones":{"items":{"$ref":"#/components/schemas/MilestoneListItem"},"type":"array","title":"Milestones","default":[]}},"type":"object","required":["id","employer_id","title","description","categories","payment_type","rate","currency","status","is_remote","is_urgent","created_at"],"title":"JobDetailForApplication"},"Page_ApplicationListItem_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ApplicationListItem"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"page":{"type":"integer","minimum":1.0,"title":"Page"},"size":{"type":"integer","minimum":1.0,"title":"Size"},"pages":{"type":"integer","minimum":0.0,"title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"Page[ApplicationListItem]"},"ApplicationListItem":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"job_id":{"type":"string","format":"uuid","title":"Job Id"},"applicant_id":{"type":"string","format":"uuid","title":"Applicant Id"},"payee_wallet_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Payee Wallet Id"},"cover_letter":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cover Letter"},"cv_file_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cv File Url"},"proposed_rate":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Proposed Rate"},"estimated_duration_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Estimated Duration Days"},"status":{"$ref":"#/components/schemas/ApplicationStatus"},"worqs_spent":{"type":"integer","title":"Worqs Spent","default":0},"created_at":{"type":"string","format":"date-time","title":"Created At"},"viewed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Viewed At"},"applicant":{"anyOf":[{"$ref":"#/components/schemas/UserBrief"},{"type":"null"}]},"job":{"anyOf":[{"$ref":"#/components/schemas/JobBrief"},{"type":"null"}]},"hire_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Hire Id","readOnly":true},"hire_status":{"anyOf":[{"$ref":"#/components/schemas/HireStatus"},{"type":"null"}],"readOnly":true}},"type":"object","required":["id","job_id","applicant_id","status","created_at","hire_id","hire_status"],"title":"ApplicationListItem"},"Page_ApplicationEmployerListItem_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ApplicationEmployerListItem"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"page":{"type":"integer","minimum":1.0,"title":"Page"},"size":{"type":"integer","minimum":1.0,"title":"Size"},"pages":{"type":"integer","minimum":0.0,"title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"Page[ApplicationEmployerListItem]"},"ApplicationEmployerListItem":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"job_id":{"type":"string","format":"uuid","title":"Job Id"},"applicant_id":{"type":"string","format":"uuid","title":"Applicant Id"},"payee_wallet_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Payee Wallet Id"},"cover_letter":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cover Letter"},"cv_file_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cv File Url"},"proposed_rate":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Proposed Rate"},"estimated_duration_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Estimated Duration Days"},"status":{"$ref":"#/components/schemas/ApplicationStatus"},"worqs_spent":{"type":"integer","title":"Worqs Spent","default":0},"created_at":{"type":"string","format":"date-time","title":"Created At"},"viewed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Viewed At"},"applicant":{"anyOf":[{"$ref":"#/components/schemas/UserBrief"},{"type":"null"}]},"job":{"anyOf":[{"$ref":"#/components/schemas/JobBrief"},{"type":"null"}]},"is_shortlisted":{"type":"boolean","title":"Is Shortlisted","default":false},"shortlisted_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Shortlisted At"},"hire_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Hire Id","readOnly":true},"hire_status":{"anyOf":[{"$ref":"#/components/schemas/HireStatus"},{"type":"null"}],"readOnly":true}},"type":"object","required":["id","job_id","applicant_id","status","created_at","hire_id","hire_status"],"title":"ApplicationEmployerListItem"},"LocationResponse":{"properties":{"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude","examples":[40.7128]},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude","examples":[-74.006]},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At","examples":["2026-01-02T12:00:00Z"]}},"type":"object","title":"LocationResponse"},"LinkedInConnectionStatus":{"properties":{"connected":{"type":"boolean","title":"Connected"},"connected_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Connected At"},"account_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account Email"},"has_pending_draft":{"type":"boolean","title":"Has Pending Draft","default":false}},"type":"object","required":["connected"],"title":"LinkedInConnectionStatus"},"DeleteResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"message":{"type":"string","title":"Message"}},"type":"object","required":["success","message"],"title":"DeleteResponse"},"SavedJobStatus":{"properties":{"job_id":{"type":"string","format":"uuid","title":"Job Id","description":"The job the bookmark points at"},"is_saved":{"type":"boolean","title":"Is Saved","description":"Whether the viewer now has it saved"}},"type":"object","required":["job_id","is_saved"],"title":"SavedJobStatus"},"PhotosUploadResponse":{"properties":{"urls":{"items":{"type":"string"},"type":"array","title":"Urls","description":"List of public URLs of uploaded photos"},"message":{"type":"string","title":"Message","default":"Photos uploaded successfully"}},"type":"object","required":["urls"],"title":"PhotosUploadResponse"},"Body_upload_vacancy_photos_api_v1_images_vacancies__vacancy_id__photos_post":{"properties":{"files":{"items":{"type":"string","contentMediaType":"application/octet-stream"},"type":"array","title":"Files","description":"Photo files to upload"}},"type":"object","required":["files"],"title":"Body_upload_vacancy_photos_api_v1_images_vacancies__vacancy_id__photos_post"},"Body_upload_job_photos_api_v1_images_jobs__job_id__photos_post":{"properties":{"files":{"items":{"type":"string","contentMediaType":"application/octet-stream"},"type":"array","title":"Files","description":"Photo files to upload"}},"type":"object","required":["files"],"title":"Body_upload_job_photos_api_v1_images_jobs__job_id__photos_post"},"Body_upload_cover_api_v1_images_cover_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File","description":"Cover image file"}},"type":"object","required":["file"],"title":"Body_upload_cover_api_v1_images_cover_post"},"Body_upload_avatar_api_v1_images_avatar_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File","description":"Avatar image file"}},"type":"object","required":["file"],"title":"Body_upload_avatar_api_v1_images_avatar_post"},"RemoveParticipantResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"removed_user_id":{"type":"string","format":"uuid","title":"Removed User Id"}},"type":"object","required":["success","removed_user_id"],"title":"RemoveParticipantResponse"},"MuteSettingsResponse":{"properties":{"chat_id":{"type":"string","format":"uuid","title":"Chat Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"is_muted":{"type":"boolean","title":"Is Muted"},"mute_until":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Mute Until"}},"type":"object","required":["chat_id","user_id","is_muted","mute_until"],"title":"MuteSettingsResponse"},"PinMessageResponse":{"properties":{"message_id":{"type":"string","format":"uuid","title":"Message Id"},"chat_id":{"type":"string","format":"uuid","title":"Chat Id"},"pinned":{"type":"boolean","title":"Pinned"},"pinned_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Pinned At"},"pinned_by_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Pinned By Id"}},"type":"object","required":["message_id","chat_id","pinned","pinned_at","pinned_by_id"],"title":"PinMessageResponse"},"ChatDetailResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"job_id":{"type":"string","format":"uuid","title":"Job Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"photo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Photo Url"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"status":{"type":"string","title":"Status"},"created_by_id":{"type":"string","format":"uuid","title":"Created By Id"},"last_message_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Message At"},"last_message_preview":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Message Preview"},"message_count":{"type":"integer","title":"Message Count"},"settings":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Settings"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"job":{"anyOf":[{"$ref":"#/components/schemas/JobBriefForChat"},{"type":"null"}]},"created_by":{"anyOf":[{"$ref":"#/components/schemas/ChatParticipantUserInfo"},{"type":"null"}]},"participants":{"items":{"$ref":"#/components/schemas/ChatParticipantResponse"},"type":"array","title":"Participants","default":[]},"current_user_participant":{"anyOf":[{"$ref":"#/components/schemas/ChatParticipantResponse"},{"type":"null"}]},"contract":{"anyOf":[{"$ref":"#/components/schemas/ChatContractCard"},{"type":"null"}]}},"type":"object","required":["id","job_id","name","photo_url","description","status","created_by_id","last_message_at","last_message_preview","message_count","settings","created_at","updated_at"],"title":"ChatDetailResponse"},"ChatContractCard":{"properties":{"source":{"type":"string","enum":["hire","job"],"title":"Source"},"job_id":{"type":"string","format":"uuid","title":"Job Id"},"job_title":{"type":"string","title":"Job Title"},"job_status":{"type":"string","title":"Job Status"},"payment_type":{"type":"string","title":"Payment Type"},"amount":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Amount"},"currency":{"type":"string","title":"Currency"},"hire_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Hire Id"},"hire_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hire Status"},"payment_mode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Mode"},"escrow_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Escrow Status"},"milestones_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Milestones Total"},"milestones_completed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Milestones Completed"},"hourly_week_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Hourly Week Number"},"hourly_period_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hourly Period Status"},"hourly_period_start_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Hourly Period Start At"},"hourly_period_end_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Hourly Period End At"}},"type":"object","required":["source","job_id","job_title","job_status","payment_type","currency"],"title":"ChatContractCard"},"CalendarConnectionStatus":{"properties":{"connected":{"type":"boolean","title":"Connected"},"google_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Google Email"},"connected_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Connected At"},"needs_reconnect":{"type":"boolean","title":"Needs Reconnect","default":false},"consent_pending":{"type":"boolean","title":"Consent Pending","default":false}},"type":"object","required":["connected"],"title":"CalendarConnectionStatus"}},"securitySchemes":{"AgentBearer":{"type":"http","scheme":"bearer"}}}}