{"openapi":"3.1.0","info":{"title":"Voice Notes Demo","description":"Voice-driven note taking with validated intent extraction.","version":"0.1.0"},"paths":{"/health":{"get":{"tags":["health"],"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthOut"}}}}}}},"/api/notes":{"post":{"tags":["notes"],"summary":"Create Note","operationId":"create_note_api_notes_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoteCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoteProcessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["notes"],"summary":"List Notes","operationId":"list_notes_api_notes_get","parameters":[{"name":"source","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/Source"},{"type":"null"}],"title":"Source"}},{"name":"created_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created From"}},{"name":"created_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created To"}},{"name":"task_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Task Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_NoteOut_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/notes/{note_id}":{"get":{"tags":["notes"],"summary":"Get Note","operationId":"get_note_api_notes__note_id__get","parameters":[{"name":"note_id","in":"path","required":true,"schema":{"type":"string","title":"Note Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoteDetailOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/tasks":{"get":{"tags":["tasks"],"summary":"List Tasks","operationId":"list_tasks_api_tasks_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/TaskStatus"},{"type":"null"}],"title":"Status"}},{"name":"priority","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/Priority"},{"type":"null"}],"title":"Priority"}},{"name":"due_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Due From"}},{"name":"due_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Due To"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_TaskOut_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/tasks/{task_id}":{"get":{"tags":["tasks"],"summary":"Get Task","operationId":"get_task_api_tasks__task_id__get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["tasks"],"summary":"Update Task","operationId":"update_task_api_tasks__task_id__patch","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["tasks"],"summary":"Delete Task","operationId":"delete_task_api_tasks__task_id__delete","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/voice/transcribe":{"post":{"tags":["voice"],"summary":"Transcribe","operationId":"transcribe_api_voice_transcribe_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_transcribe_api_voice_transcribe_post"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoteProcessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"ActionOut":{"properties":{"type":{"type":"string","enum":["task_created","task_updated","tasks_listed","note_saved"],"title":"Type"},"task":{"anyOf":[{"$ref":"#/components/schemas/TaskOut"},{"type":"null"}]},"tasks":{"anyOf":[{"items":{"$ref":"#/components/schemas/TaskOut"},"type":"array"},{"type":"null"}],"title":"Tasks"},"total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total"}},"type":"object","required":["type"],"title":"ActionOut"},"Body_transcribe_api_voice_transcribe_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["file"],"title":"Body_transcribe_api_voice_transcribe_post"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HealthOut":{"properties":{"status":{"type":"string","title":"Status"},"service":{"type":"string","title":"Service"},"version":{"type":"string","title":"Version"}},"type":"object","required":["status","service","version"],"title":"HealthOut"},"Intent":{"type":"string","enum":["CREATE_TASK","UPDATE_TASK_STATUS","QUERY_TASKS","GENERAL_NOTE"],"title":"Intent"},"NoteCreate":{"properties":{"text":{"type":"string","maxLength":10000,"minLength":1,"title":"Text"}},"type":"object","required":["text"],"title":"NoteCreate"},"NoteDetailOut":{"properties":{"id":{"type":"string","title":"Id"},"raw_transcript":{"type":"string","title":"Raw Transcript"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"source":{"$ref":"#/components/schemas/Source"},"task_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Task Id"},"processing_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Processing Error"},"intent":{"anyOf":[{"$ref":"#/components/schemas/Intent"},{"type":"null"}]},"task":{"anyOf":[{"$ref":"#/components/schemas/TaskOut"},{"type":"null"}]}},"type":"object","required":["id","raw_transcript","created_at","source"],"title":"NoteDetailOut"},"NoteOut":{"properties":{"id":{"type":"string","title":"Id"},"raw_transcript":{"type":"string","title":"Raw Transcript"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"source":{"$ref":"#/components/schemas/Source"},"task_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Task Id"},"processing_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Processing Error"},"intent":{"anyOf":[{"$ref":"#/components/schemas/Intent"},{"type":"null"}]}},"type":"object","required":["id","raw_transcript","created_at","source"],"title":"NoteOut"},"NoteProcessResponse":{"properties":{"note":{"$ref":"#/components/schemas/ProcessedNoteOut"},"intent":{"$ref":"#/components/schemas/Intent"},"action":{"$ref":"#/components/schemas/ActionOut"}},"type":"object","required":["note","intent","action"],"title":"NoteProcessResponse"},"Page_NoteOut_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/NoteOut"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"}},"type":"object","required":["items","total","limit","offset"],"title":"Page[NoteOut]"},"Page_TaskOut_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/TaskOut"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"}},"type":"object","required":["items","total","limit","offset"],"title":"Page[TaskOut]"},"Priority":{"type":"string","enum":["LOW","MEDIUM","HIGH","URGENT"],"title":"Priority"},"ProcessedNoteOut":{"properties":{"id":{"type":"string","title":"Id"},"raw_transcript":{"type":"string","title":"Raw Transcript"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"source":{"$ref":"#/components/schemas/Source"},"task_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Task Id"},"processing_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Processing Error"}},"type":"object","required":["id","raw_transcript","created_at","source"],"title":"ProcessedNoteOut"},"Source":{"type":"string","enum":["voice","text"],"title":"Source"},"TaskOut":{"properties":{"id":{"type":"string","title":"Id"},"title":{"type":"string","title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"status":{"$ref":"#/components/schemas/TaskStatus"},"priority":{"anyOf":[{"$ref":"#/components/schemas/Priority"},{"type":"null"}]},"due_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Due Date"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","title","status","created_at","updated_at"],"title":"TaskOut"},"TaskStatus":{"type":"string","enum":["PENDING","IN_PROGRESS","COMPLETED","CANCELLED"],"title":"TaskStatus"},"TaskUpdate":{"properties":{"title":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Title"},"description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Description"},"status":{"anyOf":[{"$ref":"#/components/schemas/TaskStatus"},{"type":"null"}]},"priority":{"anyOf":[{"$ref":"#/components/schemas/Priority"},{"type":"null"}]},"due_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Due Date"}},"type":"object","title":"TaskUpdate"},"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"}}}}