naftiko: 1.0.0-alpha2 info: label: openobserve — Pipelines description: 'openobserve — Pipelines. 15 operations. Lead operation: List organization pipelines. Self-contained Naftiko capability covering one Openobserve business surface.' tags: - Openobserve - Pipelines created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: OPENOBSERVE_API_KEY: OPENOBSERVE_API_KEY capability: consumes: - type: http namespace: openobserve-pipelines baseUri: '' description: openobserve — Pipelines business capability. Self-contained, no shared references. resources: - name: api-org_id-pipelines path: /api/{org_id}/pipelines operations: - name: listpipelines method: GET description: List organization pipelines outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: Organization name required: true - name: updatepipeline method: PUT description: Update pipeline outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: Organization name required: true - name: body in: body type: object description: Request body (JSON). required: true - name: createpipeline method: POST description: Create new pipeline outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: Organization name required: true - name: body in: body type: object description: Request body (JSON). required: true - name: api-org_id-pipelines-backfill path: /api/{org_id}/pipelines/backfill operations: - name: listbackfilljobs method: GET description: List all backfill jobs for an organization outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: Organization ID required: true - name: api-org_id-pipelines-bulk-enable path: /api/{org_id}/pipelines/bulk/enable operations: - name: enablepipelinebulk method: POST description: Enable or disable pipeline in bulk outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: Organization name required: true - name: value in: query type: boolean description: Enable or disable pipeline required: true - name: body in: body type: object description: Request body (JSON). required: true - name: api-org_id-pipelines-history path: /api/{org_id}/pipelines/history operations: - name: getpipelinehistory method: GET description: Get pipeline execution history outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: Organization name required: true - name: pipeline_id in: query type: string description: Filter by specific pipeline id - name: start_time in: query type: integer description: Start time in Unix timestamp microseconds - name: end_time in: query type: integer description: End time in Unix timestamp microseconds - name: from in: query type: integer description: 'Pagination offset (default: 0)' - name: size in: query type: integer description: 'Number of results to return (default: 100, max: 1000)' - name: sort_by in: query type: string description: 'Field to sort by: timestamp, pipeline_name, status, is_realtime, is_silenced, start_time, end_time, duration, retries, delay_in_secs, evaluation_took_in_secs, s' - name: sort_order in: query type: string description: 'Sort order: asc or desc (default: desc)' - name: api-org_id-pipelines-streams path: /api/{org_id}/pipelines/streams operations: - name: getstreamswithpipeline method: GET description: Get streams with pipelines outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: Organization name required: true - name: api-org_id-pipelines-pipeline_id path: /api/{org_id}/pipelines/{pipeline_id} operations: - name: getpipeline method: GET description: Get pipeline by ID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: Organization name required: true - name: pipeline_id in: path type: string description: Pipeline ID required: true - name: deletepipeline method: DELETE description: Delete pipeline outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: Organization name required: true - name: pipeline_id in: path type: string description: Pipeline ID required: true - name: api-org_id-pipelines-pipeline_id-backfill path: /api/{org_id}/pipelines/{pipeline_id}/backfill operations: - name: createbackfilljob method: POST description: Create a backfill job outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: Organization ID required: true - name: pipeline_id in: path type: string description: Pipeline ID required: true - name: body in: body type: object description: Request body (JSON). required: true - name: api-org_id-pipelines-pipeline_id-backfill-job_id path: /api/{org_id}/pipelines/{pipeline_id}/backfill/{job_id} operations: - name: getbackfilljob method: GET description: Get backfill job status outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: Organization ID required: true - name: pipeline_id in: path type: string description: Pipeline ID required: true - name: job_id in: path type: string description: Backfill job ID required: true - name: updatebackfilljob method: PUT description: Update an existing backfill job outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: Organization ID required: true - name: pipeline_id in: path type: string description: Pipeline ID required: true - name: job_id in: path type: string description: Backfill job ID required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deletebackfilljob method: DELETE description: Delete a backfill job outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: Organization ID required: true - name: pipeline_id in: path type: string description: Pipeline ID required: true - name: job_id in: path type: string description: Backfill job ID required: true - name: api-org_id-pipelines-pipeline_id-backfill-job_id-enable path: /api/{org_id}/pipelines/{pipeline_id}/backfill/{job_id}/enable operations: - name: enablebackfilljob method: PUT description: Enable or disable a backfill job outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: Organization ID required: true - name: pipeline_id in: path type: string description: Pipeline ID required: true - name: job_id in: path type: string description: Backfill job ID required: true - name: value in: query type: boolean description: Enable (true) or disable (false) the backfill job required: true - name: api-org_id-pipelines-pipeline_id-enable path: /api/{org_id}/pipelines/{pipeline_id}/enable operations: - name: enablepipeline method: PUT description: Enable or disable pipeline outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: Organization name required: true - name: pipeline_id in: path type: string description: Pipeline ID required: true - name: value in: query type: boolean description: Enable or disable pipeline required: true authentication: type: apikey key: Authorization value: '{{env.OPENOBSERVE_API_KEY}}' placement: header exposes: - type: rest namespace: openobserve-pipelines-rest port: 8080 description: REST adapter for openobserve — Pipelines. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/{org-id}/pipelines name: api-org-id-pipelines description: REST surface for api-org_id-pipelines. operations: - method: GET name: listpipelines description: List organization pipelines call: openobserve-pipelines.listpipelines with: org_id: rest.org_id outputParameters: - type: object mapping: $. - method: PUT name: updatepipeline description: Update pipeline call: openobserve-pipelines.updatepipeline with: org_id: rest.org_id body: rest.body outputParameters: - type: object mapping: $. - method: POST name: createpipeline description: Create new pipeline call: openobserve-pipelines.createpipeline with: org_id: rest.org_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/{org-id}/pipelines/backfill name: api-org-id-pipelines-backfill description: REST surface for api-org_id-pipelines-backfill. operations: - method: GET name: listbackfilljobs description: List all backfill jobs for an organization call: openobserve-pipelines.listbackfilljobs with: org_id: rest.org_id outputParameters: - type: object mapping: $. - path: /v1/api/{org-id}/pipelines/bulk/enable name: api-org-id-pipelines-bulk-enable description: REST surface for api-org_id-pipelines-bulk-enable. operations: - method: POST name: enablepipelinebulk description: Enable or disable pipeline in bulk call: openobserve-pipelines.enablepipelinebulk with: org_id: rest.org_id value: rest.value body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/{org-id}/pipelines/history name: api-org-id-pipelines-history description: REST surface for api-org_id-pipelines-history. operations: - method: GET name: getpipelinehistory description: Get pipeline execution history call: openobserve-pipelines.getpipelinehistory with: org_id: rest.org_id pipeline_id: rest.pipeline_id start_time: rest.start_time end_time: rest.end_time from: rest.from size: rest.size sort_by: rest.sort_by sort_order: rest.sort_order outputParameters: - type: object mapping: $. - path: /v1/api/{org-id}/pipelines/streams name: api-org-id-pipelines-streams description: REST surface for api-org_id-pipelines-streams. operations: - method: GET name: getstreamswithpipeline description: Get streams with pipelines call: openobserve-pipelines.getstreamswithpipeline with: org_id: rest.org_id outputParameters: - type: object mapping: $. - path: /v1/api/{org-id}/pipelines/{pipeline-id} name: api-org-id-pipelines-pipeline-id description: REST surface for api-org_id-pipelines-pipeline_id. operations: - method: GET name: getpipeline description: Get pipeline by ID call: openobserve-pipelines.getpipeline with: org_id: rest.org_id pipeline_id: rest.pipeline_id outputParameters: - type: object mapping: $. - method: DELETE name: deletepipeline description: Delete pipeline call: openobserve-pipelines.deletepipeline with: org_id: rest.org_id pipeline_id: rest.pipeline_id outputParameters: - type: object mapping: $. - path: /v1/api/{org-id}/pipelines/{pipeline-id}/backfill name: api-org-id-pipelines-pipeline-id-backfill description: REST surface for api-org_id-pipelines-pipeline_id-backfill. operations: - method: POST name: createbackfilljob description: Create a backfill job call: openobserve-pipelines.createbackfilljob with: org_id: rest.org_id pipeline_id: rest.pipeline_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/{org-id}/pipelines/{pipeline-id}/backfill/{job-id} name: api-org-id-pipelines-pipeline-id-backfill-job-id description: REST surface for api-org_id-pipelines-pipeline_id-backfill-job_id. operations: - method: GET name: getbackfilljob description: Get backfill job status call: openobserve-pipelines.getbackfilljob with: org_id: rest.org_id pipeline_id: rest.pipeline_id job_id: rest.job_id outputParameters: - type: object mapping: $. - method: PUT name: updatebackfilljob description: Update an existing backfill job call: openobserve-pipelines.updatebackfilljob with: org_id: rest.org_id pipeline_id: rest.pipeline_id job_id: rest.job_id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletebackfilljob description: Delete a backfill job call: openobserve-pipelines.deletebackfilljob with: org_id: rest.org_id pipeline_id: rest.pipeline_id job_id: rest.job_id outputParameters: - type: object mapping: $. - path: /v1/api/{org-id}/pipelines/{pipeline-id}/backfill/{job-id}/enable name: api-org-id-pipelines-pipeline-id-backfill-job-id-enable description: REST surface for api-org_id-pipelines-pipeline_id-backfill-job_id-enable. operations: - method: PUT name: enablebackfilljob description: Enable or disable a backfill job call: openobserve-pipelines.enablebackfilljob with: org_id: rest.org_id pipeline_id: rest.pipeline_id job_id: rest.job_id value: rest.value outputParameters: - type: object mapping: $. - path: /v1/api/{org-id}/pipelines/{pipeline-id}/enable name: api-org-id-pipelines-pipeline-id-enable description: REST surface for api-org_id-pipelines-pipeline_id-enable. operations: - method: PUT name: enablepipeline description: Enable or disable pipeline call: openobserve-pipelines.enablepipeline with: org_id: rest.org_id pipeline_id: rest.pipeline_id value: rest.value outputParameters: - type: object mapping: $. - type: mcp namespace: openobserve-pipelines-mcp port: 9090 transport: http description: MCP adapter for openobserve — Pipelines. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-organization-pipelines description: List organization pipelines hints: readOnly: true destructive: false idempotent: true call: openobserve-pipelines.listpipelines with: org_id: tools.org_id outputParameters: - type: object mapping: $. - name: update-pipeline description: Update pipeline hints: readOnly: false destructive: false idempotent: true call: openobserve-pipelines.updatepipeline with: org_id: tools.org_id body: tools.body outputParameters: - type: object mapping: $. - name: create-new-pipeline description: Create new pipeline hints: readOnly: false destructive: false idempotent: false call: openobserve-pipelines.createpipeline with: org_id: tools.org_id body: tools.body outputParameters: - type: object mapping: $. - name: list-all-backfill-jobs-organization description: List all backfill jobs for an organization hints: readOnly: true destructive: false idempotent: true call: openobserve-pipelines.listbackfilljobs with: org_id: tools.org_id outputParameters: - type: object mapping: $. - name: enable-disable-pipeline-bulk description: Enable or disable pipeline in bulk hints: readOnly: false destructive: false idempotent: false call: openobserve-pipelines.enablepipelinebulk with: org_id: tools.org_id value: tools.value body: tools.body outputParameters: - type: object mapping: $. - name: get-pipeline-execution-history description: Get pipeline execution history hints: readOnly: true destructive: false idempotent: true call: openobserve-pipelines.getpipelinehistory with: org_id: tools.org_id pipeline_id: tools.pipeline_id start_time: tools.start_time end_time: tools.end_time from: tools.from size: tools.size sort_by: tools.sort_by sort_order: tools.sort_order outputParameters: - type: object mapping: $. - name: get-streams-pipelines description: Get streams with pipelines hints: readOnly: true destructive: false idempotent: true call: openobserve-pipelines.getstreamswithpipeline with: org_id: tools.org_id outputParameters: - type: object mapping: $. - name: get-pipeline-id description: Get pipeline by ID hints: readOnly: true destructive: false idempotent: true call: openobserve-pipelines.getpipeline with: org_id: tools.org_id pipeline_id: tools.pipeline_id outputParameters: - type: object mapping: $. - name: delete-pipeline description: Delete pipeline hints: readOnly: false destructive: true idempotent: true call: openobserve-pipelines.deletepipeline with: org_id: tools.org_id pipeline_id: tools.pipeline_id outputParameters: - type: object mapping: $. - name: create-backfill-job description: Create a backfill job hints: readOnly: false destructive: false idempotent: false call: openobserve-pipelines.createbackfilljob with: org_id: tools.org_id pipeline_id: tools.pipeline_id body: tools.body outputParameters: - type: object mapping: $. - name: get-backfill-job-status description: Get backfill job status hints: readOnly: true destructive: false idempotent: true call: openobserve-pipelines.getbackfilljob with: org_id: tools.org_id pipeline_id: tools.pipeline_id job_id: tools.job_id outputParameters: - type: object mapping: $. - name: update-existing-backfill-job description: Update an existing backfill job hints: readOnly: false destructive: false idempotent: true call: openobserve-pipelines.updatebackfilljob with: org_id: tools.org_id pipeline_id: tools.pipeline_id job_id: tools.job_id body: tools.body outputParameters: - type: object mapping: $. - name: delete-backfill-job description: Delete a backfill job hints: readOnly: false destructive: true idempotent: true call: openobserve-pipelines.deletebackfilljob with: org_id: tools.org_id pipeline_id: tools.pipeline_id job_id: tools.job_id outputParameters: - type: object mapping: $. - name: enable-disable-backfill-job description: Enable or disable a backfill job hints: readOnly: false destructive: false idempotent: true call: openobserve-pipelines.enablebackfilljob with: org_id: tools.org_id pipeline_id: tools.pipeline_id job_id: tools.job_id value: tools.value outputParameters: - type: object mapping: $. - name: enable-disable-pipeline description: Enable or disable pipeline hints: readOnly: false destructive: false idempotent: true call: openobserve-pipelines.enablepipeline with: org_id: tools.org_id pipeline_id: tools.pipeline_id value: tools.value outputParameters: - type: object mapping: $.