Opsmeter.io API

Opsmeter.io API as documented publicly: 9 operations. Contract generated from the documentation by API Evangelist (2026-10-18); not the provider's own document.

Operations 9

POST /v1/billing/subscription/change-plan Billing plan change flow #
GET /v1/dashboard/top-users Include non-real data explicitly when needed: GET /v1/dashboard/top-users?range=7d&dataMode=all&environment=staging. #
GET /v1/diagnostics/workspace-status Workspace status endpoint #
POST /v1/ingest/demo POST /v1/ingest/demo #
DELETE /v1/ingest/demo-data DELETE /v1/ingest/demo-data #
POST /v1/ingest/llm-request POST /v1/ingest/llm-request #
DELETE /v1/ingest/test-data DELETE /v1/ingest/test-data #
GET /v1/public/pricing-models Provider Pricing Catalog Docs #
GET /v1/settings/workspace-status Workspace status endpoint #

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/opsmeter:opsmeter-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

opsmeter-openapi-generated.yml Raw ↑
openapi: 3.1.0
info:
  title: Opsmeter.io API
  version: '2026-10-18'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-10-18: 9 operation(s) read from 5 public documentation page(s) (each operation
    names its page in x-source). This is not the provider''s published contract; Opsmeter.io has published no machine-readable contract that the
    pipeline could find. Engine: local.'
  x-evidence-tiers:
    code-example: 4
    documentation: 5
    pages-with-code: 2
    pages-read: 5
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-10-18'
  x-generator: generate-contract-from-docs.py
  x-engine: local
  x-sources:
  - https://opsmeter.io/docs/operations
  - https://opsmeter.io/docs/limits-and-budgets
  - https://opsmeter.io/docs/n8n
  - https://opsmeter.io/docs/data-modes
  - https://opsmeter.io/docs/catalog
servers:
- url: https://api.opsmeter.io
paths:
  /v1/billing/subscription/change-plan:
    post:
      operationId: post_v1_billing_subscription_change_plan
      tags:
      - Billing
      summary: Billing plan change flow
      description: Active subscription plan changes run in-app via this endpoint. Financial calculations (proration, tax, currency) are sourced
        from Lemon Squeezy. The change request returns pending_webhook. Final plan, status, and renewal dates are confirmed by webhook events.
      x-source: https://opsmeter.io/docs/operations
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostV1BillingSubscriptionChangePlanResponse'
      x-evidence:
        kind: documentation
  /v1/dashboard/top-users:
    get:
      operationId: get_v1_dashboard_top_users
      tags:
      - Dashboard
      summary: 'Include non-real data explicitly when needed: GET /v1/dashboard/top-users?range=7d&dataMode=all&environment=staging.'
      x-source: https://opsmeter.io/docs/data-modes
      parameters:
      - name: range
        in: query
        required: false
        schema:
          type: string
        description: Time range for the top‑users list (e.g., 7d)
      - name: dataMode
        in: query
        required: false
        schema:
          type: string
        description: Data mode filter, e.g., all
      - name: environment
        in: query
        required: false
        schema:
          type: string
        description: Environment filter, e.g., staging
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/diagnostics/workspace-status:
    get:
      operationId: get_v1_diagnostics_workspace_status
      tags:
      - Diagnostics
      summary: Workspace status endpoint
      x-source: https://opsmeter.io/docs/limits-and-budgets
      parameters:
      - name: X-API-Key
        in: header
        required: true
        schema:
          type: string
        description: API key for diagnostics
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetV1DiagnosticsWorkspaceStatusResponse'
      x-evidence:
        kind: documentation
  /v1/ingest/demo:
    post:
      operationId: post_v1_ingest_demo
      tags:
      - Ingest
      summary: POST /v1/ingest/demo
      x-source: https://opsmeter.io/docs/data-modes
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: 'curl -X POST "https://api.opsmeter.io/v1/ingest/demo"  -H "X-API-Key: $AI_COST_API_KEY"'
  /v1/ingest/demo-data:
    delete:
      operationId: delete_v1_ingest_demo_data
      tags:
      - Ingest
      summary: DELETE /v1/ingest/demo-data
      x-source: https://opsmeter.io/docs/data-modes
      parameters:
      - name: scope
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: 'curl -X DELETE "https://api.opsmeter.io/v1/ingest/demo-data?scope=workspace"  -H "Authorization: Bearer $JWT"'
  /v1/ingest/llm-request:
    post:
      operationId: post_v1_ingest_llm_request
      tags:
      - Ingest
      summary: POST /v1/ingest/llm-request
      x-source: https://opsmeter.io/docs/operations
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: python
        snippet: "requests.post(\n \"https://api.opsmeter.io/v1/ingest/llm-request\",\n json=payload,\n headers={\"X-API-Key\": api_key},\n timeout=0.6,\n\
          \ )"
  /v1/ingest/test-data:
    delete:
      operationId: delete_v1_ingest_test_data
      tags:
      - Ingest
      summary: DELETE /v1/ingest/test-data
      x-source: https://opsmeter.io/docs/data-modes
      parameters:
      - name: scope
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: 'curl -X DELETE "https://api.opsmeter.io/v1/ingest/test-data?scope=mine"  -H "Authorization: Bearer $JWT" A4 Analytics/export
          default behavior Overview, top lists, prompt versions, exports, and budget signals are real-only by default. Include non-real traffic
          by sending explicit filters. Retention still applies on top of these filters. See Retention & data lifecycle for raw-vs-summary rules
          and exp'
  /v1/public/pricing-models:
    get:
      operationId: get_v1_public_pricing_models
      tags:
      - Public
      summary: Provider Pricing Catalog Docs
      x-source: https://opsmeter.io/docs/catalog
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/settings/workspace-status:
    get:
      operationId: get_v1_settings_workspace_status
      tags:
      - Settings
      summary: Workspace status endpoint
      x-source: https://opsmeter.io/docs/limits-and-budgets
      parameters:
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
        description: Bearer token
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetV1SettingsWorkspaceStatusResponse'
      x-evidence:
        kind: documentation
components:
  schemas:
    PostV1BillingSubscriptionChangePlanResponse:
      type: object
      properties:
        pending_webhook:
          type: string
          description: Indicates the change request is pending webhook confirmation.
    GetV1DiagnosticsWorkspaceStatusResponse:
      type: object
      properties:
        workspaceId:
          type: string
        isPlanLimitReached:
          type: boolean
        telemetryPaused:
          type: boolean
        providerCallsContinue:
          type: boolean
        isBudgetWarning:
          type: boolean
        isBudgetExceeded:
          type: boolean
        severity:
          type: string
        plan:
          type: object
          description: Plan details
        budget:
          type: object
          description: Budget details
    GetV1SettingsWorkspaceStatusResponse:
      type: object
      properties:
        workspaceId:
          type: string
        isPlanLimitReached:
          type: boolean
        telemetryPaused:
          type: boolean
        providerCallsContinue:
          type: boolean
        isBudgetWarning:
          type: boolean
        isBudgetExceeded:
          type: boolean
        severity:
          type: string
        plan:
          type: object
          description: Plan details
        budget:
          type: object
          description: Budget details
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
security:
- bearer: []
tags:
- name: Billing
- name: Dashboard
- name: Diagnostics
- name: Ingest
- name: Public
- name: Settings