naftiko: 1.0.0-alpha2 info: label: Apigee API Management API — Observation Jobs description: 'Apigee API Management API — Observation Jobs. 6 operations. Lead operation: Apigee List Observation Jobs. Self-contained Naftiko capability covering one Apigee business surface.' tags: - Apigee - Observation Jobs created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: APIGEE_API_KEY: APIGEE_API_KEY capability: consumes: - type: http namespace: apim-observation-jobs baseUri: https://apim.googleapis.com/v1alpha description: Apigee API Management API — Observation Jobs business capability. Self-contained, no shared references. resources: - name: projects-projectId-locations-locationId-observationJobs path: /projects/{projectId}/locations/{locationId}/observationJobs operations: - name: listobservationjobs method: GET description: Apigee List Observation Jobs outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createobservationjob method: POST description: Apigee Create an Observation Job outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: observationJobId in: query type: string description: Required. The ID to use for the observation job. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: projects-projectId-locations-locationId-observationJobs-observationJobId path: /projects/{projectId}/locations/{locationId}/observationJobs/{observationJobId} operations: - name: getobservationjob method: GET description: Apigee Get an Observation Job outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deleteobservationjob method: DELETE description: Apigee Delete an Observation Job outputRawFormat: json outputParameters: - name: result type: object value: $. - name: projects-projectId-locations-locationId-observationJobs-observationJobId}:disabl path: /projects/{projectId}/locations/{locationId}/observationJobs/{observationJobId}:disable operations: - name: disableobservationjob method: POST description: Apigee Disable an Observation Job outputRawFormat: json outputParameters: - name: result type: object value: $. - name: projects-projectId-locations-locationId-observationJobs-observationJobId}:enable path: /projects/{projectId}/locations/{locationId}/observationJobs/{observationJobId}:enable operations: - name: enableobservationjob method: POST description: Apigee Enable an Observation Job outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.APIGEE_API_KEY}}' exposes: - type: rest namespace: apim-observation-jobs-rest port: 8080 description: REST adapter for Apigee API Management API — Observation Jobs. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/projects/{projectid}/locations/{locationid}/observationjobs name: projects-projectid-locations-locationid-observationjobs description: REST surface for projects-projectId-locations-locationId-observationJobs. operations: - method: GET name: listobservationjobs description: Apigee List Observation Jobs call: apim-observation-jobs.listobservationjobs outputParameters: - type: object mapping: $. - method: POST name: createobservationjob description: Apigee Create an Observation Job call: apim-observation-jobs.createobservationjob with: observationJobId: rest.observationJobId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/projects/{projectid}/locations/{locationid}/observationjobs/{observationjobid} name: projects-projectid-locations-locationid-observationjobs-observationjobid description: REST surface for projects-projectId-locations-locationId-observationJobs-observationJobId. operations: - method: GET name: getobservationjob description: Apigee Get an Observation Job call: apim-observation-jobs.getobservationjob outputParameters: - type: object mapping: $. - method: DELETE name: deleteobservationjob description: Apigee Delete an Observation Job call: apim-observation-jobs.deleteobservationjob outputParameters: - type: object mapping: $. - path: /v1/projects/{projectid}/locations/{locationid}/observationjobs/observationjobid-disable name: projects-projectid-locations-locationid-observationjobs-observationjobid-disabl description: REST surface for projects-projectId-locations-locationId-observationJobs-observationJobId}:disabl. operations: - method: POST name: disableobservationjob description: Apigee Disable an Observation Job call: apim-observation-jobs.disableobservationjob outputParameters: - type: object mapping: $. - path: /v1/projects/{projectid}/locations/{locationid}/observationjobs/observationjobid-enable name: projects-projectid-locations-locationid-observationjobs-observationjobid-enable description: REST surface for projects-projectId-locations-locationId-observationJobs-observationJobId}:enable. operations: - method: POST name: enableobservationjob description: Apigee Enable an Observation Job call: apim-observation-jobs.enableobservationjob outputParameters: - type: object mapping: $. - type: mcp namespace: apim-observation-jobs-mcp port: 9090 transport: http description: MCP adapter for Apigee API Management API — Observation Jobs. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: apigee-list-observation-jobs description: Apigee List Observation Jobs hints: readOnly: true destructive: false idempotent: true call: apim-observation-jobs.listobservationjobs outputParameters: - type: object mapping: $. - name: apigee-create-observation-job description: Apigee Create an Observation Job hints: readOnly: false destructive: false idempotent: false call: apim-observation-jobs.createobservationjob with: observationJobId: tools.observationJobId body: tools.body outputParameters: - type: object mapping: $. - name: apigee-get-observation-job description: Apigee Get an Observation Job hints: readOnly: true destructive: false idempotent: true call: apim-observation-jobs.getobservationjob outputParameters: - type: object mapping: $. - name: apigee-delete-observation-job description: Apigee Delete an Observation Job hints: readOnly: false destructive: true idempotent: true call: apim-observation-jobs.deleteobservationjob outputParameters: - type: object mapping: $. - name: apigee-disable-observation-job description: Apigee Disable an Observation Job hints: readOnly: false destructive: false idempotent: false call: apim-observation-jobs.disableobservationjob outputParameters: - type: object mapping: $. - name: apigee-enable-observation-job description: Apigee Enable an Observation Job hints: readOnly: false destructive: false idempotent: false call: apim-observation-jobs.enableobservationjob outputParameters: - type: object mapping: $.