Files
tasks-api/openapi.json

3888 lines
90 KiB
JSON

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