Cloud API reference
Generated from the reviewed public OpenAPI snapshot (API 1.9.0).
Base URL: https://api.alshival.ai. Use Bearer authentication. See authentication and the interactive reference.
This reference covers cloud routes only. Local routes are documented in Desktop API. Empty response schemas below mean the deployed schema does not specify fields; they do not imply an empty response.
GET /v1/workspaces/{workspace_id}/project/boards
Project Board List
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
board_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Board Id"} |
cursor |
query | no | {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Cursor"} |
limit |
query | no | {"type": "integer", "maximum": 100, "minimum": 1, "default": 50, "title": "Limit"} |
q |
query | no | {"anyOf": [{"type": "string", "maxLength": 160}, {"type": "null"}], "title": "Q"} |
state |
query | no | {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "State"} |
status_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Status Id"} |
type_ids |
query | no | {"anyOf": [{"type": "array", "items": {"type": "string", "format": "uuid"}}, {"type": "null"}], "title": "Type Ids"} |
label_ids |
query | no | {"anyOf": [{"type": "array", "items": {"type": "string", "format": "uuid"}}, {"type": "null"}], "title": "Label Ids"} |
archived |
query | no | {"type": "boolean", "default": false, "title": "Archived"} |
deleted |
query | no | {"type": "boolean", "default": false, "title": "Deleted"} |
assignee_id |
query | no | {"anyOf": [{"type": "integer", "exclusiveMinimum": 0}, {"type": "null"}], "title": "Assignee Id"} |
unassigned |
query | no | {"type": "boolean", "default": false, "title": "Unassigned"} |
priority |
query | no | {"anyOf": [{"enum": ["low", "normal", "high", "urgent"], "type": "string"}, {"type": "null"}], "title": "Priority"} |
due_before |
query | no | {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}], "title": "Due Before"} |
due_after |
query | no | {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}], "title": "Due After"} |
kind |
query | no | {"anyOf": [{"enum": ["task", "service_ticket"], "type": "string"}, {"type": "null"}], "title": "Kind"} |
deliverable_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Deliverable Id"} |
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
POST /v1/workspaces/{workspace_id}/project/boards
Project Board Create
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
Request body
Required: true.
{
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BoardCreate"
}
}
}
}
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
POST /v1/workspaces/{workspace_id}/project/boards/{item_id}
Project Board Action
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
item_id |
path | yes | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Item Id"} |
Request body
Required: true.
{
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BoardAction"
}
}
}
}
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
POST /v1/workspaces/{workspace_id}/tasks/{item_id}/move
Project Task Move
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
item_id |
path | yes | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Item Id"} |
Request body
Required: true.
{
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskMove"
}
}
}
}
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
GET /v1/workspaces/{workspace_id}/project/taxonomy
Project Task Taxonomy
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
board_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Board Id"} |
cursor |
query | no | {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Cursor"} |
limit |
query | no | {"type": "integer", "maximum": 100, "minimum": 1, "default": 50, "title": "Limit"} |
q |
query | no | {"anyOf": [{"type": "string", "maxLength": 160}, {"type": "null"}], "title": "Q"} |
state |
query | no | {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "State"} |
status_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Status Id"} |
type_ids |
query | no | {"anyOf": [{"type": "array", "items": {"type": "string", "format": "uuid"}}, {"type": "null"}], "title": "Type Ids"} |
label_ids |
query | no | {"anyOf": [{"type": "array", "items": {"type": "string", "format": "uuid"}}, {"type": "null"}], "title": "Label Ids"} |
archived |
query | no | {"type": "boolean", "default": false, "title": "Archived"} |
deleted |
query | no | {"type": "boolean", "default": false, "title": "Deleted"} |
assignee_id |
query | no | {"anyOf": [{"type": "integer", "exclusiveMinimum": 0}, {"type": "null"}], "title": "Assignee Id"} |
unassigned |
query | no | {"type": "boolean", "default": false, "title": "Unassigned"} |
priority |
query | no | {"anyOf": [{"enum": ["low", "normal", "high", "urgent"], "type": "string"}, {"type": "null"}], "title": "Priority"} |
due_before |
query | no | {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}], "title": "Due Before"} |
due_after |
query | no | {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}], "title": "Due After"} |
kind |
query | no | {"anyOf": [{"enum": ["task", "service_ticket"], "type": "string"}, {"type": "null"}], "title": "Kind"} |
deliverable_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Deliverable Id"} |
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
POST /v1/workspaces/{workspace_id}/project/taxonomy
Project Taxonomy Configure
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
Request body
Required: true.
{
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaxonomyConfigure"
}
}
}
}
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
GET /v1/workspaces/{workspace_id}/project/statuses
Project Board Statuses
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
board_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Board Id"} |
cursor |
query | no | {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Cursor"} |
limit |
query | no | {"type": "integer", "maximum": 100, "minimum": 1, "default": 50, "title": "Limit"} |
q |
query | no | {"anyOf": [{"type": "string", "maxLength": 160}, {"type": "null"}], "title": "Q"} |
state |
query | no | {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "State"} |
status_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Status Id"} |
type_ids |
query | no | {"anyOf": [{"type": "array", "items": {"type": "string", "format": "uuid"}}, {"type": "null"}], "title": "Type Ids"} |
label_ids |
query | no | {"anyOf": [{"type": "array", "items": {"type": "string", "format": "uuid"}}, {"type": "null"}], "title": "Label Ids"} |
archived |
query | no | {"type": "boolean", "default": false, "title": "Archived"} |
deleted |
query | no | {"type": "boolean", "default": false, "title": "Deleted"} |
assignee_id |
query | no | {"anyOf": [{"type": "integer", "exclusiveMinimum": 0}, {"type": "null"}], "title": "Assignee Id"} |
unassigned |
query | no | {"type": "boolean", "default": false, "title": "Unassigned"} |
priority |
query | no | {"anyOf": [{"enum": ["low", "normal", "high", "urgent"], "type": "string"}, {"type": "null"}], "title": "Priority"} |
due_before |
query | no | {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}], "title": "Due Before"} |
due_after |
query | no | {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}], "title": "Due After"} |
kind |
query | no | {"anyOf": [{"enum": ["task", "service_ticket"], "type": "string"}, {"type": "null"}], "title": "Kind"} |
deliverable_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Deliverable Id"} |
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
POST /v1/workspaces/{workspace_id}/project/statuses
Project Board Configure
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
Request body
Required: true.
{
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BoardConfigure"
}
}
}
}
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
GET /v1/workspaces/{workspace_id}/project
Project Board
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
board_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Board Id"} |
cursor |
query | no | {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Cursor"} |
limit |
query | no | {"type": "integer", "maximum": 100, "minimum": 1, "default": 50, "title": "Limit"} |
q |
query | no | {"anyOf": [{"type": "string", "maxLength": 160}, {"type": "null"}], "title": "Q"} |
state |
query | no | {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "State"} |
status_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Status Id"} |
type_ids |
query | no | {"anyOf": [{"type": "array", "items": {"type": "string", "format": "uuid"}}, {"type": "null"}], "title": "Type Ids"} |
label_ids |
query | no | {"anyOf": [{"type": "array", "items": {"type": "string", "format": "uuid"}}, {"type": "null"}], "title": "Label Ids"} |
archived |
query | no | {"type": "boolean", "default": false, "title": "Archived"} |
deleted |
query | no | {"type": "boolean", "default": false, "title": "Deleted"} |
assignee_id |
query | no | {"anyOf": [{"type": "integer", "exclusiveMinimum": 0}, {"type": "null"}], "title": "Assignee Id"} |
unassigned |
query | no | {"type": "boolean", "default": false, "title": "Unassigned"} |
priority |
query | no | {"anyOf": [{"enum": ["low", "normal", "high", "urgent"], "type": "string"}, {"type": "null"}], "title": "Priority"} |
due_before |
query | no | {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}], "title": "Due Before"} |
due_after |
query | no | {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}], "title": "Due After"} |
kind |
query | no | {"anyOf": [{"enum": ["task", "service_ticket"], "type": "string"}, {"type": "null"}], "title": "Kind"} |
deliverable_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Deliverable Id"} |
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
GET /v1/workspaces/{workspace_id}/project/timeline
Project Timeline
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
board_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Board Id"} |
cursor |
query | no | {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Cursor"} |
limit |
query | no | {"type": "integer", "maximum": 100, "minimum": 1, "default": 50, "title": "Limit"} |
q |
query | no | {"anyOf": [{"type": "string", "maxLength": 160}, {"type": "null"}], "title": "Q"} |
state |
query | no | {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "State"} |
status_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Status Id"} |
type_ids |
query | no | {"anyOf": [{"type": "array", "items": {"type": "string", "format": "uuid"}}, {"type": "null"}], "title": "Type Ids"} |
label_ids |
query | no | {"anyOf": [{"type": "array", "items": {"type": "string", "format": "uuid"}}, {"type": "null"}], "title": "Label Ids"} |
archived |
query | no | {"type": "boolean", "default": false, "title": "Archived"} |
deleted |
query | no | {"type": "boolean", "default": false, "title": "Deleted"} |
assignee_id |
query | no | {"anyOf": [{"type": "integer", "exclusiveMinimum": 0}, {"type": "null"}], "title": "Assignee Id"} |
unassigned |
query | no | {"type": "boolean", "default": false, "title": "Unassigned"} |
priority |
query | no | {"anyOf": [{"enum": ["low", "normal", "high", "urgent"], "type": "string"}, {"type": "null"}], "title": "Priority"} |
due_before |
query | no | {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}], "title": "Due Before"} |
due_after |
query | no | {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}], "title": "Due After"} |
kind |
query | no | {"anyOf": [{"enum": ["task", "service_ticket"], "type": "string"}, {"type": "null"}], "title": "Kind"} |
deliverable_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Deliverable Id"} |
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
GET /v1/workspaces/{workspace_id}/project/activity
Project Activity
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
board_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Board Id"} |
cursor |
query | no | {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Cursor"} |
limit |
query | no | {"type": "integer", "maximum": 100, "minimum": 1, "default": 50, "title": "Limit"} |
q |
query | no | {"anyOf": [{"type": "string", "maxLength": 160}, {"type": "null"}], "title": "Q"} |
state |
query | no | {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "State"} |
status_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Status Id"} |
type_ids |
query | no | {"anyOf": [{"type": "array", "items": {"type": "string", "format": "uuid"}}, {"type": "null"}], "title": "Type Ids"} |
label_ids |
query | no | {"anyOf": [{"type": "array", "items": {"type": "string", "format": "uuid"}}, {"type": "null"}], "title": "Label Ids"} |
archived |
query | no | {"type": "boolean", "default": false, "title": "Archived"} |
deleted |
query | no | {"type": "boolean", "default": false, "title": "Deleted"} |
assignee_id |
query | no | {"anyOf": [{"type": "integer", "exclusiveMinimum": 0}, {"type": "null"}], "title": "Assignee Id"} |
unassigned |
query | no | {"type": "boolean", "default": false, "title": "Unassigned"} |
priority |
query | no | {"anyOf": [{"enum": ["low", "normal", "high", "urgent"], "type": "string"}, {"type": "null"}], "title": "Priority"} |
due_before |
query | no | {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}], "title": "Due Before"} |
due_after |
query | no | {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}], "title": "Due After"} |
kind |
query | no | {"anyOf": [{"enum": ["task", "service_ticket"], "type": "string"}, {"type": "null"}], "title": "Kind"} |
deliverable_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Deliverable Id"} |
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
GET /v1/workspaces/{workspace_id}/project/assignees
Project Assignees
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
board_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Board Id"} |
cursor |
query | no | {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Cursor"} |
limit |
query | no | {"type": "integer", "maximum": 100, "minimum": 1, "default": 50, "title": "Limit"} |
q |
query | no | {"anyOf": [{"type": "string", "maxLength": 160}, {"type": "null"}], "title": "Q"} |
state |
query | no | {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "State"} |
status_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Status Id"} |
type_ids |
query | no | {"anyOf": [{"type": "array", "items": {"type": "string", "format": "uuid"}}, {"type": "null"}], "title": "Type Ids"} |
label_ids |
query | no | {"anyOf": [{"type": "array", "items": {"type": "string", "format": "uuid"}}, {"type": "null"}], "title": "Label Ids"} |
archived |
query | no | {"type": "boolean", "default": false, "title": "Archived"} |
deleted |
query | no | {"type": "boolean", "default": false, "title": "Deleted"} |
assignee_id |
query | no | {"anyOf": [{"type": "integer", "exclusiveMinimum": 0}, {"type": "null"}], "title": "Assignee Id"} |
unassigned |
query | no | {"type": "boolean", "default": false, "title": "Unassigned"} |
priority |
query | no | {"anyOf": [{"enum": ["low", "normal", "high", "urgent"], "type": "string"}, {"type": "null"}], "title": "Priority"} |
due_before |
query | no | {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}], "title": "Due Before"} |
due_after |
query | no | {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}], "title": "Due After"} |
kind |
query | no | {"anyOf": [{"enum": ["task", "service_ticket"], "type": "string"}, {"type": "null"}], "title": "Kind"} |
deliverable_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Deliverable Id"} |
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
GET /v1/workspaces/{workspace_id}/deliverables
Project Deliverable List
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
board_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Board Id"} |
cursor |
query | no | {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Cursor"} |
limit |
query | no | {"type": "integer", "maximum": 100, "minimum": 1, "default": 50, "title": "Limit"} |
q |
query | no | {"anyOf": [{"type": "string", "maxLength": 160}, {"type": "null"}], "title": "Q"} |
state |
query | no | {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "State"} |
status_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Status Id"} |
type_ids |
query | no | {"anyOf": [{"type": "array", "items": {"type": "string", "format": "uuid"}}, {"type": "null"}], "title": "Type Ids"} |
label_ids |
query | no | {"anyOf": [{"type": "array", "items": {"type": "string", "format": "uuid"}}, {"type": "null"}], "title": "Label Ids"} |
archived |
query | no | {"type": "boolean", "default": false, "title": "Archived"} |
deleted |
query | no | {"type": "boolean", "default": false, "title": "Deleted"} |
assignee_id |
query | no | {"anyOf": [{"type": "integer", "exclusiveMinimum": 0}, {"type": "null"}], "title": "Assignee Id"} |
unassigned |
query | no | {"type": "boolean", "default": false, "title": "Unassigned"} |
priority |
query | no | {"anyOf": [{"enum": ["low", "normal", "high", "urgent"], "type": "string"}, {"type": "null"}], "title": "Priority"} |
due_before |
query | no | {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}], "title": "Due Before"} |
due_after |
query | no | {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}], "title": "Due After"} |
kind |
query | no | {"anyOf": [{"enum": ["task", "service_ticket"], "type": "string"}, {"type": "null"}], "title": "Kind"} |
deliverable_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Deliverable Id"} |
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
POST /v1/workspaces/{workspace_id}/deliverables
Project Deliverable Create
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
Request body
Required: true.
{
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeliverableCreate"
}
}
}
}
Responses
{
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"200": {
"description": "Idempotent replay"
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
GET /v1/workspaces/{workspace_id}/deliverables/{item_id}
Project Deliverable Get
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
item_id |
path | yes | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Item Id"} |
board_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Board Id"} |
cursor |
query | no | {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Cursor"} |
limit |
query | no | {"type": "integer", "maximum": 100, "minimum": 1, "default": 50, "title": "Limit"} |
q |
query | no | {"anyOf": [{"type": "string", "maxLength": 160}, {"type": "null"}], "title": "Q"} |
state |
query | no | {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "State"} |
status_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Status Id"} |
type_ids |
query | no | {"anyOf": [{"type": "array", "items": {"type": "string", "format": "uuid"}}, {"type": "null"}], "title": "Type Ids"} |
label_ids |
query | no | {"anyOf": [{"type": "array", "items": {"type": "string", "format": "uuid"}}, {"type": "null"}], "title": "Label Ids"} |
archived |
query | no | {"type": "boolean", "default": false, "title": "Archived"} |
deleted |
query | no | {"type": "boolean", "default": false, "title": "Deleted"} |
assignee_id |
query | no | {"anyOf": [{"type": "integer", "exclusiveMinimum": 0}, {"type": "null"}], "title": "Assignee Id"} |
unassigned |
query | no | {"type": "boolean", "default": false, "title": "Unassigned"} |
priority |
query | no | {"anyOf": [{"enum": ["low", "normal", "high", "urgent"], "type": "string"}, {"type": "null"}], "title": "Priority"} |
due_before |
query | no | {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}], "title": "Due Before"} |
due_after |
query | no | {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}], "title": "Due After"} |
kind |
query | no | {"anyOf": [{"enum": ["task", "service_ticket"], "type": "string"}, {"type": "null"}], "title": "Kind"} |
deliverable_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Deliverable Id"} |
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
PATCH /v1/workspaces/{workspace_id}/deliverables/{item_id}
Project Deliverable Update
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
item_id |
path | yes | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Item Id"} |
Request body
Required: true.
{
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeliverableUpdate"
}
}
}
}
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
POST /v1/workspaces/{workspace_id}/deliverables/{item_id}/actions
Project Deliverable Action
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
item_id |
path | yes | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Item Id"} |
Request body
Required: true.
{
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Action"
}
}
}
}
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
GET /v1/workspaces/{workspace_id}/tasks
Project Task List
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
board_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Board Id"} |
cursor |
query | no | {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Cursor"} |
limit |
query | no | {"type": "integer", "maximum": 100, "minimum": 1, "default": 50, "title": "Limit"} |
q |
query | no | {"anyOf": [{"type": "string", "maxLength": 160}, {"type": "null"}], "title": "Q"} |
state |
query | no | {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "State"} |
status_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Status Id"} |
type_ids |
query | no | {"anyOf": [{"type": "array", "items": {"type": "string", "format": "uuid"}}, {"type": "null"}], "title": "Type Ids"} |
label_ids |
query | no | {"anyOf": [{"type": "array", "items": {"type": "string", "format": "uuid"}}, {"type": "null"}], "title": "Label Ids"} |
archived |
query | no | {"type": "boolean", "default": false, "title": "Archived"} |
deleted |
query | no | {"type": "boolean", "default": false, "title": "Deleted"} |
assignee_id |
query | no | {"anyOf": [{"type": "integer", "exclusiveMinimum": 0}, {"type": "null"}], "title": "Assignee Id"} |
unassigned |
query | no | {"type": "boolean", "default": false, "title": "Unassigned"} |
priority |
query | no | {"anyOf": [{"enum": ["low", "normal", "high", "urgent"], "type": "string"}, {"type": "null"}], "title": "Priority"} |
due_before |
query | no | {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}], "title": "Due Before"} |
due_after |
query | no | {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}], "title": "Due After"} |
kind |
query | no | {"anyOf": [{"enum": ["task", "service_ticket"], "type": "string"}, {"type": "null"}], "title": "Kind"} |
deliverable_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Deliverable Id"} |
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
POST /v1/workspaces/{workspace_id}/tasks
Project Task Create
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
Request body
Required: true.
{
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskCreate"
}
}
}
}
Responses
{
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"200": {
"description": "Idempotent replay"
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
GET /v1/workspaces/{workspace_id}/tasks/{item_id}
Project Task Get
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
item_id |
path | yes | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Item Id"} |
board_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Board Id"} |
cursor |
query | no | {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Cursor"} |
limit |
query | no | {"type": "integer", "maximum": 100, "minimum": 1, "default": 50, "title": "Limit"} |
q |
query | no | {"anyOf": [{"type": "string", "maxLength": 160}, {"type": "null"}], "title": "Q"} |
state |
query | no | {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "State"} |
status_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Status Id"} |
type_ids |
query | no | {"anyOf": [{"type": "array", "items": {"type": "string", "format": "uuid"}}, {"type": "null"}], "title": "Type Ids"} |
label_ids |
query | no | {"anyOf": [{"type": "array", "items": {"type": "string", "format": "uuid"}}, {"type": "null"}], "title": "Label Ids"} |
archived |
query | no | {"type": "boolean", "default": false, "title": "Archived"} |
deleted |
query | no | {"type": "boolean", "default": false, "title": "Deleted"} |
assignee_id |
query | no | {"anyOf": [{"type": "integer", "exclusiveMinimum": 0}, {"type": "null"}], "title": "Assignee Id"} |
unassigned |
query | no | {"type": "boolean", "default": false, "title": "Unassigned"} |
priority |
query | no | {"anyOf": [{"enum": ["low", "normal", "high", "urgent"], "type": "string"}, {"type": "null"}], "title": "Priority"} |
due_before |
query | no | {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}], "title": "Due Before"} |
due_after |
query | no | {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}], "title": "Due After"} |
kind |
query | no | {"anyOf": [{"enum": ["task", "service_ticket"], "type": "string"}, {"type": "null"}], "title": "Kind"} |
deliverable_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Deliverable Id"} |
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
PATCH /v1/workspaces/{workspace_id}/tasks/{item_id}
Project Task Update
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
item_id |
path | yes | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Item Id"} |
Request body
Required: true.
{
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskUpdate"
}
}
}
}
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
DELETE /v1/workspaces/{workspace_id}/tasks/{item_id}
Project Task Delete
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
item_id |
path | yes | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Item Id"} |
Request body
Required: true.
{
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RevisionInput"
}
}
}
}
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
POST /v1/workspaces/{workspace_id}/tasks/{item_id}/actions
Project Task Action
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
item_id |
path | yes | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Item Id"} |
Request body
Required: true.
{
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Action"
}
}
}
}
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
GET /v1/workspaces/{workspace_id}/notes
Project Note List
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
board_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Board Id"} |
cursor |
query | no | {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Cursor"} |
limit |
query | no | {"type": "integer", "maximum": 100, "minimum": 1, "default": 50, "title": "Limit"} |
q |
query | no | {"anyOf": [{"type": "string", "maxLength": 160}, {"type": "null"}], "title": "Q"} |
state |
query | no | {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "State"} |
status_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Status Id"} |
type_ids |
query | no | {"anyOf": [{"type": "array", "items": {"type": "string", "format": "uuid"}}, {"type": "null"}], "title": "Type Ids"} |
label_ids |
query | no | {"anyOf": [{"type": "array", "items": {"type": "string", "format": "uuid"}}, {"type": "null"}], "title": "Label Ids"} |
archived |
query | no | {"type": "boolean", "default": false, "title": "Archived"} |
deleted |
query | no | {"type": "boolean", "default": false, "title": "Deleted"} |
assignee_id |
query | no | {"anyOf": [{"type": "integer", "exclusiveMinimum": 0}, {"type": "null"}], "title": "Assignee Id"} |
unassigned |
query | no | {"type": "boolean", "default": false, "title": "Unassigned"} |
priority |
query | no | {"anyOf": [{"enum": ["low", "normal", "high", "urgent"], "type": "string"}, {"type": "null"}], "title": "Priority"} |
due_before |
query | no | {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}], "title": "Due Before"} |
due_after |
query | no | {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}], "title": "Due After"} |
kind |
query | no | {"anyOf": [{"enum": ["task", "service_ticket"], "type": "string"}, {"type": "null"}], "title": "Kind"} |
deliverable_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Deliverable Id"} |
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
POST /v1/workspaces/{workspace_id}/notes
Project Note Create
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
Request body
Required: true.
{
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NoteCreate"
}
}
}
}
Responses
{
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"200": {
"description": "Idempotent replay"
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
GET /v1/workspaces/{workspace_id}/notes/{item_id}
Project Note Get
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
item_id |
path | yes | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Item Id"} |
board_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Board Id"} |
cursor |
query | no | {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Cursor"} |
limit |
query | no | {"type": "integer", "maximum": 100, "minimum": 1, "default": 50, "title": "Limit"} |
q |
query | no | {"anyOf": [{"type": "string", "maxLength": 160}, {"type": "null"}], "title": "Q"} |
state |
query | no | {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "State"} |
status_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Status Id"} |
type_ids |
query | no | {"anyOf": [{"type": "array", "items": {"type": "string", "format": "uuid"}}, {"type": "null"}], "title": "Type Ids"} |
label_ids |
query | no | {"anyOf": [{"type": "array", "items": {"type": "string", "format": "uuid"}}, {"type": "null"}], "title": "Label Ids"} |
archived |
query | no | {"type": "boolean", "default": false, "title": "Archived"} |
deleted |
query | no | {"type": "boolean", "default": false, "title": "Deleted"} |
assignee_id |
query | no | {"anyOf": [{"type": "integer", "exclusiveMinimum": 0}, {"type": "null"}], "title": "Assignee Id"} |
unassigned |
query | no | {"type": "boolean", "default": false, "title": "Unassigned"} |
priority |
query | no | {"anyOf": [{"enum": ["low", "normal", "high", "urgent"], "type": "string"}, {"type": "null"}], "title": "Priority"} |
due_before |
query | no | {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}], "title": "Due Before"} |
due_after |
query | no | {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}], "title": "Due After"} |
kind |
query | no | {"anyOf": [{"enum": ["task", "service_ticket"], "type": "string"}, {"type": "null"}], "title": "Kind"} |
deliverable_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Deliverable Id"} |
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
PATCH /v1/workspaces/{workspace_id}/notes/{item_id}
Project Note Update
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
item_id |
path | yes | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Item Id"} |
Request body
Required: true.
{
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NoteUpdate"
}
}
}
}
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
POST /v1/workspaces/{workspace_id}/notes/{item_id}/actions
Project Note Action
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
item_id |
path | yes | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Item Id"} |
Request body
Required: true.
{
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Action"
}
}
}
}
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
GET /v1/workspaces/{workspace_id}/tickets
Project Ticket List
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
board_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Board Id"} |
cursor |
query | no | {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Cursor"} |
limit |
query | no | {"type": "integer", "maximum": 100, "minimum": 1, "default": 50, "title": "Limit"} |
q |
query | no | {"anyOf": [{"type": "string", "maxLength": 160}, {"type": "null"}], "title": "Q"} |
state |
query | no | {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "State"} |
status_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Status Id"} |
type_ids |
query | no | {"anyOf": [{"type": "array", "items": {"type": "string", "format": "uuid"}}, {"type": "null"}], "title": "Type Ids"} |
label_ids |
query | no | {"anyOf": [{"type": "array", "items": {"type": "string", "format": "uuid"}}, {"type": "null"}], "title": "Label Ids"} |
archived |
query | no | {"type": "boolean", "default": false, "title": "Archived"} |
deleted |
query | no | {"type": "boolean", "default": false, "title": "Deleted"} |
assignee_id |
query | no | {"anyOf": [{"type": "integer", "exclusiveMinimum": 0}, {"type": "null"}], "title": "Assignee Id"} |
unassigned |
query | no | {"type": "boolean", "default": false, "title": "Unassigned"} |
priority |
query | no | {"anyOf": [{"enum": ["low", "normal", "high", "urgent"], "type": "string"}, {"type": "null"}], "title": "Priority"} |
due_before |
query | no | {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}], "title": "Due Before"} |
due_after |
query | no | {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}], "title": "Due After"} |
kind |
query | no | {"anyOf": [{"enum": ["task", "service_ticket"], "type": "string"}, {"type": "null"}], "title": "Kind"} |
deliverable_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Deliverable Id"} |
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
POST /v1/workspaces/{workspace_id}/tickets
Project Ticket Create
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
Request body
Required: true.
{
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TicketCreate"
}
}
}
}
Responses
{
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"200": {
"description": "Idempotent replay"
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
GET /v1/workspaces/{workspace_id}/tickets/{item_id}
Project Ticket Get
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
item_id |
path | yes | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Item Id"} |
board_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Board Id"} |
cursor |
query | no | {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Cursor"} |
limit |
query | no | {"type": "integer", "maximum": 100, "minimum": 1, "default": 50, "title": "Limit"} |
q |
query | no | {"anyOf": [{"type": "string", "maxLength": 160}, {"type": "null"}], "title": "Q"} |
state |
query | no | {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "State"} |
status_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Status Id"} |
type_ids |
query | no | {"anyOf": [{"type": "array", "items": {"type": "string", "format": "uuid"}}, {"type": "null"}], "title": "Type Ids"} |
label_ids |
query | no | {"anyOf": [{"type": "array", "items": {"type": "string", "format": "uuid"}}, {"type": "null"}], "title": "Label Ids"} |
archived |
query | no | {"type": "boolean", "default": false, "title": "Archived"} |
deleted |
query | no | {"type": "boolean", "default": false, "title": "Deleted"} |
assignee_id |
query | no | {"anyOf": [{"type": "integer", "exclusiveMinimum": 0}, {"type": "null"}], "title": "Assignee Id"} |
unassigned |
query | no | {"type": "boolean", "default": false, "title": "Unassigned"} |
priority |
query | no | {"anyOf": [{"enum": ["low", "normal", "high", "urgent"], "type": "string"}, {"type": "null"}], "title": "Priority"} |
due_before |
query | no | {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}], "title": "Due Before"} |
due_after |
query | no | {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}], "title": "Due After"} |
kind |
query | no | {"anyOf": [{"enum": ["task", "service_ticket"], "type": "string"}, {"type": "null"}], "title": "Kind"} |
deliverable_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Deliverable Id"} |
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
POST /v1/workspaces/{workspace_id}/tickets/{item_id}/actions
Project Ticket Action
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
item_id |
path | yes | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Item Id"} |
Request body
Required: true.
{
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Action"
}
}
}
}
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
GET /v1/workspaces/{workspace_id}/notes/{item_id}/replies
Project Note Replies
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
item_id |
path | yes | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Item Id"} |
board_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Board Id"} |
cursor |
query | no | {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Cursor"} |
limit |
query | no | {"type": "integer", "maximum": 100, "minimum": 1, "default": 50, "title": "Limit"} |
q |
query | no | {"anyOf": [{"type": "string", "maxLength": 160}, {"type": "null"}], "title": "Q"} |
state |
query | no | {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "State"} |
status_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Status Id"} |
type_ids |
query | no | {"anyOf": [{"type": "array", "items": {"type": "string", "format": "uuid"}}, {"type": "null"}], "title": "Type Ids"} |
label_ids |
query | no | {"anyOf": [{"type": "array", "items": {"type": "string", "format": "uuid"}}, {"type": "null"}], "title": "Label Ids"} |
archived |
query | no | {"type": "boolean", "default": false, "title": "Archived"} |
deleted |
query | no | {"type": "boolean", "default": false, "title": "Deleted"} |
assignee_id |
query | no | {"anyOf": [{"type": "integer", "exclusiveMinimum": 0}, {"type": "null"}], "title": "Assignee Id"} |
unassigned |
query | no | {"type": "boolean", "default": false, "title": "Unassigned"} |
priority |
query | no | {"anyOf": [{"enum": ["low", "normal", "high", "urgent"], "type": "string"}, {"type": "null"}], "title": "Priority"} |
due_before |
query | no | {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}], "title": "Due Before"} |
due_after |
query | no | {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}], "title": "Due After"} |
kind |
query | no | {"anyOf": [{"enum": ["task", "service_ticket"], "type": "string"}, {"type": "null"}], "title": "Kind"} |
deliverable_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Deliverable Id"} |
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
POST /v1/workspaces/{workspace_id}/notes/{item_id}/replies
Project Note Reply
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
item_id |
path | yes | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Item Id"} |
Request body
Required: true.
{
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Reply"
}
}
}
}
Responses
{
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"200": {
"description": "Idempotent replay"
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
GET /v1/workspaces/{workspace_id}/tickets/{item_id}/messages
Project Ticket Messages
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
item_id |
path | yes | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Item Id"} |
board_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Board Id"} |
cursor |
query | no | {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Cursor"} |
limit |
query | no | {"type": "integer", "maximum": 100, "minimum": 1, "default": 50, "title": "Limit"} |
q |
query | no | {"anyOf": [{"type": "string", "maxLength": 160}, {"type": "null"}], "title": "Q"} |
state |
query | no | {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "State"} |
status_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Status Id"} |
type_ids |
query | no | {"anyOf": [{"type": "array", "items": {"type": "string", "format": "uuid"}}, {"type": "null"}], "title": "Type Ids"} |
label_ids |
query | no | {"anyOf": [{"type": "array", "items": {"type": "string", "format": "uuid"}}, {"type": "null"}], "title": "Label Ids"} |
archived |
query | no | {"type": "boolean", "default": false, "title": "Archived"} |
deleted |
query | no | {"type": "boolean", "default": false, "title": "Deleted"} |
assignee_id |
query | no | {"anyOf": [{"type": "integer", "exclusiveMinimum": 0}, {"type": "null"}], "title": "Assignee Id"} |
unassigned |
query | no | {"type": "boolean", "default": false, "title": "Unassigned"} |
priority |
query | no | {"anyOf": [{"enum": ["low", "normal", "high", "urgent"], "type": "string"}, {"type": "null"}], "title": "Priority"} |
due_before |
query | no | {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}], "title": "Due Before"} |
due_after |
query | no | {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}], "title": "Due After"} |
kind |
query | no | {"anyOf": [{"enum": ["task", "service_ticket"], "type": "string"}, {"type": "null"}], "title": "Kind"} |
deliverable_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Deliverable Id"} |
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
POST /v1/workspaces/{workspace_id}/tickets/{item_id}/messages
Project Ticket Message
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
item_id |
path | yes | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Item Id"} |
Request body
Required: true.
{
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Reply"
}
}
}
}
Responses
{
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"200": {
"description": "Idempotent replay"
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
POST /v1/workspaces/{workspace_id}/tasks/{item_id}/restore
Project Task Restore Deleted
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
item_id |
path | yes | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Item Id"} |
Request body
Required: true.
{
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RevisionInput"
}
}
}
}
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
GET /v1/workspaces/{workspace_id}/tasks/{item_id}/comments
Project Task Comments
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
item_id |
path | yes | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Item Id"} |
board_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Board Id"} |
cursor |
query | no | {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Cursor"} |
limit |
query | no | {"type": "integer", "maximum": 100, "minimum": 1, "default": 50, "title": "Limit"} |
q |
query | no | {"anyOf": [{"type": "string", "maxLength": 160}, {"type": "null"}], "title": "Q"} |
state |
query | no | {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "State"} |
status_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Status Id"} |
type_ids |
query | no | {"anyOf": [{"type": "array", "items": {"type": "string", "format": "uuid"}}, {"type": "null"}], "title": "Type Ids"} |
label_ids |
query | no | {"anyOf": [{"type": "array", "items": {"type": "string", "format": "uuid"}}, {"type": "null"}], "title": "Label Ids"} |
archived |
query | no | {"type": "boolean", "default": false, "title": "Archived"} |
deleted |
query | no | {"type": "boolean", "default": false, "title": "Deleted"} |
assignee_id |
query | no | {"anyOf": [{"type": "integer", "exclusiveMinimum": 0}, {"type": "null"}], "title": "Assignee Id"} |
unassigned |
query | no | {"type": "boolean", "default": false, "title": "Unassigned"} |
priority |
query | no | {"anyOf": [{"enum": ["low", "normal", "high", "urgent"], "type": "string"}, {"type": "null"}], "title": "Priority"} |
due_before |
query | no | {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}], "title": "Due Before"} |
due_after |
query | no | {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}], "title": "Due After"} |
kind |
query | no | {"anyOf": [{"enum": ["task", "service_ticket"], "type": "string"}, {"type": "null"}], "title": "Kind"} |
deliverable_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Deliverable Id"} |
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
POST /v1/workspaces/{workspace_id}/tasks/{item_id}/comments
Project Task Comment
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
item_id |
path | yes | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Item Id"} |
Request body
Required: true.
{
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CommentCreate"
}
}
}
}
Responses
{
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
PATCH /v1/workspaces/{workspace_id}/tasks/{item_id}/comments/{comment_id}
Project Task Comment Update
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
item_id |
path | yes | {"type": "string", "format": "uuid", "title": "Item Id"} |
comment_id |
path | yes | {"type": "string", "format": "uuid", "title": "Comment Id"} |
Request body
Required: true.
{
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CommentUpdate"
}
}
}
}
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
DELETE /v1/workspaces/{workspace_id}/tasks/{item_id}/comments/{comment_id}
Project Task Comment Delete
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
item_id |
path | yes | {"type": "string", "format": "uuid", "title": "Item Id"} |
comment_id |
path | yes | {"type": "string", "format": "uuid", "title": "Comment Id"} |
Request body
Required: true.
{
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RevisionInput"
}
}
}
}
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
GET /v1/health
Health
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
}
}
GET /v1/me
Identity
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
}
}
GET /v1/workspaces/{workspace_id}/project-endpoint
Project Endpoint
Resolve project storage and direct API/MCP endpoints. Requires project:read. Never proxies project content.
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
GET /v1/workspaces
Workspaces
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
}
}
GET /v1/workspaces/{workspace_id}/api-entitlements
Entitlements
Requires usage:read. Accepted effective API terms.
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
GET /v1/workspaces/{workspace_id}/api-usage
Api Usage
Requires usage:read. Native consumption and visible daily request totals.
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
GET /v1/workspaces/{workspace_id}/api-usage/requests
Api Requests
Requires usage:read and request-history permission. No bodies, credentials, or raw URLs are recorded.
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
limit |
query | no | {"type": "integer", "maximum": 100, "minimum": 1, "default": 50, "title": "Limit"} |
cursor |
query | no | {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Cursor"} |
key_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Key Id"} |
request_id |
query | no | {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Request Id"} |
status |
query | no | {"anyOf": [{"type": "integer", "maximum": 599, "minimum": 0}, {"type": "null"}], "title": "Status"} |
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
GET /v1/workspaces/{workspace_id}/agent-context
Agent Context
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
GET /v1/workspaces/{workspace_id}/resources
Resources
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
cursor |
query | no | {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Cursor"} |
limit |
query | no | {"type": "integer", "maximum": 100, "minimum": 1, "default": 50, "title": "Limit"} |
external_id |
query | no | {"anyOf": [{"type": "string", "minLength": 1, "maxLength": 200, "pattern": "^[A-Za-z0-9._:/@+\\-]+$"}, {"type": "null"}], "title": "External Id"} |
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
POST /v1/workspaces/{workspace_id}/resources
Create Resource
Requires resources:write and all-resource access. A stable external_id prevents duplicate registration.
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
Request body
Required: true.
{
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResourceCreate"
}
}
}
}
Responses
{
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"200": {
"description": "Identical registration already exists"
},
"409": {
"description": "External ID conflict"
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
PATCH /v1/workspaces/{workspace_id}/resources/{resource_id}
Update Resource
Requires resources:write for this resource. Set status to retired to preserve its record and retained logs.
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
resource_id |
path | yes | {"type": "string", "format": "uuid", "title": "Resource Id"} |
Request body
Required: true.
{
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResourceUpdate"
}
}
}
}
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
GET /v1/workspaces/{workspace_id}/resources/{resource_id}
Resource
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
resource_id |
path | yes | {"type": "string", "format": "uuid", "title": "Resource Id"} |
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
GET /v1/workspaces/{workspace_id}/resources/{resource_id}/alerts
Resource Alerts Read
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
resource_id |
path | yes | {"type": "string", "format": "uuid", "title": "Resource Id"} |
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
POST /v1/workspaces/{workspace_id}/resources/{resource_id}/alerts
Resource Alerts Write
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
resource_id |
path | yes | {"type": "string", "format": "uuid", "title": "Resource Id"} |
Request body
Required: true.
{
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AlertChange"
}
}
}
}
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
GET /v1/workspaces/{workspace_id}/resources/{resource_id}/monitoring
Monitoring Read
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
resource_id |
path | yes | {"type": "string", "format": "uuid", "title": "Resource Id"} |
view |
query | no | {"enum": ["status", "history", "incidents", "deliveries"], "type": "string", "default": "status", "title": "View"} |
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
POST /v1/workspaces/{workspace_id}/resources/{resource_id}/monitoring
Monitoring Configure
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
resource_id |
path | yes | {"type": "string", "format": "uuid", "title": "Resource Id"} |
Request body
Required: true.
{
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MonitorChange"
}
}
}
}
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
POST /v1/workspaces/{workspace_id}/resources/{resource_id}/monitoring/subscription
Monitoring Subscription
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
resource_id |
path | yes | {"type": "string", "format": "uuid", "title": "Resource Id"} |
Request body
Required: true.
{
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MonitorSubscription"
}
}
}
}
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
POST /v1/workspaces/{workspace_id}/resources/{resource_id}/monitoring/sources
Monitoring Source
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
resource_id |
path | yes | {"type": "string", "format": "uuid", "title": "Resource Id"} |
Request body
Required: true.
{
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MonitorSourceInput"
}
}
}
}
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
GET /v1/workspaces/{workspace_id}/resources/{resource_id}/repository
Repository Read
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
resource_id |
path | yes | {"type": "string", "format": "uuid", "title": "Resource Id"} |
view |
query | no | {"enum": ["status", "tree", "file", "search", "semantic"], "type": "string", "default": "status", "title": "View"} |
source |
query | no | {"enum": ["code", "wiki"], "type": "string", "default": "code", "title": "Source"} |
path |
query | no | {"type": "string", "maxLength": 2000, "default": "", "title": "Path"} |
query |
query | no | {"type": "string", "maxLength": 1000, "default": "", "title": "Query"} |
limit |
query | no | {"type": "integer", "maximum": 100, "minimum": 1, "default": 30, "title": "Limit"} |
line |
query | no | {"type": "integer", "minimum": 1, "default": 1, "title": "Line"} |
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
POST /v1/workspaces/{workspace_id}/resources/{resource_id}/repository/refresh
Repository Refresh
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
resource_id |
path | yes | {"type": "string", "format": "uuid", "title": "Resource Id"} |
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
GET /v1/workspaces/{workspace_id}/resources/{resource_id}/ssh-key
Resource Ssh Key Status
Return Neura SSH alias, destination, fingerprint, and synchronization status. Key material is never returned.
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
resource_id |
path | yes | {"type": "string", "format": "uuid", "title": "Resource Id"} |
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
PUT /v1/workspaces/{workspace_id}/resources/{resource_id}/ssh-key
Set Resource Ssh Key
Install or rotate a write-only private key in the workspace's ready Neura runtime. Send pasted key contents or read an uploaded local key file into private_key.
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
resource_id |
path | yes | {"type": "string", "format": "uuid", "title": "Resource Id"} |
Request body
Required: true.
{
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResourceSSHKeySet"
}
}
}
}
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
DELETE /v1/workspaces/{workspace_id}/resources/{resource_id}/ssh-key
Remove Resource Ssh Key
Remove the Neura SSH alias, private key, host trust entry, and destination firewall grant.
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
resource_id |
path | yes | {"type": "string", "format": "uuid", "title": "Resource Id"} |
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
GET /v1/workspaces/{workspace_id}/services
Services
Requires services:read.
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
q |
query | no | {"type": "string", "maxLength": 160, "default": "", "title": "Q"} |
cursor |
query | no | {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Cursor"} |
limit |
query | no | {"type": "integer", "maximum": 100, "minimum": 1, "default": 50, "title": "Limit"} |
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
POST /v1/workspaces/{workspace_id}/services
Create Service
Requires a staff-audience key, services:write and the bound staff actor's live service permission. Creates a record, never billing.
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
Request body
Required: true.
{
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceCreate"
}
}
}
}
Responses
{
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"200": {
"description": "Identical operation already completed"
},
"409": {
"description": "Idempotency conflict"
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
GET /v1/workspaces/{workspace_id}/services/{service_id}
Service
Requires services:read.
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
service_id |
path | yes | {"type": "string", "format": "uuid", "title": "Service Id"} |
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
PATCH /v1/workspaces/{workspace_id}/services/{service_id}
Update Service
Staff only, services:write. Partial metadata edit; requires the latest updated_at and a reusable idempotency key.
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
service_id |
path | yes | {"type": "string", "format": "uuid", "title": "Service Id"} |
Request body
Required: true.
{
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceUpdate"
}
}
}
}
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"409": {
"description": "Record changed or idempotency conflict"
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
GET /v1/workspaces/{workspace_id}/services/{service_id}/usage
Service Usage
Requires services:usage:read.
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
service_id |
path | yes | {"type": "string", "format": "uuid", "title": "Service Id"} |
cursor |
query | no | {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Cursor"} |
limit |
query | no | {"type": "integer", "maximum": 100, "minimum": 1, "default": 50, "title": "Limit"} |
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
POST /v1/workspaces/{workspace_id}/services/{service_id}/time
Service Time Create
Staff only: services:usage:write. Explicit actual minutes; never invoices automatically.
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
service_id |
path | yes | {"type": "string", "format": "uuid", "title": "Service Id"} |
Request body
Required: true.
{
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TimeCreate"
}
}
}
}
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
PATCH /v1/workspaces/{workspace_id}/services/{service_id}/time/{entry_id}
Service Time Correct
Staff only: services:usage:write. Revision and correction reason required.
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
service_id |
path | yes | {"type": "string", "format": "uuid", "title": "Service Id"} |
entry_id |
path | yes | {"type": "string", "format": "uuid", "title": "Entry Id"} |
Request body
Required: true.
{
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TimeCorrect"
}
}
}
}
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
POST /v1/workspaces/{workspace_id}/services/{service_id}/time/{entry_id}/void
Service Time Void
Staff only: services:usage:write. Retains correction history.
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
service_id |
path | yes | {"type": "string", "format": "uuid", "title": "Service Id"} |
entry_id |
path | yes | {"type": "string", "format": "uuid", "title": "Entry Id"} |
Request body
Required: true.
{
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TimeVoid"
}
}
}
}
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
PUT /v1/workspaces/{workspace_id}/resources/{resource_id}/services/{service_id}
Attach Service
Add an existing service association. Requires resources:write, services:read, and access to the resource. Safe to retry; other associations are retained.
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
resource_id |
path | yes | {"type": "string", "format": "uuid", "title": "Resource Id"} |
service_id |
path | yes | {"type": "string", "format": "uuid", "title": "Service Id"} |
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
POST /v1/workspaces/{workspace_id}/resources/{resource_id}/logs
Logs Ingest
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
resource_id |
path | yes | {"type": "string", "format": "uuid", "title": "Resource Id"} |
Request body
Required: true.
{
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Batch"
}
}
}
}
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
GET /v1/workspaces/{workspace_id}/resources/{resource_id}/logs
Logs Query
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
resource_id |
path | yes | {"type": "string", "format": "uuid", "title": "Resource Id"} |
cursor |
query | no | {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Cursor"} |
limit |
query | no | {"type": "integer", "maximum": 200, "minimum": 1, "default": 100, "title": "Limit"} |
start |
query | no | {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Start"} |
end |
query | no | {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "End"} |
severity |
query | no | {"anyOf": [{"type": "string", "pattern": "^(TRACE|DEBUG|INFO|WARN|ERROR|FATAL)$"}, {"type": "null"}], "title": "Severity"} |
q |
query | no | {"anyOf": [{"type": "string", "maxLength": 500}, {"type": "null"}], "title": "Q"} |
trace_id |
query | no | {"anyOf": [{"type": "string", "pattern": "^[0-9a-f]{32}$"}, {"type": "null"}], "title": "Trace Id"} |
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
POST /v1/workspaces/{workspace_id}/resources/{resource_id}/otlp/v1/logs
Otlp Ingest
OTLP/HTTP ExportLogsServiceRequest, application/x-protobuf or application/json; gzip supported.
Parameters
| Name | Location | Required | Schema |
|---|---|---|---|
workspace_id |
path | yes | {"type": "string", "format": "uuid", "title": "Workspace Id"} |
resource_id |
path | yes | {"type": "string", "format": "uuid", "title": "Resource Id"} |
Responses
{
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
Schema definitions
Request/response $ref values refer to these component schemas.
{
"schemas": {
"Action": {
"properties": {
"board_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Board Id"
},
"status_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Status Id"
},
"revision": {
"type": "integer",
"minimum": 1.0,
"title": "Revision"
},
"action": {
"type": "string",
"enum": [
"work",
"claim",
"approve",
"changes",
"state",
"reopen",
"archive",
"restore",
"update"
],
"title": "Action"
},
"state": {
"anyOf": [
{
"type": "string",
"maxLength": 20
},
{
"type": "null"
}
],
"title": "State"
},
"body": {
"type": "string",
"maxLength": 3000,
"title": "Body",
"default": ""
},
"blocked_reason": {
"type": "string",
"maxLength": 500,
"title": "Blocked Reason",
"default": ""
},
"assignee": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0.0
},
{
"type": "null"
}
],
"title": "Assignee"
},
"priority": {
"anyOf": [
{
"type": "string",
"enum": [
"low",
"normal",
"high",
"urgent"
]
},
{
"type": "null"
}
],
"title": "Priority"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"revision",
"action"
],
"title": "Action"
},
"AlertChange": {
"properties": {
"operation": {
"type": "string",
"enum": [
"subscribe",
"policy",
"save_destination",
"request_verification",
"verify_destination",
"pause_destination",
"remove_destination",
"test",
"save_route",
"pause_route",
"acknowledge"
],
"title": "Operation"
},
"values": {
"$ref": "#/components/schemas/AlertValues"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"operation",
"values"
],
"title": "AlertChange"
},
"AlertValues": {
"properties": {
"operation_id": {
"type": "string",
"format": "uuid",
"title": "Operation Id"
},
"id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Id"
},
"incident_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Incident Id"
},
"revision": {
"anyOf": [
{
"type": "integer",
"minimum": 0.0
},
{
"type": "null"
}
],
"title": "Revision"
},
"label": {
"anyOf": [
{
"type": "string",
"maxLength": 100
},
{
"type": "null"
}
],
"title": "Label"
},
"channel": {
"anyOf": [
{
"type": "string",
"enum": [
"email",
"sms",
"webhook",
"slack",
"discord"
]
},
{
"type": "null"
}
],
"title": "Channel"
},
"address": {
"anyOf": [
{
"type": "string",
"maxLength": 2048
},
{
"type": "null"
}
],
"title": "Address"
},
"shared": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Shared"
},
"enabled": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Enabled"
},
"paused": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Paused"
},
"consent": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Consent"
},
"code": {
"anyOf": [
{
"type": "string",
"maxLength": 64
},
{
"type": "null"
}
],
"title": "Code"
},
"action": {
"anyOf": [
{
"type": "string",
"enum": [
"subscribe",
"defaults",
"unsubscribe"
]
},
{
"type": "null"
}
],
"title": "Action"
},
"channels": {
"anyOf": [
{
"additionalProperties": {
"type": "string",
"enum": [
"on",
"off",
""
]
},
"type": "object"
},
{
"type": "null"
}
],
"title": "Channels"
},
"configuration": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Configuration"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"operation_id"
],
"title": "AlertValues"
},
"BoardAction": {
"properties": {
"board_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Board Id"
},
"revision": {
"type": "integer",
"minimum": 1.0,
"title": "Revision"
},
"action": {
"type": "string",
"enum": [
"rename",
"archive",
"restore"
],
"title": "Action"
},
"name": {
"anyOf": [
{
"type": "string",
"maxLength": 120,
"minLength": 1
},
{
"type": "null"
}
],
"title": "Name"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"revision",
"action"
],
"title": "BoardAction"
},
"BoardConfigure": {
"properties": {
"board_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Board Id"
},
"revision": {
"type": "string",
"maxLength": 64,
"minLength": 64,
"title": "Revision"
},
"action": {
"type": "string",
"enum": [
"create",
"update",
"default",
"reorder",
"retire"
],
"title": "Action"
},
"status_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Status Id"
},
"name": {
"anyOf": [
{
"type": "string",
"maxLength": 60,
"minLength": 1
},
{
"type": "null"
}
],
"title": "Name"
},
"category": {
"anyOf": [
{
"type": "string",
"enum": [
"todo",
"doing",
"done"
]
},
{
"type": "null"
}
],
"title": "Category"
},
"color": {
"anyOf": [
{
"type": "string",
"enum": [
"gray",
"blue",
"orange",
"purple",
"green",
"pink",
"teal"
]
},
{
"type": "null"
}
],
"title": "Color"
},
"status_ids": {
"anyOf": [
{
"items": {
"type": "string",
"format": "uuid"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Status Ids"
},
"replacement_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Replacement Id"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"revision",
"action"
],
"title": "BoardConfigure"
},
"BoardCreate": {
"properties": {
"board_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Board Id"
},
"idempotency_key": {
"type": "string",
"format": "uuid",
"title": "Idempotency Key"
},
"name": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"title": "Name"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"idempotency_key",
"name"
],
"title": "BoardCreate"
},
"CommentCreate": {
"properties": {
"board_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Board Id"
},
"idempotency_key": {
"type": "string",
"format": "uuid",
"title": "Idempotency Key"
},
"body": {
"type": "string",
"maxLength": 4000,
"minLength": 1,
"title": "Body"
},
"visibility": {
"anyOf": [
{
"type": "string",
"enum": [
"shared",
"internal"
]
},
{
"type": "null"
}
],
"title": "Visibility"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"idempotency_key",
"body"
],
"title": "CommentCreate"
},
"CommentUpdate": {
"properties": {
"board_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Board Id"
},
"revision": {
"type": "integer",
"minimum": 1.0,
"title": "Revision"
},
"body": {
"type": "string",
"maxLength": 4000,
"minLength": 1,
"title": "Body"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"revision",
"body"
],
"title": "CommentUpdate"
},
"DeliverableCreate": {
"properties": {
"board_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Board Id"
},
"idempotency_key": {
"type": "string",
"format": "uuid",
"title": "Idempotency Key"
},
"title": {
"type": "string",
"maxLength": 160,
"minLength": 1,
"title": "Title"
},
"description": {
"type": "string",
"maxLength": 6000,
"title": "Description",
"default": ""
},
"acceptance": {
"type": "string",
"maxLength": 4000,
"title": "Acceptance",
"default": ""
},
"owner": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0.0
},
{
"type": "null"
}
],
"title": "Owner"
},
"starts_on": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"title": "Starts On"
},
"due_on": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"title": "Due On"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"idempotency_key",
"title"
],
"title": "DeliverableCreate"
},
"DeliverableUpdate": {
"properties": {
"board_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Board Id"
},
"revision": {
"type": "integer",
"minimum": 1.0,
"title": "Revision"
},
"title": {
"anyOf": [
{
"type": "string",
"maxLength": 160,
"minLength": 1
},
{
"type": "null"
}
],
"title": "Title"
},
"description": {
"anyOf": [
{
"type": "string",
"maxLength": 6000
},
{
"type": "null"
}
],
"title": "Description"
},
"acceptance": {
"anyOf": [
{
"type": "string",
"maxLength": 4000
},
{
"type": "null"
}
],
"title": "Acceptance"
},
"owner": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0.0
},
{
"type": "null"
}
],
"title": "Owner"
},
"starts_on": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"title": "Starts On"
},
"due_on": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"title": "Due On"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"revision"
],
"title": "DeliverableUpdate"
},
"HTTPValidationError": {
"properties": {
"detail": {
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
},
"MonitorChange": {
"properties": {
"id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Id"
},
"name": {
"anyOf": [
{
"type": "string",
"maxLength": 100,
"minLength": 1
},
{
"type": "null"
}
],
"title": "Name"
},
"kind": {
"anyOf": [
{
"type": "string",
"enum": [
"https",
"tcp",
"icmp",
"postgresql",
"mysql",
"mariadb",
"redis",
"mongodb",
"heartbeat"
]
},
{
"type": "null"
}
],
"title": "Kind"
},
"location": {
"anyOf": [
{
"type": "string",
"enum": [
"public",
"neura",
"collector",
"heartbeat"
]
},
{
"type": "null"
}
],
"title": "Location"
},
"configuration": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Configuration"
},
"source_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Source Id"
},
"credential": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Credential"
},
"enabled": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Enabled"
},
"required": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Required"
},
"maintenance_until": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Maintenance Until"
}
},
"additionalProperties": false,
"type": "object",
"title": "MonitorChange"
},
"MonitorSourceInput": {
"properties": {
"action": {
"type": "string",
"enum": [
"enroll",
"revoke"
],
"title": "Action"
},
"name": {
"type": "string",
"maxLength": 100,
"title": "Name",
"default": ""
},
"kind": {
"type": "string",
"enum": [
"collector",
"heartbeat"
],
"title": "Kind",
"default": "collector"
},
"source_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Source Id"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"action"
],
"title": "MonitorSourceInput"
},
"MonitorSubscription": {
"properties": {
"action": {
"type": "string",
"enum": [
"defaults",
"save",
"unsubscribe"
],
"title": "Action"
},
"channels": {
"additionalProperties": {
"type": "string",
"enum": [
"on",
"off"
]
},
"type": "object",
"title": "Channels"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"action"
],
"title": "MonitorSubscription"
},
"NoteCreate": {
"properties": {
"board_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Board Id"
},
"idempotency_key": {
"type": "string",
"format": "uuid",
"title": "Idempotency Key"
},
"title": {
"type": "string",
"maxLength": 120,
"title": "Title",
"default": ""
},
"body": {
"type": "string",
"maxLength": 5000,
"minLength": 1,
"title": "Body"
},
"color": {
"type": "string",
"enum": [
"yellow",
"blue",
"pink",
"green",
"orange",
"purple",
"teal",
"gray"
],
"title": "Color",
"default": "yellow"
},
"visibility": {
"anyOf": [
{
"type": "string",
"enum": [
"shared",
"internal"
]
},
{
"type": "null"
}
],
"title": "Visibility"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"idempotency_key",
"body"
],
"title": "NoteCreate"
},
"NoteUpdate": {
"properties": {
"board_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Board Id"
},
"revision": {
"type": "integer",
"minimum": 1.0,
"title": "Revision"
},
"title": {
"anyOf": [
{
"type": "string",
"maxLength": 120
},
{
"type": "null"
}
],
"title": "Title"
},
"body": {
"anyOf": [
{
"type": "string",
"maxLength": 5000,
"minLength": 1
},
{
"type": "null"
}
],
"title": "Body"
},
"color": {
"anyOf": [
{
"type": "string",
"enum": [
"yellow",
"blue",
"pink",
"green",
"orange",
"purple",
"teal",
"gray"
]
},
{
"type": "null"
}
],
"title": "Color"
},
"visibility": {
"anyOf": [
{
"type": "string",
"enum": [
"shared",
"internal"
]
},
{
"type": "null"
}
],
"title": "Visibility"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"revision"
],
"title": "NoteUpdate"
},
"Reply": {
"properties": {
"board_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Board Id"
},
"idempotency_key": {
"type": "string",
"format": "uuid",
"title": "Idempotency Key"
},
"body": {
"type": "string",
"maxLength": 20000,
"minLength": 1,
"title": "Body"
},
"visibility": {
"anyOf": [
{
"type": "string",
"enum": [
"shared",
"internal"
]
},
{
"type": "null"
}
],
"title": "Visibility"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"idempotency_key",
"body"
],
"title": "Reply"
},
"ResourceCreate": {
"properties": {
"external_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"pattern": "^[A-Za-z0-9._:/@+\\-]+$",
"title": "External Id"
},
"name": {
"type": "string",
"maxLength": 160,
"minLength": 1,
"title": "Name"
},
"kind": {
"type": "string",
"enum": [
"website",
"server",
"database",
"api",
"repository",
"domain",
"storage",
"other"
],
"title": "Kind",
"default": "other"
},
"status": {
"type": "string",
"enum": [
"planned",
"active",
"retired"
],
"title": "Status",
"default": "active"
},
"provider": {
"type": "string",
"maxLength": 120,
"title": "Provider",
"default": ""
},
"environment": {
"type": "string",
"maxLength": 80,
"title": "Environment",
"default": ""
},
"description": {
"type": "string",
"maxLength": 12000,
"title": "Description",
"default": ""
},
"public_url": {
"type": "string",
"maxLength": 200,
"title": "Public Url",
"default": ""
},
"details": {
"additionalProperties": {
"type": "string",
"maxLength": 2000
},
"propertyNames": {
"maxLength": 120,
"minLength": 1
},
"type": "object",
"maxProperties": 30,
"title": "Details",
"description": "Workspace-visible labeled details. Typed keys: host, operating_system, service_ports (comma-separated ports), database_engine, database_name, database_port, database_tls (required or disabled). Never include credentials."
},
"sticker": {
"type": "string",
"enum": [
"auto",
"website",
"server",
"database",
"api",
"repository",
"domain",
"storage",
"other"
],
"title": "Sticker",
"default": "auto"
},
"tags": {
"items": {
"type": "string",
"maxLength": 40,
"minLength": 1
},
"type": "array",
"maxItems": 12,
"title": "Tags"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"external_id",
"name"
],
"title": "ResourceCreate"
},
"ResourceSSHKeySet": {
"properties": {
"alias": {
"type": "string",
"maxLength": 63,
"minLength": 1,
"pattern": "^[a-z][a-z0-9-]*$",
"title": "Alias"
},
"host": {
"type": "string",
"maxLength": 250,
"minLength": 1,
"title": "Host"
},
"port": {
"type": "integer",
"maximum": 65535.0,
"minimum": 1.0,
"title": "Port",
"default": 22
},
"username": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"pattern": "^[A-Za-z0-9_][A-Za-z0-9_.-]*$",
"title": "Username"
},
"private_key": {
"type": "string",
"maxLength": 32768,
"minLength": 1,
"title": "Private Key"
},
"passphrase": {
"type": "string",
"maxLength": 1024,
"title": "Passphrase",
"default": ""
}
},
"additionalProperties": false,
"type": "object",
"required": [
"alias",
"host",
"username",
"private_key"
],
"title": "ResourceSSHKeySet",
"description": "Write-only SSH key input. API responses never include these secret fields."
},
"ResourceUpdate": {
"properties": {
"name": {
"anyOf": [
{
"type": "string",
"maxLength": 160,
"minLength": 1
},
{
"type": "null"
}
],
"title": "Name"
},
"kind": {
"anyOf": [
{
"type": "string",
"enum": [
"website",
"server",
"database",
"api",
"repository",
"domain",
"storage",
"other"
]
},
{
"type": "null"
}
],
"title": "Kind"
},
"status": {
"anyOf": [
{
"type": "string",
"enum": [
"planned",
"active",
"retired"
]
},
{
"type": "null"
}
],
"title": "Status"
},
"provider": {
"anyOf": [
{
"type": "string",
"maxLength": 120
},
{
"type": "null"
}
],
"title": "Provider"
},
"environment": {
"anyOf": [
{
"type": "string",
"maxLength": 80
},
{
"type": "null"
}
],
"title": "Environment"
},
"description": {
"anyOf": [
{
"type": "string",
"maxLength": 12000
},
{
"type": "null"
}
],
"title": "Description"
},
"public_url": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
],
"title": "Public Url"
},
"details": {
"anyOf": [
{
"additionalProperties": {
"type": "string",
"maxLength": 2000
},
"propertyNames": {
"maxLength": 120,
"minLength": 1
},
"type": "object",
"maxProperties": 30,
"description": "Workspace-visible labeled details. Typed keys: host, operating_system, service_ports (comma-separated ports), database_engine, database_name, database_port, database_tls (required or disabled). Never include credentials."
},
{
"type": "null"
}
],
"title": "Details"
},
"sticker": {
"anyOf": [
{
"type": "string",
"enum": [
"auto",
"website",
"server",
"database",
"api",
"repository",
"domain",
"storage",
"other"
]
},
{
"type": "null"
}
],
"title": "Sticker"
},
"tags": {
"anyOf": [
{
"items": {
"type": "string",
"maxLength": 40,
"minLength": 1
},
"type": "array",
"maxItems": 12
},
{
"type": "null"
}
],
"title": "Tags"
}
},
"additionalProperties": false,
"type": "object",
"title": "ResourceUpdate"
},
"RevisionInput": {
"properties": {
"board_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Board Id"
},
"revision": {
"type": "integer",
"minimum": 1.0,
"title": "Revision"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"revision"
],
"title": "RevisionInput"
},
"ServiceCreate": {
"properties": {
"lifecycle": {
"anyOf": [
{
"type": "string",
"enum": [
"planned",
"active",
"paused",
"ended"
]
},
{
"type": "null"
}
],
"title": "Lifecycle"
},
"owner_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0.0
},
{
"type": "null"
}
],
"title": "Owner Id"
},
"modules": {
"anyOf": [
{
"items": {
"type": "string",
"enum": [
"operations",
"capacity",
"support"
]
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Modules"
},
"idempotency_key": {
"type": "string",
"format": "uuid",
"title": "Idempotency Key"
},
"name": {
"type": "string",
"maxLength": 160,
"minLength": 1,
"title": "Name"
},
"kind": {
"type": "string",
"enum": [
"website",
"ai",
"automation",
"pipeline",
"cloud",
"retainer",
"consulting",
"development",
"support",
"other"
],
"title": "Kind",
"default": "other"
},
"description": {
"type": "string",
"maxLength": 12000,
"title": "Description",
"default": ""
},
"public_url": {
"type": "string",
"maxLength": 200,
"title": "Public Url",
"default": ""
},
"active": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Active"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"idempotency_key",
"name"
],
"title": "ServiceCreate"
},
"ServiceUpdate": {
"properties": {
"lifecycle": {
"anyOf": [
{
"type": "string",
"enum": [
"planned",
"active",
"paused",
"ended"
]
},
{
"type": "null"
}
],
"title": "Lifecycle"
},
"owner_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0.0
},
{
"type": "null"
}
],
"title": "Owner Id"
},
"modules": {
"anyOf": [
{
"items": {
"type": "string",
"enum": [
"operations",
"capacity",
"support"
]
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Modules"
},
"idempotency_key": {
"type": "string",
"format": "uuid",
"title": "Idempotency Key"
},
"expected_updated_at": {
"type": "string",
"maxLength": 50,
"minLength": 1,
"title": "Expected Updated At"
},
"name": {
"anyOf": [
{
"type": "string",
"maxLength": 160,
"minLength": 1
},
{
"type": "null"
}
],
"title": "Name"
},
"kind": {
"anyOf": [
{
"type": "string",
"enum": [
"website",
"ai",
"automation",
"pipeline",
"cloud",
"retainer",
"consulting",
"development",
"support",
"other"
]
},
{
"type": "null"
}
],
"title": "Kind"
},
"description": {
"anyOf": [
{
"type": "string",
"maxLength": 12000
},
{
"type": "null"
}
],
"title": "Description"
},
"public_url": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
],
"title": "Public Url"
},
"active": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Active"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"idempotency_key",
"expected_updated_at"
],
"title": "ServiceUpdate"
},
"TaskCreate": {
"properties": {
"board_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Board Id"
},
"type_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Type Id"
},
"label_ids": {
"anyOf": [
{
"items": {
"type": "string",
"format": "uuid"
},
"type": "array",
"maxItems": 100
},
{
"type": "null"
}
],
"title": "Label Ids"
},
"status_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Status Id"
},
"service": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Service"
},
"idempotency_key": {
"type": "string",
"format": "uuid",
"title": "Idempotency Key"
},
"title": {
"type": "string",
"maxLength": 160,
"minLength": 1,
"title": "Title"
},
"description": {
"type": "string",
"maxLength": 6000,
"title": "Description",
"default": ""
},
"acceptance": {
"type": "string",
"maxLength": 4000,
"title": "Acceptance",
"default": ""
},
"deliverable": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Deliverable"
},
"source_ticket": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Source Ticket"
},
"priority": {
"type": "string",
"enum": [
"low",
"normal",
"high",
"urgent"
],
"title": "Priority",
"default": "normal"
},
"assignee": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0.0
},
{
"type": "null"
}
],
"title": "Assignee"
},
"reviewer": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0.0
},
{
"type": "null"
}
],
"title": "Reviewer"
},
"starts_on": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"title": "Starts On"
},
"due_on": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"title": "Due On"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"idempotency_key",
"title"
],
"title": "TaskCreate"
},
"TaskMove": {
"properties": {
"board_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Board Id"
},
"revision": {
"type": "integer",
"minimum": 1.0,
"title": "Revision"
},
"target_board_id": {
"type": "string",
"format": "uuid",
"title": "Target Board Id"
},
"target_status_id": {
"type": "string",
"format": "uuid",
"title": "Target Status Id"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"revision",
"target_board_id",
"target_status_id"
],
"title": "TaskMove"
},
"TaskUpdate": {
"properties": {
"board_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Board Id"
},
"type_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Type Id"
},
"label_ids": {
"anyOf": [
{
"items": {
"type": "string",
"format": "uuid"
},
"type": "array",
"maxItems": 100
},
{
"type": "null"
}
],
"title": "Label Ids"
},
"status_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Status Id"
},
"service": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Service"
},
"revision": {
"type": "integer",
"minimum": 1.0,
"title": "Revision"
},
"title": {
"anyOf": [
{
"type": "string",
"maxLength": 160,
"minLength": 1
},
{
"type": "null"
}
],
"title": "Title"
},
"description": {
"anyOf": [
{
"type": "string",
"maxLength": 6000
},
{
"type": "null"
}
],
"title": "Description"
},
"acceptance": {
"anyOf": [
{
"type": "string",
"maxLength": 4000
},
{
"type": "null"
}
],
"title": "Acceptance"
},
"deliverable": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Deliverable"
},
"source_ticket": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Source Ticket"
},
"priority": {
"anyOf": [
{
"type": "string",
"enum": [
"low",
"normal",
"high",
"urgent"
]
},
{
"type": "null"
}
],
"title": "Priority"
},
"assignee": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0.0
},
{
"type": "null"
}
],
"title": "Assignee"
},
"reviewer": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0.0
},
{
"type": "null"
}
],
"title": "Reviewer"
},
"starts_on": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"title": "Starts On"
},
"due_on": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"title": "Due On"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"revision"
],
"title": "TaskUpdate"
},
"TaxonomyConfigure": {
"properties": {
"board_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Board Id"
},
"revision": {
"type": "string",
"maxLength": 64,
"minLength": 64,
"title": "Revision"
},
"kind": {
"type": "string",
"enum": [
"type",
"label"
],
"title": "Kind"
},
"operation": {
"type": "string",
"enum": [
"create",
"update",
"archive",
"default",
"reorder"
],
"title": "Operation"
},
"id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Id"
},
"name": {
"anyOf": [
{
"type": "string",
"maxLength": 60,
"minLength": 1
},
{
"type": "null"
}
],
"title": "Name"
},
"icon": {
"anyOf": [
{
"type": "string",
"enum": [
"task",
"bug",
"story",
"improvement",
"research",
"design",
"support",
"maintenance"
]
},
{
"type": "null"
}
],
"title": "Icon"
},
"order": {
"anyOf": [
{
"items": {
"type": "string",
"format": "uuid"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Order"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"revision",
"kind",
"operation"
],
"title": "TaxonomyConfigure"
},
"TicketCreate": {
"properties": {
"board_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Board Id"
},
"idempotency_key": {
"type": "string",
"format": "uuid",
"title": "Idempotency Key"
},
"subject": {
"type": "string",
"maxLength": 160,
"minLength": 1,
"title": "Subject"
},
"body": {
"type": "string",
"maxLength": 20000,
"minLength": 1,
"title": "Body"
},
"category": {
"type": "string",
"enum": [
"general",
"technical",
"billing",
"change"
],
"title": "Category",
"default": "general"
},
"resource": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Resource"
},
"service": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Service"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"idempotency_key",
"subject",
"body"
],
"title": "TicketCreate"
},
"TimeCorrect": {
"properties": {
"idempotency_key": {
"type": "string",
"format": "uuid",
"title": "Idempotency Key"
},
"revision": {
"type": "integer",
"minimum": 1.0,
"title": "Revision"
},
"reason": {
"type": "string",
"maxLength": 1000,
"minLength": 1,
"title": "Reason"
},
"occurred_at": {
"anyOf": [
{
"type": "string",
"maxLength": 50
},
{
"type": "null"
}
],
"title": "Occurred At"
},
"minutes": {
"anyOf": [
{
"type": "integer",
"maximum": 6000000.0,
"exclusiveMinimum": 0.0
},
{
"type": "null"
}
],
"title": "Minutes"
},
"description": {
"anyOf": [
{
"type": "string",
"maxLength": 1000,
"minLength": 1
},
{
"type": "null"
}
],
"title": "Description"
},
"internal_notes": {
"anyOf": [
{
"type": "string",
"maxLength": 10000
},
{
"type": "null"
}
],
"title": "Internal Notes"
},
"task_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Task Id"
},
"staff_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0.0
},
{
"type": "null"
}
],
"title": "Staff Id"
},
"chargeable": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Chargeable"
},
"state": {
"anyOf": [
{
"type": "string",
"enum": [
"draft",
"posted"
]
},
{
"type": "null"
}
],
"title": "State"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"idempotency_key",
"revision",
"reason"
],
"title": "TimeCorrect"
},
"TimeCreate": {
"properties": {
"idempotency_key": {
"type": "string",
"format": "uuid",
"title": "Idempotency Key"
},
"occurred_at": {
"type": "string",
"maxLength": 50,
"minLength": 1,
"title": "Occurred At"
},
"minutes": {
"type": "integer",
"maximum": 6000000.0,
"exclusiveMinimum": 0.0,
"title": "Minutes"
},
"description": {
"type": "string",
"maxLength": 1000,
"minLength": 1,
"title": "Description"
},
"internal_notes": {
"type": "string",
"maxLength": 10000,
"title": "Internal Notes",
"default": ""
},
"task_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Task Id"
},
"staff_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0.0
},
{
"type": "null"
}
],
"title": "Staff Id"
},
"chargeable": {
"type": "boolean",
"title": "Chargeable",
"default": true
},
"state": {
"type": "string",
"enum": [
"draft",
"posted"
],
"title": "State",
"default": "posted"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"idempotency_key",
"occurred_at",
"minutes",
"description"
],
"title": "TimeCreate"
},
"TimeVoid": {
"properties": {
"idempotency_key": {
"type": "string",
"format": "uuid",
"title": "Idempotency Key"
},
"revision": {
"type": "integer",
"minimum": 1.0,
"title": "Revision"
},
"reason": {
"type": "string",
"maxLength": 1000,
"minLength": 1,
"title": "Reason"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"idempotency_key",
"revision",
"reason"
],
"title": "TimeVoid"
},
"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"
},
"Event": {
"additionalProperties": false,
"properties": {
"timestamp": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Timestamp"
},
"severity": {
"default": "INFO",
"title": "Severity",
"type": "string"
},
"message": {
"maxLength": 65536,
"title": "Message",
"type": "string"
},
"source": {
"default": "",
"maxLength": 256,
"title": "Source",
"type": "string"
},
"attributes": {
"additionalProperties": true,
"title": "Attributes",
"type": "object"
},
"trace_id": {
"default": "",
"pattern": "^(?:[0-9a-fA-F]{32})?$",
"title": "Trace Id",
"type": "string"
},
"span_id": {
"default": "",
"pattern": "^(?:[0-9a-fA-F]{16})?$",
"title": "Span Id",
"type": "string"
}
},
"required": [
"message"
],
"title": "Event",
"type": "object"
},
"Batch": {
"additionalProperties": false,
"properties": {
"events": {
"items": {
"$ref": "#/components/schemas/Event"
},
"maxItems": 1000,
"minItems": 1,
"title": "Events",
"type": "array"
}
},
"required": [
"events"
],
"title": "Batch",
"type": "object"
}
},
"securitySchemes": {
"HTTPBearer": {
"type": "http",
"scheme": "bearer"
}
}
}