naftiko: 1.0.0-alpha2 info: label: QuantCDN API — AI Orchestrations description: 'QuantCDN API — AI Orchestrations. 9 operations. Lead operation: List Durable Orchestrations. Self-contained Naftiko capability covering one Quantcdn business surface.' tags: - Quantcdn - AI Orchestrations 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-orchestrations baseUri: https://dashboard.quantcdn.io description: QuantCDN API — AI Orchestrations business capability. Self-contained, no shared references. resources: - name: api-v3-organizations-organisation-ai-orchestrations path: /api/v3/organizations/{organisation}/ai/orchestrations operations: - name: listorchestrations method: GET description: List Durable Orchestrations outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organisation in: path type: string description: The organisation machine name required: true - name: status in: query type: string description: Filter by orchestration status - name: limit in: query type: integer description: Maximum number of results - name: cursor in: query type: string description: Pagination cursor from previous response - name: createorchestration method: POST description: Create Durable Orchestration outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organisation in: path type: string description: The organisation machine name required: true - name: body in: body type: object description: Request body (JSON). required: true - name: api-v3-organizations-organisation-ai-orchestrations-orchestrationId path: /api/v3/organizations/{organisation}/ai/orchestrations/{orchestrationId} operations: - name: deleteorchestration method: DELETE description: Delete Durable Orchestration outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organisation in: path type: string description: The organisation machine name required: true - name: orchestrationId in: path type: string description: Orchestration identifier required: true - name: getorchestration method: GET description: Get Durable Orchestration outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organisation in: path type: string description: The organisation machine name required: true - name: orchestrationId in: path type: string description: Orchestration identifier required: true - name: api-v3-organizations-organisation-ai-orchestrations-orchestrationId-batches path: /api/v3/organizations/{organisation}/ai/orchestrations/{orchestrationId}/batches operations: - name: listorchestrationbatches method: GET description: List Orchestration Batches outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organisation in: path type: string description: The organisation machine name required: true - name: orchestrationId in: path type: string description: Orchestration identifier required: true - name: limit in: query type: integer description: Maximum number of batches to return - name: cursor in: query type: string description: Pagination cursor from previous response - name: api-v3-organizations-organisation-ai-orchestrations-orchestrationId-cancel path: /api/v3/organizations/{organisation}/ai/orchestrations/{orchestrationId}/cancel operations: - name: cancelorchestration method: POST description: Cancel Durable Orchestration outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organisation in: path type: string description: The organisation machine name required: true - name: orchestrationId in: path type: string description: Orchestration identifier required: true - name: api-v3-organizations-organisation-ai-orchestrations-orchestrationId-pause path: /api/v3/organizations/{organisation}/ai/orchestrations/{orchestrationId}/pause operations: - name: pauseorchestration method: POST description: Pause Durable Orchestration outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organisation in: path type: string description: The organisation machine name required: true - name: orchestrationId in: path type: string description: Orchestration identifier required: true - name: api-v3-organizations-organisation-ai-orchestrations-orchestrationId-resume path: /api/v3/organizations/{organisation}/ai/orchestrations/{orchestrationId}/resume operations: - name: resumeorchestration method: POST description: Resume Durable Orchestration outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organisation in: path type: string description: The organisation machine name required: true - name: orchestrationId in: path type: string description: Orchestration identifier required: true - name: api-v3-organizations-organisation-ai-orchestrations-orchestrationId-start path: /api/v3/organizations/{organisation}/ai/orchestrations/{orchestrationId}/start operations: - name: startorchestration method: POST description: Start Durable Orchestration outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organisation in: path type: string description: The organisation machine name required: true - name: orchestrationId in: path type: string description: Orchestration identifier required: true authentication: type: bearer token: '{{env.QUANTCDN_API_KEY}}' exposes: - type: rest namespace: quantcdn-ai-orchestrations-rest port: 8080 description: REST adapter for QuantCDN API — AI Orchestrations. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/v3/organizations/{organisation}/ai/orchestrations name: api-v3-organizations-organisation-ai-orchestrations description: REST surface for api-v3-organizations-organisation-ai-orchestrations. operations: - method: GET name: listorchestrations description: List Durable Orchestrations call: quantcdn-ai-orchestrations.listorchestrations with: organisation: rest.organisation status: rest.status limit: rest.limit cursor: rest.cursor outputParameters: - type: object mapping: $. - method: POST name: createorchestration description: Create Durable Orchestration call: quantcdn-ai-orchestrations.createorchestration with: organisation: rest.organisation body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v3/organizations/{organisation}/ai/orchestrations/{orchestrationid} name: api-v3-organizations-organisation-ai-orchestrations-orchestrationid description: REST surface for api-v3-organizations-organisation-ai-orchestrations-orchestrationId. operations: - method: DELETE name: deleteorchestration description: Delete Durable Orchestration call: quantcdn-ai-orchestrations.deleteorchestration with: organisation: rest.organisation orchestrationId: rest.orchestrationId outputParameters: - type: object mapping: $. - method: GET name: getorchestration description: Get Durable Orchestration call: quantcdn-ai-orchestrations.getorchestration with: organisation: rest.organisation orchestrationId: rest.orchestrationId outputParameters: - type: object mapping: $. - path: /v1/api/v3/organizations/{organisation}/ai/orchestrations/{orchestrationid}/batches name: api-v3-organizations-organisation-ai-orchestrations-orchestrationid-batches description: REST surface for api-v3-organizations-organisation-ai-orchestrations-orchestrationId-batches. operations: - method: GET name: listorchestrationbatches description: List Orchestration Batches call: quantcdn-ai-orchestrations.listorchestrationbatches with: organisation: rest.organisation orchestrationId: rest.orchestrationId limit: rest.limit cursor: rest.cursor outputParameters: - type: object mapping: $. - path: /v1/api/v3/organizations/{organisation}/ai/orchestrations/{orchestrationid}/cancel name: api-v3-organizations-organisation-ai-orchestrations-orchestrationid-cancel description: REST surface for api-v3-organizations-organisation-ai-orchestrations-orchestrationId-cancel. operations: - method: POST name: cancelorchestration description: Cancel Durable Orchestration call: quantcdn-ai-orchestrations.cancelorchestration with: organisation: rest.organisation orchestrationId: rest.orchestrationId outputParameters: - type: object mapping: $. - path: /v1/api/v3/organizations/{organisation}/ai/orchestrations/{orchestrationid}/pause name: api-v3-organizations-organisation-ai-orchestrations-orchestrationid-pause description: REST surface for api-v3-organizations-organisation-ai-orchestrations-orchestrationId-pause. operations: - method: POST name: pauseorchestration description: Pause Durable Orchestration call: quantcdn-ai-orchestrations.pauseorchestration with: organisation: rest.organisation orchestrationId: rest.orchestrationId outputParameters: - type: object mapping: $. - path: /v1/api/v3/organizations/{organisation}/ai/orchestrations/{orchestrationid}/resume name: api-v3-organizations-organisation-ai-orchestrations-orchestrationid-resume description: REST surface for api-v3-organizations-organisation-ai-orchestrations-orchestrationId-resume. operations: - method: POST name: resumeorchestration description: Resume Durable Orchestration call: quantcdn-ai-orchestrations.resumeorchestration with: organisation: rest.organisation orchestrationId: rest.orchestrationId outputParameters: - type: object mapping: $. - path: /v1/api/v3/organizations/{organisation}/ai/orchestrations/{orchestrationid}/start name: api-v3-organizations-organisation-ai-orchestrations-orchestrationid-start description: REST surface for api-v3-organizations-organisation-ai-orchestrations-orchestrationId-start. operations: - method: POST name: startorchestration description: Start Durable Orchestration call: quantcdn-ai-orchestrations.startorchestration with: organisation: rest.organisation orchestrationId: rest.orchestrationId outputParameters: - type: object mapping: $. - type: mcp namespace: quantcdn-ai-orchestrations-mcp port: 9090 transport: http description: MCP adapter for QuantCDN API — AI Orchestrations. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-durable-orchestrations description: List Durable Orchestrations hints: readOnly: true destructive: false idempotent: true call: quantcdn-ai-orchestrations.listorchestrations with: organisation: tools.organisation status: tools.status limit: tools.limit cursor: tools.cursor outputParameters: - type: object mapping: $. - name: create-durable-orchestration description: Create Durable Orchestration hints: readOnly: false destructive: false idempotent: false call: quantcdn-ai-orchestrations.createorchestration with: organisation: tools.organisation body: tools.body outputParameters: - type: object mapping: $. - name: delete-durable-orchestration description: Delete Durable Orchestration hints: readOnly: false destructive: true idempotent: true call: quantcdn-ai-orchestrations.deleteorchestration with: organisation: tools.organisation orchestrationId: tools.orchestrationId outputParameters: - type: object mapping: $. - name: get-durable-orchestration description: Get Durable Orchestration hints: readOnly: true destructive: false idempotent: true call: quantcdn-ai-orchestrations.getorchestration with: organisation: tools.organisation orchestrationId: tools.orchestrationId outputParameters: - type: object mapping: $. - name: list-orchestration-batches description: List Orchestration Batches hints: readOnly: true destructive: false idempotent: true call: quantcdn-ai-orchestrations.listorchestrationbatches with: organisation: tools.organisation orchestrationId: tools.orchestrationId limit: tools.limit cursor: tools.cursor outputParameters: - type: object mapping: $. - name: cancel-durable-orchestration description: Cancel Durable Orchestration hints: readOnly: false destructive: false idempotent: false call: quantcdn-ai-orchestrations.cancelorchestration with: organisation: tools.organisation orchestrationId: tools.orchestrationId outputParameters: - type: object mapping: $. - name: pause-durable-orchestration description: Pause Durable Orchestration hints: readOnly: false destructive: false idempotent: false call: quantcdn-ai-orchestrations.pauseorchestration with: organisation: tools.organisation orchestrationId: tools.orchestrationId outputParameters: - type: object mapping: $. - name: resume-durable-orchestration description: Resume Durable Orchestration hints: readOnly: false destructive: false idempotent: false call: quantcdn-ai-orchestrations.resumeorchestration with: organisation: tools.organisation orchestrationId: tools.orchestrationId outputParameters: - type: object mapping: $. - name: start-durable-orchestration description: Start Durable Orchestration hints: readOnly: false destructive: false idempotent: false call: quantcdn-ai-orchestrations.startorchestration with: organisation: tools.organisation orchestrationId: tools.orchestrationId outputParameters: - type: object mapping: $.