Opservo API

Opservo API as documented publicly: 14 operations. Contract generated from the documentation by API Evangelist (2026-11-10); not the provider's own document.

GitHub OpenAPI

Operations 14

GET /api/v1/agents/ The Opservo data source lets you chart any of the 80+ server metrics Opservo collects inside the Grafana dashboards you already have. #
POST /api/v1/agents/{id}/deploy Trigger the server’s configured deploy; body {"ref": ""} is optional #
POST /api/v1/agents/{id}/deploy/rollback Run the configured rollback command #
GET /api/v1/agents/{id}/deploys Release history with status and logs #
GET /api/v1/agents/{id}/metrics/prometheus The same for one server #
GET /api/v1/metrics/catalogue The list of exportable metrics as JSON #
POST /api/v1/metrics/catalogue POST /api/v1/metrics/catalogue #
GET /api/v1/metrics/prometheus Every metric for every server, Prometheus text format #
GET /api/v1/metrics/query Bucketed time series for up to 20 metrics, optional agent_ids , hours 1–720 #
POST /api/v1/metrics/query Bucketed time series for up to 20 metrics, optional agent_ids , hours 1–720 #
GET /api/v1/uptime/heartbeat/{token} GET /api/v1/uptime/heartbeat/{token} #
POST /api/v2/series Prometheus metrics endpoint #
GET /install.sh GET /install.sh #
POST /mcp Read-only MCP server for Claude, Cursor and VS Code; see MCP server #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/getopservo-com:getopservo-com-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

getopservo-com-openapi-generated.yml Raw ↑
openapi: 3.1.0
info:
  title: Opservo API
  version: '2026-11-10'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-11-10: 14 operation(s) read from 12 public documentation page(s) (each
    operation names its page in x-source). This is not the provider''s published contract; Opservo has published no machine-readable contract
    that the pipeline could find. Engine: local.'
  x-evidence-tiers:
    code-example: 3
    documentation: 11
    pages-with-code: 10
    pages-read: 12
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-11-10'
  x-generator: generate-contract-from-docs.py
  x-engine: local
  x-sources:
  - https://getopservo.com/docs/api-tokens
  - https://getopservo.com/docs/prometheus
  - https://staging.getopservo.com/docs/api-tokens
  - https://getopservo.com/guides/nodejs-server-monitoring
  - https://getopservo.com/guides/white-label-uptime-reporting-for-agencies
  - https://getopservo.com/docs/install
  - https://getopservo.com/docs/uninstall
  - https://getopservo.com/docs/agent-updates
  - https://getopservo.com/docs/autoscaling
  - https://getopservo.com/docs/uptime-monitors
  - https://getopservo.com/docs/grafana
  - https://staging.getopservo.com/docs/install
