Alshival.Ai Docs
Portal ↗Wiki ↗

DEVELOPER DOCUMENTATION

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"
    }
  }
}