{"openapi":"3.1.0","info":{"title":"PUT /api/v1/client-messages/firm/conversations/{conversation_id}/status","version":"1.0.0","description":"Update conversation status"},"servers":[{"url":"https://api.ondayzero.com","description":"Production"}],"paths":{"/api/v1/client-messages/firm/conversations/{conversation_id}/status":{"put":{"tags":["client-messages"],"summary":"Update conversation status","description":"Change a conversation's status (resolve, reopen, etc.).","operationId":"update_status_api_v1_client_messages_firm_conversations__conversation_id__status_put","parameters":[{"name":"conversation_id","in":"path","required":true,"schema":{"type":"string","title":"Conversation Id"}},{"name":"firm_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Advisory firm ID","title":"Firm Id"},"description":"Advisory firm ID"},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateConversationStatusRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversationDetailResponse"}}}},"400":{"description":"Bad Request - Invalid input","content":{"application/json":{"example":{"detail":"Invalid request parameters"}}}},"401":{"description":"Unauthorized - Authentication required","content":{"application/json":{"example":{"detail":"Not authenticated"}}}},"403":{"description":"Forbidden - Insufficient permissions","content":{"application/json":{"example":{"detail":"Not enough permissions"}}}},"404":{"description":"Not Found - Resource does not exist","content":{"application/json":{"example":{"detail":"Resource not found"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"ConversationCategory":{"type":"string","enum":["general","document_request","tax_question","payment_question","other"],"title":"ConversationCategory"},"ConversationDetailResponse":{"properties":{"id":{"type":"string","title":"Id"},"business_id":{"type":"string","title":"Business Id"},"advisory_firm_id":{"type":"string","title":"Advisory Firm Id"},"subject":{"type":"string","title":"Subject"},"category":{"$ref":"#/components/schemas/ConversationCategory"},"status":{"$ref":"#/components/schemas/ConversationStatus"},"created_by_user_id":{"type":"string","title":"Created By User Id"},"created_by_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created By Name"},"business_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Business Name"},"messages":{"items":{"$ref":"#/components/schemas/app__api__v1__schemas__client_messages__MessageResponse"},"type":"array","title":"Messages"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","business_id","advisory_firm_id","subject","category","status","created_by_user_id","created_at","updated_at"],"title":"ConversationDetailResponse","description":"Full conversation with messages."},"ConversationStatus":{"type":"string","enum":["open","waiting_on_client","resolved"],"title":"ConversationStatus"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"SenderRole":{"type":"string","enum":["client","advisor"],"title":"SenderRole"},"UpdateConversationStatusRequest":{"properties":{"status":{"$ref":"#/components/schemas/ConversationStatus","description":"New conversation status"}},"type":"object","required":["status"],"title":"UpdateConversationStatusRequest","description":"Update conversation status (advisor-only).","example":{"status":"resolved"}},"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"},"app__api__v1__schemas__client_messages__MessageResponse":{"properties":{"id":{"type":"string","title":"Id"},"conversation_id":{"type":"string","title":"Conversation Id"},"sender_user_id":{"type":"string","title":"Sender User Id"},"sender_role":{"$ref":"#/components/schemas/SenderRole"},"sender_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sender Name"},"body":{"type":"string","title":"Body"},"read_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Read At"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","conversation_id","sender_user_id","sender_role","body","created_at"],"title":"MessageResponse","description":"A single message within a conversation."}},"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API Token","description":"API token authentication. Format: `Bearer dz_...`"}}},"security":[{"BearerAuth":[]}]}