servers:
- url: https://api.getopservo.com
paths:
  /api/v1/agents/:
    get:
      operationId: get_api_v1_agents
      tags:
      - Api
      summary: The Opservo data source lets you chart any of the 80+ server metrics Opservo collects inside the Grafana dashboards you already
        have.
      x-source: https://getopservo.com/docs/grafana
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/agents/{id}/deploy:
    post:
      operationId: post_api_v1_agents_id_deploy
      tags:
      - Api
      summary: 'Trigger the server’s configured deploy; body {"ref": "<commit or tag>"} is optional'
      x-source: https://getopservo.com/docs/api-tokens
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiV1AgentsIdDeployRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/agents/{id}/deploy/rollback:
    post:
      operationId: post_api_v1_agents_id_deploy_rollback
      tags:
      - Api
      summary: Run the configured rollback command
      x-source: https://getopservo.com/docs/api-tokens
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/agents/{id}/deploys:
    get:
      operationId: get_api_v1_agents_id_deploys
      tags:
      - Api
      summary: Release history with status and logs
      x-source: https://getopservo.com/docs/api-tokens
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/agents/{id}/metrics/prometheus:
    get:
      operationId: get_api_v1_agents_id_metrics_prometheus
      tags:
      - Api
      summary: The same for one server
      x-source: https://getopservo.com/docs/api-tokens
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/metrics/catalogue:
    get:
      operationId: get_api_v1_metrics_catalogue
      tags:
      - Api
      summary: The list of exportable metrics as JSON
      x-source: https://getopservo.com/docs/api-tokens
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    post:
      operationId: post_api_v1_metrics_catalogue
      tags:
      - Api
      summary: POST /api/v1/metrics/catalogue
      x-source: https://getopservo.com/docs/api-tokens
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: 'curl -s https://api.getopservo.com/api/v1/metrics/catalogue  -H "Authorization: Bearer $OPSERVO_TOKEN" | jq ''.metrics[] | {key,
          unit, group}'' Last 24 hours of CPU for the whole fleet curl -s "https://api.getopservo.com/api/v1/metrics/query?metrics=cpu_percent,mem_percent&hours=24"  -H
          "Authorization: Bearer $OPSERVO_TOKEN" Trigger a deploy from CI curl -s -X POST https://api.getopservo.com/api/v1/'
  /api/v1/metrics/prometheus:
    get:
      operationId: get_api_v1_metrics_prometheus
      tags:
      - Api
      summary: Every metric for every server, Prometheus text format
      x-source: https://getopservo.com/docs/api-tokens
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/metrics/query:
    get:
      operationId: get_api_v1_metrics_query
      tags:
      - Api
      summary: Bucketed time series for up to 20 metrics, optional agent_ids , hours 1–720
      x-source: https://getopservo.com/docs/api-tokens
      parameters:
      - name: metrics
        in: query
        required: false
        schema:
          type: string
      - name: agent_ids
        in: query
        required: false
        schema:
          type: string
      - name: hours
        in: query
        required: false
        schema:
          type: integer
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    post:
      operationId: post_api_v1_metrics_query
      tags:
      - Api
      summary: Bucketed time series for up to 20 metrics, optional agent_ids , hours 1–720
      x-source: https://getopservo.com/docs/api-tokens
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiV1MetricsQueryRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/uptime/heartbeat/{token}:
    get:
      operationId: get_api_v1_uptime_heartbeat_token
      tags:
      - Api
      summary: GET /api/v1/uptime/heartbeat/{token}
      x-source: https://getopservo.com/docs/uptime-monitors
      parameters:
      - name: token
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: 'curl -fsS https://api.getopservo.com/api/v1/uptime/heartbeat/<token> GET, POST and HEAD all count. If no ping arrives within
          the interval plus the grace period, the monitor goes DOWN and you are alerted. The next ping brings it back UP. Checking private targets
          from a server A TCP monitor can run from one of your servers instead of from the Opservo cloud: in the form, change “Check from” to
          a serv'
  /api/v2/series:
    post:
      operationId: post_api_v2_series
      tags:
      - Api
      summary: Prometheus metrics endpoint
      description: Opservo POSTs the catalogue metrics to your endpoint on a schedule. The body is signed and includes required headers.
      x-source: https://getopservo.com/docs/prometheus
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiV2SeriesRequest'
      responses:
        '202':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /install.sh:
    get:
      operationId: get_install_sh
      tags:
      - Install
      summary: GET /install.sh
      x-source: https://getopservo.com/guides/nodejs-server-monitoring
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: 'curl -sSL https://api.getopservo.com/install.sh | sudo bash There is no npm package to add and nothing in the app changes. The
          agent is one Go binary, outbound HTTPS only, read-only unless you switch on remote actions for that server. What it cannot do is trace
          a request through your code: for per-route latency inside the app you still want an APM, and the two can run side by side. What should
          ale'
  /mcp:
    post:
      operationId: post_mcp
      tags:
      - Mcp
      summary: Read-only MCP server for Claude, Cursor and VS Code; see MCP server
      x-source: https://getopservo.com/docs/api-tokens
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
components:
  schemas:
    PostApiV1AgentsIdDeployRequest:
      type: object
      properties:
        ref:
          type: string
    PostApiV1MetricsQueryRequest:
      type: object
      properties:
        metrics:
          type: array
        agent_ids:
          type: array
        hours:
          type: integer
    PostApiV2SeriesRequest:
      type: object
      properties:
        body:
          type: object
          description: Plain JSON payload matching the POST /api/v2/series body shape for the Metrics stream channel.
      required:
      - body
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
security:
- bearer: []
tags:
- name: Api
- name: Install
- name: Mcp