{"openapi":"3.1.0","info":{"title":"Tasks API","description":"API-only service for tracking tasks in Postgres.","version":"0.1.0"},"paths":{"/healthz":{"get":{"tags":["Health"],"summary":"Healthz","operationId":"getTasksHealth","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthOk"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthError"}}}}}}},"/api/crm/entities":{"get":{"tags":["CRM"],"summary":"List Crm Entities","operationId":"listCrmEntities","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"parameters":[{"name":"kind","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1,"maxLength":32},{"type":"null"}],"title":"Kind"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1,"maxLength":120},{"type":"null"}],"title":"Q"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"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/CrmEntityListOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["CRM"],"summary":"Create Crm Entity","operationId":"createCrmEntity","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmEntityCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmEntityOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/crm/entities/{entity_id}":{"get":{"tags":["CRM"],"summary":"Get Crm Entity","operationId":"getCrmEntity","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","title":"Entity Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmEntityOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["CRM"],"summary":"Update Crm Entity","operationId":"updateCrmEntity","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","title":"Entity Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmEntityUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmEntityOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["CRM"],"summary":"Delete Crm Entity","operationId":"deleteCrmEntity","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","title":"Entity Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/crm/pipelines":{"get":{"tags":["CRM"],"summary":"List Crm Pipelines","operationId":"listCrmPipelines","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"parameters":[{"name":"kind","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1,"maxLength":32},{"type":"null"}],"title":"Kind"}},{"name":"entity_kind","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1,"maxLength":32},{"type":"null"}],"title":"Entity Kind"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1,"maxLength":120},{"type":"null"}],"title":"Q"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"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/CrmPipelineListOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["CRM"],"summary":"Create Crm Pipeline","operationId":"createCrmPipeline","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmPipelineCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmPipelineOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/crm/pipelines/{pipeline_id}":{"get":{"tags":["CRM"],"summary":"Get Crm Pipeline","operationId":"getCrmPipeline","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"parameters":[{"name":"pipeline_id","in":"path","required":true,"schema":{"type":"string","title":"Pipeline Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmPipelineOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["CRM"],"summary":"Update Crm Pipeline","operationId":"updateCrmPipeline","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"parameters":[{"name":"pipeline_id","in":"path","required":true,"schema":{"type":"string","title":"Pipeline Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmPipelineUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmPipelineOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["CRM"],"summary":"Delete Crm Pipeline","operationId":"deleteCrmPipeline","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"parameters":[{"name":"pipeline_id","in":"path","required":true,"schema":{"type":"string","title":"Pipeline Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/crm/pipelines/{pipeline_id}/stages":{"get":{"tags":["CRM"],"summary":"List Crm Pipeline Stages","operationId":"listCrmPipelineStages","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"parameters":[{"name":"pipeline_id","in":"path","required":true,"schema":{"type":"string","title":"Pipeline Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmPipelineStageListOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["CRM"],"summary":"Create Crm Pipeline Stage","operationId":"createCrmPipelineStage","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"parameters":[{"name":"pipeline_id","in":"path","required":true,"schema":{"type":"string","title":"Pipeline Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmPipelineStageCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmPipelineStageOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/crm/pipeline-stages/{stage_id}":{"get":{"tags":["CRM"],"summary":"Get Crm Pipeline Stage","operationId":"getCrmPipelineStage","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"parameters":[{"name":"stage_id","in":"path","required":true,"schema":{"type":"string","title":"Stage Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmPipelineStageOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["CRM"],"summary":"Update Crm Pipeline Stage","operationId":"updateCrmPipelineStage","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"parameters":[{"name":"stage_id","in":"path","required":true,"schema":{"type":"string","title":"Stage Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmPipelineStageUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmPipelineStageOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["CRM"],"summary":"Delete Crm Pipeline Stage","operationId":"deleteCrmPipelineStage","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"parameters":[{"name":"stage_id","in":"path","required":true,"schema":{"type":"string","title":"Stage Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/crm/pipeline-entries":{"get":{"tags":["CRM"],"summary":"List Crm Pipeline Entries","operationId":"listCrmPipelineEntries","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"parameters":[{"name":"pipeline_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":36},{"type":"null"}],"title":"Pipeline Id"}},{"name":"stage_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":36},{"type":"null"}],"title":"Stage Id"}},{"name":"entity_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":36},{"type":"null"}],"title":"Entity Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"enum":["active","won","lost","archived"],"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"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/CrmPipelineEntryListOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["CRM"],"summary":"Create Crm Pipeline Entry","operationId":"createCrmPipelineEntry","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmPipelineEntryCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmPipelineEntryOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/crm/pipeline-entries/{entry_id}":{"get":{"tags":["CRM"],"summary":"Get Crm Pipeline Entry","operationId":"getCrmPipelineEntry","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"parameters":[{"name":"entry_id","in":"path","required":true,"schema":{"type":"string","title":"Entry Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmPipelineEntryOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["CRM"],"summary":"Update Crm Pipeline Entry","operationId":"updateCrmPipelineEntry","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"parameters":[{"name":"entry_id","in":"path","required":true,"schema":{"type":"string","title":"Entry Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmPipelineEntryUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmPipelineEntryOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["CRM"],"summary":"Delete Crm Pipeline Entry","operationId":"deleteCrmPipelineEntry","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"parameters":[{"name":"entry_id","in":"path","required":true,"schema":{"type":"string","title":"Entry Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/epics":{"get":{"tags":["Epics"],"summary":"List Epics","operationId":"listEpics","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"enum":["todo","in_progress","done","canceled"],"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1,"maxLength":120},{"type":"null"}],"title":"Q"}},{"name":"due_before","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Due Before"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"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/EpicListOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Epics"],"summary":"Create Epic","operationId":"createEpic","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EpicCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EpicOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/epics/{epic_id}":{"get":{"tags":["Epics"],"summary":"Get Epic","operationId":"getEpic","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"parameters":[{"name":"epic_id","in":"path","required":true,"schema":{"type":"string","title":"Epic Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EpicOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Epics"],"summary":"Update Epic","operationId":"updateEpic","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"parameters":[{"name":"epic_id","in":"path","required":true,"schema":{"type":"string","title":"Epic Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EpicUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EpicOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Epics"],"summary":"Delete Epic","operationId":"deleteEpic","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"parameters":[{"name":"epic_id","in":"path","required":true,"schema":{"type":"string","title":"Epic Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/epics/{epic_id}/tasks":{"get":{"tags":["Epics"],"summary":"List Epic Tasks","operationId":"listEpicTasks","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"parameters":[{"name":"epic_id","in":"path","required":true,"schema":{"type":"string","title":"Epic Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"enum":["todo","in_progress","done","canceled"],"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1,"maxLength":120},{"type":"null"}],"title":"Q"}},{"name":"due_before","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Due Before"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"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/TaskListOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/tasks":{"get":{"tags":["Tasks"],"summary":"List Tasks","operationId":"listTasks","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"enum":["todo","in_progress","done","canceled"],"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1,"maxLength":120},{"type":"null"}],"title":"Q"}},{"name":"due_before","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Due Before"}},{"name":"epic_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":36},{"type":"null"}],"title":"Epic Id"}},{"name":"crm_entity_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":36},{"type":"null"}],"title":"Crm Entity Id"}},{"name":"crm_pipeline_entry_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":36},{"type":"null"}],"title":"Crm Pipeline Entry Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"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/TaskListOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Tasks"],"summary":"Create Task","operationId":"createTask","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/tasks/search":{"get":{"tags":["Tasks"],"summary":"Search Tasks","operationId":"searchTasks","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"parameters":[{"name":"query","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":500,"title":"Query"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"enum":["todo","in_progress","done","canceled"],"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"due_before","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Due Before"}},{"name":"epic_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":36},{"type":"null"}],"title":"Epic Id"}},{"name":"crm_entity_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":36},{"type":"null"}],"title":"Crm Entity Id"}},{"name":"crm_pipeline_entry_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":36},{"type":"null"}],"title":"Crm Pipeline Entry Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":10,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"score_threshold","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":1,"minimum":0},{"type":"null"}],"title":"Score Threshold"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskSearchOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/tasks/{task_id}":{"get":{"tags":["Tasks"],"summary":"Get Task","operationId":"getTask","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"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":"updateTask","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"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":"deleteTask","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"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/DeleteOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"CrmEntityCreate":{"properties":{"kind":{"type":"string","maxLength":32,"minLength":1,"title":"Kind","default":"investor"},"name":{"type":"string","maxLength":240,"minLength":1,"title":"Name"},"description":{"type":"string","maxLength":10000,"title":"Description","default":""},"email":{"anyOf":[{"type":"string","maxLength":320},{"type":"null"}],"title":"Email"},"website":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Website"},"phone":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}],"title":"Phone"},"labels":{"items":{"type":"string"},"type":"array","maxItems":20,"title":"Labels"},"custom_fields":{"additionalProperties":true,"type":"object","title":"Custom Fields"}},"type":"object","required":["name"],"title":"CrmEntityCreate"},"CrmEntityListOut":{"properties":{"entities":{"items":{"$ref":"#/components/schemas/CrmEntityOut"},"type":"array","title":"Entities"},"total":{"type":"integer","title":"Total"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"}},"type":"object","required":["entities","total","limit","offset"],"title":"CrmEntityListOut"},"CrmEntityOut":{"properties":{"id":{"type":"string","title":"Id"},"kind":{"type":"string","title":"Kind"},"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"website":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Website"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"labels":{"items":{"type":"string"},"type":"array","title":"Labels"},"custom_fields":{"additionalProperties":true,"type":"object","title":"Custom Fields"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","kind","name","description","email","website","phone","labels","custom_fields","created_at","updated_at"],"title":"CrmEntityOut"},"CrmEntityUpdate":{"properties":{"kind":{"anyOf":[{"type":"string","maxLength":32,"minLength":1},{"type":"null"}],"title":"Kind"},"name":{"anyOf":[{"type":"string","maxLength":240,"minLength":1},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}],"title":"Description"},"email":{"anyOf":[{"type":"string","maxLength":320},{"type":"null"}],"title":"Email"},"website":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Website"},"phone":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}],"title":"Phone"},"labels":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":20},{"type":"null"}],"title":"Labels"},"custom_fields":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Custom Fields"}},"type":"object","title":"CrmEntityUpdate"},"CrmPipelineCreate":{"properties":{"name":{"type":"string","maxLength":240,"minLength":1,"title":"Name"},"kind":{"type":"string","maxLength":32,"minLength":1,"title":"Kind","default":"fundraising"},"entity_kind":{"type":"string","maxLength":32,"minLength":1,"title":"Entity Kind","default":"investor"},"is_default":{"type":"boolean","title":"Is Default","default":false},"labels":{"items":{"type":"string"},"type":"array","maxItems":20,"title":"Labels"},"custom_fields":{"additionalProperties":true,"type":"object","title":"Custom Fields"}},"type":"object","required":["name"],"title":"CrmPipelineCreate"},"CrmPipelineEntryCreate":{"properties":{"pipeline_id":{"type":"string","maxLength":36,"minLength":1,"title":"Pipeline Id"},"stage_id":{"type":"string","maxLength":36,"minLength":1,"title":"Stage Id"},"entity_id":{"type":"string","maxLength":36,"minLength":1,"title":"Entity Id"},"title":{"anyOf":[{"type":"string","maxLength":240,"minLength":1},{"type":"null"}],"title":"Title"},"status":{"type":"string","enum":["active","won","lost","archived"],"title":"Status","default":"active"},"amount":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Amount"},"currency":{"anyOf":[{"type":"string","maxLength":8},{"type":"null"}],"title":"Currency"},"expected_close_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expected Close At"},"custom_fields":{"additionalProperties":true,"type":"object","title":"Custom Fields"}},"type":"object","required":["pipeline_id","stage_id","entity_id"],"title":"CrmPipelineEntryCreate"},"CrmPipelineEntryListOut":{"properties":{"entries":{"items":{"$ref":"#/components/schemas/CrmPipelineEntryOut"},"type":"array","title":"Entries"},"total":{"type":"integer","title":"Total"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"}},"type":"object","required":["entries","total","limit","offset"],"title":"CrmPipelineEntryListOut"},"CrmPipelineEntryOut":{"properties":{"id":{"type":"string","title":"Id"},"pipeline_id":{"type":"string","title":"Pipeline Id"},"stage_id":{"type":"string","title":"Stage Id"},"entity_id":{"type":"string","title":"Entity Id"},"title":{"type":"string","title":"Title"},"status":{"type":"string","enum":["active","won","lost","archived"],"title":"Status"},"amount":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Amount"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency"},"expected_close_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expected Close At"},"custom_fields":{"additionalProperties":true,"type":"object","title":"Custom Fields"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","pipeline_id","stage_id","entity_id","title","status","amount","currency","expected_close_at","custom_fields","created_at","updated_at"],"title":"CrmPipelineEntryOut"},"CrmPipelineEntryUpdate":{"properties":{"pipeline_id":{"anyOf":[{"type":"string","maxLength":36,"minLength":1},{"type":"null"}],"title":"Pipeline Id"},"stage_id":{"anyOf":[{"type":"string","maxLength":36,"minLength":1},{"type":"null"}],"title":"Stage Id"},"entity_id":{"anyOf":[{"type":"string","maxLength":36,"minLength":1},{"type":"null"}],"title":"Entity Id"},"title":{"anyOf":[{"type":"string","maxLength":240,"minLength":1},{"type":"null"}],"title":"Title"},"status":{"anyOf":[{"type":"string","enum":["active","won","lost","archived"]},{"type":"null"}],"title":"Status"},"amount":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Amount"},"currency":{"anyOf":[{"type":"string","maxLength":8},{"type":"null"}],"title":"Currency"},"expected_close_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expected Close At"},"custom_fields":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Custom Fields"}},"type":"object","title":"CrmPipelineEntryUpdate"},"CrmPipelineListOut":{"properties":{"pipelines":{"items":{"$ref":"#/components/schemas/CrmPipelineOut"},"type":"array","title":"Pipelines"},"total":{"type":"integer","title":"Total"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"}},"type":"object","required":["pipelines","total","limit","offset"],"title":"CrmPipelineListOut"},"CrmPipelineOut":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"kind":{"type":"string","title":"Kind"},"entity_kind":{"type":"string","title":"Entity Kind"},"is_default":{"type":"boolean","title":"Is Default"},"labels":{"items":{"type":"string"},"type":"array","title":"Labels"},"custom_fields":{"additionalProperties":true,"type":"object","title":"Custom Fields"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","name","kind","entity_kind","is_default","labels","custom_fields","created_at","updated_at"],"title":"CrmPipelineOut"},"CrmPipelineStageCreate":{"properties":{"name":{"type":"string","maxLength":160,"minLength":1,"title":"Name"},"position":{"type":"integer","minimum":0.0,"title":"Position","default":0},"color":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Color"},"is_terminal":{"type":"boolean","title":"Is Terminal","default":false}},"type":"object","required":["name"],"title":"CrmPipelineStageCreate"},"CrmPipelineStageListOut":{"properties":{"stages":{"items":{"$ref":"#/components/schemas/CrmPipelineStageOut"},"type":"array","title":"Stages"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["stages","total"],"title":"CrmPipelineStageListOut"},"CrmPipelineStageOut":{"properties":{"id":{"type":"string","title":"Id"},"pipeline_id":{"type":"string","title":"Pipeline Id"},"name":{"type":"string","title":"Name"},"position":{"type":"integer","title":"Position"},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color"},"is_terminal":{"type":"boolean","title":"Is Terminal"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","pipeline_id","name","position","color","is_terminal","created_at","updated_at"],"title":"CrmPipelineStageOut"},"CrmPipelineStageUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":160,"minLength":1},{"type":"null"}],"title":"Name"},"position":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Position"},"color":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Color"},"is_terminal":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Terminal"}},"type":"object","title":"CrmPipelineStageUpdate"},"CrmPipelineUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":240,"minLength":1},{"type":"null"}],"title":"Name"},"kind":{"anyOf":[{"type":"string","maxLength":32,"minLength":1},{"type":"null"}],"title":"Kind"},"entity_kind":{"anyOf":[{"type":"string","maxLength":32,"minLength":1},{"type":"null"}],"title":"Entity Kind"},"is_default":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Default"},"labels":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":20},{"type":"null"}],"title":"Labels"},"custom_fields":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Custom Fields"}},"type":"object","title":"CrmPipelineUpdate"},"DeleteOut":{"properties":{"ok":{"type":"boolean","const":true,"title":"Ok","default":true}},"type":"object","title":"DeleteOut"},"EpicCreate":{"properties":{"title":{"type":"string","maxLength":240,"minLength":1,"title":"Title"},"description":{"type":"string","maxLength":10000,"title":"Description","default":""},"status":{"type":"string","enum":["todo","in_progress","done","canceled"],"title":"Status","default":"todo"},"priority":{"type":"integer","maximum":100.0,"minimum":-100.0,"title":"Priority","default":0},"labels":{"items":{"type":"string"},"type":"array","maxItems":20,"title":"Labels"},"due_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Due At"}},"type":"object","required":["title"],"title":"EpicCreate"},"EpicListOut":{"properties":{"epics":{"items":{"$ref":"#/components/schemas/EpicOut"},"type":"array","title":"Epics"},"total":{"type":"integer","title":"Total"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"}},"type":"object","required":["epics","total","limit","offset"],"title":"EpicListOut"},"EpicOut":{"properties":{"id":{"type":"string","title":"Id"},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"},"status":{"type":"string","enum":["todo","in_progress","done","canceled"],"title":"Status"},"priority":{"type":"integer","title":"Priority"},"labels":{"items":{"type":"string"},"type":"array","title":"Labels"},"due_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Due At"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At"},"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","description","status","priority","labels","due_at","completed_at","created_at","updated_at"],"title":"EpicOut"},"EpicUpdate":{"properties":{"title":{"anyOf":[{"type":"string","maxLength":240,"minLength":1},{"type":"null"}],"title":"Title"},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}],"title":"Description"},"status":{"anyOf":[{"type":"string","enum":["todo","in_progress","done","canceled"]},{"type":"null"}],"title":"Status"},"priority":{"anyOf":[{"type":"integer","maximum":100.0,"minimum":-100.0},{"type":"null"}],"title":"Priority"},"labels":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":20},{"type":"null"}],"title":"Labels"},"due_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Due At"}},"type":"object","title":"EpicUpdate"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HealthError":{"properties":{"ok":{"type":"boolean","const":false,"title":"Ok","default":false},"error":{"type":"string","title":"Error"}},"type":"object","required":["error"],"title":"HealthError"},"HealthOk":{"properties":{"ok":{"type":"boolean","const":true,"title":"Ok","default":true}},"type":"object","title":"HealthOk"},"TaskCreate":{"properties":{"title":{"type":"string","maxLength":240,"minLength":1,"title":"Title"},"description":{"type":"string","maxLength":10000,"title":"Description","default":""},"status":{"type":"string","enum":["todo","in_progress","done","canceled"],"title":"Status","default":"todo"},"priority":{"type":"integer","maximum":100.0,"minimum":-100.0,"title":"Priority","default":0},"labels":{"items":{"type":"string"},"type":"array","maxItems":20,"title":"Labels"},"due_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Due At"},"epic_id":{"anyOf":[{"type":"string","maxLength":36},{"type":"null"}],"title":"Epic Id"},"crm_entity_id":{"anyOf":[{"type":"string","maxLength":36},{"type":"null"}],"title":"Crm Entity Id"},"crm_pipeline_entry_id":{"anyOf":[{"type":"string","maxLength":36},{"type":"null"}],"title":"Crm Pipeline Entry Id"}},"type":"object","required":["title"],"title":"TaskCreate"},"TaskListOut":{"properties":{"tasks":{"items":{"$ref":"#/components/schemas/TaskOut"},"type":"array","title":"Tasks"},"total":{"type":"integer","title":"Total"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"}},"type":"object","required":["tasks","total","limit","offset"],"title":"TaskListOut"},"TaskOut":{"properties":{"id":{"type":"string","title":"Id"},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"},"status":{"type":"string","enum":["todo","in_progress","done","canceled"],"title":"Status"},"priority":{"type":"integer","title":"Priority"},"labels":{"items":{"type":"string"},"type":"array","title":"Labels"},"due_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Due At"},"epic_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Epic Id"},"crm_entity_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Crm Entity Id"},"crm_pipeline_entry_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Crm Pipeline Entry Id"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At"},"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","description","status","priority","labels","due_at","epic_id","crm_entity_id","crm_pipeline_entry_id","completed_at","created_at","updated_at"],"title":"TaskOut"},"TaskSearchOut":{"properties":{"query":{"type":"string","title":"Query"},"results":{"items":{"$ref":"#/components/schemas/TaskSearchResultOut"},"type":"array","title":"Results"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"}},"type":"object","required":["query","results","limit","offset"],"title":"TaskSearchOut"},"TaskSearchResultOut":{"properties":{"task":{"$ref":"#/components/schemas/TaskOut"},"score":{"type":"number","title":"Score"}},"type":"object","required":["task","score"],"title":"TaskSearchResultOut"},"TaskUpdate":{"properties":{"title":{"anyOf":[{"type":"string","maxLength":240,"minLength":1},{"type":"null"}],"title":"Title"},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}],"title":"Description"},"status":{"anyOf":[{"type":"string","enum":["todo","in_progress","done","canceled"]},{"type":"null"}],"title":"Status"},"priority":{"anyOf":[{"type":"integer","maximum":100.0,"minimum":-100.0},{"type":"null"}],"title":"Priority"},"labels":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":20},{"type":"null"}],"title":"Labels"},"due_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Due At"},"epic_id":{"anyOf":[{"type":"string","maxLength":36},{"type":"null"}],"title":"Epic Id"},"crm_entity_id":{"anyOf":[{"type":"string","maxLength":36},{"type":"null"}],"title":"Crm Entity Id"},"crm_pipeline_entry_id":{"anyOf":[{"type":"string","maxLength":36},{"type":"null"}],"title":"Crm Pipeline Entry Id"}},"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"}},"securitySchemes":{"bearerAuth":{"type":"http","description":"Use `Authorization: Bearer $TASKS_API_KEY`.","scheme":"bearer"},"apiKeyAuth":{"type":"apiKey","description":"Use the configured `TASKS_API_KEY` value.","in":"header","name":"x-api-key"}}}}