naftiko: 1.0.0-alpha2 info: label: OneUptime API description: 'OneUptime API. 15 operations. Lead operation: Create a new OneUptime project. Self-contained Naftiko capability covering one Oneuptime business surface.' tags: - Oneuptime - OneUptime API created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: ONEUPTIME_API_KEY: ONEUPTIME_API_KEY capability: consumes: - type: http namespace: oneuptime baseUri: https://oneuptime.com/api description: OneUptime API business capability. Self-contained, no shared references. resources: - name: projects path: /projects operations: - name: createproject method: POST description: Create a new OneUptime project outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: projects-projectId path: /projects/{projectId} operations: - name: getproject method: GET description: Get project details outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateproject method: PUT description: Update project settings outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: projects-projectId-alerts path: /projects/{projectId}/alerts operations: - name: listalerts method: GET description: List alerts outputRawFormat: json outputParameters: - name: result type: object value: $. - name: projects-projectId-incidents path: /projects/{projectId}/incidents operations: - name: listincidents method: GET description: List incidents in a project outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createincident method: POST description: Create a new incident outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: projects-projectId-monitors path: /projects/{projectId}/monitors operations: - name: listmonitors method: GET description: List monitors outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createmonitor method: POST description: Create a new monitor outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: projects-projectId-on-call-policies path: /projects/{projectId}/on-call-policies operations: - name: listoncallpolicies method: GET description: List on-call duty policies and escalation rules outputRawFormat: json outputParameters: - name: result type: object value: $. - name: projects-projectId-probes path: /projects/{projectId}/probes operations: - name: listprobes method: GET description: List custom probes for a project outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createprobe method: POST description: Deploy a new monitoring probe outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: projects-projectId-probes-probeId path: /projects/{projectId}/probes/{probeId} operations: - name: getprobe method: GET description: Get probe details outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateprobe method: PUT description: Update probe configuration outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: deleteprobe method: DELETE description: Remove a probe outputRawFormat: json outputParameters: - name: result type: object value: $. - name: projects-projectId-workflows path: /projects/{projectId}/workflows operations: - name: createworkflow method: POST description: Create a workflow for automated incident response outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false exposes: - type: rest namespace: oneuptime-rest port: 8080 description: REST adapter for OneUptime API. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/projects name: projects description: REST surface for projects. operations: - method: POST name: createproject description: Create a new OneUptime project call: oneuptime.createproject with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/projects/{projectid} name: projects-projectid description: REST surface for projects-projectId. operations: - method: GET name: getproject description: Get project details call: oneuptime.getproject outputParameters: - type: object mapping: $. - method: PUT name: updateproject description: Update project settings call: oneuptime.updateproject with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/projects/{projectid}/alerts name: projects-projectid-alerts description: REST surface for projects-projectId-alerts. operations: - method: GET name: listalerts description: List alerts call: oneuptime.listalerts outputParameters: - type: object mapping: $. - path: /v1/projects/{projectid}/incidents name: projects-projectid-incidents description: REST surface for projects-projectId-incidents. operations: - method: GET name: listincidents description: List incidents in a project call: oneuptime.listincidents outputParameters: - type: object mapping: $. - method: POST name: createincident description: Create a new incident call: oneuptime.createincident with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/projects/{projectid}/monitors name: projects-projectid-monitors description: REST surface for projects-projectId-monitors. operations: - method: GET name: listmonitors description: List monitors call: oneuptime.listmonitors outputParameters: - type: object mapping: $. - method: POST name: createmonitor description: Create a new monitor call: oneuptime.createmonitor with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/projects/{projectid}/on-call-policies name: projects-projectid-on-call-policies description: REST surface for projects-projectId-on-call-policies. operations: - method: GET name: listoncallpolicies description: List on-call duty policies and escalation rules call: oneuptime.listoncallpolicies outputParameters: - type: object mapping: $. - path: /v1/projects/{projectid}/probes name: projects-projectid-probes description: REST surface for projects-projectId-probes. operations: - method: GET name: listprobes description: List custom probes for a project call: oneuptime.listprobes outputParameters: - type: object mapping: $. - method: POST name: createprobe description: Deploy a new monitoring probe call: oneuptime.createprobe with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/projects/{projectid}/probes/{probeid} name: projects-projectid-probes-probeid description: REST surface for projects-projectId-probes-probeId. operations: - method: GET name: getprobe description: Get probe details call: oneuptime.getprobe outputParameters: - type: object mapping: $. - method: PUT name: updateprobe description: Update probe configuration call: oneuptime.updateprobe with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteprobe description: Remove a probe call: oneuptime.deleteprobe outputParameters: - type: object mapping: $. - path: /v1/projects/{projectid}/workflows name: projects-projectid-workflows description: REST surface for projects-projectId-workflows. operations: - method: POST name: createworkflow description: Create a workflow for automated incident response call: oneuptime.createworkflow with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: oneuptime-mcp port: 9090 transport: http description: MCP adapter for OneUptime API. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: create-new-oneuptime-project description: Create a new OneUptime project hints: readOnly: false destructive: false idempotent: false call: oneuptime.createproject with: body: tools.body outputParameters: - type: object mapping: $. - name: get-project-details description: Get project details hints: readOnly: true destructive: false idempotent: true call: oneuptime.getproject outputParameters: - type: object mapping: $. - name: update-project-settings description: Update project settings hints: readOnly: false destructive: false idempotent: true call: oneuptime.updateproject with: body: tools.body outputParameters: - type: object mapping: $. - name: list-alerts description: List alerts hints: readOnly: true destructive: false idempotent: true call: oneuptime.listalerts outputParameters: - type: object mapping: $. - name: list-incidents-project description: List incidents in a project hints: readOnly: true destructive: false idempotent: true call: oneuptime.listincidents outputParameters: - type: object mapping: $. - name: create-new-incident description: Create a new incident hints: readOnly: false destructive: false idempotent: false call: oneuptime.createincident with: body: tools.body outputParameters: - type: object mapping: $. - name: list-monitors description: List monitors hints: readOnly: true destructive: false idempotent: true call: oneuptime.listmonitors outputParameters: - type: object mapping: $. - name: create-new-monitor description: Create a new monitor hints: readOnly: false destructive: false idempotent: false call: oneuptime.createmonitor with: body: tools.body outputParameters: - type: object mapping: $. - name: list-call-duty-policies-and description: List on-call duty policies and escalation rules hints: readOnly: true destructive: false idempotent: true call: oneuptime.listoncallpolicies outputParameters: - type: object mapping: $. - name: list-custom-probes-project description: List custom probes for a project hints: readOnly: true destructive: false idempotent: true call: oneuptime.listprobes outputParameters: - type: object mapping: $. - name: deploy-new-monitoring-probe description: Deploy a new monitoring probe hints: readOnly: false destructive: false idempotent: false call: oneuptime.createprobe with: body: tools.body outputParameters: - type: object mapping: $. - name: get-probe-details description: Get probe details hints: readOnly: true destructive: false idempotent: true call: oneuptime.getprobe outputParameters: - type: object mapping: $. - name: update-probe-configuration description: Update probe configuration hints: readOnly: false destructive: false idempotent: true call: oneuptime.updateprobe with: body: tools.body outputParameters: - type: object mapping: $. - name: remove-probe description: Remove a probe hints: readOnly: false destructive: true idempotent: true call: oneuptime.deleteprobe outputParameters: - type: object mapping: $. - name: create-workflow-automated-incident-response description: Create a workflow for automated incident response hints: readOnly: false destructive: false idempotent: false call: oneuptime.createworkflow with: body: tools.body outputParameters: - type: object mapping: $.