OneUptime · Capability

OneUptime API

OneUptime API. 15 operations. Lead operation: Create a new OneUptime project. Self-contained Naftiko capability covering one Oneuptime business surface.

Run with Naftiko OneuptimeOneUptime API

What You Can Do

POST
Createproject — Create a new OneUptime project
/v1/projects
GET
Getproject — Get project details
/v1/projects/{projectid}
PUT
Updateproject — Update project settings
/v1/projects/{projectid}
GET
Listalerts — List alerts
/v1/projects/{projectid}/alerts
GET
Listincidents — List incidents in a project
/v1/projects/{projectid}/incidents
POST
Createincident — Create a new incident
/v1/projects/{projectid}/incidents
GET
Listmonitors — List monitors
/v1/projects/{projectid}/monitors
POST
Createmonitor — Create a new monitor
/v1/projects/{projectid}/monitors
GET
Listoncallpolicies — List on-call duty policies and escalation rules
/v1/projects/{projectid}/on-call-policies
GET
Listprobes — List custom probes for a project
/v1/projects/{projectid}/probes
POST
Createprobe — Deploy a new monitoring probe
/v1/projects/{projectid}/probes
GET
Getprobe — Get probe details
/v1/projects/{projectid}/probes/{probeid}
PUT
Updateprobe — Update probe configuration
/v1/projects/{projectid}/probes/{probeid}
DELETE
Deleteprobe — Remove a probe
/v1/projects/{projectid}/probes/{probeid}
POST
Createworkflow — Create a workflow for automated incident response
/v1/projects/{projectid}/workflows

MCP Tools

create-new-oneuptime-project

Create a new OneUptime project

get-project-details

Get project details

read-only idempotent
update-project-settings

Update project settings

idempotent
list-alerts

List alerts

read-only idempotent
list-incidents-project

List incidents in a project

read-only idempotent
create-new-incident

Create a new incident

list-monitors

List monitors

read-only idempotent
create-new-monitor

Create a new monitor

list-call-duty-policies-and

List on-call duty policies and escalation rules

read-only idempotent
list-custom-probes-project

List custom probes for a project

read-only idempotent
deploy-new-monitoring-probe

Deploy a new monitoring probe

get-probe-details

Get probe details

read-only idempotent
update-probe-configuration

Update probe configuration

idempotent
remove-probe

Remove a probe

idempotent
create-workflow-automated-incident-response

Create a workflow for automated incident response

Capability Spec

oneuptime.yaml Raw ↑
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: $.