naftiko: 1.0.0-alpha2 info: label: QuantCDN API — AI Task Management description: 'QuantCDN API — AI Task Management. 6 operations. Lead operation: List tasks with optional filtering. Self-contained Naftiko capability covering one Quantcdn business surface.' tags: - Quantcdn - AI Task Management created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: QUANTCDN_API_KEY: QUANTCDN_API_KEY capability: consumes: - type: http namespace: quantcdn-ai-task-management baseUri: https://dashboard.quantcdn.io description: QuantCDN API — AI Task Management business capability. Self-contained, no shared references. resources: - name: api-v3-organizations-organisation-ai-tasks path: /api/v3/organizations/{organisation}/ai/tasks operations: - name: listtasks method: GET description: List tasks with optional filtering outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organisation in: path type: string description: The organisation ID required: true - name: taskListId in: query type: string description: Filter tasks by task list ID. Task lists are implicit groupings - any string can be used. - name: status in: query type: string description: Filter tasks by status - name: assignedAgentId in: query type: string description: Filter tasks by assigned agent ID - name: limit in: query type: integer description: Maximum number of tasks to return (default 50, max 100) - name: dependsOn in: query type: string description: 'Reverse lookup: find tasks that depend on this task ID. Returns tasks waiting for the specified task to complete.' - name: includeDetails in: query type: boolean description: When using dependsOn, return full task objects in addition to IDs. Default false (IDs only for lightweight responses). - name: createtask method: POST description: Create a new task outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organisation in: path type: string description: The organisation ID required: true - name: body in: body type: object description: Request body (JSON). required: true - name: api-v3-organizations-organisation-ai-tasks-taskId path: /api/v3/organizations/{organisation}/ai/tasks/{taskId} operations: - name: deletetask method: DELETE description: Delete a task outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organisation in: path type: string description: The organisation ID required: true - name: taskId in: path type: string description: The task UUID required: true - name: cascade in: query type: boolean description: If true, delete task and all dependent tasks recursively - name: gettask method: GET description: Get task details outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organisation in: path type: string description: The organisation ID required: true - name: taskId in: path type: string description: The task UUID required: true - name: updatetask method: PUT description: Update a task outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organisation in: path type: string description: The organisation ID required: true - name: taskId in: path type: string description: The task UUID required: true - name: body in: body type: object description: Request body (JSON). required: true - name: api-v3-organizations-organisation-ai-tasks-taskListId-dependency-graph path: /api/v3/organizations/{organisation}/ai/tasks/{taskListId}/dependency-graph operations: - name: getdependencygraph method: GET description: Get dependency graph for a task list outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organisation in: path type: string description: The organisation ID required: true - name: taskListId in: path type: string description: The task list ID to get the dependency graph for required: true authentication: type: bearer token: '{{env.QUANTCDN_API_KEY}}' exposes: - type: rest namespace: quantcdn-ai-task-management-rest port: 8080 description: REST adapter for QuantCDN API — AI Task Management. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/v3/organizations/{organisation}/ai/tasks name: api-v3-organizations-organisation-ai-tasks description: REST surface for api-v3-organizations-organisation-ai-tasks. operations: - method: GET name: listtasks description: List tasks with optional filtering call: quantcdn-ai-task-management.listtasks with: organisation: rest.organisation taskListId: rest.taskListId status: rest.status assignedAgentId: rest.assignedAgentId limit: rest.limit dependsOn: rest.dependsOn includeDetails: rest.includeDetails outputParameters: - type: object mapping: $. - method: POST name: createtask description: Create a new task call: quantcdn-ai-task-management.createtask with: organisation: rest.organisation body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v3/organizations/{organisation}/ai/tasks/{taskid} name: api-v3-organizations-organisation-ai-tasks-taskid description: REST surface for api-v3-organizations-organisation-ai-tasks-taskId. operations: - method: DELETE name: deletetask description: Delete a task call: quantcdn-ai-task-management.deletetask with: organisation: rest.organisation taskId: rest.taskId cascade: rest.cascade outputParameters: - type: object mapping: $. - method: GET name: gettask description: Get task details call: quantcdn-ai-task-management.gettask with: organisation: rest.organisation taskId: rest.taskId outputParameters: - type: object mapping: $. - method: PUT name: updatetask description: Update a task call: quantcdn-ai-task-management.updatetask with: organisation: rest.organisation taskId: rest.taskId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v3/organizations/{organisation}/ai/tasks/{tasklistid}/dependency-graph name: api-v3-organizations-organisation-ai-tasks-tasklistid-dependency-graph description: REST surface for api-v3-organizations-organisation-ai-tasks-taskListId-dependency-graph. operations: - method: GET name: getdependencygraph description: Get dependency graph for a task list call: quantcdn-ai-task-management.getdependencygraph with: organisation: rest.organisation taskListId: rest.taskListId outputParameters: - type: object mapping: $. - type: mcp namespace: quantcdn-ai-task-management-mcp port: 9090 transport: http description: MCP adapter for QuantCDN API — AI Task Management. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-tasks-optional-filtering description: List tasks with optional filtering hints: readOnly: true destructive: false idempotent: true call: quantcdn-ai-task-management.listtasks with: organisation: tools.organisation taskListId: tools.taskListId status: tools.status assignedAgentId: tools.assignedAgentId limit: tools.limit dependsOn: tools.dependsOn includeDetails: tools.includeDetails outputParameters: - type: object mapping: $. - name: create-new-task description: Create a new task hints: readOnly: false destructive: false idempotent: false call: quantcdn-ai-task-management.createtask with: organisation: tools.organisation body: tools.body outputParameters: - type: object mapping: $. - name: delete-task description: Delete a task hints: readOnly: false destructive: true idempotent: true call: quantcdn-ai-task-management.deletetask with: organisation: tools.organisation taskId: tools.taskId cascade: tools.cascade outputParameters: - type: object mapping: $. - name: get-task-details description: Get task details hints: readOnly: true destructive: false idempotent: true call: quantcdn-ai-task-management.gettask with: organisation: tools.organisation taskId: tools.taskId outputParameters: - type: object mapping: $. - name: update-task description: Update a task hints: readOnly: false destructive: false idempotent: true call: quantcdn-ai-task-management.updatetask with: organisation: tools.organisation taskId: tools.taskId body: tools.body outputParameters: - type: object mapping: $. - name: get-dependency-graph-task-list description: Get dependency graph for a task list hints: readOnly: true destructive: false idempotent: true call: quantcdn-ai-task-management.getdependencygraph with: organisation: tools.organisation taskListId: tools.taskListId outputParameters: - type: object mapping: $.