naftiko: 1.0.0-alpha2 info: label: QuantCDN API — Compose description: 'QuantCDN API — Compose. 3 operations. Lead operation: Get the compose file for an environment. Self-contained Naftiko capability covering one Quantcdn business surface.' tags: - Quantcdn - Compose created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: QUANTCDN_API_KEY: QUANTCDN_API_KEY capability: consumes: - type: http namespace: quantcdn-compose baseUri: https://dashboard.quantcdn.io description: QuantCDN API — Compose business capability. Self-contained, no shared references. resources: - name: api-v3-organizations-organisation-applications-application-environments-environm path: /api/v3/organizations/{organisation}/applications/{application}/environments/{environment}/compose operations: - name: getenvironmentcompose method: GET description: Get the compose file for an environment outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organisation in: path type: string description: The organisation ID required: true - name: application in: path type: string description: The application ID required: true - name: environment in: path type: string description: The environment ID required: true - name: patchenvironmentcompose method: PATCH description: Partially Update Environment Compose Definition outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organisation in: path type: string description: The organisation ID required: true - name: application in: path type: string description: The application ID required: true - name: environment in: path type: string description: The environment ID required: true - name: body in: body type: object description: Request body (JSON). required: true - name: api-v3-organizations-organisation-compose-validate path: /api/v3/organizations/{organisation}/compose/validate operations: - name: validatecompose method: POST description: Validate a compose file outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organisation in: path type: string description: The organisation ID required: true - name: imageSuffix in: query type: string description: Optional. Image tag suffix to apply during translation. Transforms internal image tags to consistent '{containerName}-{suffix}' format (e.g., 'nginx-pr-456'). E - name: body in: body type: object description: Request body (JSON). required: true authentication: type: bearer token: '{{env.QUANTCDN_API_KEY}}' exposes: - type: rest namespace: quantcdn-compose-rest port: 8080 description: REST adapter for QuantCDN API — Compose. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/v3/organizations/{organisation}/applications/{application}/environments/{environment}/compose name: api-v3-organizations-organisation-applications-application-environments-environm description: REST surface for api-v3-organizations-organisation-applications-application-environments-environm. operations: - method: GET name: getenvironmentcompose description: Get the compose file for an environment call: quantcdn-compose.getenvironmentcompose with: organisation: rest.organisation application: rest.application environment: rest.environment outputParameters: - type: object mapping: $. - method: PATCH name: patchenvironmentcompose description: Partially Update Environment Compose Definition call: quantcdn-compose.patchenvironmentcompose with: organisation: rest.organisation application: rest.application environment: rest.environment body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v3/organizations/{organisation}/compose/validate name: api-v3-organizations-organisation-compose-validate description: REST surface for api-v3-organizations-organisation-compose-validate. operations: - method: POST name: validatecompose description: Validate a compose file call: quantcdn-compose.validatecompose with: organisation: rest.organisation imageSuffix: rest.imageSuffix body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: quantcdn-compose-mcp port: 9090 transport: http description: MCP adapter for QuantCDN API — Compose. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-compose-file-environment description: Get the compose file for an environment hints: readOnly: true destructive: false idempotent: true call: quantcdn-compose.getenvironmentcompose with: organisation: tools.organisation application: tools.application environment: tools.environment outputParameters: - type: object mapping: $. - name: partially-update-environment-compose-definition description: Partially Update Environment Compose Definition hints: readOnly: false destructive: false idempotent: true call: quantcdn-compose.patchenvironmentcompose with: organisation: tools.organisation application: tools.application environment: tools.environment body: tools.body outputParameters: - type: object mapping: $. - name: validate-compose-file description: Validate a compose file hints: readOnly: true destructive: false idempotent: false call: quantcdn-compose.validatecompose with: organisation: tools.organisation imageSuffix: tools.imageSuffix body: tools.body outputParameters: - type: object mapping: $.