Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.1.0
info:
title: APImetrics
description: API for the APImetrics platform
termsOfService: http://apimetrics.io/tos/
contact:
name: APIContext Support
url: https://apicontext.io/
email: support@apicontext.com
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
version: v2026-09-02
servers:
- url: https://client.apimetrics.io
description: APIContext (APImetrics) platform API
tags:
- name: API Keys
description: Create, list and delete the API keys bound to a project.
- name: API Monitor Statistics
description: Aggregate statistics for API Monitors
- name: Account
description: View and update the caller's own Auth0 account profile.
- name: Account Settings
description: Per-project configurable settings catalogs (e.g. latency SLA thresholds).
- name: Agents
description: Shared / community remote agent registry (list + info + admin-only by-key operations).
- name: Browser Monitor Statistics
description: Aggregate statistics for Browser Monitors
- name: Browser Monitors
description: '
Manage Browser Monitors.
Browser Monitors load a target URL in a real browser (Chromium, Firefox, or WebKit) and
measure its availability and performance. Use them to monitor pages that require JavaScript
rendering or full browser behaviour, complementing the HTTP-level checks provided by
standard Monitors.
'
- name: Calls
description: API call (test) definitions
- name: Conditions
description: Project-default post-test conditions.
- name: Crypto Utilities
description: Utility endpoints for decoding/signing JWTs, HMAC digests and RSA signatures.
- name: Environment
description: Manage per-project environment workspaces and variables.
- name: Export
description: Export and re-tag a project's configuration.
- name: Files
description: Manage OpenAPI specifications and files which can be used as API request bodies.
- name: Hooks
description: 'Manage inbound hooks: workflow triggers that run when their public URL receives a request.'
- name: Import
description: Import a project's configuration from an export bundle.
- name: Insights
description: Pre-computed API insights reports, rankings and outlier detail.
- name: Invites
description: Manage and accept invites to join the platform.
- name: MCP Monitor Statistics
description: Aggregate statistics for MCP Monitors
- name: MCP Monitors
description: '
Manage MCP Monitors.
MCP Monitors test MCP servers by running a configurable sequence of steps (e.g. listing tools, calling
a tool) against a
target HTTP(S) URL.
'
- name: Manage
description: Copy or move resources (calls, workflows, auths, reports) between projects.
- name: Monitors
description: '
List, read, and trigger monitors.
This resource provides a unified view across all monitor types (API, Browser, MCP, etc.)
for a project. Use the type-specific endpoints to create or update monitors.
'
- name: Notifications
description: Issue notifications raised about monitors, results, and workflows.
- name: OpenAPI
description: OpenAPI validation
- name: Organization Roles
description: Manage role-based access grants across an organization's projects.
- name: Organizations
description: Manage organizations and their members.
- name: Project Access
description: Manage direct account access grants on projects.
- name: Project Roles
description: Manage role-based access grants on projects.
- name: Project SLOs
description: Service level objectives for the current project.
- name: Project Setup
description: The setup of the current project — the project selected by the Apimetrics-Project-Id header
(or bound to the API key).
- name: Project Subscriptions
description: Per-account per-project email digest subscriptions (daily / weekly / monthly).
- name: Project Synopsis
description: Pre-aggregated pass/fail, timing and insight synopsis for the current project.
- name: Projects
description: Manage projects within an organization.
- name: Projects
description: Manage a project.
- name: Reports
description: Report (dashboard) definitions grouping API calls
- name: Schedules
description: '
Manage schedules for a project.
A schedule runs one or more monitors at a fixed frequency from a chosen set of
regions, clouds and agent locations. Targets (monitors) can be set in bulk via
the schedule body, or added and removed individually via the
`add-call-to-schedule` and `remove-call-from-schedule` operations.
'
- name: Schedules
description: Manage schedules and their scheduled downtimes.
- name: Session
description: Session endpoints preserved from the legacy API.
- name: Stats
description: Per-call performance and pass/fail statistics
- name: Users (admin)
description: User management
- name: Webhooks
description: '
Manage project-wide and call-specific alerts and webhooks.
A webhook is an alert or action that occurs on the completion of a monitor check.
Webhooks can be configured for all monitors in a project, or for a specific monitor.
A webhook can be further limited to specific check outcomes - any or all of PASS,
FAIL, WARNING or SLOW, and further controlled by adding tags to match against the
completing monitor.
'
- name: Webhooks
description: Manage project-level webhooks that fire on monitor results.
- name: Workflows
description: Manage workflows.
- name: Auth Settings
description: Authentication / service configuration
- name: Results
description: Raw test execution results
- name: Audits
description: Audit log
paths:
/api/3/project/analytics/calls-monthly:
get:
tags:
- Analytics
summary: Project-Calls-Monthly
operationId: project-calls-monthly
security:
- OAuth2: []
- ApiKey: []
parameters:
- name: start_date
in: query
required: true
schema:
type: string
title: Start Date
- name: accept
in: header
required: false
schema:
type: string
title: Accept
- name: apimetrics-project-id
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Apimetrics-Project-Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectCallsMonthly'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/3/organizations/{org_id}/analytics/slow-calls-daily:
get:
tags:
- Analytics
summary: Org-Slow-Calls-Daily-Csv
operationId: org-slow-calls-daily-csv
security:
- OAuth2: []
- ApiKey: []
parameters:
- name: org_id
in: path
required: true
schema:
type: string
title: Org Id
- name: start_date
in: query
required: true
schema:
type: string
title: Start Date
- name: end_date
in: query
required: true
schema:
type: string
title: End Date
- name: thresholds
in: query
required: false
schema:
type: array
items:
type: integer
minItems: 2
examples:
- - 700
- 800
- 900
- 1000
- 2000
title: Thresholds
- name: accept
in: header
required: false
schema:
type: string
title: Accept
responses:
'200':
description: Download a CSV file with the slow calls data
content:
application/json:
schema:
$ref: '#/components/schemas/OrgSlowCallsDaily'
text/csv:
example: 'day,project_id,pass_count,slow700_count,slow800_count,slow1000_count,slow2000_count,slow9000_count,warn_count,fail_count,total
2024-07-02,Test New,263,0,0,0,0,0,0,0,263
2024-07-02,API Drift White Paper II,186,0,8,63,1,0,0,0,258
2024-07-02,APImetrics APIs,708,1,0,0,0,0,0,0,709
'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/3/organizations/{org_id}/analytics/slow-calls-monthly:
get:
tags:
- Analytics
summary: Org-Slow-Calls-Monthly
operationId: org-slow-calls-monthly
security:
- OAuth2: []
- ApiKey: []
parameters:
- name: org_id
in: path
required: true
schema:
type: string
title: Org Id
- name: start_date
in: query
required: true
schema:
type: string
title: Start Date
- name: thresholds
in: query
required: false
schema:
type: array
items:
type: integer
minItems: 2
examples:
- - 700
- 800
- 900
- 1000
- 2000
title: Thresholds
- name: accept
in: header
required: false
schema:
type: string
title: Accept
responses:
'200':
description: Download a CSV file with the slow calls data
content:
application/json:
schema:
$ref: '#/components/schemas/OrgSlowCallsMonthly'
text/csv:
example: 'month,project_id,pass_count,slow700_count,slow800_count,slow1000_count,slow2000_count,slow9000_count,warn_count,fail_count,total
2024-07-01,Test New,4955,0,0,0,0,0,0,0,4955
2024-07-01,API Drift White Paper II,3301,1,239,941,4,0,7,436,4929
2024-07-01,APImetrics APIs,4739,9,2,2,1,0,0,0,4753
'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/3/monitors/api/{monitor_id}/stats/performance:
post:
tags:
- API Monitor Statistics
summary: Aggregate performance metrics for an API monitor over a window
description: 'Aggregate performance metrics for an API monitor over a window.
Returns the requested measures (e.g. mean, p50, p90) per metric, optionally
grouped by location and/or time bucket.'
operationId: query-api-monitor-performance
security:
- OAuth2: []
- ApiKey: []
parameters:
- name: monitor_id
in: path
required: true
schema:
type: string
pattern: ^[A-Za-z0-9_-]+$
title: Monitor ID
- name: apimetrics-project-id
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Apimetrics-Project-Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/api3__monitors__common__api_models__PerformanceRequest_Metric___1'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/api3__monitors__common__api_models__PerformanceResponse_Metric___1'
'400':
description: Invalid request parameters (e.g. `to` before `from`)
'403':
description: Monitor not owned by this project
'404':
description: Monitor not found
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/3/monitors/api/{monitor_id}/stats/dns-diagnostics:
post:
tags:
- API Monitor Statistics
summary: DNS diagnostics for an API monitor over a window
description: 'Aggregate DNS diagnostics for an API monitor over a window.
Returns a breakdown of observed DNS providers, resolved IPs, CNAME chains,
NS servers, and mean lookup time, optionally grouped by location and/or
time bucket.'
operationId: query-api-monitor-dns-diagnostics
security:
- OAuth2: []
- ApiKey: []
parameters:
- name: monitor_id
in: path
required: true
schema:
type: string
pattern: ^[A-Za-z0-9_-]+$
title: Monitor ID
- name: apimetrics-project-id
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Apimetrics-Project-Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DnsRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/DnsDiagnosticsResponse'
'400':
description: Invalid request parameters (e.g. `to` before `from`)
'403':
description: Monitor not owned by this project
'404':
description: Monitor not found
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/3/monitors/api/stats/performance:
post:
tags:
- API Monitor Statistics
summary: Aggregate performance metrics across all API monitors in the project
description: 'Aggregate performance metrics across all API monitors in the project.
Pair with `group_by=monitor` to get one PerformanceGroup per monitor; with
`group_by=monitor,interval` for per-monitor time-series. Without a `monitor`
grouping, results are a single project-wide aggregate.'
operationId: query-api-performance
security:
- OAuth2: []
- ApiKey: []
parameters:
- name: apimetrics-project-id
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Apimetrics-Project-Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/api3__monitors__common__api_models__PerformanceRequest_Metric___1'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/api3__monitors__common__api_models__PerformanceResponse_Metric___1'
'400':
description: Invalid request parameters (e.g. `to` before `from`)
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/3/monitors/api/stats/dns-diagnostics:
post:
tags:
- API Monitor Statistics
summary: DNS diagnostics across all API monitors in the project
description: 'Aggregate DNS diagnostics across all API monitors in the project.
Returns a breakdown of observed DNS providers, resolved IPs, CNAME chains,
NS servers, and mean lookup time, optionally grouped by location and/or
time bucket.'
operationId: query-api-dns-diagnostics
security:
- OAuth2: []
- ApiKey: []
parameters:
- name: apimetrics-project-id
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Apimetrics-Project-Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DnsRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/DnsDiagnosticsResponse'
'400':
description: Invalid request parameters (e.g. `to` before `from`)
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/3/baseline/dailies/{date}:
get:
tags:
- Baseline
summary: Baseline-Dailies
operationId: baseline-dailies
parameters:
- name: date
in: path
required: true
schema:
type: string
format: date
title: Date
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: object
additionalProperties: true
title: Response Baseline-Dailies
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/3/baseline/hourlies:
get:
tags:
- Baseline
summary: Baseline-Hourlies
operationId: baseline-hourlies
parameters:
- name: start
in: query
required: true
schema:
type: string
format: date-time
title: Start
- name: end
in: query
required: true
schema:
type: string
format: date-time
title: End
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: object
additionalProperties: true
title: Response Baseline-Hourlies
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/3/organizations/{org_id}/billing/usage-counts:
get:
tags:
- Billing
summary: Org-Billing-Usage-Counts
operationId: org-billing-usage-counts
security:
- OAuth2: []
- ApiKey: []
parameters:
- name: org_id
in: path
required: true
schema:
type: string
pattern: ^[a-z0-9]{3,400}$
title: Organization ID
- name: months
in: query
required: false
schema:
type: integer
maximum: 24
minimum: 1
default: 6
title: Months
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/UsageCountsResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/3/organizations/{org_id}/billing/quota:
get:
tags:
- Billing
summary: Org-Billing-Quota
operationId: org-billing-quota
security:
- OAuth2: []
- ApiKey: []
parameters:
- name: org_id
in: path
required: true
schema:
type: string
pattern: ^[a-z0-9]{3,400}$
title: Organization ID
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/api3__billing__models__QuotaResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/3/projects/billing/usage-counts:
get:
tags:
- Billing
summary: Project-Billing-Usage-Counts
operationId: project-billing-usage-counts
security:
- OAuth2: []
- ApiKey: []
parameters:
- name: months
in: query
required: false
schema:
type: integer
maximum: 24
minimum: 1
default: 6
title: Months
- name: apimetrics-project-id
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Apimetrics-Project-Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/UsageCountsResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/3/projects/billing/quota:
get:
tags:
- Billing
summary: Project-Billing-Quota
operationId: project-billing-quota
security:
- OAuth2: []
- ApiKey: []
parameters:
- name: apimetrics-project-id
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Apimetrics-Project-Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/api3__billing__models__QuotaResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/3/monitors/browser/{monitor_id}/stats/performance:
post:
tags:
- Browser Monitor Statistics
summary: Aggregate performance metrics for a monitor over a window
description: 'Aggregate performance metrics for a monitor over a window.
Returns the requested measures (e.g. mean, p50, p90) per metric, optionally
grouped by location and/or time bucket.'
operationId: query-browser-monitor-performance
security:
- OAuth2: []
- ApiKey: []
parameters:
- name: monitor_id
in: path
required: true
schema:
type: string
pattern: ^[A-Za-z0-9_-]+$
title: Monitor ID
- name: apimetrics-project-id
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Apimetrics-Project-Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/api3__monitors__common__api_models__PerformanceRequest_Metric___2'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/api3__monitors__common__api_models__PerformanceResponse_Metric___2'
'400':
description: Invalid request parameters (e.g. `to` before `from`)
'403':
description: Monitor not owned by this project
'404':
description: Monitor not found
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/3/monitors/browser/{monitor_id}/stats/resources:
post:
tags:
- Browser Monitor Statistics
summary: Aggregate resource-level data from `resource_requests` for a monitor
description: "Aggregate resource-level data from `resource_requests` for a browser monitor.\n\n\
Returns:\n- `by_type`: per-resource-type breakdown (count, size) suitable for a pie chart.\n-\
\ `third_party_timeseries`: 1st-party vs 3rd-party load time per interval bucket\n (empty when\
\ no `interval` is supplied)."
operationId: query-browser-monitor-resources
security:
- OAuth2: []
- ApiKey: []
parameters:
- name: monitor_id
in: path
required: true
schema:
type: string
pattern: ^[A-Za-z0-9_-]+$
title: Monitor ID
- name: apimetrics-project-id
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Apimetrics-Project-Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ResourcesRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ResourcesResponse'
'400':
description: Invalid request parameters (e.g. `to` before `from`)
'403':
description: Monitor not owned by this project
'404':
description: Monitor not found
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/3/monitors/browser/{monitor_id}/stats/sessions:
post:
tags:
- Browser Monitor Statistics
summary: Query the top-N raw page_metrics rows sorted by the chosen metric
description: 'Return the top-N raw page_metrics rows sorted by the chosen metric.
Powers the "worst sessions" / "slowest sessions" list — each row carries
the individual result''s CWV values, location, and result_id so the client
can deep-link to the result detail view.'
operationId: query-browser-monitor-sessions
security:
- OAuth2: []
- ApiKey: []
parameters:
- name: monitor_id
in: path
required: true
schema:
type: string
pattern: ^[A-Za-z0-9_-]+$
title: Monitor ID
- name: apimetrics-project-id
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Apimetrics-Project-Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SessionsRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/SessionsResponse'
'400':
description: Invalid request parameters (e.g. `to` before `from`)
'403':
description: Monitor not owned by this project
'404':
description: Monitor not found
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/3/monitors/browser/stats/performance:
post:
tags:
- Browser Monitor Statistics
summary: Aggregate performance metrics across all browser monitors in the project
description: 'Aggregate performance metrics across all browser monitors in the project.
Pair with `group_by=monitor` to get one PerformanceGroup per monitor; with
`group_by=monitor,interval` for per-monitor time-series. Without a `monitor`
grouping, results are a single project-wide aggregate.'
operationId: query-browser-performance
security:
- OAuth2: []
- ApiKey: []
parameters:
- name: apimetrics-project-id
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Apimetrics-Project-Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/api3__monitors__common__api_models__PerformanceRequest_Metric___2'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/api3__monitors__common__api_models__PerformanceResponse_Metric___2'
'400':
description: Invalid request parameters (e.g. `to` before `from`)
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/3/monitors/browser/stats/resources:
post:
tags:
- Browser Monitor Statistics
summary: Aggregate resource-level data across all browser monitors in the project
description: "Aggregate resource-level data from `resource_requests` across all\nbrowser monitors\
\ in the project.\n\nReturns:\n- `by_type`: per-resource-type breakdown (count, size) suitable\
\ for a pie chart.\n- `third_party_timeseries`: 1st-party vs 3rd-party load time per interval\
\ bucket\n (empty when no `interval` is supplied)."
operationId: query-browser-resources
security:
- OAuth2: []
- ApiKey: []
parameters:
- name: apimetrics-project-id
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Apimetrics-Project-Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ResourcesRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ResourcesResponse'
'400':
description: Invalid request parameters (e.g. `to` before `from`)
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/3/monitors/browser/stats/sessions:
post:
tags:
- Browser Monitor Statistics
summary: Top-N raw page_metrics rows across all browser monitors in the project
description: 'Return the top-N raw page_metrics rows across all browser monitors in
the project, sorted by the chosen metric.
Each row carries its originating `monitor_id` so callers can attribute
sessions back to the monitor that produced them.'
operationId: query-browser-sessions
security:
- OAuth2: []
- ApiKey: []
parameters:
- name: apimetrics-project-id
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Apimetrics-Project-Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SessionsRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/SessionsResponse'
'400':
description: Invalid request parameters (e.g. `to` before `from`)
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/3/monitors/browser/:
get:
tags:
- Browser Monitors
summary: List all Browser Monitors for a project
operationId: list-browser-monitors
security:
- OAuth2: []
- ApiKey: []
parameters:
- name: apimetrics-project-id
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Apimetrics-Project-Id
responses:
'200':
description: Su
# --- truncated at 32 KB (759 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/apicontext/refs/heads/main/openapi/apicontext-platform-openapi.yml