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: Successful Response content: application/json: schema: $ref: '#/components/schemas/BrowserTestSetupListResults' examples: list: summary: A project's Browser monitors value: results: - id: ahJzfmFwaW1ldHJpY3MtcHJvZHIXCxILQnJvd3NlckNhbGwYgICA meta: monitor_type: www name: Check homepage tags: [] domain: example.com created: '2025-01-15T10:00:00Z' last_update: '2025-01-15T10:00:00Z' owner: ahJzfmFwaW1ldHJpY3MtcHJvZHILCxIEVXNlchhiAgI workspace: global setup: url: https://example.com/ browser_types: - chromium '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Browser Monitors summary: Create a new Browser Monitor operationId: create-browser-monitor 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__browser__api_models__CreateRequest' examples: basic: summary: Monitor a page using the default browser value: name: Check homepage tags: [] workspace: global url: https://example.com multi_browser: summary: Monitor across multiple browsers value: name: Cross-browser checkout check tags: - checkout - critical workspace: global url: https://shop.example.com/checkout browser_types: - chromium - firefox responses: '201': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/BrowserTestSetupRepr' examples: chromium: summary: Browser monitor targeting Chromium value: id: ahJzfmFwaW1ldHJpY3MtcHJvZHIXCxILQnJvd3NlckNhbGwYgICA meta: monitor_type: www name: Check homepage tags: [] domain: example.com created: '2025-01-15T10:00:00Z' last_update: '2025-01-15T10:00:00Z' owner: ahJzfmFwaW1ldHJpY3MtcHJvZHILCxIEVXNlchhiAgI workspace: global setup: url: https://example.com/ browser_types: - chromium '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/monitors/browser/{monitor_id}: get: tags: - Browser Monitors summary: Read a Browser Monitor by ID operationId: read-browser-monitor security: - OAuth2: [] - ApiKey: [] parameters: - name: monitor_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Browser Monitor ID - 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/BrowserTestSetupRepr' examples: chromium: summary: Browser monitor targeting Chromium value: id: ahJzfmFwaW1ldHJpY3MtcHJvZHIXCxILQnJvd3NlckNhbGwYgICA meta: monitor_type: www name: Check homepage tags: [] domain: example.com created: '2025-01-15T10:00:00Z' last_update: '2025-01-15T10:00:00Z' owner: ahJzfmFwaW1ldHJpY3MtcHJvZHILCxIEVXNlchhiAgI workspace: global setup: url: https://example.com/ browser_types: - chromium '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' put: tags: - Browser Monitors summary: Update an existing Browser Monitor operationId: update-browser-monitor security: - OAuth2: [] - ApiKey: [] parameters: - name: monitor_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Browser 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__browser__api_models__UpdateRequest' examples: rename: summary: Rename the monitor value: meta: name: Updated homepage monitor change_setup: summary: Update target URL and browsers value: setup: url: https://new.example.com browser_types: - chromium - webkit responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/BrowserTestSetupRepr' examples: chromium: summary: Browser monitor targeting Chromium value: id: ahJzfmFwaW1ldHJpY3MtcHJvZHIXCxILQnJvd3NlckNhbGwYgICA meta: monitor_type: www name: Check homepage tags: [] domain: example.com created: '2025-01-15T10:00:00Z' last_update: '2025-01-15T10:00:00Z' owner: ahJzfmFwaW1ldHJpY3MtcHJvZHILCxIEVXNlchhiAgI workspace: global setup: url: https://example.com/ browser_types: - chromium '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Browser Monitors summary: Delete an existing Browser Monitor operationId: delete-browser-monitor security: - OAuth2: [] - ApiKey: [] parameters: - name: monitor_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Browser Monitor ID - name: apimetrics-project-id in: header required: false schema: anyOf: - type: string - type: 'null' title: Apimetrics-Project-Id responses: '204': description: Successful Response '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/calls/{call_id}/update-kms-helper: post: tags: - Calls summary: Update-Kms-Helper description: Create a new KMS helper API call based on an existing old helper API call. operationId: update-kms-helper security: - OAuth2: [] - ApiKey: [] parameters: - name: call_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: API Monitor ID - 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: type: object additionalProperties: type: string title: Response Update-Kms-Helper '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/organizations/{org_id}/certificates/: get: tags: - Certificates summary: List-Certificates description: List metadata for all of an org's Certificates. operationId: list-certificates 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/CertificateListResults' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Certificates summary: Create-Certificate description: Create a new Certificate. operationId: create-certificate security: - OAuth2: [] - ApiKey: [] parameters: - name: org_id in: path required: true schema: type: string pattern: ^[a-z0-9]{3,400}$ title: Organization ID requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/api3__certificates__api_models__CreateRequest' responses: '201': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/CertificateMetadata' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/organizations/{org_id}/certificates/{certificate_id}: get: tags: - Certificates summary: Read-Certificate description: Read an existing Certificate. operationId: read-certificate security: - OAuth2: [] - ApiKey: [] parameters: - name: certificate_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID - 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/CertificateMetadata' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' put: tags: - Certificates summary: Update-Certificate description: Update an existing Certificate. operationId: update-certificate security: - OAuth2: [] - ApiKey: [] parameters: - name: certificate_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID - name: org_id in: path required: true schema: type: string pattern: ^[a-z0-9]{3,400}$ title: Organization ID requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/api3__certificates__api_models__UpdateRequest' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/CertificateMetadata' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Certificates summary: Delete-Certificate description: Delete an existing Certificate. operationId: delete-certificate security: - OAuth2: [] - ApiKey: [] parameters: - name: certificate_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID - name: org_id in: path required: true schema: type: string pattern: ^[a-z0-9]{3,400}$ title: Organization ID responses: '204': description: Successful Response '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/external/ingest/{source}: post: tags: - External Sources summary: Ingest-External-Source operationId: ingest-external-source security: - OAuth2: [] - ApiKey: [] parameters: - name: source in: path required: true schema: type: string title: Source responses: '200': description: Successful Response content: application/json: schema: type: object additionalProperties: true title: Response Ingest-External-Source '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/files/oas: post: tags: - Files summary: Upload-New-Oas description: Upload a new OpenAPI spec. operationId: upload-new-oas 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: multipart/form-data: schema: $ref: '#/components/schemas/Body_upload-new-oas' responses: '201': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/UploadFileResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/files/oas_url: post: tags: - Files summary: Upload-New-Oas-From-Url description: Upload a new OpenAPI spec. operationId: upload-new-oas-from-url 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/UploadUrl' responses: '201': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/UploadFileResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/governance/changes: get: tags: - Governance summary: List-Changes description: Return a list of changes within the given time range. operationId: list-changes security: - OAuth2: [] - ApiKey: [] parameters: - name: from_timestamp in: query required: true schema: type: string format: date-time title: From Timestamp - name: to_timestamp in: query required: true schema: type: string format: date-time title: To Timestamp - name: cursor in: query required: false schema: type: integer default: 0 title: Cursor - name: limit in: query required: false schema: type: integer default: 25 title: Limit - 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: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/governance/conformance/{spec}/endpoints: post: tags: - Governance summary: Manage-Endpoint-Classification description: Manage the classification of endpoints for a given spec operationId: manage-endpoint-classification security: - OAuth2: [] - ApiKey: [] parameters: - name: spec in: path required: true schema: type: string title: Spec - 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/EndpointClassificationRequest' responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' get: tags: - Governance summary: Get-Endpoint-Classifications description: Manage the classification of endpoints for a given spec operationId: get-endpoint-classifications security: - OAuth2: [] - ApiKey: [] parameters: - name: spec in: path required: true schema: type: string title: Spec - 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: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/governance/conformance/results: get: tags: - Governance summary: Conformance-Results description: Query the conformance results operationId: conformance-results security: - OAuth2: [] - ApiKey: [] parameters: - name: resolved in: query required: false schema: type: boolean title: Include resolved results default: false - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: anyOf: - type: integer - type: 'null' title: Limit - 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: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/governance/conformance/data-checks: get: tags: - Governance summary: List-Data-Checks description: List data checks for the given project operationId: list-data-checks 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: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/governance/conformance/data-checks/{check_name}: put: tags: - Governance summary: Put-Data-Check description: Create or update data check with the given name operationId: put-data-check security: - OAuth2: [] - ApiKey: [] parameters: - name: check_name in: path required: true schema: type: string title: Check Name - 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/DataCheckPutRequest' responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Governance summary: Delete-Data-Check description: Delete data check with the given name operationId: delete-data-check security: - OAuth2: [] - ApiKey: [] parameters: - name: check_name in: path required: true schema: type: string title: Check Name - 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: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/governance/conformance/results/summary: get: tags: - Governance summary: Conformance-Results-Summary description: Query the latest conformance result summary for a project operationId: conformance-results-summary 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: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/governance/conformance/resolution: post: tags: - Governance summary: Update-Resolution description: Update the resolution status for a conformance result operationId: update-resolution 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/ConformanceResolutionRequest' responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/governance/conformance/results/evaluate: post: tags: - Governance summary: Evaluate-Most-Recent description: Run conformance checks and summary calculation on the most recent calls operationId: evaluate-most-recent 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: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/governance/conformance/settings: get: tags: - Governance summary: List-Settings description: Retrieve the conformance settings for a project operationId: list-settings 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: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' put: tags: - Governance summary: Put-Settings description: Insert or update conformance settings for a project operationId: put-settings 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/ConformanceSettingsRequest' responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/organizations/{org_id}/integrations/: get: tags: - Integrations summary: List-Integrations-For-Org operationId: list-integrations-for-org 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: type: array items: $ref: '#/components/schemas/ReadIntegration' title: Response List-Integrations-For-Org '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Integrations summary: Create-Integration operationId: create-integration security: - OAuth2: [] - ApiKey: [] parameters: - name: org_id in: path required: true schema: type: string pattern: ^[a-z0-9]{3,400}$ title: Organization ID requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateIntegration' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ReadIntegration' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/organizations/{org_id}/integrations/{id}: get: tags: - Integrations summary: Get-Integration-By-Id operationId: get-integration-by-id security: - OAuth2: [] - ApiKey: [] parameters: - name: id in: path required: true schema: type: string title: Id - 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/ReadIntegration' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' put: tags: - Integrations summary: Update-Integration operationId: update-integration security: - OAuth2: [] - ApiKey: [] parameters: - name: id in: path required: true schema: type: string title: Id - name: org_id in: path required: true schema: type: string pattern: ^[a-z0-9]{3,400}$ title: Organization ID requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateIntegration' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ReadIntegration' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Integrations summary: Delete-Integration operationId: delete-integration security: - OAuth2: [] - ApiKey: [] parameters: - name: id in: path required: true schema: type: string title: Id - 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: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/integrations/datadog/authenticate: post: tags: - Integrations summary: Authenticate-Datadog-Integration operationId: authenticate-datadog-integration security: - OAuth2: [] - ApiKey: [] parameters: - name: code in: query required: true schema: type: string title: Code - name: code_verifier in: query required: true schema: type: string title: Code Verifier - name: domain in: query required: true schema: type: string title: Domain - name: redirect_uri in: query required: true schema: type: string title: Redirect Uri - name: state in: query required: true schema: type: string title: State responses: '200': description: Successful Response '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/inventory: get: tags: - Inventory summary: List-Inventory description: Return a list of discovered endpoints. operationId: list-inventory security: - OAuth2: [] - ApiKey: [] parameters: - name: from_timestamp in: query required: true schema: type: string format: date-time title: From Timestamp - name: to_timestamp in: query required: true schema: type: string format: date-time title: To Timestamp - name: cursor in: query required: false schema: type: integer default: 0 title: Cursor - name: limit in: query required: false schema: type: integer default: 25 title: Limit - 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: type: object additionalProperties: true title: Response List-Inventory '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/inventory/coverage: get: tags: - Inventory summary: Oas-Coverage description: Return API call coverage data for OpenAPI endpoints. operationId: oas-coverage security: - OAuth2: [] - ApiKey: [] parameters: - name: from_timestamp in: query required: true schema: type: string format: date-time title: From Timestamp - name: to_timestamp in: query required: true schema: type: string format: date-time title: To Timestamp - 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: type: object additionalProperties: true title: Response Oas-Coverage '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/inventory/endpoints/{file_id}: get: tags: - Inventory summary: Oas-Endpoints description: Return a list of endpoints for the requested OpenAPI spec. operationId: oas-endpoints security: - OAuth2: [] - ApiKey: [] parameters: - name: file_id in: path required: true schema: type: string title: File Id - 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: type: object additionalProperties: true title: Response Oas-Endpoints '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/monitors/mcp/{monitor_id}/stats/performance: post: tags: - MCP Monitor Statistics summary: Aggregate performance metrics for an MCP monitor over a window description: 'Aggregate performance metrics for an MCP 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-mcp-monitor-performance security: - OAuth2: [] - ApiKey: [] parameters: - name: monitor_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: MCP 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___3' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/api3__monitors__common__api_models__PerformanceResponse_Metric___3' '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/mcp/stats/performance: post: tags: - MCP Monitor Statistics summary: Aggregate performance metrics across all MCP monitors in the project description: 'Aggregate performance metrics across all MCP 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-mcp-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___3' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/api3__monitors__common__api_models__PerformanceResponse_Metric___3' '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/mcp/: get: tags: - MCP Monitors summary: List all MCP Monitors for a project operationId: list-mcp-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: Successful Response content: application/json: schema: $ref: '#/components/schemas/McpTestSetupListResults' examples: list: summary: A project's MCP monitors value: results: - id: ahJzfmFwaW1ldHJpY3MtcHJvZHIWCxILTWNwVGVzdFNldHVwGICAgICA meta: monitor_type: mcp name: Check tools endpoint tags: [] domain: mcp.example.com created: '2025-01-15T10:00:00Z' last_update: '2025-01-15T10:00:00Z' owner: ahJzfmFwaW1ldHJpY3MtcHJvZHILCxIEVXNlchhiAgI workspace: global setup: url: https://mcp.example.com/sse overall_timeout_ms: 30000 steps: - timeout_ms: 10000 wait_ms: 0 step_type: list_tools '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - MCP Monitors summary: Create a new MCP Monitor operationId: create-mcp-monitor 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__mcp__api_models__CreateRequest' examples: list_tools: summary: Monitor that lists available tools value: name: Check tools endpoint tags: [] workspace: global url: https://mcp.example.com/sse overall_timeout_ms: 30000 steps: - timeout_ms: 10000 wait_ms: 0 step_type: list_tools call_tool: summary: Monitor that calls a specific tool value: name: Echo health check tags: [] workspace: global url: https://mcp.example.com/sse overall_timeout_ms: 60000 steps: - timeout_ms: 10000 wait_ms: 0 step_type: list_tools - timeout_ms: 15000 wait_ms: 0 step_type: call_tool tool_name: echo parameters: message: ping responses: '201': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/McpTestSetupRepr' examples: list_tools: summary: Monitor that lists available MCP tools value: id: ahJzfmFwaW1ldHJpY3MtcHJvZHIWCxILTWNwVGVzdFNldHVwGICAgICA meta: monitor_type: mcp name: Check tools endpoint tags: [] domain: mcp.example.com created: '2025-01-15T10:00:00Z' last_update: '2025-01-15T10:00:00Z' owner: ahJzfmFwaW1ldHJpY3MtcHJvZHILCxIEVXNlchhiAgI workspace: global setup: url: https://mcp.example.com/sse overall_timeout_ms: 30000 steps: - timeout_ms: 10000 wait_ms: 0 step_type: list_tools '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/monitors/mcp/{monitor_id}: get: tags: - MCP Monitors summary: Read an MCP Monitor by ID operationId: read-mcp-monitor security: - OAuth2: [] - ApiKey: [] parameters: - name: monitor_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: MCP Monitor ID - 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/McpTestSetupRepr' examples: list_tools: summary: Monitor that lists available MCP tools value: id: ahJzfmFwaW1ldHJpY3MtcHJvZHIWCxILTWNwVGVzdFNldHVwGICAgICA meta: monitor_type: mcp name: Check tools endpoint tags: [] domain: mcp.example.com created: '2025-01-15T10:00:00Z' last_update: '2025-01-15T10:00:00Z' owner: ahJzfmFwaW1ldHJpY3MtcHJvZHILCxIEVXNlchhiAgI workspace: global setup: url: https://mcp.example.com/sse overall_timeout_ms: 30000 steps: - timeout_ms: 10000 wait_ms: 0 step_type: list_tools '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' put: tags: - MCP Monitors summary: Update an existing MCP Monitor operationId: update-mcp-monitor security: - OAuth2: [] - ApiKey: [] parameters: - name: monitor_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: MCP 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__mcp__api_models__CreateRequest' examples: list_tools: summary: Monitor that lists available tools value: name: Check tools endpoint tags: [] workspace: global url: https://mcp.example.com/sse overall_timeout_ms: 30000 steps: - timeout_ms: 10000 wait_ms: 0 step_type: list_tools call_tool: summary: Monitor that calls a specific tool value: name: Echo health check tags: [] workspace: global url: https://mcp.example.com/sse overall_timeout_ms: 60000 steps: - timeout_ms: 10000 wait_ms: 0 step_type: list_tools - timeout_ms: 15000 wait_ms: 0 step_type: call_tool tool_name: echo parameters: message: ping responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/McpTestSetupRepr' examples: list_tools: summary: Monitor that lists available MCP tools value: id: ahJzfmFwaW1ldHJpY3MtcHJvZHIWCxILTWNwVGVzdFNldHVwGICAgICA meta: monitor_type: mcp name: Check tools endpoint tags: [] domain: mcp.example.com created: '2025-01-15T10:00:00Z' last_update: '2025-01-15T10:00:00Z' owner: ahJzfmFwaW1ldHJpY3MtcHJvZHILCxIEVXNlchhiAgI workspace: global setup: url: https://mcp.example.com/sse overall_timeout_ms: 30000 steps: - timeout_ms: 10000 wait_ms: 0 step_type: list_tools '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' patch: tags: - MCP Monitors summary: Patch an existing MCP Monitor operationId: patch-mcp-monitor security: - OAuth2: [] - ApiKey: [] parameters: - name: monitor_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: MCP 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__mcp__api_models__UpdateRequest' examples: rename: summary: Rename the monitor value: name: Updated monitor name replace_steps: summary: Replace steps with a tool call sequence value: steps: - timeout_ms: 10000 wait_ms: 0 - timeout_ms: 15000 wait_ms: 0 tool_name: echo parameters: message: ping responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/McpTestSetupRepr' examples: list_tools: summary: Monitor that lists available MCP tools value: id: ahJzfmFwaW1ldHJpY3MtcHJvZHIWCxILTWNwVGVzdFNldHVwGICAgICA meta: monitor_type: mcp name: Check tools endpoint tags: [] domain: mcp.example.com created: '2025-01-15T10:00:00Z' last_update: '2025-01-15T10:00:00Z' owner: ahJzfmFwaW1ldHJpY3MtcHJvZHILCxIEVXNlchhiAgI workspace: global setup: url: https://mcp.example.com/sse overall_timeout_ms: 30000 steps: - timeout_ms: 10000 wait_ms: 0 step_type: list_tools '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - MCP Monitors summary: Delete an existing MCP Monitor operationId: delete-mcp-monitor security: - OAuth2: [] - ApiKey: [] parameters: - name: monitor_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: MCP Monitor ID - name: apimetrics-project-id in: header required: false schema: anyOf: - type: string - type: 'null' title: Apimetrics-Project-Id responses: '204': description: Successful Response '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/monitors/: get: tags: - Monitors summary: List all Monitors for a project operationId: list-monitors security: - OAuth2: [] - ApiKey: [] parameters: - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer default: 25 title: Limit - 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__monitors__router___ListResponse' examples: api_monitor: summary: Project monitor list value: meta: project_id: ahJzfmFwaW1ldHJpY3MtcHJvZHIKCxIEVXNlchhiAgI more: false data: - meta: monitor_type: api name: Check payments API tags: - payments domain: api.example.com content_type: application/json accept: application/json created: '2025-01-15T10:00:00Z' last_update: '2025-01-15T10:00:00Z' owner: ahJzfmFwaW1ldHJpY3MtcHJvZHILCxIEVXNlchhiAgI workspace: global request: method: GET url: https://api.example.com/v1/health parameters: [] headers: - key: Accept value: application/json id: ahJzfmFwaW1ldHJpY3MtcHJvZHIUCxIKVGVzdFNldHVwMhiAgICA '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/monitors/{monitor_id}: get: tags: - Monitors summary: Read a Monitor by ID operationId: get-monitor 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 responses: '200': description: Successful Response content: application/json: schema: anyOf: - $ref: '#/components/schemas/TestSetup2Repr' - $ref: '#/components/schemas/BrowserTestSetupRepr' - $ref: '#/components/schemas/McpTestSetupRepr' title: Response Get-Monitor examples: api: summary: API monitor value: meta: monitor_type: api name: Check payments API tags: - payments domain: api.example.com content_type: application/json accept: application/json created: '2025-01-15T10:00:00Z' last_update: '2025-01-15T10:00:00Z' owner: ahJzfmFwaW1ldHJpY3MtcHJvZHILCxIEVXNlchhiAgI workspace: global request: method: GET url: https://api.example.com/v1/health parameters: [] headers: - key: Accept value: application/json id: ahJzfmFwaW1ldHJpY3MtcHJvZHIUCxIKVGVzdFNldHVwMhiAgICA '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/monitors/{monitor_id}/run: post: tags: - Monitors summary: Trigger a Monitor to run now operationId: run-monitor 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/RunMonitorRequest' examples: immediate: summary: Run the monitor immediately value: context: {} location_id: '' run_delay: 0 with_context: summary: Run with variable substitution context value: context: env: staging location_id: '' run_delay: 0 responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/CallRunPayload' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/organizations/{org_id}/downtimes: get: tags: - Downtimes summary: List-Org-Downtimes description: List downtimes defined on the given org. operationId: list-org-downtimes security: - OAuth2: [] - ApiKey: [] parameters: - name: org_id in: path required: true schema: type: string pattern: ^[a-z0-9]{3,400}$ title: Organization ID - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer default: 25 title: Limit responses: '200': description: Successful Response content: application/json: schema: type: object additionalProperties: true title: Response List-Org-Downtimes '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Downtimes summary: Create-Org-Downtime description: Create a new downtime for this org. operationId: create-org-downtime security: - OAuth2: [] - ApiKey: [] parameters: - name: org_id in: path required: true schema: type: string pattern: ^[a-z0-9]{3,400}$ title: Organization ID requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/EditableDowntimeBody' responses: '200': description: Successful Response content: application/json: schema: type: object additionalProperties: true title: Response Create-Org-Downtime '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/organizations/{org_id}/downtimes/{downtime_id}: put: tags: - Downtimes summary: Update-Org-Downtime description: Update an existing downtime for this org. operationId: update-org-downtime security: - OAuth2: [] - ApiKey: [] parameters: - name: downtime_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID - name: org_id in: path required: true schema: type: string pattern: ^[a-z0-9]{3,400}$ title: Organization ID requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/EditableDowntimeBody' responses: '200': description: Successful Response content: application/json: schema: type: object additionalProperties: true title: Response Update-Org-Downtime '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Downtimes summary: Delete-Org-Downtime description: Delete an existing downtime for this org. operationId: delete-org-downtime security: - OAuth2: [] - ApiKey: [] parameters: - name: downtime_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID - name: org_id in: path required: true schema: type: string pattern: ^[a-z0-9]{3,400}$ title: Organization ID responses: '204': description: Successful Response '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/project/security-profiles: get: tags: - Projects summary: List-Security-Profiles-For-Project operationId: list-security-profiles-for-project 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: type: array items: type: string title: Response List-Security-Profiles-For-Project '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/project/agents: get: tags: - Projects summary: List-Agents-For-Project description: 'List all agents accessible to a project. Returns the project''s agent list (its organization''s ``agents:`` system tag, or the public list) plus agents owned by the project''s organization or by the project itself. Personal projects (no org) only get public and project-owned agents.' operationId: list-agents-for-project 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: type: object additionalProperties: true title: Response List-Agents-For-Project '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/agents/: get: tags: - Remote Agents summary: ' List Agents' operationId: _list_agents responses: '200': description: Successful Response content: application/json: schema: items: $ref: '#/components/schemas/ReadAgentResponse' type: array title: Response List Agents security: - OAuth2: [] - ApiKey: [] post: tags: - Remote Agents summary: ' Create Agent' operationId: _create_agent requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateAgentRequest' required: true responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ReadAgentResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' security: - OAuth2: [] - ApiKey: [] /api/3/agents/{agent_id}: get: tags: - Remote Agents summary: ' Agent By Id' operationId: _agent_by_id security: - OAuth2: [] - ApiKey: [] parameters: - name: agent_id in: path required: true schema: type: string title: Agent Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ReadAgentResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' put: tags: - Remote Agents summary: ' Update Agent' operationId: _update_agent security: - OAuth2: [] - ApiKey: [] parameters: - name: agent_id in: path required: true schema: type: string title: Agent Id requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateAgentRequest' responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Remote Agents summary: ' Delete Agent' operationId: _delete_agent security: - OAuth2: [] - ApiKey: [] parameters: - name: agent_id in: path required: true schema: type: string title: Agent Id responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/agents/{agent_id}/config: get: tags: - Remote Agents summary: ' Agent Config By Id' operationId: _agent_config_by_id security: - OAuth2: [] - ApiKey: [] parameters: - name: agent_id in: path required: true schema: type: string title: Agent Id responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/results/{result_id}/content/{path}: get: tags: - Results summary: Get-Result-Content operationId: get-result-content security: - OAuth2: [] - ApiKey: [] parameters: - name: result_id in: path required: true schema: type: string pattern: ^pg[a-z][a-z]-[A-Za-z0-9_-]+={0,2}$ title: Result ID - name: path in: path required: true schema: type: string title: Path - 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: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/results/{result_id}/screenshot: get: tags: - Results summary: Get-Result-Screenshot operationId: get-result-screenshot security: - OAuth2: [] - ApiKey: [] parameters: - name: result_id in: path required: true schema: type: string title: Result Id - name: apimetrics-project-id in: header required: false schema: anyOf: - type: string - type: 'null' title: Apimetrics-Project-Id responses: '200': description: Successful Response '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/schedules/: get: tags: - Schedules summary: List-Schedules description: List schedules for the project. operationId: list-schedules security: - OAuth2: [] - ApiKey: [] parameters: - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Pagination cursor from a previous response's meta.next_cursor - name: limit in: query required: false schema: type: integer maximum: 100 minimum: 1 title: Maximum number of schedules to return default: 25 - 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__schedules__router___ListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Schedules summary: Create-Schedule description: Create a new schedule for the project. operationId: create-schedule 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/EditableScheduleBody' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ApiSchedule' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/schedules/{schedule_id}: get: tags: - Schedules summary: Get-Schedule description: Get a specific schedule by ID. operationId: get-schedule security: - OAuth2: [] - ApiKey: [] parameters: - name: schedule_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Schedule ID - 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/ApiSchedule' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' put: tags: - Schedules summary: Update-Schedule description: Update an existing schedule. operationId: update-schedule security: - OAuth2: [] - ApiKey: [] parameters: - name: schedule_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Schedule 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/EditableScheduleBody' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ApiSchedule' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Schedules summary: Delete-Schedule description: Delete an existing schedule for this org. operationId: delete-schedule security: - OAuth2: [] - ApiKey: [] parameters: - name: schedule_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Schedule ID - name: apimetrics-project-id in: header required: false schema: anyOf: - type: string - type: 'null' title: Apimetrics-Project-Id responses: '204': description: Successful Response '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/schedules/{schedule_id}/targets/{target_id}: post: tags: - Schedules summary: Add-Call-To-Schedule description: Add a target to an existing schedule. operationId: add-call-to-schedule security: - OAuth2: [] - ApiKey: [] parameters: - name: schedule_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Schedule ID - name: target_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID - 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/ApiSchedule' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Schedules summary: Remove-Call-From-Schedule description: Remove a target from an existing schedule. operationId: remove-call-from-schedule security: - OAuth2: [] - ApiKey: [] parameters: - name: schedule_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Schedule ID - name: target_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID - 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/ApiSchedule' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/organizations/{org_id}/service_accounts: get: tags: - Service Accounts summary: List-Service-Accounts description: List the service accounts defined on the given organization. operationId: list-service-accounts security: - OAuth2: [] - ApiKey: [] parameters: - name: org_id in: path required: true schema: type: string pattern: ^[a-z0-9]{3,400}$ title: Organization ID - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer default: 25 title: Limit responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ServiceAccountListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Service Accounts summary: Create-Service-Account description: Create a service account. The client_secret is returned once, here only. operationId: create-service-account security: - OAuth2: [] - ApiKey: [] parameters: - name: org_id in: path required: true schema: type: string pattern: ^[a-z0-9]{3,400}$ title: Organization ID requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateServiceAccountBody' responses: '201': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ServiceAccountCreateResponse' '409': description: A service account with this name already exists. '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/organizations/{org_id}/service_accounts/{service_account_id}: get: tags: - Service Accounts summary: Get-Service-Account description: Get a single service account. The client_secret is never returned. operationId: get-service-account security: - OAuth2: [] - ApiKey: [] parameters: - name: service_account_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID - 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/ServiceAccountResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Service Accounts summary: Delete-Service-Account description: Delete a service account and its Auth0 client and virtual user. operationId: delete-service-account security: - OAuth2: [] - ApiKey: [] parameters: - name: service_account_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID - name: org_id in: path required: true schema: type: string pattern: ^[a-z0-9]{3,400}$ title: Organization ID responses: '204': description: Successful Response '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/organizations/{org_id}/service_accounts/{service_account_id}/roles: put: tags: - Service Accounts summary: Update-Service-Account-Roles description: Replace the organization roles granted to a service account. operationId: update-service-account-roles security: - OAuth2: [] - ApiKey: [] parameters: - name: service_account_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID - name: org_id in: path required: true schema: type: string pattern: ^[a-z0-9]{3,400}$ title: Organization ID requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateRolesBody' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ServiceAccountResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/organizations/{org_id}/service_accounts/{service_account_id}/rotate_secret: post: tags: - Service Accounts summary: Rotate-Service-Account-Secret description: Rotate the client secret. The new secret is returned once, here only. operationId: rotate-service-account-secret security: - OAuth2: [] - ApiKey: [] parameters: - name: service_account_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID - 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/RotateSecretResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/organizations/{org_id}/service_accounts/{service_account_id}/projects/{project_id}: put: tags: - Service Accounts summary: Grant-Service-Account-Project-Access description: Grant a service account a project access level (VIEWER/EDITOR/etc.). operationId: grant-service-account-project-access security: - OAuth2: [] - ApiKey: [] parameters: - name: service_account_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID - name: project_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID - name: org_id in: path required: true schema: type: string pattern: ^[a-z0-9]{3,400}$ title: Organization ID requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/GrantProjectAccessBody' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/api3__service_accounts__service_accounts__ProjectAccessResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Service Accounts summary: Revoke-Service-Account-Project-Access description: Revoke a service account's access to a project. operationId: revoke-service-account-project-access security: - OAuth2: [] - ApiKey: [] parameters: - name: service_account_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID - name: project_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID - name: org_id in: path required: true schema: type: string pattern: ^[a-z0-9]{3,400}$ title: Organization ID responses: '204': description: Successful Response '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/suppliers: get: tags: - Suppliers summary: List-Suppliers description: Return a categorised list of suppliers. operationId: list-suppliers responses: '200': description: Successful Response content: application/json: schema: additionalProperties: true type: object title: Response List-Suppliers /api/3/project/suppliers: get: tags: - Suppliers summary: Get-Project-Suppliers description: Return the list of enabled suppliers for the selected project. operationId: get-project-suppliers 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: type: object additionalProperties: true title: Response Get-Project-Suppliers '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' put: tags: - Suppliers summary: Put-Project-Suppliers description: Set the list of enabled suppliers for the selected project operationId: put-project-suppliers 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/ProjectSuppliersRequestBody' responses: '200': description: Successful Response content: application/json: schema: type: object additionalProperties: true title: Response Put-Project-Suppliers '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/project/suppliers/results: get: tags: - Suppliers summary: Get-Suppliers-Results description: Query the current supplier results for the selected project operationId: get-suppliers-results 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: type: object additionalProperties: true title: Response Get-Suppliers-Results '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/webhooks/: get: tags: - Webhooks summary: List-Webhooks description: List webhooks for the project. operationId: list-webhooks security: - OAuth2: [] - ApiKey: [] parameters: - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Pagination cursor from a previous response's meta.next_cursor - name: limit in: query required: false schema: type: integer maximum: 100 minimum: 1 title: Maximum number of webhooks to return default: 25 - name: monitor_id in: query required: false schema: anyOf: - type: string - type: 'null' title: Only return webhooks attached to this monitor; project-level webhooks are returned when omitted - 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__webhooks__router___ListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Webhooks summary: Create-Webhook description: Create a new webhook for the project. operationId: create-webhook 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/EditableWebHookBody' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ApiWebHook' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/webhooks/{webhook_id}: get: tags: - Webhooks summary: Get-Webhook description: Get a specific webhook by ID. operationId: get-webhook security: - OAuth2: [] - ApiKey: [] parameters: - name: webhook_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Webhook ID - 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/ApiWebHook' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' put: tags: - Webhooks summary: Update-Webhook description: Update an existing webhook. operationId: update-webhook security: - OAuth2: [] - ApiKey: [] parameters: - name: webhook_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Webhook 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/EditableWebHookBody' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ApiWebHook' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Webhooks summary: Delete-Webhook description: Delete an existing webhook for this project. operationId: delete-webhook security: - OAuth2: [] - ApiKey: [] parameters: - name: webhook_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Webhook ID - name: apimetrics-project-id in: header required: false schema: anyOf: - type: string - type: 'null' title: Apimetrics-Project-Id responses: '204': description: Successful Response '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/workflows/{workflow_id}/locations: get: tags: - Workflows summary: Get-Workflow-Locations operationId: get-workflow-locations security: - OAuth2: [] - ApiKey: [] parameters: - name: workflow_id in: path required: true schema: type: string title: Workflow Id - 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: type: array items: $ref: '#/components/schemas/WorkflowLocationOptions' title: Response Get-Workflow-Locations '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/3/workflows/{workflow_id}/run: post: tags: - Workflows summary: Run-Workflow operationId: run-workflow security: - OAuth2: [] - ApiKey: [] parameters: - name: workflow_id in: path required: true schema: type: string title: Workflow 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/WorkflowRunRequest' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/WorkflowRunPayload' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/account/: get: tags: - Account summary: Get-Account description: Return the caller's Auth0 profile fields. operationId: get-account responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/AccountProfileResponse' security: - OAuth2: [] - ApiKey: [] put: tags: - Account summary: Update-Account-Put description: Update the caller's Auth0 profile via the Management API. operationId: update-account-put requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateAccountBody' required: true responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/AccountProfileResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' security: - OAuth2: [] - ApiKey: [] /api/2/account/billing: get: tags: - Account summary: Get-Account-Billing description: Billing summary for every org/project the caller can bill for. operationId: get-account-billing deprecated: true 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/BillingResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/account/quota: get: tags: - Account summary: Get-Account-Quota description: Quota and current usage for the caller's active project. operationId: get-account-quota deprecated: true security: - OAuth2: [] - ApiKey: [] parameters: - name: clear_cache in: query required: false schema: anyOf: - type: string - type: 'null' title: Clear Cache - 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/api2__account__billing__QuotaResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/account/verify: post: tags: - Account summary: Verify-Account-Email description: (Re)send the caller's email-verification message if not yet verified. operationId: verify-account-email responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/StatusResponse' security: - OAuth2: [] - ApiKey: [] /api/2/account/reset_password: post: tags: - Account summary: Reset-Account-Password description: Send a password-reset email (own address, or another if authorised). operationId: reset-account-password security: - OAuth2: [] - ApiKey: [] parameters: - name: Apimetrics-Project-Id in: header required: false schema: anyOf: - type: string - type: 'null' title: Apimetrics-Project-Id requestBody: content: application/json: schema: anyOf: - $ref: '#/components/schemas/ResetPasswordBody' - type: 'null' title: Body responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/StatusResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/account/projects: get: tags: - Account summary: List-Account-Projects description: 'List the projects and organizations the caller can access. Returns the ``{meta, projects, organizations}`` envelope: ``meta`` carries the caller''s account id, org roles, and permissions; ``projects`` lists each reachable project (direct grants and org-role grants merged, highest access kept); ``organizations`` maps each relevant org id to its details. The project the frontend is currently viewing (the stateless replacement for the legacy session value) lets a site-level caller see that project even when they hold no explicit grant on it. The frontend does not always send the ``Apimetrics-Project-Id`` header on this call -- notably the site-admin project picker selects a non-member project without setting it -- but it always sets the same-origin ``current-project-id`` cookie, so fall back to that (legacy read the equivalent value from its server-side session).' operationId: list-account-projects security: - OAuth2: [] - ApiKey: [] parameters: - name: apimetrics-project-id in: header required: false schema: anyOf: - type: string - type: 'null' title: Apimetrics-Project-Id - name: current-project-id in: cookie required: false schema: anyOf: - type: string - type: 'null' title: Current-Project-Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/AccountProjectsResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Account summary: Create-Account-Project description: Create a new personal project owned by the caller. operationId: create-account-project security: - OAuth2: [] - ApiKey: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateAccountProjectBody' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/AccountProjectAccessResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/account-settings/: get: tags: - Account Settings summary: List-Account-Setting-Catalogs description: 'List every enabled settings catalog available on the platform. Returns each catalog''s public metadata (``id``, ``title``, ``description``, ``enabled``). The set of catalogs is defined by the server and is the same for every caller.' operationId: list-account-setting-catalogs 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/CatalogListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/account-settings/{catalog_name}: get: tags: - Account Settings summary: Get-Account-Setting-Catalog description: 'List every variable in the named catalog for the active project. Each variable carries a ``value`` field showing either the project''s override or the platform default. An unknown catalog name yields an empty ``results`` list rather than 404 (matches the legacy contract).' operationId: get-account-setting-catalog security: - OAuth2: [] - ApiKey: [] parameters: - name: catalog_name in: path required: true schema: type: string title: Catalog Name - 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/CatalogVariablesResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Account Settings summary: Reset-Account-Setting-Catalog description: 'Reset every variable in the catalog back to the platform default. Deletes the catalog entity and every persisted override underneath it. Idempotent: returns ``{"status": "OK"}`` whether or not anything was stored.' operationId: reset-account-setting-catalog security: - OAuth2: [] - ApiKey: [] parameters: - name: catalog_name in: path required: true schema: type: string title: Catalog Name - 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/StatusResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/account-settings/{catalog_name}/{variable_name}: get: tags: - Account Settings summary: Get-Account-Setting-Variable description: 'Read a single variable''s static config plus its current value. Returns 404 if the variable name isn''t defined in the catalog''s configuration.' operationId: get-account-setting-variable security: - OAuth2: [] - ApiKey: [] parameters: - name: catalog_name in: path required: true schema: type: string title: Catalog Name - name: variable_name in: path required: true schema: type: string title: Variable Name - 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/VariableEntry' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Account Settings summary: Set-Account-Setting-Variable description: 'Override the variable''s value for this project. The submitted value is coerced to the variable''s declared type (integer, string, or boolean) and validated against any configured range / length / choice constraints. Invalid values or unknown variable names return 400. Returns the persisted entity on success.' operationId: set-account-setting-variable security: - OAuth2: [] - ApiKey: [] parameters: - name: catalog_name in: path required: true schema: type: string title: Catalog Name - name: variable_name in: path required: true schema: type: string title: Variable Name - 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/SetVariableRequest' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/StoredVariableResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Account Settings summary: Delete-Account-Setting-Variable description: 'Remove the project''s override for this variable. After deletion the variable reverts to the platform default value. Idempotent: returns ``{"status": "OK"}`` whether or not an override existed.' operationId: delete-account-setting-variable security: - OAuth2: [] - ApiKey: [] parameters: - name: catalog_name in: path required: true schema: type: string title: Catalog Name - name: variable_name in: path required: true schema: type: string title: Variable Name - 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/StatusResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/agents/: get: tags: - Agents summary: List-Agents description: 'List remote agents available to the caller. Agents are shared infrastructure -- callers see any agent whose ``owners`` list contains ``"public"``, the caller''s project id, or (with ``organization``) the caller''s org id. Non-paginated: up to 200 rows returned in a single response.' operationId: list-agents security: - OAuth2: [] - ApiKey: [] parameters: - name: organization in: query required: false schema: anyOf: - type: string - type: 'null' title: Organization - 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/AgentListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/agents/info: get: tags: - Agents summary: Agents-Info description: 'Return grouped agent metadata used to populate location pickers. The response contains a ``regions`` list (region id + display name + the location IDs in that region), a ``locations`` map (agent name to human-readable label), an ``agent_list``, and an empty ``postman_locations`` (kept for response-shape stability). Reachable anonymously -- no auth headers required. An anonymous caller sees public agents; an authenticated caller additionally sees agents owned by their orgs or project.' operationId: agents-info 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/AgentInfoResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/agents/{agent_key_str}/: get: tags: - Agents summary: Get-Agent description: 'Read a single agent by key. Requires the caller to own the agent -- either as a site admin, or because their project key is listed in the agent''s ``owners``. A plain project API key has no such ownership on shared agents, so ``get`` and ``update`` by key are reserved for administrators. Returns 404 for unknown agents and for agents the caller can''t own.' operationId: get-agent security: - OAuth2: [] - ApiKey: [] parameters: - name: agent_key_str in: path required: true schema: type: string title: Agent Key Str - 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/AgentResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Agents summary: Update-Agent description: 'Update the display metadata (name, cloud, geography, ...) of an agent. Same ownership rules as ``get-agent``: reserved for administrators. Only fields the caller supplies are updated; omitted fields keep their existing values.' operationId: update-agent security: - OAuth2: [] - ApiKey: [] parameters: - name: agent_key_str in: path required: true schema: type: string title: Agent Key Str - 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/UpdateAgentRequest' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/AgentResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/api_keys/: get: tags: - API Keys summary: List-Api-Keys description: 'List every API key bound to the caller''s project (including the caller''s own key).' operationId: list-api-keys security: - OAuth2: [] - ApiKey: [] parameters: - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer maximum: 1000 minimum: 1 default: 100 title: Limit - 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/ApiKeyListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - API Keys summary: Create-Api-Key description: 'Mint a new API key for the caller''s project. The freshly generated secret is returned in ``api_key`` on this response only.' operationId: create-api-key security: - OAuth2: [] - ApiKey: [] parameters: - name: apimetrics-project-id in: header required: false schema: anyOf: - type: string - type: 'null' title: Apimetrics-Project-Id requestBody: content: application/json: schema: anyOf: - $ref: '#/components/schemas/CreateApiKeyBody' - type: 'null' title: Body responses: '201': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ApiKeyResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/api_keys/{key_str}/: delete: tags: - API Keys summary: Delete-Api-Key description: Delete an API key by its urlsafe id and echo the deleted key body. operationId: delete-api-key security: - OAuth2: [] - ApiKey: [] parameters: - name: key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID - 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/ApiKeyResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/audits/: get: tags: - Audits summary: List-Audits description: List audit records for the project. operationId: list-audits security: - OAuth2: [] - ApiKey: [] parameters: - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer default: 100 title: Limit - 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: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/audits/organization/{org_id}/: get: tags: - Audits summary: List-Audits-By-Org description: List audit records for an organization. operationId: list-audits-by-org security: - OAuth2: [] - ApiKey: [] parameters: - name: org_id in: path required: true schema: type: string pattern: ^[a-z0-9]{3,400}$ title: Organization ID - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer default: 100 title: Limit responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/audits/resource/{key_str}/: get: tags: - Audits summary: List-Audits-By-Resource description: 'List audit records for a specific resource, optionally merging related kinds. A resource''s history is not owned by the active project -- org-level entities record their org as the owning scope -- so this route authorizes by scope rather than gating on project access alone: EDITOR on the header project and ADMIN on an org (which reaches the org''s own records *and* its projects'') are independent bases for the read (see ``_audit_scope_readable``). Callers with neither get 403.' operationId: list-audits-by-resource security: - OAuth2: [] - ApiKey: [] parameters: - name: key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer default: 100 title: Limit - name: include in: query required: false schema: anyOf: - type: array items: type: string - type: 'null' title: Include - 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: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/auth/: get: tags: - Auth Settings summary: List-Auth-Settings description: List auth configs for the project. operationId: list-auth-settings security: - OAuth2: [] - ApiKey: [] parameters: - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer minimum: 1 title: Maximum results to return default: 100 - 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/AuthConfigListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Auth Settings summary: Create-Auth-Setting description: Create an auth config for the project. operationId: create-auth-setting 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/CreateAuthConfigRequest' responses: '201': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/AuthConfigResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/auth/domain/{domain}/: get: tags: - Auth Settings summary: List-Auth-Settings-By-Domain description: List auth configs for the project filtered by domain. operationId: list-auth-settings-by-domain security: - OAuth2: [] - ApiKey: [] parameters: - name: domain in: path required: true schema: type: string title: Domain to filter by - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer minimum: 1 title: Maximum results to return default: 100 - 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/AuthConfigListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/auth/{sc_key}/: get: tags: - Auth Settings summary: Get-Auth-Setting description: Get a single auth config. operationId: get-auth-setting security: - OAuth2: [] - ApiKey: [] parameters: - name: sc_key in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Auth Setting ID - 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/AuthConfigResponse' '404': description: Cannot access object '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Auth Settings summary: Update-Auth-Setting description: Update an auth config. operationId: update-auth-setting security: - OAuth2: [] - ApiKey: [] parameters: - name: sc_key in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Auth Setting 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/UpdateAuthConfigRequest' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/AuthConfigResponse' '404': description: Cannot access object '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Auth Settings summary: Delete-Auth-Setting description: Delete an auth config. operationId: delete-auth-setting security: - OAuth2: [] - ApiKey: [] parameters: - name: sc_key in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Auth Setting ID - 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/AuthConfigResponse' '404': description: Cannot access object '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/tokens/: get: tags: - Auth Tokens summary: List-Auth-Tokens description: List auth tokens for the project, ordered by name. operationId: list-auth-tokens security: - OAuth2: [] - ApiKey: [] parameters: - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer minimum: 1 title: Maximum results to return default: 100 - 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/TokenListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Auth Tokens summary: Create-Auth-Token description: Create an auth token bound to an auth setting. operationId: create-auth-token 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/CreateTokenRequest' responses: '201': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/TokenResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/tokens/auth/{sc_key}/: get: tags: - Auth Tokens summary: List-Auth-Tokens-By-Auth-Setting description: List auth tokens belonging to a single auth setting. operationId: list-auth-tokens-by-auth-setting security: - OAuth2: [] - ApiKey: [] parameters: - name: sc_key in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Auth Setting ID - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer minimum: 1 title: Maximum results to return default: 100 - 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/TokenListResponse' '404': description: Cannot access object '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/tokens/{token_key}/: get: tags: - Auth Tokens summary: Get-Auth-Token description: Get a single auth token. operationId: get-auth-token security: - OAuth2: [] - ApiKey: [] parameters: - name: token_key in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Auth Token ID - 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/TokenResponse' '404': description: Cannot access object '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Auth Tokens summary: Update-Auth-Token description: Partially update an auth token. operationId: update-auth-token security: - OAuth2: [] - ApiKey: [] parameters: - name: token_key in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Auth Token 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/UpdateTokenRequest' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/TokenResponse' '404': description: Cannot access object '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Auth Tokens summary: Delete-Auth-Token description: Delete an auth token, returning the deleted representation. operationId: delete-auth-token security: - OAuth2: [] - ApiKey: [] parameters: - name: token_key in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Auth Token ID - 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/TokenResponse' '404': description: Cannot access object '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/calls/: get: tags: - Calls summary: List-Calls description: List API calls for the authenticated project. operationId: list-calls security: - OAuth2: [] - ApiKey: [] parameters: - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer maximum: 1000 minimum: 1 default: 100 title: Limit - name: api_url in: query required: false schema: anyOf: - type: string - type: 'null' title: Api Url - name: domain in: query required: false schema: anyOf: - type: string - type: 'null' title: Domain - name: organization in: query required: false schema: anyOf: - type: string - type: 'null' title: Organization - 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/CallListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Calls summary: Create-Call description: Create a new API call. operationId: create-call 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/CallCreateBody' responses: '201': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/CallResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/calls/build/curl: post: tags: - Calls summary: Build-Call-From-Curl description: Parse a curl command into an (unsaved) API call representation. operationId: build-call-from-curl requestBody: content: application/json: schema: $ref: '#/components/schemas/BuildFromCurlBody' required: true responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/CallResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/calls/auth/{sc_key_str}/: get: tags: - Calls summary: List-Calls-By-Auth description: List API calls that use a given auth (ServiceConfig). operationId: list-calls-by-auth security: - OAuth2: [] - ApiKey: [] parameters: - name: sc_key_str in: path required: true schema: type: string title: Sc Key Str - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer maximum: 1000 minimum: 1 default: 100 title: Limit - 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/CallListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/calls/{call_id}/: get: tags: - Calls summary: Get-Call description: Get a single API call by id. operationId: get-call security: - OAuth2: [] - ApiKey: [] parameters: - name: call_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: API Monitor ID - 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/CallResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' put: tags: - Calls summary: Update-Call description: Partially update an API call (only supplied fields change). operationId: update-call security: - OAuth2: [] - ApiKey: [] parameters: - name: call_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: API 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/CallUpdateBody' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/CallResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Calls summary: Delete-Call description: Delete an API call and return its last representation. operationId: delete-call security: - OAuth2: [] - ApiKey: [] parameters: - name: call_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: API Monitor ID - 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/CallResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/calls/{call_id}/run: post: tags: - Calls summary: Run-Call-V2 description: 'Trigger an on-demand run of an API call. Deprecated: use ``POST /api/3/monitors/{id}/run``.' operationId: run-call-v2 deprecated: true security: - OAuth2: [] - ApiKey: [] parameters: - name: call_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: API 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/CallRunBody' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/CallRunPayload' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/calls/{call_id}/variables/used: get: tags: - Calls summary: Get-Call-Variables-Used description: 'List variable names referenced by a monitor''s request. Scans the target url plus, where present, an API call''s parameters/headers/body and an MCP monitor''s step tool names and arguments. Works for api, browser and mcp monitors.' operationId: get-call-variables-used security: - OAuth2: [] - ApiKey: [] parameters: - name: call_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: API Monitor ID - 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: type: array items: type: string title: Response Get-Call-Variables-Used '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/calls/{call_id}/variables/set: get: tags: - Calls summary: Get-Call-Variables-Set description: 'List variable names set by a monitor''s post-test conditions. Works for api, browser and mcp monitors.' operationId: get-call-variables-set security: - OAuth2: [] - ApiKey: [] parameters: - name: call_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: API Monitor ID - 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: type: array items: type: string title: Response Get-Call-Variables-Set '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/calls/{call_id}/conditions/: get: tags: - Calls summary: Get-Call-Conditions description: Get the post-test conditions for an API call. operationId: get-call-conditions security: - OAuth2: [] - ApiKey: [] parameters: - name: call_id in: path required: true schema: type: string title: Call Id - 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/ConditionsResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Calls summary: Set-Call-Conditions description: Replace the post-test conditions for an API call. operationId: set-call-conditions security: - OAuth2: [] - ApiKey: [] parameters: - name: call_id in: path required: true schema: type: string title: Call 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/PostConditionsRequest' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ConditionsResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/calls/{call_id}/stats/: get: tags: - Stats summary: Get-Call-Stats description: Aggregated performance stats for a single period. operationId: get-call-stats security: - OAuth2: [] - ApiKey: [] parameters: - name: call_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: API Monitor ID - name: kind in: query required: false schema: $ref: '#/components/schemas/StatsKind' description: Aggregation period. default: DAY description: Aggregation period. - name: type in: query required: false schema: $ref: '#/components/schemas/StatsType' description: Result-code filter; `ALL` counts every result. default: ALL description: Result-code filter; `ALL` counts every result. - name: metric in: query required: false schema: $ref: '#/components/schemas/StatsMetric' description: Latency metric to aggregate. default: total_time description: Latency metric to aggregate. - name: location_id in: query required: false schema: type: string description: Agent location id to filter to, or `__ALL__` for all locations. examples: - __ALL__ default: __ALL__ title: Location Id description: Agent location id to filter to, or `__ALL__` for all locations. - name: time in: query required: false schema: anyOf: - type: string format: date-time - type: 'null' description: Point in time selecting the period to report (ISO 8601, UTC assumed if no offset). Defaults to now. examples: - '2024-01-01T12:00:00Z' title: Time description: Point in time selecting the period to report (ISO 8601, UTC assumed if no offset). Defaults to now. - 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/StatResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/calls/{call_id}/stats/since: get: tags: - Stats summary: Get-Call-Stats-Since description: Performance buckets from a start time forwards. operationId: get-call-stats-since security: - OAuth2: [] - ApiKey: [] parameters: - name: call_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: API Monitor ID - name: kind in: query required: false schema: $ref: '#/components/schemas/ListStatsKind' description: Aggregation period (`RAW` for per-result rows). default: DAY description: Aggregation period (`RAW` for per-result rows). - name: type in: query required: false schema: $ref: '#/components/schemas/StatsType' description: Result-code filter; `ALL` counts every result. default: ALL description: Result-code filter; `ALL` counts every result. - name: metric in: query required: false schema: $ref: '#/components/schemas/StatsMetric' description: Latency metric to aggregate. default: total_time description: Latency metric to aggregate. - name: location_id in: query required: false schema: type: string description: Agent location id to filter to, or `__ALL__` for all locations. examples: - __ALL__ default: __ALL__ title: Location Id description: Agent location id to filter to, or `__ALL__` for all locations. - name: limit in: query required: false schema: anyOf: - type: integer minimum: 1 - type: 'null' description: Maximum number of rows to return (default 1000 aggregated, 5000 for RAW). examples: - 1000 title: Limit description: Maximum number of rows to return (default 1000 aggregated, 5000 for RAW). - name: time in: query required: false schema: anyOf: - type: string format: date-time - type: 'null' description: Point in time selecting the period to report (ISO 8601, UTC assumed if no offset). Defaults to now. examples: - '2024-01-01T12:00:00Z' title: Time description: Point in time selecting the period to report (ISO 8601, UTC assumed if no offset). Defaults to now. - name: start in: query required: false schema: anyOf: - type: string format: date-time - type: 'null' description: Start of the reporting window (ISO 8601). Clamped to the call's creation time. examples: - '2024-01-01T00:00:00Z' title: Start description: Start of the reporting window (ISO 8601). Clamped to the call's creation time. - name: end in: query required: false schema: anyOf: - type: string format: date-time - type: 'null' description: End of the reporting window (ISO 8601). Clamped to now. examples: - '2024-01-02T00:00:00Z' title: End description: End of the reporting window (ISO 8601). Clamped to now. - 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/StatListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/calls/{call_id}/stats/before: get: tags: - Stats summary: Get-Call-Stats-Before description: Performance buckets up to an end time. operationId: get-call-stats-before security: - OAuth2: [] - ApiKey: [] parameters: - name: call_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: API Monitor ID - name: kind in: query required: false schema: $ref: '#/components/schemas/ListStatsKind' description: Aggregation period (`RAW` for per-result rows). default: DAY description: Aggregation period (`RAW` for per-result rows). - name: type in: query required: false schema: $ref: '#/components/schemas/StatsType' description: Result-code filter; `ALL` counts every result. default: ALL description: Result-code filter; `ALL` counts every result. - name: metric in: query required: false schema: $ref: '#/components/schemas/StatsMetric' description: Latency metric to aggregate. default: total_time description: Latency metric to aggregate. - name: location_id in: query required: false schema: type: string description: Agent location id to filter to, or `__ALL__` for all locations. examples: - __ALL__ default: __ALL__ title: Location Id description: Agent location id to filter to, or `__ALL__` for all locations. - name: limit in: query required: false schema: anyOf: - type: integer minimum: 1 - type: 'null' description: Maximum number of rows to return (default 1000 aggregated, 5000 for RAW). examples: - 1000 title: Limit description: Maximum number of rows to return (default 1000 aggregated, 5000 for RAW). - name: time in: query required: false schema: anyOf: - type: string format: date-time - type: 'null' description: Point in time selecting the period to report (ISO 8601, UTC assumed if no offset). Defaults to now. examples: - '2024-01-01T12:00:00Z' title: Time description: Point in time selecting the period to report (ISO 8601, UTC assumed if no offset). Defaults to now. - name: start in: query required: false schema: anyOf: - type: string format: date-time - type: 'null' description: Start of the reporting window (ISO 8601). Clamped to the call's creation time. examples: - '2024-01-01T00:00:00Z' title: Start description: Start of the reporting window (ISO 8601). Clamped to the call's creation time. - name: end in: query required: false schema: anyOf: - type: string format: date-time - type: 'null' description: End of the reporting window (ISO 8601). Clamped to now. examples: - '2024-01-02T00:00:00Z' title: End description: End of the reporting window (ISO 8601). Clamped to now. - 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/StatListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/calls/{call_id}/stats/http_codes: get: tags: - Stats summary: Get-Call-Http-Codes description: HTTP status-code breakdown for a single period. operationId: get-call-http-codes security: - OAuth2: [] - ApiKey: [] parameters: - name: call_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: API Monitor ID - name: kind in: query required: false schema: $ref: '#/components/schemas/BreakdownKind' description: Aggregation period. default: MONTH description: Aggregation period. - name: location_id in: query required: false schema: type: string description: Agent location id to filter to, or `__ALL__` for all locations. examples: - __ALL__ default: __ALL__ title: Location Id description: Agent location id to filter to, or `__ALL__` for all locations. - name: time in: query required: false schema: anyOf: - type: string format: date-time - type: 'null' description: Point in time selecting the period to report (ISO 8601, UTC assumed if no offset). Defaults to now. examples: - '2024-01-01T12:00:00Z' title: Time description: Point in time selecting the period to report (ISO 8601, UTC assumed if no offset). Defaults to now. - 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/HttpBreakdownResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/calls/{call_id}/stats/failures: get: tags: - Stats summary: Get-Call-Failures description: 'Deprecated: use the breakdown endpoint instead.' operationId: get-call-failures security: - OAuth2: [] - ApiKey: [] parameters: - name: call_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: API Monitor ID - 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: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/calls/{call_id}/stats/passfail: get: tags: - Stats summary: Get-Call-Passfail description: Pass/warning/failure counts for a single period. operationId: get-call-passfail security: - OAuth2: [] - ApiKey: [] parameters: - name: call_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: API Monitor ID - name: kind in: query required: false schema: $ref: '#/components/schemas/PassFailKind' description: Aggregation period. default: MONTH description: Aggregation period. - name: location_id in: query required: false schema: type: string description: Agent location id to filter to, or `__ALL__` for all locations. examples: - __ALL__ default: __ALL__ title: Location Id description: Agent location id to filter to, or `__ALL__` for all locations. - name: time in: query required: false schema: anyOf: - type: string format: date-time - type: 'null' description: Point in time selecting the period to report (ISO 8601, UTC assumed if no offset). Defaults to now. examples: - '2024-01-01T12:00:00Z' title: Time description: Point in time selecting the period to report (ISO 8601, UTC assumed if no offset). Defaults to now. - name: format in: query required: false schema: anyOf: - type: string - type: 'null' description: Any non-empty value returns the raw combined stats map instead of the reshaped pass/warning/failure counts. title: Format description: Any non-empty value returns the raw combined stats map instead of the reshaped pass/warning/failure counts. - 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: anyOf: - $ref: '#/components/schemas/PassFailResponse' - $ref: '#/components/schemas/PassFailTotalResponse' title: Response Get-Call-Passfail '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/calls/{call_id}/stats/passfail_total: get: tags: - Stats summary: Get-Call-Passfail-Total description: Overall pass/fail totals over the call's most recent hour range. operationId: get-call-passfail-total security: - OAuth2: [] - ApiKey: [] parameters: - name: call_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: API Monitor ID - name: start in: query required: false schema: anyOf: - type: string format: date-time - type: 'null' description: Start of the reporting window (ISO 8601). Clamped to the call's creation time. examples: - '2024-01-01T00:00:00Z' title: Start description: Start of the reporting window (ISO 8601). Clamped to the call's creation time. - name: end in: query required: false schema: anyOf: - type: string format: date-time - type: 'null' description: End of the reporting window (ISO 8601). Clamped to now. examples: - '2024-01-02T00:00:00Z' title: End description: End of the reporting window (ISO 8601). Clamped to now. - 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/PassFailTotalResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/calls/{call_id}/stats/passfail_range: get: tags: - Stats summary: Get-Call-Passfail-Range description: Pass/fail counts grouped by period over a range. operationId: get-call-passfail-range security: - OAuth2: [] - ApiKey: [] parameters: - name: call_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: API Monitor ID - name: kind in: query required: false schema: $ref: '#/components/schemas/PassFailKind' description: Grouping period. default: MONTH description: Grouping period. - name: location_id in: query required: false schema: type: string description: Agent location id to filter to, or `__ALL__` for all locations. examples: - __ALL__ default: __ALL__ title: Location Id description: Agent location id to filter to, or `__ALL__` for all locations. - name: start in: query required: false schema: anyOf: - type: string format: date-time - type: 'null' description: Start of the reporting window (ISO 8601). Clamped to the call's creation time. examples: - '2024-01-01T00:00:00Z' title: Start description: Start of the reporting window (ISO 8601). Clamped to the call's creation time. - name: end in: query required: false schema: anyOf: - type: string format: date-time - type: 'null' description: End of the reporting window (ISO 8601). Clamped to now. examples: - '2024-01-02T00:00:00Z' title: End description: End of the reporting window (ISO 8601). Clamped to now. - 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/PassFailRangeResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/calls/{call_id}/stats/legacy/passfail: get: tags: - Stats summary: Get-Call-Legacy-Passfail description: Pass/fail counts for a single period (legacy synopsis endpoint). operationId: get-call-legacy-passfail security: - OAuth2: [] - ApiKey: [] parameters: - name: call_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: API Monitor ID - name: kind in: query required: false schema: $ref: '#/components/schemas/BreakdownKind' description: Aggregation period. default: MONTH description: Aggregation period. - name: location_id in: query required: false schema: type: string description: Agent location id to filter to, or `__ALL__` for all locations. examples: - __ALL__ default: __ALL__ title: Location Id description: Agent location id to filter to, or `__ALL__` for all locations. - name: time in: query required: false schema: anyOf: - type: string format: date-time - type: 'null' description: Point in time selecting the period to report (ISO 8601, UTC assumed if no offset). Defaults to now. examples: - '2024-01-01T12:00:00Z' title: Time description: Point in time selecting the period to report (ISO 8601, UTC assumed if no offset). Defaults to now. - 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/LegacyPassFailResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/calls/{call_id}/stats/legacy/passfail_range: get: tags: - Stats summary: Get-Call-Legacy-Passfail-Range description: Pass/fail counts grouped by period (legacy synopsis endpoint). operationId: get-call-legacy-passfail-range security: - OAuth2: [] - ApiKey: [] parameters: - name: call_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: API Monitor ID - name: kind in: query required: false schema: $ref: '#/components/schemas/BreakdownKind' description: Grouping period. default: MONTH description: Grouping period. - name: location_id in: query required: false schema: type: string description: Agent location id to filter to, or `__ALL__` for all locations. examples: - __ALL__ default: __ALL__ title: Location Id description: Agent location id to filter to, or `__ALL__` for all locations. - name: start in: query required: false schema: anyOf: - type: string format: date-time - type: 'null' description: Start of the reporting window (ISO 8601). Clamped to the call's creation time. examples: - '2024-01-01T00:00:00Z' title: Start description: Start of the reporting window (ISO 8601). Clamped to the call's creation time. - name: end in: query required: false schema: anyOf: - type: string format: date-time - type: 'null' description: End of the reporting window (ISO 8601). Clamped to now. examples: - '2024-01-02T00:00:00Z' title: End description: End of the reporting window (ISO 8601). Clamped to now. - 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/LegacyPassFailRangeResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/calls/{call_id}/stats/metrics/{location_id}/: get: tags: - Stats summary: Get-Call-Metrics description: Quantile statistics for one or more metrics, grouped by domain. operationId: get-call-metrics security: - OAuth2: [] - ApiKey: [] parameters: - name: call_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: API Monitor ID - name: location_id in: path required: true schema: type: string description: Agent location id, or `__ALL__` for all locations. title: Location Id description: Agent location id, or `__ALL__` for all locations. - name: kind in: query required: false schema: $ref: '#/components/schemas/StatsKind' description: Aggregation period. default: DAY description: Aggregation period. - name: quantile in: query required: false schema: type: number maximum: 100 minimum: 0 description: Percentile to compute (0–100). default: 50.0 title: Quantile description: Percentile to compute (0–100). - name: metric in: query required: false schema: $ref: '#/components/schemas/StatsMetric' description: Latency metric to aggregate. default: total_time_no_dns description: Latency metric to aggregate. - name: metric[] in: query required: false schema: anyOf: - type: array items: $ref: '#/components/schemas/StatsMetric' - type: 'null' description: Repeatable; one output column per metric. Overrides `metric`. title: Metric[] description: Repeatable; one output column per metric. Overrides `metric`. - name: category in: query required: false schema: anyOf: - $ref: '#/components/schemas/StatsCategory' - type: 'null' description: Restrict the quantile to a single result category. title: Category description: Restrict the quantile to a single result category. - name: dest_ip in: query required: false schema: type: string description: Group results by destination IP as well as domain/location when truthy (`1`/`t`/`true`). examples: - t default: t title: Dest Ip description: Group results by destination IP as well as domain/location when truthy (`1`/`t`/`true`). - name: time in: query required: false schema: anyOf: - type: string format: date-time - type: 'null' description: Point in time selecting the period to report (ISO 8601, UTC assumed if no offset). Defaults to now. examples: - '2024-01-01T12:00:00Z' title: Time description: Point in time selecting the period to report (ISO 8601, UTC assumed if no offset). Defaults to now. - name: start in: query required: false schema: anyOf: - type: string format: date-time - type: 'null' description: Start of the reporting window (ISO 8601). Clamped to the call's creation time. examples: - '2024-01-01T00:00:00Z' title: Start description: Start of the reporting window (ISO 8601). Clamped to the call's creation time. - name: end in: query required: false schema: anyOf: - type: string format: date-time - type: 'null' description: End of the reporting window (ISO 8601). Clamped to now. examples: - '2024-01-02T00:00:00Z' title: End description: End of the reporting window (ISO 8601). Clamped to now. - 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/QuantileResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/jwt/decode: post: tags: - Crypto Utilities summary: Decode-Jwt description: 'Decode a JWT (without verifying its signature). The JWT is read from the raw request body. Returns its header, payload and signature segment. If the payload cannot be decoded, ``error`` replaces ``payload``.' operationId: decode-jwt responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/JwtDecodeResponse' /api/2/jwt/encode: post: tags: - Crypto Utilities summary: Encode-Jwt description: 'Sign a JWT from the supplied claims, headers and key. By default the raw token is returned with ``Content-Type: application/jwt``. Pass ``output: "json"`` to receive a structured breakdown of the token instead. Authentication is optional and only used to resolve a KMS signing certificate when the header carries a ``kid`` for a KMS-enabled org.' operationId: encode-jwt 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/JwtEncodeRequest' responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/hash/hmac: post: tags: - Crypto Utilities summary: Hmac-Hash description: Compute an HMAC digest of a message under a key and hash algorithm. operationId: hmac-hash requestBody: content: application/json: schema: $ref: '#/components/schemas/HmacRequest' required: true responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/HmacResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/sign/rsa: post: tags: - Crypto Utilities summary: Rsa-Sign description: Produce an RSA signature of a message using a PEM private key. operationId: rsa-sign requestBody: content: application/json: schema: $ref: '#/components/schemas/RsaSignRequest' required: true responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/RsaSignResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/logout: get: tags: - Session summary: Logout description: Clear the legacy session cookie. Always returns ``"OK"``. operationId: logout responses: '200': description: Successful Response content: application/json: schema: type: string title: Response Logout deprecated: true /api/2/conditions/: get: tags: - Conditions summary: Get-Project-Conditions description: 'Get the project-default post-test conditions. An untouched project returns the built-in default conditionals rather than an empty list.' operationId: get-project-conditions 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/ProjectConditionsResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Conditions summary: Set-Project-Conditions description: Replace the project-default post-test conditions. operationId: set-project-conditions 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/PostProjectConditionsRequest' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ProjectConditionsResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/environment/: get: tags: - Environment summary: List-Environment-Workspaces description: List environment workspaces for the authenticated project. operationId: list-environment-workspaces security: - OAuth2: [] - ApiKey: [] parameters: - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer maximum: 100 minimum: 1 default: 100 title: Limit - 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/WorkspaceListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' put: tags: - Environment summary: Create-Environment-Workspace description: Create an environment workspace (idempotent-by-name). operationId: create-environment-workspace 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/CreateWorkspaceBody' responses: '201': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/WorkspaceResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/environment/{workspace_name}: get: tags: - Environment summary: List-Environment-Variables description: List variables in an environment workspace. operationId: list-environment-variables security: - OAuth2: [] - ApiKey: [] parameters: - name: workspace_name in: path required: true schema: type: string pattern: ^[a-zA-Z_][a-zA-Z_0-9]*$ title: Workspace Name - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer maximum: 100 minimum: 1 default: 100 title: Limit - 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/VariableListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' put: tags: - Environment summary: Create-Environment-Variable description: 'Create (or overwrite by name) a variable in a workspace. Auto-creates the workspace if it does not already exist.' operationId: create-environment-variable security: - OAuth2: [] - ApiKey: [] parameters: - name: workspace_name in: path required: true schema: type: string pattern: ^[a-zA-Z_][a-zA-Z_0-9]*$ title: Workspace Name - 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/CreateVariableBody' responses: '201': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/VariableResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Environment summary: Update-Environment-Workspace-Title description: Update an environment workspace's title. operationId: update-environment-workspace-title security: - OAuth2: [] - ApiKey: [] parameters: - name: workspace_name in: path required: true schema: type: string pattern: ^[a-zA-Z_][a-zA-Z_0-9]*$ title: Workspace Name - 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/UpdateWorkspaceBody' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/WorkspaceResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Environment summary: Delete-Environment-Workspace description: Delete an empty, unreferenced environment workspace. operationId: delete-environment-workspace security: - OAuth2: [] - ApiKey: [] parameters: - name: workspace_name in: path required: true schema: type: string pattern: ^[a-zA-Z_][a-zA-Z_0-9]*$ title: Workspace Name - 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: type: object additionalProperties: type: string title: Response Delete-Environment-Workspace '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/environment/{workspace_name}/{variable_name}: get: tags: - Environment summary: Get-Environment-Variable description: Get a single variable by name. operationId: get-environment-variable security: - OAuth2: [] - ApiKey: [] parameters: - name: workspace_name in: path required: true schema: type: string pattern: ^[a-zA-Z_][a-zA-Z_0-9]*$ title: Workspace Name - name: variable_name in: path required: true schema: type: string pattern: ^[a-zA-Z_][a-zA-Z_0-9]*$ title: Variable Name - 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: anyOf: - $ref: '#/components/schemas/VariableResponse' - type: object additionalProperties: true title: Response Get-Environment-Variable '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Environment summary: Update-Environment-Variable description: Update a variable's value. operationId: update-environment-variable security: - OAuth2: [] - ApiKey: [] parameters: - name: workspace_name in: path required: true schema: type: string pattern: ^[a-zA-Z_][a-zA-Z_0-9]*$ title: Workspace Name - name: variable_name in: path required: true schema: type: string pattern: ^[a-zA-Z_][a-zA-Z_0-9]*$ title: Variable Name - 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/UpdateVariableBody' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/VariableResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Environment summary: Delete-Environment-Variable description: Delete a variable (idempotent). operationId: delete-environment-variable security: - OAuth2: [] - ApiKey: [] parameters: - name: workspace_name in: path required: true schema: type: string pattern: ^[a-zA-Z_][a-zA-Z_0-9]*$ title: Workspace Name - name: variable_name in: path required: true schema: type: string pattern: ^[a-zA-Z_][a-zA-Z_0-9]*$ title: Variable Name - 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: type: object additionalProperties: type: string title: Response Delete-Environment-Variable '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/export/: get: tags: - Export summary: Export-Project description: Export the caller's project configuration as an import bundle. operationId: export-project security: - OAuth2: [] - ApiKey: [] parameters: - name: webhooks in: query required: false schema: anyOf: - type: string - type: 'null' title: Include webhook entities - name: environment_values in: query required: false schema: anyOf: - type: string - type: 'null' title: Include environment variable values (unredacted) - name: header_values in: query required: false schema: anyOf: - type: string - type: 'null' title: Include header values (unredacted) - 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/ExportResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/export/tag: post: tags: - Export summary: Tag-Project-Entities description: Assign ``importer:`` tags to any project entities that lack one. operationId: tag-project-entities 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/SetTagsResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/import/: post: tags: - Import summary: Import-Project description: 'Import a configuration bundle into the caller''s project. The body is parsed as JSON or YAML per ``Content-Type``, validated against the import schema, then applied. The (mutated) bundle is echoed back with a 200 — imported object ids are rewritten to the created datastore keys.' operationId: import-project 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/ImportResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/import/sample: post: tags: - Import summary: Import-Sample-Projects description: Clone one or more sample-org projects into the caller's project. operationId: import-sample-projects 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/ImportSampleResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/files/: get: tags: - Files summary: List-Files description: List file uploads for the project, ordered by filename ascending. operationId: list-files security: - OAuth2: [] - ApiKey: [] parameters: - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer default: 100 title: Limit - 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/_FileListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/files/file: post: tags: - Files summary: Create-File description: Upload a file from the raw request body, storing it in GCS. operationId: create-file 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/_FileResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/files/url: post: tags: - Files summary: Upload-File-From-Url description: Download a remote URL and store the content as a file in GCS. operationId: upload-file-from-url 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/_UploadUrlBody' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/_FileResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/files/{key_str}/content: get: tags: - Files summary: Get-File-Content description: Serve the raw GCS content of a file. operationId: get-file-content security: - OAuth2: [] - ApiKey: [] parameters: - name: key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID - 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: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/files/{key_str}/: get: tags: - Files summary: Get-File description: Return the metadata representation of a single file. operationId: get-file security: - OAuth2: [] - ApiKey: [] parameters: - name: key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID - 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/_FileResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Files summary: Update-File description: 'Partial-merge update of file metadata. A body that parses to an empty/falsy JSON value (``{}``) with a ``url:`` tag on the entity is a signal to re-download the file from that URL (updating the GCS content and mimetype).' operationId: update-file security: - OAuth2: [] - ApiKey: [] parameters: - name: key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID - 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/_FileResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Files summary: Delete-File description: Delete a file (GCS blob is NOT deleted — preserving legacy behaviour). operationId: delete-file security: - OAuth2: [] - ApiKey: [] parameters: - name: key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID - 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/_FileResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/files/{key_str}/file: post: tags: - Files summary: Replace-File-Content description: Replace the GCS content of an existing file. operationId: replace-file-content security: - OAuth2: [] - ApiKey: [] parameters: - name: key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID - 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/_FileResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/hooks/: get: tags: - Hooks summary: List-Hooks description: List hooks for the project, newest first. operationId: list-hooks security: - OAuth2: [] - ApiKey: [] parameters: - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer maximum: 500 minimum: 1 default: 100 title: Limit - 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/HookListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' put: tags: - Hooks summary: Create-Hook description: Create a hook bound to a workflow target. operationId: create-hook 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/CreateHookRequest' responses: '201': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/HookResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/hooks/{hook_key_str}: get: tags: - Hooks summary: Get-Hook description: Get a hook. operationId: get-hook security: - OAuth2: [] - ApiKey: [] parameters: - name: hook_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Hook ID - 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/HookResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Hooks summary: Update-Hook description: Partially update a hook. operationId: update-hook security: - OAuth2: [] - ApiKey: [] parameters: - name: hook_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Hook 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/UpdateHookRequest' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/HookResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Hooks summary: Delete-Hook description: Delete a hook, returning the deleted representation. operationId: delete-hook security: - OAuth2: [] - ApiKey: [] parameters: - name: hook_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Hook ID - 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/HookResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/insights/: get: tags: - Insights summary: List-Insights description: List pre-computed insights reports for the project. operationId: list-insights security: - OAuth2: [] - ApiKey: [] parameters: - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer maximum: 500 minimum: 1 title: Maximum results to return default: 100 - 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/InsightsListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/insights/rank/: get: tags: - Insights summary: List-Insights-Rank description: Score-ranked most-recent reports plus a short score history per monitor. operationId: list-insights-rank security: - OAuth2: [] - ApiKey: [] parameters: - name: weekly in: query required: false schema: anyOf: - type: string - type: 'null' description: Set true/t/1 for weekly instead of monthly. title: Weekly description: Set true/t/1 for weekly instead of monthly. - name: reverse in: query required: false schema: anyOf: - type: string - type: 'null' description: Set true/t/1 to sort best-first instead of worst-first. title: Reverse description: Set true/t/1 to sort best-first instead of worst-first. - 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/RankResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/insights/rank/history: get: tags: - Insights summary: List-Insights-Rank-History description: good/ok/bad score-band counts per period bucket across a date window. operationId: list-insights-rank-history security: - OAuth2: [] - ApiKey: [] parameters: - name: start_date in: query required: false schema: anyOf: - type: string - type: 'null' description: Window start (YYYY-MM-DD). Defaults to ~6 months ago. title: Start Date description: Window start (YYYY-MM-DD). Defaults to ~6 months ago. - name: end_date in: query required: false schema: anyOf: - type: string - type: 'null' description: Window end (YYYY-MM-DD). Defaults to ~now. title: End Date description: Window end (YYYY-MM-DD). Defaults to ~now. - name: weekly in: query required: false schema: anyOf: - type: string - type: 'null' description: Set true/t/1 for weekly instead of monthly. title: Weekly description: Set true/t/1 for weekly instead of monthly. - 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/HistoryResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/insights/call/{call_id}/: get: tags: - Insights summary: Get-Call-Insights description: Latest insights report for a single monitor (empty object if none). operationId: get-call-insights security: - OAuth2: [] - ApiKey: [] parameters: - name: call_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: API Monitor ID - name: weekly in: query required: false schema: anyOf: - type: string - type: 'null' description: Set true/t/1 for the latest weekly report. title: Weekly description: Set true/t/1 for the latest weekly report. - 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: anyOf: - $ref: '#/components/schemas/InsightsReportApi' - type: object additionalProperties: true title: Response Get-Call-Insights '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/insights/{filename}/outliers: get: tags: - Insights summary: Get-Insights-Outliers description: Download an outliers blob, rewriting numeric result ids to urlsafe keys. operationId: get-insights-outliers security: - OAuth2: [] - ApiKey: [] parameters: - name: filename in: path required: true schema: type: string title: Insights report filename description: Report key of the form ``{call_id}__{start_date}__{end_date}``. description: Report key of the form ``{call_id}__{start_date}__{end_date}``. - 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: type: object additionalProperties: true title: Response Get-Insights-Outliers '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/insights/{filename}/: get: tags: - Insights summary: Get-Insights description: Download a pre-computed insights report blob from cloud storage. operationId: get-insights security: - OAuth2: [] - ApiKey: [] parameters: - name: filename in: path required: true schema: type: string title: Insights report filename description: Report key of the form ``{call_id}__{start_date}__{end_date}``. description: Report key of the form ``{call_id}__{start_date}__{end_date}``. - 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: type: object additionalProperties: true title: Response Get-Insights '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/manage/copy: post: tags: - Manage summary: Copy-Resources description: "Clone resources from the active project into another project.\n\nCascades behaviour\ \ (see ``manage.copy_call`` etc.):\n * Calls: copies the underlying ServiceConfig + emits warnings\ \ that\n tokens and files are NOT cloned. Copies PostTestConditions and\n non-``apimetrics_*``\ \ webhooks.\n * Workflows: also clones every referenced Call.\n * Auths / Reports: cloned\ \ in isolation.\n\nSet ``dry_run=true`` to preview without writing." operationId: copy-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/CopyMoveRequest' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/CopyMoveResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/manage/move: post: tags: - Manage summary: Move-Resources description: "Re-parent resources from the active project to another project.\n\nGuards (return\ \ 400 outside of dry-run, accumulate into ``errors[]``\nin dry-run):\n * Calls / workflows\ \ referenced by a Schedule cannot be moved.\n * Calls with a ``file_key`` cannot be moved.\n\ \ * Moving an auth shared by a not-being-moved call is blocked.\n * Moving where ``destination\ \ == source`` is rejected with 400.\n\nCross-org moves emit two Cloud Tasks to re-home ClickHouse\ \ + Insights\ndata for each call. See ``move_api_call`` and ``move_insights`` on\n``TasksClient``." operationId: move-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/CopyMoveRequest' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/CopyMoveResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/account/invite/{invite_key_str}: post: tags: - Invites summary: Accept-Invite description: Accept an org or project invite by urlsafe key (email must match caller). operationId: accept-invite security: - OAuth2: [] - ApiKey: [] parameters: - name: invite_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/InviteResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Invites summary: Reject-Invite description: Delete (reject) an invite; email must match the caller's account. operationId: reject-invite security: - OAuth2: [] - ApiKey: [] parameters: - name: invite_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/InviteResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/account/invite/{invite_id}/{invite_secret}/: get: tags: - Invites summary: Verify-Invite-Secret description: Verify an invite link (invite_id + secret) and return the invite. operationId: verify-invite-secret security: - OAuth2: [] - ApiKey: [] parameters: - name: invite_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+={0,2}$ title: Invite Code - name: invite_secret in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+={0,2}$ title: Invite Code responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/InviteResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Invites summary: Accept-Invite-Secret description: Accept an invite by link (invite_id + secret). operationId: accept-invite-secret security: - OAuth2: [] - ApiKey: [] parameters: - name: invite_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+={0,2}$ title: Invite Code - name: invite_secret in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+={0,2}$ title: Invite Code responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/InviteResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/organizations/{org_id}/invites/: get: tags: - Invites summary: List-Org-Invites description: List pending invites for the organisation, ordered by email. operationId: list-org-invites 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/InviteListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Invites summary: Create-Org-Invite description: Create an invite for an account to join the organisation; sends an email. operationId: create-org-invite security: - OAuth2: [] - ApiKey: [] parameters: - name: org_id in: path required: true schema: type: string pattern: ^[a-z0-9]{3,400}$ title: Organization ID requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateOrgInviteBody' responses: '201': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/InviteResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/organizations/{org_id}/invites/{invite_key_str}/: delete: tags: - Invites summary: Delete-Org-Invite description: Delete a pending org invite. 404 if absent, 403 if org_id mismatch. operationId: delete-org-invite security: - OAuth2: [] - ApiKey: [] parameters: - name: invite_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID - 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/InviteStatusResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/projects/{project_key_str}/invites/: get: tags: - Invites summary: List-Project-Invites description: List pending invites for the project, ordered by email. operationId: list-project-invites security: - OAuth2: [] - ApiKey: [] parameters: - name: project_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ProjectInviteListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Invites summary: Create-Project-Invite description: Create an invite for an account to join the project; sends an email. operationId: create-project-invite security: - OAuth2: [] - ApiKey: [] parameters: - name: project_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateProjectInviteBody' responses: '201': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/InviteResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/projects/{project_key_str}/invites/{invite_key_str}/: delete: tags: - Invites summary: Delete-Project-Invite description: Delete a pending project invite. 404 if absent or from another project. operationId: delete-project-invite security: - OAuth2: [] - ApiKey: [] parameters: - name: invite_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID - name: project_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/InviteResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/notifications/: get: tags: - Notifications summary: List-Notifications description: List notifications owned by the project, newest first. operationId: list-notifications security: - OAuth2: [] - ApiKey: [] parameters: - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer maximum: 100 minimum: 1 default: 100 title: Limit - 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/NotificationListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/notifications/call/{test_key_str}/: get: tags: - Notifications summary: List-Notifications-By-Call description: List notifications referencing a specific call, newest first. operationId: list-notifications-by-call security: - OAuth2: [] - ApiKey: [] parameters: - name: test_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Monitor ID - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer maximum: 100 minimum: 1 default: 100 title: Limit - 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/NotificationListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/notifications/{key_str}/: get: tags: - Notifications summary: Get-Notification description: Return the representation of a single notification. operationId: get-notification security: - OAuth2: [] - ApiKey: [] parameters: - name: key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID - 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/NotificationResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Notifications summary: Update-Notification description: Update the ``viewed`` flag for the requesting project. No other field is writable. operationId: update-notification security: - OAuth2: [] - ApiKey: [] parameters: - name: key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource 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/UpdateNotificationBody' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/NotificationResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/users/username/{username}/: get: tags: - Users (admin) summary: Get-User-By-Username description: Get a user by username. Full details for site/org admins; username only otherwise. operationId: get-user-by-username security: - OAuth2: [] - ApiKey: [] parameters: - name: username in: path required: true schema: type: string title: Username - 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/UserResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/users/{user_key_str}/: get: tags: - Users (admin) summary: Get-User description: Get a user by NDB key. Full details for site/org admins; username only otherwise. operationId: get-user security: - OAuth2: [] - ApiKey: [] parameters: - name: user_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID - 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/UserResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Users (admin) summary: Update-User description: Update a user's admin flag. Requires org-admin or site-admin. operationId: update-user security: - OAuth2: [] - ApiKey: [] parameters: - name: user_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource 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/UpdateUserBody' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/UserResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Users (admin) summary: Delete-User description: Remove a user from their org, clearing admin flag and access on owned models. operationId: delete-user security: - OAuth2: [] - ApiKey: [] parameters: - name: user_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID - 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/DeleteStatusResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/openapi/tag: post: tags: - OpenAPI summary: Tag-Project-For-Openapi operationId: tag-project-for-openapi security: - OAuth2: [] - ApiKey: [] parameters: - name: strict_slash in: query required: false schema: type: boolean default: false title: Strict Slash - name: file_id in: query required: false schema: anyOf: - type: string pattern: ^[A-Za-z0-9_-]+$ title: File ID - type: 'null' title: File Id - name: force in: query required: false schema: type: boolean default: false title: Force - 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/TagProjectResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/openapi/validate/{result_key_str}: post: tags: - OpenAPI summary: Validate-Openapi operationId: validate-openapi deprecated: true security: - OAuth2: [] - ApiKey: [] parameters: - name: result_key_str in: path required: true schema: type: string pattern: ^pg[a-z][a-z]-[A-Za-z0-9_-]+={0,2}$ title: Result ID - 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/ValidateResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/organizations/: get: tags: - Organizations summary: List-Orgs description: List all organizations (site admin/analyst/viewer/quota_viewer only). operationId: list-orgs security: - OAuth2: [] - ApiKey: [] parameters: - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer default: 25 title: Limit - name: system_tag in: query required: false schema: anyOf: - type: string - type: 'null' title: System Tag - name: tag in: query required: false schema: anyOf: - type: string - type: 'null' title: Tag responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/OrgListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/organizations/{org_id}/: get: tags: - Organizations summary: Get-Org description: Get an organization by ID. operationId: get-org security: - OAuth2: [] - ApiKey: [] parameters: - name: org_id in: path required: true schema: type: string pattern: ^[a-z0-9]{3,400}$ title: Organization ID - name: include_quota in: query required: false schema: type: boolean default: false title: Include Quota responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/OrgResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Organizations summary: Update-Org description: Update an organization's name, tags, or security settings. operationId: update-org security: - OAuth2: [] - ApiKey: [] parameters: - name: org_id in: path required: true schema: type: string pattern: ^[a-z0-9]{3,400}$ title: Organization ID requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateOrgBody' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/OrgResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/organizations/{org_id}/accounts/: get: tags: - Organizations summary: List-Accounts-In-Org description: List Auth0 accounts in an organization. operationId: list-accounts-in-org security: - OAuth2: [] - ApiKey: [] parameters: - name: org_id in: path required: true schema: type: string pattern: ^[a-z0-9]{3,400}$ title: Organization ID - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer default: 100 title: Limit responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/OrgAccountListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/organizations/{org_id}/accounts/{account_id}/: get: tags: - Organizations summary: Get-Account-In-Org description: Get an Auth0 account that is a member of the organization. operationId: get-account-in-org security: - OAuth2: [] - ApiKey: [] parameters: - name: account_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9._|@-]{3,400}$ title: Account ID - 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/OrgAccountResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Organizations summary: Delete-Account-From-Org description: Remove an account from an organization. operationId: delete-account-from-org security: - OAuth2: [] - ApiKey: [] parameters: - name: account_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9._|@-]{3,400}$ title: Account ID - 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/OrgAccountDeleteResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/organizations/{org_id}/projects/access: get: tags: - Project Access summary: List-Project-Access-By-Org description: List all direct account access grants across an organization's projects. operationId: list-project-access-by-org security: - OAuth2: [] - ApiKey: [] parameters: - name: org_id in: path required: true schema: type: string pattern: ^[a-z0-9]{3,400}$ title: Organization ID - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer default: 25 title: Limit responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ProjectAccessListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/organizations/{org_id}/roles/: get: tags: - Organization Roles summary: List-Org-Roles description: List all roles defined for an organization. operationId: list-org-roles security: - OAuth2: [] - ApiKey: [] parameters: - name: org_id in: path required: true schema: type: string pattern: ^[a-z0-9]{3,400}$ title: Organization ID - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer default: 25 title: Limit responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/OrgRoleListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Organization Roles summary: Create-Org-Role description: Create a new role for an organization. operationId: create-org-role security: - OAuth2: [] - ApiKey: [] parameters: - name: org_id in: path required: true schema: type: string pattern: ^[a-z0-9]{3,400}$ title: Organization ID requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateOrgRoleBody' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/OrgRoleResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/organizations/{org_id}/roles/{role_id}/: delete: tags: - Organization Roles summary: Delete-Org-Role description: Delete a role from an organization. operationId: delete-org-role security: - OAuth2: [] - ApiKey: [] parameters: - name: role_id in: path required: true schema: type: string minLength: 1 maxLength: 400 title: Role Id - 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/DeleteOrgRoleResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/organizations/{org_id}/projects/: get: tags: - Projects summary: List-Projects-In-Org description: List projects in an organization. operationId: list-projects-in-org security: - OAuth2: [] - ApiKey: [] parameters: - name: org_id in: path required: true schema: type: string pattern: ^[a-z0-9]{3,400}$ title: Organization ID - name: include_quota in: query required: false schema: anyOf: - type: boolean - type: 'null' title: Include Quota - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer default: 25 title: Limit - name: system_tag in: query required: false schema: anyOf: - type: string - type: 'null' title: System Tag - name: tag in: query required: false schema: anyOf: - type: string - type: 'null' title: Tag responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ProjectListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Projects summary: Create-Project-In-Org description: Create a new project in an organization. operationId: create-project-in-org security: - OAuth2: [] - ApiKey: [] parameters: - name: org_id in: path required: true schema: type: string pattern: ^[a-z0-9]{3,400}$ title: Organization ID requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateProjectBody' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ProjectResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/organizations/{org_id}/projects/{project_key_str}/: delete: tags: - Projects summary: Delete-Project-From-Org description: Remove a project from an organization (re-homes it to community). operationId: delete-project-from-org security: - OAuth2: [] - ApiKey: [] parameters: - name: project_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID - 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/ProjectResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/organizations/{org_id}/roles/access: get: tags: - Organization Roles summary: List-Project-Roles-By-Org description: List all project roles across an organization's projects. operationId: list-project-roles-by-org security: - OAuth2: [] - ApiKey: [] parameters: - name: org_id in: path required: true schema: type: string pattern: ^[a-z0-9]{3,400}$ title: Organization ID - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer default: 25 title: Limit responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ProjectRoleListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/project/: get: tags: - Project Setup summary: Get-Current-Project description: Get the current project. operationId: get-current-project 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/ProjectResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Project Setup summary: Update-Current-Project description: Update the current project's name or tags. operationId: update-current-project 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/UpdateCurrentProjectBody' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ProjectResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' put: tags: - Project Setup summary: Replace-Current-Project description: Update the current project's name or tags (alias of POST). operationId: replace-current-project 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/UpdateCurrentProjectBody' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ProjectResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/project/slo/: get: tags: - Project SLOs summary: Get-Project-Slo description: Get the current project's SLO (defaults when none is stored). operationId: get-project-slo 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/ProjectSloResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Project SLOs summary: Update-Project-Slo description: Create or update the current project's SLO. operationId: update-project-slo 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/UpdateProjectSloBody' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ProjectSloResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Project SLOs summary: Delete-Project-Slo description: Delete the current project's SLO (idempotent). operationId: delete-project-slo 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: anyOf: - $ref: '#/components/schemas/ProjectSloResponse' - $ref: '#/components/schemas/ProjectSloDeletedStatus' title: Response Delete-Project-Slo '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/project/synopsis: get: tags: - Project Synopsis summary: Get-Project-Synopsis description: Get the pre-aggregated synopsis for the current project. operationId: get-project-synopsis security: - OAuth2: [] - ApiKey: [] parameters: - name: kind in: query required: false schema: anyOf: - $ref: '#/components/schemas/SynopsisKind' - type: 'null' description: Aggregation period; defaults to DAY. Matched case-insensitively, and any unrecognised value falls back to DAY. title: Kind description: Aggregation period; defaults to DAY. Matched case-insensitively, and any unrecognised value falls back to DAY. - name: time in: query required: false schema: anyOf: - type: string - type: 'null' description: Selection point as ``%Y-%m-%dT%H:%MZ``. Defaults to the most recent generated period. title: Time description: Selection point as ``%Y-%m-%dT%H:%MZ``. Defaults to the most recent generated period. - name: tz in: query required: false schema: anyOf: - type: integer - type: 'null' description: Optional timezone offset in minutes applied to ``time``. title: Tz description: Optional timezone offset in minutes applied to ``time``. - 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: type: object additionalProperties: true title: Response Get-Project-Synopsis '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/project/organization/{org_id}/: get: tags: - Project Synopsis summary: Get-Organization-Synopsis description: Get a rolled-up synopsis for every project the caller can see in an organization. operationId: get-organization-synopsis security: - OAuth2: [] - ApiKey: [] parameters: - name: org_id in: path required: true schema: type: string pattern: ^[a-z0-9]{3,400}$ title: Organization ID - name: kind in: query required: false schema: anyOf: - $ref: '#/components/schemas/SynopsisKind' - type: 'null' description: Aggregation period; defaults to DAY. Matched case-insensitively, and any unrecognised value falls back to DAY. title: Kind description: Aggregation period; defaults to DAY. Matched case-insensitively, and any unrecognised value falls back to DAY. - name: time in: query required: false schema: anyOf: - type: string - type: 'null' description: Selection point as ``%Y-%m-%dT%H:%MZ``. Defaults to the most recent generated period. title: Time description: Selection point as ``%Y-%m-%dT%H:%MZ``. Defaults to the most recent generated period. - name: tz in: query required: false schema: anyOf: - type: integer - type: 'null' description: Optional timezone offset in minutes applied to ``time``. title: Tz description: Optional timezone offset in minutes applied to ``time``. responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/OrgSynopsisResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/projects/{project_key_str}/access/: get: tags: - Project Access summary: List-Project-Access description: List direct account access grants for a project. operationId: list-project-access security: - OAuth2: [] - ApiKey: [] parameters: - name: project_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer default: 25 title: Limit responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ProjectAccessListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Project Access summary: Create-Project-Access description: Grant an account direct access to a project. operationId: create-project-access security: - OAuth2: [] - ApiKey: [] parameters: - name: project_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateProjectAccessBody' responses: '201': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/api2__projects__proj_access__ProjectAccessResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/projects/{project_key_str}/access/{project_access_id}/: get: tags: - Project Access summary: Get-Project-Access description: Get a project access grant by id. operationId: get-project-access security: - OAuth2: [] - ApiKey: [] parameters: - name: project_access_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID - name: project_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/api2__projects__proj_access__ProjectAccessResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Project Access summary: Update-Project-Access description: Update a project access grant. operationId: update-project-access security: - OAuth2: [] - ApiKey: [] parameters: - name: project_access_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID - name: project_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateProjectAccessBody' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/api2__projects__proj_access__ProjectAccessResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Project Access summary: Delete-Project-Access description: Delete a project access grant. operationId: delete-project-access security: - OAuth2: [] - ApiKey: [] parameters: - name: project_access_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID - name: project_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/api2__projects__proj_access__ProjectAccessResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/projects/{project_key_str}/roles/: get: tags: - Project Roles summary: List-Project-Roles description: List roles for a project. operationId: list-project-roles security: - OAuth2: [] - ApiKey: [] parameters: - name: project_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer default: 25 title: Limit responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ProjectRoleListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Project Roles summary: Create-Project-Role description: Create a role on a project. operationId: create-project-role security: - OAuth2: [] - ApiKey: [] parameters: - name: project_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateProjectRoleBody' responses: '201': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ProjectRoleResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/projects/{project_key_str}/roles/{project_role_id}/: get: tags: - Project Roles summary: Get-Project-Role description: Get a project role by id. operationId: get-project-role security: - OAuth2: [] - ApiKey: [] parameters: - name: project_role_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID - name: project_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ProjectRoleResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Project Roles summary: Update-Project-Role description: Update a project role. operationId: update-project-role security: - OAuth2: [] - ApiKey: [] parameters: - name: project_role_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID - name: project_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateProjectRoleBody' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ProjectRoleResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Project Roles summary: Delete-Project-Role description: Delete a project role. operationId: delete-project-role security: - OAuth2: [] - ApiKey: [] parameters: - name: project_role_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID - name: project_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ProjectRoleResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/projects/{project_key_str}/: get: tags: - Projects summary: Get-Project description: Get a project by key. operationId: get-project security: - OAuth2: [] - ApiKey: [] parameters: - name: project_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ProjectResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Projects summary: Update-Project description: Update a project's name, tags, email, or security profile. operationId: update-project security: - OAuth2: [] - ApiKey: [] parameters: - name: project_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateProjectBody' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ProjectResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/project-subscriptions/: post: tags: - Project Subscriptions summary: Subscribe-To-Project-Emails description: 'Subscribe to email digests for the active project. Sets which digest cadences (``daily``, ``weekly``, ``monthly``) the caller receives for this project. A subsequent call replaces the previous selection -- cadences omitted from ``options`` are unsubscribed. Returns the current subscription state.' operationId: subscribe-to-project-emails 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/SubscribeRequest' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/SubscriptionResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Project Subscriptions summary: Unsubscribe-From-Project-Emails description: 'Unsubscribe from all email digests for the active project. Idempotent: returns ``{"status": "OK"}`` whether or not a subscription existed.' operationId: unsubscribe-from-project-emails 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/StatusResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/project-subscriptions/projects: get: tags: - Project Subscriptions summary: List-Projects-Subscribed description: 'List every project the caller is subscribed to across all projects. Each result includes the project the subscription applies to and which digest cadences the caller receives. Paginated via ``cursor`` and ``limit``.' operationId: list-projects-subscribed security: - OAuth2: [] - ApiKey: [] parameters: - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer default: 100 title: Limit - 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/SubscriptionListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/project-subscriptions/projects/{level}: get: tags: - Project Subscriptions summary: List-Projects-Subscribed-At-Level description: 'List every project the caller is subscribed to at the given digest level. ``level`` is one of ``daily``, ``weekly``, or ``monthly``. Any other value returns an empty result set. Paginated via ``cursor`` and ``limit``.' operationId: list-projects-subscribed-at-level security: - OAuth2: [] - ApiKey: [] parameters: - name: level in: path required: true schema: type: string title: Level - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer default: 100 title: Limit - 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/SubscriptionListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/project-subscriptions/accounts/project/{project_key_str}: get: tags: - Project Subscriptions summary: List-Accounts-Subscribed description: 'List every account subscribed to this project''s email digests. Requires project-admin access: the caller must be a site admin, an admin of the project''s organisation, or the owner of the project. Returns 404 for an unknown project id. Paginated via ``cursor`` and ``limit``.' operationId: list-accounts-subscribed security: - OAuth2: [] - ApiKey: [] parameters: - name: project_key_str in: path required: true schema: type: string title: Project Key Str - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer default: 100 title: Limit - 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/SubscriptionListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/project-subscriptions/accounts/project/{project_key_str}/{level}: get: tags: - Project Subscriptions summary: List-Accounts-Subscribed-At-Level description: 'List every account subscribed to this project''s digests at the given level. ``level`` is one of ``daily``, ``weekly``, or ``monthly``. Requires project-admin access: the caller must be a site admin, an admin of the project''s organisation, or the owner of the project. Returns 404 for an unknown project id. Paginated via ``cursor`` and ``limit``.' operationId: list-accounts-subscribed-at-level security: - OAuth2: [] - ApiKey: [] parameters: - name: project_key_str in: path required: true schema: type: string title: Project Key Str - name: level in: path required: true schema: type: string title: Level - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer default: 100 title: Limit - 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/SubscriptionListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/reports/: get: tags: - Reports summary: List-Reports description: List reports for the authenticated project. operationId: list-reports security: - OAuth2: [] - ApiKey: [] parameters: - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer maximum: 1000 minimum: 1 default: 100 title: Limit - 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/ReportListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Reports summary: Create-Report description: Create a new report. operationId: create-report 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/ReportCreateBody' responses: '201': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ReportResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/reports/{report_id}/: get: tags: - Reports summary: Get-Report description: Get a single report by id. operationId: get-report security: - OAuth2: [] - ApiKey: [] parameters: - name: report_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Report ID - 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/ReportResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' put: tags: - Reports summary: Update-Report description: Partially update a report (only supplied fields change; groups are replaced). operationId: update-report security: - OAuth2: [] - ApiKey: [] parameters: - name: report_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Report 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/ReportUpdateBody' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ReportResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Reports summary: Delete-Report description: Delete a report and return its last representation. operationId: delete-report security: - OAuth2: [] - ApiKey: [] parameters: - name: report_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Report ID - 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/ReportResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/results/: get: tags: - Results summary: List-Results description: List results for a project. operationId: list-results security: - OAuth2: [] - ApiKey: [] parameters: - name: time in: query required: false schema: anyOf: - type: string - type: 'null' title: Time - name: from in: query required: false schema: anyOf: - type: string - type: 'null' title: From - name: result_category in: query required: false schema: anyOf: - type: string - type: 'null' title: Result Category - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer default: 100 title: Limit - 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/ResultListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/results/call/{test_key_str}/: get: tags: - Results summary: List-Results-By-Call description: List results for a specific API call. operationId: list-results-by-call security: - OAuth2: [] - ApiKey: [] parameters: - name: test_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: API Monitor ID - name: time in: query required: false schema: anyOf: - type: string - type: 'null' title: Time - name: from in: query required: false schema: anyOf: - type: string - type: 'null' title: From - name: result_category in: query required: false schema: anyOf: - type: string - type: 'null' title: Result Category - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer default: 100 title: Limit - 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/ResultListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/results/hook/{hook_key_str}/: get: tags: - Results summary: List-Results-By-Hook description: List results for a specific webhook. operationId: list-results-by-hook security: - OAuth2: [] - ApiKey: [] parameters: - name: hook_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Webhook ID - name: time in: query required: false schema: anyOf: - type: string - type: 'null' title: Time - name: from in: query required: false schema: anyOf: - type: string - type: 'null' title: From - name: result_category in: query required: false schema: anyOf: - type: string - type: 'null' title: Result Category - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer default: 100 title: Limit - 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/ResultListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/results/{result_key_str}/: get: tags: - Results summary: Get-Result description: 'Get a single result. ``mode=full`` adds the messages, log messages, cert info and the request body; ``header_style=mapping`` renders headers as a name -> value mapping. A below-ANALYST caller gets the summary only -- no request, response or context.' operationId: get-result security: - OAuth2: [] - ApiKey: [] parameters: - name: result_key_str in: path required: true schema: type: string pattern: ^pg[a-z][a-z]-[A-Za-z0-9_-]+={0,2}$ title: Result ID - name: mode in: query required: false schema: anyOf: - type: string - type: 'null' title: Mode - name: header_style in: query required: false schema: anyOf: - type: string - type: 'null' title: Header Style - 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/ResultDetailResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/results/{result_key_str}/content: get: tags: - Results summary: Get-Result-Content description: Download the raw response body for a result. operationId: get-result-content security: - OAuth2: [] - ApiKey: [] parameters: - name: result_key_str in: path required: true schema: type: string pattern: ^pg[a-z][a-z]-[A-Za-z0-9_-]+={0,2}$ title: Result ID - name: apimetrics-project-id in: header required: false schema: anyOf: - type: string - type: 'null' title: Apimetrics-Project-Id responses: '200': description: Successful Response '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/results/{result_key_str}/pcap: get: tags: - Results summary: Get-Result-Pcap description: PCAP download is not available in this environment. operationId: get-result-pcap security: - OAuth2: [] - ApiKey: [] parameters: - name: result_key_str in: path required: true schema: type: string pattern: ^pg[a-z][a-z]-[A-Za-z0-9_-]+={0,2}$ title: Result ID - name: apimetrics-project-id in: header required: false schema: anyOf: - type: string - type: 'null' title: Apimetrics-Project-Id responses: '200': description: Successful Response '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/calls/{test_key_str}/results: get: tags: - Results summary: List-Results-By-Call-Alias description: List results for a specific API call (alias path). operationId: list-results-by-call-alias security: - OAuth2: [] - ApiKey: [] parameters: - name: test_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: API Monitor ID - name: time in: query required: false schema: anyOf: - type: string - type: 'null' title: Time - name: from in: query required: false schema: anyOf: - type: string - type: 'null' title: From - name: result_category in: query required: false schema: anyOf: - type: string - type: 'null' title: Result Category - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer default: 100 title: Limit - 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/ResultListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/hooks/{hook_key_str}/results: get: tags: - Results summary: List-Results-By-Hook-Alias description: List results for a specific webhook (alias path). operationId: list-results-by-hook-alias security: - OAuth2: [] - ApiKey: [] parameters: - name: hook_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Webhook ID - name: time in: query required: false schema: anyOf: - type: string - type: 'null' title: Time - name: from in: query required: false schema: anyOf: - type: string - type: 'null' title: From - name: result_category in: query required: false schema: anyOf: - type: string - type: 'null' title: Result Category - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer default: 100 title: Limit - 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/ResultListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/schedules/call/{call_id}/: get: tags: - Schedules summary: List-Schedules-By-Call description: List schedules that target a specific API call. operationId: list-schedules-by-call security: - OAuth2: [] - ApiKey: [] parameters: - name: call_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: API Monitor ID - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer maximum: 1000 minimum: 1 default: 100 title: Limit - 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/ScheduleListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/schedules/workflow/{workflow_id}/: get: tags: - Schedules summary: List-Schedules-By-Workflow description: List schedules that target a specific workflow. operationId: list-schedules-by-workflow security: - OAuth2: [] - ApiKey: [] parameters: - name: workflow_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Workflow ID - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer maximum: 1000 minimum: 1 default: 100 title: Limit - 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/ScheduleListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/schedules/: get: tags: - Schedules summary: List-Schedules description: 'List all schedules for the authenticated project. A project with no schedules and no cursor gets a freshly-created "Default Schedule". Deprecated: use ``GET /api/3/schedules/`` instead.' operationId: list-schedules deprecated: true security: - OAuth2: [] - ApiKey: [] parameters: - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer maximum: 1000 minimum: 1 default: 100 title: Limit - 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/ScheduleListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Schedules summary: Create-Schedule description: 'Create a new schedule. Deprecated: use ``POST /api/3/schedules/`` instead.' operationId: create-schedule deprecated: true 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/ScheduleCreateBody' responses: '201': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ScheduleResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/schedules/{schedule_id}/: get: tags: - Schedules summary: Get-Schedule description: 'Get a single schedule by id. Deprecated: use ``GET /api/3/schedules/{schedule_id}`` instead.' operationId: get-schedule deprecated: true security: - OAuth2: [] - ApiKey: [] parameters: - name: schedule_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Schedule ID - 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/ScheduleResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Schedules summary: Update-Schedule description: 'Partially update a schedule (only supplied fields change). Deprecated: use ``PUT /api/3/schedules/{schedule_id}`` instead.' operationId: update-schedule deprecated: true security: - OAuth2: [] - ApiKey: [] parameters: - name: schedule_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Schedule 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/ScheduleUpdateBody' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ScheduleResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Schedules summary: Delete-Schedule description: 'Delete a schedule and return its last representation. Deprecated: use ``DELETE /api/3/schedules/{schedule_id}`` instead.' operationId: delete-schedule deprecated: true security: - OAuth2: [] - ApiKey: [] parameters: - name: schedule_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Schedule ID - 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/ScheduleResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/schedules/{schedule_id}/call/{call_id}: post: tags: - Schedules summary: Ensure-Schedule-Call description: 'Associate an API call with a schedule (idempotent; 202 if already associated). Deprecated: use ``POST /api/3/schedules/{schedule_id}/targets/{target_id}`` instead.' operationId: ensure-schedule-call deprecated: true security: - OAuth2: [] - ApiKey: [] parameters: - name: schedule_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Schedule ID - name: call_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: API Monitor ID - 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/ScheduleResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Schedules summary: Remove-Schedule-Call description: 'Disassociate an API call from a schedule (202 if it was not associated). Deprecated: use ``DELETE /api/3/schedules/{schedule_id}/targets/{target_id}`` instead.' operationId: remove-schedule-call deprecated: true security: - OAuth2: [] - ApiKey: [] parameters: - name: schedule_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Schedule ID - name: call_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: API Monitor ID - 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/ScheduleResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/schedules/{schedule_id}/run/{workflow_id}: post: tags: - Schedules summary: Ensure-Schedule-Workflow description: 'Associate a workflow with a schedule (idempotent; 202 if already associated). Deprecated: use ``POST /api/3/schedules/{schedule_id}/targets/{target_id}`` instead -- it accepts both call and workflow target ids.' operationId: ensure-schedule-workflow deprecated: true security: - OAuth2: [] - ApiKey: [] parameters: - name: schedule_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Schedule ID - name: workflow_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Workflow ID - 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/ScheduleResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Schedules summary: Remove-Schedule-Workflow description: 'Disassociate a workflow from a schedule (202 if it was not associated). Deprecated: use ``DELETE /api/3/schedules/{schedule_id}/targets/{target_id}`` instead -- it accepts both call and workflow target ids.' operationId: remove-schedule-workflow deprecated: true security: - OAuth2: [] - ApiKey: [] parameters: - name: schedule_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Schedule ID - name: workflow_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Workflow ID - 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/ScheduleResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/schedules/{schedule_id}/downtime/: get: tags: - Schedules summary: List-Schedule-Downtimes description: List scheduled downtimes for a schedule. operationId: list-schedule-downtimes security: - OAuth2: [] - ApiKey: [] parameters: - name: schedule_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Schedule ID - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer maximum: 1000 minimum: 1 default: 100 title: Limit - 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/DowntimeListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Schedules summary: Create-Schedule-Downtime description: Create a scheduled downtime under a schedule. operationId: create-schedule-downtime security: - OAuth2: [] - ApiKey: [] parameters: - name: schedule_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Schedule 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/DowntimeCreateBody' responses: '201': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/DowntimeResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/schedules/downtime/{downtime_id}/: get: tags: - Schedules summary: Get-Schedule-Downtime description: Get a single scheduled downtime by id. operationId: get-schedule-downtime security: - OAuth2: [] - ApiKey: [] parameters: - name: downtime_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID - 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/DowntimeResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Schedules summary: Update-Schedule-Downtime description: Partially update a scheduled downtime (only supplied fields change). operationId: update-schedule-downtime security: - OAuth2: [] - ApiKey: [] parameters: - name: downtime_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource 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/DowntimeUpdateBody' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/DowntimeResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Schedules summary: Delete-Schedule-Downtime description: Delete a scheduled downtime and return its last representation. operationId: delete-schedule-downtime security: - OAuth2: [] - ApiKey: [] parameters: - name: downtime_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID - 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/DowntimeResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/webhooks/types: get: tags: - Webhooks summary: List-Webhook-Types-V2 description: List every supported webhook service type. operationId: list-webhook-types-v2 deprecated: true 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/WebHookTypeListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/webhooks/types/{type}: get: tags: - Webhooks summary: Get-Webhook-Type-Properties-V2 description: List the parameter descriptors for a webhook service type. operationId: get-webhook-type-properties-v2 deprecated: true security: - OAuth2: [] - ApiKey: [] parameters: - name: type in: path required: true schema: type: string title: Type - 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/WebHookTypePropertiesResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/webhooks/: get: tags: - Webhooks summary: List-Webhooks-V2 description: List project-level webhooks. operationId: list-webhooks-v2 deprecated: true 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/WebHookListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' put: tags: - Webhooks summary: Create-Webhook-V2 description: Create a project-level webhook. operationId: create-webhook-v2 deprecated: true 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/CreateWebHookRequest' responses: '201': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/WebHookResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/webhooks/snooze/{web_hook_key_str}: post: tags: - Webhooks summary: Snooze-Webhook-V2 description: Snooze (partially update) a webhook. operationId: snooze-webhook-v2 security: - OAuth2: [] - ApiKey: [] parameters: - name: web_hook_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Webhook 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/UpdateWebHookRequest' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/WebHookResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/webhooks/{web_hook_key_str}: get: tags: - Webhooks summary: Get-Webhook-V2 description: Get a project-level webhook. operationId: get-webhook-v2 deprecated: true security: - OAuth2: [] - ApiKey: [] parameters: - name: web_hook_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Webhook ID - 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/WebHookResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Webhooks summary: Update-Webhook-V2 description: Partially update a project-level webhook. operationId: update-webhook-v2 deprecated: true security: - OAuth2: [] - ApiKey: [] parameters: - name: web_hook_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Webhook 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/UpdateWebHookRequest' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/WebHookResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Webhooks summary: Delete-Webhook-V2 description: Delete a project-level webhook, returning the deleted representation. operationId: delete-webhook-v2 deprecated: true security: - OAuth2: [] - ApiKey: [] parameters: - name: web_hook_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Webhook ID - 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/WebHookResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/calls/{test_key_str}/webhooks/: get: tags: - Webhooks summary: List-Call-Webhooks-V2 description: List webhooks bound to a specific API call. operationId: list-call-webhooks-v2 deprecated: true security: - OAuth2: [] - ApiKey: [] parameters: - name: test_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: API Monitor ID - 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/WebHookListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' put: tags: - Webhooks summary: Create-Call-Webhook-V2 description: Create a webhook bound to a specific API call. operationId: create-call-webhook-v2 deprecated: true security: - OAuth2: [] - ApiKey: [] parameters: - name: test_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: API 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/CreateWebHookRequest' responses: '201': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/WebHookResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/calls/{test_key_str}/webhooks/{web_hook_key_str}: get: tags: - Webhooks summary: Get-Call-Webhook-V2 description: Get a webhook bound to a specific API call. operationId: get-call-webhook-v2 deprecated: true security: - OAuth2: [] - ApiKey: [] parameters: - name: test_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: API Monitor ID - name: web_hook_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Webhook ID - 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/WebHookResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Webhooks summary: Update-Call-Webhook-V2 description: Partially update a webhook bound to a specific API call. operationId: update-call-webhook-v2 deprecated: true security: - OAuth2: [] - ApiKey: [] parameters: - name: test_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: API Monitor ID - name: web_hook_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Webhook 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/UpdateWebHookRequest' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/WebHookResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Webhooks summary: Delete-Call-Webhook-V2 description: Delete a webhook bound to a specific API call, returning the deleted representation. operationId: delete-call-webhook-v2 deprecated: true security: - OAuth2: [] - ApiKey: [] parameters: - name: test_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: API Monitor ID - name: web_hook_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Webhook ID - 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/WebHookResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/workflows/call/{call_id}/: get: tags: - Workflows summary: List-Workflows-By-Call description: List workflows that reference a specific API call. operationId: list-workflows-by-call security: - OAuth2: [] - ApiKey: [] parameters: - name: call_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: API Monitor ID - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer maximum: 1000 minimum: 1 default: 100 title: Limit - 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/WorkflowListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/workflows/: get: tags: - Workflows summary: List-Workflows description: List all workflows for the authenticated project. operationId: list-workflows security: - OAuth2: [] - ApiKey: [] parameters: - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer maximum: 1000 minimum: 1 default: 100 title: Limit - 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/WorkflowListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Workflows summary: Create-Workflow description: Create a new workflow. operationId: create-workflow 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/WorkflowCreateBody' responses: '201': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/WorkflowResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/workflows/results/{result_key_str}/: get: tags: - Workflows summary: Get-Workflow-Result description: Get a single workflow result. operationId: get-workflow-result security: - OAuth2: [] - ApiKey: [] parameters: - name: result_key_str in: path required: true schema: type: string pattern: ^pg[a-z][a-z]-[A-Za-z0-9_-]+={0,2}$ title: Workflow Result ID - 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/WorkflowResultResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/workflows/{workflow_id}/results/: get: tags: - Workflows summary: List-Workflow-Results-By-Workflow description: List results for a workflow within the ``?from``/``?time`` date window. operationId: list-workflow-results-by-workflow security: - OAuth2: [] - ApiKey: [] parameters: - name: workflow_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Workflow ID - name: time in: query required: false schema: anyOf: - type: string format: date-time - type: 'null' title: Time - name: from in: query required: false schema: anyOf: - type: string format: date-time - type: 'null' title: From - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: limit in: query required: false schema: type: integer maximum: 1000 minimum: 1 default: 100 title: Limit - 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/WorkflowResultListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/workflows/{workflow_id}/: get: tags: - Workflows summary: Get-Workflow description: Get a single workflow by id. operationId: get-workflow security: - OAuth2: [] - ApiKey: [] parameters: - name: workflow_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Workflow ID - 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/WorkflowResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Workflows summary: Update-Workflow description: Partially update a workflow (only supplied fields change). operationId: update-workflow security: - OAuth2: [] - ApiKey: [] parameters: - name: workflow_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Workflow 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/WorkflowUpdateBody' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/WorkflowResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Workflows summary: Delete-Workflow description: Delete a workflow and return its last representation. operationId: delete-workflow security: - OAuth2: [] - ApiKey: [] parameters: - name: workflow_id in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Workflow ID - 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/WorkflowResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/workflows/{workflow_key_str}/run: post: tags: - Workflows summary: Run-Workflow-V2 description: Trigger an on-demand run of a workflow. operationId: run-workflow-v2 deprecated: true security: - OAuth2: [] - ApiKey: [] parameters: - name: workflow_key_str in: path required: true schema: type: string pattern: ^[A-Za-z0-9_-]+$ title: Workflow 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/_RunWorkflowBody' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/WorkflowRunPayload' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/2/agents/{agent_key}/: get: operationId: get-agent summary: Get a remote agent tags: - Agents - Legacy (proxied) parameters: - $ref: '#/components/parameters/agentKey' responses: '200': description: Agent object content: application/json: schema: $ref: '#/components/schemas/AgentOutput' post: operationId: update-agent summary: Update a remote agent tags: - Agents - Legacy (proxied) parameters: - $ref: '#/components/parameters/agentKey' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AgentOutput' responses: '200': description: Updated agent delete: operationId: delete-agent summary: Delete a remote agent tags: - Agents - Legacy (proxied) parameters: - $ref: '#/components/parameters/agentKey' responses: '204': description: Deleted /api/2/account/subscription/proj/{sub_id}: get: operationId: get-project-subscription summary: Get subscription for a project tags: - Account - Legacy (proxied) security: - OAuth2: [] parameters: - $ref: '#/components/parameters/subId' responses: '200': description: Subscription details post: operationId: update-project-subscription summary: Update subscription for a project tags: - Account - Legacy (proxied) security: - OAuth2: [] parameters: - $ref: '#/components/parameters/subId' requestBody: required: true content: application/json: schema: type: object responses: '200': description: Updated subscription /api/2/account/subscription/proj/{sub_id}/usage: get: operationId: get-project-usage summary: Get usage statistics for a project subscription tags: - Account - Legacy (proxied) security: - OAuth2: [] parameters: - $ref: '#/components/parameters/subId' responses: '200': description: Usage statistics /api/2/account/subscription/org/{sub_id}: get: operationId: get-org-subscription summary: Get subscription for an organisation tags: - Account - Legacy (proxied) security: - OAuth2: [] parameters: - $ref: '#/components/parameters/subId' responses: '200': description: Subscription details post: operationId: update-org-subscription summary: Update subscription for an organisation tags: - Account - Legacy (proxied) security: - OAuth2: [] parameters: - $ref: '#/components/parameters/subId' requestBody: required: true content: application/json: schema: type: object responses: '200': description: Updated subscription /api/2/account/subscription/org/{sub_id}/usage: get: operationId: get-org-usage summary: Get usage statistics for an organisation subscription tags: - Account - Legacy (proxied) security: - OAuth2: [] parameters: - $ref: '#/components/parameters/subId' responses: '200': description: Usage statistics components: schemas: AccountAccessListMeta: properties: next_cursor: anyOf: - type: integer - type: string - type: 'null' title: Next Cursor more: type: boolean title: More type: object required: - more title: AccountAccessListMeta AccountAccessListResponse: properties: meta: $ref: '#/components/schemas/AccountAccessListMeta' results: items: $ref: '#/components/schemas/AccountAccessResponse' type: array title: Results type: object required: - meta - results title: AccountAccessListResponse AccountAccessResponse: properties: id: type: string title: Id project: anyOf: - $ref: '#/components/schemas/ProjectResponse' - type: 'null' access_level: type: string title: Access Level account_id: type: string title: Account Id account_email: anyOf: - type: string - type: 'null' title: Account Email last_update: anyOf: - type: string format: date-time - type: 'null' title: Last Update created: anyOf: - type: string format: date-time - type: 'null' title: Created type: object required: - id - access_level - account_id title: AccountAccessResponse AccountInviteResponse: properties: id: type: string title: Id invited_by: type: string title: Invited By invited_email: anyOf: - type: string - type: 'null' title: Invited Email email: type: string title: Email org_id: anyOf: - type: string - type: 'null' title: Org Id project_id: anyOf: - type: string - type: 'null' title: Project Id name: anyOf: - type: string - type: 'null' title: Name access_level: type: string title: Access Level roles: items: type: string type: array title: Roles last_update: anyOf: - type: string format: date-time - type: 'null' title: Last Update created: anyOf: - type: string format: date-time - type: 'null' title: Created type: object required: - id - invited_by - email - access_level title: AccountInviteResponse AccountProfileResponse: properties: given_name: anyOf: - type: string - type: 'null' title: Given Name family_name: anyOf: - type: string - type: 'null' title: Family Name name: anyOf: - type: string - type: 'null' title: Name nickname: anyOf: - type: string - type: 'null' title: Nickname picture: anyOf: - type: string - type: 'null' title: Picture type: object title: AccountProfileResponse AccountProjectAccessResponse: properties: id: type: string title: Id project: anyOf: - $ref: '#/components/schemas/ProjectResponse' - type: 'null' access_level: type: string title: Access Level account_id: anyOf: - type: string - type: 'null' title: Account Id account_email: anyOf: - type: string - type: 'null' title: Account Email role_id: anyOf: - type: string - type: 'null' title: Role Id last_update: anyOf: - type: string format: date-time - type: 'null' title: Last Update created: anyOf: - type: string format: date-time - type: 'null' title: Created type: object required: - id - access_level title: AccountProjectAccessResponse description: 'A single project the account can reach. Direct grants (``AccountProject``) carry ``account_id``/``account_email``; org-role grants (``ProjectRole``) carry ``role_id`` instead.' examples: - access_level: OWNER account_email: user@example.com account_id: auth0|abc123 created: '2026-06-19T09:06:47.046143Z' id: ahFkZXZ-YXBpbWV0cmljcy1xY3ILCxIHQWNjb3VudBiAgIDg6 last_update: '2026-06-19T09:06:47.046170Z' project: created: '2026-06-19T09:06:47.046143Z' id: ahFkZXZ-YXBpbWV0cmljcy1xY3ILCxIEVXNlchieQgw last_update: '2026-06-19T09:06:47.046170Z' name: Project 1 org_id: apicontext sub_info: counts: org_test_run_count: 0 public_report_count: 0 scheduled_test_count: 288 test_setup_count: 4 user_test_run_count: 0 month_progress: 0.814 quotas: public_report_quota: 10 test_run_quota: 1000000 test_setup_quota: 1000 sub: backend: azure level: CONTRACT name: Enterprise org_id: apicontext plan: enterprise tags: [] AccountProjectsMeta: properties: account_id: type: string title: Account Id roles: additionalProperties: items: type: string type: array type: object title: Roles permissions: items: type: string type: array title: Permissions current_project_id: anyOf: - type: string - type: 'null' title: Current Project Id invites: items: $ref: '#/components/schemas/AccountInviteResponse' type: array title: Invites new_project: type: boolean title: New Project default: false verify_needed: type: boolean title: Verify Needed default: false type: object required: - account_id title: AccountProjectsMeta AccountProjectsResponse: properties: meta: $ref: '#/components/schemas/AccountProjectsMeta' projects: items: $ref: '#/components/schemas/AccountProjectAccessResponse' type: array title: Projects organizations: additionalProperties: $ref: '#/components/schemas/OrgResponse' type: object title: Organizations type: object required: - meta - projects - organizations title: AccountProjectsResponse AgentInfoResponse: properties: regions: items: $ref: '#/components/schemas/_RegionEntry' type: array title: Regions postman_locations: items: type: string type: array title: Postman Locations locations: additionalProperties: type: string type: object title: Locations agent_list: items: $ref: '#/components/schemas/AgentResponse' type: array title: Agent List type: object required: - regions - postman_locations - locations - agent_list title: AgentInfoResponse AgentListResponse: properties: meta: $ref: '#/components/schemas/api2__agents__agents___ListMeta' results: items: $ref: '#/components/schemas/AgentResponse' type: array title: Results type: object required: - meta - results title: AgentListResponse AgentLocation: prefixItems: - anyOf: - type: string - type: 'null' title: Api - anyOf: - type: string - type: 'null' title: Www - anyOf: - type: string - type: 'null' title: Mcp type: array maxItems: 3 AgentResponse: properties: meta: $ref: '#/components/schemas/_AgentMeta' agent: $ref: '#/components/schemas/_AgentDetails' id: type: string title: Id type: object required: - meta - agent - id title: AgentResponse AlertCondition: type: string enum: - PASS - SLOW - WARNING - FAIL title: AlertCondition ApiKeyListMeta: properties: next_cursor: anyOf: - type: string - type: 'null' title: Next Cursor more: type: boolean title: More project_id: anyOf: - type: string - type: 'null' title: Project Id type: object required: - more title: ApiKeyListMeta ApiKeyListResponse: properties: meta: $ref: '#/components/schemas/ApiKeyListMeta' results: items: $ref: '#/components/schemas/ApiKeyResponse' type: array title: Results type: object required: - meta - results title: ApiKeyListResponse ApiKeyResponse: properties: id: type: string title: Id api_key: type: string title: Api Key account_id: anyOf: - type: string - type: 'null' title: Account Id account_email: anyOf: - type: string - type: 'null' title: Account Email project_id: type: string title: Project Id access_level: type: string title: Access Level last_update: anyOf: - type: string format: date-time - type: 'null' title: Last Update created: anyOf: - type: string format: date-time - type: 'null' title: Created type: object required: - id - api_key - project_id - access_level title: ApiKeyResponse description: 'A single API key. ``api_key`` is the raw secret and is only meaningfully populated on create (and echoed on delete); ``id`` is the urlsafe key.' examples: - access_level: EDITOR account_email: user@example.com account_id: auth0|0123456789abcdef api_key: aB3dE6gH9jK2mN5pQ8sT1vW4xY7zC0eF id: ahFkZXZ-YXBpbWV0cmljcy1xY3IZCxIHQXBpQXV0aBI... project_id: ahFkZXZ-YXBpbWV0cmljcy1xY3IUCxIEVXNlchiAgIC... ApiSchedule: properties: meta: $ref: '#/components/schemas/ApiScheduleMeta' schedule: $ref: '#/components/schemas/ApiScheduleSpec' type: object required: - meta - schedule title: ApiSchedule ApiScheduleMeta: properties: id: type: string title: Id description: Unique identifier for the schedule name: type: string title: Name description: Display name for the schedule owner: type: string title: Owner description: ID of the project that owns the schedule created: type: string format: date-time title: Created description: When the schedule was first created last_update: type: string format: date-time title: Last Update description: When the schedule was most recently modified tags: anyOf: - items: type: string type: array - type: 'null' title: Tags description: Tags applied to the schedule type: object required: - id - name - owner - created - last_update - tags title: ApiScheduleMeta ApiScheduleSpec: properties: frequency: type: integer title: Frequency description: Run interval in seconds target_ids: items: type: string type: array title: Target Ids description: IDs of the monitors run on this schedule regions: items: type: string type: array title: Regions description: Regions and clouds the schedule runs from (['all'] when worldwide) locations: items: type: string type: array title: Locations description: Specific agent locations the schedule runs from backoff_method: anyOf: - $ref: '#/components/schemas/BackoffMethod' - type: 'null' description: Retry backoff strategy applied on failure type: object required: - frequency - target_ids - regions - locations - backoff_method title: ApiScheduleSpec ApiWebHook: properties: meta: $ref: '#/components/schemas/ApiWebHookMeta' webhook: oneOf: - $ref: '#/components/schemas/EmailWebHookSpec' - $ref: '#/components/schemas/EmailTextWebHookSpec' - $ref: '#/components/schemas/EmailTemplateWebHookSpec' - $ref: '#/components/schemas/GenericWebHookSpec' - $ref: '#/components/schemas/ApimetricsApiWebHookSpec' - $ref: '#/components/schemas/ApimetricsWorkflowWebHookSpec' - $ref: '#/components/schemas/ApimetricsTokenWebHookSpec' - $ref: '#/components/schemas/SlackWebHookSpec' - $ref: '#/components/schemas/PagerDutyWebHookSpec' - $ref: '#/components/schemas/PagerDutyV2WebHookSpec' - $ref: '#/components/schemas/BigPandaWebHookSpec' - $ref: '#/components/schemas/VictoropsWebHookSpec' - $ref: '#/components/schemas/HipchatWebHookSpec' - $ref: '#/components/schemas/MsteamsWebHookSpec' - $ref: '#/components/schemas/NonameWebHookSpec' - $ref: '#/components/schemas/NewrelicWebHookSpec' - $ref: '#/components/schemas/DatadogWebHookSpec' - $ref: '#/components/schemas/DatadogeventWebHookSpec' - $ref: '#/components/schemas/DatadogintegrationWebHookSpec' - $ref: '#/components/schemas/StatuspageWebHookSpec' - $ref: '#/components/schemas/FlowdockWebHookSpec' - $ref: '#/components/schemas/OpsgenieWebHookSpec' - $ref: '#/components/schemas/OpsgenieeuWebHookSpec' - $ref: '#/components/schemas/OpenTelemetryWebHookSpec' - $ref: '#/components/schemas/OpenTelemetryAxiomWebHookSpec' - $ref: '#/components/schemas/HydrolixWebHookSpec' - $ref: '#/components/schemas/ConformanceAxiomWebHookSpec' - $ref: '#/components/schemas/ConformanceDatadogWebHookSpec' - $ref: '#/components/schemas/ConformanceEmailWebHookSpec' - $ref: '#/components/schemas/ConformanceGenericWebHookSpec' - $ref: '#/components/schemas/ConformanceOpentelemetryWebHookSpec' - $ref: '#/components/schemas/ConformanceSlackWebHookSpec' - $ref: '#/components/schemas/ConformanceSummaryEmailWebHookSpec' - $ref: '#/components/schemas/ConformanceSummaryGenericWebHookSpec' - $ref: '#/components/schemas/ConformanceSummarySlackWebHookSpec' title: Webhook discriminator: propertyName: type mapping: apimetrics_api: '#/components/schemas/ApimetricsApiWebHookSpec' apimetrics_token: '#/components/schemas/ApimetricsTokenWebHookSpec' apimetrics_workflow: '#/components/schemas/ApimetricsWorkflowWebHookSpec' big_panda: '#/components/schemas/BigPandaWebHookSpec' conformance_axiom: '#/components/schemas/ConformanceAxiomWebHookSpec' conformance_datadog: '#/components/schemas/ConformanceDatadogWebHookSpec' conformance_email: '#/components/schemas/ConformanceEmailWebHookSpec' conformance_generic: '#/components/schemas/ConformanceGenericWebHookSpec' conformance_opentelemetry: '#/components/schemas/ConformanceOpentelemetryWebHookSpec' conformance_slack: '#/components/schemas/ConformanceSlackWebHookSpec' conformance_summary_email: '#/components/schemas/ConformanceSummaryEmailWebHookSpec' conformance_summary_generic: '#/components/schemas/ConformanceSummaryGenericWebHookSpec' conformance_summary_slack: '#/components/schemas/ConformanceSummarySlackWebHookSpec' datadog: '#/components/schemas/DatadogWebHookSpec' datadogevent: '#/components/schemas/DatadogeventWebHookSpec' datadogintegration: '#/components/schemas/DatadogintegrationWebHookSpec' email: '#/components/schemas/EmailWebHookSpec' email_template: '#/components/schemas/EmailTemplateWebHookSpec' email_text: '#/components/schemas/EmailTextWebHookSpec' flowdock: '#/components/schemas/FlowdockWebHookSpec' generic: '#/components/schemas/GenericWebHookSpec' hipchat: '#/components/schemas/HipchatWebHookSpec' hydrolix: '#/components/schemas/HydrolixWebHookSpec' msteams: '#/components/schemas/MsteamsWebHookSpec' newrelic: '#/components/schemas/NewrelicWebHookSpec' noname: '#/components/schemas/NonameWebHookSpec' open_telemetry: '#/components/schemas/OpenTelemetryWebHookSpec' open_telemetry_axiom: '#/components/schemas/OpenTelemetryAxiomWebHookSpec' opsgenie: '#/components/schemas/OpsgenieWebHookSpec' opsgenieeu: '#/components/schemas/OpsgenieeuWebHookSpec' pager_duty: '#/components/schemas/PagerDutyWebHookSpec' pager_duty_v2: '#/components/schemas/PagerDutyV2WebHookSpec' slack: '#/components/schemas/SlackWebHookSpec' statuspage: '#/components/schemas/StatuspageWebHookSpec' victorops: '#/components/schemas/VictoropsWebHookSpec' id: type: string title: Id description: Unique identifier for the webhook type: object required: - meta - webhook - id title: ApiWebHook ApiWebHookMeta: properties: name: anyOf: - type: string - type: 'null' title: Name description: Display name for the webhook owner: type: string title: Owner description: ID of the project that owns the webhook created: type: string format: date-time title: Created description: When the webhook was first created last_update: type: string format: date-time title: Last Update description: When the webhook was most recently modified tags: anyOf: - items: type: string type: array - type: 'null' title: Tags description: Tags applied to the webhook include_tags: anyOf: - items: type: string type: array - type: 'null' title: Include Tags description: Only fire for results carrying these tags exclude_tags: anyOf: - items: type: string type: array - type: 'null' title: Exclude Tags description: Do not fire for results carrying these tags project_webhook: type: boolean title: Project Webhook description: Whether this is a project-level webhook applied across monitors call_id: anyOf: - type: string - type: 'null' title: Call Id description: ID of the monitor this webhook is attached to, if any type: object required: - name - owner - created - last_update - tags - include_tags - exclude_tags - project_webhook - call_id title: ApiWebHookMeta ApimetricsApiWebHookParameters: properties: call_id: type: string title: API Call description: The API Call to run fails_in_a_row: type: string title: Only send alert after X failures in a row default: '0' type: object required: - call_id title: ApimetricsApiWebHookParameters ApimetricsApiWebHookSpec: properties: enabled: type: boolean title: Enabled description: Whether the webhook fires when triggered alerts: items: $ref: '#/components/schemas/AlertCondition' type: array title: Alerts description: Alert conditions that trigger the webhook type: type: string const: apimetrics_api title: Type default: apimetrics_api parameters: $ref: '#/components/schemas/ApimetricsApiWebHookParameters' type: object required: - enabled - alerts - parameters title: ApimetricsApiWebHookSpec ApimetricsTokenWebHookParameters: properties: token_id: type: string title: Auth Token description: The Token to update type: object required: - token_id title: ApimetricsTokenWebHookParameters ApimetricsTokenWebHookSpec: properties: enabled: type: boolean title: Enabled description: Whether the webhook fires when triggered alerts: items: $ref: '#/components/schemas/AlertCondition' type: array title: Alerts description: Alert conditions that trigger the webhook type: type: string const: apimetrics_token title: Type default: apimetrics_token parameters: $ref: '#/components/schemas/ApimetricsTokenWebHookParameters' type: object required: - enabled - alerts - parameters title: ApimetricsTokenWebHookSpec ApimetricsWorkflowWebHookParameters: properties: workflow_id: type: string title: Workflow description: The Workflow to run fails_in_a_row: type: string title: Only send alert after X failures in a row default: '0' type: object required: - workflow_id title: ApimetricsWorkflowWebHookParameters ApimetricsWorkflowWebHookSpec: properties: enabled: type: boolean title: Enabled description: Whether the webhook fires when triggered alerts: items: $ref: '#/components/schemas/AlertCondition' type: array title: Alerts description: Alert conditions that trigger the webhook type: type: string const: apimetrics_workflow title: Type default: apimetrics_workflow parameters: $ref: '#/components/schemas/ApimetricsWorkflowWebHookParameters' type: object required: - enabled - alerts - parameters title: ApimetricsWorkflowWebHookSpec AuthConfigKeys: properties: client_id: anyOf: - type: string - type: 'null' title: Client Id client_secret: anyOf: - type: string - type: 'null' title: Client Secret type: object title: AuthConfigKeys AuthConfigKeysInput: properties: client_id: anyOf: - type: string - type: 'null' title: Client Id client_secret: anyOf: - type: string - type: 'null' title: Client Secret type: object title: AuthConfigKeysInput AuthConfigListMeta: properties: next_cursor: anyOf: - type: string - type: 'null' title: Next Cursor more: type: boolean title: More default: false project_id: type: string title: Project Id type: object required: - project_id title: AuthConfigListMeta AuthConfigListResponse: properties: meta: $ref: '#/components/schemas/AuthConfigListMeta' results: items: $ref: '#/components/schemas/AuthConfigResponse' type: array title: Results type: object required: - meta - results title: AuthConfigListResponse AuthConfigMeta: properties: name: anyOf: - type: string - type: 'null' title: Name description: anyOf: - type: string - type: 'null' title: Description tags: items: type: string type: array title: Tags domain: anyOf: - type: string - type: 'null' title: Domain created: anyOf: - type: string format: date-time - type: 'null' title: Created last_update: anyOf: - type: string format: date-time - type: 'null' title: Last Update owner: anyOf: - type: string - type: 'null' title: Owner project_id: anyOf: - type: string - type: 'null' title: Project Id documentation: $ref: '#/components/schemas/AuthDocumentation' type: object title: AuthConfigMeta AuthConfigMetaInput: properties: name: anyOf: - type: string - type: 'null' title: Name description: Display name for the config description: anyOf: - type: string - type: 'null' title: Description tags: anyOf: - items: type: string type: array - type: 'null' title: Tags domain: anyOf: - type: string - type: 'null' title: Domain description: Plain hostname the credentials apply to, e.g. api.example.com documentation: anyOf: - additionalProperties: true type: object - type: 'null' title: Documentation description: 'Informational URLs: keys, docs, apps, provider' type: object title: AuthConfigMetaInput AuthConfigResponse: properties: id: type: string title: Id meta: $ref: '#/components/schemas/AuthConfigMeta' settings: $ref: '#/components/schemas/AuthConfigSettings' keys: $ref: '#/components/schemas/AuthConfigKeys' type: object required: - id - meta - settings - keys title: AuthConfigResponse AuthConfigSettings: properties: auth_type: type: string title: Auth Type custom_variables: additionalProperties: true type: object title: Custom Variables additionalProperties: true type: object required: - auth_type title: AuthConfigSettings AuthConfigSettingsInput: properties: auth_type: anyOf: - type: string - type: 'null' title: Auth Type description: One of the AuthToken API names, e.g. NONE, OAUTH2, BASIC custom_variables: anyOf: - additionalProperties: true type: object - type: 'null' title: Custom Variables additionalProperties: true type: object title: AuthConfigSettingsInput AuthDocumentation: properties: keys: anyOf: - type: string - type: 'null' title: Keys docs: anyOf: - type: string - type: 'null' title: Docs apps: anyOf: - type: string - type: 'null' title: Apps provider: anyOf: - type: string - type: 'null' title: Provider type: object title: AuthDocumentation BackoffMethod: type: string enum: - fibo - expo - constant - none title: BackoffMethod BigPandaWebHookParameters: properties: user_key: type: string title: User key description: The user key used in the header Authorization Bearer app_key: type: string title: App key description: The app key generated at big panda when configuring REST API Alerts and associated with the name you provided. fails_in_a_row: type: string title: Only send alert after X failures in a row default: '0' type: object required: - user_key - app_key title: BigPandaWebHookParameters BigPandaWebHookSpec: properties: enabled: type: boolean title: Enabled description: Whether the webhook fires when triggered alerts: items: $ref: '#/components/schemas/AlertCondition' type: array title: Alerts description: Alert conditions that trigger the webhook type: type: string const: big_panda title: Type default: big_panda parameters: $ref: '#/components/schemas/BigPandaWebHookParameters' type: object required: - enabled - alerts - parameters title: BigPandaWebHookSpec BillingMeta: properties: account_id: type: string title: Account Id roles: additionalProperties: items: type: string type: array type: object title: Roles permissions: items: type: string type: array title: Permissions current_project_id: anyOf: - type: string - type: 'null' title: Current Project Id type: object required: - account_id title: BillingMeta BillingResponse: properties: meta: $ref: '#/components/schemas/BillingMeta' results: items: $ref: '#/components/schemas/BillingResult' type: array title: Results type: object required: - meta title: BillingResponse description: '``GET /api/2/account/billing`` -- everything the caller can bill for.' BillingResult: properties: id: type: string title: Id org_id: type: string title: Org Id name: type: string title: Name system_tags: items: type: string type: array title: System Tags subscription_level: type: string title: Subscription Level sub_info: $ref: '#/components/schemas/api2__account__billing__SubInfo' type: object required: - id - org_id - name - subscription_level - sub_info title: BillingResult description: One billable entity (an org the caller can bill, or an owned project). Body_upload-new-oas: properties: file: type: string contentMediaType: application/octet-stream title: File type: object required: - file title: Body_upload-new-oas BreakdownKind: type: string enum: - HOUR - DAY - WEEK - MONTH title: BreakdownKind description: '``http_codes`` / ``legacy/passfail*`` — no YEAR.' BrowserTestSetupListResults: properties: results: items: $ref: '#/components/schemas/BrowserTestSetupRepr' type: array title: Results type: object required: - results title: BrowserTestSetupListResults BrowserTestSetupRepr: properties: id: type: string title: Id meta: $ref: '#/components/schemas/models__browser_call___MetaRepr' setup: $ref: '#/components/schemas/models__browser_call___SetupRepr' type: object required: - id - meta - setup title: BrowserTestSetupRepr BuildFromCurlBody: properties: request: type: string title: Request additionalProperties: false type: object required: - request title: BuildFromCurlBody COMPARATORS: type: string enum: - < - '>' title: COMPARATORS CallCreateBody: properties: meta: $ref: '#/components/schemas/_CallCreateMeta' request: $ref: '#/components/schemas/_CallCreateRequest' access: anyOf: - additionalProperties: true type: object - type: 'null' title: Access additionalProperties: false type: object required: - meta - request title: CallCreateBody CallListMetaResponse: properties: next_cursor: anyOf: - type: string - type: 'null' title: Next Cursor more: type: boolean title: More project_id: type: string title: Project Id type: object required: - more - project_id title: CallListMetaResponse CallListResponse: properties: meta: $ref: '#/components/schemas/CallListMetaResponse' results: items: $ref: '#/components/schemas/CallResponse' type: array title: Results type: object required: - meta - results title: CallListResponse CallMetaResponse: properties: monitor_type: type: string const: api title: Monitor Type default: api name: type: string title: Name description: anyOf: - type: string - type: 'null' title: Description tags: items: type: string type: array title: Tags default: [] domain: type: string title: Domain content_type: anyOf: - type: string - type: 'null' title: Content Type accept: anyOf: - type: string - type: 'null' title: Accept created: anyOf: - type: string format: date-time - type: 'null' title: Created last_update: anyOf: - type: string format: date-time - type: 'null' title: Last Update owner: type: string title: Owner project_id: type: string title: Project Id workspace: anyOf: - type: string - type: 'null' title: Workspace type: object required: - name - domain - owner - project_id title: CallMetaResponse CallParameterResponse: properties: key: type: string title: Key value: type: string title: Value type: object required: - key - value title: CallParameterResponse CallRequestResponse: properties: method: type: string title: Method url: type: string title: Url parameters: items: $ref: '#/components/schemas/CallParameterResponse' type: array title: Parameters default: [] headers: items: $ref: '#/components/schemas/CallParameterResponse' type: array title: Headers default: [] body: anyOf: - type: string - type: 'null' title: Body auth_id: anyOf: - type: string - type: 'null' title: Auth Id token_id: anyOf: - type: string - type: 'null' title: Token Id file_id: anyOf: - type: string - type: 'null' title: File Id type: object required: - method - url title: CallRequestResponse CallResponse: properties: id: type: string title: Id meta: $ref: '#/components/schemas/CallMetaResponse' request: $ref: '#/components/schemas/CallRequestResponse' type: object required: - id - meta - request title: CallResponse CallRunBody: properties: location_id: anyOf: - type: string - type: 'null' title: Location Id run_delay: anyOf: - type: integer maximum: 86400.0 minimum: 0.0 - type: 'null' title: Run Delay context: anyOf: - additionalProperties: type: string type: object - type: 'null' title: Context additionalProperties: false type: object title: CallRunBody description: 'Body for ``POST/PUT /api/2/calls/{call_id}/run``. Matches the legacy ``action_run`` JSON Schema (``additionalProperties=false``).' examples: - context: ACCESS_TOKEN: mytoken location_id: us-west-2 run_delay: 0 CallRunPayload: properties: call_id: type: string title: Call Id location_id: type: string title: Location Id result_id: type: string title: Result Id context: additionalProperties: true type: object title: Context user: anyOf: - additionalProperties: true type: object - type: 'null' title: User type: object required: - call_id - location_id - result_id - context title: CallRunPayload CallUpdateBody: properties: meta: anyOf: - $ref: '#/components/schemas/_CallUpdateMeta' - type: 'null' request: anyOf: - $ref: '#/components/schemas/_CallUpdateRequest' - type: 'null' access: anyOf: - additionalProperties: true type: object - type: 'null' title: Access additionalProperties: false type: object title: CallUpdateBody CatalogListResponse: properties: meta: $ref: '#/components/schemas/api2__account_settings__settings___ListMeta' results: items: $ref: '#/components/schemas/CatalogSummary' type: array title: Results type: object required: - meta - results title: CatalogListResponse CatalogSummary: properties: id: type: string title: Id title: type: string title: Title description: type: string title: Description enabled: type: boolean title: Enabled type: object required: - id - title - description - enabled title: CatalogSummary description: One entry in the top-level catalog list. CatalogVariablesResponse: properties: meta: $ref: '#/components/schemas/api2__account_settings__settings___ListMeta' results: items: $ref: '#/components/schemas/VariableEntry' type: array title: Results type: object required: - meta - results title: CatalogVariablesResponse CertificateListMeta: properties: org_id: type: string pattern: ^[a-z0-9]{3,400}$ title: Organization ID type: object required: - org_id title: CertificateListMeta CertificateListResults: properties: results: items: $ref: '#/components/schemas/CertificateMetadata' type: array title: Results meta: $ref: '#/components/schemas/CertificateListMeta' type: object required: - results - meta title: CertificateListResults CertificateMetadata: properties: id: type: string pattern: ^[A-Za-z0-9_-]+$ title: Resource ID created: type: string format: date-time title: Created last_update: type: string format: date-time title: Last Update name: type: string title: Name intended_use: $ref: '#/components/schemas/IntendedUse' not_after: type: string format: date-time title: Not After not_before: anyOf: - type: string format: date-time - type: 'null' title: Not Before subject: anyOf: - type: string - type: 'null' title: Subject issuer: anyOf: - type: string - type: 'null' title: Issuer serial_number: anyOf: - type: string - type: 'null' title: Serial Number version: anyOf: - type: integer - type: 'null' title: Version kid: anyOf: - type: string - type: 'null' title: Kid kid_alg: $ref: '#/components/schemas/KidAlg' default: manual projects: anyOf: - items: type: string type: array - type: 'null' title: Projects type: object required: - id - created - last_update - name - intended_use - not_after - not_before - subject - issuer - serial_number - version - kid - projects title: CertificateMetadata description: Certificate metadata for responses which don't need the actual values. ConditionalModel: properties: source: type: string title: Source source_index: anyOf: - type: integer - type: 'null' title: Source Index variable_name: anyOf: - type: string - type: 'null' title: Variable Name variable_path: anyOf: - type: string - type: 'null' title: Variable Path condition: type: string title: Condition val: anyOf: - type: string - type: 'null' title: Val test_result_on_true: title: Test Result On True test_result_on_false: title: Test Result On False type: object required: - source - condition title: ConditionalModel ConditionsMeta: properties: name: anyOf: - type: string - type: 'null' title: Name call_id: anyOf: - type: string - type: 'null' title: Call Id break_on_fail: type: boolean title: Break On Fail default: false type: object title: ConditionsMeta ConditionsResponse: properties: conditions: items: $ref: '#/components/schemas/ConditionalModel' type: array title: Conditions conditions_id: anyOf: - type: string - type: 'null' title: Conditions Id meta: $ref: '#/components/schemas/ConditionsMeta' type: object required: - conditions title: ConditionsResponse ConformanceAxiomWebHookParameters: properties: api_key: type: string title: API key description: The Axiom API key data_set_name: type: string title: Axiom Data Set Name description: The name of the data set to post to type: object required: - api_key - data_set_name title: ConformanceAxiomWebHookParameters ConformanceAxiomWebHookSpec: properties: enabled: type: boolean title: Enabled description: Whether the webhook fires when triggered alerts: items: $ref: '#/components/schemas/AlertCondition' type: array title: Alerts description: Alert conditions that trigger the webhook type: type: string const: conformance_axiom title: Type default: conformance_axiom parameters: $ref: '#/components/schemas/ConformanceAxiomWebHookParameters' type: object required: - enabled - alerts - parameters title: ConformanceAxiomWebHookSpec ConformanceDatadogWebHookParameters: properties: integration_id: type: string title: Integration ID description: Datadog Integration type: object required: - integration_id title: ConformanceDatadogWebHookParameters ConformanceDatadogWebHookSpec: properties: enabled: type: boolean title: Enabled description: Whether the webhook fires when triggered alerts: items: $ref: '#/components/schemas/AlertCondition' type: array title: Alerts description: Alert conditions that trigger the webhook type: type: string const: conformance_datadog title: Type default: conformance_datadog parameters: $ref: '#/components/schemas/ConformanceDatadogWebHookParameters' type: object required: - enabled - alerts - parameters title: ConformanceDatadogWebHookSpec ConformanceEmailWebHookParameters: properties: email_address: type: string title: Email description: Your email address type: object required: - email_address title: ConformanceEmailWebHookParameters ConformanceEmailWebHookSpec: properties: enabled: type: boolean title: Enabled description: Whether the webhook fires when triggered alerts: items: $ref: '#/components/schemas/AlertCondition' type: array title: Alerts description: Alert conditions that trigger the webhook type: type: string const: conformance_email title: Type default: conformance_email parameters: $ref: '#/components/schemas/ConformanceEmailWebHookParameters' type: object required: - enabled - alerts - parameters title: ConformanceEmailWebHookSpec ConformanceGenericWebHookParameters: properties: url: type: string title: URL description: The url to post result data username: type: string title: Username description: The username for basic authentication default: '' password: type: string title: Password description: The password for basic authentication default: '' type: object required: - url title: ConformanceGenericWebHookParameters ConformanceGenericWebHookSpec: properties: enabled: type: boolean title: Enabled description: Whether the webhook fires when triggered alerts: items: $ref: '#/components/schemas/AlertCondition' type: array title: Alerts description: Alert conditions that trigger the webhook type: type: string const: conformance_generic title: Type default: conformance_generic parameters: $ref: '#/components/schemas/ConformanceGenericWebHookParameters' type: object required: - enabled - alerts - parameters title: ConformanceGenericWebHookSpec ConformanceOpentelemetryWebHookParameters: properties: url: type: string title: URL description: The HTTP endpoint to post conformance events to http_header_1: anyOf: - type: string - type: 'null' title: HTTP Header 1 description: The HTTP header to include http_header_2: anyOf: - type: string - type: 'null' title: HTTP Header 2 description: The HTTP header to include http_header_3: anyOf: - type: string - type: 'null' title: HTTP Header 3 description: The HTTP header to include type: object required: - url title: ConformanceOpentelemetryWebHookParameters ConformanceOpentelemetryWebHookSpec: properties: enabled: type: boolean title: Enabled description: Whether the webhook fires when triggered alerts: items: $ref: '#/components/schemas/AlertCondition' type: array title: Alerts description: Alert conditions that trigger the webhook type: type: string const: conformance_opentelemetry title: Type default: conformance_opentelemetry parameters: $ref: '#/components/schemas/ConformanceOpentelemetryWebHookParameters' type: object required: - enabled - alerts - parameters title: ConformanceOpentelemetryWebHookSpec ConformanceResolutionRequest: properties: result_id: anyOf: - type: string - type: 'null' title: Result Id conformance_result_id: type: string title: Conformance Result Id status: type: string title: Status notes: type: string title: Notes type: object required: - conformance_result_id - status - notes title: ConformanceResolutionRequest ConformanceSettingsRequest: properties: standards_settings: anyOf: - additionalProperties: true type: object - type: 'null' title: Standards Settings network_settings: anyOf: - additionalProperties: true type: object - type: 'null' title: Network Settings coverage_settings: anyOf: - $ref: '#/components/schemas/CoverageSettings' - type: 'null' type: object required: - standards_settings - network_settings - coverage_settings title: ConformanceSettingsRequest ConformanceSlackWebHookParameters: properties: url: type: string title: URL description: 'This the web hook url to post result data, set in slack integration incoming WebHooks url looks like: https://hooks.slack.com/services/REDACTED' channel: type: string title: Channel description: Integration chanel name if different from the defined in slack integration default: '' type: object required: - url title: ConformanceSlackWebHookParameters ConformanceSlackWebHookSpec: properties: enabled: type: boolean title: Enabled description: Whether the webhook fires when triggered alerts: items: $ref: '#/components/schemas/AlertCondition' type: array title: Alerts description: Alert conditions that trigger the webhook type: type: string const: conformance_slack title: Type default: conformance_slack parameters: $ref: '#/components/schemas/ConformanceSlackWebHookParameters' type: object required: - enabled - alerts - parameters title: ConformanceSlackWebHookSpec ConformanceSummaryEmailWebHookParameters: properties: email_address: type: string title: Email description: Your email address type: object required: - email_address title: ConformanceSummaryEmailWebHookParameters ConformanceSummaryEmailWebHookSpec: properties: enabled: type: boolean title: Enabled description: Whether the webhook fires when triggered alerts: items: $ref: '#/components/schemas/AlertCondition' type: array title: Alerts description: Alert conditions that trigger the webhook type: type: string const: conformance_summary_email title: Type default: conformance_summary_email parameters: $ref: '#/components/schemas/ConformanceSummaryEmailWebHookParameters' type: object required: - enabled - alerts - parameters title: ConformanceSummaryEmailWebHookSpec ConformanceSummaryGenericWebHookParameters: properties: url: type: string title: URL description: The url to post result data username: type: string title: Username description: The username for basic authentication default: '' password: type: string title: Password description: The password for basic authentication default: '' type: object required: - url title: ConformanceSummaryGenericWebHookParameters ConformanceSummaryGenericWebHookSpec: properties: enabled: type: boolean title: Enabled description: Whether the webhook fires when triggered alerts: items: $ref: '#/components/schemas/AlertCondition' type: array title: Alerts description: Alert conditions that trigger the webhook type: type: string const: conformance_summary_generic title: Type default: conformance_summary_generic parameters: $ref: '#/components/schemas/ConformanceSummaryGenericWebHookParameters' type: object required: - enabled - alerts - parameters title: ConformanceSummaryGenericWebHookSpec ConformanceSummarySlackWebHookParameters: properties: url: type: string title: URL description: 'This the web hook url to post result data, set in slack integration incoming WebHooks url looks like: https://hooks.slack.com/services/REDACTED' channel: type: string title: Channel description: Integration chanel name if different from the defined in slack integration default: '' type: object required: - url title: ConformanceSummarySlackWebHookParameters ConformanceSummarySlackWebHookSpec: properties: enabled: type: boolean title: Enabled description: Whether the webhook fires when triggered alerts: items: $ref: '#/components/schemas/AlertCondition' type: array title: Alerts description: Alert conditions that trigger the webhook type: type: string const: conformance_summary_slack title: Type default: conformance_summary_slack parameters: $ref: '#/components/schemas/ConformanceSummarySlackWebHookParameters' type: object required: - enabled - alerts - parameters title: ConformanceSummarySlackWebHookSpec CopyMoveRequest: properties: id: items: type: string type: array title: Id description: One or more resource keys to copy or move. May be sent as a JSON array or a single string; a string is normalised to a list of one. type: type: string enum: - call - workflow - auth - report - browser - mcp title: Type description: 'Kind of resource. One of: call, workflow, auth, report.' destination: type: string title: Destination description: Urlsafe key of the destination project. dry_run: type: boolean title: Dry Run description: If true, collect what *would* happen into errors/warnings/info without writing. default: false additionalProperties: false type: object required: - id - type - destination title: CopyMoveRequest description: Body shape for both ``/api/2/manage/copy`` and ``/api/2/manage/move``. examples: - destination: ahFkZXZ-YXBpbWV0cmljcy1xY3ILCxIEVXNlchieQgw dry_run: true id: - ahFkZXZ-YXBpbWV0cmljcy1xY3IOCxIHVGVzdFNldHVwGL9CDA type: call CopyMoveResponse: properties: source: type: string title: Source destination: type: string title: Destination type: type: string enum: - call - workflow - auth - report - browser - mcp title: Type info: items: type: string type: array title: Info warnings: items: type: string type: array title: Warnings errors: items: type: string type: array title: Errors type: object required: - source - destination - type title: CopyMoveResponse description: "Response shape for both endpoints.\n\nField semantics match the Py2 handler:\n\n*\ \ ``info`` -- success messages, one per cloned/moved entity.\n* ``warnings`` -- non-blocking\ \ advisories (e.g. tokens not copied).\n* ``errors`` -- blocking failures collected in ``dry_run``\ \ mode;\n non-dry-run runs raise 400 on the first one of these." examples: - destination: ahFkZXZ-YXBpbWV0cmljcy1xY3ILCxIEVXNlchifQgw errors: [] info: - Will copy API Call "Login" source: ahFkZXZ-YXBpbWV0cmljcy1xY3ILCxIEVXNlchieQgw type: call warnings: [] CoverageSettings: properties: enabled: type: boolean title: Enabled test_coverage: type: number maximum: 1.0 minimum: 0.0 title: Test Coverage description: Test coverage percentage (0-1) endpoint_coverage: type: number maximum: 1.0 minimum: 0.0 title: Endpoint Coverage description: Endpoint coverage percentage (0-1) type: object required: - enabled - test_coverage - endpoint_coverage title: CoverageSettings CreateAccountProjectBody: properties: name: anyOf: - type: string - type: 'null' title: Name type: object title: CreateAccountProjectBody examples: - name: New Project CreateAgentRequest: properties: agent_type: type: string title: Agent Type display_name: type: string title: Display Name queue_name: type: string title: Queue Name config_key_suffix: anyOf: - type: string - type: 'null' title: Config Key Suffix cloud: type: string title: Cloud owners: items: type: string type: array title: Owners user_name: anyOf: - type: string - type: 'null' title: User Name user_city: anyOf: - type: string - type: 'null' title: User City user_region: anyOf: - type: string - type: 'null' title: User Region user_country: anyOf: - type: string - type: 'null' title: User Country user_continent: anyOf: - type: string - type: 'null' title: User Continent user_geography: anyOf: - type: string - type: 'null' title: User Geography type: object required: - agent_type - display_name - queue_name - cloud - owners title: CreateAgentRequest CreateApiKeyBody: properties: access_level: anyOf: - type: string - type: 'null' title: Access Level description: Access level for the new key; one of ['INGRESS', 'VIEWER', 'ANALYST', 'MANAGER', 'EDITOR', 'OWNER']. Defaults to VIEWER when omitted. additionalProperties: false type: object title: CreateApiKeyBody description: 'Create payload. ``access_level`` is the only accepted field (there is no key ``name``); an unknown field is rejected. Omitting ``access_level`` defaults the key to VIEWER (but see ``create_api_key`` for the owner guard).' examples: - access_level: EDITOR CreateAuthConfigRequest: properties: meta: $ref: '#/components/schemas/AuthConfigMetaInput' settings: $ref: '#/components/schemas/AuthConfigSettingsInput' keys: anyOf: - $ref: '#/components/schemas/AuthConfigKeysInput' - type: 'null' type: object title: CreateAuthConfigRequest CreateHookRequest: properties: name: anyOf: - type: string maxLength: 400 - type: 'null' title: Name description: anyOf: - type: string maxLength: 1000 - type: 'null' title: Description tags: anyOf: - items: type: string type: array - type: 'null' title: Tags save_timestamp: anyOf: - type: boolean - type: 'null' title: Save Timestamp variables: anyOf: - additionalProperties: type: string type: object - type: 'null' title: Variables target_id: type: string title: Target Id additionalProperties: false type: object required: - target_id title: CreateHookRequest CreateIntegration: properties: name: type: string title: Name provider: type: string title: Provider details: additionalProperties: type: string type: object title: Details type: object required: - name - provider - details title: CreateIntegration CreateOrgInviteBody: properties: email: type: string title: Email name: anyOf: - type: string - type: 'null' title: Name access_level: anyOf: - type: string - type: 'null' title: Access Level roles: items: type: string type: array title: Roles type: object required: - email title: CreateOrgInviteBody CreateOrgRoleBody: properties: id: type: string maxLength: 400 minLength: 3 title: Id description: anyOf: - type: string - type: 'null' title: Description additionalProperties: false type: object required: - id title: CreateOrgRoleBody CreateProjectAccessBody: properties: account_id: anyOf: - type: string - type: 'null' title: Account Id description: The account to grant access to; defaults to the caller. email: anyOf: - type: string - type: 'null' title: Email description: Informational email for the account. access_level: anyOf: - type: string - type: 'null' title: Access Level description: Defaults to VIEWER. type: object title: CreateProjectAccessBody examples: - access_level: EDITOR account_id: auth0|5f00000000000000000000aa email: user@example.com CreateProjectBody: properties: name: anyOf: - type: string - type: 'null' title: Name tags: anyOf: - items: type: string type: array - type: 'null' title: Tags email: anyOf: - type: string - type: 'null' title: Email security_profile: anyOf: - type: string - type: 'null' title: Security Profile type: object title: CreateProjectBody examples: - name: New Project CreateProjectInviteBody: properties: email: type: string title: Email name: anyOf: - type: string - type: 'null' title: Name access_level: anyOf: - type: string - type: 'null' title: Access Level type: object required: - email title: CreateProjectInviteBody CreateProjectRoleBody: properties: role_id: type: string title: Role Id access_level: type: string title: Access Level account_id: anyOf: - type: string - type: 'null' title: Account Id type: object required: - role_id - access_level title: CreateProjectRoleBody examples: - access_level: EDITOR role_id: SRE CreateServiceAccountBody: properties: name: type: string pattern: ^[a-zA-Z0-9][a-zA-Z0-9._-]{0,62}$ title: Service account name description: Unique name within the organization; forms the local part of the virtual user email, so it must be email-local safe roles: items: type: string type: array title: Roles description: Organization roles to grant the service account type: object required: - name title: CreateServiceAccountBody CreateTokenRequest: properties: meta: $ref: '#/components/schemas/TokenMetaInput' token: anyOf: - $ref: '#/components/schemas/TokenDataInput' - type: 'null' type: object title: CreateTokenRequest CreateVariableBody: properties: name: anyOf: - type: string - type: 'null' title: Name value: anyOf: - type: string - type: 'null' title: Value type: object title: CreateVariableBody examples: - name: API_KEY value: secret-value CreateWebHookBody: properties: type: $ref: '#/components/schemas/WebHookType' enabled: type: boolean title: Enabled alerts: items: $ref: '#/components/schemas/AlertCondition' type: array title: Alerts parameters: additionalProperties: type: string type: object title: Parameters type: object required: - type - enabled - alerts - parameters title: CreateWebHookBody CreateWebHookMeta: properties: name: type: string maxLength: 400 minLength: 1 title: Name tags: anyOf: - items: type: string type: array - type: 'null' title: Tags include_tags: anyOf: - items: type: string type: array - type: 'null' title: Include Tags exclude_tags: anyOf: - items: type: string type: array - type: 'null' title: Exclude Tags type: object required: - name title: CreateWebHookMeta CreateWebHookRequest: properties: meta: $ref: '#/components/schemas/CreateWebHookMeta' webhook: $ref: '#/components/schemas/CreateWebHookBody' type: object required: - meta - webhook title: CreateWebHookRequest CreateWorkspaceBody: properties: name: anyOf: - type: string - type: 'null' title: Name type: object title: CreateWorkspaceBody examples: - name: staging DataCheckPutRequest: properties: include_tags: items: type: string type: array title: Include Tags exclude_tags: items: type: string type: array title: Exclude Tags rules: items: anyOf: - $ref: '#/components/schemas/JsonPathGroupRule' - $ref: '#/components/schemas/JsonPathValueRule' - $ref: '#/components/schemas/JsonPathRegexRule' - $ref: '#/components/schemas/JsonPathSubstringRule' - $ref: '#/components/schemas/JsonPathCountRule' type: array title: Rules type: object required: - include_tags - exclude_tags - rules title: DataCheckPutRequest DatadogWebHookParameters: properties: api_key: type: string title: API key description: The DataDog API key fails_in_a_row: type: string title: Only send alert after X failures in a row default: '0' type: object required: - api_key title: DatadogWebHookParameters DatadogWebHookSpec: properties: enabled: type: boolean title: Enabled description: Whether the webhook fires when triggered alerts: items: $ref: '#/components/schemas/AlertCondition' type: array title: Alerts description: Alert conditions that trigger the webhook type: type: string const: datadog title: Type default: datadog parameters: $ref: '#/components/schemas/DatadogWebHookParameters' type: object required: - enabled - alerts - parameters title: DatadogWebHookSpec DatadogeventWebHookParameters: properties: api_key: type: string title: API key description: The DataDog API key fails_in_a_row: type: string title: Only send alert after X failures in a row default: '0' type: object required: - api_key title: DatadogeventWebHookParameters DatadogeventWebHookSpec: properties: enabled: type: boolean title: Enabled description: Whether the webhook fires when triggered alerts: items: $ref: '#/components/schemas/AlertCondition' type: array title: Alerts description: Alert conditions that trigger the webhook type: type: string const: datadogevent title: Type default: datadogevent parameters: $ref: '#/components/schemas/DatadogeventWebHookParameters' type: object required: - enabled - alerts - parameters title: DatadogeventWebHookSpec DatadogintegrationWebHookParameters: properties: integration_id: type: string title: Integration ID description: Datadog Integration type: object required: - integration_id title: DatadogintegrationWebHookParameters DatadogintegrationWebHookSpec: properties: enabled: type: boolean title: Enabled description: Whether the webhook fires when triggered alerts: items: $ref: '#/components/schemas/AlertCondition' type: array title: Alerts description: Alert conditions that trigger the webhook type: type: string const: datadogintegration title: Type default: datadogintegration parameters: $ref: '#/components/schemas/DatadogintegrationWebHookParameters' type: object required: - enabled - alerts - parameters title: DatadogintegrationWebHookSpec DeleteOrgRoleResponse: properties: status: type: string title: Status type: object required: - status title: DeleteOrgRoleResponse DeleteStatusResponse: properties: status: type: string title: Status type: object required: - status title: DeleteStatusResponse DiagnosticsGroup: properties: key: $ref: '#/components/schemas/GroupKey' sample_count: type: integer title: Sample Count description: Total results in this group dns_sample_count: type: integer title: Dns Sample Count description: Results with DNS metadata present top_location_id: anyOf: - type: string - type: 'null' title: Top Location Id description: Location with the most samples in this group fqdns: items: type: string type: array title: Fqdns description: Most frequently observed FQDNs registrars: items: type: string type: array title: Registrars description: Most frequently observed domain registrars dns_providers: items: type: string type: array title: Dns Providers description: Most frequently observed DNS resolver providers (by domain name) tlds: items: type: string type: array title: Tlds description: Most frequently observed TLDs a_records: items: $ref: '#/components/schemas/RecordCount' type: array title: A Records description: A record IPs observed, with per-record counts, most frequent first cname_records: items: $ref: '#/components/schemas/RecordCount' type: array title: Cname Records description: CNAME values observed, with per-record counts, most frequent first ns_servers: items: $ref: '#/components/schemas/RecordCount' type: array title: Ns Servers description: NS servers observed, with per-record counts, most frequent first namelookup_mean_ms: anyOf: - type: number - type: 'null' title: Namelookup Mean Ms description: Mean DNS lookup time in milliseconds (null when no timed samples present) type: object required: - key - sample_count - dns_sample_count - fqdns - registrars - dns_providers - tlds - a_records - cname_records - ns_servers title: DiagnosticsGroup DnsDiagnosticsMeta: properties: monitor_id: anyOf: - type: string - type: 'null' title: Monitor Id from: type: string format: date-time title: From to: type: string format: date-time title: To interval: anyOf: - type: string format: duration - type: 'null' title: Interval group_by: items: $ref: '#/components/schemas/GroupByDimension' type: array title: Group By type: object required: - monitor_id - from - to - interval - group_by title: DnsDiagnosticsMeta DnsDiagnosticsResponse: properties: results: items: $ref: '#/components/schemas/DiagnosticsGroup' type: array title: Results meta: $ref: '#/components/schemas/DnsDiagnosticsMeta' type: object required: - results - meta title: DnsDiagnosticsResponse DnsRequest: properties: from: type: string format: date-time title: From description: Window start (UTC ISO timestamp, inclusive) to: type: string format: date-time title: To description: Window end (UTC ISO timestamp, exclusive) interval: anyOf: - type: string format: duration - type: 'null' title: Interval description: Bucket size for time-series grouping (ISO 8601 duration, e.g. PT1H). Omitted = single bucket over the whole window. group_by: items: $ref: '#/components/schemas/GroupByDimension' type: array title: Group By description: Dimensions to group results by. locations: items: type: string type: array title: Locations description: Restrict to these location IDs. Empty = all locations. status: items: $ref: '#/components/schemas/ResultCategory' type: array title: Status description: Restrict to these result categories. Empty = all categories. type: object required: - from - to title: DnsRequest DowntimeBodyResponse: properties: start_time: type: string title: Start Time end_time: type: string title: End Time zone: type: string title: Zone repeated: type: boolean title: Repeated repeat_days: type: integer title: Repeat Days type: object required: - start_time - end_time - zone - repeated - repeat_days title: DowntimeBodyResponse DowntimeCreateBody: properties: downtime: anyOf: - $ref: '#/components/schemas/_DowntimeBodyFields' - type: 'null' additionalProperties: false type: object title: DowntimeCreateBody DowntimeListMetaResponse: properties: next_cursor: anyOf: - type: string - type: 'null' title: Next Cursor more: type: boolean title: More project_id: type: string title: Project Id type: object required: - more - project_id title: DowntimeListMetaResponse DowntimeListResponse: properties: meta: $ref: '#/components/schemas/DowntimeListMetaResponse' results: items: $ref: '#/components/schemas/DowntimeResponse' type: array title: Results type: object required: - meta - results title: DowntimeListResponse DowntimeMetaResponse: properties: last_update: anyOf: - type: string format: date-time - type: 'null' title: Last Update created: anyOf: - type: string format: date-time - type: 'null' title: Created state: type: string title: State project_id: anyOf: - type: string - type: 'null' title: Project Id org_id: anyOf: - type: string - type: 'null' title: Org Id schedule_id: anyOf: - type: string - type: 'null' title: Schedule Id project_ids: anyOf: - items: type: string type: array - type: 'null' title: Project Ids type: object required: - state title: DowntimeMetaResponse DowntimeResponse: properties: id: type: string title: Id meta: $ref: '#/components/schemas/DowntimeMetaResponse' schedule: $ref: '#/components/schemas/DowntimeBodyResponse' type: object required: - id - meta - schedule title: DowntimeResponse DowntimeUpdateBody: properties: downtime: anyOf: - $ref: '#/components/schemas/_DowntimeBodyFields' - type: 'null' additionalProperties: false type: object title: DowntimeUpdateBody EditableDowntimeBody: properties: projects: items: type: string type: array title: Projects repeated: type: boolean title: Repeated repeat_days: anyOf: - type: integer - type: 'null' title: Repeat Days start_time: anyOf: - type: string format: date-time - type: 'null' title: Start Time end_time: anyOf: - type: string format: date-time - type: 'null' title: End Time zone: anyOf: - type: string - type: 'null' title: Zone type: object required: - projects - repeated title: EditableDowntimeBody EditableScheduleBody: properties: name: anyOf: - type: string - type: 'null' title: Name description: Display name for the schedule frequency: anyOf: - type: integer - type: 'null' title: Frequency description: Run interval in seconds targets: anyOf: - items: type: string type: array - type: 'null' title: Targets description: IDs of the monitors to run on this schedule regions: anyOf: - items: type: string type: array - type: 'null' title: Regions description: Regions and clouds to run from. Use ['all'] to run worldwide; otherwise a mix of region codes and cloud codes. Discover the values available to this project via the `list-agents-for-project` operation (`GET /api/3/project/agents`). locations: anyOf: - items: type: string type: array - type: 'null' title: Locations description: Specific agent locations to run from. Discover available locations via the `list-agents-for-project` operation (`GET /api/3/project/agents`). tags: anyOf: - items: type: string type: array - type: 'null' title: Tags description: Tags applied to the schedule backoff_method: anyOf: - $ref: '#/components/schemas/BackoffMethod' - type: 'null' description: Retry backoff strategy applied on failure type: object title: EditableScheduleBody EditableWebHookBody: properties: name: anyOf: - type: string - type: 'null' title: Name description: Display name for the webhook web_hook_type: anyOf: - $ref: '#/components/schemas/WebHookType' - type: 'null' description: Webhook delivery type. Determines which parameters are accepted; on an update it defaults to the webhook's current type enabled: anyOf: - type: boolean - type: 'null' title: Enabled description: Whether the webhook fires when triggered monitor_id: anyOf: - type: string - type: 'null' title: Monitor Id description: Monitor to attach this webhook to; omit for a project-level webhook global_settings: anyOf: - type: boolean - type: 'null' title: Global Settings description: Whether this is a project-level webhook applied across monitors alerts: anyOf: - items: $ref: '#/components/schemas/AlertCondition' type: array - type: 'null' title: Alerts description: Alert conditions that trigger the webhook parameters: anyOf: - additionalProperties: anyOf: - type: string - type: 'null' type: object - type: 'null' title: Parameters description: 'Delivery parameters, validated against `web_hook_type`: only the parameters that type declares are accepted, and its mandatory ones must be present. The accepted set per type is the corresponding `*WebHookParameters` schema of the webhook response (also served by `GET /api/2/webhooks/types/{type}`)' tags: anyOf: - items: type: string type: array - type: 'null' title: Tags description: Tags applied to the webhook include_tags: anyOf: - items: type: string type: array - type: 'null' title: Include Tags description: Only fire for results carrying these tags exclude_tags: anyOf: - items: type: string type: array - type: 'null' title: Exclude Tags description: Do not fire for results carrying these tags type: object title: EditableWebHookBody EmailTemplateWebHookParameters: properties: email_address: type: string title: Email description: Your email address fails_in_a_row: type: string title: Only send email after X failures in a row default: '1' subject_template: type: string title: Template for subject line text_template: type: string title: Template for email body type: object required: - email_address - subject_template - text_template title: EmailTemplateWebHookParameters EmailTemplateWebHookSpec: properties: enabled: type: boolean title: Enabled description: Whether the webhook fires when triggered alerts: items: $ref: '#/components/schemas/AlertCondition' type: array title: Alerts description: Alert conditions that trigger the webhook type: type: string const: email_template title: Type default: email_template parameters: $ref: '#/components/schemas/EmailTemplateWebHookParameters' type: object required: - enabled - alerts - parameters title: EmailTemplateWebHookSpec EmailTextWebHookParameters: properties: email_address: type: string title: Email description: Your email address fails_in_a_row: type: string title: Only send email after X failures in a row default: '1' type: object required: - email_address title: EmailTextWebHookParameters EmailTextWebHookSpec: properties: enabled: type: boolean title: Enabled description: Whether the webhook fires when triggered alerts: items: $ref: '#/components/schemas/AlertCondition' type: array title: Alerts description: Alert conditions that trigger the webhook type: type: string const: email_text title: Type default: email_text parameters: $ref: '#/components/schemas/EmailTextWebHookParameters' type: object required: - enabled - alerts - parameters title: EmailTextWebHookSpec EmailWebHookParameters: properties: email_address: type: string title: Email description: Your email address fails_in_a_row: type: string title: Only send email after X failures in a row default: '1' type: object required: - email_address title: EmailWebHookParameters EmailWebHookSpec: properties: enabled: type: boolean title: Enabled description: Whether the webhook fires when triggered alerts: items: $ref: '#/components/schemas/AlertCondition' type: array title: Alerts description: Alert conditions that trigger the webhook type: type: string const: email title: Type default: email parameters: $ref: '#/components/schemas/EmailWebHookParameters' type: object required: - enabled - alerts - parameters title: EmailWebHookSpec EndpointClassificationRequest: properties: method: type: string title: Method hostname: anyOf: - type: string - type: 'null' title: Hostname path: type: string title: Path classification: type: string title: Classification type: object required: - method - hostname - path - classification title: EndpointClassificationRequest ExportResponse: properties: $schema: type: string title: $Schema version: type: string title: Version project: additionalProperties: true type: object title: Project type: object required: - $schema - version - project title: ExportResponse description: 'The export bundle: a bare ``{$schema, version, project}`` object.' FlowdockWebHookParameters: properties: flow_token: type: string title: Flow Token description: The token for the Flow to post to fails_in_a_row: type: string title: Only send alert after X failures in a row default: '0' type: object required: - flow_token title: FlowdockWebHookParameters FlowdockWebHookSpec: properties: enabled: type: boolean title: Enabled description: Whether the webhook fires when triggered alerts: items: $ref: '#/components/schemas/AlertCondition' type: array title: Alerts description: Alert conditions that trigger the webhook type: type: string const: flowdock title: Type default: flowdock parameters: $ref: '#/components/schemas/FlowdockWebHookParameters' type: object required: - enabled - alerts - parameters title: FlowdockWebHookSpec GenericWebHookParameters: properties: url: type: string title: URL description: The url to post result data username: type: string title: Username description: The username for basic authentication default: '' password: type: string title: Password description: The password for basic authentication default: '' fails_in_a_row: type: string title: Only send alert after X failures in a row default: '0' client_cert_id: anyOf: - type: string - type: 'null' title: Client Certificate description: The client certificate to use for authentication, if required by the endpoint server_public_key: anyOf: - type: string - type: 'null' title: Server CA Certificate description: The server CA certificate to use for SSL verification. Must be in PEM format. If not provided, SSL verification will use the default trusted CAs. type: object required: - url title: GenericWebHookParameters GenericWebHookSpec: properties: enabled: type: boolean title: Enabled description: Whether the webhook fires when triggered alerts: items: $ref: '#/components/schemas/AlertCondition' type: array title: Alerts description: Alert conditions that trigger the webhook type: type: string const: generic title: Type default: generic parameters: $ref: '#/components/schemas/GenericWebHookParameters' type: object required: - enabled - alerts - parameters title: GenericWebHookSpec GrantProjectAccessBody: properties: access_level: type: string title: Access Level description: 'Project access level to grant. One of: [''VIEWER'', ''ANALYST'', ''MANAGER'', ''EDITOR'', ''OWNER'']' type: object required: - access_level title: GrantProjectAccessBody GroupByDimension: type: string enum: - location - interval - monitor title: GroupByDimension GroupKey: properties: location_id: anyOf: - type: string - type: 'null' title: Location Id interval_start: anyOf: - type: string - type: 'null' title: Interval Start description: UTC ISO timestamp of the bucket start when interval grouping is in use monitor_id: anyOf: - type: string - type: 'null' title: Monitor Id description: Monitor ID when monitor grouping is in use type: object title: GroupKey description: 'Identifies which slice of data this group represents. Fields are present only when the request asked to group by that dimension (or, for `interval_start`, when an interval was requested).' HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError HipchatWebHookParameters: properties: url: type: string title: URL description: 'This the web hook url to post result data, set in HipChat integration incoming WebHooks url looks like: https://apimetrics-qc.hipchat.com/v2/room/2956715/notification?auth_token=foo12345' fails_in_a_row: type: string title: Only send alert after X failures in a row default: '0' type: object required: - url title: HipchatWebHookParameters HipchatWebHookSpec: properties: enabled: type: boolean title: Enabled description: Whether the webhook fires when triggered alerts: items: $ref: '#/components/schemas/AlertCondition' type: array title: Alerts description: Alert conditions that trigger the webhook type: type: string const: hipchat title: Type default: hipchat parameters: $ref: '#/components/schemas/HipchatWebHookParameters' type: object required: - enabled - alerts - parameters title: HipchatWebHookSpec HistoryMeta: properties: weekly: type: boolean title: Weekly start_date: type: string format: date-time title: Start Date end_date: type: string format: date-time title: End Date type: object required: - weekly - start_date - end_date title: HistoryMeta HistoryResponse: properties: meta: $ref: '#/components/schemas/HistoryMeta' results: items: $ref: '#/components/schemas/HistoryRow' type: array title: Results type: object required: - meta - results title: HistoryResponse HistoryRow: properties: start: type: string format: date-time title: Start good: anyOf: - type: integer - type: 'null' title: Good ok: anyOf: - type: integer - type: 'null' title: Ok bad: anyOf: - type: integer - type: 'null' title: Bad type: object required: - start title: HistoryRow description: 'One period bucket. ``good``/``ok``/``bad`` are the score-band counts, or ``None`` for a bucket with no reports — the route serializes with ``exclude_none`` so an empty bucket renders as just ``{"start": ...}``, matching the legacy output.' HmacRequest: properties: alg: anyOf: - type: string - type: 'null' title: Alg description: Hash algorithm name (e.g. 'sha256'); case-insensitive. key: anyOf: - type: string - type: 'null' title: Key description: HMAC key. msg: anyOf: - type: string - type: 'null' title: Msg description: Message to authenticate. type: object title: HmacRequest description: 'Input for an HMAC digest. Fields are optional so the legacy validation order and 400 messages are reproduced in code rather than surfaced as 422s.' examples: - alg: sha256 key: my-secret msg: hello HmacResponse: properties: alg: type: string title: Alg digest: type: string title: Digest description: Standard base64 of the raw digest. hex_digest: type: string title: Hex Digest description: Hex digest. type: object required: - alg - digest - hex_digest title: HmacResponse HookListMeta: properties: next_cursor: anyOf: - type: string - type: 'null' title: Next Cursor more: type: boolean title: More default: false project_id: anyOf: - type: string - type: 'null' title: Project Id type: object title: HookListMeta HookListResponse: properties: meta: $ref: '#/components/schemas/HookListMeta' results: items: $ref: '#/components/schemas/HookResponse' type: array title: Results type: object required: - meta - results title: HookListResponse HookResponse: properties: id: type: string title: Id guid: type: string title: Guid url: type: string title: Url target_id: type: string title: Target Id name: anyOf: - type: string - type: 'null' title: Name description: anyOf: - type: string - type: 'null' title: Description tags: items: type: string type: array title: Tags save_timestamp: type: boolean title: Save Timestamp default: false variables: additionalProperties: type: string type: object title: Variables project_id: type: string title: Project Id created: anyOf: - type: string format: date-time - type: 'null' title: Created last_update: anyOf: - type: string format: date-time - type: 'null' title: Last Update type: object required: - id - guid - url - target_id - project_id title: HookResponse HttpBreakdownResponse: properties: meta: $ref: '#/components/schemas/_HttpBreakdownMeta' stat: $ref: '#/components/schemas/_HttpBreakdownStat' type: object required: - meta - stat title: HttpBreakdownResponse HydrolixWebHookParameters: properties: url: type: string title: URL description: The url to post result data username: type: string title: Username description: The username for basic authentication default: '' password: type: string title: Password description: The password for basic authentication default: '' fails_in_a_row: type: string title: Only send alert after X failures in a row default: '0' client_cert_id: anyOf: - type: string - type: 'null' title: Client Certificate description: The client certificate to use for authentication, if required by the endpoint server_public_key: anyOf: - type: string - type: 'null' title: Server CA Certificate description: The server CA certificate to use for SSL verification. Must be in PEM format. If not provided, SSL verification will use the default trusted CAs. type: object required: - url title: HydrolixWebHookParameters HydrolixWebHookSpec: properties: enabled: type: boolean title: Enabled description: Whether the webhook fires when triggered alerts: items: $ref: '#/components/schemas/AlertCondition' type: array title: Alerts description: Alert conditions that trigger the webhook type: type: string const: hydrolix title: Type default: hydrolix parameters: $ref: '#/components/schemas/HydrolixWebHookParameters' type: object required: - enabled - alerts - parameters title: HydrolixWebHookSpec ImportResponse: properties: version: anyOf: - type: string - type: 'null' title: Version project: anyOf: - additionalProperties: true type: object - type: 'null' title: Project additionalProperties: true type: object title: ImportResponse description: The (mutated) import bundle echoed back on a successful import. ImportSampleResponse: properties: project_ids: items: type: string type: array title: Project Ids default: [] additionalProperties: true type: object title: ImportSampleResponse InsightsListMeta: properties: next_cursor: anyOf: - type: string - type: 'null' title: Next Cursor more: type: boolean title: More default: false project_id: anyOf: - type: string - type: 'null' title: Project Id type: object title: InsightsListMeta InsightsListResponse: properties: meta: $ref: '#/components/schemas/InsightsListMeta' results: items: $ref: '#/components/schemas/InsightsReportApi' type: array title: Results type: object required: - meta - results title: InsightsListResponse InsightsReportApi: properties: id: type: string title: Id project_id: anyOf: - type: string - type: 'null' title: Project Id call_id: anyOf: - type: string - type: 'null' title: Call Id version: anyOf: - type: string - type: 'null' title: Version report_type: anyOf: - type: integer - type: 'null' title: Report Type score: anyOf: - type: integer - type: 'null' title: Score rank: anyOf: - type: integer - type: 'null' title: Rank name: anyOf: - type: string - type: 'null' title: Name domain: anyOf: - type: string - type: 'null' title: Domain tags: items: type: string type: array title: Tags owner: anyOf: - type: string - type: 'null' title: Owner pass_percent: anyOf: - type: number - type: 'null' title: Pass Percent outlier_percent: anyOf: - type: number - type: 'null' title: Outlier Percent mean_test_length: anyOf: - type: number - type: 'null' title: Mean Test Length sd_test_length: anyOf: - type: number - type: 'null' title: Sd Test Length start_date: anyOf: - type: string format: date-time - type: 'null' title: Start Date end_date: anyOf: - type: string format: date-time - type: 'null' title: End Date last_update: anyOf: - type: string format: date-time - type: 'null' title: Last Update created: anyOf: - type: string format: date-time - type: 'null' title: Created type: object required: - id title: InsightsReportApi description: 'One ``InsightsReport`` rendered as the legacy ``convert_datastore_to_api`` dict: the key''s ``filename`` becomes ``id``, ``owner_str`` becomes ``project_id``, and ``start`` / ``end`` are renamed to ``start_date`` / ``end_date``.' IntendedUse: type: string enum: - mtls - signing - signing-pss title: IntendedUse InviteListMeta: properties: more: type: boolean title: More next_cursor: anyOf: - type: string - type: 'null' title: Next Cursor type: object required: - more title: InviteListMeta InviteListResponse: properties: meta: $ref: '#/components/schemas/InviteListMeta' results: items: $ref: '#/components/schemas/InviteResponse' type: array title: Results type: object required: - meta - results title: InviteListResponse InviteResponse: properties: id: anyOf: - type: string - type: 'null' title: Id invited_by: anyOf: - type: string - type: 'null' title: Invited By invited_email: anyOf: - type: string - type: 'null' title: Invited Email email: anyOf: - type: string - type: 'null' title: Email org_id: anyOf: - type: string - type: 'null' title: Org Id project_id: anyOf: - type: string - type: 'null' title: Project Id name: anyOf: - type: string - type: 'null' title: Name access_level: anyOf: - type: string - type: 'null' title: Access Level roles: items: type: string type: array title: Roles last_update: anyOf: - type: string format: date-time - type: 'null' title: Last Update created: anyOf: - type: string format: date-time - type: 'null' title: Created type: object title: InviteResponse InviteStatusResponse: properties: status: type: string title: Status type: object required: - status title: InviteStatusResponse JsonPathCountRule: properties: id: type: string title: Id domain_type: type: string title: Domain Type json_path: type: string title: Json Path source_url: anyOf: - type: string - type: 'null' title: Source Url type: type: string const: jsonpath-count title: Type count: type: integer title: Count type: object required: - id - domain_type - json_path - source_url - type - count title: JsonPathCountRule JsonPathGroupRule: properties: id: type: string title: Id domain_type: type: string title: Domain Type json_path: type: string title: Json Path source_url: anyOf: - type: string - type: 'null' title: Source Url type: type: string const: jsonpath-group title: Type sub_rules: items: anyOf: - $ref: '#/components/schemas/JsonPathValueRule' - $ref: '#/components/schemas/JsonPathRegexRule' - $ref: '#/components/schemas/JsonPathSubstringRule' - $ref: '#/components/schemas/JsonPathCountRule' type: array title: Sub Rules type: object required: - id - domain_type - json_path - source_url - type - sub_rules title: JsonPathGroupRule JsonPathRegexRule: properties: id: type: string title: Id domain_type: type: string title: Domain Type json_path: type: string title: Json Path source_url: anyOf: - type: string - type: 'null' title: Source Url type: type: string const: jsonpath-regex title: Type regex: type: string title: Regex flags: anyOf: - items: type: string enum: - g - i - m - s - u - v type: array - type: 'null' title: Flags type: object required: - id - domain_type - json_path - source_url - type - regex - flags title: JsonPathRegexRule JsonPathSubstringRule: properties: id: type: string title: Id domain_type: type: string title: Domain Type json_path: type: string title: Json Path source_url: anyOf: - type: string - type: 'null' title: Source Url type: type: string const: jsonpath-substring title: Type substring_of: type: string title: Substring Of flags: anyOf: - items: type: string enum: - ignore_case - ignore_whitespace type: array - type: 'null' title: Flags type: object required: - id - domain_type - json_path - source_url - type - substring_of - flags title: JsonPathSubstringRule JsonPathValueRule: properties: id: type: string title: Id domain_type: type: string title: Domain Type json_path: type: string title: Json Path source_url: anyOf: - type: string - type: 'null' title: Source Url type: type: string const: jsonpath-value title: Type value: title: Value flags: anyOf: - items: type: string enum: - ignore_case - ignore_whitespace type: array - type: 'null' title: Flags type: object required: - id - domain_type - json_path - source_url - type - value - flags title: JsonPathValueRule JwtDecodeResponse: properties: headers: additionalProperties: true type: object title: Headers payload: anyOf: - additionalProperties: true type: object - type: 'null' title: Payload error: anyOf: - type: string - type: 'null' title: Error signature: type: string title: Signature type: object required: - headers - signature title: JwtDecodeResponse description: 'The decoded (but *unverified*) parts of a JWT. Exactly one of ``payload`` or ``error`` is present: ``error`` replaces ``payload`` when the claims segment cannot be decoded.' JwtEncodeRequest: properties: claims: anyOf: - additionalProperties: true type: object - type: 'null' title: Claims description: The claim set to sign. headers: anyOf: - additionalProperties: true type: object - type: 'null' title: Headers description: JOSE header. Must contain 'alg'. key: anyOf: - type: string - additionalProperties: true type: object - type: 'null' title: Key description: 'Signing key: a shared secret / PEM string, or a JWK dict. Required unless a KMS certificate is resolved via the header ''kid''.' override_alg: anyOf: - type: string - type: 'null' title: Override Alg description: Sign with this algorithm instead of headers['alg'] (the header's declared alg is left unchanged). output: anyOf: - type: string - type: 'null' title: Output description: Set to 'json' to receive a structured breakdown instead of the raw application/jwt token. access_token: anyOf: - type: string - type: 'null' title: Access Token description: If present, an 'at_hash' claim is added. minimize: anyOf: - type: boolean - type: 'null' title: Minimize description: 'KMS signing only: minimize the emitted claims.' type: object title: JwtEncodeRequest description: 'Input for signing a JWT. Fields are all optional here so that the exact legacy validation order and 400 messages are reproduced in code rather than surfaced as 422s by the model.' examples: - claims: exp: 60 name: Jane Doe sub: '1234567890' headers: alg: HS256 typ: JWT key: your-shared-secret KidAlg: type: string enum: - manual - rfc7638-sha1 - rfc7638-sha256 title: KidAlg LegacyPassFailRangeResponse: properties: meta: $ref: '#/components/schemas/_LegacyPassFailMeta' results: additionalProperties: $ref: '#/components/schemas/_PassFailCounts' type: object title: Results type: object required: - meta - results title: LegacyPassFailRangeResponse LegacyPassFailResponse: properties: meta: $ref: '#/components/schemas/_LegacyPassFailMeta' stat: $ref: '#/components/schemas/_PassFailCounts' type: object required: - meta - stat title: LegacyPassFailResponse ListStatsKind: type: string enum: - RAW - HOUR - DAY - WEEK - MONTH - YEAR title: ListStatsKind description: As ``StatsKind`` plus ``RAW`` (per-result rows) for ``since``/``before``. MEASURES: type: string enum: - mean - value title: MEASURES METRICS: type: string enum: - pass - slow - warning - fail - availability - dns - tcp - handshake - upload - processing - download - total - network - server - total_no_dns - casc - apdex - first_contentful_paint - largest_contentful_paint - first_input_delay - cumulative_layout_shift title: METRICS McpCallToolStepRepr: properties: timeout_ms: type: integer maximum: 120000.0 minimum: 0.0 title: Timeout Ms description: Step timeout (milliseconds) wait_ms: type: integer maximum: 120000.0 minimum: 0.0 title: Wait Ms description: Time to wait after finishing step (milliseconds) step_type: type: string const: call_tool title: Step Type default: call_tool tool_name: type: string title: Tool Name description: Name of the tool to call parameters: anyOf: - additionalProperties: true type: object - type: 'null' title: Parameters description: Arguments to provide for the tool call additionalProperties: false type: object required: - timeout_ms - wait_ms - tool_name title: McpCallToolStepRepr McpGetPromptStepRepr: properties: timeout_ms: type: integer maximum: 120000.0 minimum: 0.0 title: Timeout Ms description: Step timeout (milliseconds) wait_ms: type: integer maximum: 120000.0 minimum: 0.0 title: Wait Ms description: Time to wait after finishing step (milliseconds) step_type: type: string const: get_prompt title: Step Type default: get_prompt prompt_name: type: string title: Prompt Name description: Name of the prompt to get parameters: anyOf: - additionalProperties: true type: object - type: 'null' title: Parameters description: Arguments to provide to the prompt template additionalProperties: false type: object required: - timeout_ms - wait_ms - prompt_name title: McpGetPromptStepRepr McpListPromptsStepRepr: properties: timeout_ms: type: integer maximum: 120000.0 minimum: 0.0 title: Timeout Ms description: Step timeout (milliseconds) wait_ms: type: integer maximum: 120000.0 minimum: 0.0 title: Wait Ms description: Time to wait after finishing step (milliseconds) step_type: type: string const: list_prompts title: Step Type default: list_prompts additionalProperties: false type: object required: - timeout_ms - wait_ms title: McpListPromptsStepRepr McpListResourceTemplatesStepRepr: properties: timeout_ms: type: integer maximum: 120000.0 minimum: 0.0 title: Timeout Ms description: Step timeout (milliseconds) wait_ms: type: integer maximum: 120000.0 minimum: 0.0 title: Wait Ms description: Time to wait after finishing step (milliseconds) step_type: type: string const: list_resource_templates title: Step Type default: list_resource_templates additionalProperties: false type: object required: - timeout_ms - wait_ms title: McpListResourceTemplatesStepRepr McpListResourcesStepRepr: properties: timeout_ms: type: integer maximum: 120000.0 minimum: 0.0 title: Timeout Ms description: Step timeout (milliseconds) wait_ms: type: integer maximum: 120000.0 minimum: 0.0 title: Wait Ms description: Time to wait after finishing step (milliseconds) step_type: type: string const: list_resources title: Step Type default: list_resources additionalProperties: false type: object required: - timeout_ms - wait_ms title: McpListResourcesStepRepr McpListToolsStepRepr: properties: timeout_ms: type: integer maximum: 120000.0 minimum: 0.0 title: Timeout Ms description: Step timeout (milliseconds) wait_ms: type: integer maximum: 120000.0 minimum: 0.0 title: Wait Ms description: Time to wait after finishing step (milliseconds) step_type: type: string const: list_tools title: Step Type default: list_tools additionalProperties: false type: object required: - timeout_ms - wait_ms title: McpListToolsStepRepr McpReadResourceStepRepr: properties: timeout_ms: type: integer maximum: 120000.0 minimum: 0.0 title: Timeout Ms description: Step timeout (milliseconds) wait_ms: type: integer maximum: 120000.0 minimum: 0.0 title: Wait Ms description: Time to wait after finishing step (milliseconds) step_type: type: string const: read_resource title: Step Type default: read_resource resource_uri: type: string title: Resource Uri description: URI of the resource to read additionalProperties: false type: object required: - timeout_ms - wait_ms - resource_uri title: McpReadResourceStepRepr McpTestSetupListResults: properties: results: items: $ref: '#/components/schemas/McpTestSetupRepr' type: array title: Results type: object required: - results title: McpTestSetupListResults McpTestSetupRepr: properties: id: type: string title: Id meta: $ref: '#/components/schemas/models__mcp_test_setup___MetaRepr' setup: $ref: '#/components/schemas/models__mcp_test_setup___SetupRepr' type: object required: - id - meta - setup title: McpTestSetupRepr McpWaitStepRepr: properties: timeout_ms: type: integer maximum: 120000.0 minimum: 0.0 title: Timeout Ms description: Step timeout (milliseconds) wait_ms: type: integer maximum: 120000.0 minimum: 0.0 title: Wait Ms description: Time to wait after finishing step (milliseconds) step_type: type: string const: wait title: Step Type default: wait additionalProperties: false type: object required: - timeout_ms - wait_ms title: McpWaitStepRepr Measure: type: string enum: - mean - p50 - p90 - p95 - p99 title: Measure MetricAggregate: properties: sample_count: type: integer title: Sample Count description: Number of samples with a measured value for this metric mean: anyOf: - type: number - type: 'null' title: Mean description: Arithmetic mean p50: anyOf: - type: number - type: 'null' title: P50 description: 50th percentile (median) p75: anyOf: - type: number - type: 'null' title: P75 description: 75th percentile p90: anyOf: - type: number - type: 'null' title: P90 description: 90th percentile p95: anyOf: - type: number - type: 'null' title: P95 description: 95th percentile p99: anyOf: - type: number - type: 'null' title: P99 description: 99th percentile p999: anyOf: - type: number - type: 'null' title: P999 description: 99.9th percentile poor_count: anyOf: - type: integer - type: 'null' title: Poor Count description: Number of samples whose value is worse than the poor threshold supplied via the `poor_thresholds` query param. Null when no threshold was supplied for this metric. type: object required: - sample_count title: MetricAggregate description: Aggregates for one metric within one result group. MonthlyResultCounts: properties: month: type: string title: Month api_count: type: integer title: Api Count browser_count: type: integer title: Browser Count mcp_count: type: integer title: Mcp Count total_count: type: integer title: Total Count type: object required: - month - api_count - browser_count - mcp_count - total_count title: MonthlyResultCounts MsteamsWebHookParameters: properties: url: type: string title: URL description: This the web hook url to post result data, set in the MS Teams integration Incoming Webhooks fails_in_a_row: type: string title: Only send alert after X failures in a row default: '0' type: object required: - url title: MsteamsWebHookParameters MsteamsWebHookSpec: properties: enabled: type: boolean title: Enabled description: Whether the webhook fires when triggered alerts: items: $ref: '#/components/schemas/AlertCondition' type: array title: Alerts description: Alert conditions that trigger the webhook type: type: string const: msteams title: Type default: msteams parameters: $ref: '#/components/schemas/MsteamsWebHookParameters' type: object required: - enabled - alerts - parameters title: MsteamsWebHookSpec NewrelicWebHookParameters: properties: app_key: type: string title: Account ID description: New Relic Account ID api_key: type: string title: API key description: The New Relic API key fails_in_a_row: type: string title: Only send alert after X failures in a row default: '0' type: object required: - app_key - api_key title: NewrelicWebHookParameters NewrelicWebHookSpec: properties: enabled: type: boolean title: Enabled description: Whether the webhook fires when triggered alerts: items: $ref: '#/components/schemas/AlertCondition' type: array title: Alerts description: Alert conditions that trigger the webhook type: type: string const: newrelic title: Type default: newrelic parameters: $ref: '#/components/schemas/NewrelicWebHookParameters' type: object required: - enabled - alerts - parameters title: NewrelicWebHookSpec NonameWebHookParameters: properties: url: type: string title: Engine URL description: System Engine URL api_key: type: string title: Source key description: Integration Source key source_type: type: string title: Source type description: Integration Source type (an integer) default: '49' source_index: type: string title: Source index description: Integration Source index (an integer) default: '1' fails_in_a_row: type: string title: Only send alert after X failures in a row default: '0' type: object required: - url - api_key title: NonameWebHookParameters NonameWebHookSpec: properties: enabled: type: boolean title: Enabled description: Whether the webhook fires when triggered alerts: items: $ref: '#/components/schemas/AlertCondition' type: array title: Alerts description: Alert conditions that trigger the webhook type: type: string const: noname title: Type default: noname parameters: $ref: '#/components/schemas/NonameWebHookParameters' type: object required: - enabled - alerts - parameters title: NonameWebHookSpec NotificationListMeta: properties: next_cursor: anyOf: - type: string - type: 'null' title: Next Cursor more: type: boolean title: More project_id: type: string title: Project Id type: object required: - more - project_id title: NotificationListMeta NotificationListResponse: properties: meta: $ref: '#/components/schemas/NotificationListMeta' results: items: $ref: '#/components/schemas/NotificationResponse' type: array title: Results type: object required: - meta - results title: NotificationListResponse NotificationResponse: properties: id: type: string title: Id created: anyOf: - type: string format: date-time - type: 'null' title: Created last_update: anyOf: - type: string format: date-time - type: 'null' title: Last Update category: anyOf: - type: string - type: 'null' title: Category title: anyOf: - type: string - type: 'null' title: Title description: anyOf: - type: string - type: 'null' title: Description description_text: anyOf: - type: string - type: 'null' title: Description Text call_id: anyOf: - type: string - type: 'null' title: Call Id result_id: anyOf: - type: string - type: 'null' title: Result Id worfklow_id: anyOf: - type: string - type: 'null' title: Worfklow Id worfklow_result_id: anyOf: - type: string - type: 'null' title: Worfklow Result Id viewed: type: boolean title: Viewed type: object required: - id - viewed title: NotificationResponse OpenApiFileInfo: properties: errors: items: $ref: '#/components/schemas/TagProjectError' type: array title: Errors previous_error: type: boolean title: Previous Error has_parse_errors: type: boolean title: Has Parse Errors has_external_refs: type: boolean title: Has External Refs is_not_oas3: type: boolean title: Is Not Oas3 was_converted: type: boolean title: Was Converted servers: items: type: string type: array title: Servers type: object required: - errors - previous_error - has_parse_errors - has_external_refs - is_not_oas3 - was_converted - servers title: OpenApiFileInfo description: Per-file validation summary, keyed by file ID in the tagger response. OpenTelemetryAxiomWebHookParameters: properties: api_key: type: string title: API key description: The Axiom API key data_set_name: type: string title: Axiom Data Set Name description: The name of the data set to post to type: object required: - api_key - data_set_name title: OpenTelemetryAxiomWebHookParameters OpenTelemetryAxiomWebHookSpec: properties: enabled: type: boolean title: Enabled description: Whether the webhook fires when triggered alerts: items: $ref: '#/components/schemas/AlertCondition' type: array title: Alerts description: Alert conditions that trigger the webhook type: type: string const: open_telemetry_axiom title: Type default: open_telemetry_axiom parameters: $ref: '#/components/schemas/OpenTelemetryAxiomWebHookParameters' type: object required: - enabled - alerts - parameters title: OpenTelemetryAxiomWebHookSpec OpenTelemetryWebHookParameters: properties: url: type: string title: URL description: The HTTP endpoint to post result data http_header_1: anyOf: - type: string - type: 'null' title: HTTP Header 1 description: The HTTP header to include http_header_2: anyOf: - type: string - type: 'null' title: HTTP Header 2 description: The HTTP header to include http_header_3: anyOf: - type: string - type: 'null' title: HTTP Header 3 description: The HTTP header to include client_cert_id: anyOf: - type: string - type: 'null' title: Client Certificate description: The client certificate to use for authentication, if required by the endpoint server_public_key: anyOf: - type: string - type: 'null' title: Server CA Certificate description: The server CA certificate to use for SSL verification. Must be in PEM format. If not provided, SSL verification will use the default trusted CAs. type: object required: - url title: OpenTelemetryWebHookParameters OpenTelemetryWebHookSpec: properties: enabled: type: boolean title: Enabled description: Whether the webhook fires when triggered alerts: items: $ref: '#/components/schemas/AlertCondition' type: array title: Alerts description: Alert conditions that trigger the webhook type: type: string const: open_telemetry title: Type default: open_telemetry parameters: $ref: '#/components/schemas/OpenTelemetryWebHookParameters' type: object required: - enabled - alerts - parameters title: OpenTelemetryWebHookSpec OpsgenieWebHookParameters: properties: api_key: type: string title: API key description: The OpsGenie API key fails_in_a_row: type: string title: Only send alert after X failures in a row default: '0' type: object required: - api_key title: OpsgenieWebHookParameters OpsgenieWebHookSpec: properties: enabled: type: boolean title: Enabled description: Whether the webhook fires when triggered alerts: items: $ref: '#/components/schemas/AlertCondition' type: array title: Alerts description: Alert conditions that trigger the webhook type: type: string const: opsgenie title: Type default: opsgenie parameters: $ref: '#/components/schemas/OpsgenieWebHookParameters' type: object required: - enabled - alerts - parameters title: OpsgenieWebHookSpec OpsgenieeuWebHookParameters: properties: api_key: type: string title: API key description: The OpsGenie API key fails_in_a_row: type: string title: Only send alert after X failures in a row default: '0' type: object required: - api_key title: OpsgenieeuWebHookParameters OpsgenieeuWebHookSpec: properties: enabled: type: boolean title: Enabled description: Whether the webhook fires when triggered alerts: items: $ref: '#/components/schemas/AlertCondition' type: array title: Alerts description: Alert conditions that trigger the webhook type: type: string const: opsgenieeu title: Type default: opsgenieeu parameters: $ref: '#/components/schemas/OpsgenieeuWebHookParameters' type: object required: - enabled - alerts - parameters title: OpsgenieeuWebHookSpec OrgAccountDeleteResponse: properties: status: type: string title: Status type: object required: - status title: OrgAccountDeleteResponse OrgAccountListMeta: properties: more: type: boolean title: More next_cursor: anyOf: - type: string - type: 'null' title: Next Cursor type: object required: - more title: OrgAccountListMeta OrgAccountListResponse: properties: meta: $ref: '#/components/schemas/OrgAccountListMeta' results: items: $ref: '#/components/schemas/OrgAccountResponse' type: array title: Results type: object required: - meta - results title: OrgAccountListResponse OrgAccountResponse: properties: id: type: string title: Id permissions: items: type: string type: array title: Permissions additionalProperties: true type: object required: - id title: OrgAccountResponse OrgListMeta: properties: next_cursor: anyOf: - type: integer - type: string - type: 'null' title: Next Cursor more: type: boolean title: More type: object required: - more title: OrgListMeta OrgListResponse: properties: meta: $ref: '#/components/schemas/OrgListMeta' results: items: $ref: '#/components/schemas/OrgResponse' type: array title: Results type: object required: - meta - results title: OrgListResponse OrgResponse: properties: id: type: string title: Id name: type: string title: Name subscription_level: type: string title: Subscription Level billing_admin_id: anyOf: - type: string - type: 'null' title: Billing Admin Id enforce_2fa: type: boolean title: Enforce 2Fa default: false kms_enabled: type: boolean title: Kms Enabled default: false password_expiry_days: type: integer title: Password Expiry Days default: 0 tags: items: type: string type: array title: Tags system_tags: items: type: string type: array title: System Tags last_update: anyOf: - type: string format: date-time - type: 'null' title: Last Update created: anyOf: - type: string format: date-time - type: 'null' title: Created sub_info: anyOf: - additionalProperties: true type: object - type: 'null' title: Sub Info type: object required: - id - name - subscription_level title: OrgResponse OrgRoleListMeta: properties: next_cursor: anyOf: - type: string - type: 'null' title: Next Cursor more: type: boolean title: More type: object required: - more title: OrgRoleListMeta OrgRoleListResponse: properties: meta: $ref: '#/components/schemas/OrgRoleListMeta' results: items: $ref: '#/components/schemas/OrgRoleResponse' type: array title: Results type: object required: - meta - results title: OrgRoleListResponse OrgRoleResponse: properties: id: type: string title: Id org_id: type: string title: Org Id description: type: string title: Description last_update: type: string format: date-time title: Last Update created: type: string format: date-time title: Created type: object required: - id - org_id - description - last_update - created title: OrgRoleResponse OrgSlowCallDaily: properties: day: type: string format: date title: Day project_id: type: string title: Project Id pass_count: type: integer title: Pass Count warn_count: type: integer title: Warn Count fail_count: type: integer title: Fail Count total: type: integer title: Total slow_counts: additionalProperties: type: integer type: object title: Slow Counts type: object required: - day - project_id - pass_count - warn_count - fail_count - total - slow_counts title: OrgSlowCallDaily OrgSlowCallMonthly: properties: month: type: string format: date title: Month project_id: type: string title: Project Id test_id: type: string title: Test Id pass_count: type: integer title: Pass Count warn_count: type: integer title: Warn Count fail_count: type: integer title: Fail Count total: type: integer title: Total url: type: string title: Url slow_counts: additionalProperties: type: integer type: object title: Slow Counts type: object required: - month - project_id - test_id - pass_count - warn_count - fail_count - total - url - slow_counts title: OrgSlowCallMonthly OrgSlowCallsDaily: properties: meta: $ref: '#/components/schemas/OrgSlowCallsMetadata' data: items: $ref: '#/components/schemas/OrgSlowCallDaily' type: array title: Data type: object required: - meta - data title: OrgSlowCallsDaily OrgSlowCallsMetadata: properties: report_type: type: string title: Report Type version: type: integer title: Version start_date: type: string format: date title: Start Date end_date: type: string format: date title: End Date created_at: type: string format: date-time title: Created At type: object required: - report_type - version - start_date - end_date - created_at title: OrgSlowCallsMetadata OrgSlowCallsMonthly: properties: meta: $ref: '#/components/schemas/OrgSlowCallsMetadata' data: items: $ref: '#/components/schemas/OrgSlowCallMonthly' type: array title: Data type: object required: - meta - data title: OrgSlowCallsMonthly OrgSynopsisInsights: properties: outlier_percent: type: number title: Outlier Percent default: 0 sd_test_length: type: number title: Sd Test Length default: 0 score: type: number title: Score default: 0 pass_percent: type: number title: Pass Percent default: 0 mean_test_length: type: number title: Mean Test Length default: 0 type: object title: OrgSynopsisInsights description: 'Per-project mean of each call''s insight metrics. Null on the enclosing synopsis when no included call reported a ``score``.' OrgSynopsisResponse: properties: kind: $ref: '#/components/schemas/SynopsisKind' description: The aggregation period the response was resolved to. period: type: string title: Period description: The period actually read. ``YYYY-MM-DD`` for DAY/WEEK/MONTH, or an ISO-8601 UTC timestamp for HOUR. latest: type: boolean title: Latest description: True when the requested period was at or after the newest generated one and was therefore clamped back to it. project_ids: items: type: string type: array title: Project Ids description: Every project visible to the caller in this org, sorted by id so the order is stable between requests. synopses: items: $ref: '#/components/schemas/ProjectRollupResponse' type: array title: Synopses description: One entry per visible project that has a synopsis blob for the period, in ``project_ids`` order. Projects with no blob are omitted. type: object required: - kind - period - latest - project_ids - synopses title: OrgSynopsisResponse OrgSynopsisResultCounts: properties: PASS: type: number title: Pass default: 0 SLOW: type: number title: Slow default: 0 WARNING: type: number title: Warning default: 0 FAIL: type: number title: Fail default: 0 total: type: number title: Total default: 0 type: object title: OrgSynopsisResultCounts description: Per-project sum of each call's pass/fail result counts. OrgSynopsisTimings: properties: count: type: number title: Count default: 0 handshake: type: number title: Handshake default: 0 process: type: number title: Process default: 0 upload: type: number title: Upload default: 0 tcp: type: number title: Tcp default: 0 dns: type: number title: Dns default: 0 download: type: number title: Download default: 0 total: type: number title: Total default: 0 cwv_count: type: number title: Cwv Count default: 0 first_contentful_paint: type: number title: First Contentful Paint default: 0 largest_contentful_paint: type: number title: Largest Contentful Paint default: 0 first_input_delay: type: number title: First Input Delay default: 0 cumulative_layout_shift: type: number title: Cumulative Layout Shift default: 0 type: object title: OrgSynopsisTimings description: 'Per-project sum of each call''s ``timings.overall`` metrics. Latency values are summed, not averaged — ``count`` is the divisor callers use to turn them into per-result means.' PagerDutyV2WebHookParameters: properties: integration_key: type: string title: Integration key description: The service integration key, with Integration Type:Generic API severity: type: string title: Severity description: One of critical, error, warning or info. default: error fails_in_a_row: type: string title: Only send alert after X failures in a row default: '0' type: object required: - integration_key title: PagerDutyV2WebHookParameters PagerDutyV2WebHookSpec: properties: enabled: type: boolean title: Enabled description: Whether the webhook fires when triggered alerts: items: $ref: '#/components/schemas/AlertCondition' type: array title: Alerts description: Alert conditions that trigger the webhook type: type: string const: pager_duty_v2 title: Type default: pager_duty_v2 parameters: $ref: '#/components/schemas/PagerDutyV2WebHookParameters' type: object required: - enabled - alerts - parameters title: PagerDutyV2WebHookSpec PagerDutyWebHookParameters: properties: integration_key: type: string title: Integration key description: The service integration key, with Integration Type:Generic API fails_in_a_row: type: string title: Only send alert after X failures in a row default: '0' type: object required: - integration_key title: PagerDutyWebHookParameters PagerDutyWebHookSpec: properties: enabled: type: boolean title: Enabled description: Whether the webhook fires when triggered alerts: items: $ref: '#/components/schemas/AlertCondition' type: array title: Alerts description: Alert conditions that trigger the webhook type: type: string const: pager_duty title: Type default: pager_duty parameters: $ref: '#/components/schemas/PagerDutyWebHookParameters' type: object required: - enabled - alerts - parameters title: PagerDutyWebHookSpec PassFailKind: type: string enum: - HOUR - DAY - MONTH - YEAR title: PassFailKind description: '``passfail`` / ``passfail_range`` (KIND_CLASS_MAP) — no WEEK.' PassFailRangeResponse: properties: meta: $ref: '#/components/schemas/_PassFailRangeMeta' results: additionalProperties: $ref: '#/components/schemas/_PassFailCounts' type: object title: Results type: object required: - meta - results title: PassFailRangeResponse PassFailResponse: properties: meta: $ref: '#/components/schemas/_PassFailMeta' stat: $ref: '#/components/schemas/_PassFailCounts' type: object required: - meta - stat title: PassFailResponse PassFailTotalResponse: properties: meta: $ref: '#/components/schemas/_PassFailTotalMeta' stat: additionalProperties: true type: object title: Stat type: object required: - meta - stat title: PassFailTotalResponse PostConditionsRequest: properties: conditions: items: $ref: '#/components/schemas/ConditionalModel' type: array title: Conditions meta: anyOf: - $ref: '#/components/schemas/ConditionsMeta' - type: 'null' type: object required: - conditions title: PostConditionsRequest PostProjectConditionsRequest: properties: conditions: items: $ref: '#/components/schemas/ConditionalModel' type: array title: Conditions description: The full set of conditionals; replaces any existing set. type: object required: - conditions title: PostProjectConditionsRequest ProjectAccessListMeta: properties: next_cursor: anyOf: - type: integer - type: string - type: 'null' title: Next Cursor more: type: boolean title: More project_id: anyOf: - type: string - type: 'null' title: Project Id type: object required: - next_cursor - more title: ProjectAccessListMeta ProjectAccessListResponse: properties: meta: $ref: '#/components/schemas/ProjectAccessListMeta' results: items: $ref: '#/components/schemas/api2__projects__proj_access__ProjectAccessResponse' type: array title: Results type: object required: - meta - results title: ProjectAccessListResponse examples: - meta: more: false results: - access_level: EDITOR account_email: user@example.com account_id: auth0|5f00000000000000000000aa created: '2026-06-25T10:13:37.546136Z' id: ahFkZXZ-YXBpbWV0cmljcy1xY3IVCxIOQWNjb3VudFByb2plY3QYq0IM last_update: '2026-06-25T10:13:37.597335Z' project: created: '2026-06-19T09:06:47.046143Z' id: ahFkZXZ-YXBpbWV0cmljcy1xY3ILCxIEVXNlchieQgw last_update: '2026-06-19T09:06:47.046170Z' name: Project 1 org_id: apicontext tags: [] ProjectCall: properties: day: type: string format: date title: Day test_id: type: string title: Test Id pass_count: type: integer title: Pass Count slow_count: type: integer title: Slow Count warn_count: type: integer title: Warn Count fail_count: type: integer title: Fail Count total: type: integer title: Total avg_server_time: type: number title: Avg Server Time sum_server_time: type: number title: Sum Server Time url: type: string title: Url type: object required: - day - test_id - pass_count - slow_count - warn_count - fail_count - total - avg_server_time - sum_server_time - url title: ProjectCall ProjectCallsMetadata: properties: report_type: type: string title: Report Type version: type: integer title: Version project_id: type: string title: Project Id month: type: string format: date title: Month created_at: type: string format: date-time title: Created At type: object required: - report_type - version - project_id - month - created_at title: ProjectCallsMetadata ProjectCallsMonthly: properties: meta: $ref: '#/components/schemas/ProjectCallsMetadata' data: items: $ref: '#/components/schemas/ProjectCall' type: array title: Data type: object required: - meta - data title: ProjectCallsMonthly ProjectConditionsMeta: properties: project_id: anyOf: - type: string - type: 'null' title: Project Id description: The project the conditions belong to. type: object title: ProjectConditionsMeta ProjectConditionsResponse: properties: conditions: items: $ref: '#/components/schemas/ConditionalModel' type: array title: Conditions meta: $ref: '#/components/schemas/ProjectConditionsMeta' type: object required: - conditions title: ProjectConditionsResponse ProjectInviteListMeta: properties: more: type: boolean title: More next_cursor: anyOf: - type: string - type: 'null' title: Next Cursor project_id: anyOf: - type: string - type: 'null' title: Project Id type: object required: - more title: ProjectInviteListMeta ProjectInviteListResponse: properties: meta: $ref: '#/components/schemas/ProjectInviteListMeta' results: items: $ref: '#/components/schemas/InviteResponse' type: array title: Results type: object required: - meta - results title: ProjectInviteListResponse ProjectListMeta: properties: next_cursor: anyOf: - type: integer - type: string - type: 'null' title: Next Cursor more: type: boolean title: More project_id: anyOf: - type: string - type: 'null' title: Project Id type: object required: - next_cursor - more title: ProjectListMeta ProjectListResponse: properties: meta: $ref: '#/components/schemas/ProjectListMeta' results: items: $ref: '#/components/schemas/ProjectResponse' type: array title: Results type: object required: - meta - results title: ProjectListResponse examples: - meta: more: true next_cursor: ClIKLgoI... results: - created: '2026-06-19T09:06:47.046143Z' id: ahFkZXZ-YXBpbWV0cmljcy1xY3ILCxIEVXNlchieQgw last_update: '2026-06-19T09:06:47.046170Z' name: Project 1 org_id: apicontext sub_info: counts: org_test_run_count: 0 public_report_count: 0 scheduled_test_count: 288 test_setup_count: 4 user_test_run_count: 0 month_progress: 0.814 quotas: public_report_quota: 10 test_run_quota: 1000000 test_setup_quota: 1000 sub: backend: azure level: CONTRACT name: Enterprise org_id: apicontext plan: enterprise tags: [] ProjectResponse: properties: id: type: string title: Id name: type: string title: Name org_id: type: string title: Org Id tags: items: type: string type: array title: Tags system_tags: items: type: string type: array title: System Tags last_update: anyOf: - type: string format: date-time - type: 'null' title: Last Update created: anyOf: - type: string format: date-time - type: 'null' title: Created security_profile: anyOf: - type: string - type: 'null' title: Security Profile email: anyOf: - type: string - type: 'null' title: Email sub_info: anyOf: - additionalProperties: true type: object - type: 'null' title: Sub Info type: object required: - id - name - org_id - tags - system_tags - last_update - created - security_profile title: ProjectResponse examples: - created: '2026-06-19T09:06:47.046143Z' id: ahFkZXZ-YXBpbWV0cmljcy1xY3ILCxIEVXNlchieQgw last_update: '2026-06-19T09:06:47.046170Z' name: Project 1 org_id: apicontext sub_info: counts: org_test_run_count: 0 public_report_count: 0 scheduled_test_count: 288 test_setup_count: 4 user_test_run_count: 0 month_progress: 0.814 quotas: public_report_quota: 10 test_run_quota: 1000000 test_setup_quota: 1000 sub: backend: azure level: CONTRACT name: Enterprise org_id: apicontext plan: enterprise tags: [] ProjectRoleListMeta: properties: next_cursor: anyOf: - type: integer - type: string - type: 'null' title: Next Cursor more: type: boolean title: More project_id: anyOf: - type: string - type: 'null' title: Project Id type: object required: - next_cursor - more title: ProjectRoleListMeta ProjectRoleListResponse: properties: meta: $ref: '#/components/schemas/ProjectRoleListMeta' results: items: $ref: '#/components/schemas/ProjectRoleResponse' type: array title: Results type: object required: - meta - results title: ProjectRoleListResponse examples: - meta: more: false results: - access_level: EDITOR created: '2026-06-25T10:13:37.546136Z' id: ahFkZXZ-YXBpbWV0cmljcy1xY3IVCxIOQWNjb3VudFByb2plY3QYq0IM last_update: '2026-06-25T10:13:37.597335Z' project: created: '2026-06-19T09:06:47.046143Z' id: ahFkZXZ-YXBpbWV0cmljcy1xY3ILCxIEVXNlchieQgw last_update: '2026-06-19T09:06:47.046170Z' name: Project 1 org_id: apicontext tags: [] role_id: SRE ProjectRoleResponse: properties: id: type: string title: Id role_id: type: string title: Role Id project: $ref: '#/components/schemas/ProjectResponse' access_level: type: string title: Access Level last_update: type: string format: date-time title: Last Update created: type: string format: date-time title: Created type: object required: - id - role_id - project - access_level - last_update - created title: ProjectRoleResponse examples: - access_level: EDITOR created: '2026-06-25T10:13:37.546136Z' id: ahFkZXZ-YXBpbWV0cmljcy1xY3IVCxIOQWNjb3VudFByb2plY3QYq0IM last_update: '2026-06-25T10:13:37.597335Z' project: created: '2026-06-19T09:06:47.046143Z' id: ahFkZXZ-YXBpbWV0cmljcy1xY3ILCxIEVXNlchieQgw last_update: '2026-06-19T09:06:47.046170Z' name: Project 1 org_id: apicontext tags: [] role_id: SRE ProjectRollupResponse: properties: project_id: type: string title: Project Id description: Urlsafe project key. domains: items: type: string type: array title: Domains description: De-duplicated domains of the included calls, sorted. timings: $ref: '#/components/schemas/OrgSynopsisTimings' result_counts: $ref: '#/components/schemas/OrgSynopsisResultCounts' insights: anyOf: - $ref: '#/components/schemas/OrgSynopsisInsights' - type: 'null' description: Mean insight metrics, or null when no call reported a score. slos: $ref: '#/components/schemas/ProjectSloResponse' description: The project's SLO — the stored one, or the unsaved defaults when none is stored. Its tags drive which calls the rollup includes. type: object required: - project_id - domains - timings - result_counts - insights - slos title: ProjectRollupResponse description: One project's rolled-up synopsis for the requested period. ProjectSloDeletedStatus: properties: status: type: string title: Status default: ok type: object title: ProjectSloDeletedStatus description: Rendered when DELETE finds no stored SLO (idempotent delete). ProjectSloResponse: properties: project_id: type: string title: Project Id objectives: items: $ref: '#/components/schemas/ServiceLevelObjectiveResponse' type: array title: Objectives thresholds: items: $ref: '#/components/schemas/ThresholdResponse' type: array title: Thresholds include_tags: items: type: string type: array title: Include Tags exclude_tags: items: type: string type: array title: Exclude Tags last_update: anyOf: - type: string format: date-time - type: 'null' title: Last Update created: anyOf: - type: string format: date-time - type: 'null' title: Created type: object required: - project_id - objectives - thresholds - include_tags - exclude_tags - last_update - created title: ProjectSloResponse examples: - created: '2026-06-25T10:13:37.546136Z' exclude_tags: - apimetrics:not_monitored include_tags: [] last_update: '2026-06-25T10:13:37.597335Z' objectives: - comparator: < measure: mean metric: dns period: MONTH unit: ms value: 100 project_id: ahFkZXZ-YXBpbWV0cmljcy1xY3ILCxIEVXNlchieQgw thresholds: - delta: 100 metric: latency period: MONTH unit: ms ProjectSuppliersRequestBody: properties: project_key_strs: items: type: string type: array title: Project Key Strs type: object required: - project_key_strs title: ProjectSuppliersRequestBody QuantileResponse: properties: columns: items: type: string type: array title: Columns index: items: items: {} type: array type: array title: Index data: items: items: type: number type: array type: array title: Data type: object required: - columns - index - data title: QuantileResponse description: pandas-``to_dict('split')``-style payload (columns / index / data). QuotaCounts: properties: user_test_run_count: type: integer title: User Test Run Count org_test_run_count: type: integer title: Org Test Run Count test_setup_count: type: integer title: Test Setup Count public_report_count: type: integer title: Public Report Count scheduled_test_count: type: integer title: Scheduled Test Count type: object required: - user_test_run_count - org_test_run_count - test_setup_count - public_report_count - scheduled_test_count title: QuotaCounts description: The current usage counts (``QuotaInfo.counts``). QuotaLimits: properties: test_run_quota: type: integer title: Test Run Quota test_setup_quota: type: integer title: Test Setup Quota public_report_quota: type: integer title: Public Report Quota type: object required: - test_run_quota - test_setup_quota - public_report_quota title: QuotaLimits description: The per-plan quota limits (``QuotaInfo.quotas``). Quotas: properties: test_run_quota: type: integer title: Test Run Quota test_setup_quota: type: integer title: Test Setup Quota public_report_quota: type: integer title: Public Report Quota type: object required: - test_run_quota - test_setup_quota - public_report_quota title: Quotas RankMeta: properties: user: anyOf: - type: string - type: 'null' title: User name: anyOf: - type: string - type: 'null' title: Name period: type: string title: Period start: anyOf: - type: string format: date - type: 'null' title: Start org: anyOf: - type: string - type: 'null' title: Org org_name: anyOf: - type: string - type: 'null' title: Org Name type: object required: - period title: RankMeta RankResponse: properties: meta: $ref: '#/components/schemas/RankMeta' results: items: $ref: '#/components/schemas/RankResult' type: array title: Results type: object required: - meta - results title: RankResponse RankResult: properties: id: type: string title: Id score: anyOf: - type: integer - type: 'null' title: Score results: items: prefixItems: - type: string format: date-time - anyOf: - type: integer - type: 'null' type: array maxItems: 2 minItems: 2 type: array title: Results filenames: items: type: string type: array title: Filenames most_recent: anyOf: - type: string format: date-time - type: 'null' title: Most Recent insights_id: anyOf: - type: string - type: 'null' title: Insights Id pass_percent: anyOf: - type: number - type: 'null' title: Pass Percent outlier_percent: anyOf: - type: number - type: 'null' title: Outlier Percent mean_test_length: anyOf: - type: number - type: 'null' title: Mean Test Length sd_test_length: anyOf: - type: number - type: 'null' title: Sd Test Length api_name: anyOf: - type: string - type: 'null' title: Api Name api_tags: items: type: string type: array title: Api Tags domain: anyOf: - type: string - type: 'null' title: Domain owner: anyOf: - type: string - type: 'null' title: Owner type: object required: - id title: RankResult description: 'A ranked monitor: its latest score plus a short ``results`` history of ``(period_start, score)`` points and the matching ``filenames``.' ReadAgentResponse: properties: id: type: string title: Id agent_type: type: string title: Agent Type display_name: type: string title: Display Name queue_name: type: string title: Queue Name config_key_suffix: type: string title: Config Key Suffix access_token: type: string title: Access Token owners: items: type: string type: array title: Owners cloud: anyOf: - type: string - type: 'null' title: Cloud meta: additionalProperties: true type: object title: Meta agent: additionalProperties: true type: object title: Agent user_name: anyOf: - type: string - type: 'null' title: User Name user_cloud: anyOf: - type: string - type: 'null' title: User Cloud user_city: anyOf: - type: string - type: 'null' title: User City user_region: anyOf: - type: string - type: 'null' title: User Region user_country: anyOf: - type: string - type: 'null' title: User Country user_continent: anyOf: - type: string - type: 'null' title: User Continent user_geography: anyOf: - type: string - type: 'null' title: User Geography type: object required: - id - agent_type - display_name - queue_name - config_key_suffix - access_token - owners - cloud - meta - agent title: ReadAgentResponse ReadIntegration: properties: id: type: string title: Id name: type: string title: Name provider: type: string title: Provider details: additionalProperties: type: string type: object title: Details created_by: type: string title: Created By created_at: type: string format: date-time title: Created At last_modified: type: string format: date-time title: Last Modified type: object required: - id - name - provider - details - created_by - created_at - last_modified title: ReadIntegration RecordCount: properties: record: type: string title: Record description: DNS record value (IP, hostname, etc.) count: type: integer title: Count description: Number of results in which this record was observed type: object required: - record - count title: RecordCount ReportAccessResponse: properties: public: type: boolean title: Public type: object required: - public title: ReportAccessResponse ReportCreateBody: properties: meta: $ref: '#/components/schemas/_ReportCreateMeta' access: anyOf: - $ref: '#/components/schemas/_ReportAccessBody' - type: 'null' groups: anyOf: - items: $ref: '#/components/schemas/_ReportGroupBody' type: array - type: 'null' title: Groups additionalProperties: false type: object required: - meta title: ReportCreateBody ReportGroupResponse: properties: name: type: string title: Name rows: items: $ref: '#/components/schemas/ReportRowResponse' type: array title: Rows default: [] type: object required: - name title: ReportGroupResponse ReportListMetaResponse: properties: next_cursor: anyOf: - type: string - type: 'null' title: Next Cursor more: type: boolean title: More project_id: type: string title: Project Id type: object required: - more - project_id title: ReportListMetaResponse ReportListResponse: properties: meta: $ref: '#/components/schemas/ReportListMetaResponse' results: items: $ref: '#/components/schemas/ReportResponse' type: array title: Results type: object required: - meta - results title: ReportListResponse ReportMetaResponse: properties: name: type: string title: Name description: anyOf: - type: string - type: 'null' title: Description tags: items: type: string type: array title: Tags default: [] created: anyOf: - type: string format: date-time - type: 'null' title: Created last_update: anyOf: - type: string format: date-time - type: 'null' title: Last Update owner: type: string title: Owner project_id: type: string title: Project Id branding: type: boolean title: Branding type: object required: - name - owner - project_id - branding title: ReportMetaResponse ReportResponse: properties: id: type: string title: Id meta: $ref: '#/components/schemas/ReportMetaResponse' access: $ref: '#/components/schemas/ReportAccessResponse' groups: items: $ref: '#/components/schemas/ReportGroupResponse' type: array title: Groups default: [] type: object required: - id - meta - access title: ReportResponse ReportRowResponse: properties: call_id: type: string title: Call Id location_id: type: string title: Location Id type: object required: - call_id - location_id title: ReportRowResponse ReportUpdateBody: properties: meta: anyOf: - $ref: '#/components/schemas/_ReportUpdateMeta' - type: 'null' access: anyOf: - $ref: '#/components/schemas/_ReportAccessBody' - type: 'null' groups: anyOf: - items: $ref: '#/components/schemas/_ReportGroupBody' type: array - type: 'null' title: Groups additionalProperties: false type: object title: ReportUpdateBody ResetPasswordBody: properties: email: anyOf: - type: string - type: 'null' title: Email description: Address to send the reset email to. Only honoured for site admins and admins of the project named in the ``Apimetrics-Project-Id`` header; otherwise the caller's own address is always used. type: object title: ResetPasswordBody examples: - email: colleague@example.com ResourceTypeBreakdown: properties: resource_type: type: string title: Resource Type description: Resource type as reported by the browser agent (e.g. script, stylesheet, image, font, fetch, xhr, document) avg_per_page: anyOf: - type: number - type: 'null' title: Avg Per Page description: Mean count of this resource type per page load avg_size_bytes_per_page: anyOf: - type: number - type: 'null' title: Avg Size Bytes Per Page description: Mean total encoded body size of this resource type per page (bytes) total_count: type: integer title: Total Count description: Total number of resources of this type observed across all pages default: 0 type: object required: - resource_type title: ResourceTypeBreakdown ResourcesMeta: properties: monitor_id: anyOf: - type: string - type: 'null' title: Monitor Id from: type: string format: date-time title: From to: type: string format: date-time title: To interval: anyOf: - type: string format: duration - type: 'null' title: Interval type: object required: - from - to title: ResourcesMeta ResourcesRequest: properties: from: type: string format: date-time title: From description: Window start (UTC ISO timestamp, inclusive) to: type: string format: date-time title: To description: Window end (UTC ISO timestamp, exclusive) interval: anyOf: - type: string format: duration - type: 'null' title: Interval description: Bucket size for the third-party time series (ISO 8601 duration, e.g. PT1H, PT15M). Omitted = third_party_timeseries is empty. type: object required: - from - to title: ResourcesRequest ResourcesResponse: properties: results: items: $ref: '#/components/schemas/ResourceTypeBreakdown' type: array title: Results description: Per-resource-type breakdown across pages in the window third_party_timeseries: items: $ref: '#/components/schemas/ThirdPartyBucket' type: array title: Third Party Timeseries description: First-vs-third-party load-time series bucketed by the requested interval. Empty when no `interval` is supplied. meta: $ref: '#/components/schemas/ResourcesMeta' type: object required: - results - meta title: ResourcesResponse ResultCategory: type: string enum: - PASS - SLOW - WARNING - FAIL title: ResultCategory ResultDetailMeta: properties: result: anyOf: - type: string - type: 'null' title: Result result_category: anyOf: - type: string - type: 'null' title: Result Category agent_type: anyOf: - type: string - type: 'null' title: Agent Type call_name: anyOf: - type: string - type: 'null' title: Call Name location_id: anyOf: - type: string - type: 'null' title: Location Id start_time: anyOf: - type: string - type: 'null' title: Start Time additionalProperties: true type: object title: ResultDetailMeta ResultDetailResponse: properties: id: anyOf: - type: string - type: 'null' title: Id meta: anyOf: - $ref: '#/components/schemas/ResultDetailMeta' - type: 'null' additionalProperties: true type: object title: ResultDetailResponse description: Full result detail as returned by to_api(). ResultListMeta: properties: next_cursor: anyOf: - type: string - type: 'null' title: Next Cursor more: type: boolean title: More next_cursor_before: anyOf: - type: string - type: 'null' title: Next Cursor Before project_id: type: string title: Project Id type: object required: - more - project_id title: ResultListMeta ResultListResponse: properties: meta: $ref: '#/components/schemas/ResultListMeta' results: items: $ref: '#/components/schemas/ResultSynopsisItem' type: array title: Results type: object required: - meta - results title: ResultListResponse description: Paginated list of result synopses. ResultSynopsisItem: properties: id: anyOf: - type: string - type: 'null' title: Id meta: $ref: '#/components/schemas/ResultSynopsisMeta' timing: anyOf: - $ref: '#/components/schemas/ResultSynopsisTiming' - type: 'null' type: object required: - meta title: ResultSynopsisItem ResultSynopsisMeta: properties: id: anyOf: - type: string - type: 'null' title: Id project_id: anyOf: - type: string - type: 'null' title: Project Id call_id: anyOf: - type: string - type: 'null' title: Call Id location_id: anyOf: - type: string - type: 'null' title: Location Id start_time: anyOf: - type: string - type: 'null' title: Start Time result_category: anyOf: - type: string - type: 'null' title: Result Category result: anyOf: - type: string - type: 'null' title: Result domain: anyOf: - type: string - type: 'null' title: Domain url: anyOf: - type: string - type: 'null' title: Url http_code: anyOf: - type: integer - type: 'null' title: Http Code source_ip: anyOf: - type: string - type: 'null' title: Source Ip dest_ip: anyOf: - type: string - type: 'null' title: Dest Ip target_location: anyOf: - additionalProperties: true type: object - type: 'null' title: Target Location request_size: anyOf: - type: number - type: 'null' title: Request Size response_size: anyOf: - type: number - type: 'null' title: Response Size agent_type: anyOf: - type: string - type: 'null' title: Agent Type is_hook: anyOf: - type: boolean - type: 'null' title: Is Hook is_retry: anyOf: - type: boolean - type: 'null' title: Is Retry additionalProperties: true type: object title: ResultSynopsisMeta ResultSynopsisTiming: properties: dns: anyOf: - type: number - type: 'null' title: Dns tcp: anyOf: - type: number - type: 'null' title: Tcp handshake: anyOf: - type: number - type: 'null' title: Handshake upload: anyOf: - type: number - type: 'null' title: Upload processing: anyOf: - type: number - type: 'null' title: Processing download: anyOf: - type: number - type: 'null' title: Download total: anyOf: - type: number - type: 'null' title: Total type: object title: ResultSynopsisTiming RotateSecretResponse: properties: client_secret: type: string title: Client Secret description: The newly rotated client secret. Shown only here. type: object required: - client_secret title: RotateSecretResponse RsaSignRequest: properties: alg: anyOf: - type: string - type: 'null' title: Alg description: RSA algorithm (e.g. 'rs256'); case-insensitive. key: anyOf: - type: string - type: 'null' title: Key description: PEM RSA private key. msg: anyOf: - type: string - type: 'null' title: Msg description: Message to sign. type: object title: RsaSignRequest description: Input for an RSA signature. Fields are optional; see ``HmacRequest``. examples: - alg: rs256 key: '-----BEGIN RSA PRIVATE KEY----- ...' msg: hello RsaSignResponse: properties: alg: type: string title: Alg signed: type: string title: Signed description: base64url-encoded signature. type: object required: - alg - signed title: RsaSignResponse RunMonitorRequest: properties: context: additionalProperties: type: string type: object title: Context default: {} location_id: type: string title: Location Id default: '' run_delay: type: integer title: Run Delay default: 0 type: object title: RunMonitorRequest ScheduleBodyResponse: properties: target_ids: items: type: string type: array title: Target Ids default: [] frequency: anyOf: - type: integer - type: 'null' title: Frequency worldwide: type: boolean title: Worldwide regions: items: type: string type: array title: Regions default: [] clouds: items: type: string type: array title: Clouds default: [] locations: items: type: string type: array title: Locations default: [] backoff_method: anyOf: - type: string - type: 'null' title: Backoff Method type: object required: - worldwide title: ScheduleBodyResponse ScheduleCreateBody: properties: meta: anyOf: - $ref: '#/components/schemas/_ScheduleBodyMeta' - type: 'null' schedule: anyOf: - $ref: '#/components/schemas/_ScheduleBodySchedule' - type: 'null' additionalProperties: false type: object title: ScheduleCreateBody ScheduleListMetaResponse: properties: next_cursor: anyOf: - type: string - type: 'null' title: Next Cursor more: type: boolean title: More project_id: type: string title: Project Id type: object required: - more - project_id title: ScheduleListMetaResponse ScheduleListResponse: properties: meta: $ref: '#/components/schemas/ScheduleListMetaResponse' results: items: $ref: '#/components/schemas/ScheduleResponse' type: array title: Results type: object required: - meta - results title: ScheduleListResponse ScheduleMetaResponse: properties: name: anyOf: - type: string - type: 'null' title: Name owner: type: string title: Owner tags: items: type: string type: array title: Tags default: [] created: anyOf: - type: string format: date-time - type: 'null' title: Created last_update: anyOf: - type: string format: date-time - type: 'null' title: Last Update type: object required: - owner title: ScheduleMetaResponse ScheduleResponse: properties: id: type: string title: Id meta: $ref: '#/components/schemas/ScheduleMetaResponse' schedule: $ref: '#/components/schemas/ScheduleBodyResponse' type: object required: - id - meta - schedule title: ScheduleResponse ScheduleUpdateBody: properties: meta: anyOf: - $ref: '#/components/schemas/_ScheduleBodyMeta' - type: 'null' schedule: anyOf: - $ref: '#/components/schemas/_ScheduleBodySchedule' - type: 'null' additionalProperties: false type: object title: ScheduleUpdateBody ServiceAccountCreateResponse: properties: id: type: string title: Id description: Unique identifier for the service account meta: $ref: '#/components/schemas/ServiceAccountMeta' service_account: $ref: '#/components/schemas/ServiceAccountSpec' client_secret: type: string title: Client Secret description: Client secret for the client_credentials flow. Returned only on creation and rotation; never stored or shown again. type: object required: - id - meta - service_account - client_secret title: ServiceAccountCreateResponse ServiceAccountListMeta: properties: org_id: type: string title: Org Id description: Organization the accounts belong to next_cursor: anyOf: - type: string - type: 'null' title: Next Cursor description: Cursor to retrieve the next page, or null on the last page more: type: boolean title: More description: True if there are further pages beyond this response type: object required: - org_id - next_cursor - more title: ServiceAccountListMeta ServiceAccountListResponse: properties: results: items: $ref: '#/components/schemas/ServiceAccountResponse' type: array title: Results meta: $ref: '#/components/schemas/ServiceAccountListMeta' type: object required: - results - meta title: ServiceAccountListResponse ServiceAccountMeta: properties: name: type: string title: Name description: Display name of the service account org_id: type: string title: Org Id description: Organization the account belongs to owner: type: string title: Owner description: ID of the organization that owns it account_id: type: string title: Account Id description: Stable account id (the backing virtual user id) created_by: anyOf: - type: string - type: 'null' title: Created By description: Account id that created the service account created: type: string format: date-time title: Created description: When the account was created last_update: type: string format: date-time title: Last Update description: When the account was most recently modified type: object required: - name - org_id - owner - account_id - created_by - created - last_update title: ServiceAccountMeta ServiceAccountResponse: properties: id: type: string title: Id description: Unique identifier for the service account meta: $ref: '#/components/schemas/ServiceAccountMeta' service_account: $ref: '#/components/schemas/ServiceAccountSpec' type: object required: - id - meta - service_account title: ServiceAccountResponse ServiceAccountSpec: properties: auth0_client_id: type: string title: Auth0 Client Id description: Auth0 machine-to-machine client id used for client_credentials roles: items: type: string type: array title: Roles description: Organization roles granted to the service account type: object required: - auth0_client_id - roles title: ServiceAccountSpec ServiceLevelObjectiveBody: properties: metric: $ref: '#/components/schemas/METRICS' description: The metric to measure. measure: $ref: '#/components/schemas/MEASURES' description: The measure to use. comparator: $ref: '#/components/schemas/COMPARATORS' description: '''>'' for pass/availability/casc/apdex, ''<'' otherwise.' value: type: number maximum: 120000.0 minimum: 0.0 title: Value description: The target value. unit: $ref: '#/components/schemas/UNITS' description: '''ms'' for latency metrics, ''percent'' for grade metrics, ''value'' for computed metrics.' period: $ref: '#/components/schemas/SloPeriod' description: The evaluation period. description: anyOf: - type: string - type: 'null' title: Description description: Optional free-text description of the objective. type: object required: - metric - measure - comparator - value - unit - period title: ServiceLevelObjectiveBody examples: - comparator: < measure: mean metric: dns period: MONTH unit: ms value: 100 ServiceLevelObjectiveResponse: properties: metric: type: string title: Metric measure: type: string title: Measure comparator: type: string title: Comparator value: type: number title: Value unit: type: string title: Unit period: type: string title: Period description: anyOf: - type: string - type: 'null' title: Description type: object required: - metric - measure - comparator - value - unit - period title: ServiceLevelObjectiveResponse SessionRow: properties: monitor_id: anyOf: - type: string - type: 'null' title: Monitor Id description: ID of the monitor this session belongs to. Populated on both per-monitor and project-wide queries so callers can attribute rows back to a monitor. result_id: type: string title: Result Id timestamp: type: string format: date-time title: Timestamp description: UTC Timestamp of the page test location_id: type: string title: Location Id browser: anyOf: - type: string - type: 'null' title: Browser url: anyOf: - type: string - type: 'null' title: Url result_category: anyOf: - $ref: '#/components/schemas/ResultCategory' - type: 'null' metrics: additionalProperties: anyOf: - type: number - type: 'null' propertyNames: $ref: '#/components/schemas/api3__monitors__browser__stats__api_models__Metric' type: object title: Metrics description: 'Per-metric value for this individual result (e.g. {lcp: 4500, fcp: 2100, cls: 0.14})' type: object required: - result_id - timestamp - location_id title: SessionRow SessionsMeta: properties: monitor_id: anyOf: - type: string - type: 'null' title: Monitor Id from: type: string format: date-time title: From to: type: string format: date-time title: To sort_by: type: string title: Sort By order: type: string title: Order limit: type: integer title: Limit type: object required: - from - to - sort_by - order - limit title: SessionsMeta SessionsRequest: properties: from: type: string format: date-time title: From description: Window start (UTC ISO timestamp, inclusive) to: type: string format: date-time title: To description: Window end (UTC ISO timestamp, exclusive) sort_by: $ref: '#/components/schemas/SessionsSortBy' description: Metric to sort by. default: lcp order: $ref: '#/components/schemas/SortOrder' description: Sort order. default: desc limit: type: integer maximum: 200.0 minimum: 1.0 title: Limit description: Maximum rows to return. default: 10 type: object required: - from - to title: SessionsRequest SessionsResponse: properties: results: items: $ref: '#/components/schemas/SessionRow' type: array title: Results meta: $ref: '#/components/schemas/SessionsMeta' type: object required: - results - meta title: SessionsResponse SessionsSortBy: type: string enum: - lcp - fcp - cls - fid - ttfb - total - dns - tcp - tls - resources_count - page_weight - timestamp title: SessionsSortBy SetTagsResponse: properties: status: type: string title: Status updates: items: type: string type: array title: Updates type: object required: - status - updates title: SetTagsResponse SetVariableRequest: properties: value: title: Value description: The new value for the variable. Coerced and validated against the catalog's configured type / range / choice. additionalProperties: false type: object required: - value title: SetVariableRequest SlackWebHookParameters: properties: url: type: string title: URL description: 'This the web hook url to post result data, set in slack integration incoming WebHooks url looks like: https://hooks.slack.com/services/REDACTED' channel: type: string title: Channel description: Integration chanel name if different from the defined in slack integration default: '' fails_in_a_row: type: string title: Only send alert after X failures in a row default: '0' type: object required: - url title: SlackWebHookParameters SlackWebHookSpec: properties: enabled: type: boolean title: Enabled description: Whether the webhook fires when triggered alerts: items: $ref: '#/components/schemas/AlertCondition' type: array title: Alerts description: Alert conditions that trigger the webhook type: type: string const: slack title: Type default: slack parameters: $ref: '#/components/schemas/SlackWebHookParameters' type: object required: - enabled - alerts - parameters title: SlackWebHookSpec SloPeriod: type: string enum: - DAY - WEEK - MONTH title: SloPeriod description: 'The evaluation periods the /api/2 project SLO accepts. ``models.project_slo.PERIODS`` also defines sub-day periods for the newer SLO configurations; ``ProjectSLO`` only supports these three.' SortOrder: type: string enum: - asc - desc title: SortOrder StatListResponse: properties: meta: $ref: '#/components/schemas/_StatListMeta' stats: items: $ref: '#/components/schemas/_StatItem' type: array title: Stats type: object required: - meta - stats title: StatListResponse StatResponse: properties: meta: $ref: '#/components/schemas/_StatMeta' stat: anyOf: - $ref: '#/components/schemas/_StatValues' - type: 'null' adv_stat: anyOf: - $ref: '#/components/schemas/_StatValues' - type: 'null' type: object required: - meta title: StatResponse StatsCategory: type: string enum: - PASS - SLOW - WARNING - FAIL title: StatsCategory description: Result category filter for the quantile ``metrics/`` endpoint. StatsKind: type: string enum: - HOUR - DAY - WEEK - MONTH - YEAR title: StatsKind description: Aggregation period for ``stats/`` and ``metrics/`` (StatsApiHandler.VALID_KINDS). StatsMetric: type: string enum: - namelookup_time - time_to_connect - time_to_handshake - time_to_tx_request - time_to_first_byte - time_to_response - total_time - total_time_no_dns - server_time - starttransfer_time - starttransfer_time_no_dns - network_time - network_time_no_dns - time_to_last_byte title: StatsMetric StatsType: type: string enum: - ALL - UNABLE_TO_RUN - STARTED - ENDED - QUEUED - PROCESSING - SKIPPED - AGENT_ERROR - CONNECTION_WARNING - HTTP_REDIRECT_ERROR - HTTP_CLIENT_ERROR - CONTENT_WARNING - SLA_WARNING - HTTP_SERVER_ERROR - CONNECTION_ERROR - HEADER_ERROR - CONTENT_ERROR - SLA_ERROR - COMPLETE - SLOW_COMPLETE title: StatsType StatusResponse: properties: status: type: string title: Status type: object required: - status title: StatusResponse StatuspageWebHookParameters: properties: page_id: type: string title: Page ID description: The page id for StatusPage api_key: type: string title: API key description: The StatusPage API key component_id: type: string title: Component ID description: The StatusPage Component ID fails_in_a_row: type: string title: Only send alert after X failures in a row default: '0' type: object required: - page_id - api_key - component_id title: StatuspageWebHookParameters StatuspageWebHookSpec: properties: enabled: type: boolean title: Enabled description: Whether the webhook fires when triggered alerts: items: $ref: '#/components/schemas/AlertCondition' type: array title: Alerts description: Alert conditions that trigger the webhook type: type: string const: statuspage title: Type default: statuspage parameters: $ref: '#/components/schemas/StatuspageWebHookParameters' type: object required: - enabled - alerts - parameters title: StatuspageWebHookSpec StoredVariableResponse: properties: id: type: string title: Id meta: $ref: '#/components/schemas/_VariableMeta' setting_variable: $ref: '#/components/schemas/_StoredVariablePayload' type: object required: - id - meta - setting_variable title: StoredVariableResponse description: 'The response from ``POST //`` -- the persisted entity in its ``convert_datastore_to_api`` form.' SubDetail: properties: level: type: string title: Level name: type: string title: Name plan: type: string title: Plan start: anyOf: - type: string - type: 'null' title: Start end: anyOf: - type: string - type: 'null' title: End state: anyOf: - type: string - type: 'null' title: State org_id: anyOf: - type: string - type: 'null' title: Org Id backend: anyOf: - type: string - type: 'null' title: Backend type: object required: - level - name - plan title: SubDetail description: The subscription summary (``QuotaInfo.sub``). SubscribeRequest: properties: options: items: type: string enum: - daily - weekly - monthly type: array title: Options description: Which digest cadences to subscribe to. additionalProperties: false type: object title: SubscribeRequest description: 'Body for ``POST/PUT /api/2/project-subscriptions/``. Options default to all three digest levels if the caller omits the field, matching Py2''s ``options = self.request_body.get("options", VALID_OPTIONS)``.' examples: - options: - daily - weekly SubscriptionListResponse: properties: meta: $ref: '#/components/schemas/api2__project_subscriptions__subscriptions___ListMeta' results: items: $ref: '#/components/schemas/SubscriptionResponse' type: array title: Results type: object required: - meta - results title: SubscriptionListResponse SubscriptionResponse: properties: id: type: string title: Id project_id: type: string title: Project Id account_id: type: string title: Account Id options: items: type: string type: array title: Options created: anyOf: - type: string format: date-time - type: 'null' title: Created last_update: anyOf: - type: string format: date-time - type: 'null' title: Last Update type: object required: - id - project_id - account_id - options title: SubscriptionResponse description: 'One row of ``ProjectEmailSubscription``, matching Py2''s ``convert_datastore_to_api`` output.' SynopsisKind: type: string enum: - HOUR - DAY - WEEK - MONTH title: SynopsisKind description: 'The aggregation periods a synopsis blob is generated for. Legacy read ``kind`` as a free string, upper-cased it and looked it up in a dict with a ``daily`` default, so ``day``/``DAY`` were equivalent and an unrecognised value quietly yielded daily data. ``_missing_`` reproduces both of those, which keeps the coercion identical while still publishing the four supported values in the OpenAPI spec.' THRESHOLDS: type: string enum: - grade - latency title: THRESHOLDS TagProjectError: properties: message: type: string title: Message ruleId: type: string title: Ruleid severity: type: string title: Severity location: anyOf: - type: string - type: 'null' title: Location instances: type: integer title: Instances type: object required: - message - ruleId - severity - instances title: TagProjectError TagProjectMatch: prefixItems: - type: string title: Call Id - type: string title: Method - type: string title: Path - anyOf: - type: string - type: 'null' title: File Id type: array maxItems: 4 minItems: 3 TagProjectResponse: properties: status: type: string title: Status message: anyOf: - type: string - type: 'null' title: Message updated: items: type: string type: array title: Updated matched: items: $ref: '#/components/schemas/TagProjectMatch' type: array title: Matched openapi_files: additionalProperties: $ref: '#/components/schemas/OpenApiFileInfo' type: object title: Openapi Files type: object required: - status - updated - matched - openapi_files title: TagProjectResponse TestSetup2Repr: properties: meta: $ref: '#/components/schemas/models__call___MetaRepr' request: $ref: '#/components/schemas/_RequestRepr' id: type: string title: Id type: object required: - meta - request - id title: TestSetup2Repr ThirdPartyBucket: properties: interval_start: type: string title: Interval Start description: UTC ISO timestamp of the bucket start first_party_avg_ms: anyOf: - type: number - type: 'null' title: First Party Avg Ms description: Mean total time per page spent loading first-party resources third_party_avg_ms: anyOf: - type: number - type: 'null' title: Third Party Avg Ms description: Mean total time per page spent loading third-party resources first_party_avg_count: anyOf: - type: number - type: 'null' title: First Party Avg Count description: Mean count of first-party resources per page in this bucket third_party_avg_count: anyOf: - type: number - type: 'null' title: Third Party Avg Count description: Mean count of third-party resources per page in this bucket type: object required: - interval_start title: ThirdPartyBucket ThresholdBody: properties: metric: $ref: '#/components/schemas/THRESHOLDS' description: The threshold kind. delta: type: number minimum: 0.0 title: Delta description: The allowed change. unit: $ref: '#/components/schemas/UNITS' description: '''pp'' for grade thresholds; ''percent'' or ''ms'' for latency.' period: $ref: '#/components/schemas/SloPeriod' description: The evaluation period. description: anyOf: - type: string - type: 'null' title: Description description: Optional free-text description of the threshold. type: object required: - metric - delta - unit - period title: ThresholdBody examples: - delta: 100 metric: latency period: MONTH unit: ms ThresholdResponse: properties: metric: type: string title: Metric delta: type: number title: Delta unit: type: string title: Unit period: type: string title: Period description: anyOf: - type: string - type: 'null' title: Description type: object required: - metric - delta - unit - period title: ThresholdResponse TokenData: properties: expire_time: anyOf: - type: string format: date-time - type: 'null' title: Expire Time expired: type: boolean title: Expired default: false additionalProperties: true type: object title: TokenData TokenDataInput: properties: expire_time: anyOf: - type: string - type: 'null' title: Expire Time additionalProperties: true type: object title: TokenDataInput TokenListMeta: properties: next_cursor: anyOf: - type: string - type: 'null' title: Next Cursor more: type: boolean title: More default: false project_id: type: string title: Project Id type: object required: - project_id title: TokenListMeta TokenListResponse: properties: meta: $ref: '#/components/schemas/TokenListMeta' results: items: $ref: '#/components/schemas/TokenResponse' type: array title: Results type: object required: - meta - results title: TokenListResponse TokenMeta: properties: name: anyOf: - type: string - type: 'null' title: Name domain: anyOf: - type: string - type: 'null' title: Domain auth_id: anyOf: - type: string - type: 'null' title: Auth Id tags: items: type: string type: array title: Tags auth_type: anyOf: - type: string - type: 'null' title: Auth Type created: anyOf: - type: string format: date-time - type: 'null' title: Created last_update: anyOf: - type: string format: date-time - type: 'null' title: Last Update owner: anyOf: - type: string - type: 'null' title: Owner type: object title: TokenMeta TokenMetaInput: properties: name: anyOf: - type: string - type: 'null' title: Name description: Display name for the token auth_id: anyOf: - type: string - type: 'null' title: Auth Id description: Key of the owning auth setting (ServiceConfig) to bind to tags: anyOf: - items: type: string type: array - type: 'null' title: Tags domain: anyOf: - type: string - type: 'null' title: Domain description: Plain hostname the token applies to, e.g. api.example.com type: object title: TokenMetaInput TokenResponse: properties: id: type: string title: Id meta: $ref: '#/components/schemas/TokenMeta' token: $ref: '#/components/schemas/TokenData' additionalProperties: true type: object required: - id - meta - token title: TokenResponse UNITS: type: string enum: - ms - percent - pp - value title: UNITS x-enum-descriptions: ms: Duration in milliseconds percent: Absolute percentage value, e.g. availability > 0.995 pp: Percentage points — the arithmetic difference between two percentages. Only valid for grade thresholds. value: Dimensionless numeric value UpdateAccountBody: properties: given_name: anyOf: - type: string - type: 'null' title: Given Name family_name: anyOf: - type: string - type: 'null' title: Family Name name: anyOf: - type: string - type: 'null' title: Name nickname: anyOf: - type: string - type: 'null' title: Nickname picture: anyOf: - type: string - type: 'null' title: Picture use_mfa: anyOf: - type: boolean - type: 'null' title: Use Mfa fav_orgs: anyOf: - items: type: string type: array - type: 'null' title: Fav Orgs fav_projects: anyOf: - items: type: string type: array - type: 'null' title: Fav Projects type: object title: UpdateAccountBody UpdateAgentRequest: properties: agent: $ref: '#/components/schemas/_UpdateAgentBody' additionalProperties: false type: object required: - agent title: UpdateAgentRequest UpdateAuthConfigRequest: properties: meta: anyOf: - $ref: '#/components/schemas/AuthConfigMetaInput' - type: 'null' settings: anyOf: - $ref: '#/components/schemas/AuthConfigSettingsInput' - type: 'null' keys: anyOf: - $ref: '#/components/schemas/AuthConfigKeysInput' - type: 'null' type: object title: UpdateAuthConfigRequest UpdateCurrentProjectBody: properties: name: anyOf: - type: string maxLength: 400 minLength: 1 - type: 'null' title: Name description: Display name. tags: anyOf: - items: type: string type: array - type: 'null' title: Tags description: Replaces the whole tag list. type: object title: UpdateCurrentProjectBody examples: - name: Renamed Project tags: - production UpdateHookRequest: properties: name: anyOf: - type: string maxLength: 400 - type: 'null' title: Name description: anyOf: - type: string maxLength: 1000 - type: 'null' title: Description tags: anyOf: - items: type: string type: array - type: 'null' title: Tags save_timestamp: anyOf: - type: boolean - type: 'null' title: Save Timestamp variables: anyOf: - additionalProperties: type: string type: object - type: 'null' title: Variables additionalProperties: false type: object title: UpdateHookRequest UpdateIntegration: properties: name: type: string title: Name details: additionalProperties: type: string type: object title: Details type: object required: - name - details title: UpdateIntegration UpdateNotificationBody: properties: viewed: anyOf: - type: boolean - type: 'null' title: Viewed description: Mark the notification read (true) or unread (false). type: object title: UpdateNotificationBody UpdateOrgBody: properties: name: anyOf: - type: string - type: 'null' title: Name tags: anyOf: - items: type: string type: array - type: 'null' title: Tags enforce_2fa: anyOf: - type: boolean - type: 'null' title: Enforce 2Fa kms_enabled: anyOf: - type: boolean - type: 'null' title: Kms Enabled password_expiry_days: anyOf: - type: integer - type: 'null' title: Password Expiry Days type: object title: UpdateOrgBody UpdateProjectAccessBody: properties: account_id: anyOf: - type: string - type: 'null' title: Account Id email: anyOf: - type: string - type: 'null' title: Email access_level: anyOf: - type: string - type: 'null' title: Access Level type: object title: UpdateProjectAccessBody examples: - access_level: OWNER UpdateProjectBody: properties: name: anyOf: - type: string - type: 'null' title: Name tags: anyOf: - items: type: string type: array - type: 'null' title: Tags email: anyOf: - type: string - type: 'null' title: Email security_profile: anyOf: - type: string - type: 'null' title: Security Profile type: object title: UpdateProjectBody examples: - name: Renamed Project tags: - production UpdateProjectRoleBody: properties: role_id: anyOf: - type: string - type: 'null' title: Role Id access_level: anyOf: - type: string - type: 'null' title: Access Level account_id: anyOf: - type: string - type: 'null' title: Account Id org_id: anyOf: - type: string - type: 'null' title: Org Id type: object title: UpdateProjectRoleBody examples: - access_level: OWNER role_id: MANAGER UpdateProjectSloBody: properties: objectives: anyOf: - items: $ref: '#/components/schemas/ServiceLevelObjectiveBody' type: array - type: 'null' title: Objectives description: Replaces the whole objective list. thresholds: anyOf: - items: $ref: '#/components/schemas/ThresholdBody' type: array - type: 'null' title: Thresholds description: Replaces the whole threshold list. include_tags: anyOf: - items: type: string type: array - type: 'null' title: Include Tags description: Only calls carrying one of these tags are evaluated. exclude_tags: anyOf: - items: type: string type: array - type: 'null' title: Exclude Tags description: Calls carrying any of these tags are skipped. type: object title: UpdateProjectSloBody examples: - exclude_tags: [] include_tags: [] objectives: - comparator: < measure: mean metric: dns period: MONTH unit: ms value: 100 thresholds: - delta: 100 metric: latency period: MONTH unit: ms UpdateRequestMeta: properties: name: anyOf: - type: string - type: 'null' title: Name description: Display name for the monitor description: anyOf: - type: string - type: 'null' title: Description description: Optional description for the monitor tags: anyOf: - items: type: string type: array - type: 'null' title: Tags description: Tags to apply to the monitor for grouping or advanced features workspace: anyOf: - type: string - type: 'null' title: Workspace description: Workspace to assign the monitor to type: object title: UpdateRequestMeta UpdateRequestSetup: properties: url: anyOf: - type: string - type: 'null' title: Url description: Target URL for the monitor browser_types: anyOf: - items: type: string enum: - chromium - firefox - webkit - camoufox type: array - type: 'null' title: Browser Types description: Browsers which the monitor is permitted to run on user_agent: anyOf: - type: string - type: 'null' title: User Agent description: User-Agent header value for the monitor type: object title: UpdateRequestSetup UpdateRolesBody: properties: roles: items: type: string type: array title: Roles description: Organization roles to grant the service account, replacing any current roles type: object required: - roles title: UpdateRolesBody UpdateTokenRequest: properties: meta: anyOf: - $ref: '#/components/schemas/TokenMetaInput' - type: 'null' token: anyOf: - $ref: '#/components/schemas/TokenDataInput' - type: 'null' type: object title: UpdateTokenRequest UpdateUserBody: properties: is_admin: anyOf: - type: boolean - type: 'null' title: Is Admin type: object title: UpdateUserBody UpdateVariableBody: properties: value: anyOf: - type: string - type: 'null' title: Value type: object title: UpdateVariableBody examples: - value: new-secret-value UpdateWebHookBody: properties: type: anyOf: - $ref: '#/components/schemas/WebHookType' - type: 'null' enabled: anyOf: - type: boolean - type: 'null' title: Enabled alerts: anyOf: - items: $ref: '#/components/schemas/AlertCondition' type: array - type: 'null' title: Alerts parameters: anyOf: - additionalProperties: type: string type: object - type: 'null' title: Parameters type: object title: UpdateWebHookBody UpdateWebHookMeta: properties: name: anyOf: - type: string maxLength: 400 minLength: 1 - type: 'null' title: Name tags: anyOf: - items: type: string type: array - type: 'null' title: Tags include_tags: anyOf: - items: type: string type: array - type: 'null' title: Include Tags exclude_tags: anyOf: - items: type: string type: array - type: 'null' title: Exclude Tags type: object title: UpdateWebHookMeta UpdateWebHookRequest: properties: meta: $ref: '#/components/schemas/UpdateWebHookMeta' webhook: $ref: '#/components/schemas/UpdateWebHookBody' type: object title: UpdateWebHookRequest UpdateWorkspaceBody: properties: title: anyOf: - type: string - type: 'null' title: Title type: object title: UpdateWorkspaceBody examples: - title: Staging Environment UploadFileResponse: properties: id: type: string title: Id meta: additionalProperties: true type: object title: Meta tagger_status: type: string title: Tagger Status parse_info: anyOf: - additionalProperties: true type: object - type: 'null' title: Parse Info type: object required: - id - meta - tagger_status - parse_info title: UploadFileResponse UploadUrl: properties: url: type: string title: Url type: object required: - url title: UploadUrl Usage: properties: project_test_run_usage: type: integer title: Project Test Run Usage org_test_run_usage: type: integer title: Org Test Run Usage test_setup_count: type: integer title: Test Setup Count public_report_count: type: integer title: Public Report Count scheduled_test_count: type: integer title: Scheduled Test Count type: object required: - project_test_run_usage - org_test_run_usage - test_setup_count - public_report_count - scheduled_test_count title: Usage UsageCountsResponse: properties: org_id: type: string title: Org Id project_id: anyOf: - type: string - type: 'null' title: Project Id months: items: $ref: '#/components/schemas/MonthlyResultCounts' type: array title: Months type: object required: - org_id - project_id - months title: UsageCountsResponse UsageWeights: properties: api: type: integer title: Api default: 1 browser: type: integer title: Browser default: 50 mcp: type: integer title: Mcp default: 1 type: object title: UsageWeights UserResponse: properties: id: anyOf: - type: string - type: 'null' title: Id username: anyOf: - type: string - type: 'null' title: Username name: anyOf: - type: string - type: 'null' title: Name last_name: anyOf: - type: string - type: 'null' title: Last Name email: anyOf: - type: string - type: 'null' title: Email country: anyOf: - type: string - type: 'null' title: Country activated: type: boolean title: Activated default: false tags: items: type: string type: array title: Tags system_tags: items: type: string type: array title: System Tags is_site_admin: type: boolean title: Is Site Admin default: false is_admin: type: boolean title: Is Admin default: false organization: type: string title: Organization default: public phonenumber: anyOf: - type: string - type: 'null' title: Phonenumber subscription_level: anyOf: - type: string - type: 'null' title: Subscription Level api_auth_key: anyOf: - type: string - type: 'null' title: Api Auth Key terms_accepted: type: integer title: Terms Accepted default: 0 authy_id: anyOf: - type: string - type: 'null' title: Authy Id test_run_quota: type: integer title: Test Run Quota default: 0 test_run_monthly_quota: type: integer title: Test Run Monthly Quota default: 0 test_setup_count: type: integer title: Test Setup Count default: 0 test_setup_quota: type: integer title: Test Setup Quota default: 0 public_report_count: type: integer title: Public Report Count default: 0 public_report_quota: type: integer title: Public Report Quota default: 0 scheduled_test_count: type: integer title: Scheduled Test Count default: 0 override_trial_expiry_date: anyOf: - type: string format: date-time - type: 'null' title: Override Trial Expiry Date created: anyOf: - type: string format: date-time - type: 'null' title: Created updated: anyOf: - type: string format: date-time - type: 'null' title: Updated security_profile: anyOf: - type: string - type: 'null' title: Security Profile type: object title: UserResponse ValidateError: properties: keyword: type: string title: Keyword schemaPath: type: string title: Schemapath params: additionalProperties: true type: object title: Params message: type: string title: Message instancePaths: items: type: string type: array title: Instancepaths additionalProperties: true type: object required: - keyword - schemaPath - message title: ValidateError description: 'A single schema-validation failure, as produced by the ajv-backed schema-validator function.' ValidateResponse: properties: message: type: string title: Message valid: type: boolean title: Valid default: false errors: items: $ref: '#/components/schemas/ValidateError' type: array title: Errors type: object required: - message title: ValidateResponse ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type input: title: Input ctx: type: object title: Context type: object required: - loc - msg - type title: ValidationError VariableEntry: properties: id: type: string title: Id type: type: string title: Type title: type: string title: Title description: type: string title: Description default_value: title: Default Value enabled: type: boolean title: Enabled value: title: Value additionalProperties: true type: object required: - id - type - title - description - default_value - enabled title: VariableEntry description: 'A single variable''s static config plus its current value. The current value is either the persisted override or the config''s ``default_value``. Fields mirror ``_USER_SETTINGS_CONFIG`` variable dicts exactly for byte-compat with existing consumers.' VariableFields: properties: name: type: string title: Name value: type: string title: Value type: object required: - name - value title: VariableFields VariableListMeta: properties: next_cursor: anyOf: - type: string - type: 'null' title: Next Cursor more: type: boolean title: More project_id: anyOf: - type: string - type: 'null' title: Project Id type: object required: - more title: VariableListMeta VariableListResponse: properties: meta: $ref: '#/components/schemas/VariableListMeta' results: items: $ref: '#/components/schemas/VariableResponse' type: array title: Results type: object required: - meta - results title: VariableListResponse VariableMeta: properties: created: anyOf: - type: string format: date-time - type: 'null' title: Created last_update: anyOf: - type: string format: date-time - type: 'null' title: Last Update user: type: string title: User workspace: anyOf: - type: string - type: 'null' title: Workspace type: object required: - user title: VariableMeta VariableResponse: properties: id: type: string title: Id meta: $ref: '#/components/schemas/VariableMeta' workspace_variable: $ref: '#/components/schemas/VariableFields' type: object required: - id - meta - workspace_variable title: VariableResponse examples: - id: ahFkZXZ-YXBpbWV0cmljcy1xY3IqCxIEVXNlchieQgwLEhZVc2VyRW52aXJvbm1lbnRXb3Jrc3BhY2Ui... meta: created: '2026-06-19T09:06:47.046143Z' last_update: '2026-06-19T09:06:47.046170Z' user: ahFkZXZ-YXBpbWV0cmljcy1xY3ILCxIEVXNlchieQgw workspace: staging workspace_variable: name: API_KEY value: secret-value VictoropsWebHookParameters: properties: api_key: type: string title: API key description: The API key generated in Victor Ops when configuringan Integration as a REST Endpoint. routing_key: type: string title: Routing key description: Optional routing key to route the alerts. default: $routing_key fails_in_a_row: type: string title: Only send alert after X failures in a row default: '0' type: object required: - api_key title: VictoropsWebHookParameters VictoropsWebHookSpec: properties: enabled: type: boolean title: Enabled description: Whether the webhook fires when triggered alerts: items: $ref: '#/components/schemas/AlertCondition' type: array title: Alerts description: Alert conditions that trigger the webhook type: type: string const: victorops title: Type default: victorops parameters: $ref: '#/components/schemas/VictoropsWebHookParameters' type: object required: - enabled - alerts - parameters title: VictoropsWebHookSpec WebHookBody: properties: type: type: string title: Type enabled: type: boolean title: Enabled alerts: items: type: string type: array title: Alerts parameters: additionalProperties: type: string type: object title: Parameters type: object required: - type - enabled - alerts - parameters title: WebHookBody WebHookListMeta: properties: next_cursor: anyOf: - type: string - type: 'null' title: Next Cursor more: type: boolean title: More default: false type: object title: WebHookListMeta WebHookListResponse: properties: meta: $ref: '#/components/schemas/WebHookListMeta' results: items: $ref: '#/components/schemas/WebHookResponse' type: array title: Results type: object required: - meta - results title: WebHookListResponse WebHookMeta: properties: owner: type: string title: Owner project_webhook: type: boolean title: Project Webhook call_id: anyOf: - type: string - type: 'null' title: Call Id name: anyOf: - type: string - type: 'null' title: Name tags: items: type: string type: array title: Tags include_tags: items: type: string type: array title: Include Tags exclude_tags: items: type: string type: array title: Exclude Tags created: anyOf: - type: string format: date-time - type: 'null' title: Created last_update: anyOf: - type: string format: date-time - type: 'null' title: Last Update type: object required: - owner - project_webhook title: WebHookMeta WebHookResponse: properties: id: type: string title: Id meta: $ref: '#/components/schemas/WebHookMeta' webhook: $ref: '#/components/schemas/WebHookBody' type: object required: - id - meta - webhook title: WebHookResponse WebHookType: type: string enum: - email - email_text - email_template - generic - apimetrics_api - apimetrics_workflow - apimetrics_token - slack - pager_duty - pager_duty_v2 - big_panda - victorops - hipchat - msteams - noname - newrelic - datadog - datadogevent - datadogintegration - statuspage - flowdock - opsgenie - opsgenieeu - open_telemetry - open_telemetry_axiom - hydrolix - conformance_axiom - conformance_datadog - conformance_email - conformance_generic - conformance_opentelemetry - conformance_slack - conformance_summary_email - conformance_summary_generic - conformance_summary_slack title: WebHookType WebHookTypeDescriptor: properties: id: type: string title: Id title: type: string title: Title icon_url: type: string title: Icon Url url: type: string title: Url type: object required: - id - title - icon_url - url title: WebHookTypeDescriptor WebHookTypeListResponse: properties: results: items: $ref: '#/components/schemas/WebHookTypeDescriptor' type: array title: Results type: object required: - results title: WebHookTypeListResponse WebHookTypeParameter: properties: name: type: string title: Name title: anyOf: - type: string - type: 'null' title: Title description: anyOf: - type: string - type: 'null' title: Description mandatory: type: boolean title: Mandatory default: anyOf: - type: string - type: 'null' title: Default type: object required: - name - mandatory title: WebHookTypeParameter WebHookTypePropertiesResponse: properties: results: items: $ref: '#/components/schemas/WebHookTypeParameter' type: array title: Results type: object required: - results title: WebHookTypePropertiesResponse WorkflowCreateBody: properties: meta: $ref: '#/components/schemas/_WorkflowCreateMeta' workflow: anyOf: - $ref: '#/components/schemas/_WorkflowBodyWorkflow' - type: 'null' access: anyOf: - additionalProperties: true type: object - type: 'null' title: Access additionalProperties: false type: object required: - meta title: WorkflowCreateBody WorkflowDataResponse: properties: call_ids: items: type: string type: array title: Call Ids stop_on_failure: type: boolean title: Stop On Failure handle_cookies: type: boolean title: Handle Cookies type: object required: - call_ids - stop_on_failure - handle_cookies title: WorkflowDataResponse WorkflowListMetaResponse: properties: next_cursor: anyOf: - type: string - type: 'null' title: Next Cursor more: type: boolean title: More project_id: type: string title: Project Id type: object required: - more - project_id title: WorkflowListMetaResponse WorkflowListResponse: properties: meta: $ref: '#/components/schemas/WorkflowListMetaResponse' results: items: $ref: '#/components/schemas/WorkflowResponse' type: array title: Results type: object required: - meta - results title: WorkflowListResponse WorkflowLocationOptions: properties: cloud: anyOf: - type: string - type: 'null' title: Cloud continent: anyOf: - type: string - type: 'null' title: Continent country: anyOf: - type: string - type: 'null' title: Country city: anyOf: - type: string - type: 'null' title: City api: anyOf: - items: type: string type: array - type: 'null' title: Api www: anyOf: - items: type: string type: array - type: 'null' title: Www mcp: anyOf: - items: type: string type: array - type: 'null' title: Mcp type: object required: - cloud - continent - country - city - api - www - mcp title: WorkflowLocationOptions WorkflowMetaResponse: properties: name: type: string title: Name description: anyOf: - type: string - type: 'null' title: Description tags: items: type: string type: array title: Tags default: [] workspace: anyOf: - type: string - type: 'null' title: Workspace created: type: string title: Created last_update: type: string title: Last Update owner: type: string title: Owner deployments: anyOf: - type: integer - type: 'null' title: Deployments type: object required: - name - created - last_update - owner title: WorkflowMetaResponse WorkflowResponse: properties: id: type: string title: Id meta: $ref: '#/components/schemas/WorkflowMetaResponse' workflow: $ref: '#/components/schemas/WorkflowDataResponse' type: object required: - id - meta - workflow title: WorkflowResponse WorkflowResultListMeta: properties: next_cursor: anyOf: - type: string - type: 'null' title: Next Cursor more: type: boolean title: More project_id: type: string title: Project Id type: object required: - more - project_id title: WorkflowResultListMeta WorkflowResultListResponse: properties: meta: $ref: '#/components/schemas/WorkflowResultListMeta' results: items: $ref: '#/components/schemas/WorkflowResultResponse' type: array title: Results type: object required: - meta - results title: WorkflowResultListResponse description: Paginated list of workflow results. WorkflowResultMeta: properties: workflow_id: anyOf: - type: string - type: 'null' title: Workflow Id workflow_name: anyOf: - type: string - type: 'null' title: Workflow Name workflow_tags: anyOf: - items: type: string type: array - type: 'null' title: Workflow Tags location_id: anyOf: - type: string - type: 'null' title: Location Id state: anyOf: - type: string - type: 'null' title: State created: anyOf: - type: string - type: 'null' title: Created last_update: anyOf: - type: string - type: 'null' title: Last Update start_time: anyOf: - type: string - type: 'null' title: Start Time end_time: anyOf: - type: string - type: 'null' title: End Time total_time: anyOf: - type: integer - type: 'null' title: Total Time final_result: anyOf: - type: string - type: 'null' title: Final Result final_result_category: anyOf: - type: string - type: 'null' title: Final Result Category schedule_id: anyOf: - type: string - type: 'null' title: Schedule Id additionalProperties: true type: object title: WorkflowResultMeta description: Per-result ``meta`` block, matching ``convert_datastore_to_api``. WorkflowResultResponse: properties: id: anyOf: - type: string - type: 'null' title: Id meta: $ref: '#/components/schemas/WorkflowResultMeta' results: items: $ref: '#/components/schemas/WorkflowSubResult' type: array title: Results default: [] post_context: anyOf: - additionalProperties: true type: object - type: 'null' title: Post Context type: object required: - meta title: WorkflowResultResponse description: A single workflow result (``TestRunResult``). WorkflowRunPayload: properties: workflow_id: type: string title: Workflow Id workflow_result_id: type: string title: Workflow Result Id location_id: anyOf: - type: string - type: 'null' title: Location Id api_location_id: anyOf: - type: string - type: 'null' title: Api Location Id www_location_id: anyOf: - type: string - type: 'null' title: Www Location Id mcp_location_id: anyOf: - type: string - type: 'null' title: Mcp Location Id context: additionalProperties: true type: object title: Context between_calls_delay: anyOf: - type: integer - type: 'null' title: Between Calls Delay user: anyOf: - additionalProperties: true type: object - type: 'null' title: User type: object required: - workflow_id - workflow_result_id - context title: WorkflowRunPayload WorkflowRunRequest: properties: locations: $ref: '#/components/schemas/AgentLocation' run_delay: type: integer maximum: 86400.0 minimum: 0.0 title: Run Delay default: 0 between_calls_delay: type: integer maximum: 86400.0 minimum: 0.0 title: Between Calls Delay default: 0 context: anyOf: - additionalProperties: type: string type: object - type: 'null' title: Context type: object required: - locations title: WorkflowRunRequest WorkflowSubResult: properties: id: anyOf: - type: string - type: 'null' title: Id result: anyOf: - type: string - type: 'null' title: Result result_category: anyOf: - type: string - type: 'null' title: Result Category total_time: anyOf: - type: integer - type: 'null' title: Total Time start_time: anyOf: - type: string - type: 'null' title: Start Time type: object title: WorkflowSubResult description: One test result inside a workflow run. WorkflowUpdateBody: properties: meta: anyOf: - $ref: '#/components/schemas/_WorkflowUpdateMeta' - type: 'null' workflow: anyOf: - $ref: '#/components/schemas/_WorkflowBodyWorkflow' - type: 'null' access: anyOf: - additionalProperties: true type: object - type: 'null' title: Access additionalProperties: false type: object title: WorkflowUpdateBody WorkspaceFields: properties: name: type: string title: Name title: anyOf: - type: string - type: 'null' title: Title type: object required: - name title: WorkspaceFields WorkspaceListMeta: properties: next_cursor: anyOf: - type: string - type: 'null' title: Next Cursor more: type: boolean title: More project_id: anyOf: - type: string - type: 'null' title: Project Id type: object required: - more title: WorkspaceListMeta WorkspaceListResponse: properties: meta: $ref: '#/components/schemas/WorkspaceListMeta' results: items: $ref: '#/components/schemas/WorkspaceResponse' type: array title: Results type: object required: - meta - results title: WorkspaceListResponse WorkspaceMeta: properties: user: type: string title: User created: anyOf: - type: string format: date-time - type: 'null' title: Created last_update: anyOf: - type: string format: date-time - type: 'null' title: Last Update type: object required: - user title: WorkspaceMeta WorkspaceResponse: properties: id: type: string title: Id meta: $ref: '#/components/schemas/WorkspaceMeta' workspace: $ref: '#/components/schemas/WorkspaceFields' type: object required: - id - meta - workspace title: WorkspaceResponse examples: - id: ahFkZXZ-YXBpbWV0cmljcy1xY3IqCxIEVXNlchieQgwLEhZVc2VyRW52aXJvbm1lbnRXb3Jrc3BhY2Ui... meta: created: '2026-06-19T09:06:47.046143Z' last_update: '2026-06-19T09:06:47.046170Z' user: ahFkZXZ-YXBpbWV0cmljcy1xY3ILCxIEVXNlchieQgw workspace: name: staging title: Staging _AgentDetails: properties: normalized_name: type: string title: Normalized Name name: anyOf: - type: string - type: 'null' title: Name cloud: anyOf: - type: string - type: 'null' title: Cloud cloud_full_name: anyOf: - type: string - type: 'null' title: Cloud Full Name geography: anyOf: - type: string - type: 'null' title: Geography continent: anyOf: - type: string - type: 'null' title: Continent country: anyOf: - type: string - type: 'null' title: Country region: anyOf: - type: string - type: 'null' title: Region city: anyOf: - type: string - type: 'null' title: City location: anyOf: - items: type: number type: array - type: 'null' title: Location shared_with_org: anyOf: - type: string - type: 'null' title: Shared With Org type: object required: - normalized_name title: _AgentDetails _AgentMeta: properties: id: type: string title: Id name: type: string title: Name last_update: anyOf: - type: string format: date-time - type: 'null' title: Last Update created: anyOf: - type: string format: date-time - type: 'null' title: Created remote_addr: anyOf: - type: string - type: 'null' title: Remote Addr type: object required: - id - name title: _AgentMeta _CallCreateMeta: properties: name: type: string title: Name description: anyOf: - type: string - type: 'null' title: Description tags: anyOf: - items: type: string type: array - type: 'null' title: Tags workspace: anyOf: - type: string - type: 'null' title: Workspace additionalProperties: false type: object required: - name title: _CallCreateMeta _CallCreateRequest: properties: method: type: string title: Method url: anyOf: - type: string - additionalProperties: true type: object title: Url parameters: anyOf: - items: $ref: '#/components/schemas/CallParameterResponse' type: array - additionalProperties: type: string type: object - type: 'null' title: Parameters headers: anyOf: - items: $ref: '#/components/schemas/CallParameterResponse' type: array - additionalProperties: type: string type: object - type: 'null' title: Headers body: anyOf: - type: string - type: 'null' title: Body auth_id: anyOf: - type: string - type: 'null' title: Auth Id token_id: anyOf: - type: string - type: 'null' title: Token Id file_id: anyOf: - type: string - type: 'null' title: File Id additionalProperties: false type: object required: - method - url title: _CallCreateRequest _CallUpdateMeta: properties: name: anyOf: - type: string - type: 'null' title: Name description: anyOf: - type: string - type: 'null' title: Description tags: anyOf: - items: type: string type: array - type: 'null' title: Tags workspace: anyOf: - type: string - type: 'null' title: Workspace additionalProperties: false type: object title: _CallUpdateMeta _CallUpdateRequest: properties: method: anyOf: - type: string - type: 'null' title: Method url: anyOf: - type: string - additionalProperties: true type: object - type: 'null' title: Url parameters: anyOf: - items: $ref: '#/components/schemas/CallParameterResponse' type: array - additionalProperties: type: string type: object - type: 'null' title: Parameters headers: anyOf: - items: $ref: '#/components/schemas/CallParameterResponse' type: array - additionalProperties: type: string type: object - type: 'null' title: Headers body: anyOf: - type: string - type: 'null' title: Body auth_id: anyOf: - type: string - type: 'null' title: Auth Id token_id: anyOf: - type: string - type: 'null' title: Token Id file_id: anyOf: - type: string - type: 'null' title: File Id additionalProperties: false type: object title: _CallUpdateRequest _CategoryBreakdown: properties: totals: additionalProperties: type: integer type: object title: Totals totals_grouped: additionalProperties: type: integer type: object title: Totals Grouped type: object title: _CategoryBreakdown _DowntimeBodyFields: properties: start_time: anyOf: - type: string - type: 'null' title: Start Time end_time: anyOf: - type: string - type: 'null' title: End Time zone: anyOf: - type: string - type: 'null' title: Zone repeated: anyOf: - type: boolean - type: 'null' title: Repeated repeat_days: anyOf: - type: integer - type: 'null' title: Repeat Days additionalProperties: false type: object title: _DowntimeBodyFields _FileListMeta: properties: next_cursor: anyOf: - type: string - type: 'null' title: Next Cursor more: type: boolean title: More project_id: type: string title: Project Id type: object required: - more - project_id title: _FileListMeta _FileListResponse: properties: meta: $ref: '#/components/schemas/_FileListMeta' results: items: $ref: '#/components/schemas/_FileResponse' type: array title: Results type: object required: - meta - results title: _FileListResponse _FileMeta: properties: name: anyOf: - type: string - type: 'null' title: Name description: anyOf: - type: string - type: 'null' title: Description tags: items: type: string type: array title: Tags content_type: anyOf: - type: string - type: 'null' title: Content Type content_encoding: anyOf: - type: string - type: 'null' title: Content Encoding content_length: anyOf: - type: integer - type: 'null' title: Content Length created: anyOf: - type: string format: date-time - type: 'null' title: Created last_update: anyOf: - type: string format: date-time - type: 'null' title: Last Update project_id: anyOf: - type: string - type: 'null' title: Project Id type: object title: _FileMeta _FileResponse: properties: id: type: string title: Id meta: $ref: '#/components/schemas/_FileMeta' type: object required: - id - meta title: _FileResponse _HttpBreakdownMeta: properties: call_id: type: string title: Call Id name: anyOf: - type: string - type: 'null' title: Name kind: type: string title: Kind location_id: type: string title: Location Id min_time: anyOf: - type: string format: date-time - type: 'null' title: Min Time max_time: anyOf: - type: string format: date-time - type: 'null' title: Max Time type: object required: - call_id - kind - location_id title: _HttpBreakdownMeta _HttpBreakdownOverall: properties: pass: type: integer title: Pass default: 0 warning: type: integer title: Warning default: 0 failure: type: integer title: Failure default: 0 type: object title: _HttpBreakdownOverall _HttpBreakdownStat: properties: overall: $ref: '#/components/schemas/_HttpBreakdownOverall' pass: $ref: '#/components/schemas/_CategoryBreakdown' warning: $ref: '#/components/schemas/_CategoryBreakdown' failure: $ref: '#/components/schemas/_CategoryBreakdown' type: object required: - overall title: _HttpBreakdownStat _LegacyPassFailMeta: properties: call_id: type: string title: Call Id name: anyOf: - type: string - type: 'null' title: Name kind: type: string title: Kind location_id: type: string title: Location Id min_time: anyOf: - type: string format: date-time - type: 'null' title: Min Time max_time: anyOf: - type: string format: date-time - type: 'null' title: Max Time type: object required: - call_id - kind - location_id title: _LegacyPassFailMeta _PassFailCounts: properties: pass: type: integer title: Pass default: 0 warning: type: integer title: Warning default: 0 failure: type: integer title: Failure default: 0 type: object title: _PassFailCounts _PassFailMeta: properties: call_id: type: string title: Call Id name: anyOf: - type: string - type: 'null' title: Name location_id: type: string title: Location Id min_time: anyOf: - type: string format: date-time - type: 'null' title: Min Time max_time: anyOf: - type: string format: date-time - type: 'null' title: Max Time kind: type: string title: Kind type: object required: - call_id - location_id - kind title: _PassFailMeta _PassFailRangeMeta: properties: call_id: type: string title: Call Id name: anyOf: - type: string - type: 'null' title: Name min_time: anyOf: - type: string format: date-time - type: 'null' title: Min Time max_time: anyOf: - type: string format: date-time - type: 'null' title: Max Time kind: type: string title: Kind location_id: type: string title: Location Id type: object required: - call_id - kind - location_id title: _PassFailRangeMeta _PassFailTotalMeta: properties: call_id: type: string title: Call Id name: anyOf: - type: string - type: 'null' title: Name min_time: anyOf: - type: string format: date-time - type: 'null' title: Min Time max_time: anyOf: - type: string format: date-time - type: 'null' title: Max Time type: object required: - call_id title: _PassFailTotalMeta _RegionEntry: properties: id: type: string title: Id name: anyOf: - type: string - type: 'null' title: Name locations: items: type: string type: array title: Locations type: object required: - id - locations title: _RegionEntry _ReportAccessBody: properties: public: anyOf: - type: boolean - type: 'null' title: Public org: anyOf: - type: boolean - type: 'null' title: Org moderated: anyOf: - type: boolean - type: 'null' title: Moderated type: object title: _ReportAccessBody _ReportCreateMeta: properties: name: type: string title: Name description: anyOf: - type: string - type: 'null' title: Description tags: items: type: string type: array title: Tags default: [] branding: type: boolean title: Branding default: false type: object required: - name title: _ReportCreateMeta _ReportGroupBody: properties: name: type: string title: Name rows: items: $ref: '#/components/schemas/_ReportRowBody' type: array title: Rows default: [] type: object required: - name title: _ReportGroupBody _ReportRowBody: properties: call_id: type: string title: Call Id location_id: type: string title: Location Id type: object required: - call_id - location_id title: _ReportRowBody _ReportUpdateMeta: properties: name: type: string title: Name description: anyOf: - type: string - type: 'null' title: Description tags: items: type: string type: array title: Tags branding: type: boolean title: Branding type: object title: _ReportUpdateMeta _RequestRepr: properties: method: type: string title: Method url: type: string title: Url parameters: anyOf: - items: $ref: '#/components/schemas/_TestParameterRepr' type: array - type: 'null' title: Parameters headers: anyOf: - items: $ref: '#/components/schemas/_TestParameterRepr' type: array - type: 'null' title: Headers auth_id: anyOf: - type: string - type: 'null' title: Auth Id token_id: anyOf: - type: string - type: 'null' title: Token Id body: anyOf: - type: string - additionalProperties: true type: object - type: 'null' title: Body file_id: anyOf: - type: string - type: 'null' title: File Id type: object required: - method - url - parameters - headers - auth_id - token_id - body title: _RequestRepr _RunWorkflowBody: properties: location_id: anyOf: - type: string - type: 'null' title: Location Id run_delay: anyOf: - type: integer maximum: 86400.0 minimum: 0.0 - type: 'null' title: Run Delay between_calls_delay: anyOf: - type: integer maximum: 86400.0 minimum: 0.0 - type: 'null' title: Between Calls Delay context: anyOf: - additionalProperties: type: string type: object - type: 'null' title: Context additionalProperties: false type: object title: _RunWorkflowBody examples: - between_calls_delay: 0 context: ACCESS_TOKEN: mytoken location_id: us-west-2 run_delay: 0 _ScheduleBodyMeta: properties: name: anyOf: - type: string - type: 'null' title: Name tags: anyOf: - items: type: string type: array - type: 'null' title: Tags additionalProperties: false type: object title: _ScheduleBodyMeta _ScheduleBodySchedule: properties: target_ids: anyOf: - items: type: string type: array - type: 'null' title: Target Ids regions: anyOf: - items: type: string type: array - type: 'null' title: Regions locations: anyOf: - items: type: string type: array - type: 'null' title: Locations frequency: anyOf: - type: integer - type: 'null' title: Frequency backoff_method: anyOf: - type: string - type: 'null' title: Backoff Method additionalProperties: false type: object title: _ScheduleBodySchedule _StatItem: properties: time: anyOf: - type: string format: date-time - type: 'null' title: Time min_latency: anyOf: - type: number - type: 'null' title: Min Latency max_latency: anyOf: - type: number - type: 'null' title: Max Latency avg_latency: type: number title: Avg Latency standard_deviation: anyOf: - type: number - type: 'null' title: Standard Deviation count: type: integer title: Count location_id: anyOf: - type: string - type: 'null' title: Location Id http_code: anyOf: - type: integer - type: 'null' title: Http Code result: anyOf: - type: string - type: 'null' title: Result content_length: anyOf: - type: integer - type: 'null' title: Content Length type: object required: - avg_latency - count title: _StatItem description: One bucket (aggregated) or one result (RAW). _StatListMeta: properties: call_id: type: string title: Call Id name: anyOf: - type: string - type: 'null' title: Name type: type: string title: Type kind: type: string title: Kind location_id: type: string title: Location Id min_time: anyOf: - type: string format: date-time - type: 'null' title: Min Time max_time: anyOf: - type: string format: date-time - type: 'null' title: Max Time next_cursor: anyOf: - type: string - type: 'null' title: Next Cursor more: type: boolean title: More default: false type: object required: - call_id - type - kind - location_id title: _StatListMeta _StatMeta: properties: call_id: type: string title: Call Id name: anyOf: - type: string - type: 'null' title: Name type: type: string title: Type kind: type: string title: Kind location_id: type: string title: Location Id time: anyOf: - type: string format: date-time - type: 'null' title: Time type: object required: - call_id - type - kind - location_id title: _StatMeta _StatValues: properties: min_latency: type: number title: Min Latency max_latency: type: number title: Max Latency avg_latency: type: number title: Avg Latency standard_deviation: type: number title: Standard Deviation count: type: integer title: Count time: anyOf: - type: string format: date-time - type: 'null' title: Time type: object required: - min_latency - max_latency - avg_latency - standard_deviation - count title: _StatValues _StoredVariablePayload: properties: name: type: string title: Name value: title: Value type: object required: - name - value title: _StoredVariablePayload _TestParameterRepr: properties: key: type: string title: Key value: type: string title: Value type: object required: - key - value title: _TestParameterRepr _UpdateAgentBody: properties: name: anyOf: - type: string maxLength: 100 - type: 'null' title: Name cloud: anyOf: - type: string - type: 'null' title: Cloud cloud_full_name: anyOf: - type: string - type: 'null' title: Cloud Full Name continent: anyOf: - type: string - type: 'null' title: Continent country: anyOf: - type: string - type: 'null' title: Country geography: anyOf: - type: string - type: 'null' title: Geography region: anyOf: - type: string - type: 'null' title: Region city: anyOf: - type: string - type: 'null' title: City type: object title: _UpdateAgentBody description: Body accepted by ``POST /api/2/agents//`` (update user_* overrides). _UploadUrlBody: properties: url: type: string title: Url description: URL to download the file from. type: object required: - url title: _UploadUrlBody _VariableMeta: properties: created: anyOf: - type: string format: date-time - type: 'null' title: Created last_update: anyOf: - type: string format: date-time - type: 'null' title: Last Update user: anyOf: - type: string - type: 'null' title: User project_id: anyOf: - type: string - type: 'null' title: Project Id catalog: anyOf: - type: string - type: 'null' title: Catalog type: object title: _VariableMeta _WorkflowBodyWorkflow: properties: call_ids: anyOf: - items: type: string type: array - type: 'null' title: Call Ids stop_on_failure: anyOf: - type: boolean - type: 'null' title: Stop On Failure handle_cookies: anyOf: - type: boolean - type: 'null' title: Handle Cookies additionalProperties: false type: object title: _WorkflowBodyWorkflow _WorkflowCreateMeta: properties: name: type: string title: Name description: anyOf: - type: string - type: 'null' title: Description tags: anyOf: - items: type: string type: array - type: 'null' title: Tags workspace: anyOf: - type: string - type: 'null' title: Workspace additionalProperties: false type: object required: - name title: _WorkflowCreateMeta _WorkflowUpdateMeta: properties: name: anyOf: - type: string - type: 'null' title: Name description: anyOf: - type: string - type: 'null' title: Description tags: anyOf: - items: type: string type: array - type: 'null' title: Tags workspace: anyOf: - type: string - type: 'null' title: Workspace additionalProperties: false type: object title: _WorkflowUpdateMeta api2__account__billing__QuotaResponse: properties: sub: $ref: '#/components/schemas/SubDetail' quotas: $ref: '#/components/schemas/QuotaLimits' counts: $ref: '#/components/schemas/QuotaCounts' has_trial_expired: anyOf: - type: boolean - type: 'null' title: Has Trial Expired trial_expiry_date: anyOf: - type: string format: date-time - type: 'null' title: Trial Expiry Date month_progress: type: number title: Month Progress billing_admin_id: anyOf: - type: string - type: 'null' title: Billing Admin Id type: object required: - sub - quotas - counts - month_progress title: QuotaResponse description: '``GET /api/2/account/quota`` -- the caller''s project quota/usage. Identical to :class:`SubInfo` with the legacy top-level ``billing_admin_id`` the quota handler injects when the project bills through an org admin.' api2__account__billing__SubInfo: properties: sub: $ref: '#/components/schemas/SubDetail' quotas: $ref: '#/components/schemas/QuotaLimits' counts: $ref: '#/components/schemas/QuotaCounts' has_trial_expired: anyOf: - type: boolean - type: 'null' title: Has Trial Expired trial_expiry_date: anyOf: - type: string format: date-time - type: 'null' title: Trial Expiry Date month_progress: type: number title: Month Progress type: object required: - sub - quotas - counts - month_progress title: SubInfo description: The ``SubLevelManager.to_json`` payload, shared by quota and billing. api2__account_settings__settings___ListMeta: properties: next_cursor: anyOf: - type: string - type: 'null' title: Next Cursor more: type: boolean title: More default: false type: object title: _ListMeta description: 'The list-envelope meta used by both ``list`` and ``get`` catalog responses. No ``project_id`` field here -- the Py2 handler builds the envelope by hand rather than through ``render_query_results``.' api2__agents__agents___ListMeta: properties: next_cursor: anyOf: - type: string - type: 'null' title: Next Cursor more: type: boolean title: More default: false type: object title: _ListMeta api2__project_subscriptions__subscriptions___ListMeta: properties: next_cursor: anyOf: - type: string - type: 'null' title: Next Cursor more: type: boolean title: More default: false project_id: anyOf: - type: string - type: 'null' title: Project Id type: object title: _ListMeta api2__projects__proj_access__ProjectAccessResponse: properties: id: type: string title: Id project: $ref: '#/components/schemas/ProjectResponse' access_level: type: string title: Access Level account_id: type: string title: Account Id account_email: type: string title: Account Email last_update: type: string format: date-time title: Last Update created: type: string format: date-time title: Created type: object required: - id - project - access_level - account_id - account_email - last_update - created title: ProjectAccessResponse examples: - access_level: EDITOR account_email: user@example.com account_id: auth0|5f00000000000000000000aa created: '2026-06-25T10:13:37.546136Z' id: ahFkZXZ-YXBpbWV0cmljcy1xY3IVCxIOQWNjb3VudFByb2plY3QYq0IM last_update: '2026-06-25T10:13:37.597335Z' project: created: '2026-06-19T09:06:47.046143Z' id: ahFkZXZ-YXBpbWV0cmljcy1xY3ILCxIEVXNlchieQgw last_update: '2026-06-19T09:06:47.046170Z' name: Project 1 org_id: apicontext tags: [] api3__billing__models__QuotaResponse: properties: sub: $ref: '#/components/schemas/api3__billing__models__SubInfo' quotas: $ref: '#/components/schemas/Quotas' usage: $ref: '#/components/schemas/Usage' weights: $ref: '#/components/schemas/UsageWeights' has_trial_expired: anyOf: - type: boolean - type: 'null' title: Has Trial Expired trial_expiry_date: anyOf: - type: string - type: 'null' title: Trial Expiry Date month_progress: type: number title: Month Progress type: object required: - sub - quotas - usage - weights - has_trial_expired - trial_expiry_date - month_progress title: QuotaResponse api3__billing__models__SubInfo: properties: level: type: string title: Level name: type: string title: Name plan: type: string title: Plan start: anyOf: - type: string - type: 'null' title: Start end: anyOf: - type: string - type: 'null' title: End state: anyOf: - type: string - type: 'null' title: State org_id: anyOf: - type: string - type: 'null' title: Org Id backend: anyOf: - type: string - type: 'null' title: Backend type: object required: - level - name - plan - start - end - state - org_id - backend title: SubInfo api3__certificates__api_models__CreateRequest: properties: name: type: string title: Name intended_use: $ref: '#/components/schemas/IntendedUse' certificate: type: string title: Certificate private_key: type: string title: Private Key password: anyOf: - type: string - type: 'null' title: Password kid: anyOf: - type: string - type: 'null' title: Kid kid_alg: anyOf: - $ref: '#/components/schemas/KidAlg' - type: 'null' projects: anyOf: - items: type: string type: array - type: 'null' title: Projects type: object required: - name - intended_use - certificate - private_key title: CreateRequest api3__certificates__api_models__UpdateRequest: properties: name: anyOf: - type: string - type: 'null' title: Name intended_use: anyOf: - $ref: '#/components/schemas/IntendedUse' - type: 'null' certificate: anyOf: - type: string - type: 'null' title: Certificate private_key: anyOf: - type: string - type: 'null' title: Private Key password: anyOf: - type: string - type: 'null' title: Password kid: anyOf: - type: string - type: 'null' title: Kid kid_alg: anyOf: - $ref: '#/components/schemas/KidAlg' - type: 'null' projects: anyOf: - items: type: string type: array - type: 'null' title: Projects type: object title: UpdateRequest api3__monitors__api__stats__api_models__Metric: type: string enum: - total - dns - connect - tls - ttfb - response title: Metric api3__monitors__browser__api_models__CreateRequest: properties: name: type: string title: Name description: Display name for the monitor description: anyOf: - type: string - type: 'null' title: Description description: Optional description for the monitor tags: items: type: string type: array title: Tags description: Tags to apply to the monitor for grouping or advanced features workspace: type: string title: Workspace description: Workspace to assign the monitor to default: global url: type: string title: Url description: Target URL for the monitor browser_types: anyOf: - items: type: string enum: - chromium - firefox - webkit - camoufox type: array - type: 'null' title: Browser Types description: Browsers which the monitor is permitted to run on user_agent: anyOf: - type: string - type: 'null' title: User Agent description: User-Agent header value for the monitor type: object required: - name - url title: CreateRequest api3__monitors__browser__api_models__UpdateRequest: properties: meta: anyOf: - $ref: '#/components/schemas/UpdateRequestMeta' - type: 'null' setup: anyOf: - $ref: '#/components/schemas/UpdateRequestSetup' - type: 'null' type: object title: UpdateRequest api3__monitors__browser__stats__api_models__Metric: type: string enum: - lcp - fcp - cls - fid - ttfb - total - dns - tcp - tls - request - response - dom_processing - dom_content_loaded - load_event_end - resources_count - page_weight title: Metric api3__monitors__common__api_models__PerformanceGroup_Metric___1: properties: key: $ref: '#/components/schemas/GroupKey' sample_count: type: integer title: Sample Count description: Total samples in this group pass_count: type: integer title: Pass Count description: Samples whose result_category is PASS or SLOW default: 0 top_location_id: anyOf: - type: string - type: 'null' title: Top Location Id description: Location_id with the most samples in this group; useful when the client isn't grouping by location but still needs an agent for display metrics: additionalProperties: $ref: '#/components/schemas/MetricAggregate' propertyNames: $ref: '#/components/schemas/api3__monitors__api__stats__api_models__Metric' type: object title: Metrics type: object required: - key - sample_count - metrics title: PerformanceGroup[Metric] api3__monitors__common__api_models__PerformanceGroup_Metric___2: properties: key: $ref: '#/components/schemas/GroupKey' sample_count: type: integer title: Sample Count description: Total samples in this group pass_count: type: integer title: Pass Count description: Samples whose result_category is PASS or SLOW default: 0 top_location_id: anyOf: - type: string - type: 'null' title: Top Location Id description: Location_id with the most samples in this group; useful when the client isn't grouping by location but still needs an agent for display metrics: additionalProperties: $ref: '#/components/schemas/MetricAggregate' propertyNames: $ref: '#/components/schemas/api3__monitors__browser__stats__api_models__Metric' type: object title: Metrics type: object required: - key - sample_count - metrics title: PerformanceGroup[Metric] api3__monitors__common__api_models__PerformanceGroup_Metric___3: properties: key: $ref: '#/components/schemas/GroupKey' sample_count: type: integer title: Sample Count description: Total samples in this group pass_count: type: integer title: Pass Count description: Samples whose result_category is PASS or SLOW default: 0 top_location_id: anyOf: - type: string - type: 'null' title: Top Location Id description: Location_id with the most samples in this group; useful when the client isn't grouping by location but still needs an agent for display metrics: additionalProperties: $ref: '#/components/schemas/MetricAggregate' propertyNames: $ref: '#/components/schemas/api3__monitors__mcp__stats__api_models__Metric' type: object title: Metrics type: object required: - key - sample_count - metrics title: PerformanceGroup[Metric] api3__monitors__common__api_models__PerformanceMeta_Metric___1: properties: monitor_id: anyOf: - type: string - type: 'null' title: Monitor Id from: type: string format: date-time title: From description: UTC ISO timestamp, inclusive to: type: string format: date-time title: To description: UTC ISO timestamp, exclusive interval: anyOf: - type: string format: duration - type: 'null' title: Interval metrics: items: $ref: '#/components/schemas/api3__monitors__api__stats__api_models__Metric' type: array title: Metrics measures: items: $ref: '#/components/schemas/Measure' type: array title: Measures group_by: items: $ref: '#/components/schemas/GroupByDimension' type: array title: Group By type: object required: - from - to - interval - metrics - measures - group_by title: PerformanceMeta[Metric] api3__monitors__common__api_models__PerformanceMeta_Metric___2: properties: monitor_id: anyOf: - type: string - type: 'null' title: Monitor Id from: type: string format: date-time title: From description: UTC ISO timestamp, inclusive to: type: string format: date-time title: To description: UTC ISO timestamp, exclusive interval: anyOf: - type: string format: duration - type: 'null' title: Interval metrics: items: $ref: '#/components/schemas/api3__monitors__browser__stats__api_models__Metric' type: array title: Metrics measures: items: $ref: '#/components/schemas/Measure' type: array title: Measures group_by: items: $ref: '#/components/schemas/GroupByDimension' type: array title: Group By type: object required: - from - to - interval - metrics - measures - group_by title: PerformanceMeta[Metric] api3__monitors__common__api_models__PerformanceMeta_Metric___3: properties: monitor_id: anyOf: - type: string - type: 'null' title: Monitor Id from: type: string format: date-time title: From description: UTC ISO timestamp, inclusive to: type: string format: date-time title: To description: UTC ISO timestamp, exclusive interval: anyOf: - type: string format: duration - type: 'null' title: Interval metrics: items: $ref: '#/components/schemas/api3__monitors__mcp__stats__api_models__Metric' type: array title: Metrics measures: items: $ref: '#/components/schemas/Measure' type: array title: Measures group_by: items: $ref: '#/components/schemas/GroupByDimension' type: array title: Group By type: object required: - from - to - interval - metrics - measures - group_by title: PerformanceMeta[Metric] api3__monitors__common__api_models__PerformanceRequest_Metric___1: properties: from: type: string format: date-time title: From description: Window start (UTC ISO timestamp, inclusive) to: type: string format: date-time title: To description: Window end (UTC ISO timestamp, exclusive) interval: anyOf: - type: string format: duration - type: 'null' title: Interval description: Bucket size for time-series grouping (ISO 8601 duration, e.g. PT1H, PT15M). Omitted = single bucket over the whole window. metrics: anyOf: - items: $ref: '#/components/schemas/api3__monitors__api__stats__api_models__Metric' type: array - type: 'null' title: Metrics description: Metrics to aggregate. Defaults to the monitor type's standard set. measures: anyOf: - items: $ref: '#/components/schemas/Measure' type: array - type: 'null' title: Measures description: Statistical measures to return per metric (e.g. mean, p50, p90). Defaults to mean, p50, p90, p95, p99. group_by: items: $ref: '#/components/schemas/GroupByDimension' type: array title: Group By description: Dimensions to group results by. locations: items: type: string type: array title: Locations description: Restrict to these location IDs. Empty = all locations. status: items: $ref: '#/components/schemas/ResultCategory' type: array title: Status description: Restrict to these result categories. Empty = all categories. poor_thresholds: additionalProperties: type: number minimum: 0.0 propertyNames: $ref: '#/components/schemas/api3__monitors__api__stats__api_models__Metric' type: object title: Poor Thresholds description: Per-metric threshold values. When supplied, the response includes a poor_count for each matching metric counting samples whose value exceeds the threshold. type: object required: - from - to title: PerformanceRequest[Metric] api3__monitors__common__api_models__PerformanceRequest_Metric___2: properties: from: type: string format: date-time title: From description: Window start (UTC ISO timestamp, inclusive) to: type: string format: date-time title: To description: Window end (UTC ISO timestamp, exclusive) interval: anyOf: - type: string format: duration - type: 'null' title: Interval description: Bucket size for time-series grouping (ISO 8601 duration, e.g. PT1H, PT15M). Omitted = single bucket over the whole window. metrics: anyOf: - items: $ref: '#/components/schemas/api3__monitors__browser__stats__api_models__Metric' type: array - type: 'null' title: Metrics description: Metrics to aggregate. Defaults to the monitor type's standard set. measures: anyOf: - items: $ref: '#/components/schemas/Measure' type: array - type: 'null' title: Measures description: Statistical measures to return per metric (e.g. mean, p50, p90). Defaults to mean, p50, p90, p95, p99. group_by: items: $ref: '#/components/schemas/GroupByDimension' type: array title: Group By description: Dimensions to group results by. locations: items: type: string type: array title: Locations description: Restrict to these location IDs. Empty = all locations. status: items: $ref: '#/components/schemas/ResultCategory' type: array title: Status description: Restrict to these result categories. Empty = all categories. poor_thresholds: additionalProperties: type: number minimum: 0.0 propertyNames: $ref: '#/components/schemas/api3__monitors__browser__stats__api_models__Metric' type: object title: Poor Thresholds description: Per-metric threshold values. When supplied, the response includes a poor_count for each matching metric counting samples whose value exceeds the threshold. type: object required: - from - to title: PerformanceRequest[Metric] api3__monitors__common__api_models__PerformanceRequest_Metric___3: properties: from: type: string format: date-time title: From description: Window start (UTC ISO timestamp, inclusive) to: type: string format: date-time title: To description: Window end (UTC ISO timestamp, exclusive) interval: anyOf: - type: string format: duration - type: 'null' title: Interval description: Bucket size for time-series grouping (ISO 8601 duration, e.g. PT1H, PT15M). Omitted = single bucket over the whole window. metrics: anyOf: - items: $ref: '#/components/schemas/api3__monitors__mcp__stats__api_models__Metric' type: array - type: 'null' title: Metrics description: Metrics to aggregate. Defaults to the monitor type's standard set. measures: anyOf: - items: $ref: '#/components/schemas/Measure' type: array - type: 'null' title: Measures description: Statistical measures to return per metric (e.g. mean, p50, p90). Defaults to mean, p50, p90, p95, p99. group_by: items: $ref: '#/components/schemas/GroupByDimension' type: array title: Group By description: Dimensions to group results by. locations: items: type: string type: array title: Locations description: Restrict to these location IDs. Empty = all locations. status: items: $ref: '#/components/schemas/ResultCategory' type: array title: Status description: Restrict to these result categories. Empty = all categories. poor_thresholds: additionalProperties: type: number minimum: 0.0 propertyNames: $ref: '#/components/schemas/api3__monitors__mcp__stats__api_models__Metric' type: object title: Poor Thresholds description: Per-metric threshold values. When supplied, the response includes a poor_count for each matching metric counting samples whose value exceeds the threshold. type: object required: - from - to title: PerformanceRequest[Metric] api3__monitors__common__api_models__PerformanceResponse_Metric___1: properties: results: items: $ref: '#/components/schemas/api3__monitors__common__api_models__PerformanceGroup_Metric___1' type: array title: Results meta: $ref: '#/components/schemas/api3__monitors__common__api_models__PerformanceMeta_Metric___1' type: object required: - results - meta title: PerformanceResponse[Metric] api3__monitors__common__api_models__PerformanceResponse_Metric___2: properties: results: items: $ref: '#/components/schemas/api3__monitors__common__api_models__PerformanceGroup_Metric___2' type: array title: Results meta: $ref: '#/components/schemas/api3__monitors__common__api_models__PerformanceMeta_Metric___2' type: object required: - results - meta title: PerformanceResponse[Metric] api3__monitors__common__api_models__PerformanceResponse_Metric___3: properties: results: items: $ref: '#/components/schemas/api3__monitors__common__api_models__PerformanceGroup_Metric___3' type: array title: Results meta: $ref: '#/components/schemas/api3__monitors__common__api_models__PerformanceMeta_Metric___3' type: object required: - results - meta title: PerformanceResponse[Metric] api3__monitors__mcp__api_models__CreateRequest: properties: name: type: string title: Name description: Display name for the monitor description: anyOf: - type: string - type: 'null' title: Description description: Optional description for the monitor tags: items: type: string type: array title: Tags description: Tags to apply to the monitor for grouping or advanced features workspace: type: string title: Workspace description: Workspace to assign the monitor to default: global url: type: string title: Url description: Target URL for the monitor overall_timeout_ms: type: integer maximum: 120000.0 minimum: 0.0 title: Overall Timeout Ms description: Session timeout for the monitor (milliseconds) default: 30000 steps: items: oneOf: - $ref: '#/components/schemas/McpListToolsStepRepr' - $ref: '#/components/schemas/McpCallToolStepRepr' - $ref: '#/components/schemas/McpListResourcesStepRepr' - $ref: '#/components/schemas/McpListResourceTemplatesStepRepr' - $ref: '#/components/schemas/McpReadResourceStepRepr' - $ref: '#/components/schemas/McpListPromptsStepRepr' - $ref: '#/components/schemas/McpGetPromptStepRepr' - $ref: '#/components/schemas/McpWaitStepRepr' discriminator: propertyName: step_type mapping: call_tool: '#/components/schemas/McpCallToolStepRepr' get_prompt: '#/components/schemas/McpGetPromptStepRepr' list_prompts: '#/components/schemas/McpListPromptsStepRepr' list_resource_templates: '#/components/schemas/McpListResourceTemplatesStepRepr' list_resources: '#/components/schemas/McpListResourcesStepRepr' list_tools: '#/components/schemas/McpListToolsStepRepr' read_resource: '#/components/schemas/McpReadResourceStepRepr' wait: '#/components/schemas/McpWaitStepRepr' type: array minItems: 1 title: Steps description: Steps to execute during MCP session auth_id: anyOf: - type: string - type: 'null' title: Auth Id description: Auth Settings to use with the monitor token_id: anyOf: - type: string - type: 'null' title: Token Id description: Auth Token to use with the monitor type: object required: - name - url title: CreateRequest api3__monitors__mcp__api_models__UpdateRequest: properties: name: anyOf: - type: string - type: 'null' title: Name description: Display name for the monitor description: anyOf: - type: string - type: 'null' title: Description description: Optional description for the monitor tags: anyOf: - items: type: string type: array - type: 'null' title: Tags description: Tags to apply to the monitor for grouping or advanced features workspace: type: string title: Workspace description: Workspace to assign the monitor to default: global url: anyOf: - type: string - type: 'null' title: Url description: Target URL for the monitor overall_timeout_ms: anyOf: - type: integer maximum: 120000.0 minimum: 0.0 - type: 'null' title: Overall Timeout Ms description: Session timeout for the monitor in milliseconds steps: anyOf: - items: oneOf: - $ref: '#/components/schemas/McpListToolsStepRepr' - $ref: '#/components/schemas/McpCallToolStepRepr' - $ref: '#/components/schemas/McpListResourcesStepRepr' - $ref: '#/components/schemas/McpListResourceTemplatesStepRepr' - $ref: '#/components/schemas/McpReadResourceStepRepr' - $ref: '#/components/schemas/McpListPromptsStepRepr' - $ref: '#/components/schemas/McpGetPromptStepRepr' - $ref: '#/components/schemas/McpWaitStepRepr' discriminator: propertyName: step_type mapping: call_tool: '#/components/schemas/McpCallToolStepRepr' get_prompt: '#/components/schemas/McpGetPromptStepRepr' list_prompts: '#/components/schemas/McpListPromptsStepRepr' list_resource_templates: '#/components/schemas/McpListResourceTemplatesStepRepr' list_resources: '#/components/schemas/McpListResourcesStepRepr' list_tools: '#/components/schemas/McpListToolsStepRepr' read_resource: '#/components/schemas/McpReadResourceStepRepr' wait: '#/components/schemas/McpWaitStepRepr' type: array minItems: 1 - type: 'null' title: Steps description: Steps to execute during MCP session auth_id: anyOf: - type: string - type: 'null' title: Auth Id description: Auth Settings to use with the monitor token_id: anyOf: - type: string - type: 'null' title: Token Id description: Auth Token to use with the monitor type: object title: UpdateRequest api3__monitors__mcp__stats__api_models__Metric: type: string enum: - total - initialize - dns - tcp - tls title: Metric api3__monitors__router___ListResponse: properties: meta: $ref: '#/components/schemas/api3__monitors__router___ListResponseMeta' data: items: anyOf: - $ref: '#/components/schemas/TestSetup2Repr' - $ref: '#/components/schemas/BrowserTestSetupRepr' - $ref: '#/components/schemas/McpTestSetupRepr' type: array title: Data type: object required: - meta - data title: _ListResponse api3__monitors__router___ListResponseMeta: properties: project_id: type: string title: Project Id next_cursor: anyOf: - type: string - type: 'null' title: Next Cursor more: type: boolean title: More type: object required: - project_id - next_cursor - more title: _ListResponseMeta api3__schedules__router___ListResponse: properties: meta: $ref: '#/components/schemas/api3__schedules__router___ListResponseMeta' data: items: $ref: '#/components/schemas/ApiSchedule' type: array title: Data type: object required: - meta - data title: _ListResponse api3__schedules__router___ListResponseMeta: properties: project_id: type: string title: Project Id description: The project the schedules belong to next_cursor: anyOf: - type: string - type: 'null' title: Next Cursor description: Cursor to pass to retrieve the next page, or null on the last page more: type: boolean title: More description: True if there are further pages beyond this response type: object required: - project_id - next_cursor - more title: _ListResponseMeta api3__service_accounts__service_accounts__ProjectAccessResponse: properties: account_id: type: string title: Account Id description: The service account's account id project_id: type: string title: Project Id description: The project the grant applies to access_level: type: string title: Access Level description: The granted access level type: object required: - account_id - project_id - access_level title: ProjectAccessResponse api3__webhooks__router___ListResponse: properties: meta: $ref: '#/components/schemas/api3__webhooks__router___ListResponseMeta' data: items: $ref: '#/components/schemas/ApiWebHook' type: array title: Data type: object required: - meta - data title: _ListResponse api3__webhooks__router___ListResponseMeta: properties: project_id: type: string title: Project Id description: The project the webhooks belong to next_cursor: anyOf: - type: string - type: 'null' title: Next Cursor description: Cursor to pass to retrieve the next page, or null on the last page more: type: boolean title: More description: True if there are further pages beyond this response type: object required: - project_id - next_cursor - more title: _ListResponseMeta models__browser_call___MetaRepr: properties: monitor_type: type: string enum: - api - www - mcp title: Monitor Type default: www name: type: string title: Name description: Display name for the monitor description: anyOf: - type: string - type: 'null' title: Description description: Optional description for the monitor tags: items: type: string type: array title: Tags description: Tags to apply to the monitor for grouping or advanced features domain: type: string title: Domain description: Domain of the target URL for this monitor created: type: string format: date-time title: Created last_update: type: string format: date-time title: Last Update owner: type: string title: Owner workspace: type: string title: Workspace type: object required: - name - domain - created - last_update - owner - workspace title: _MetaRepr models__browser_call___SetupRepr: properties: url: type: string title: Url description: Target URL for this monitor browser_types: items: type: string enum: - chromium - firefox - webkit - camoufox type: array title: Browser Types description: Browsers which this monitor is permitted to run on user_agent: anyOf: - type: string - type: 'null' title: User Agent description: User-Agent header value for the monitor type: object required: - url - browser_types title: _SetupRepr models__call___MetaRepr: properties: monitor_type: type: string const: api title: Monitor Type default: api name: type: string title: Name description: anyOf: - type: string - type: 'null' title: Description tags: anyOf: - items: type: string type: array - type: 'null' title: Tags domain: type: string title: Domain content_type: anyOf: - type: string - type: 'null' title: Content Type accept: anyOf: - type: string - type: 'null' title: Accept created: type: string format: date-time title: Created last_update: type: string format: date-time title: Last Update owner: type: string title: Owner workspace: anyOf: - type: string - type: 'null' title: Workspace type: object required: - name - description - tags - domain - content_type - accept - created - last_update - owner - workspace title: _MetaRepr models__mcp_test_setup___MetaRepr: properties: monitor_type: type: string enum: - api - www - mcp title: Monitor Type default: mcp name: type: string title: Name description: Display name for the monitor description: anyOf: - type: string - type: 'null' title: Description description: Optional description for the monitor tags: items: type: string type: array title: Tags description: Tags to apply to the monitor for grouping or advanced features domain: type: string title: Domain description: Domain of the target URL for this monitor created: type: string format: date-time title: Created last_update: type: string format: date-time title: Last Update owner: type: string title: Owner workspace: type: string title: Workspace type: object required: - name - tags - domain - created - last_update - owner - workspace title: _MetaRepr models__mcp_test_setup___SetupRepr: properties: url: type: string title: Url description: Target URL for this monitor overall_timeout_ms: type: integer maximum: 120000.0 minimum: 0.0 title: Overall Timeout Ms description: Session timeout for the monitor (milliseconds) steps: items: oneOf: - $ref: '#/components/schemas/McpListToolsStepRepr' - $ref: '#/components/schemas/McpCallToolStepRepr' - $ref: '#/components/schemas/McpListResourcesStepRepr' - $ref: '#/components/schemas/McpListResourceTemplatesStepRepr' - $ref: '#/components/schemas/McpReadResourceStepRepr' - $ref: '#/components/schemas/McpListPromptsStepRepr' - $ref: '#/components/schemas/McpGetPromptStepRepr' - $ref: '#/components/schemas/McpWaitStepRepr' discriminator: propertyName: step_type mapping: call_tool: '#/components/schemas/McpCallToolStepRepr' get_prompt: '#/components/schemas/McpGetPromptStepRepr' list_prompts: '#/components/schemas/McpListPromptsStepRepr' list_resource_templates: '#/components/schemas/McpListResourceTemplatesStepRepr' list_resources: '#/components/schemas/McpListResourcesStepRepr' list_tools: '#/components/schemas/McpListToolsStepRepr' read_resource: '#/components/schemas/McpReadResourceStepRepr' wait: '#/components/schemas/McpWaitStepRepr' type: array minItems: 1 title: Steps description: Steps to execute during MCP session auth_id: anyOf: - type: string - type: 'null' title: Auth Id description: Auth Settings to use with the monitor token_id: anyOf: - type: string - type: 'null' title: Token Id description: Auth Token to use with the monitor type: object required: - url - overall_timeout_ms - steps title: _SetupRepr KeyStr: type: string description: URL-safe base64 Datastore key minLength: 3 maxLength: 400 pattern: ^[-A-Za-z0-9_]*={0,3}$ NullableKeyStr: type: string minLength: 3 maxLength: 400 pattern: ^[-A-Za-z0-9_]*={0,3}$ nullable: true KeyValuePair: type: object properties: key: type: string value: type: string ParameterList: oneOf: - type: array items: $ref: '#/components/schemas/KeyValuePair' - type: object additionalProperties: type: string CallMeta: type: object properties: name: type: string minLength: 1 maxLength: 400 tags: type: array uniqueItems: true items: type: string description: type: string maxLength: 1500 nullable: true workspace: type: string maxLength: 100 project_id: $ref: '#/components/schemas/KeyStr' domain: type: string format: hostname username: type: string created: type: string format: date-time readOnly: true last_update: type: string format: date-time readOnly: true CallRequest: type: object required: - url - method properties: method: type: string enum: - GET - HEAD - POST - PUT - DELETE - PATCH - OPTIONS - get - head - post - put - delete - patch - options url: oneOf: - type: string format: uri maxLength: 500 - type: object required: - scheme - hostname properties: scheme: type: string enum: - http - https hostname: type: string format: hostname port: type: integer minimum: 1 maximum: 65535 nullable: true path: type: string parameters: $ref: '#/components/schemas/ParameterList' headers: $ref: '#/components/schemas/ParameterList' body: type: string nullable: true auth_id: $ref: '#/components/schemas/NullableKeyStr' token_id: $ref: '#/components/schemas/NullableKeyStr' file_id: $ref: '#/components/schemas/NullableKeyStr' CallInput: type: object required: - meta - request properties: meta: $ref: '#/components/schemas/CallMeta' request: $ref: '#/components/schemas/CallRequest' CallOutput: allOf: - $ref: '#/components/schemas/CallInput' - type: object required: - id properties: id: $ref: '#/components/schemas/KeyStr' CallRunInput: type: object properties: location_id: type: string run_delay: type: integer minimum: 0 maximum: 86400 context: type: object additionalProperties: true CallRunOutput: type: object properties: call_id: $ref: '#/components/schemas/KeyStr' result_id: $ref: '#/components/schemas/KeyStr' location_id: type: string ScheduleMeta: type: object properties: name: type: string tags: type: array uniqueItems: true items: type: string project_id: $ref: '#/components/schemas/KeyStr' created: type: string format: date-time readOnly: true last_update: type: string format: date-time readOnly: true ScheduleConfig: type: object properties: target_ids: type: array items: $ref: '#/components/schemas/KeyStr' regions: type: array items: type: string locations: type: array items: type: string frequency: type: integer description: Execution interval in seconds (minimum 60) backoff_method: type: string nullable: true ScheduleInput: type: object properties: meta: $ref: '#/components/schemas/ScheduleMeta' schedule: $ref: '#/components/schemas/ScheduleConfig' ScheduleOutput: allOf: - $ref: '#/components/schemas/ScheduleInput' - type: object required: - id - meta properties: id: $ref: '#/components/schemas/KeyStr' DowntimeConfig: type: object required: - start_time - end_time properties: start_time: type: string pattern: \d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2} example: '2026-01-15T02:00:00' end_time: type: string pattern: \d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2} example: '2026-01-15T04:00:00' zone: type: string description: Timezone name (e.g. America/New_York) repeated: type: boolean repeat_days: type: integer DowntimeInput: type: object properties: meta: type: object properties: project_id: $ref: '#/components/schemas/KeyStr' downtime: $ref: '#/components/schemas/DowntimeConfig' DowntimeMeta: type: object properties: created: type: string format: date-time readOnly: true last_update: type: string format: date-time readOnly: true schedule: $ref: '#/components/schemas/KeyStr' DowntimeOutput: allOf: - $ref: '#/components/schemas/DowntimeInput' - type: object required: - id - meta - downtime properties: id: $ref: '#/components/schemas/KeyStr' meta: $ref: '#/components/schemas/DowntimeMeta' WebhookParameters: type: object properties: api_key: type: string maxLength: 400 app_key: type: string maxLength: 400 channel: type: string maxLength: 400 component_id: type: string maxLength: 400 data_set_name: type: string maxLength: 400 email_address: type: string maxLength: 4000 fails_in_a_row: type: string maxLength: 400 pattern: ^\d+$ flow_token: type: string maxLength: 400 http_header_1: type: string maxLength: 4096 http_header_2: type: string maxLength: 4096 http_header_3: type: string maxLength: 4096 integration_key: type: string maxLength: 400 integration_id: type: string maxLength: 400 page_id: type: string maxLength: 400 password: type: string maxLength: 400 routing_key: type: string maxLength: 400 severity: type: string enum: - critical - error - warning - info source_index: type: string maxLength: 400 subject_template: type: string maxLength: 400 text_template: type: string url: type: string maxLength: 400 user_key: type: string maxLength: 400 username: type: string maxLength: 400 workflow_id: $ref: '#/components/schemas/NullableKeyStr' call_id: $ref: '#/components/schemas/NullableKeyStr' token_id: $ref: '#/components/schemas/NullableKeyStr' WebhookConfig: type: object required: - type - enabled - alerts - parameters properties: type: type: string description: Integration type identifier example: slack enabled: type: boolean alerts: type: array items: type: string enum: - SLOW - WARNING - FAILED - TIMEOUT - ERROR - PASS - HEADERS - SSL_EXPIRY - AGENT_OFFLINE - AGENT_ONLINE parameters: $ref: '#/components/schemas/WebhookParameters' WebhookMeta: type: object properties: name: type: string minLength: 1 maxLength: 400 tags: type: array uniqueItems: true items: type: string include_tags: type: array uniqueItems: true items: type: string exclude_tags: type: array uniqueItems: true items: type: string created: type: string format: date-time readOnly: true last_update: type: string format: date-time readOnly: true global_settings: type: boolean readOnly: true WebhookInput: type: object required: - meta - webhook properties: meta: $ref: '#/components/schemas/WebhookMeta' webhook: $ref: '#/components/schemas/WebhookConfig' WebhookOutput: allOf: - $ref: '#/components/schemas/WebhookInput' - type: object required: - id properties: id: $ref: '#/components/schemas/KeyStr' WebhookTypeDescription: type: object properties: id: type: string name: type: string description: type: string AuthMeta: type: object properties: name: type: string minLength: 1 maxLength: 400 domain: type: string format: hostname description: type: string nullable: true maxLength: 1500 tags: type: array uniqueItems: true items: type: string documentation: $ref: '#/components/schemas/AuthDocumentation' project_id: $ref: '#/components/schemas/KeyStr' created: type: string format: date-time readOnly: true last_update: type: string format: date-time readOnly: true AuthSettings: type: object properties: auth_type: type: string description: Authentication type identifier example: OAUTH2 custom_variables: type: object additionalProperties: true additionalProperties: true AuthKeys: type: object properties: client_id: type: string nullable: true maxLength: 500 client_secret: type: string nullable: true maxLength: 500 AuthInput: type: object required: - meta - settings properties: meta: $ref: '#/components/schemas/AuthMeta' settings: $ref: '#/components/schemas/AuthSettings' keys: $ref: '#/components/schemas/AuthKeys' AuthOutput: allOf: - $ref: '#/components/schemas/AuthInput' - type: object required: - id properties: id: $ref: '#/components/schemas/KeyStr' ResultOutput: type: object properties: id: $ref: '#/components/schemas/KeyStr' result: type: string enum: - PASS - FAIL - WARN - ERROR - TIMEOUT - QUEUED created: type: string format: date-time response_time: type: integer description: Total response time in milliseconds http_code: type: integer test: $ref: '#/components/schemas/KeyStr' location_id: type: string StatsOutput: type: object properties: response_time: type: number description: Mean response time (ms) latency: type: number pass: type: integer fail: type: integer warn: type: integer error: type: integer total: type: integer PassFailStats: type: object properties: id: $ref: '#/components/schemas/KeyStr' pass: type: integer fail: type: integer warn: type: integer total: type: integer FileMeta: type: object properties: name: type: string description: type: string nullable: true project_id: $ref: '#/components/schemas/KeyStr' created: type: string format: date-time readOnly: true last_update: type: string format: date-time readOnly: true size: type: integer readOnly: true content_type: type: string readOnly: true FileOutput: type: object required: - id - meta properties: id: $ref: '#/components/schemas/KeyStr' meta: $ref: '#/components/schemas/FileMeta' IncidentOutput: type: object properties: id: $ref: '#/components/schemas/KeyStr' meta: type: object properties: name: type: string project_id: $ref: '#/components/schemas/KeyStr' created: type: string format: date-time last_update: type: string format: date-time incident: type: object properties: start_time: type: string format: date-time end_time: type: string format: date-time nullable: true state: type: string enum: - OPEN - RESOLVED severity: type: string enum: - CRITICAL - HIGH - MEDIUM - LOW IncidentInput: type: object properties: meta: type: object properties: name: type: string project_id: $ref: '#/components/schemas/KeyStr' incident: type: object properties: start_time: type: string format: date-time end_time: type: string format: date-time nullable: true state: type: string enum: - OPEN - RESOLVED severity: type: string enum: - CRITICAL - HIGH - MEDIUM - LOW WorkspaceVariable: type: object properties: name: type: string value: type: string WorkspaceOutput: type: object properties: name: type: string variables: type: array items: $ref: '#/components/schemas/WorkspaceVariable' ReportOutput: type: object properties: id: $ref: '#/components/schemas/KeyStr' meta: type: object properties: name: type: string description: type: string nullable: true project_id: $ref: '#/components/schemas/KeyStr' created: type: string format: date-time last_update: type: string format: date-time report: type: object additionalProperties: true ReportInput: type: object properties: meta: type: object properties: name: type: string description: type: string nullable: true project_id: $ref: '#/components/schemas/KeyStr' report: type: object additionalProperties: true WorkflowOutput: type: object properties: id: $ref: '#/components/schemas/KeyStr' meta: type: object properties: name: type: string description: type: string nullable: true tags: type: array items: type: string project_id: $ref: '#/components/schemas/KeyStr' created: type: string format: date-time last_update: type: string format: date-time workflow: type: object properties: call_ids: type: array items: $ref: '#/components/schemas/KeyStr' stop_on_failure: type: boolean WorkflowInput: type: object properties: meta: type: object properties: name: type: string description: type: string nullable: true tags: type: array items: type: string project_id: $ref: '#/components/schemas/KeyStr' workflow: type: object properties: call_ids: type: array items: $ref: '#/components/schemas/KeyStr' stop_on_failure: type: boolean AgentOutput: type: object properties: id: $ref: '#/components/schemas/KeyStr' meta: type: object properties: name: type: string description: type: string nullable: true project_id: $ref: '#/components/schemas/KeyStr' created: type: string format: date-time last_update: type: string format: date-time agent: type: object properties: location_id: type: string enabled: type: boolean last_seen: type: string format: date-time nullable: true AuditOutput: type: object properties: id: $ref: '#/components/schemas/KeyStr' resource_key: $ref: '#/components/schemas/KeyStr' action: type: string username: type: string created: type: string format: date-time changes: type: object additionalProperties: true OrganizationOutput: type: object properties: id: type: string meta: type: object properties: name: type: string created: type: string format: date-time last_update: type: string format: date-time org: type: object additionalProperties: true OrganizationInput: type: object properties: meta: type: object properties: name: type: string org: type: object additionalProperties: true ProjectOutput: type: object properties: id: $ref: '#/components/schemas/KeyStr' meta: type: object properties: name: type: string description: type: string nullable: true created: type: string format: date-time last_update: type: string format: date-time AccountOutput: type: object properties: email: type: string format: email display_name: type: string projects: type: array items: $ref: '#/components/schemas/ProjectOutput' ApiKeyOutput: type: object properties: id: $ref: '#/components/schemas/KeyStr' meta: type: object properties: name: type: string created: type: string format: date-time last_update: type: string format: date-time key: type: string description: The API key value (only returned on creation) ListMeta: type: object properties: next_cursor: type: string nullable: true more: type: boolean project_id: $ref: '#/components/schemas/KeyStr' ErrorResponse: type: object properties: error: type: object properties: message: type: string code: type: integer details: type: array items: type: string securitySchemes: OAuth2: type: oauth2 flows: authorizationCode: scopes: openid: OpenID Connect identity profile: User profile email: User email address authorizationUrl: https://auth.apimetrics.io/authorize?audience=https://client.apimetrics.io tokenUrl: https://auth.apimetrics.io/oauth/token ApiKey: type: apiKey in: header name: X-Api-Key parameters: projectId: name: project_id in: query description: Project key (required for project-scoped resources) schema: $ref: '#/components/schemas/KeyStr' cursor: name: cursor in: query description: Pagination cursor returned by a previous list response schema: type: string limit: name: limit in: query description: Maximum number of results (1–100) schema: type: integer minimum: 1 maximum: 100 default: 100 attributes: name: attributes in: query description: Comma-separated list of fields to include in the response schema: type: string callKey: name: test_key_str in: path required: true description: URL-safe Datastore key for an API call schema: $ref: '#/components/schemas/KeyStr' callId: name: call_id in: path required: true description: URL-safe Datastore key for an API call schema: $ref: '#/components/schemas/KeyStr' scheduleIdPath: name: schedule_id in: path required: true description: URL-safe Datastore key for a schedule schema: $ref: '#/components/schemas/KeyStr' downtimeKey: name: downtime_id in: path required: true description: URL-safe Datastore key for a scheduled downtime schema: $ref: '#/components/schemas/KeyStr' webhookKey: name: web_hook_key_str in: path required: true description: URL-safe Datastore key for a webhook schema: $ref: '#/components/schemas/KeyStr' authKey: name: sc_key_str in: path required: true description: URL-safe Datastore key for an auth / service config schema: $ref: '#/components/schemas/KeyStr' scKey: name: sc_key in: path required: true description: URL-safe Datastore key for an auth / service config schema: $ref: '#/components/schemas/KeyStr' fileKey: name: key_str in: path required: true description: URL-safe Datastore key for a file schema: $ref: '#/components/schemas/KeyStr' incidentId: name: incident_id in: path required: true description: URL-safe Datastore key for an incident schema: $ref: '#/components/schemas/KeyStr' workflowId: name: workflow_id in: path required: true description: URL-safe Datastore key for a workflow schema: $ref: '#/components/schemas/KeyStr' workflowKeyStr: name: workflow_key_str in: path required: true description: URL-safe Datastore key for a workflow schema: $ref: '#/components/schemas/KeyStr' apiKeyStr: name: key_str in: path required: true description: URL-safe Datastore key for an API key schema: $ref: '#/components/schemas/KeyStr' resultKey: name: result_key_str in: path required: true description: URL-safe Datastore key for a result schema: $ref: '#/components/schemas/KeyStr' agentKey: name: agent_key in: path required: true description: URL-safe Datastore key for a remote agent schema: $ref: '#/components/schemas/KeyStr' reportKey: name: report_id in: path required: true description: URL-safe Datastore key for a report schema: $ref: '#/components/schemas/KeyStr' orgId: name: org_id in: path required: true description: Organisation identifier schema: type: string subId: name: sub_id in: path required: true description: Project or organisation subscription ID schema: $ref: '#/components/schemas/KeyStr' responses: BadRequest: description: Invalid request body or parameters content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' Unauthorized: description: Missing or invalid authentication content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' Forbidden: description: Insufficient access level for this operation content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' NotFound: description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse'