naftiko: 1.0.0-alpha2 info: label: Apigee Registry API — Artifacts description: 'Apigee Registry API — Artifacts. 6 operations. Lead operation: Apigee List Artifacts. Self-contained Naftiko capability covering one Apigee business surface.' tags: - Apigee - Artifacts created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: APIGEE_API_KEY: APIGEE_API_KEY capability: consumes: - type: http namespace: registry-artifacts baseUri: https://apigeeregistry.googleapis.com/v1 description: Apigee Registry API — Artifacts business capability. Self-contained, no shared references. resources: - name: projects-projectId-locations-locationId-artifacts path: /projects/{projectId}/locations/{locationId}/artifacts operations: - name: listartifacts method: GET description: Apigee List Artifacts outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: filter in: query type: string description: Filter expression. - name: orderBy in: query type: string description: Field to order results by. - name: createartifact method: POST description: Apigee Create an Artifact outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: artifactId in: query type: string description: Required. The ID to use for the artifact. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: projects-projectId-locations-locationId-artifacts-artifactId path: /projects/{projectId}/locations/{locationId}/artifacts/{artifactId} operations: - name: getartifact method: GET description: Apigee Get an Artifact outputRawFormat: json outputParameters: - name: result type: object value: $. - name: replaceartifact method: PUT description: Apigee Replace an Artifact outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deleteartifact method: DELETE description: Apigee Delete an Artifact outputRawFormat: json outputParameters: - name: result type: object value: $. - name: projects-projectId-locations-locationId-artifacts-artifactId}:getContents path: /projects/{projectId}/locations/{locationId}/artifacts/{artifactId}:getContents operations: - name: getartifactcontents method: GET description: Apigee Get Artifact Contents outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.APIGEE_API_KEY}}' exposes: - type: rest namespace: registry-artifacts-rest port: 8080 description: REST adapter for Apigee Registry API — Artifacts. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/projects/{projectid}/locations/{locationid}/artifacts name: projects-projectid-locations-locationid-artifacts description: REST surface for projects-projectId-locations-locationId-artifacts. operations: - method: GET name: listartifacts description: Apigee List Artifacts call: registry-artifacts.listartifacts with: filter: rest.filter orderBy: rest.orderBy outputParameters: - type: object mapping: $. - method: POST name: createartifact description: Apigee Create an Artifact call: registry-artifacts.createartifact with: artifactId: rest.artifactId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/projects/{projectid}/locations/{locationid}/artifacts/{artifactid} name: projects-projectid-locations-locationid-artifacts-artifactid description: REST surface for projects-projectId-locations-locationId-artifacts-artifactId. operations: - method: GET name: getartifact description: Apigee Get an Artifact call: registry-artifacts.getartifact outputParameters: - type: object mapping: $. - method: PUT name: replaceartifact description: Apigee Replace an Artifact call: registry-artifacts.replaceartifact with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteartifact description: Apigee Delete an Artifact call: registry-artifacts.deleteartifact outputParameters: - type: object mapping: $. - path: /v1/projects/{projectid}/locations/{locationid}/artifacts/artifactid-getcontents name: projects-projectid-locations-locationid-artifacts-artifactid-getcontents description: REST surface for projects-projectId-locations-locationId-artifacts-artifactId}:getContents. operations: - method: GET name: getartifactcontents description: Apigee Get Artifact Contents call: registry-artifacts.getartifactcontents outputParameters: - type: object mapping: $. - type: mcp namespace: registry-artifacts-mcp port: 9090 transport: http description: MCP adapter for Apigee Registry API — Artifacts. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: apigee-list-artifacts description: Apigee List Artifacts hints: readOnly: true destructive: false idempotent: true call: registry-artifacts.listartifacts with: filter: tools.filter orderBy: tools.orderBy outputParameters: - type: object mapping: $. - name: apigee-create-artifact description: Apigee Create an Artifact hints: readOnly: false destructive: false idempotent: false call: registry-artifacts.createartifact with: artifactId: tools.artifactId body: tools.body outputParameters: - type: object mapping: $. - name: apigee-get-artifact description: Apigee Get an Artifact hints: readOnly: true destructive: false idempotent: true call: registry-artifacts.getartifact outputParameters: - type: object mapping: $. - name: apigee-replace-artifact description: Apigee Replace an Artifact hints: readOnly: false destructive: false idempotent: true call: registry-artifacts.replaceartifact with: body: tools.body outputParameters: - type: object mapping: $. - name: apigee-delete-artifact description: Apigee Delete an Artifact hints: readOnly: false destructive: true idempotent: true call: registry-artifacts.deleteartifact outputParameters: - type: object mapping: $. - name: apigee-get-artifact-contents description: Apigee Get Artifact Contents hints: readOnly: true destructive: false idempotent: true call: registry-artifacts.getartifactcontents outputParameters: - type: object mapping: $.