{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"DevHelm","colors":{"primary":"#1ab892","light":"#1ab892","dark":"#0e8d6d"},"logo":{"light":"https://mintcdn.com/devhelm/hKVMw8Fv4Ljay4IC/logo/light.svg?fit=max\u0026auto=format\u0026n=hKVMw8Fv4Ljay4IC\u0026q=85\u0026s=b4cddf41cd9ac1092feee9e975fb8f0d","dark":"https://mintcdn.com/devhelm/hKVMw8Fv4Ljay4IC/logo/dark.svg?fit=max\u0026auto=format\u0026n=hKVMw8Fv4Ljay4IC\u0026q=85\u0026s=edcfc9cb271ad4b2b23e22fb978b94e1"},"favicon":"https://mintcdn.com/devhelm/hKVMw8Fv4Ljay4IC/favicon.svg?fit=max\u0026auto=format\u0026n=hKVMw8Fv4Ljay4IC\u0026q=85\u0026s=22c135847201c5055a451c346e71ddfb","api":{"openapi":["openapi/monitoring-api.json"],"playground":{"display":"simple"}},"navbar":{"links":[{"href":"https://devhelm.io","label":"Home"},{"href":"https://github.com/devhelmhq","type":"github"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.devhelm.io"}},"footer":{"socials":{"github":"https://github.com/devhelmhq","x":"https://x.com/devhelmhq","linkedin":"https://linkedin.com/company/devhelm"}},"seo":{"indexing":"navigable"},"errors":{"404":{"redirect":false,"title":"Page not found","description":"The page you're looking for may have moved. Try searching or browsing the sidebar."}},"contextual":{"options":["copy","view","chatgpt","claude","cursor"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"devhelm","hasAudioNarration":false,"actualSubdomain":"devhelm","customDomains":["docs.devhelm.io"],"gitSource":{"type":"github","owner":"devhelmhq","repo":"mono","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6af1b95d77b2275ecbccbdc0","clientVersion":"0.0.4094","searchFilterCounts":[{"language":"default","tag":"API Reference","count":392},{"language":"default","tag":"Docs","count":57},{"language":"default","tag":"Status Pages","count":51},{"language":"default","tag":"Guides","count":33},{"language":"default","tag":"Monitors","count":33},{"language":"default","tag":"Incidents","count":28},{"language":"default","tag":"Alert Channels","count":26},{"language":"default","tag":"Learn","count":26},{"language":"default","tag":"Monitoring","count":25},{"language":"default","tag":"CLI","count":24}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sidebar-group-header{text-transform:uppercase;letter-spacing:0.04em}.eyebrow{text-transform:uppercase}li .group{margin-bottom:0rem!important;padding-bottom:0.25rem!important}th{text-align:left}tr{border-bottom:1px solid var(--border-color, rgba(128, 128, 128, 0.15))}"}],"page":{"pagePath":"api-reference/sso-connection-admin-controller/add-an-idp-signing-certificate","slug":"/api-reference/sso-connection-admin-controller/add-an-idp-signing-certificate","pageMetadata":{"title":"Add an IdP signing certificate","description":null,"deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/status-pages/{id}/sso-connections/{connectionId}/certificates","href":"/api-reference/sso-connection-admin-controller/add-an-idp-signing-certificate","autogeneratedByOpenApi":true},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Add an IdP signing certificate","description":null,"deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/status-pages/{id}/sso-connections/{connectionId}/certificates","href":"/api-reference/sso-connection-admin-controller/add-an-idp-signing-certificate","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["sso-connection-admin-controller"],"summary":"Add an IdP signing certificate","operationId":"addSsoCertificate","parameters":["e600d151-7255-42eb-842c-0ff2c0da7e8c","c3037aa8-1f3d-4fa4-9e42-b8ac59907a0b","863ae088-f666-4914-9543-55b857f0c473","a4cad526-96c1-47e8-a701-d70c96e1fed1"],"requestBody":"5219e637-936b-453d-b659-e02ce613110c","responses":{"201":"28361cdb-0d56-49a7-9a7b-59955ef3477d","400":"12971f13-4794-4ad5-b5db-8ccae25d1dad","401":"c1db1436-2cd2-480c-b6f7-456e75c4171f","402":"1052466c-2781-4e97-9c83-c22b85101d4b","403":"779478fe-7e86-4539-8b42-204d64a8579f","404":"d67c2484-ac9d-4b28-bde5-2fa267b27395","409":"6609b426-852b-46a5-a866-39f4102d6ec5","410":"1224b6f0-e8cf-4be0-94b6-77bff19b5ba3","429":"0e452197-5bcc-464f-b667-66118cfa302a","500":"03eaa6b9-fa53-462d-8650-1f556096e91a","502":"3c767743-f0cb-4509-8307-b599288dabbd","503":"7152ff1c-52ec-48ff-9b6b-e2e19265a9ca"},"method":"post","type":"path","servers":["2ec8e7e4-72dd-46f8-a872-b7c617f50f19"],"security":["7cd22f3e-dd62-4137-8c12-3496b18d074a"],"path":"/api/v1/status-pages/{id}/sso-connections/{connectionId}/certificates","baseUrlOptions":["https://api.devhelm.io"],"title":"Add an IdP signing certificate","description":"","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"e600d151-7255-42eb-842c-0ff2c0da7e8c":{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"","typeLabel":"string\u003cuuid>"}},"c3037aa8-1f3d-4fa4-9e42-b8ac59907a0b":{"name":"connectionId","in":"path","required":true,"schema":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"","typeLabel":"string\u003cuuid>"}},"863ae088-f666-4914-9543-55b857f0c473":{"name":"Idempotency-Key","in":"header","description":"Replays the stored response for 24h when the same key is sent again (1–255 visible ASCII)","required":false,"schema":{"type":"string","isRequired":false,"description":"Replays the stored response for 24h when the same key is sent again (1–255 visible ASCII)","uniqueKey":"","typeLabel":"string"}},"a4cad526-96c1-47e8-a701-d70c96e1fed1":{"name":"X-DevHelm-Client","in":"header","description":"Calling surface and version, e.g. cli/1.4.0 or sdk-js/2.0.0","required":false,"schema":{"type":"string","isRequired":false,"description":"Calling surface and version, e.g. cli/1.4.0 or sdk-js/2.0.0","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"content":{"application/json":{"schema":{"required":["certificate"],"type":"object","properties":{"certificate":{"maxLength":16384,"minLength":0,"type":"string","description":"IdP signing certificate as PEM or bare base64 DER","isRequired":true,"uniqueKey":"certificate","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"certificate":"\u003cstring>"}}},"exampleType":"generated"}},"required":true,"exampleType":"generated"},"responses":{"28361cdb-0d56-49a7-9a7b-59955ef3477d":{"description":"Created","content":{"*/*":{"schema":{"required":["data"],"type":"object","properties":{"data":{"required":["createdAt","fingerprintSha256","id","notAfter","notBefore","source","subject"],"type":"object","properties":{"id":{"type":"string","description":"Certificate identifier","format":"uuid","isRequired":true,"uniqueKey":"data.id","typeLabel":"string\u003cuuid>"},"fingerprintSha256":{"type":"string","description":"SHA-256 fingerprint as lowercase hex","isRequired":true,"uniqueKey":"data.fingerprintSha256","typeLabel":"string"},"subject":{"type":"string","description":"Certificate subject","isRequired":true,"uniqueKey":"data.subject","typeLabel":"string"},"notBefore":{"type":"string","description":"Start of validity","format":"date-time","isRequired":true,"uniqueKey":"data.notBefore","typeLabel":"string\u003cdate-time>"},"notAfter":{"type":"string","description":"End of validity","format":"date-time","isRequired":true,"uniqueKey":"data.notAfter","typeLabel":"string\u003cdate-time>"},"source":{"type":"string","description":"Whether the IdP metadata or an admin supplied it","enum":["METADATA","MANUAL"],"isRequired":true,"uniqueKey":"data.source","typeLabel":"enum\u003cstring>"},"createdAt":{"type":"string","description":"When the certificate was stored","format":"date-time","isRequired":true,"uniqueKey":"data.createdAt","typeLabel":"string\u003cdate-time>"}},"description":"IdP signing certificates","isRequired":true,"uniqueKey":"data","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"data":{"id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","fingerprintSha256":"\u003cstring>","subject":"\u003cstring>","notBefore":"2023-11-07T05:31:56Z","notAfter":"2023-11-07T05:31:56Z","source":"METADATA","createdAt":"2023-11-07T05:31:56Z"}}}},"exampleType":"generated"}},"exampleType":"generated"},"12971f13-4794-4ad5-b5db-8ccae25d1dad":{"description":"Bad request — the payload failed validation","content":{"application/json":{"schema":{"required":["category","code","message","status","timestamp","retryable"],"type":"object","properties":{"status":{"type":"integer","description":"HTTP status code (mirrors the response status line)","format":"int32","example":404,"isRequired":true,"uniqueKey":"status","typeLabel":"integer\u003cint32>"},"code":{"type":"string","description":"Stable machine code for this error, such as NOT_FOUND or SYNTHETICS_USAGE_CAPPED","example":"NOT_FOUND","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"category":{"type":"string","description":"Machine class clients use to choose the next action","enum":["validation","blocked","auth","permission","ownership","plan","quota","rate_limit","conflict","confirmation_required","not_found","gone","platform"],"isRequired":true,"uniqueKey":"category","typeLabel":"enum\u003cstring>"},"retryable":{"type":"boolean","description":"Whether a later attempt can succeed without changing the request","example":false,"isRequired":true,"uniqueKey":"retryable","typeLabel":"boolean"},"message":{"type":"string","description":"Human-readable error message; safe to surface to end users","example":"Monitor not found","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"timestamp":{"type":"integer","description":"Server time when the error was produced (epoch milliseconds)","format":"int64","example":1737302400000,"isRequired":true,"uniqueKey":"timestamp","typeLabel":"integer\u003cint64>"},"requestId":{"oneOf":[{"type":"string","description":"Opaque per-request id; same value as the X-Request-Id response header. Use in support tickets.","example":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a","uniqueKey":"requestId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Opaque per-request id; same value as the X-Request-Id response header. Use in support tickets.","example":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a","uniqueKey":"requestId.oneOf.1","typeLabel":"null"}],"uniqueKey":"requestId","typeLabel":"string | null"},"errors":{"oneOf":[{"type":"array","description":"Structured per-field rejections; populated for validation errors, null otherwise","items":{"oneOf":[{"type":"object","description":"One structured validation rejection","required":["code","message"],"properties":{"code":{"minLength":1,"type":"string","description":"Stable machine-readable code; see ValidationErrorCode for the registry","example":"MONITOR_HEARTBEAT_GRACE_EXCEEDS_INTERVAL","isRequired":true,"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.code","typeLabel":"string"},"message":{"minLength":1,"type":"string","description":"Human-readable message; safe to surface to end users","isRequired":true,"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.message","typeLabel":"string"},"field":{"oneOf":[{"type":"string","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod","uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.field.oneOf.0","typeLabel":"string"},{"type":"null","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod","uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.field.oneOf.1","typeLabel":"null"}],"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.field","typeLabel":"string | null"}},"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"errors.oneOf.0.items.[INDEX]","typeLabel":"object | null"},"uniqueKey":"errors.oneOf.0","typeLabel":"(object | null)[]"},{"type":"null","description":"Structured per-field rejections; populated for validation errors, null otherwise","items":{"oneOf":[{"type":"object","description":"One structured validation rejection","required":["code","message"],"properties":{"code":{"minLength":1,"type":"string","description":"Stable machine-readable code; see ValidationErrorCode for the registry","example":"MONITOR_HEARTBEAT_GRACE_EXCEEDS_INTERVAL"},"field":{"oneOf":[{"type":"string","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod"},{"type":"null","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod"}]},"message":{"minLength":1,"type":"string","description":"Human-readable message; safe to surface to end users"}}},{"type":"null"}]},"uniqueKey":"errors.oneOf.1","typeLabel":"null"}],"uniqueKey":"errors","typeLabel":"(object | null)[] | null"},"retryAfterSeconds":{"oneOf":[{"type":"integer","description":"Seconds to wait before retrying a rate limit","format":"int64","example":30,"uniqueKey":"retryAfterSeconds.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Seconds to wait before retrying a rate limit","format":"int64","example":30,"uniqueKey":"retryAfterSeconds.oneOf.1","typeLabel":"null"}],"uniqueKey":"retryAfterSeconds","typeLabel":"integer\u003cint64> | null"},"resource":{"oneOf":[{"type":"string","description":"Meter or resource this limit applies to","example":"browser_runs","uniqueKey":"resource.oneOf.0","typeLabel":"string"},{"type":"null","description":"Meter or resource this limit applies to","example":"browser_runs","uniqueKey":"resource.oneOf.1","typeLabel":"null"}],"uniqueKey":"resource","typeLabel":"string | null"},"used":{"oneOf":[{"type":"integer","description":"Amount used in the current period","format":"int64","example":1000,"uniqueKey":"used.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Amount used in the current period","format":"int64","example":1000,"uniqueKey":"used.oneOf.1","typeLabel":"null"}],"uniqueKey":"used","typeLabel":"integer\u003cint64> | null"},"limit":{"oneOf":[{"type":"integer","description":"Maximum allowed for this period or plan","format":"int64","example":1000,"uniqueKey":"limit.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Maximum allowed for this period or plan","format":"int64","example":1000,"uniqueKey":"limit.oneOf.1","typeLabel":"null"}],"uniqueKey":"limit","typeLabel":"integer\u003cint64> | null"},"resetsAt":{"oneOf":[{"type":"string","description":"When this quota window resumes (ISO-8601)","example":"2026-11-01T00:00:00Z","uniqueKey":"resetsAt.oneOf.0","typeLabel":"string"},{"type":"null","description":"When this quota window resumes (ISO-8601)","example":"2026-11-01T00:00:00Z","uniqueKey":"resetsAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"resetsAt","typeLabel":"string | null"},"plan":{"oneOf":[{"type":"string","description":"Plan this refusal was evaluated against","example":"FREE","uniqueKey":"plan.oneOf.0","typeLabel":"string"},{"type":"null","description":"Plan this refusal was evaluated against","example":"FREE","uniqueKey":"plan.oneOf.1","typeLabel":"null"}],"uniqueKey":"plan","typeLabel":"string | null"},"upgradeUrl":{"oneOf":[{"type":"string","description":"Page where an admin can change the plan","example":"https://app.devhelm.io/settings/billing","uniqueKey":"upgradeUrl.oneOf.0","typeLabel":"string"},{"type":"null","description":"Page where an admin can change the plan","example":"https://app.devhelm.io/settings/billing","uniqueKey":"upgradeUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"upgradeUrl","typeLabel":"string | null"},"canRaise":{"oneOf":[{"type":"string","description":"Role that can raise this limit","example":"org admin","uniqueKey":"canRaise.oneOf.0","typeLabel":"string"},{"type":"null","description":"Role that can raise this limit","example":"org admin","uniqueKey":"canRaise.oneOf.1","typeLabel":"null"}],"uniqueKey":"canRaise","typeLabel":"string | null"},"owner":{"oneOf":[{"type":"string","description":"Who owns the resource when a write is refused","uniqueKey":"owner.oneOf.0","typeLabel":"string"},{"type":"null","description":"Who owns the resource when a write is refused","uniqueKey":"owner.oneOf.1","typeLabel":"null"}],"uniqueKey":"owner","typeLabel":"string | null"},"required":{"oneOf":[{"type":"string","description":"Missing scope, secret key, or other required value","uniqueKey":"required.oneOf.0","typeLabel":"string"},{"type":"null","description":"Missing scope, secret key, or other required value","uniqueKey":"required.oneOf.1","typeLabel":"null"}],"uniqueKey":"required","typeLabel":"string | null"},"have":{"oneOf":[{"type":"integer","description":"Current amount compared with the plan limit","format":"int64","example":10,"uniqueKey":"have.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Current amount compared with the plan limit","format":"int64","example":10,"uniqueKey":"have.oneOf.1","typeLabel":"null"}],"uniqueKey":"have","typeLabel":"integer\u003cint64> | null"},"reason":{"oneOf":[{"type":"string","description":"Why permission was refused: scope or role","example":"role","enum":["scope","role"],"uniqueKey":"reason.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Why permission was refused: scope or role","example":"role","enum":["scope","role"],"uniqueKey":"reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"reason","typeLabel":"enum\u003cstring> | null"},"next":{"oneOf":[{"type":"object","description":"Command and documentation that fix this error","properties":{"command":{"oneOf":[{"type":"string","description":"Command that fixes this error","example":"devhelm account usage","uniqueKey":"next.oneOf.0.command.oneOf.0","typeLabel":"string"},{"type":"null","description":"Command that fixes this error","example":"devhelm account usage","uniqueKey":"next.oneOf.0.command.oneOf.1","typeLabel":"null"}],"uniqueKey":"next.oneOf.0.command","typeLabel":"string | null"},"docs":{"oneOf":[{"type":"string","description":"Documentation page for this error","example":"https://docs.devhelm.io/errors/SYNTHETICS_USAGE_CAPPED","uniqueKey":"next.oneOf.0.docs.oneOf.0","typeLabel":"string"},{"type":"null","description":"Documentation page for this error","example":"https://docs.devhelm.io/errors/SYNTHETICS_USAGE_CAPPED","uniqueKey":"next.oneOf.0.docs.oneOf.1","typeLabel":"null"}],"uniqueKey":"next.oneOf.0.docs","typeLabel":"string | null"}},"uniqueKey":"next.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"next.oneOf.1","typeLabel":"null"}],"uniqueKey":"next","typeLabel":"object | null"},"details":{"oneOf":[{"type":"object","additionalProperties":{"oneOf":[{"type":"object","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.0.additionalProperties.oneOf.0","typeLabel":"object"},{"type":"null","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.0.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.0.additionalProperties","typeLabel":"object | null"},"description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.0","typeLabel":"object"},{"type":"null","additionalProperties":{"oneOf":[{"type":"object","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.1.additionalProperties.oneOf.0","typeLabel":"object"},{"type":"null","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.1.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.additionalProperties","typeLabel":"object | null"},"description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.1","typeLabel":"null"}],"uniqueKey":"details","typeLabel":"object | null"},"expiredAt":{"oneOf":[{"type":"string","description":"When this evidence expired","format":"date-time","uniqueKey":"expiredAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","description":"When this evidence expired","format":"date-time","uniqueKey":"expiredAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"expiredAt","typeLabel":"string\u003cdate-time> | null"},"policy":{"oneOf":[{"type":"string","description":"Retention written when the artifact was saved, such as P7D","uniqueKey":"policy.oneOf.0","typeLabel":"string"},{"type":"null","description":"Retention written when the artifact was saved, such as P7D","uniqueKey":"policy.oneOf.1","typeLabel":"null"}],"uniqueKey":"policy","typeLabel":"string | null"}},"description":"Uniform error envelope returned for every non-2xx response","example":{"status":404,"code":"NOT_FOUND","category":"not_found","message":"Monitor not found","timestamp":1737302400000,"requestId":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"status":404,"code":"NOT_FOUND","category":"not_found","message":"Monitor not found","timestamp":1737302400000,"requestId":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"}}},"exampleType":"generated"}},"exampleType":"generated"},"c1db1436-2cd2-480c-b6f7-456e75c4171f":{"description":"Unauthorized — missing or invalid credentials","content":{"application/json":{"schema":{"required":["category","code","message","status","timestamp","retryable"],"type":"object","properties":{"status":{"type":"integer","description":"HTTP status code (mirrors the response status line)","format":"int32","example":404,"isRequired":true,"uniqueKey":"status","typeLabel":"integer\u003cint32>"},"code":{"type":"string","description":"Stable machine code for this error, such as NOT_FOUND or SYNTHETICS_USAGE_CAPPED","example":"NOT_FOUND","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"category":{"type":"string","description":"Machine class clients use to choose the next action","enum":["validation","blocked","auth","permission","ownership","plan","quota","rate_limit","conflict","confirmation_required","not_found","gone","platform"],"isRequired":true,"uniqueKey":"category","typeLabel":"enum\u003cstring>"},"retryable":{"type":"boolean","description":"Whether a later attempt can succeed without changing the request","example":false,"isRequired":true,"uniqueKey":"retryable","typeLabel":"boolean"},"message":{"type":"string","description":"Human-readable error message; safe to surface to end users","example":"Monitor not found","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"timestamp":{"type":"integer","description":"Server time when the error was produced (epoch milliseconds)","format":"int64","example":1737302400000,"isRequired":true,"uniqueKey":"timestamp","typeLabel":"integer\u003cint64>"},"requestId":{"oneOf":[{"type":"string","description":"Opaque per-request id; same value as the X-Request-Id response header. Use in support tickets.","example":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a","uniqueKey":"requestId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Opaque per-request id; same value as the X-Request-Id response header. Use in support tickets.","example":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a","uniqueKey":"requestId.oneOf.1","typeLabel":"null"}],"uniqueKey":"requestId","typeLabel":"string | null"},"errors":{"oneOf":[{"type":"array","description":"Structured per-field rejections; populated for validation errors, null otherwise","items":{"oneOf":[{"type":"object","description":"One structured validation rejection","required":["code","message"],"properties":{"code":{"minLength":1,"type":"string","description":"Stable machine-readable code; see ValidationErrorCode for the registry","example":"MONITOR_HEARTBEAT_GRACE_EXCEEDS_INTERVAL","isRequired":true,"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.code","typeLabel":"string"},"message":{"minLength":1,"type":"string","description":"Human-readable message; safe to surface to end users","isRequired":true,"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.message","typeLabel":"string"},"field":{"oneOf":[{"type":"string","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod","uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.field.oneOf.0","typeLabel":"string"},{"type":"null","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod","uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.field.oneOf.1","typeLabel":"null"}],"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.field","typeLabel":"string | null"}},"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"errors.oneOf.0.items.[INDEX]","typeLabel":"object | null"},"uniqueKey":"errors.oneOf.0","typeLabel":"(object | null)[]"},{"type":"null","description":"Structured per-field rejections; populated for validation errors, null otherwise","items":{"oneOf":[{"type":"object","description":"One structured validation rejection","required":["code","message"],"properties":{"code":{"minLength":1,"type":"string","description":"Stable machine-readable code; see ValidationErrorCode for the registry","example":"MONITOR_HEARTBEAT_GRACE_EXCEEDS_INTERVAL"},"field":{"oneOf":[{"type":"string","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod"},{"type":"null","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod"}]},"message":{"minLength":1,"type":"string","description":"Human-readable message; safe to surface to end users"}}},{"type":"null"}]},"uniqueKey":"errors.oneOf.1","typeLabel":"null"}],"uniqueKey":"errors","typeLabel":"(object | null)[] | null"},"retryAfterSeconds":{"oneOf":[{"type":"integer","description":"Seconds to wait before retrying a rate limit","format":"int64","example":30,"uniqueKey":"retryAfterSeconds.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Seconds to wait before retrying a rate limit","format":"int64","example":30,"uniqueKey":"retryAfterSeconds.oneOf.1","typeLabel":"null"}],"uniqueKey":"retryAfterSeconds","typeLabel":"integer\u003cint64> | null"},"resource":{"oneOf":[{"type":"string","description":"Meter or resource this limit applies to","example":"browser_runs","uniqueKey":"resource.oneOf.0","typeLabel":"string"},{"type":"null","description":"Meter or resource this limit applies to","example":"browser_runs","uniqueKey":"resource.oneOf.1","typeLabel":"null"}],"uniqueKey":"resource","typeLabel":"string | null"},"used":{"oneOf":[{"type":"integer","description":"Amount used in the current period","format":"int64","example":1000,"uniqueKey":"used.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Amount used in the current period","format":"int64","example":1000,"uniqueKey":"used.oneOf.1","typeLabel":"null"}],"uniqueKey":"used","typeLabel":"integer\u003cint64> | null"},"limit":{"oneOf":[{"type":"integer","description":"Maximum allowed for this period or plan","format":"int64","example":1000,"uniqueKey":"limit.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Maximum allowed for this period or plan","format":"int64","example":1000,"uniqueKey":"limit.oneOf.1","typeLabel":"null"}],"uniqueKey":"limit","typeLabel":"integer\u003cint64> | null"},"resetsAt":{"oneOf":[{"type":"string","description":"When this quota window resumes (ISO-8601)","example":"2026-11-01T00:00:00Z","uniqueKey":"resetsAt.oneOf.0","typeLabel":"string"},{"type":"null","description":"When this quota window resumes (ISO-8601)","example":"2026-11-01T00:00:00Z","uniqueKey":"resetsAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"resetsAt","typeLabel":"string | null"},"plan":{"oneOf":[{"type":"string","description":"Plan this refusal was evaluated against","example":"FREE","uniqueKey":"plan.oneOf.0","typeLabel":"string"},{"type":"null","description":"Plan this refusal was evaluated against","example":"FREE","uniqueKey":"plan.oneOf.1","typeLabel":"null"}],"uniqueKey":"plan","typeLabel":"string | null"},"upgradeUrl":{"oneOf":[{"type":"string","description":"Page where an admin can change the plan","example":"https://app.devhelm.io/settings/billing","uniqueKey":"upgradeUrl.oneOf.0","typeLabel":"string"},{"type":"null","description":"Page where an admin can change the plan","example":"https://app.devhelm.io/settings/billing","uniqueKey":"upgradeUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"upgradeUrl","typeLabel":"string | null"},"canRaise":{"oneOf":[{"type":"string","description":"Role that can raise this limit","example":"org admin","uniqueKey":"canRaise.oneOf.0","typeLabel":"string"},{"type":"null","description":"Role that can raise this limit","example":"org admin","uniqueKey":"canRaise.oneOf.1","typeLabel":"null"}],"uniqueKey":"canRaise","typeLabel":"string | null"},"owner":{"oneOf":[{"type":"string","description":"Who owns the resource when a write is refused","uniqueKey":"owner.oneOf.0","typeLabel":"string"},{"type":"null","description":"Who owns the resource when a write is refused","uniqueKey":"owner.oneOf.1","typeLabel":"null"}],"uniqueKey":"owner","typeLabel":"string | null"},"required":{"oneOf":[{"type":"string","description":"Missing scope, secret key, or other required value","uniqueKey":"required.oneOf.0","typeLabel":"string"},{"type":"null","description":"Missing scope, secret key, or other required value","uniqueKey":"required.oneOf.1","typeLabel":"null"}],"uniqueKey":"required","typeLabel":"string | null"},"have":{"oneOf":[{"type":"integer","description":"Current amount compared with the plan limit","format":"int64","example":10,"uniqueKey":"have.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Current amount compared with the plan limit","format":"int64","example":10,"uniqueKey":"have.oneOf.1","typeLabel":"null"}],"uniqueKey":"have","typeLabel":"integer\u003cint64> | null"},"reason":{"oneOf":[{"type":"string","description":"Why permission was refused: scope or role","example":"role","enum":["scope","role"],"uniqueKey":"reason.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Why permission was refused: scope or role","example":"role","enum":["scope","role"],"uniqueKey":"reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"reason","typeLabel":"enum\u003cstring> | null"},"next":{"oneOf":[{"type":"object","description":"Command and documentation that fix this error","properties":{"command":{"oneOf":[{"type":"string","description":"Command that fixes this error","example":"devhelm account usage","uniqueKey":"next.oneOf.0.command.oneOf.0","typeLabel":"string"},{"type":"null","description":"Command that fixes this error","example":"devhelm account usage","uniqueKey":"next.oneOf.0.command.oneOf.1","typeLabel":"null"}],"uniqueKey":"next.oneOf.0.command","typeLabel":"string | null"},"docs":{"oneOf":[{"type":"string","description":"Documentation page for this error","example":"https://docs.devhelm.io/errors/SYNTHETICS_USAGE_CAPPED","uniqueKey":"next.oneOf.0.docs.oneOf.0","typeLabel":"string"},{"type":"null","description":"Documentation page for this error","example":"https://docs.devhelm.io/errors/SYNTHETICS_USAGE_CAPPED","uniqueKey":"next.oneOf.0.docs.oneOf.1","typeLabel":"null"}],"uniqueKey":"next.oneOf.0.docs","typeLabel":"string | null"}},"uniqueKey":"next.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"next.oneOf.1","typeLabel":"null"}],"uniqueKey":"next","typeLabel":"object | null"},"details":{"oneOf":[{"type":"object","additionalProperties":{"oneOf":[{"type":"object","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.0.additionalProperties.oneOf.0","typeLabel":"object"},{"type":"null","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.0.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.0.additionalProperties","typeLabel":"object | null"},"description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.0","typeLabel":"object"},{"type":"null","additionalProperties":{"oneOf":[{"type":"object","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.1.additionalProperties.oneOf.0","typeLabel":"object"},{"type":"null","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.1.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.additionalProperties","typeLabel":"object | null"},"description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.1","typeLabel":"null"}],"uniqueKey":"details","typeLabel":"object | null"},"expiredAt":{"oneOf":[{"type":"string","description":"When this evidence expired","format":"date-time","uniqueKey":"expiredAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","description":"When this evidence expired","format":"date-time","uniqueKey":"expiredAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"expiredAt","typeLabel":"string\u003cdate-time> | null"},"policy":{"oneOf":[{"type":"string","description":"Retention written when the artifact was saved, such as P7D","uniqueKey":"policy.oneOf.0","typeLabel":"string"},{"type":"null","description":"Retention written when the artifact was saved, such as P7D","uniqueKey":"policy.oneOf.1","typeLabel":"null"}],"uniqueKey":"policy","typeLabel":"string | null"}},"description":"Uniform error envelope returned for every non-2xx response","example":{"status":404,"code":"NOT_FOUND","category":"not_found","message":"Monitor not found","timestamp":1737302400000,"requestId":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"status":404,"code":"NOT_FOUND","category":"not_found","message":"Monitor not found","timestamp":1737302400000,"requestId":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"}}},"exampleType":"generated"}},"exampleType":"generated"},"1052466c-2781-4e97-9c83-c22b85101d4b":{"description":"Payment required — the plan or quota does not allow this","content":{"application/json":{"schema":{"required":["category","code","message","status","timestamp","retryable"],"type":"object","properties":{"status":{"type":"integer","description":"HTTP status code (mirrors the response status line)","format":"int32","example":404,"isRequired":true,"uniqueKey":"status","typeLabel":"integer\u003cint32>"},"code":{"type":"string","description":"Stable machine code for this error, such as NOT_FOUND or SYNTHETICS_USAGE_CAPPED","example":"NOT_FOUND","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"category":{"type":"string","description":"Machine class clients use to choose the next action","enum":["validation","blocked","auth","permission","ownership","plan","quota","rate_limit","conflict","confirmation_required","not_found","gone","platform"],"isRequired":true,"uniqueKey":"category","typeLabel":"enum\u003cstring>"},"retryable":{"type":"boolean","description":"Whether a later attempt can succeed without changing the request","example":false,"isRequired":true,"uniqueKey":"retryable","typeLabel":"boolean"},"message":{"type":"string","description":"Human-readable error message; safe to surface to end users","example":"Monitor not found","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"timestamp":{"type":"integer","description":"Server time when the error was produced (epoch milliseconds)","format":"int64","example":1737302400000,"isRequired":true,"uniqueKey":"timestamp","typeLabel":"integer\u003cint64>"},"requestId":{"oneOf":[{"type":"string","description":"Opaque per-request id; same value as the X-Request-Id response header. Use in support tickets.","example":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a","uniqueKey":"requestId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Opaque per-request id; same value as the X-Request-Id response header. Use in support tickets.","example":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a","uniqueKey":"requestId.oneOf.1","typeLabel":"null"}],"uniqueKey":"requestId","typeLabel":"string | null"},"errors":{"oneOf":[{"type":"array","description":"Structured per-field rejections; populated for validation errors, null otherwise","items":{"oneOf":[{"type":"object","description":"One structured validation rejection","required":["code","message"],"properties":{"code":{"minLength":1,"type":"string","description":"Stable machine-readable code; see ValidationErrorCode for the registry","example":"MONITOR_HEARTBEAT_GRACE_EXCEEDS_INTERVAL","isRequired":true,"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.code","typeLabel":"string"},"message":{"minLength":1,"type":"string","description":"Human-readable message; safe to surface to end users","isRequired":true,"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.message","typeLabel":"string"},"field":{"oneOf":[{"type":"string","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod","uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.field.oneOf.0","typeLabel":"string"},{"type":"null","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod","uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.field.oneOf.1","typeLabel":"null"}],"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.field","typeLabel":"string | null"}},"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"errors.oneOf.0.items.[INDEX]","typeLabel":"object | null"},"uniqueKey":"errors.oneOf.0","typeLabel":"(object | null)[]"},{"type":"null","description":"Structured per-field rejections; populated for validation errors, null otherwise","items":{"oneOf":[{"type":"object","description":"One structured validation rejection","required":["code","message"],"properties":{"code":{"minLength":1,"type":"string","description":"Stable machine-readable code; see ValidationErrorCode for the registry","example":"MONITOR_HEARTBEAT_GRACE_EXCEEDS_INTERVAL"},"field":{"oneOf":[{"type":"string","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod"},{"type":"null","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod"}]},"message":{"minLength":1,"type":"string","description":"Human-readable message; safe to surface to end users"}}},{"type":"null"}]},"uniqueKey":"errors.oneOf.1","typeLabel":"null"}],"uniqueKey":"errors","typeLabel":"(object | null)[] | null"},"retryAfterSeconds":{"oneOf":[{"type":"integer","description":"Seconds to wait before retrying a rate limit","format":"int64","example":30,"uniqueKey":"retryAfterSeconds.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Seconds to wait before retrying a rate limit","format":"int64","example":30,"uniqueKey":"retryAfterSeconds.oneOf.1","typeLabel":"null"}],"uniqueKey":"retryAfterSeconds","typeLabel":"integer\u003cint64> | null"},"resource":{"oneOf":[{"type":"string","description":"Meter or resource this limit applies to","example":"browser_runs","uniqueKey":"resource.oneOf.0","typeLabel":"string"},{"type":"null","description":"Meter or resource this limit applies to","example":"browser_runs","uniqueKey":"resource.oneOf.1","typeLabel":"null"}],"uniqueKey":"resource","typeLabel":"string | null"},"used":{"oneOf":[{"type":"integer","description":"Amount used in the current period","format":"int64","example":1000,"uniqueKey":"used.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Amount used in the current period","format":"int64","example":1000,"uniqueKey":"used.oneOf.1","typeLabel":"null"}],"uniqueKey":"used","typeLabel":"integer\u003cint64> | null"},"limit":{"oneOf":[{"type":"integer","description":"Maximum allowed for this period or plan","format":"int64","example":1000,"uniqueKey":"limit.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Maximum allowed for this period or plan","format":"int64","example":1000,"uniqueKey":"limit.oneOf.1","typeLabel":"null"}],"uniqueKey":"limit","typeLabel":"integer\u003cint64> | null"},"resetsAt":{"oneOf":[{"type":"string","description":"When this quota window resumes (ISO-8601)","example":"2026-11-01T00:00:00Z","uniqueKey":"resetsAt.oneOf.0","typeLabel":"string"},{"type":"null","description":"When this quota window resumes (ISO-8601)","example":"2026-11-01T00:00:00Z","uniqueKey":"resetsAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"resetsAt","typeLabel":"string | null"},"plan":{"oneOf":[{"type":"string","description":"Plan this refusal was evaluated against","example":"FREE","uniqueKey":"plan.oneOf.0","typeLabel":"string"},{"type":"null","description":"Plan this refusal was evaluated against","example":"FREE","uniqueKey":"plan.oneOf.1","typeLabel":"null"}],"uniqueKey":"plan","typeLabel":"string | null"},"upgradeUrl":{"oneOf":[{"type":"string","description":"Page where an admin can change the plan","example":"https://app.devhelm.io/settings/billing","uniqueKey":"upgradeUrl.oneOf.0","typeLabel":"string"},{"type":"null","description":"Page where an admin can change the plan","example":"https://app.devhelm.io/settings/billing","uniqueKey":"upgradeUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"upgradeUrl","typeLabel":"string | null"},"canRaise":{"oneOf":[{"type":"string","description":"Role that can raise this limit","example":"org admin","uniqueKey":"canRaise.oneOf.0","typeLabel":"string"},{"type":"null","description":"Role that can raise this limit","example":"org admin","uniqueKey":"canRaise.oneOf.1","typeLabel":"null"}],"uniqueKey":"canRaise","typeLabel":"string | null"},"owner":{"oneOf":[{"type":"string","description":"Who owns the resource when a write is refused","uniqueKey":"owner.oneOf.0","typeLabel":"string"},{"type":"null","description":"Who owns the resource when a write is refused","uniqueKey":"owner.oneOf.1","typeLabel":"null"}],"uniqueKey":"owner","typeLabel":"string | null"},"required":{"oneOf":[{"type":"string","description":"Missing scope, secret key, or other required value","uniqueKey":"required.oneOf.0","typeLabel":"string"},{"type":"null","description":"Missing scope, secret key, or other required value","uniqueKey":"required.oneOf.1","typeLabel":"null"}],"uniqueKey":"required","typeLabel":"string | null"},"have":{"oneOf":[{"type":"integer","description":"Current amount compared with the plan limit","format":"int64","example":10,"uniqueKey":"have.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Current amount compared with the plan limit","format":"int64","example":10,"uniqueKey":"have.oneOf.1","typeLabel":"null"}],"uniqueKey":"have","typeLabel":"integer\u003cint64> | null"},"reason":{"oneOf":[{"type":"string","description":"Why permission was refused: scope or role","example":"role","enum":["scope","role"],"uniqueKey":"reason.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Why permission was refused: scope or role","example":"role","enum":["scope","role"],"uniqueKey":"reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"reason","typeLabel":"enum\u003cstring> | null"},"next":{"oneOf":[{"type":"object","description":"Command and documentation that fix this error","properties":{"command":{"oneOf":[{"type":"string","description":"Command that fixes this error","example":"devhelm account usage","uniqueKey":"next.oneOf.0.command.oneOf.0","typeLabel":"string"},{"type":"null","description":"Command that fixes this error","example":"devhelm account usage","uniqueKey":"next.oneOf.0.command.oneOf.1","typeLabel":"null"}],"uniqueKey":"next.oneOf.0.command","typeLabel":"string | null"},"docs":{"oneOf":[{"type":"string","description":"Documentation page for this error","example":"https://docs.devhelm.io/errors/SYNTHETICS_USAGE_CAPPED","uniqueKey":"next.oneOf.0.docs.oneOf.0","typeLabel":"string"},{"type":"null","description":"Documentation page for this error","example":"https://docs.devhelm.io/errors/SYNTHETICS_USAGE_CAPPED","uniqueKey":"next.oneOf.0.docs.oneOf.1","typeLabel":"null"}],"uniqueKey":"next.oneOf.0.docs","typeLabel":"string | null"}},"uniqueKey":"next.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"next.oneOf.1","typeLabel":"null"}],"uniqueKey":"next","typeLabel":"object | null"},"details":{"oneOf":[{"type":"object","additionalProperties":{"oneOf":[{"type":"object","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.0.additionalProperties.oneOf.0","typeLabel":"object"},{"type":"null","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.0.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.0.additionalProperties","typeLabel":"object | null"},"description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.0","typeLabel":"object"},{"type":"null","additionalProperties":{"oneOf":[{"type":"object","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.1.additionalProperties.oneOf.0","typeLabel":"object"},{"type":"null","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.1.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.additionalProperties","typeLabel":"object | null"},"description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.1","typeLabel":"null"}],"uniqueKey":"details","typeLabel":"object | null"},"expiredAt":{"oneOf":[{"type":"string","description":"When this evidence expired","format":"date-time","uniqueKey":"expiredAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","description":"When this evidence expired","format":"date-time","uniqueKey":"expiredAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"expiredAt","typeLabel":"string\u003cdate-time> | null"},"policy":{"oneOf":[{"type":"string","description":"Retention written when the artifact was saved, such as P7D","uniqueKey":"policy.oneOf.0","typeLabel":"string"},{"type":"null","description":"Retention written when the artifact was saved, such as P7D","uniqueKey":"policy.oneOf.1","typeLabel":"null"}],"uniqueKey":"policy","typeLabel":"string | null"}},"description":"Uniform error envelope returned for every non-2xx response","example":{"status":404,"code":"NOT_FOUND","category":"not_found","message":"Monitor not found","timestamp":1737302400000,"requestId":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"status":404,"code":"NOT_FOUND","category":"not_found","message":"Monitor not found","timestamp":1737302400000,"requestId":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"}}},"exampleType":"generated"}},"exampleType":"generated"},"779478fe-7e86-4539-8b42-204d64a8579f":{"description":"Forbidden — the actor lacks permission for this resource","content":{"application/json":{"schema":{"required":["category","code","message","status","timestamp","retryable"],"type":"object","properties":{"status":{"type":"integer","description":"HTTP status code (mirrors the response status line)","format":"int32","example":404,"isRequired":true,"uniqueKey":"status","typeLabel":"integer\u003cint32>"},"code":{"type":"string","description":"Stable machine code for this error, such as NOT_FOUND or SYNTHETICS_USAGE_CAPPED","example":"NOT_FOUND","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"category":{"type":"string","description":"Machine class clients use to choose the next action","enum":["validation","blocked","auth","permission","ownership","plan","quota","rate_limit","conflict","confirmation_required","not_found","gone","platform"],"isRequired":true,"uniqueKey":"category","typeLabel":"enum\u003cstring>"},"retryable":{"type":"boolean","description":"Whether a later attempt can succeed without changing the request","example":false,"isRequired":true,"uniqueKey":"retryable","typeLabel":"boolean"},"message":{"type":"string","description":"Human-readable error message; safe to surface to end users","example":"Monitor not found","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"timestamp":{"type":"integer","description":"Server time when the error was produced (epoch milliseconds)","format":"int64","example":1737302400000,"isRequired":true,"uniqueKey":"timestamp","typeLabel":"integer\u003cint64>"},"requestId":{"oneOf":[{"type":"string","description":"Opaque per-request id; same value as the X-Request-Id response header. Use in support tickets.","example":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a","uniqueKey":"requestId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Opaque per-request id; same value as the X-Request-Id response header. Use in support tickets.","example":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a","uniqueKey":"requestId.oneOf.1","typeLabel":"null"}],"uniqueKey":"requestId","typeLabel":"string | null"},"errors":{"oneOf":[{"type":"array","description":"Structured per-field rejections; populated for validation errors, null otherwise","items":{"oneOf":[{"type":"object","description":"One structured validation rejection","required":["code","message"],"properties":{"code":{"minLength":1,"type":"string","description":"Stable machine-readable code; see ValidationErrorCode for the registry","example":"MONITOR_HEARTBEAT_GRACE_EXCEEDS_INTERVAL","isRequired":true,"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.code","typeLabel":"string"},"message":{"minLength":1,"type":"string","description":"Human-readable message; safe to surface to end users","isRequired":true,"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.message","typeLabel":"string"},"field":{"oneOf":[{"type":"string","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod","uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.field.oneOf.0","typeLabel":"string"},{"type":"null","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod","uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.field.oneOf.1","typeLabel":"null"}],"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.field","typeLabel":"string | null"}},"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"errors.oneOf.0.items.[INDEX]","typeLabel":"object | null"},"uniqueKey":"errors.oneOf.0","typeLabel":"(object | null)[]"},{"type":"null","description":"Structured per-field rejections; populated for validation errors, null otherwise","items":{"oneOf":[{"type":"object","description":"One structured validation rejection","required":["code","message"],"properties":{"code":{"minLength":1,"type":"string","description":"Stable machine-readable code; see ValidationErrorCode for the registry","example":"MONITOR_HEARTBEAT_GRACE_EXCEEDS_INTERVAL"},"field":{"oneOf":[{"type":"string","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod"},{"type":"null","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod"}]},"message":{"minLength":1,"type":"string","description":"Human-readable message; safe to surface to end users"}}},{"type":"null"}]},"uniqueKey":"errors.oneOf.1","typeLabel":"null"}],"uniqueKey":"errors","typeLabel":"(object | null)[] | null"},"retryAfterSeconds":{"oneOf":[{"type":"integer","description":"Seconds to wait before retrying a rate limit","format":"int64","example":30,"uniqueKey":"retryAfterSeconds.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Seconds to wait before retrying a rate limit","format":"int64","example":30,"uniqueKey":"retryAfterSeconds.oneOf.1","typeLabel":"null"}],"uniqueKey":"retryAfterSeconds","typeLabel":"integer\u003cint64> | null"},"resource":{"oneOf":[{"type":"string","description":"Meter or resource this limit applies to","example":"browser_runs","uniqueKey":"resource.oneOf.0","typeLabel":"string"},{"type":"null","description":"Meter or resource this limit applies to","example":"browser_runs","uniqueKey":"resource.oneOf.1","typeLabel":"null"}],"uniqueKey":"resource","typeLabel":"string | null"},"used":{"oneOf":[{"type":"integer","description":"Amount used in the current period","format":"int64","example":1000,"uniqueKey":"used.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Amount used in the current period","format":"int64","example":1000,"uniqueKey":"used.oneOf.1","typeLabel":"null"}],"uniqueKey":"used","typeLabel":"integer\u003cint64> | null"},"limit":{"oneOf":[{"type":"integer","description":"Maximum allowed for this period or plan","format":"int64","example":1000,"uniqueKey":"limit.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Maximum allowed for this period or plan","format":"int64","example":1000,"uniqueKey":"limit.oneOf.1","typeLabel":"null"}],"uniqueKey":"limit","typeLabel":"integer\u003cint64> | null"},"resetsAt":{"oneOf":[{"type":"string","description":"When this quota window resumes (ISO-8601)","example":"2026-11-01T00:00:00Z","uniqueKey":"resetsAt.oneOf.0","typeLabel":"string"},{"type":"null","description":"When this quota window resumes (ISO-8601)","example":"2026-11-01T00:00:00Z","uniqueKey":"resetsAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"resetsAt","typeLabel":"string | null"},"plan":{"oneOf":[{"type":"string","description":"Plan this refusal was evaluated against","example":"FREE","uniqueKey":"plan.oneOf.0","typeLabel":"string"},{"type":"null","description":"Plan this refusal was evaluated against","example":"FREE","uniqueKey":"plan.oneOf.1","typeLabel":"null"}],"uniqueKey":"plan","typeLabel":"string | null"},"upgradeUrl":{"oneOf":[{"type":"string","description":"Page where an admin can change the plan","example":"https://app.devhelm.io/settings/billing","uniqueKey":"upgradeUrl.oneOf.0","typeLabel":"string"},{"type":"null","description":"Page where an admin can change the plan","example":"https://app.devhelm.io/settings/billing","uniqueKey":"upgradeUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"upgradeUrl","typeLabel":"string | null"},"canRaise":{"oneOf":[{"type":"string","description":"Role that can raise this limit","example":"org admin","uniqueKey":"canRaise.oneOf.0","typeLabel":"string"},{"type":"null","description":"Role that can raise this limit","example":"org admin","uniqueKey":"canRaise.oneOf.1","typeLabel":"null"}],"uniqueKey":"canRaise","typeLabel":"string | null"},"owner":{"oneOf":[{"type":"string","description":"Who owns the resource when a write is refused","uniqueKey":"owner.oneOf.0","typeLabel":"string"},{"type":"null","description":"Who owns the resource when a write is refused","uniqueKey":"owner.oneOf.1","typeLabel":"null"}],"uniqueKey":"owner","typeLabel":"string | null"},"required":{"oneOf":[{"type":"string","description":"Missing scope, secret key, or other required value","uniqueKey":"required.oneOf.0","typeLabel":"string"},{"type":"null","description":"Missing scope, secret key, or other required value","uniqueKey":"required.oneOf.1","typeLabel":"null"}],"uniqueKey":"required","typeLabel":"string | null"},"have":{"oneOf":[{"type":"integer","description":"Current amount compared with the plan limit","format":"int64","example":10,"uniqueKey":"have.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Current amount compared with the plan limit","format":"int64","example":10,"uniqueKey":"have.oneOf.1","typeLabel":"null"}],"uniqueKey":"have","typeLabel":"integer\u003cint64> | null"},"reason":{"oneOf":[{"type":"string","description":"Why permission was refused: scope or role","example":"role","enum":["scope","role"],"uniqueKey":"reason.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Why permission was refused: scope or role","example":"role","enum":["scope","role"],"uniqueKey":"reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"reason","typeLabel":"enum\u003cstring> | null"},"next":{"oneOf":[{"type":"object","description":"Command and documentation that fix this error","properties":{"command":{"oneOf":[{"type":"string","description":"Command that fixes this error","example":"devhelm account usage","uniqueKey":"next.oneOf.0.command.oneOf.0","typeLabel":"string"},{"type":"null","description":"Command that fixes this error","example":"devhelm account usage","uniqueKey":"next.oneOf.0.command.oneOf.1","typeLabel":"null"}],"uniqueKey":"next.oneOf.0.command","typeLabel":"string | null"},"docs":{"oneOf":[{"type":"string","description":"Documentation page for this error","example":"https://docs.devhelm.io/errors/SYNTHETICS_USAGE_CAPPED","uniqueKey":"next.oneOf.0.docs.oneOf.0","typeLabel":"string"},{"type":"null","description":"Documentation page for this error","example":"https://docs.devhelm.io/errors/SYNTHETICS_USAGE_CAPPED","uniqueKey":"next.oneOf.0.docs.oneOf.1","typeLabel":"null"}],"uniqueKey":"next.oneOf.0.docs","typeLabel":"string | null"}},"uniqueKey":"next.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"next.oneOf.1","typeLabel":"null"}],"uniqueKey":"next","typeLabel":"object | null"},"details":{"oneOf":[{"type":"object","additionalProperties":{"oneOf":[{"type":"object","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.0.additionalProperties.oneOf.0","typeLabel":"object"},{"type":"null","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.0.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.0.additionalProperties","typeLabel":"object | null"},"description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.0","typeLabel":"object"},{"type":"null","additionalProperties":{"oneOf":[{"type":"object","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.1.additionalProperties.oneOf.0","typeLabel":"object"},{"type":"null","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.1.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.additionalProperties","typeLabel":"object | null"},"description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.1","typeLabel":"null"}],"uniqueKey":"details","typeLabel":"object | null"},"expiredAt":{"oneOf":[{"type":"string","description":"When this evidence expired","format":"date-time","uniqueKey":"expiredAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","description":"When this evidence expired","format":"date-time","uniqueKey":"expiredAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"expiredAt","typeLabel":"string\u003cdate-time> | null"},"policy":{"oneOf":[{"type":"string","description":"Retention written when the artifact was saved, such as P7D","uniqueKey":"policy.oneOf.0","typeLabel":"string"},{"type":"null","description":"Retention written when the artifact was saved, such as P7D","uniqueKey":"policy.oneOf.1","typeLabel":"null"}],"uniqueKey":"policy","typeLabel":"string | null"}},"description":"Uniform error envelope returned for every non-2xx response","example":{"status":404,"code":"NOT_FOUND","category":"not_found","message":"Monitor not found","timestamp":1737302400000,"requestId":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"status":404,"code":"NOT_FOUND","category":"not_found","message":"Monitor not found","timestamp":1737302400000,"requestId":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"}}},"exampleType":"generated"}},"exampleType":"generated"},"d67c2484-ac9d-4b28-bde5-2fa267b27395":{"description":"Not found — the requested resource does not exist","content":{"application/json":{"schema":{"required":["category","code","message","status","timestamp","retryable"],"type":"object","properties":{"status":{"type":"integer","description":"HTTP status code (mirrors the response status line)","format":"int32","example":404,"isRequired":true,"uniqueKey":"status","typeLabel":"integer\u003cint32>"},"code":{"type":"string","description":"Stable machine code for this error, such as NOT_FOUND or SYNTHETICS_USAGE_CAPPED","example":"NOT_FOUND","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"category":{"type":"string","description":"Machine class clients use to choose the next action","enum":["validation","blocked","auth","permission","ownership","plan","quota","rate_limit","conflict","confirmation_required","not_found","gone","platform"],"isRequired":true,"uniqueKey":"category","typeLabel":"enum\u003cstring>"},"retryable":{"type":"boolean","description":"Whether a later attempt can succeed without changing the request","example":false,"isRequired":true,"uniqueKey":"retryable","typeLabel":"boolean"},"message":{"type":"string","description":"Human-readable error message; safe to surface to end users","example":"Monitor not found","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"timestamp":{"type":"integer","description":"Server time when the error was produced (epoch milliseconds)","format":"int64","example":1737302400000,"isRequired":true,"uniqueKey":"timestamp","typeLabel":"integer\u003cint64>"},"requestId":{"oneOf":[{"type":"string","description":"Opaque per-request id; same value as the X-Request-Id response header. Use in support tickets.","example":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a","uniqueKey":"requestId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Opaque per-request id; same value as the X-Request-Id response header. Use in support tickets.","example":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a","uniqueKey":"requestId.oneOf.1","typeLabel":"null"}],"uniqueKey":"requestId","typeLabel":"string | null"},"errors":{"oneOf":[{"type":"array","description":"Structured per-field rejections; populated for validation errors, null otherwise","items":{"oneOf":[{"type":"object","description":"One structured validation rejection","required":["code","message"],"properties":{"code":{"minLength":1,"type":"string","description":"Stable machine-readable code; see ValidationErrorCode for the registry","example":"MONITOR_HEARTBEAT_GRACE_EXCEEDS_INTERVAL","isRequired":true,"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.code","typeLabel":"string"},"message":{"minLength":1,"type":"string","description":"Human-readable message; safe to surface to end users","isRequired":true,"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.message","typeLabel":"string"},"field":{"oneOf":[{"type":"string","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod","uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.field.oneOf.0","typeLabel":"string"},{"type":"null","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod","uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.field.oneOf.1","typeLabel":"null"}],"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.field","typeLabel":"string | null"}},"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"errors.oneOf.0.items.[INDEX]","typeLabel":"object | null"},"uniqueKey":"errors.oneOf.0","typeLabel":"(object | null)[]"},{"type":"null","description":"Structured per-field rejections; populated for validation errors, null otherwise","items":{"oneOf":[{"type":"object","description":"One structured validation rejection","required":["code","message"],"properties":{"code":{"minLength":1,"type":"string","description":"Stable machine-readable code; see ValidationErrorCode for the registry","example":"MONITOR_HEARTBEAT_GRACE_EXCEEDS_INTERVAL"},"field":{"oneOf":[{"type":"string","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod"},{"type":"null","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod"}]},"message":{"minLength":1,"type":"string","description":"Human-readable message; safe to surface to end users"}}},{"type":"null"}]},"uniqueKey":"errors.oneOf.1","typeLabel":"null"}],"uniqueKey":"errors","typeLabel":"(object | null)[] | null"},"retryAfterSeconds":{"oneOf":[{"type":"integer","description":"Seconds to wait before retrying a rate limit","format":"int64","example":30,"uniqueKey":"retryAfterSeconds.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Seconds to wait before retrying a rate limit","format":"int64","example":30,"uniqueKey":"retryAfterSeconds.oneOf.1","typeLabel":"null"}],"uniqueKey":"retryAfterSeconds","typeLabel":"integer\u003cint64> | null"},"resource":{"oneOf":[{"type":"string","description":"Meter or resource this limit applies to","example":"browser_runs","uniqueKey":"resource.oneOf.0","typeLabel":"string"},{"type":"null","description":"Meter or resource this limit applies to","example":"browser_runs","uniqueKey":"resource.oneOf.1","typeLabel":"null"}],"uniqueKey":"resource","typeLabel":"string | null"},"used":{"oneOf":[{"type":"integer","description":"Amount used in the current period","format":"int64","example":1000,"uniqueKey":"used.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Amount used in the current period","format":"int64","example":1000,"uniqueKey":"used.oneOf.1","typeLabel":"null"}],"uniqueKey":"used","typeLabel":"integer\u003cint64> | null"},"limit":{"oneOf":[{"type":"integer","description":"Maximum allowed for this period or plan","format":"int64","example":1000,"uniqueKey":"limit.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Maximum allowed for this period or plan","format":"int64","example":1000,"uniqueKey":"limit.oneOf.1","typeLabel":"null"}],"uniqueKey":"limit","typeLabel":"integer\u003cint64> | null"},"resetsAt":{"oneOf":[{"type":"string","description":"When this quota window resumes (ISO-8601)","example":"2026-11-01T00:00:00Z","uniqueKey":"resetsAt.oneOf.0","typeLabel":"string"},{"type":"null","description":"When this quota window resumes (ISO-8601)","example":"2026-11-01T00:00:00Z","uniqueKey":"resetsAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"resetsAt","typeLabel":"string | null"},"plan":{"oneOf":[{"type":"string","description":"Plan this refusal was evaluated against","example":"FREE","uniqueKey":"plan.oneOf.0","typeLabel":"string"},{"type":"null","description":"Plan this refusal was evaluated against","example":"FREE","uniqueKey":"plan.oneOf.1","typeLabel":"null"}],"uniqueKey":"plan","typeLabel":"string | null"},"upgradeUrl":{"oneOf":[{"type":"string","description":"Page where an admin can change the plan","example":"https://app.devhelm.io/settings/billing","uniqueKey":"upgradeUrl.oneOf.0","typeLabel":"string"},{"type":"null","description":"Page where an admin can change the plan","example":"https://app.devhelm.io/settings/billing","uniqueKey":"upgradeUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"upgradeUrl","typeLabel":"string | null"},"canRaise":{"oneOf":[{"type":"string","description":"Role that can raise this limit","example":"org admin","uniqueKey":"canRaise.oneOf.0","typeLabel":"string"},{"type":"null","description":"Role that can raise this limit","example":"org admin","uniqueKey":"canRaise.oneOf.1","typeLabel":"null"}],"uniqueKey":"canRaise","typeLabel":"string | null"},"owner":{"oneOf":[{"type":"string","description":"Who owns the resource when a write is refused","uniqueKey":"owner.oneOf.0","typeLabel":"string"},{"type":"null","description":"Who owns the resource when a write is refused","uniqueKey":"owner.oneOf.1","typeLabel":"null"}],"uniqueKey":"owner","typeLabel":"string | null"},"required":{"oneOf":[{"type":"string","description":"Missing scope, secret key, or other required value","uniqueKey":"required.oneOf.0","typeLabel":"string"},{"type":"null","description":"Missing scope, secret key, or other required value","uniqueKey":"required.oneOf.1","typeLabel":"null"}],"uniqueKey":"required","typeLabel":"string | null"},"have":{"oneOf":[{"type":"integer","description":"Current amount compared with the plan limit","format":"int64","example":10,"uniqueKey":"have.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Current amount compared with the plan limit","format":"int64","example":10,"uniqueKey":"have.oneOf.1","typeLabel":"null"}],"uniqueKey":"have","typeLabel":"integer\u003cint64> | null"},"reason":{"oneOf":[{"type":"string","description":"Why permission was refused: scope or role","example":"role","enum":["scope","role"],"uniqueKey":"reason.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Why permission was refused: scope or role","example":"role","enum":["scope","role"],"uniqueKey":"reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"reason","typeLabel":"enum\u003cstring> | null"},"next":{"oneOf":[{"type":"object","description":"Command and documentation that fix this error","properties":{"command":{"oneOf":[{"type":"string","description":"Command that fixes this error","example":"devhelm account usage","uniqueKey":"next.oneOf.0.command.oneOf.0","typeLabel":"string"},{"type":"null","description":"Command that fixes this error","example":"devhelm account usage","uniqueKey":"next.oneOf.0.command.oneOf.1","typeLabel":"null"}],"uniqueKey":"next.oneOf.0.command","typeLabel":"string | null"},"docs":{"oneOf":[{"type":"string","description":"Documentation page for this error","example":"https://docs.devhelm.io/errors/SYNTHETICS_USAGE_CAPPED","uniqueKey":"next.oneOf.0.docs.oneOf.0","typeLabel":"string"},{"type":"null","description":"Documentation page for this error","example":"https://docs.devhelm.io/errors/SYNTHETICS_USAGE_CAPPED","uniqueKey":"next.oneOf.0.docs.oneOf.1","typeLabel":"null"}],"uniqueKey":"next.oneOf.0.docs","typeLabel":"string | null"}},"uniqueKey":"next.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"next.oneOf.1","typeLabel":"null"}],"uniqueKey":"next","typeLabel":"object | null"},"details":{"oneOf":[{"type":"object","additionalProperties":{"oneOf":[{"type":"object","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.0.additionalProperties.oneOf.0","typeLabel":"object"},{"type":"null","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.0.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.0.additionalProperties","typeLabel":"object | null"},"description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.0","typeLabel":"object"},{"type":"null","additionalProperties":{"oneOf":[{"type":"object","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.1.additionalProperties.oneOf.0","typeLabel":"object"},{"type":"null","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.1.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.additionalProperties","typeLabel":"object | null"},"description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.1","typeLabel":"null"}],"uniqueKey":"details","typeLabel":"object | null"},"expiredAt":{"oneOf":[{"type":"string","description":"When this evidence expired","format":"date-time","uniqueKey":"expiredAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","description":"When this evidence expired","format":"date-time","uniqueKey":"expiredAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"expiredAt","typeLabel":"string\u003cdate-time> | null"},"policy":{"oneOf":[{"type":"string","description":"Retention written when the artifact was saved, such as P7D","uniqueKey":"policy.oneOf.0","typeLabel":"string"},{"type":"null","description":"Retention written when the artifact was saved, such as P7D","uniqueKey":"policy.oneOf.1","typeLabel":"null"}],"uniqueKey":"policy","typeLabel":"string | null"}},"description":"Uniform error envelope returned for every non-2xx response","example":{"status":404,"code":"NOT_FOUND","category":"not_found","message":"Monitor not found","timestamp":1737302400000,"requestId":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"status":404,"code":"NOT_FOUND","category":"not_found","message":"Monitor not found","timestamp":1737302400000,"requestId":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"}}},"exampleType":"generated"}},"exampleType":"generated"},"6609b426-852b-46a5-a866-39f4102d6ec5":{"description":"Conflict — the request collides with current resource state","content":{"application/json":{"schema":{"required":["category","code","message","status","timestamp","retryable"],"type":"object","properties":{"status":{"type":"integer","description":"HTTP status code (mirrors the response status line)","format":"int32","example":404,"isRequired":true,"uniqueKey":"status","typeLabel":"integer\u003cint32>"},"code":{"type":"string","description":"Stable machine code for this error, such as NOT_FOUND or SYNTHETICS_USAGE_CAPPED","example":"NOT_FOUND","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"category":{"type":"string","description":"Machine class clients use to choose the next action","enum":["validation","blocked","auth","permission","ownership","plan","quota","rate_limit","conflict","confirmation_required","not_found","gone","platform"],"isRequired":true,"uniqueKey":"category","typeLabel":"enum\u003cstring>"},"retryable":{"type":"boolean","description":"Whether a later attempt can succeed without changing the request","example":false,"isRequired":true,"uniqueKey":"retryable","typeLabel":"boolean"},"message":{"type":"string","description":"Human-readable error message; safe to surface to end users","example":"Monitor not found","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"timestamp":{"type":"integer","description":"Server time when the error was produced (epoch milliseconds)","format":"int64","example":1737302400000,"isRequired":true,"uniqueKey":"timestamp","typeLabel":"integer\u003cint64>"},"requestId":{"oneOf":[{"type":"string","description":"Opaque per-request id; same value as the X-Request-Id response header. Use in support tickets.","example":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a","uniqueKey":"requestId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Opaque per-request id; same value as the X-Request-Id response header. Use in support tickets.","example":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a","uniqueKey":"requestId.oneOf.1","typeLabel":"null"}],"uniqueKey":"requestId","typeLabel":"string | null"},"errors":{"oneOf":[{"type":"array","description":"Structured per-field rejections; populated for validation errors, null otherwise","items":{"oneOf":[{"type":"object","description":"One structured validation rejection","required":["code","message"],"properties":{"code":{"minLength":1,"type":"string","description":"Stable machine-readable code; see ValidationErrorCode for the registry","example":"MONITOR_HEARTBEAT_GRACE_EXCEEDS_INTERVAL","isRequired":true,"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.code","typeLabel":"string"},"message":{"minLength":1,"type":"string","description":"Human-readable message; safe to surface to end users","isRequired":true,"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.message","typeLabel":"string"},"field":{"oneOf":[{"type":"string","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod","uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.field.oneOf.0","typeLabel":"string"},{"type":"null","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod","uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.field.oneOf.1","typeLabel":"null"}],"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.field","typeLabel":"string | null"}},"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"errors.oneOf.0.items.[INDEX]","typeLabel":"object | null"},"uniqueKey":"errors.oneOf.0","typeLabel":"(object | null)[]"},{"type":"null","description":"Structured per-field rejections; populated for validation errors, null otherwise","items":{"oneOf":[{"type":"object","description":"One structured validation rejection","required":["code","message"],"properties":{"code":{"minLength":1,"type":"string","description":"Stable machine-readable code; see ValidationErrorCode for the registry","example":"MONITOR_HEARTBEAT_GRACE_EXCEEDS_INTERVAL"},"field":{"oneOf":[{"type":"string","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod"},{"type":"null","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod"}]},"message":{"minLength":1,"type":"string","description":"Human-readable message; safe to surface to end users"}}},{"type":"null"}]},"uniqueKey":"errors.oneOf.1","typeLabel":"null"}],"uniqueKey":"errors","typeLabel":"(object | null)[] | null"},"retryAfterSeconds":{"oneOf":[{"type":"integer","description":"Seconds to wait before retrying a rate limit","format":"int64","example":30,"uniqueKey":"retryAfterSeconds.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Seconds to wait before retrying a rate limit","format":"int64","example":30,"uniqueKey":"retryAfterSeconds.oneOf.1","typeLabel":"null"}],"uniqueKey":"retryAfterSeconds","typeLabel":"integer\u003cint64> | null"},"resource":{"oneOf":[{"type":"string","description":"Meter or resource this limit applies to","example":"browser_runs","uniqueKey":"resource.oneOf.0","typeLabel":"string"},{"type":"null","description":"Meter or resource this limit applies to","example":"browser_runs","uniqueKey":"resource.oneOf.1","typeLabel":"null"}],"uniqueKey":"resource","typeLabel":"string | null"},"used":{"oneOf":[{"type":"integer","description":"Amount used in the current period","format":"int64","example":1000,"uniqueKey":"used.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Amount used in the current period","format":"int64","example":1000,"uniqueKey":"used.oneOf.1","typeLabel":"null"}],"uniqueKey":"used","typeLabel":"integer\u003cint64> | null"},"limit":{"oneOf":[{"type":"integer","description":"Maximum allowed for this period or plan","format":"int64","example":1000,"uniqueKey":"limit.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Maximum allowed for this period or plan","format":"int64","example":1000,"uniqueKey":"limit.oneOf.1","typeLabel":"null"}],"uniqueKey":"limit","typeLabel":"integer\u003cint64> | null"},"resetsAt":{"oneOf":[{"type":"string","description":"When this quota window resumes (ISO-8601)","example":"2026-11-01T00:00:00Z","uniqueKey":"resetsAt.oneOf.0","typeLabel":"string"},{"type":"null","description":"When this quota window resumes (ISO-8601)","example":"2026-11-01T00:00:00Z","uniqueKey":"resetsAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"resetsAt","typeLabel":"string | null"},"plan":{"oneOf":[{"type":"string","description":"Plan this refusal was evaluated against","example":"FREE","uniqueKey":"plan.oneOf.0","typeLabel":"string"},{"type":"null","description":"Plan this refusal was evaluated against","example":"FREE","uniqueKey":"plan.oneOf.1","typeLabel":"null"}],"uniqueKey":"plan","typeLabel":"string | null"},"upgradeUrl":{"oneOf":[{"type":"string","description":"Page where an admin can change the plan","example":"https://app.devhelm.io/settings/billing","uniqueKey":"upgradeUrl.oneOf.0","typeLabel":"string"},{"type":"null","description":"Page where an admin can change the plan","example":"https://app.devhelm.io/settings/billing","uniqueKey":"upgradeUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"upgradeUrl","typeLabel":"string | null"},"canRaise":{"oneOf":[{"type":"string","description":"Role that can raise this limit","example":"org admin","uniqueKey":"canRaise.oneOf.0","typeLabel":"string"},{"type":"null","description":"Role that can raise this limit","example":"org admin","uniqueKey":"canRaise.oneOf.1","typeLabel":"null"}],"uniqueKey":"canRaise","typeLabel":"string | null"},"owner":{"oneOf":[{"type":"string","description":"Who owns the resource when a write is refused","uniqueKey":"owner.oneOf.0","typeLabel":"string"},{"type":"null","description":"Who owns the resource when a write is refused","uniqueKey":"owner.oneOf.1","typeLabel":"null"}],"uniqueKey":"owner","typeLabel":"string | null"},"required":{"oneOf":[{"type":"string","description":"Missing scope, secret key, or other required value","uniqueKey":"required.oneOf.0","typeLabel":"string"},{"type":"null","description":"Missing scope, secret key, or other required value","uniqueKey":"required.oneOf.1","typeLabel":"null"}],"uniqueKey":"required","typeLabel":"string | null"},"have":{"oneOf":[{"type":"integer","description":"Current amount compared with the plan limit","format":"int64","example":10,"uniqueKey":"have.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Current amount compared with the plan limit","format":"int64","example":10,"uniqueKey":"have.oneOf.1","typeLabel":"null"}],"uniqueKey":"have","typeLabel":"integer\u003cint64> | null"},"reason":{"oneOf":[{"type":"string","description":"Why permission was refused: scope or role","example":"role","enum":["scope","role"],"uniqueKey":"reason.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Why permission was refused: scope or role","example":"role","enum":["scope","role"],"uniqueKey":"reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"reason","typeLabel":"enum\u003cstring> | null"},"next":{"oneOf":[{"type":"object","description":"Command and documentation that fix this error","properties":{"command":{"oneOf":[{"type":"string","description":"Command that fixes this error","example":"devhelm account usage","uniqueKey":"next.oneOf.0.command.oneOf.0","typeLabel":"string"},{"type":"null","description":"Command that fixes this error","example":"devhelm account usage","uniqueKey":"next.oneOf.0.command.oneOf.1","typeLabel":"null"}],"uniqueKey":"next.oneOf.0.command","typeLabel":"string | null"},"docs":{"oneOf":[{"type":"string","description":"Documentation page for this error","example":"https://docs.devhelm.io/errors/SYNTHETICS_USAGE_CAPPED","uniqueKey":"next.oneOf.0.docs.oneOf.0","typeLabel":"string"},{"type":"null","description":"Documentation page for this error","example":"https://docs.devhelm.io/errors/SYNTHETICS_USAGE_CAPPED","uniqueKey":"next.oneOf.0.docs.oneOf.1","typeLabel":"null"}],"uniqueKey":"next.oneOf.0.docs","typeLabel":"string | null"}},"uniqueKey":"next.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"next.oneOf.1","typeLabel":"null"}],"uniqueKey":"next","typeLabel":"object | null"},"details":{"oneOf":[{"type":"object","additionalProperties":{"oneOf":[{"type":"object","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.0.additionalProperties.oneOf.0","typeLabel":"object"},{"type":"null","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.0.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.0.additionalProperties","typeLabel":"object | null"},"description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.0","typeLabel":"object"},{"type":"null","additionalProperties":{"oneOf":[{"type":"object","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.1.additionalProperties.oneOf.0","typeLabel":"object"},{"type":"null","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.1.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.additionalProperties","typeLabel":"object | null"},"description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.1","typeLabel":"null"}],"uniqueKey":"details","typeLabel":"object | null"},"expiredAt":{"oneOf":[{"type":"string","description":"When this evidence expired","format":"date-time","uniqueKey":"expiredAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","description":"When this evidence expired","format":"date-time","uniqueKey":"expiredAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"expiredAt","typeLabel":"string\u003cdate-time> | null"},"policy":{"oneOf":[{"type":"string","description":"Retention written when the artifact was saved, such as P7D","uniqueKey":"policy.oneOf.0","typeLabel":"string"},{"type":"null","description":"Retention written when the artifact was saved, such as P7D","uniqueKey":"policy.oneOf.1","typeLabel":"null"}],"uniqueKey":"policy","typeLabel":"string | null"}},"description":"Uniform error envelope returned for every non-2xx response","example":{"status":404,"code":"NOT_FOUND","category":"not_found","message":"Monitor not found","timestamp":1737302400000,"requestId":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"status":404,"code":"NOT_FOUND","category":"not_found","message":"Monitor not found","timestamp":1737302400000,"requestId":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"}}},"exampleType":"generated"}},"exampleType":"generated"},"1224b6f0-e8cf-4be0-94b6-77bff19b5ba3":{"description":"Gone — the resource is no longer available","content":{"application/json":{"schema":{"required":["category","code","message","status","timestamp","retryable"],"type":"object","properties":{"status":{"type":"integer","description":"HTTP status code (mirrors the response status line)","format":"int32","example":404,"isRequired":true,"uniqueKey":"status","typeLabel":"integer\u003cint32>"},"code":{"type":"string","description":"Stable machine code for this error, such as NOT_FOUND or SYNTHETICS_USAGE_CAPPED","example":"NOT_FOUND","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"category":{"type":"string","description":"Machine class clients use to choose the next action","enum":["validation","blocked","auth","permission","ownership","plan","quota","rate_limit","conflict","confirmation_required","not_found","gone","platform"],"isRequired":true,"uniqueKey":"category","typeLabel":"enum\u003cstring>"},"retryable":{"type":"boolean","description":"Whether a later attempt can succeed without changing the request","example":false,"isRequired":true,"uniqueKey":"retryable","typeLabel":"boolean"},"message":{"type":"string","description":"Human-readable error message; safe to surface to end users","example":"Monitor not found","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"timestamp":{"type":"integer","description":"Server time when the error was produced (epoch milliseconds)","format":"int64","example":1737302400000,"isRequired":true,"uniqueKey":"timestamp","typeLabel":"integer\u003cint64>"},"requestId":{"oneOf":[{"type":"string","description":"Opaque per-request id; same value as the X-Request-Id response header. Use in support tickets.","example":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a","uniqueKey":"requestId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Opaque per-request id; same value as the X-Request-Id response header. Use in support tickets.","example":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a","uniqueKey":"requestId.oneOf.1","typeLabel":"null"}],"uniqueKey":"requestId","typeLabel":"string | null"},"errors":{"oneOf":[{"type":"array","description":"Structured per-field rejections; populated for validation errors, null otherwise","items":{"oneOf":[{"type":"object","description":"One structured validation rejection","required":["code","message"],"properties":{"code":{"minLength":1,"type":"string","description":"Stable machine-readable code; see ValidationErrorCode for the registry","example":"MONITOR_HEARTBEAT_GRACE_EXCEEDS_INTERVAL","isRequired":true,"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.code","typeLabel":"string"},"message":{"minLength":1,"type":"string","description":"Human-readable message; safe to surface to end users","isRequired":true,"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.message","typeLabel":"string"},"field":{"oneOf":[{"type":"string","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod","uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.field.oneOf.0","typeLabel":"string"},{"type":"null","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod","uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.field.oneOf.1","typeLabel":"null"}],"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.field","typeLabel":"string | null"}},"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"errors.oneOf.0.items.[INDEX]","typeLabel":"object | null"},"uniqueKey":"errors.oneOf.0","typeLabel":"(object | null)[]"},{"type":"null","description":"Structured per-field rejections; populated for validation errors, null otherwise","items":{"oneOf":[{"type":"object","description":"One structured validation rejection","required":["code","message"],"properties":{"code":{"minLength":1,"type":"string","description":"Stable machine-readable code; see ValidationErrorCode for the registry","example":"MONITOR_HEARTBEAT_GRACE_EXCEEDS_INTERVAL"},"field":{"oneOf":[{"type":"string","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod"},{"type":"null","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod"}]},"message":{"minLength":1,"type":"string","description":"Human-readable message; safe to surface to end users"}}},{"type":"null"}]},"uniqueKey":"errors.oneOf.1","typeLabel":"null"}],"uniqueKey":"errors","typeLabel":"(object | null)[] | null"},"retryAfterSeconds":{"oneOf":[{"type":"integer","description":"Seconds to wait before retrying a rate limit","format":"int64","example":30,"uniqueKey":"retryAfterSeconds.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Seconds to wait before retrying a rate limit","format":"int64","example":30,"uniqueKey":"retryAfterSeconds.oneOf.1","typeLabel":"null"}],"uniqueKey":"retryAfterSeconds","typeLabel":"integer\u003cint64> | null"},"resource":{"oneOf":[{"type":"string","description":"Meter or resource this limit applies to","example":"browser_runs","uniqueKey":"resource.oneOf.0","typeLabel":"string"},{"type":"null","description":"Meter or resource this limit applies to","example":"browser_runs","uniqueKey":"resource.oneOf.1","typeLabel":"null"}],"uniqueKey":"resource","typeLabel":"string | null"},"used":{"oneOf":[{"type":"integer","description":"Amount used in the current period","format":"int64","example":1000,"uniqueKey":"used.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Amount used in the current period","format":"int64","example":1000,"uniqueKey":"used.oneOf.1","typeLabel":"null"}],"uniqueKey":"used","typeLabel":"integer\u003cint64> | null"},"limit":{"oneOf":[{"type":"integer","description":"Maximum allowed for this period or plan","format":"int64","example":1000,"uniqueKey":"limit.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Maximum allowed for this period or plan","format":"int64","example":1000,"uniqueKey":"limit.oneOf.1","typeLabel":"null"}],"uniqueKey":"limit","typeLabel":"integer\u003cint64> | null"},"resetsAt":{"oneOf":[{"type":"string","description":"When this quota window resumes (ISO-8601)","example":"2026-11-01T00:00:00Z","uniqueKey":"resetsAt.oneOf.0","typeLabel":"string"},{"type":"null","description":"When this quota window resumes (ISO-8601)","example":"2026-11-01T00:00:00Z","uniqueKey":"resetsAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"resetsAt","typeLabel":"string | null"},"plan":{"oneOf":[{"type":"string","description":"Plan this refusal was evaluated against","example":"FREE","uniqueKey":"plan.oneOf.0","typeLabel":"string"},{"type":"null","description":"Plan this refusal was evaluated against","example":"FREE","uniqueKey":"plan.oneOf.1","typeLabel":"null"}],"uniqueKey":"plan","typeLabel":"string | null"},"upgradeUrl":{"oneOf":[{"type":"string","description":"Page where an admin can change the plan","example":"https://app.devhelm.io/settings/billing","uniqueKey":"upgradeUrl.oneOf.0","typeLabel":"string"},{"type":"null","description":"Page where an admin can change the plan","example":"https://app.devhelm.io/settings/billing","uniqueKey":"upgradeUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"upgradeUrl","typeLabel":"string | null"},"canRaise":{"oneOf":[{"type":"string","description":"Role that can raise this limit","example":"org admin","uniqueKey":"canRaise.oneOf.0","typeLabel":"string"},{"type":"null","description":"Role that can raise this limit","example":"org admin","uniqueKey":"canRaise.oneOf.1","typeLabel":"null"}],"uniqueKey":"canRaise","typeLabel":"string | null"},"owner":{"oneOf":[{"type":"string","description":"Who owns the resource when a write is refused","uniqueKey":"owner.oneOf.0","typeLabel":"string"},{"type":"null","description":"Who owns the resource when a write is refused","uniqueKey":"owner.oneOf.1","typeLabel":"null"}],"uniqueKey":"owner","typeLabel":"string | null"},"required":{"oneOf":[{"type":"string","description":"Missing scope, secret key, or other required value","uniqueKey":"required.oneOf.0","typeLabel":"string"},{"type":"null","description":"Missing scope, secret key, or other required value","uniqueKey":"required.oneOf.1","typeLabel":"null"}],"uniqueKey":"required","typeLabel":"string | null"},"have":{"oneOf":[{"type":"integer","description":"Current amount compared with the plan limit","format":"int64","example":10,"uniqueKey":"have.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Current amount compared with the plan limit","format":"int64","example":10,"uniqueKey":"have.oneOf.1","typeLabel":"null"}],"uniqueKey":"have","typeLabel":"integer\u003cint64> | null"},"reason":{"oneOf":[{"type":"string","description":"Why permission was refused: scope or role","example":"role","enum":["scope","role"],"uniqueKey":"reason.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Why permission was refused: scope or role","example":"role","enum":["scope","role"],"uniqueKey":"reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"reason","typeLabel":"enum\u003cstring> | null"},"next":{"oneOf":[{"type":"object","description":"Command and documentation that fix this error","properties":{"command":{"oneOf":[{"type":"string","description":"Command that fixes this error","example":"devhelm account usage","uniqueKey":"next.oneOf.0.command.oneOf.0","typeLabel":"string"},{"type":"null","description":"Command that fixes this error","example":"devhelm account usage","uniqueKey":"next.oneOf.0.command.oneOf.1","typeLabel":"null"}],"uniqueKey":"next.oneOf.0.command","typeLabel":"string | null"},"docs":{"oneOf":[{"type":"string","description":"Documentation page for this error","example":"https://docs.devhelm.io/errors/SYNTHETICS_USAGE_CAPPED","uniqueKey":"next.oneOf.0.docs.oneOf.0","typeLabel":"string"},{"type":"null","description":"Documentation page for this error","example":"https://docs.devhelm.io/errors/SYNTHETICS_USAGE_CAPPED","uniqueKey":"next.oneOf.0.docs.oneOf.1","typeLabel":"null"}],"uniqueKey":"next.oneOf.0.docs","typeLabel":"string | null"}},"uniqueKey":"next.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"next.oneOf.1","typeLabel":"null"}],"uniqueKey":"next","typeLabel":"object | null"},"details":{"oneOf":[{"type":"object","additionalProperties":{"oneOf":[{"type":"object","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.0.additionalProperties.oneOf.0","typeLabel":"object"},{"type":"null","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.0.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.0.additionalProperties","typeLabel":"object | null"},"description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.0","typeLabel":"object"},{"type":"null","additionalProperties":{"oneOf":[{"type":"object","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.1.additionalProperties.oneOf.0","typeLabel":"object"},{"type":"null","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.1.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.additionalProperties","typeLabel":"object | null"},"description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.1","typeLabel":"null"}],"uniqueKey":"details","typeLabel":"object | null"},"expiredAt":{"oneOf":[{"type":"string","description":"When this evidence expired","format":"date-time","uniqueKey":"expiredAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","description":"When this evidence expired","format":"date-time","uniqueKey":"expiredAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"expiredAt","typeLabel":"string\u003cdate-time> | null"},"policy":{"oneOf":[{"type":"string","description":"Retention written when the artifact was saved, such as P7D","uniqueKey":"policy.oneOf.0","typeLabel":"string"},{"type":"null","description":"Retention written when the artifact was saved, such as P7D","uniqueKey":"policy.oneOf.1","typeLabel":"null"}],"uniqueKey":"policy","typeLabel":"string | null"}},"description":"Uniform error envelope returned for every non-2xx response","example":{"status":404,"code":"NOT_FOUND","category":"not_found","message":"Monitor not found","timestamp":1737302400000,"requestId":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"status":404,"code":"NOT_FOUND","category":"not_found","message":"Monitor not found","timestamp":1737302400000,"requestId":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"}}},"exampleType":"generated"}},"exampleType":"generated"},"0e452197-5bcc-464f-b667-66118cfa302a":{"description":"Too many requests — retry after the window resets","content":{"application/json":{"schema":{"required":["category","code","message","status","timestamp","retryable"],"type":"object","properties":{"status":{"type":"integer","description":"HTTP status code (mirrors the response status line)","format":"int32","example":404,"isRequired":true,"uniqueKey":"status","typeLabel":"integer\u003cint32>"},"code":{"type":"string","description":"Stable machine code for this error, such as NOT_FOUND or SYNTHETICS_USAGE_CAPPED","example":"NOT_FOUND","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"category":{"type":"string","description":"Machine class clients use to choose the next action","enum":["validation","blocked","auth","permission","ownership","plan","quota","rate_limit","conflict","confirmation_required","not_found","gone","platform"],"isRequired":true,"uniqueKey":"category","typeLabel":"enum\u003cstring>"},"retryable":{"type":"boolean","description":"Whether a later attempt can succeed without changing the request","example":false,"isRequired":true,"uniqueKey":"retryable","typeLabel":"boolean"},"message":{"type":"string","description":"Human-readable error message; safe to surface to end users","example":"Monitor not found","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"timestamp":{"type":"integer","description":"Server time when the error was produced (epoch milliseconds)","format":"int64","example":1737302400000,"isRequired":true,"uniqueKey":"timestamp","typeLabel":"integer\u003cint64>"},"requestId":{"oneOf":[{"type":"string","description":"Opaque per-request id; same value as the X-Request-Id response header. Use in support tickets.","example":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a","uniqueKey":"requestId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Opaque per-request id; same value as the X-Request-Id response header. Use in support tickets.","example":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a","uniqueKey":"requestId.oneOf.1","typeLabel":"null"}],"uniqueKey":"requestId","typeLabel":"string | null"},"errors":{"oneOf":[{"type":"array","description":"Structured per-field rejections; populated for validation errors, null otherwise","items":{"oneOf":[{"type":"object","description":"One structured validation rejection","required":["code","message"],"properties":{"code":{"minLength":1,"type":"string","description":"Stable machine-readable code; see ValidationErrorCode for the registry","example":"MONITOR_HEARTBEAT_GRACE_EXCEEDS_INTERVAL","isRequired":true,"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.code","typeLabel":"string"},"message":{"minLength":1,"type":"string","description":"Human-readable message; safe to surface to end users","isRequired":true,"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.message","typeLabel":"string"},"field":{"oneOf":[{"type":"string","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod","uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.field.oneOf.0","typeLabel":"string"},{"type":"null","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod","uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.field.oneOf.1","typeLabel":"null"}],"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.field","typeLabel":"string | null"}},"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"errors.oneOf.0.items.[INDEX]","typeLabel":"object | null"},"uniqueKey":"errors.oneOf.0","typeLabel":"(object | null)[]"},{"type":"null","description":"Structured per-field rejections; populated for validation errors, null otherwise","items":{"oneOf":[{"type":"object","description":"One structured validation rejection","required":["code","message"],"properties":{"code":{"minLength":1,"type":"string","description":"Stable machine-readable code; see ValidationErrorCode for the registry","example":"MONITOR_HEARTBEAT_GRACE_EXCEEDS_INTERVAL"},"field":{"oneOf":[{"type":"string","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod"},{"type":"null","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod"}]},"message":{"minLength":1,"type":"string","description":"Human-readable message; safe to surface to end users"}}},{"type":"null"}]},"uniqueKey":"errors.oneOf.1","typeLabel":"null"}],"uniqueKey":"errors","typeLabel":"(object | null)[] | null"},"retryAfterSeconds":{"oneOf":[{"type":"integer","description":"Seconds to wait before retrying a rate limit","format":"int64","example":30,"uniqueKey":"retryAfterSeconds.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Seconds to wait before retrying a rate limit","format":"int64","example":30,"uniqueKey":"retryAfterSeconds.oneOf.1","typeLabel":"null"}],"uniqueKey":"retryAfterSeconds","typeLabel":"integer\u003cint64> | null"},"resource":{"oneOf":[{"type":"string","description":"Meter or resource this limit applies to","example":"browser_runs","uniqueKey":"resource.oneOf.0","typeLabel":"string"},{"type":"null","description":"Meter or resource this limit applies to","example":"browser_runs","uniqueKey":"resource.oneOf.1","typeLabel":"null"}],"uniqueKey":"resource","typeLabel":"string | null"},"used":{"oneOf":[{"type":"integer","description":"Amount used in the current period","format":"int64","example":1000,"uniqueKey":"used.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Amount used in the current period","format":"int64","example":1000,"uniqueKey":"used.oneOf.1","typeLabel":"null"}],"uniqueKey":"used","typeLabel":"integer\u003cint64> | null"},"limit":{"oneOf":[{"type":"integer","description":"Maximum allowed for this period or plan","format":"int64","example":1000,"uniqueKey":"limit.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Maximum allowed for this period or plan","format":"int64","example":1000,"uniqueKey":"limit.oneOf.1","typeLabel":"null"}],"uniqueKey":"limit","typeLabel":"integer\u003cint64> | null"},"resetsAt":{"oneOf":[{"type":"string","description":"When this quota window resumes (ISO-8601)","example":"2026-11-01T00:00:00Z","uniqueKey":"resetsAt.oneOf.0","typeLabel":"string"},{"type":"null","description":"When this quota window resumes (ISO-8601)","example":"2026-11-01T00:00:00Z","uniqueKey":"resetsAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"resetsAt","typeLabel":"string | null"},"plan":{"oneOf":[{"type":"string","description":"Plan this refusal was evaluated against","example":"FREE","uniqueKey":"plan.oneOf.0","typeLabel":"string"},{"type":"null","description":"Plan this refusal was evaluated against","example":"FREE","uniqueKey":"plan.oneOf.1","typeLabel":"null"}],"uniqueKey":"plan","typeLabel":"string | null"},"upgradeUrl":{"oneOf":[{"type":"string","description":"Page where an admin can change the plan","example":"https://app.devhelm.io/settings/billing","uniqueKey":"upgradeUrl.oneOf.0","typeLabel":"string"},{"type":"null","description":"Page where an admin can change the plan","example":"https://app.devhelm.io/settings/billing","uniqueKey":"upgradeUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"upgradeUrl","typeLabel":"string | null"},"canRaise":{"oneOf":[{"type":"string","description":"Role that can raise this limit","example":"org admin","uniqueKey":"canRaise.oneOf.0","typeLabel":"string"},{"type":"null","description":"Role that can raise this limit","example":"org admin","uniqueKey":"canRaise.oneOf.1","typeLabel":"null"}],"uniqueKey":"canRaise","typeLabel":"string | null"},"owner":{"oneOf":[{"type":"string","description":"Who owns the resource when a write is refused","uniqueKey":"owner.oneOf.0","typeLabel":"string"},{"type":"null","description":"Who owns the resource when a write is refused","uniqueKey":"owner.oneOf.1","typeLabel":"null"}],"uniqueKey":"owner","typeLabel":"string | null"},"required":{"oneOf":[{"type":"string","description":"Missing scope, secret key, or other required value","uniqueKey":"required.oneOf.0","typeLabel":"string"},{"type":"null","description":"Missing scope, secret key, or other required value","uniqueKey":"required.oneOf.1","typeLabel":"null"}],"uniqueKey":"required","typeLabel":"string | null"},"have":{"oneOf":[{"type":"integer","description":"Current amount compared with the plan limit","format":"int64","example":10,"uniqueKey":"have.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Current amount compared with the plan limit","format":"int64","example":10,"uniqueKey":"have.oneOf.1","typeLabel":"null"}],"uniqueKey":"have","typeLabel":"integer\u003cint64> | null"},"reason":{"oneOf":[{"type":"string","description":"Why permission was refused: scope or role","example":"role","enum":["scope","role"],"uniqueKey":"reason.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Why permission was refused: scope or role","example":"role","enum":["scope","role"],"uniqueKey":"reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"reason","typeLabel":"enum\u003cstring> | null"},"next":{"oneOf":[{"type":"object","description":"Command and documentation that fix this error","properties":{"command":{"oneOf":[{"type":"string","description":"Command that fixes this error","example":"devhelm account usage","uniqueKey":"next.oneOf.0.command.oneOf.0","typeLabel":"string"},{"type":"null","description":"Command that fixes this error","example":"devhelm account usage","uniqueKey":"next.oneOf.0.command.oneOf.1","typeLabel":"null"}],"uniqueKey":"next.oneOf.0.command","typeLabel":"string | null"},"docs":{"oneOf":[{"type":"string","description":"Documentation page for this error","example":"https://docs.devhelm.io/errors/SYNTHETICS_USAGE_CAPPED","uniqueKey":"next.oneOf.0.docs.oneOf.0","typeLabel":"string"},{"type":"null","description":"Documentation page for this error","example":"https://docs.devhelm.io/errors/SYNTHETICS_USAGE_CAPPED","uniqueKey":"next.oneOf.0.docs.oneOf.1","typeLabel":"null"}],"uniqueKey":"next.oneOf.0.docs","typeLabel":"string | null"}},"uniqueKey":"next.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"next.oneOf.1","typeLabel":"null"}],"uniqueKey":"next","typeLabel":"object | null"},"details":{"oneOf":[{"type":"object","additionalProperties":{"oneOf":[{"type":"object","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.0.additionalProperties.oneOf.0","typeLabel":"object"},{"type":"null","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.0.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.0.additionalProperties","typeLabel":"object | null"},"description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.0","typeLabel":"object"},{"type":"null","additionalProperties":{"oneOf":[{"type":"object","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.1.additionalProperties.oneOf.0","typeLabel":"object"},{"type":"null","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.1.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.additionalProperties","typeLabel":"object | null"},"description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.1","typeLabel":"null"}],"uniqueKey":"details","typeLabel":"object | null"},"expiredAt":{"oneOf":[{"type":"string","description":"When this evidence expired","format":"date-time","uniqueKey":"expiredAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","description":"When this evidence expired","format":"date-time","uniqueKey":"expiredAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"expiredAt","typeLabel":"string\u003cdate-time> | null"},"policy":{"oneOf":[{"type":"string","description":"Retention written when the artifact was saved, such as P7D","uniqueKey":"policy.oneOf.0","typeLabel":"string"},{"type":"null","description":"Retention written when the artifact was saved, such as P7D","uniqueKey":"policy.oneOf.1","typeLabel":"null"}],"uniqueKey":"policy","typeLabel":"string | null"}},"description":"Uniform error envelope returned for every non-2xx response","example":{"status":404,"code":"NOT_FOUND","category":"not_found","message":"Monitor not found","timestamp":1737302400000,"requestId":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"status":404,"code":"NOT_FOUND","category":"not_found","message":"Monitor not found","timestamp":1737302400000,"requestId":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"}}},"exampleType":"generated"}},"exampleType":"generated"},"03eaa6b9-fa53-462d-8650-1f556096e91a":{"description":"Internal server error — see the message field for details","content":{"application/json":{"schema":{"required":["category","code","message","status","timestamp","retryable"],"type":"object","properties":{"status":{"type":"integer","description":"HTTP status code (mirrors the response status line)","format":"int32","example":404,"isRequired":true,"uniqueKey":"status","typeLabel":"integer\u003cint32>"},"code":{"type":"string","description":"Stable machine code for this error, such as NOT_FOUND or SYNTHETICS_USAGE_CAPPED","example":"NOT_FOUND","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"category":{"type":"string","description":"Machine class clients use to choose the next action","enum":["validation","blocked","auth","permission","ownership","plan","quota","rate_limit","conflict","confirmation_required","not_found","gone","platform"],"isRequired":true,"uniqueKey":"category","typeLabel":"enum\u003cstring>"},"retryable":{"type":"boolean","description":"Whether a later attempt can succeed without changing the request","example":false,"isRequired":true,"uniqueKey":"retryable","typeLabel":"boolean"},"message":{"type":"string","description":"Human-readable error message; safe to surface to end users","example":"Monitor not found","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"timestamp":{"type":"integer","description":"Server time when the error was produced (epoch milliseconds)","format":"int64","example":1737302400000,"isRequired":true,"uniqueKey":"timestamp","typeLabel":"integer\u003cint64>"},"requestId":{"oneOf":[{"type":"string","description":"Opaque per-request id; same value as the X-Request-Id response header. Use in support tickets.","example":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a","uniqueKey":"requestId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Opaque per-request id; same value as the X-Request-Id response header. Use in support tickets.","example":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a","uniqueKey":"requestId.oneOf.1","typeLabel":"null"}],"uniqueKey":"requestId","typeLabel":"string | null"},"errors":{"oneOf":[{"type":"array","description":"Structured per-field rejections; populated for validation errors, null otherwise","items":{"oneOf":[{"type":"object","description":"One structured validation rejection","required":["code","message"],"properties":{"code":{"minLength":1,"type":"string","description":"Stable machine-readable code; see ValidationErrorCode for the registry","example":"MONITOR_HEARTBEAT_GRACE_EXCEEDS_INTERVAL","isRequired":true,"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.code","typeLabel":"string"},"message":{"minLength":1,"type":"string","description":"Human-readable message; safe to surface to end users","isRequired":true,"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.message","typeLabel":"string"},"field":{"oneOf":[{"type":"string","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod","uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.field.oneOf.0","typeLabel":"string"},{"type":"null","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod","uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.field.oneOf.1","typeLabel":"null"}],"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.field","typeLabel":"string | null"}},"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"errors.oneOf.0.items.[INDEX]","typeLabel":"object | null"},"uniqueKey":"errors.oneOf.0","typeLabel":"(object | null)[]"},{"type":"null","description":"Structured per-field rejections; populated for validation errors, null otherwise","items":{"oneOf":[{"type":"object","description":"One structured validation rejection","required":["code","message"],"properties":{"code":{"minLength":1,"type":"string","description":"Stable machine-readable code; see ValidationErrorCode for the registry","example":"MONITOR_HEARTBEAT_GRACE_EXCEEDS_INTERVAL"},"field":{"oneOf":[{"type":"string","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod"},{"type":"null","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod"}]},"message":{"minLength":1,"type":"string","description":"Human-readable message; safe to surface to end users"}}},{"type":"null"}]},"uniqueKey":"errors.oneOf.1","typeLabel":"null"}],"uniqueKey":"errors","typeLabel":"(object | null)[] | null"},"retryAfterSeconds":{"oneOf":[{"type":"integer","description":"Seconds to wait before retrying a rate limit","format":"int64","example":30,"uniqueKey":"retryAfterSeconds.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Seconds to wait before retrying a rate limit","format":"int64","example":30,"uniqueKey":"retryAfterSeconds.oneOf.1","typeLabel":"null"}],"uniqueKey":"retryAfterSeconds","typeLabel":"integer\u003cint64> | null"},"resource":{"oneOf":[{"type":"string","description":"Meter or resource this limit applies to","example":"browser_runs","uniqueKey":"resource.oneOf.0","typeLabel":"string"},{"type":"null","description":"Meter or resource this limit applies to","example":"browser_runs","uniqueKey":"resource.oneOf.1","typeLabel":"null"}],"uniqueKey":"resource","typeLabel":"string | null"},"used":{"oneOf":[{"type":"integer","description":"Amount used in the current period","format":"int64","example":1000,"uniqueKey":"used.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Amount used in the current period","format":"int64","example":1000,"uniqueKey":"used.oneOf.1","typeLabel":"null"}],"uniqueKey":"used","typeLabel":"integer\u003cint64> | null"},"limit":{"oneOf":[{"type":"integer","description":"Maximum allowed for this period or plan","format":"int64","example":1000,"uniqueKey":"limit.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Maximum allowed for this period or plan","format":"int64","example":1000,"uniqueKey":"limit.oneOf.1","typeLabel":"null"}],"uniqueKey":"limit","typeLabel":"integer\u003cint64> | null"},"resetsAt":{"oneOf":[{"type":"string","description":"When this quota window resumes (ISO-8601)","example":"2026-11-01T00:00:00Z","uniqueKey":"resetsAt.oneOf.0","typeLabel":"string"},{"type":"null","description":"When this quota window resumes (ISO-8601)","example":"2026-11-01T00:00:00Z","uniqueKey":"resetsAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"resetsAt","typeLabel":"string | null"},"plan":{"oneOf":[{"type":"string","description":"Plan this refusal was evaluated against","example":"FREE","uniqueKey":"plan.oneOf.0","typeLabel":"string"},{"type":"null","description":"Plan this refusal was evaluated against","example":"FREE","uniqueKey":"plan.oneOf.1","typeLabel":"null"}],"uniqueKey":"plan","typeLabel":"string | null"},"upgradeUrl":{"oneOf":[{"type":"string","description":"Page where an admin can change the plan","example":"https://app.devhelm.io/settings/billing","uniqueKey":"upgradeUrl.oneOf.0","typeLabel":"string"},{"type":"null","description":"Page where an admin can change the plan","example":"https://app.devhelm.io/settings/billing","uniqueKey":"upgradeUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"upgradeUrl","typeLabel":"string | null"},"canRaise":{"oneOf":[{"type":"string","description":"Role that can raise this limit","example":"org admin","uniqueKey":"canRaise.oneOf.0","typeLabel":"string"},{"type":"null","description":"Role that can raise this limit","example":"org admin","uniqueKey":"canRaise.oneOf.1","typeLabel":"null"}],"uniqueKey":"canRaise","typeLabel":"string | null"},"owner":{"oneOf":[{"type":"string","description":"Who owns the resource when a write is refused","uniqueKey":"owner.oneOf.0","typeLabel":"string"},{"type":"null","description":"Who owns the resource when a write is refused","uniqueKey":"owner.oneOf.1","typeLabel":"null"}],"uniqueKey":"owner","typeLabel":"string | null"},"required":{"oneOf":[{"type":"string","description":"Missing scope, secret key, or other required value","uniqueKey":"required.oneOf.0","typeLabel":"string"},{"type":"null","description":"Missing scope, secret key, or other required value","uniqueKey":"required.oneOf.1","typeLabel":"null"}],"uniqueKey":"required","typeLabel":"string | null"},"have":{"oneOf":[{"type":"integer","description":"Current amount compared with the plan limit","format":"int64","example":10,"uniqueKey":"have.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Current amount compared with the plan limit","format":"int64","example":10,"uniqueKey":"have.oneOf.1","typeLabel":"null"}],"uniqueKey":"have","typeLabel":"integer\u003cint64> | null"},"reason":{"oneOf":[{"type":"string","description":"Why permission was refused: scope or role","example":"role","enum":["scope","role"],"uniqueKey":"reason.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Why permission was refused: scope or role","example":"role","enum":["scope","role"],"uniqueKey":"reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"reason","typeLabel":"enum\u003cstring> | null"},"next":{"oneOf":[{"type":"object","description":"Command and documentation that fix this error","properties":{"command":{"oneOf":[{"type":"string","description":"Command that fixes this error","example":"devhelm account usage","uniqueKey":"next.oneOf.0.command.oneOf.0","typeLabel":"string"},{"type":"null","description":"Command that fixes this error","example":"devhelm account usage","uniqueKey":"next.oneOf.0.command.oneOf.1","typeLabel":"null"}],"uniqueKey":"next.oneOf.0.command","typeLabel":"string | null"},"docs":{"oneOf":[{"type":"string","description":"Documentation page for this error","example":"https://docs.devhelm.io/errors/SYNTHETICS_USAGE_CAPPED","uniqueKey":"next.oneOf.0.docs.oneOf.0","typeLabel":"string"},{"type":"null","description":"Documentation page for this error","example":"https://docs.devhelm.io/errors/SYNTHETICS_USAGE_CAPPED","uniqueKey":"next.oneOf.0.docs.oneOf.1","typeLabel":"null"}],"uniqueKey":"next.oneOf.0.docs","typeLabel":"string | null"}},"uniqueKey":"next.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"next.oneOf.1","typeLabel":"null"}],"uniqueKey":"next","typeLabel":"object | null"},"details":{"oneOf":[{"type":"object","additionalProperties":{"oneOf":[{"type":"object","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.0.additionalProperties.oneOf.0","typeLabel":"object"},{"type":"null","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.0.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.0.additionalProperties","typeLabel":"object | null"},"description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.0","typeLabel":"object"},{"type":"null","additionalProperties":{"oneOf":[{"type":"object","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.1.additionalProperties.oneOf.0","typeLabel":"object"},{"type":"null","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.1.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.additionalProperties","typeLabel":"object | null"},"description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.1","typeLabel":"null"}],"uniqueKey":"details","typeLabel":"object | null"},"expiredAt":{"oneOf":[{"type":"string","description":"When this evidence expired","format":"date-time","uniqueKey":"expiredAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","description":"When this evidence expired","format":"date-time","uniqueKey":"expiredAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"expiredAt","typeLabel":"string\u003cdate-time> | null"},"policy":{"oneOf":[{"type":"string","description":"Retention written when the artifact was saved, such as P7D","uniqueKey":"policy.oneOf.0","typeLabel":"string"},{"type":"null","description":"Retention written when the artifact was saved, such as P7D","uniqueKey":"policy.oneOf.1","typeLabel":"null"}],"uniqueKey":"policy","typeLabel":"string | null"}},"description":"Uniform error envelope returned for every non-2xx response","example":{"status":404,"code":"NOT_FOUND","category":"not_found","message":"Monitor not found","timestamp":1737302400000,"requestId":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"status":404,"code":"NOT_FOUND","category":"not_found","message":"Monitor not found","timestamp":1737302400000,"requestId":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"}}},"exampleType":"generated"}},"exampleType":"generated"},"3c767743-f0cb-4509-8307-b599288dabbd":{"description":"Bad gateway — an upstream provider returned an error","content":{"application/json":{"schema":{"required":["category","code","message","status","timestamp","retryable"],"type":"object","properties":{"status":{"type":"integer","description":"HTTP status code (mirrors the response status line)","format":"int32","example":404,"isRequired":true,"uniqueKey":"status","typeLabel":"integer\u003cint32>"},"code":{"type":"string","description":"Stable machine code for this error, such as NOT_FOUND or SYNTHETICS_USAGE_CAPPED","example":"NOT_FOUND","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"category":{"type":"string","description":"Machine class clients use to choose the next action","enum":["validation","blocked","auth","permission","ownership","plan","quota","rate_limit","conflict","confirmation_required","not_found","gone","platform"],"isRequired":true,"uniqueKey":"category","typeLabel":"enum\u003cstring>"},"retryable":{"type":"boolean","description":"Whether a later attempt can succeed without changing the request","example":false,"isRequired":true,"uniqueKey":"retryable","typeLabel":"boolean"},"message":{"type":"string","description":"Human-readable error message; safe to surface to end users","example":"Monitor not found","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"timestamp":{"type":"integer","description":"Server time when the error was produced (epoch milliseconds)","format":"int64","example":1737302400000,"isRequired":true,"uniqueKey":"timestamp","typeLabel":"integer\u003cint64>"},"requestId":{"oneOf":[{"type":"string","description":"Opaque per-request id; same value as the X-Request-Id response header. Use in support tickets.","example":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a","uniqueKey":"requestId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Opaque per-request id; same value as the X-Request-Id response header. Use in support tickets.","example":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a","uniqueKey":"requestId.oneOf.1","typeLabel":"null"}],"uniqueKey":"requestId","typeLabel":"string | null"},"errors":{"oneOf":[{"type":"array","description":"Structured per-field rejections; populated for validation errors, null otherwise","items":{"oneOf":[{"type":"object","description":"One structured validation rejection","required":["code","message"],"properties":{"code":{"minLength":1,"type":"string","description":"Stable machine-readable code; see ValidationErrorCode for the registry","example":"MONITOR_HEARTBEAT_GRACE_EXCEEDS_INTERVAL","isRequired":true,"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.code","typeLabel":"string"},"message":{"minLength":1,"type":"string","description":"Human-readable message; safe to surface to end users","isRequired":true,"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.message","typeLabel":"string"},"field":{"oneOf":[{"type":"string","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod","uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.field.oneOf.0","typeLabel":"string"},{"type":"null","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod","uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.field.oneOf.1","typeLabel":"null"}],"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.field","typeLabel":"string | null"}},"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"errors.oneOf.0.items.[INDEX]","typeLabel":"object | null"},"uniqueKey":"errors.oneOf.0","typeLabel":"(object | null)[]"},{"type":"null","description":"Structured per-field rejections; populated for validation errors, null otherwise","items":{"oneOf":[{"type":"object","description":"One structured validation rejection","required":["code","message"],"properties":{"code":{"minLength":1,"type":"string","description":"Stable machine-readable code; see ValidationErrorCode for the registry","example":"MONITOR_HEARTBEAT_GRACE_EXCEEDS_INTERVAL"},"field":{"oneOf":[{"type":"string","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod"},{"type":"null","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod"}]},"message":{"minLength":1,"type":"string","description":"Human-readable message; safe to surface to end users"}}},{"type":"null"}]},"uniqueKey":"errors.oneOf.1","typeLabel":"null"}],"uniqueKey":"errors","typeLabel":"(object | null)[] | null"},"retryAfterSeconds":{"oneOf":[{"type":"integer","description":"Seconds to wait before retrying a rate limit","format":"int64","example":30,"uniqueKey":"retryAfterSeconds.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Seconds to wait before retrying a rate limit","format":"int64","example":30,"uniqueKey":"retryAfterSeconds.oneOf.1","typeLabel":"null"}],"uniqueKey":"retryAfterSeconds","typeLabel":"integer\u003cint64> | null"},"resource":{"oneOf":[{"type":"string","description":"Meter or resource this limit applies to","example":"browser_runs","uniqueKey":"resource.oneOf.0","typeLabel":"string"},{"type":"null","description":"Meter or resource this limit applies to","example":"browser_runs","uniqueKey":"resource.oneOf.1","typeLabel":"null"}],"uniqueKey":"resource","typeLabel":"string | null"},"used":{"oneOf":[{"type":"integer","description":"Amount used in the current period","format":"int64","example":1000,"uniqueKey":"used.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Amount used in the current period","format":"int64","example":1000,"uniqueKey":"used.oneOf.1","typeLabel":"null"}],"uniqueKey":"used","typeLabel":"integer\u003cint64> | null"},"limit":{"oneOf":[{"type":"integer","description":"Maximum allowed for this period or plan","format":"int64","example":1000,"uniqueKey":"limit.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Maximum allowed for this period or plan","format":"int64","example":1000,"uniqueKey":"limit.oneOf.1","typeLabel":"null"}],"uniqueKey":"limit","typeLabel":"integer\u003cint64> | null"},"resetsAt":{"oneOf":[{"type":"string","description":"When this quota window resumes (ISO-8601)","example":"2026-11-01T00:00:00Z","uniqueKey":"resetsAt.oneOf.0","typeLabel":"string"},{"type":"null","description":"When this quota window resumes (ISO-8601)","example":"2026-11-01T00:00:00Z","uniqueKey":"resetsAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"resetsAt","typeLabel":"string | null"},"plan":{"oneOf":[{"type":"string","description":"Plan this refusal was evaluated against","example":"FREE","uniqueKey":"plan.oneOf.0","typeLabel":"string"},{"type":"null","description":"Plan this refusal was evaluated against","example":"FREE","uniqueKey":"plan.oneOf.1","typeLabel":"null"}],"uniqueKey":"plan","typeLabel":"string | null"},"upgradeUrl":{"oneOf":[{"type":"string","description":"Page where an admin can change the plan","example":"https://app.devhelm.io/settings/billing","uniqueKey":"upgradeUrl.oneOf.0","typeLabel":"string"},{"type":"null","description":"Page where an admin can change the plan","example":"https://app.devhelm.io/settings/billing","uniqueKey":"upgradeUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"upgradeUrl","typeLabel":"string | null"},"canRaise":{"oneOf":[{"type":"string","description":"Role that can raise this limit","example":"org admin","uniqueKey":"canRaise.oneOf.0","typeLabel":"string"},{"type":"null","description":"Role that can raise this limit","example":"org admin","uniqueKey":"canRaise.oneOf.1","typeLabel":"null"}],"uniqueKey":"canRaise","typeLabel":"string | null"},"owner":{"oneOf":[{"type":"string","description":"Who owns the resource when a write is refused","uniqueKey":"owner.oneOf.0","typeLabel":"string"},{"type":"null","description":"Who owns the resource when a write is refused","uniqueKey":"owner.oneOf.1","typeLabel":"null"}],"uniqueKey":"owner","typeLabel":"string | null"},"required":{"oneOf":[{"type":"string","description":"Missing scope, secret key, or other required value","uniqueKey":"required.oneOf.0","typeLabel":"string"},{"type":"null","description":"Missing scope, secret key, or other required value","uniqueKey":"required.oneOf.1","typeLabel":"null"}],"uniqueKey":"required","typeLabel":"string | null"},"have":{"oneOf":[{"type":"integer","description":"Current amount compared with the plan limit","format":"int64","example":10,"uniqueKey":"have.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Current amount compared with the plan limit","format":"int64","example":10,"uniqueKey":"have.oneOf.1","typeLabel":"null"}],"uniqueKey":"have","typeLabel":"integer\u003cint64> | null"},"reason":{"oneOf":[{"type":"string","description":"Why permission was refused: scope or role","example":"role","enum":["scope","role"],"uniqueKey":"reason.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Why permission was refused: scope or role","example":"role","enum":["scope","role"],"uniqueKey":"reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"reason","typeLabel":"enum\u003cstring> | null"},"next":{"oneOf":[{"type":"object","description":"Command and documentation that fix this error","properties":{"command":{"oneOf":[{"type":"string","description":"Command that fixes this error","example":"devhelm account usage","uniqueKey":"next.oneOf.0.command.oneOf.0","typeLabel":"string"},{"type":"null","description":"Command that fixes this error","example":"devhelm account usage","uniqueKey":"next.oneOf.0.command.oneOf.1","typeLabel":"null"}],"uniqueKey":"next.oneOf.0.command","typeLabel":"string | null"},"docs":{"oneOf":[{"type":"string","description":"Documentation page for this error","example":"https://docs.devhelm.io/errors/SYNTHETICS_USAGE_CAPPED","uniqueKey":"next.oneOf.0.docs.oneOf.0","typeLabel":"string"},{"type":"null","description":"Documentation page for this error","example":"https://docs.devhelm.io/errors/SYNTHETICS_USAGE_CAPPED","uniqueKey":"next.oneOf.0.docs.oneOf.1","typeLabel":"null"}],"uniqueKey":"next.oneOf.0.docs","typeLabel":"string | null"}},"uniqueKey":"next.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"next.oneOf.1","typeLabel":"null"}],"uniqueKey":"next","typeLabel":"object | null"},"details":{"oneOf":[{"type":"object","additionalProperties":{"oneOf":[{"type":"object","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.0.additionalProperties.oneOf.0","typeLabel":"object"},{"type":"null","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.0.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.0.additionalProperties","typeLabel":"object | null"},"description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.0","typeLabel":"object"},{"type":"null","additionalProperties":{"oneOf":[{"type":"object","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.1.additionalProperties.oneOf.0","typeLabel":"object"},{"type":"null","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.1.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.additionalProperties","typeLabel":"object | null"},"description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.1","typeLabel":"null"}],"uniqueKey":"details","typeLabel":"object | null"},"expiredAt":{"oneOf":[{"type":"string","description":"When this evidence expired","format":"date-time","uniqueKey":"expiredAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","description":"When this evidence expired","format":"date-time","uniqueKey":"expiredAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"expiredAt","typeLabel":"string\u003cdate-time> | null"},"policy":{"oneOf":[{"type":"string","description":"Retention written when the artifact was saved, such as P7D","uniqueKey":"policy.oneOf.0","typeLabel":"string"},{"type":"null","description":"Retention written when the artifact was saved, such as P7D","uniqueKey":"policy.oneOf.1","typeLabel":"null"}],"uniqueKey":"policy","typeLabel":"string | null"}},"description":"Uniform error envelope returned for every non-2xx response","example":{"status":404,"code":"NOT_FOUND","category":"not_found","message":"Monitor not found","timestamp":1737302400000,"requestId":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"status":404,"code":"NOT_FOUND","category":"not_found","message":"Monitor not found","timestamp":1737302400000,"requestId":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"}}},"exampleType":"generated"}},"exampleType":"generated"},"7152ff1c-52ec-48ff-9b6b-e2e19265a9ca":{"description":"Service unavailable — try again shortly","content":{"application/json":{"schema":{"required":["category","code","message","status","timestamp","retryable"],"type":"object","properties":{"status":{"type":"integer","description":"HTTP status code (mirrors the response status line)","format":"int32","example":404,"isRequired":true,"uniqueKey":"status","typeLabel":"integer\u003cint32>"},"code":{"type":"string","description":"Stable machine code for this error, such as NOT_FOUND or SYNTHETICS_USAGE_CAPPED","example":"NOT_FOUND","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"category":{"type":"string","description":"Machine class clients use to choose the next action","enum":["validation","blocked","auth","permission","ownership","plan","quota","rate_limit","conflict","confirmation_required","not_found","gone","platform"],"isRequired":true,"uniqueKey":"category","typeLabel":"enum\u003cstring>"},"retryable":{"type":"boolean","description":"Whether a later attempt can succeed without changing the request","example":false,"isRequired":true,"uniqueKey":"retryable","typeLabel":"boolean"},"message":{"type":"string","description":"Human-readable error message; safe to surface to end users","example":"Monitor not found","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"timestamp":{"type":"integer","description":"Server time when the error was produced (epoch milliseconds)","format":"int64","example":1737302400000,"isRequired":true,"uniqueKey":"timestamp","typeLabel":"integer\u003cint64>"},"requestId":{"oneOf":[{"type":"string","description":"Opaque per-request id; same value as the X-Request-Id response header. Use in support tickets.","example":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a","uniqueKey":"requestId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Opaque per-request id; same value as the X-Request-Id response header. Use in support tickets.","example":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a","uniqueKey":"requestId.oneOf.1","typeLabel":"null"}],"uniqueKey":"requestId","typeLabel":"string | null"},"errors":{"oneOf":[{"type":"array","description":"Structured per-field rejections; populated for validation errors, null otherwise","items":{"oneOf":[{"type":"object","description":"One structured validation rejection","required":["code","message"],"properties":{"code":{"minLength":1,"type":"string","description":"Stable machine-readable code; see ValidationErrorCode for the registry","example":"MONITOR_HEARTBEAT_GRACE_EXCEEDS_INTERVAL","isRequired":true,"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.code","typeLabel":"string"},"message":{"minLength":1,"type":"string","description":"Human-readable message; safe to surface to end users","isRequired":true,"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.message","typeLabel":"string"},"field":{"oneOf":[{"type":"string","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod","uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.field.oneOf.0","typeLabel":"string"},{"type":"null","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod","uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.field.oneOf.1","typeLabel":"null"}],"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0.field","typeLabel":"string | null"}},"uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"errors.oneOf.0.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"errors.oneOf.0.items.[INDEX]","typeLabel":"object | null"},"uniqueKey":"errors.oneOf.0","typeLabel":"(object | null)[]"},{"type":"null","description":"Structured per-field rejections; populated for validation errors, null otherwise","items":{"oneOf":[{"type":"object","description":"One structured validation rejection","required":["code","message"],"properties":{"code":{"minLength":1,"type":"string","description":"Stable machine-readable code; see ValidationErrorCode for the registry","example":"MONITOR_HEARTBEAT_GRACE_EXCEEDS_INTERVAL"},"field":{"oneOf":[{"type":"string","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod"},{"type":"null","description":"JSON-pointer-like path to the offending field, or null for request-wide errors","example":"config.gracePeriod"}]},"message":{"minLength":1,"type":"string","description":"Human-readable message; safe to surface to end users"}}},{"type":"null"}]},"uniqueKey":"errors.oneOf.1","typeLabel":"null"}],"uniqueKey":"errors","typeLabel":"(object | null)[] | null"},"retryAfterSeconds":{"oneOf":[{"type":"integer","description":"Seconds to wait before retrying a rate limit","format":"int64","example":30,"uniqueKey":"retryAfterSeconds.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Seconds to wait before retrying a rate limit","format":"int64","example":30,"uniqueKey":"retryAfterSeconds.oneOf.1","typeLabel":"null"}],"uniqueKey":"retryAfterSeconds","typeLabel":"integer\u003cint64> | null"},"resource":{"oneOf":[{"type":"string","description":"Meter or resource this limit applies to","example":"browser_runs","uniqueKey":"resource.oneOf.0","typeLabel":"string"},{"type":"null","description":"Meter or resource this limit applies to","example":"browser_runs","uniqueKey":"resource.oneOf.1","typeLabel":"null"}],"uniqueKey":"resource","typeLabel":"string | null"},"used":{"oneOf":[{"type":"integer","description":"Amount used in the current period","format":"int64","example":1000,"uniqueKey":"used.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Amount used in the current period","format":"int64","example":1000,"uniqueKey":"used.oneOf.1","typeLabel":"null"}],"uniqueKey":"used","typeLabel":"integer\u003cint64> | null"},"limit":{"oneOf":[{"type":"integer","description":"Maximum allowed for this period or plan","format":"int64","example":1000,"uniqueKey":"limit.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Maximum allowed for this period or plan","format":"int64","example":1000,"uniqueKey":"limit.oneOf.1","typeLabel":"null"}],"uniqueKey":"limit","typeLabel":"integer\u003cint64> | null"},"resetsAt":{"oneOf":[{"type":"string","description":"When this quota window resumes (ISO-8601)","example":"2026-11-01T00:00:00Z","uniqueKey":"resetsAt.oneOf.0","typeLabel":"string"},{"type":"null","description":"When this quota window resumes (ISO-8601)","example":"2026-11-01T00:00:00Z","uniqueKey":"resetsAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"resetsAt","typeLabel":"string | null"},"plan":{"oneOf":[{"type":"string","description":"Plan this refusal was evaluated against","example":"FREE","uniqueKey":"plan.oneOf.0","typeLabel":"string"},{"type":"null","description":"Plan this refusal was evaluated against","example":"FREE","uniqueKey":"plan.oneOf.1","typeLabel":"null"}],"uniqueKey":"plan","typeLabel":"string | null"},"upgradeUrl":{"oneOf":[{"type":"string","description":"Page where an admin can change the plan","example":"https://app.devhelm.io/settings/billing","uniqueKey":"upgradeUrl.oneOf.0","typeLabel":"string"},{"type":"null","description":"Page where an admin can change the plan","example":"https://app.devhelm.io/settings/billing","uniqueKey":"upgradeUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"upgradeUrl","typeLabel":"string | null"},"canRaise":{"oneOf":[{"type":"string","description":"Role that can raise this limit","example":"org admin","uniqueKey":"canRaise.oneOf.0","typeLabel":"string"},{"type":"null","description":"Role that can raise this limit","example":"org admin","uniqueKey":"canRaise.oneOf.1","typeLabel":"null"}],"uniqueKey":"canRaise","typeLabel":"string | null"},"owner":{"oneOf":[{"type":"string","description":"Who owns the resource when a write is refused","uniqueKey":"owner.oneOf.0","typeLabel":"string"},{"type":"null","description":"Who owns the resource when a write is refused","uniqueKey":"owner.oneOf.1","typeLabel":"null"}],"uniqueKey":"owner","typeLabel":"string | null"},"required":{"oneOf":[{"type":"string","description":"Missing scope, secret key, or other required value","uniqueKey":"required.oneOf.0","typeLabel":"string"},{"type":"null","description":"Missing scope, secret key, or other required value","uniqueKey":"required.oneOf.1","typeLabel":"null"}],"uniqueKey":"required","typeLabel":"string | null"},"have":{"oneOf":[{"type":"integer","description":"Current amount compared with the plan limit","format":"int64","example":10,"uniqueKey":"have.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Current amount compared with the plan limit","format":"int64","example":10,"uniqueKey":"have.oneOf.1","typeLabel":"null"}],"uniqueKey":"have","typeLabel":"integer\u003cint64> | null"},"reason":{"oneOf":[{"type":"string","description":"Why permission was refused: scope or role","example":"role","enum":["scope","role"],"uniqueKey":"reason.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Why permission was refused: scope or role","example":"role","enum":["scope","role"],"uniqueKey":"reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"reason","typeLabel":"enum\u003cstring> | null"},"next":{"oneOf":[{"type":"object","description":"Command and documentation that fix this error","properties":{"command":{"oneOf":[{"type":"string","description":"Command that fixes this error","example":"devhelm account usage","uniqueKey":"next.oneOf.0.command.oneOf.0","typeLabel":"string"},{"type":"null","description":"Command that fixes this error","example":"devhelm account usage","uniqueKey":"next.oneOf.0.command.oneOf.1","typeLabel":"null"}],"uniqueKey":"next.oneOf.0.command","typeLabel":"string | null"},"docs":{"oneOf":[{"type":"string","description":"Documentation page for this error","example":"https://docs.devhelm.io/errors/SYNTHETICS_USAGE_CAPPED","uniqueKey":"next.oneOf.0.docs.oneOf.0","typeLabel":"string"},{"type":"null","description":"Documentation page for this error","example":"https://docs.devhelm.io/errors/SYNTHETICS_USAGE_CAPPED","uniqueKey":"next.oneOf.0.docs.oneOf.1","typeLabel":"null"}],"uniqueKey":"next.oneOf.0.docs","typeLabel":"string | null"}},"uniqueKey":"next.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"next.oneOf.1","typeLabel":"null"}],"uniqueKey":"next","typeLabel":"object | null"},"details":{"oneOf":[{"type":"object","additionalProperties":{"oneOf":[{"type":"object","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.0.additionalProperties.oneOf.0","typeLabel":"object"},{"type":"null","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.0.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.0.additionalProperties","typeLabel":"object | null"},"description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.0","typeLabel":"object"},{"type":"null","additionalProperties":{"oneOf":[{"type":"object","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.1.additionalProperties.oneOf.0","typeLabel":"object"},{"type":"null","description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.1.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.additionalProperties","typeLabel":"object | null"},"description":"Extra fields for this error, such as a missing secret key and environment","uniqueKey":"details.oneOf.1","typeLabel":"null"}],"uniqueKey":"details","typeLabel":"object | null"},"expiredAt":{"oneOf":[{"type":"string","description":"When this evidence expired","format":"date-time","uniqueKey":"expiredAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","description":"When this evidence expired","format":"date-time","uniqueKey":"expiredAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"expiredAt","typeLabel":"string\u003cdate-time> | null"},"policy":{"oneOf":[{"type":"string","description":"Retention written when the artifact was saved, such as P7D","uniqueKey":"policy.oneOf.0","typeLabel":"string"},{"type":"null","description":"Retention written when the artifact was saved, such as P7D","uniqueKey":"policy.oneOf.1","typeLabel":"null"}],"uniqueKey":"policy","typeLabel":"string | null"}},"description":"Uniform error envelope returned for every non-2xx response","example":{"status":404,"code":"NOT_FOUND","category":"not_found","message":"Monitor not found","timestamp":1737302400000,"requestId":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"status":404,"code":"NOT_FOUND","category":"not_found","message":"Monitor not found","timestamp":1737302400000,"requestId":"5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"7cd22f3e-dd62-4137-8c12-3496b18d074a":{"BearerAuth":{"type":"http","description":"API key (dh_live_...) or Auth0 JWT token","scheme":"bearer","bearerFormat":"JWT","scopes":[],"schemeName":"BearerAuth"}}},"servers":{"2ec8e7e4-72dd-46f8-a872-b7c617f50f19":{"url":"https://api.devhelm.io","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","description":"API key (dh_live_...) or Auth0 JWT token","scheme":"bearer","bearerFormat":"JWT","scopes":[],"schemeName":"BearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"API key (dh_live_...) or Auth0 JWT token","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"BearerAuth","name":"Authorization"}],"title":"BearerAuth"}]},"originalFileLocation":"openapi/monitoring-api.json"},"subdomain":"devhelm","siteName":"DevHelm","title":"Add an IdP signing certificate - DevHelm","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-09T12:15:52.136Z","originalFileLocation":"api-reference/sso-connection-admin-controller/add-an-idp-signing-certificate.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"DevHelm\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/devhelm/-zHJYjt_xPT4kWNr/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/devhelm/-zHJYjt_xPT4kWNr/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/devhelm/-zHJYjt_xPT4kWNr/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/devhelm/-zHJYjt_xPT4kWNr/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/devhelm/-zHJYjt_xPT4kWNr/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/devhelm/-zHJYjt_xPT4kWNr/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/devhelm/-zHJYjt_xPT4kWNr/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/devhelm/-zHJYjt_xPT4kWNr/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/devhelm/-zHJYjt_xPT4kWNr/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Add an IdP signing certificate - DevHelm\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"DevHelm\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.devhelm.io/api-reference/sso-connection-admin-controller/add-an-idp-signing-certificate\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://devhelm.mintlify.site/_mintlify/api/og/v2?division=sso-connection-admin-controller\u0026amp;title=Add+an+IdP+signing+certificate\u0026amp;theme=105a0b6ba8bba6aeef28c894\u0026amp;signature=648c54fca9867b34fb5819ecb03673e2cf3b8c9ca450481848c5e6b157cb7456\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Add an IdP signing certificate - DevHelm\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://devhelm.mintlify.site/_mintlify/api/og/v2?division=sso-connection-admin-controller\u0026amp;title=Add+an+IdP+signing+certificate\u0026amp;theme=105a0b6ba8bba6aeef28c894\u0026amp;signature=648c54fca9867b34fb5819ecb03673e2cf3b8c9ca450481848c5e6b157cb7456\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/devhelm/-zHJYjt_xPT4kWNr/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"DevHelm\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1ab892\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.devhelm.io/api-reference/sso-connection-admin-controller/add-an-idp-signing-certificate\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/sso-connection-admin-controller/add-an-idp-signing-certificate.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.devhelm.io/#organization\",\"name\":\"DevHelm\",\"url\":\"https://docs.devhelm.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/devhelm/hKVMw8Fv4Ljay4IC/logo/light.svg?fit=max\u0026auto=format\u0026n=hKVMw8Fv4Ljay4IC\u0026q=85\u0026s=b4cddf41cd9ac1092feee9e975fb8f0d\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.devhelm.io#website\",\"name\":\"DevHelm\",\"url\":\"https://docs.devhelm.io\",\"publisher\":{\"@id\":\"https://docs.devhelm.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.devhelm.io/api-reference/sso-connection-admin-controller/add-an-idp-signing-certificate#webpage\",\"url\":\"https://docs.devhelm.io/api-reference/sso-connection-admin-controller/add-an-idp-signing-certificate\",\"name\":\"Add an IdP signing certificate\",\"dateModified\":\"2026-11-09T12:15:52.136Z\",\"isPartOf\":{\"@id\":\"https://docs.devhelm.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.devhelm.io/api-reference/sso-connection-admin-controller/add-an-idp-signing-certificate#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.devhelm.io/api-reference/sso-connection-admin-controller/add-an-idp-signing-certificate#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"sso-connection-admin-controller\",\"item\":\"https://docs.devhelm.io/api-reference/sso-connection-admin-controller/list-sso-connections-for-a-status-page\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Add an IdP signing certificate\",\"item\":\"https://docs.devhelm.io/api-reference/sso-connection-admin-controller/add-an-idp-signing-certificate\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.devhelm.io/api-reference/sso-connection-admin-controller/add-an-idp-signing-certificate#apireference\",\"headline\":\"Add an IdP signing certificate\",\"name\":\"Add an IdP signing certificate\",\"url\":\"https://docs.devhelm.io/api-reference/sso-connection-admin-controller/add-an-idp-signing-certificate\",\"mainEntityOfPage\":{\"@id\":\"https://docs.devhelm.io/api-reference/sso-connection-admin-controller/add-an-idp-signing-certificate#webpage\"},\"dateModified\":\"2026-11-09T12:15:52.136Z\",\"publisher\":{\"@id\":\"https://docs.devhelm.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.devhelm.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"DevHelm\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"DevHelm","nav":{"global":null,"tabs":[{"tab":"Docs","icon":"book-open","pages":[{"title":"Docs","href":"/introduction"}]},{"tab":"Guides","icon":"map","pages":[{"title":"Guides","href":"/guides/overview"}]},{"tab":"Integrations","icon":"puzzle-piece","pages":[{"title":"Integrations","href":"/integrations/overview"}]},{"tab":"API Reference","icon":"square-terminal","groups":[{"group":"Alert Channels","pages":[{"title":"List active alert channels for the authenticated org","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/alert-channels","href":"/api-reference/alert-channels/list-active-alert-channels-for-the-authenticated-org"},{"title":"Create a new alert channel with encrypted config","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/alert-channels","href":"/api-reference/alert-channels/create-a-new-alert-channel-with-encrypted-config"},{"title":"Get a single alert channel by id","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/alert-channels/{id}","href":"/api-reference/alert-channels/get-a-single-alert-channel-by-id"},{"title":"Update an alert channel's name and re-encrypt config","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json put /api/v1/alert-channels/{id}","href":"/api-reference/alert-channels/update-an-alert-channels-name-and-re-encrypt-config"},{"title":"Soft-delete an alert channel and return affected policy summary","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/alert-channels/{id}","href":"/api-reference/alert-channels/soft-delete-an-alert-channel-and-return-affected-policy-summary"},{"title":"List delivery history for an alert channel","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/alert-channels/{id}/deliveries","href":"/api-reference/alert-channels/list-delivery-history-for-an-alert-channel"},{"title":"Enable or disable an alert channel without re-uploading config","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json patch /api/v1/alert-channels/{id}/enabled","href":"/api-reference/alert-channels/enable-or-disable-an-alert-channel-without-re-uploading-config"},{"title":"Test a saved alert channel's connectivity","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/alert-channels/{id}/test","href":"/api-reference/alert-channels/test-a-saved-alert-channels-connectivity"},{"title":"Test alert channel connectivity using raw config (no saved channel required)","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/alert-channels/test","href":"/api-reference/alert-channels/test-alert-channel-connectivity-using-raw-config-no-saved-channel-required"}]},{"group":"Alert Deliveries","pages":[{"title":"List delivery attempts for a specific alert delivery","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/alert-deliveries/{id}/attempts","href":"/api-reference/alert-deliveries/list-delivery-attempts-for-a-specific-alert-delivery"},{"title":"Retry a failed delivery","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/alert-deliveries/{id}/retry","href":"/api-reference/alert-deliveries/retry-a-failed-delivery"}]},{"group":"API Keys","pages":[{"title":"List API keys","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/api-keys","href":"/api-reference/api-keys/list-api-keys"},{"title":"Create API key","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/api-keys","href":"/api-reference/api-keys/create-api-key"},{"title":"Delete API key","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/api-keys/{id}","href":"/api-reference/api-keys/delete-api-key"},{"title":"Update API key","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json patch /api/v1/api-keys/{id}","href":"/api-reference/api-keys/update-api-key"},{"title":"Regenerate API key","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/api-keys/{id}/regenerate","href":"/api-reference/api-keys/regenerate-api-key"},{"title":"Revoke API key","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/api-keys/{id}/revoke","href":"/api-reference/api-keys/revoke-api-key"}]},{"group":"Artifacts","pages":[{"title":"Redirect to signed artifact download","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/artifacts/{id}/content","href":"/api-reference/artifacts/redirect-to-signed-artifact-download"},{"title":"Get a signed artifact download link","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/artifacts/{id}/download","href":"/api-reference/artifacts/get-a-signed-artifact-download-link"}]},{"group":"Audit Log","pages":[{"title":"List audit events for the current organization","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/audit-log","href":"/api-reference/audit-log/list-audit-events-for-the-current-organization"},{"title":"Export audit events as CSV","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/audit-log/export","href":"/api-reference/audit-log/export-audit-events-as-csv"}]},{"group":"Device Login","pages":[{"title":"Start a device-code login","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/auth/device","href":"/api-reference/device-login/start-a-device-code-login"},{"title":"Poll a device-code login","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/auth/device/token","href":"/api-reference/device-login/poll-a-device-code-login"}]},{"group":"API Auth","pages":[{"title":"Get current API key identity","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/auth/me","href":"/api-reference/api-auth/get-current-api-key-identity"}]},{"group":"Bundles","pages":[{"title":"Upload a code bundle as a JSON file map","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/bundles","href":"/api-reference/bundles/upload-a-code-bundle-as-a-json-file-map"},{"title":"Check every import without storing a bundle","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/bundles/check","href":"/api-reference/bundles/check-every-import-without-storing-a-bundle"}]},{"group":"Status Data","pages":[{"title":"List categories with service counts","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/categories","href":"/api-reference/status-data/list-categories-with-service-counts"},{"title":"List all enabled services (cursor-paginated)","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/services","href":"/api-reference/status-data/list-all-enabled-services-cursor-paginated"},{"title":"Get a single service by slug or UUID with current status, components, and recent incidents","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/services/{slugOrId}","href":"/api-reference/status-data/get-a-single-service-by-slug-or-uuid-with-current-status-components-and-recent-incidents"},{"title":"List active components for a service with current status and inline uptime","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/services/{slugOrId}/components","href":"/api-reference/status-data/list-active-components-for-a-service-with-current-status-and-inline-uptime"},{"title":"Get daily uptime data for a component","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/services/{slugOrId}/components/{componentId}/uptime","href":"/api-reference/status-data/get-daily-uptime-data-for-a-component"},{"title":"Batch daily uptime data for leaf components","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/services/{slugOrId}/components/uptime","href":"/api-reference/status-data/batch-daily-uptime-data-for-leaf-components"},{"title":"One-day rollup for a service: aggregated uptime, per-component impacts, and overlapping incidents","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/services/{slugOrId}/days/{date}","href":"/api-reference/status-data/one-day-rollup-for-a-service:-aggregated-uptime-per-component-impacts-and-overlapping-incidents"},{"title":"List incident history for a service (paginated)","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/services/{slugOrId}/incidents","href":"/api-reference/status-data/list-incident-history-for-a-service-paginated"},{"title":"Get incident detail with full update timeline","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/services/{slugOrId}/incidents/{incidentId}","href":"/api-reference/status-data/get-incident-detail-with-full-update-timeline"},{"title":"Lightweight live-status snapshot for polling","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/services/{slugOrId}/live-status","href":"/api-reference/status-data/lightweight-live-status-snapshot-for-polling"},{"title":"List scheduled maintenances for a service","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/services/{slugOrId}/maintenances","href":"/api-reference/status-data/list-scheduled-maintenances-for-a-service"},{"title":"List poll results for a service (cursor-paginated)","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/services/{slugOrId}/poll-results","href":"/api-reference/status-data/list-poll-results-for-a-service-cursor-paginated"},{"title":"Get aggregated poll metrics and chart data for a service","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/services/{slugOrId}/poll-summary","href":"/api-reference/status-data/get-aggregated-poll-metrics-and-chart-data-for-a-service"},{"title":"List curated vendor status events for a service","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/services/{slugOrId}/status-events","href":"/api-reference/status-data/list-curated-vendor-status-events-for-a-service"},{"title":"Get uptime statistics for a service","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/services/{slugOrId}/uptime","href":"/api-reference/status-data/get-uptime-statistics-for-a-service"},{"title":"List vendor incidents across all services (paginated)","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/services/incidents","href":"/api-reference/status-data/list-vendor-incidents-across-all-services-paginated"},{"title":"Global status summary across all services","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/services/summary","href":"/api-reference/status-data/global-status-summary-across-all-services"}]},{"group":"Dashboard","pages":[{"title":"Dashboard overview","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/dashboard/overview","href":"/api-reference/dashboard/dashboard-overview"}]},{"group":"Definitions","pages":[{"title":"List definitions","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/definitions","href":"/api-reference/definitions/list-definitions"},{"title":"Get definition with Heads","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/definitions/{id}","href":"/api-reference/definitions/get-definition-with-heads"},{"title":"List all revisions for a definition","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/definitions/{id}/revisions","href":"/api-reference/definitions/list-all-revisions-for-a-definition"}]},{"group":"dashboard-demo-booking-controller","pages":[{"title":"Get live demo times for the authenticated dashboard user","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/demo-booking/availability","href":"/api-reference/dashboard-demo-booking-controller/get-live-demo-times-for-the-authenticated-dashboard-user"},{"title":"Book a demo from the dashboard","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/demo-booking/bookings","href":"/api-reference/dashboard-demo-booking-controller/book-a-demo-from-the-dashboard"},{"title":"Get the dashboard user's booking attempt","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/demo-booking/bookings/{id}","href":"/api-reference/dashboard-demo-booking-controller/get-the-dashboard-users-booking-attempt"},{"title":"Recover or close the dashboard user's booking attempt","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/demo-booking/bookings/{id}/close-unsaved","href":"/api-reference/dashboard-demo-booking-controller/recover-or-close-the-dashboard-users-booking-attempt"}]},{"group":"Deploy Lock","pages":[{"title":"Get current deploy lock","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/deploy/lock","href":"/api-reference/deploy-lock/get-current-deploy-lock"},{"title":"Acquire deploy lock","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/deploy/lock","href":"/api-reference/deploy-lock/acquire-deploy-lock"},{"title":"Release deploy lock","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/deploy/lock/{lockId}","href":"/api-reference/deploy-lock/release-deploy-lock"},{"title":"Force-release deploy lock","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/deploy/lock/force","href":"/api-reference/deploy-lock/force-release-deploy-lock"}]},{"group":"Email Testing","pages":[{"title":"Wait for the oldest matching captured email at a local-part","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/email/{localpart}/wait","href":"/api-reference/email-testing/wait-for-the-oldest-matching-captured-email-at-a-local-part"},{"title":"List email testing domains for the workspace","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/email/domains","href":"/api-reference/email-testing/list-email-testing-domains-for-the-workspace"},{"title":"Create an assigned or custom email testing domain","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/email/domains","href":"/api-reference/email-testing/create-an-assigned-or-custom-email-testing-domain"},{"title":"Get an email testing domain including derived DNS records","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/email/domains/{domain}","href":"/api-reference/email-testing/get-an-email-testing-domain-including-derived-dns-records"},{"title":"Delete a domain, cascade messages, and remove the Redis allowlist entry","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/email/domains/{domain}","href":"/api-reference/email-testing/delete-a-domain-cascade-messages-and-remove-the-redis-allowlist-entry"},{"title":"Patch an email testing domain","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json patch /api/v1/email/domains/{domain}","href":"/api-reference/email-testing/patch-an-email-testing-domain"},{"title":"Delete every message for one local-part","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/email/domains/{domain}/inboxes/{inbox}","href":"/api-reference/email-testing/delete-every-message-for-one-local-part"},{"title":"Super-inbox: list messages newest-first","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/email/domains/{domain}/messages","href":"/api-reference/email-testing/super-inbox:-list-messages-newest-first"},{"title":"Get one captured message","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/email/domains/{domain}/messages/{messageId}","href":"/api-reference/email-testing/get-one-captured-message"},{"title":"Delete one captured message","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/email/domains/{domain}/messages/{messageId}","href":"/api-reference/email-testing/delete-one-captured-message"},{"title":"Signed URL for one attachment","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/email/domains/{domain}/messages/{messageId}/attachments/{attId}","href":"/api-reference/email-testing/signed-url-for-one-attachment"},{"title":"Extracted links on the message","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/email/domains/{domain}/messages/{messageId}/links","href":"/api-reference/email-testing/extracted-links-on-the-message"},{"title":"Extracted one-time codes on the message","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/email/domains/{domain}/messages/{messageId}/otp","href":"/api-reference/email-testing/extracted-one-time-codes-on-the-message"},{"title":"Signed URL for the raw RFC822 object","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/email/domains/{domain}/messages/{messageId}/raw","href":"/api-reference/email-testing/signed-url-for-the-raw-rfc822-object"},{"title":"Original message source as text","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/email/domains/{domain}/messages/{messageId}/source","href":"/api-reference/email-testing/original-message-source-as-text"},{"title":"Inject a JSON message onto the same durable path as SMTP","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/email/domains/{domain}/messages/inject","href":"/api-reference/email-testing/inject-a-json-message-onto-the-same-durable-path-as-smtp"},{"title":"Re-check TXT and MX for a custom domain","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/email/domains/{domain}/verify","href":"/api-reference/email-testing/re-check-txt-and-mx-for-a-custom-domain"},{"title":"Last-24h received-message activity for email domains","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/email/domains/activity","href":"/api-reference/email-testing/last-24h-received-message-activity-for-email-domains"},{"title":"Wait for the oldest matching captured email at a full address","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/email/wait","href":"/api-reference/email-testing/wait-for-the-oldest-matching-captured-email-at-a-full-address"}]},{"group":"Entitlements","pages":[{"title":"Get plan limits and this period's usage for the caller's organization","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/entitlements","href":"/api-reference/entitlements/get-plan-limits-and-this-periods-usage-for-the-callers-organization"}]},{"group":"Environments","pages":[{"title":"List environments","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/environments","href":"/api-reference/environments/list-environments"},{"title":"Create environment","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/environments","href":"/api-reference/environments/create-environment"},{"title":"Get environment by slug","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/environments/{slug}","href":"/api-reference/environments/get-environment-by-slug"},{"title":"Update environment","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json put /api/v1/environments/{slug}","href":"/api-reference/environments/update-environment"},{"title":"Delete environment","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/environments/{slug}","href":"/api-reference/environments/delete-environment"}]},{"group":"Forensics","pages":[{"title":"Full forensic timeline for an incident","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/forensics/incidents/{id}/timeline","href":"/api-reference/forensics/full-forensic-timeline-for-an-incident"},{"title":"Paged list of rule evaluations for a monitor","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/forensics/monitors/{id}/rule-evaluations","href":"/api-reference/forensics/paged-list-of-rule-evaluations-for-a-monitor"},{"title":"Paged list of state transitions for a monitor","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/forensics/monitors/{id}/transitions","href":"/api-reference/forensics/paged-list-of-state-transitions-for-a-monitor"},{"title":"Fetch a policy snapshot by its content hash","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/forensics/policy-snapshots/{hashHex}","href":"/api-reference/forensics/fetch-a-policy-snapshot-by-its-content-hash"},{"title":"Replay a single check execution","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/forensics/traces/{checkId}","href":"/api-reference/forensics/replay-a-single-check-execution"}]},{"group":"Heartbeat","pages":[{"title":"Record a heartbeat ping (GET)","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/heartbeat/{token}","href":"/api-reference/heartbeat/record-a-heartbeat-ping-get"},{"title":"Record a heartbeat ping (POST)","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/heartbeat/{token}","href":"/api-reference/heartbeat/record-a-heartbeat-ping-post"}]},{"group":"Incidents","pages":[{"title":"List incidents for the authenticated org","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/incidents","href":"/api-reference/incidents/list-incidents-for-the-authenticated-org"},{"title":"Create a manual incident","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/incidents","href":"/api-reference/incidents/create-a-manual-incident"},{"title":"Get incident details including update timeline","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/incidents/{id}","href":"/api-reference/incidents/get-incident-details-including-update-timeline"},{"title":"Update incident title and/or severity","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json patch /api/v1/incidents/{id}","href":"/api-reference/incidents/update-incident-title-andor-severity"},{"title":"Acknowledge all open notification dispatches for an incident","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/incidents/{id}/acknowledge","href":"/api-reference/incidents/acknowledge-all-open-notification-dispatches-for-an-incident"},{"title":"List merged activity events for an incident","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/incidents/{id}/events","href":"/api-reference/incidents/list-merged-activity-events-for-an-incident"},{"title":"List related incidents sharing the same origin","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/incidents/{id}/related","href":"/api-reference/incidents/list-related-incidents-sharing-the-same-origin"},{"title":"Resolve an incident","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/incidents/{id}/resolve","href":"/api-reference/incidents/resolve-an-incident"},{"title":"List code-monitor runs during an incident","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/incidents/{id}/runs","href":"/api-reference/incidents/list-code-monitor-runs-during-an-incident"},{"title":"Get incident trigger enrichment","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/incidents/{id}/trigger","href":"/api-reference/incidents/get-incident-trigger-enrichment"},{"title":"Add an update to an incident (optionally change status)","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/incidents/{id}/updates","href":"/api-reference/incidents/add-an-update-to-an-incident-optionally-change-status"}]},{"group":"Webhook Testing","pages":[{"title":"Capture an HTTP request sent to an inbox URL","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/ingest/{publicToken}","href":"/api-reference/webhook-testing/capture-an-http-request-sent-to-an-inbox-url"},{"title":"Capture an HTTP request sent to an inbox URL","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json put /api/v1/ingest/{publicToken}","href":"/api-reference/webhook-testing/capture-an-http-request-sent-to-an-inbox-url-1"},{"title":"Capture an HTTP request sent to an inbox URL","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/ingest/{publicToken}","href":"/api-reference/webhook-testing/capture-an-http-request-sent-to-an-inbox-url-2"},{"title":"Capture an HTTP request sent to an inbox URL","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/ingest/{publicToken}","href":"/api-reference/webhook-testing/capture-an-http-request-sent-to-an-inbox-url-3"},{"title":"Capture an HTTP request sent to an inbox URL","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json options /api/v1/ingest/{publicToken}","href":"/api-reference/webhook-testing/capture-an-http-request-sent-to-an-inbox-url-4"},{"title":"Capture an HTTP request sent to an inbox URL","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json head /api/v1/ingest/{publicToken}","href":"/api-reference/webhook-testing/capture-an-http-request-sent-to-an-inbox-url-5"},{"title":"Capture an HTTP request sent to an inbox URL","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json patch /api/v1/ingest/{publicToken}","href":"/api-reference/webhook-testing/capture-an-http-request-sent-to-an-inbox-url-6"},{"title":"List webhook testing inboxes for the workspace","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/webhook/inboxes","href":"/api-reference/webhook-testing/list-webhook-testing-inboxes-for-the-workspace"},{"title":"Create a webhook testing inbox","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/webhook/inboxes","href":"/api-reference/webhook-testing/create-a-webhook-testing-inbox"},{"title":"Get a webhook testing inbox","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/webhook/inboxes/{inboxId}","href":"/api-reference/webhook-testing/get-a-webhook-testing-inbox"},{"title":"Delete a webhook testing inbox and cascade events","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/webhook/inboxes/{inboxId}","href":"/api-reference/webhook-testing/delete-a-webhook-testing-inbox-and-cascade-events"},{"title":"Patch a webhook testing inbox","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json patch /api/v1/webhook/inboxes/{inboxId}","href":"/api-reference/webhook-testing/patch-a-webhook-testing-inbox"},{"title":"List captured HTTP events newest-first","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/webhook/inboxes/{inboxId}/events","href":"/api-reference/webhook-testing/list-captured-http-events-newest-first"},{"title":"Delete every captured event on this inbox","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/webhook/inboxes/{inboxId}/events","href":"/api-reference/webhook-testing/delete-every-captured-event-on-this-inbox"},{"title":"Get one captured HTTP event","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/webhook/inboxes/{inboxId}/events/{eventId}","href":"/api-reference/webhook-testing/get-one-captured-http-event"},{"title":"Delete one captured event","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/webhook/inboxes/{inboxId}/events/{eventId}","href":"/api-reference/webhook-testing/delete-one-captured-event"},{"title":"Signed URL for the raw captured request","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/webhook/inboxes/{inboxId}/events/{eventId}/raw","href":"/api-reference/webhook-testing/signed-url-for-the-raw-captured-request"},{"title":"Wait for the oldest matching captured HTTP event","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/webhook/inboxes/{inboxId}/wait","href":"/api-reference/webhook-testing/wait-for-the-oldest-matching-captured-http-event"},{"title":"Last-24h received-request activity for webhook inboxes","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/webhook/inboxes/activity","href":"/api-reference/webhook-testing/last-24h-received-request-activity-for-webhook-inboxes"}]},{"group":"Integrations","pages":[{"title":"List all supported integration types","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/integrations","href":"/api-reference/integrations/list-all-supported-integration-types"},{"title":"List supported voice languages for phone call alerts","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/integrations/voice-languages","href":"/api-reference/integrations/list-supported-voice-languages-for-phone-call-alerts"}]},{"group":"Invites","pages":[{"title":"List invites","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/invites","href":"/api-reference/invites/list-invites"},{"title":"Create invite","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/invites","href":"/api-reference/invites/create-invite"},{"title":"Resend invite","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/invites/{inviteId}/resend","href":"/api-reference/invites/resend-invite"},{"title":"Revoke invite","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/invites/{inviteId}/revoke","href":"/api-reference/invites/revoke-invite"}]},{"group":"Maintenance Windows","pages":[{"title":"List maintenance windows for the authenticated org","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/maintenance-windows","href":"/api-reference/maintenance-windows/list-maintenance-windows-for-the-authenticated-org"},{"title":"Create a maintenance window","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/maintenance-windows","href":"/api-reference/maintenance-windows/create-a-maintenance-window"},{"title":"Get a single maintenance window by ID","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/maintenance-windows/{id}","href":"/api-reference/maintenance-windows/get-a-single-maintenance-window-by-id"},{"title":"Update a maintenance window","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json put /api/v1/maintenance-windows/{id}","href":"/api-reference/maintenance-windows/update-a-maintenance-window"},{"title":"Delete a maintenance window","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/maintenance-windows/{id}","href":"/api-reference/maintenance-windows/delete-a-maintenance-window"}]},{"group":"Members","pages":[{"title":"List organization members","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/members","href":"/api-reference/members/list-organization-members"},{"title":"Remove member from organization","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/members/{userId}","href":"/api-reference/members/remove-member-from-organization"},{"title":"Change member role","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json put /api/v1/members/{userId}/role","href":"/api-reference/members/change-member-role"},{"title":"Change member status","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json put /api/v1/members/{userId}/status","href":"/api-reference/members/change-member-status"}]},{"group":"Monitors","pages":[{"title":"List monitors for the authenticated org","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/monitors","href":"/api-reference/monitors/list-monitors-for-the-authenticated-org"},{"title":"Create a new monitor","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/monitors","href":"/api-reference/monitors/create-a-new-monitor"},{"title":"Get a single monitor by id","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/monitors/{id}","href":"/api-reference/monitors/get-a-single-monitor-by-id"},{"title":"Update a monitor","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json put /api/v1/monitors/{id}","href":"/api-reference/monitors/update-a-monitor"},{"title":"Soft-delete a monitor","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/monitors/{id}","href":"/api-reference/monitors/soft-delete-a-monitor"},{"title":"IaC-declared baseline vs live overlays","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/monitors/{id}/drift","href":"/api-reference/monitors/iac-declared-baseline-vs-live-overlays"},{"title":"Mute alert delivery without flipping enabled","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/monitors/{id}/mute","href":"/api-reference/monitors/mute-alert-delivery-without-flipping-enabled"},{"title":"Pause a monitor","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/monitors/{id}/pause","href":"/api-reference/monitors/pause-a-monitor"},{"title":"Quarantine a monitor","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/monitors/{id}/quarantine","href":"/api-reference/monitors/quarantine-a-monitor"},{"title":"Release quarantine","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/monitors/{id}/release-quarantine","href":"/api-reference/monitors/release-quarantine"},{"title":"Restore a deleted monitor","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/monitors/{id}/restore","href":"/api-reference/monitors/restore-a-deleted-monitor"},{"title":"Resume a paused monitor","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/monitors/{id}/resume","href":"/api-reference/monitors/resume-a-paused-monitor"},{"title":"Rotate the ping token for a heartbeat monitor","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/monitors/{id}/rotate-token","href":"/api-reference/monitors/rotate-the-ping-token-for-a-heartbeat-monitor"},{"title":"Projected run volume and meter headroom","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/monitors/{id}/settings/preview","href":"/api-reference/monitors/projected-run-volume-and-meter-headroom"},{"title":"List status pages that contain this monitor as a component","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/monitors/{id}/status-pages","href":"/api-reference/monitors/list-status-pages-that-contain-this-monitor-as-a-component"},{"title":"Get all tags applied to a monitor","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/monitors/{id}/tags","href":"/api-reference/monitors/get-all-tags-applied-to-a-monitor"},{"title":"Add tags to a monitor; supports existing tag IDs and inline creation of new tags","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/monitors/{id}/tags","href":"/api-reference/monitors/add-tags-to-a-monitor;-supports-existing-tag-ids-and-inline-creation-of-new-tags"},{"title":"Remove tags from a monitor by their IDs","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/monitors/{id}/tags","href":"/api-reference/monitors/remove-tags-from-a-monitor-by-their-ids"},{"title":"Claim a field for dashboard ownership or reset an overlay","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/monitors/{id}/takeover","href":"/api-reference/monitors/claim-a-field-for-dashboard-ownership-or-reset-an-overlay"},{"title":"Test an existing monitor","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/monitors/{id}/test","href":"/api-reference/monitors/test-an-existing-monitor"},{"title":"Send test notifications through the monitor's alert channels","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/monitors/{id}/test-notifications","href":"/api-reference/monitors/send-test-notifications-through-the-monitors-alert-channels"},{"title":"Transfer a monitor to another owning tool","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/monitors/{id}/transfer","href":"/api-reference/monitors/transfer-a-monitor-to-another-owning-tool"},{"title":"Clear mute overlay","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/monitors/{id}/unmute","href":"/api-reference/monitors/clear-mute-overlay"},{"title":"Project monthly usage for an update payload","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/monitors/{id}/usage-preview","href":"/api-reference/monitors/project-monthly-usage-for-an-update-payload"},{"title":"List version history for a monitor","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/monitors/{id}/versions","href":"/api-reference/monitors/list-version-history-for-a-monitor"},{"title":"Get a specific version snapshot for a monitor","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/monitors/{id}/versions/{version}","href":"/api-reference/monitors/get-a-specific-version-snapshot-for-a-monitor"},{"title":"Availability, p95 and ticks for several monitors","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/monitors/batch-history","href":"/api-reference/monitors/availability-p95-and-ticks-for-several-monitors"},{"title":"Bulk action on monitors","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/monitors/bulk","href":"/api-reference/monitors/bulk-action-on-monitors"},{"title":"Count monitors per list group and facet value","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/monitors/facets","href":"/api-reference/monitors/count-monitors-per-list-group-and-facet-value"},{"title":"Ad-hoc monitor test","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/monitors/test","href":"/api-reference/monitors/ad-hoc-monitor-test"},{"title":"List deleted monitors that can still be restored","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/monitors/trash","href":"/api-reference/monitors/list-deleted-monitors-that-can-still-be-restored"},{"title":"Project monthly usage for a create payload","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/monitors/usage-preview","href":"/api-reference/monitors/project-monthly-usage-for-a-create-payload"},{"title":"Dry-run plan, secret, and runtime checks","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/monitors/validate","href":"/api-reference/monitors/dry-run-plan-secret-and-runtime-checks"}]},{"group":"Monitor History","pages":[{"title":"List skipped ticks for a monitor","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/monitors/{id}/history","href":"/api-reference/monitor-history/list-skipped-ticks-for-a-monitor"}]},{"group":"Check Results","pages":[{"title":"Overview step catalog","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/monitors/{id}/overview/steps","href":"/api-reference/check-results/overview-step-catalog"},{"title":"List raw check results","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/monitors/{id}/results","href":"/api-reference/check-results/list-raw-check-results"},{"title":"Get per-region uptime and latency series","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/monitors/{id}/results/by-region","href":"/api-reference/check-results/get-per-region-uptime-and-latency-series"},{"title":"Get results summary","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/monitors/{id}/results/summary","href":"/api-reference/check-results/get-results-summary"},{"title":"Get uptime statistics","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/monitors/{id}/uptime","href":"/api-reference/check-results/get-uptime-statistics"}]},{"group":"Monitor definitions","pages":[{"title":"Publish a revision as Head for this monitor","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/monitors/{id}/publish","href":"/api-reference/monitor-definitions/publish-a-revision-as-head-for-this-monitor"},{"title":"List revisions that were live for this monitor","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/monitors/{id}/revisions","href":"/api-reference/monitor-definitions/list-revisions-that-were-live-for-this-monitor"},{"title":"Save a draft revision","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/monitors/{id}/revisions","href":"/api-reference/monitor-definitions/save-a-draft-revision"},{"title":"Discard a draft revision","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/monitors/{id}/revisions/{revisionId}","href":"/api-reference/monitor-definitions/discard-a-draft-revision"},{"title":"Extend an open draft for another fourteen days","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/monitors/{id}/revisions/{revisionId}/keep","href":"/api-reference/monitor-definitions/extend-an-open-draft-for-another-fourteen-days"},{"title":"Run remote validation against a revision without moving Head","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/monitors/{id}/revisions/{revisionId}/test","href":"/api-reference/monitor-definitions/run-remote-validation-against-a-revision-without-moving-head"},{"title":"Roll back Head to a prior live revision","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/monitors/{id}/rollback","href":"/api-reference/monitor-definitions/roll-back-head-to-a-prior-live-revision"},{"title":"Preview rollback consequences for this environment","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/monitors/{id}/rollback-preview","href":"/api-reference/monitor-definitions/preview-rollback-consequences-for-this-environment"}]},{"group":"Monitor Runs","pages":[{"title":"List runs for a code monitor","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/monitors/{id}/runs","href":"/api-reference/monitor-runs/list-runs-for-a-code-monitor"},{"title":"Run a code monitor now","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/monitors/{id}/runs","href":"/api-reference/monitor-runs/run-a-code-monitor-now"},{"title":"Summarize one monitor's execution durations","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/monitors/{id}/runs/summary","href":"/api-reference/monitor-runs/summarize-one-monitors-execution-durations"},{"title":"Trigger a code monitor in several regions","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/monitors/{id}/triggers","href":"/api-reference/monitor-runs/trigger-a-code-monitor-in-several-regions"}]},{"group":"monitor-run-diagnostics-controller","pages":[{"title":"Get regional run health without changing incident evaluation","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/monitors/{id}/runs/regional-health","href":"/api-reference/monitor-run-diagnostics-controller/get-regional-run-health-without-changing-incident-evaluation"},{"title":"Get the next actual scheduler admission time","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/monitors/{id}/runs/schedule","href":"/api-reference/monitor-run-diagnostics-controller/get-the-next-actual-scheduler-admission-time"},{"title":"Get execution-duration and regional target-health chart buckets","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/monitors/{id}/runs/series","href":"/api-reference/monitor-run-diagnostics-controller/get-execution-duration-and-regional-target-health-chart-buckets"}]},{"group":"Monitor secret requests","pages":[{"title":"List secret requests for a monitor","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/monitors/{id}/secret-requests","href":"/api-reference/monitor-secret-requests/list-secret-requests-for-a-monitor"},{"title":"Attach or clear a remapped secret for a key","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json put /api/v1/monitors/{id}/secret-requests/{key}","href":"/api-reference/monitor-secret-requests/attach-or-clear-a-remapped-secret-for-a-key"},{"title":"Rescan secret requests from the active package","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/monitors/{id}/secret-requests/rescan","href":"/api-reference/monitor-secret-requests/rescan-secret-requests-from-the-active-package"}]},{"group":"Monitor session","pages":[{"title":"Get the monitor session","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/monitors/{id}/session","href":"/api-reference/monitor-session/get-the-monitor-session"},{"title":"Create or update the monitor session","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json put /api/v1/monitors/{id}/session","href":"/api-reference/monitor-session/create-or-update-the-monitor-session"},{"title":"Renew the monitor session","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/monitors/{id}/session/renew","href":"/api-reference/monitor-session/renew-the-monitor-session"},{"title":"Revoke the monitor session","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/monitors/{id}/session/revoke","href":"/api-reference/monitor-session/revoke-the-monitor-session"},{"title":"List sign-in sessions by setup file","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/monitors/{id}/sessions","href":"/api-reference/monitor-session/list-sign-in-sessions-by-setup-file"},{"title":"Create or update one setup-file session","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json put /api/v1/monitors/{id}/sessions","href":"/api-reference/monitor-session/create-or-update-one-setup-file-session"},{"title":"Capture a new session for one setup file","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/monitors/{id}/sessions/renew","href":"/api-reference/monitor-session/capture-a-new-session-for-one-setup-file"},{"title":"Revoke the cache for one setup file","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/monitors/{id}/sessions/revoke","href":"/api-reference/monitor-session/revoke-the-cache-for-one-setup-file"}]},{"group":"Monitor Alert Channels","pages":[{"title":"Replace the linked alert channel set for a monitor","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json put /api/v1/monitors/{monitorId}/alert-channels","href":"/api-reference/monitor-alert-channels/replace-the-linked-alert-channel-set-for-a-monitor"}]},{"group":"Monitor Assertions","pages":[{"title":"Add an assertion to a monitor","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/monitors/{monitorId}/assertions","href":"/api-reference/monitor-assertions/add-an-assertion-to-a-monitor"},{"title":"Update an assertion on a monitor","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json put /api/v1/monitors/{monitorId}/assertions/{assertionId}","href":"/api-reference/monitor-assertions/update-an-assertion-on-a-monitor"},{"title":"Remove an assertion from a monitor","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/monitors/{monitorId}/assertions/{assertionId}","href":"/api-reference/monitor-assertions/remove-an-assertion-from-a-monitor"}]},{"group":"Monitor Auth","pages":[{"title":"Update authentication config for a monitor","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json put /api/v1/monitors/{monitorId}/auth","href":"/api-reference/monitor-auth/update-authentication-config-for-a-monitor"},{"title":"Set authentication config for a monitor","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/monitors/{monitorId}/auth","href":"/api-reference/monitor-auth/set-authentication-config-for-a-monitor"},{"title":"Remove authentication config from a monitor","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/monitors/{monitorId}/auth","href":"/api-reference/monitor-auth/remove-authentication-config-from-a-monitor"}]},{"group":"Incident Policies","pages":[{"title":"Get incident policy for a monitor","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/monitors/{monitorId}/policy","href":"/api-reference/incident-policies/get-incident-policy-for-a-monitor"},{"title":"Update incident policy for a monitor","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json put /api/v1/monitors/{monitorId}/policy","href":"/api-reference/incident-policies/update-incident-policy-for-a-monitor"}]},{"group":"monitor-export-controller","pages":[{"title":"Export up to 200 explicitly selected monitors as CSV","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/monitors/export.csv","href":"/api-reference/monitor-export-controller/export-up-to-200-explicitly-selected-monitors-as-csv"}]},{"group":"Notification Dispatches","pages":[{"title":"List all dispatches for an incident","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/notification-dispatches","href":"/api-reference/notification-dispatches/list-all-dispatches-for-an-incident"},{"title":"Get a single dispatch with full escalation and delivery history","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/notification-dispatches/{id}","href":"/api-reference/notification-dispatches/get-a-single-dispatch-with-full-escalation-and-delivery-history"},{"title":"Acknowledge a notification dispatch","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/notification-dispatches/{id}/acknowledge","href":"/api-reference/notification-dispatches/acknowledge-a-notification-dispatch"},{"title":"Unacknowledge a notification dispatch","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/notification-dispatches/{id}/unacknowledge","href":"/api-reference/notification-dispatches/unacknowledge-a-notification-dispatch"}]},{"group":"Notification Policies","pages":[{"title":"List all notification policies for the authenticated org","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/notification-policies","href":"/api-reference/notification-policies/list-all-notification-policies-for-the-authenticated-org"},{"title":"Create a notification policy with match rules and escalation chain","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/notification-policies","href":"/api-reference/notification-policies/create-a-notification-policy-with-match-rules-and-escalation-chain"},{"title":"Get a notification policy by ID","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/notification-policies/{id}","href":"/api-reference/notification-policies/get-a-notification-policy-by-id"},{"title":"Update a notification policy","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json put /api/v1/notification-policies/{id}","href":"/api-reference/notification-policies/update-a-notification-policy"},{"title":"Delete a notification policy","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/notification-policies/{id}","href":"/api-reference/notification-policies/delete-a-notification-policy"},{"title":"List dispatches (firing history) for a notification policy","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/notification-policies/{id}/dispatches","href":"/api-reference/notification-policies/list-dispatches-firing-history-for-a-notification-policy"},{"title":"Dry-run: evaluate a policy's match rules against a supplied incident context","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/notification-policies/{id}/test","href":"/api-reference/notification-policies/dry-run:-evaluate-a-policys-match-rules-against-a-supplied-incident-context"}]},{"group":"Notifications","pages":[{"title":"List notifications for the current user","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/notifications","href":"/api-reference/notifications/list-notifications-for-the-current-user"},{"title":"Mark a notification as read","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json put /api/v1/notifications/{id}/read","href":"/api-reference/notifications/mark-a-notification-as-read"},{"title":"Mark all notifications as read","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json put /api/v1/notifications/read-all","href":"/api-reference/notifications/mark-all-notifications-as-read"},{"title":"Get unread notification count","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/notifications/unread-count","href":"/api-reference/notifications/get-unread-notification-count"}]},{"group":"Organizations","pages":[{"title":"Get the current organization","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/org","href":"/api-reference/organizations/get-the-current-organization"},{"title":"Update the current organization","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json put /api/v1/org","href":"/api-reference/organizations/update-the-current-organization"}]},{"group":"Regions","pages":[{"title":"List public regions","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/regions","href":"/api-reference/regions/list-public-regions"}]},{"group":"Resource Groups","pages":[{"title":"List all resource groups for the authenticated org with health summaries","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/resource-groups","href":"/api-reference/resource-groups/list-all-resource-groups-for-the-authenticated-org-with-health-summaries"},{"title":"Create a new resource group","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/resource-groups","href":"/api-reference/resource-groups/create-a-new-resource-group"},{"title":"Get a resource group by id with member statuses and inherited settings","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/resource-groups/{id}","href":"/api-reference/resource-groups/get-a-resource-group-by-id-with-member-statuses-and-inherited-settings"},{"title":"Update a resource group's name, description, alert policy, inherited settings, and health threshold","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json put /api/v1/resource-groups/{id}","href":"/api-reference/resource-groups/update-a-resource-groups-name-description-alert-policy-inherited-settings-and-health-threshold"},{"title":"Delete a resource group (cascades to member rows)","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/resource-groups/{id}","href":"/api-reference/resource-groups/delete-a-resource-group-cascades-to-member-rows"},{"title":"Get the detailed health breakdown for a resource group","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/resource-groups/{id}/health","href":"/api-reference/resource-groups/get-the-detailed-health-breakdown-for-a-resource-group"},{"title":"List notification policies that match this resource group","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/resource-groups/{id}/matched-policies","href":"/api-reference/resource-groups/list-notification-policies-that-match-this-resource-group"},{"title":"Add a monitor or service member to a resource group","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/resource-groups/{id}/members","href":"/api-reference/resource-groups/add-a-monitor-or-service-member-to-a-resource-group"},{"title":"Remove a member from a resource group","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/resource-groups/{id}/members/{memberId}","href":"/api-reference/resource-groups/remove-a-member-from-a-resource-group"}]},{"group":"Revisions","pages":[{"title":"Get revision package","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/revisions/{id}","href":"/api-reference/revisions/get-revision-package"},{"title":"Redirect to signed package download","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/revisions/{id}/bundle","href":"/api-reference/revisions/redirect-to-signed-package-download"},{"title":"Download revision archive","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/revisions/{id}/bundle/content","href":"/api-reference/revisions/download-revision-archive"},{"title":"Compare two revisions (bounded hunks)","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/revisions/{id}/diff/{other}","href":"/api-reference/revisions/compare-two-revisions-bounded-hunks"},{"title":"Read revision source files","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/revisions/{id}/files","href":"/api-reference/revisions/read-revision-source-files"},{"title":"Purge revision package bytes","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/revisions/{id}/purge","href":"/api-reference/revisions/purge-revision-package-bytes"}]},{"group":"Runs","pages":[{"title":"List code runs","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/runs","href":"/api-reference/runs/list-code-runs"},{"title":"Get a run","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/runs/{id}","href":"/api-reference/runs/get-a-run"},{"title":"List run artifacts","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/runs/{id}/artifacts","href":"/api-reference/runs/list-run-artifacts"},{"title":"Request run cancel","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/runs/{id}/cancel","href":"/api-reference/runs/request-run-cancel"},{"title":"Compare a screenshot to the last pass of this step","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/runs/{id}/captures/{artifactId}/compare","href":"/api-reference/runs/compare-a-screenshot-to-the-last-pass-of-this-step"},{"title":"List run cases with nested steps","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/runs/{id}/cases","href":"/api-reference/runs/list-run-cases-with-nested-steps"},{"title":"Download raw console log","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/runs/{id}/console","href":"/api-reference/runs/download-raw-console-log"},{"title":"Diff this run against a prior pass","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/runs/{id}/diff","href":"/api-reference/runs/diff-this-run-against-a-prior-pass"},{"title":"Stream run control events","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/runs/{id}/events","href":"/api-reference/runs/stream-run-control-events"},{"title":"Export run snapshot and available artifacts","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/runs/{id}/export","href":"/api-reference/runs/export-run-snapshot-and-available-artifacts"},{"title":"List run network rows","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/runs/{id}/network","href":"/api-reference/runs/list-run-network-rows"},{"title":"Get one network row","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/runs/{id}/network/{rowId}","href":"/api-reference/runs/get-one-network-row"},{"title":"Pin a run past retention","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/runs/{id}/pin","href":"/api-reference/runs/pin-a-run-past-retention"},{"title":"Unpin a run","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/runs/{id}/pin","href":"/api-reference/runs/unpin-a-run"},{"title":"Purge stored run evidence","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/runs/{id}/purge","href":"/api-reference/runs/purge-stored-run-evidence"},{"title":"Snapshot in-flight runner log","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/runs/{id}/runner-log","href":"/api-reference/runs/snapshot-in-flight-runner-log"},{"title":"Live tail runner log","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/runs/{id}/runner-log/live","href":"/api-reference/runs/live-tail-runner-log"},{"title":"Summarize a failed trace","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/runs/{id}/trace-summary","href":"/api-reference/runs/summarize-a-failed-trace"},{"title":"Summarize the filtered Runs population","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/runs/summary","href":"/api-reference/runs/summarize-the-filtered-runs-population"}]},{"group":"run-list-read-controller","pages":[{"title":"Export filtered run attempts as CSV","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/runs/export","href":"/api-reference/run-list-read-controller/export-filtered-run-attempts-as-csv"},{"title":"Summarize monitor display verdicts for a run window","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/runs/monitors","href":"/api-reference/run-list-read-controller/summarize-monitor-display-verdicts-for-a-run-window"},{"title":"List the latest recorded activation of each revision in the window","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/runs/revisions","href":"/api-reference/run-list-read-controller/list-the-latest-recorded-activation-of-each-revision-in-the-window"},{"title":"List recorded skipped ticks and current plan-disabled intervals","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/runs/skipped","href":"/api-reference/run-list-read-controller/list-recorded-skipped-ticks-and-current-plan-disabled-intervals"}]},{"group":"Secrets","pages":[{"title":"List organization secrets","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/secrets","href":"/api-reference/secrets/list-organization-secrets"},{"title":"Create secret","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/secrets","href":"/api-reference/secrets/create-secret"},{"title":"Update secret","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json put /api/v1/secrets/{key}","href":"/api-reference/secrets/update-secret"},{"title":"Delete secret","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/secrets/{key}","href":"/api-reference/secrets/delete-secret"},{"title":"Last update metadata for a secret","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/secrets/{key}/audit","href":"/api-reference/secrets/last-update-metadata-for-a-secret"},{"title":"Write a secret value for one environment","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json put /api/v1/secrets/{key}/environments/{environmentId}","href":"/api-reference/secrets/write-a-secret-value-for-one-environment"},{"title":"Remove a secret value from one environment","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/secrets/{key}/environments/{environmentId}","href":"/api-reference/secrets/remove-a-secret-value-from-one-environment"},{"title":"Secret usage across monitors","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/secrets/{key}/usage","href":"/api-reference/secrets/secret-usage-across-monitors"}]},{"group":"Service Subscriptions","pages":[{"title":"List all service subscriptions for the organization","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/service-subscriptions","href":"/api-reference/service-subscriptions/list-all-service-subscriptions-for-the-organization"},{"title":"Get a subscription by its ID","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/service-subscriptions/{id}","href":"/api-reference/service-subscriptions/get-a-subscription-by-its-id"},{"title":"Remove a subscription by its ID","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/service-subscriptions/{id}","href":"/api-reference/service-subscriptions/remove-a-subscription-by-its-id"},{"title":"Update alert sensitivity for a subscription","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json patch /api/v1/service-subscriptions/{id}/alert-sensitivity","href":"/api-reference/service-subscriptions/update-alert-sensitivity-for-a-subscription"},{"title":"Subscribe to a service or a component of a service","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/service-subscriptions/{slug}","href":"/api-reference/service-subscriptions/subscribe-to-a-service-or-a-component-of-a-service"}]},{"group":"status-page-group-controller","pages":[{"title":"List status page groups for the workspace","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/status-page-groups","href":"/api-reference/status-page-group-controller/list-status-page-groups-for-the-workspace"},{"title":"Create a status page group","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/status-page-groups","href":"/api-reference/status-page-group-controller/create-a-status-page-group"},{"title":"Get a status page group","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/status-page-groups/{id}","href":"/api-reference/status-page-group-controller/get-a-status-page-group"},{"title":"Update a status page group","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json put /api/v1/status-page-groups/{id}","href":"/api-reference/status-page-group-controller/update-a-status-page-group"},{"title":"Delete a status page group (pages become standalone)","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/status-page-groups/{id}","href":"/api-reference/status-page-group-controller/delete-a-status-page-group-pages-become-standalone"},{"title":"Set the page served at the group's root","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json put /api/v1/status-page-groups/{id}/default-page","href":"/api-reference/status-page-group-controller/set-the-page-served-at-the-groups-root"},{"title":"Attach a custom domain to the group","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/status-page-groups/{id}/domain","href":"/api-reference/status-page-group-controller/attach-a-custom-domain-to-the-group"},{"title":"Remove the group's custom domain","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/status-page-groups/{id}/domain","href":"/api-reference/status-page-group-controller/remove-the-groups-custom-domain"},{"title":"Add a status page to the group","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/status-page-groups/{id}/members","href":"/api-reference/status-page-group-controller/add-a-status-page-to-the-group"},{"title":"Remove a status page from the group","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/status-page-groups/{id}/members/{statusPageId}","href":"/api-reference/status-page-group-controller/remove-a-status-page-from-the-group"},{"title":"Reorder the pages of the group","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json put /api/v1/status-page-groups/{id}/members/order","href":"/api-reference/status-page-group-controller/reorder-the-pages-of-the-group"}]},{"group":"Status Pages","pages":[{"title":"List status pages for the workspace","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/status-pages","href":"/api-reference/status-pages/list-status-pages-for-the-workspace"},{"title":"Create a status page","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/status-pages","href":"/api-reference/status-pages/create-a-status-page"},{"title":"Get a status page","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/status-pages/{id}","href":"/api-reference/status-pages/get-a-status-page"},{"title":"Update a status page","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json put /api/v1/status-pages/{id}","href":"/api-reference/status-pages/update-a-status-page"},{"title":"Delete a status page","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/status-pages/{id}","href":"/api-reference/status-pages/delete-a-status-page"},{"title":"List all components","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/status-pages/{id}/components","href":"/api-reference/status-pages/list-all-components"},{"title":"Add a component to the status page","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/status-pages/{id}/components","href":"/api-reference/status-pages/add-a-component-to-the-status-page"},{"title":"Update a component","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json put /api/v1/status-pages/{id}/components/{componentId}","href":"/api-reference/status-pages/update-a-component"},{"title":"Remove a component from the status page","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/status-pages/{id}/components/{componentId}","href":"/api-reference/status-pages/remove-a-component-from-the-status-page"},{"title":"Get measured (check-based) component uptime history","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/status-pages/{id}/components/{componentId}/measured-uptime","href":"/api-reference/status-pages/get-measured-check-based-component-uptime-history"},{"title":"Set a timed human status override on a component","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json put /api/v1/status-pages/{id}/components/{componentId}/override","href":"/api-reference/status-pages/set-a-timed-human-status-override-on-a-component"},{"title":"Clear a timed human status override on a component","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/status-pages/{id}/components/{componentId}/override","href":"/api-reference/status-pages/clear-a-timed-human-status-override-on-a-component"},{"title":"Get component uptime history from published incident windows","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/status-pages/{id}/components/{componentId}/uptime","href":"/api-reference/status-pages/get-component-uptime-history-from-published-incident-windows"},{"title":"Batch reorder components (and optionally move between groups)","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json put /api/v1/status-pages/{id}/components/reorder","href":"/api-reference/status-pages/batch-reorder-components-and-optionally-move-between-groups"},{"title":"List custom domains","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/status-pages/{id}/domains","href":"/api-reference/status-pages/list-custom-domains"},{"title":"Add a custom domain","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/status-pages/{id}/domains","href":"/api-reference/status-pages/add-a-custom-domain"},{"title":"Remove a custom domain","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/status-pages/{id}/domains/{domainId}","href":"/api-reference/status-pages/remove-a-custom-domain"},{"title":"Mark a verified custom domain as the page's primary host","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/status-pages/{id}/domains/{domainId}/primary","href":"/api-reference/status-pages/mark-a-verified-custom-domain-as-the-pages-primary-host"},{"title":"Trigger domain verification check","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/status-pages/{id}/domains/{domainId}/verify","href":"/api-reference/status-pages/trigger-domain-verification-check"},{"title":"List component groups with nested components","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/status-pages/{id}/groups","href":"/api-reference/status-pages/list-component-groups-with-nested-components"},{"title":"Create a component group","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/status-pages/{id}/groups","href":"/api-reference/status-pages/create-a-component-group"},{"title":"Update a component group","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json put /api/v1/status-pages/{id}/groups/{groupId}","href":"/api-reference/status-pages/update-a-component-group"},{"title":"Delete a component group (components become ungrouped)","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/status-pages/{id}/groups/{groupId}","href":"/api-reference/status-pages/delete-a-component-group-components-become-ungrouped"},{"title":"List incidents for this status page (paginated)","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/status-pages/{id}/incidents","href":"/api-reference/status-pages/list-incidents-for-this-status-page-paginated"},{"title":"Create a status page incident (manual)","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/status-pages/{id}/incidents","href":"/api-reference/status-pages/create-a-status-page-incident-manual"},{"title":"Get incident details with timeline","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/status-pages/{id}/incidents/{incidentId}","href":"/api-reference/status-pages/get-incident-details-with-timeline"},{"title":"Update an incident","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json put /api/v1/status-pages/{id}/incidents/{incidentId}","href":"/api-reference/status-pages/update-an-incident"},{"title":"Delete an incident","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/status-pages/{id}/incidents/{incidentId}","href":"/api-reference/status-pages/delete-an-incident"},{"title":"Dismiss a draft incident (soft-deletes: resolves without publishing)","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/status-pages/{id}/incidents/{incidentId}/dismiss","href":"/api-reference/status-pages/dismiss-a-draft-incident-soft-deletes:-resolves-without-publishing"},{"title":"Publish a draft incident (sets publishedAt, applies component statuses, notifies subscribers)","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/status-pages/{id}/incidents/{incidentId}/publish","href":"/api-reference/status-pages/publish-a-draft-incident-sets-publishedat-applies-component-statuses-notifies-subscribers"},{"title":"Post an incident timeline update","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/status-pages/{id}/incidents/{incidentId}/updates","href":"/api-reference/status-pages/post-an-incident-timeline-update"},{"title":"Edit an existing incident timeline update body","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json patch /api/v1/status-pages/{id}/incidents/{incidentId}/updates/{updateId}","href":"/api-reference/status-pages/edit-an-existing-incident-timeline-update-body"},{"title":"Reorder page-level layout: groups and ungrouped components share one ordering","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json put /api/v1/status-pages/{id}/layout/reorder","href":"/api-reference/status-pages/reorder-page-level-layout:-groups-and-ungrouped-components-share-one-ordering"},{"title":"List maintenance windows for this status page (paginated)","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/status-pages/{id}/maintenance","href":"/api-reference/status-pages/list-maintenance-windows-for-this-status-page-paginated"},{"title":"Schedule a maintenance window","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/status-pages/{id}/maintenance","href":"/api-reference/status-pages/schedule-a-maintenance-window"},{"title":"Get a maintenance window with timeline","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/status-pages/{id}/maintenance/{windowId}","href":"/api-reference/status-pages/get-a-maintenance-window-with-timeline"},{"title":"Update a maintenance window","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json put /api/v1/status-pages/{id}/maintenance/{windowId}","href":"/api-reference/status-pages/update-a-maintenance-window"},{"title":"Cancel a maintenance window","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/status-pages/{id}/maintenance/{windowId}","href":"/api-reference/status-pages/cancel-a-maintenance-window"},{"title":"Dismiss a draft maintenance window","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/status-pages/{id}/maintenance/{windowId}/dismiss","href":"/api-reference/status-pages/dismiss-a-draft-maintenance-window"},{"title":"Publish a draft maintenance window","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/status-pages/{id}/maintenance/{windowId}/publish","href":"/api-reference/status-pages/publish-a-draft-maintenance-window"},{"title":"Post a maintenance window timeline update","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/status-pages/{id}/maintenance/{windowId}/updates","href":"/api-reference/status-pages/post-a-maintenance-window-timeline-update"},{"title":"Edit an existing maintenance timeline update body","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json patch /api/v1/status-pages/{id}/maintenance/{windowId}/updates/{updateId}","href":"/api-reference/status-pages/edit-an-existing-maintenance-timeline-update-body"},{"title":"List notification delivery receipts","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/status-pages/{id}/notification-deliveries","href":"/api-reference/status-pages/list-notification-delivery-receipts"},{"title":"Get a notification delivery receipt","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/status-pages/{id}/notification-deliveries/{deliveryId}","href":"/api-reference/status-pages/get-a-notification-delivery-receipt"},{"title":"Retry a failed notification delivery","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/status-pages/{id}/notification-deliveries/{deliveryId}/retry","href":"/api-reference/status-pages/retry-a-failed-notification-delivery"},{"title":"List subscribers including awaiting confirmation (paginated)","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/status-pages/{id}/subscribers","href":"/api-reference/status-pages/list-subscribers-including-awaiting-confirmation-paginated"},{"title":"Add a subscriber; requireConfirmation=true for EMAIL double opt-in, omit/false confirms immediately","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/status-pages/{id}/subscribers","href":"/api-reference/status-pages/add-a-subscriber;-requireconfirmation=true-for-email-double-opt-in-omitfalse-confirms-immediately"},{"title":"Remove a subscriber","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/status-pages/{id}/subscribers/{subscriberId}","href":"/api-reference/status-pages/remove-a-subscriber"},{"title":"Change which components a subscriber hears about","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json patch /api/v1/status-pages/{id}/subscribers/{subscriberId}","href":"/api-reference/status-pages/change-which-components-a-subscriber-hears-about"},{"title":"Bulk import subscribers","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/status-pages/{id}/subscribers/import","href":"/api-reference/status-pages/bulk-import-subscribers"},{"title":"Preview making a status page private","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/status-pages/{id}/visibility-change-preview","href":"/api-reference/status-pages/preview-making-a-status-page-private"}]},{"group":"status-page-access-log-controller","pages":[{"title":"List sign-in events for a status page","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/status-pages/{id}/access-log","href":"/api-reference/status-page-access-log-controller/list-sign-in-events-for-a-status-page"},{"title":"Download the sign-in log as CSV","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/status-pages/{id}/access-log/export","href":"/api-reference/status-page-access-log-controller/download-the-sign-in-log-as-csv"}]},{"group":"status-page-end-user-controller","pages":[{"title":"List end users of a status page","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/status-pages/{id}/end-users","href":"/api-reference/status-page-end-user-controller/list-end-users-of-a-status-page"},{"title":"Deactivate an end user","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/status-pages/{id}/end-users/{endUserId}/deactivate","href":"/api-reference/status-page-end-user-controller/deactivate-an-end-user"},{"title":"Reactivate an end user","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/status-pages/{id}/end-users/{endUserId}/reactivate","href":"/api-reference/status-page-end-user-controller/reactivate-an-end-user"},{"title":"Deactivate end users by email","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/status-pages/{id}/end-users/bulk-deactivate","href":"/api-reference/status-page-end-user-controller/deactivate-end-users-by-email"},{"title":"Sign every end user out of a status page","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/status-pages/{id}/end-users/sessions","href":"/api-reference/status-page-end-user-controller/sign-every-end-user-out-of-a-status-page"},{"title":"Cancel an end user's open invite","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/status-pages/{id}/end-users/{endUserId}/invite","href":"/api-reference/status-page-end-user-controller/cancel-an-end-users-open-invite"},{"title":"Send an end user a new invite link","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/status-pages/{id}/end-users/{endUserId}/invite/resend","href":"/api-reference/status-page-end-user-controller/send-an-end-user-a-new-invite-link"},{"title":"List open invites of a status page","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/status-pages/{id}/end-users/invites","href":"/api-reference/status-page-end-user-controller/list-open-invites-of-a-status-page"},{"title":"Invite end users by email","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/status-pages/{id}/end-users/invites","href":"/api-reference/status-page-end-user-controller/invite-end-users-by-email"}]},{"group":"sso-connection-admin-controller","pages":[{"title":"List SSO connections for a status page","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/status-pages/{id}/sso-connections","href":"/api-reference/sso-connection-admin-controller/list-sso-connections-for-a-status-page"},{"title":"Create an SSO connection","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/status-pages/{id}/sso-connections","href":"/api-reference/sso-connection-admin-controller/create-an-sso-connection"},{"title":"Get an SSO connection","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/status-pages/{id}/sso-connections/{connectionId}","href":"/api-reference/sso-connection-admin-controller/get-an-sso-connection"},{"title":"Delete an SSO connection","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/status-pages/{id}/sso-connections/{connectionId}","href":"/api-reference/sso-connection-admin-controller/delete-an-sso-connection"},{"title":"Update an SSO connection","description":null,"deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json patch /api/v1/status-pages/{id}/sso-connections/{connectionId}","href":"/api-reference/sso-connection-admin-controller/update-an-sso-connection"},{"title":"Add an IdP signing certificate","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/status-pages/{id}/sso-connections/{connectionId}/certificates","href":"/api-reference/sso-connection-admin-controller/add-an-idp-signing-certificate"},{"title":"Remove an IdP signing certificate","description":null,"deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/status-pages/{id}/sso-connections/{connectionId}/certificates/{certificateId}","href":"/api-reference/sso-connection-admin-controller/remove-an-idp-signing-certificate"},{"title":"Add an email domain to an SSO connection","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/status-pages/{id}/sso-connections/{connectionId}/domains","href":"/api-reference/sso-connection-admin-controller/add-an-email-domain-to-an-sso-connection"},{"title":"Remove an email domain from an SSO connection","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/status-pages/{id}/sso-connections/{connectionId}/domains/{domainId}","href":"/api-reference/sso-connection-admin-controller/remove-an-email-domain-from-an-sso-connection"},{"title":"Check the DNS proof for an SSO domain","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/status-pages/{id}/sso-connections/{connectionId}/domains/{domainId}/verify","href":"/api-reference/sso-connection-admin-controller/check-the-dns-proof-for-an-sso-domain"},{"title":"Set the IdP metadata for an SSO connection","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json put /api/v1/status-pages/{id}/sso-connections/{connectionId}/idp-metadata","href":"/api-reference/sso-connection-admin-controller/set-the-idp-metadata-for-an-sso-connection"},{"title":"Download the service provider metadata","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/status-pages/{id}/sso-connections/{connectionId}/sp-metadata","href":"/api-reference/sso-connection-admin-controller/download-the-service-provider-metadata"},{"title":"Start a dry-run sign-in for an SSO connection","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/status-pages/{id}/sso-connections/{connectionId}/tests","href":"/api-reference/sso-connection-admin-controller/start-a-dry-run-sign-in-for-an-sso-connection"},{"title":"Read a dry-run SSO sign-in","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/status-pages/{id}/sso-connections/{connectionId}/tests/{testId}","href":"/api-reference/sso-connection-admin-controller/read-a-dry-run-sso-sign-in"}]},{"group":"synthetics-inventory-controller","pages":[{"title":"Get workspace monitor fleet history and group counts","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/synthetics/fleet","href":"/api-reference/synthetics-inventory-controller/get-workspace-monitor-fleet-history-and-group-counts"},{"title":"Get public runner-region acceptance status","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/synthetics/regions/status","href":"/api-reference/synthetics-inventory-controller/get-public-runner-region-acceptance-status"}]},{"group":"Synthetics metrics","pages":[{"title":"Get whole-family Synthetics metrics","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/synthetics/metrics","href":"/api-reference/synthetics-metrics/get-whole-family-synthetics-metrics"},{"title":"Get code-monitor duration percentiles","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/synthetics/metrics/run-durations","href":"/api-reference/synthetics-metrics/get-code-monitor-duration-percentiles"}]},{"group":"synthetics-runtime-profile-controller","pages":[{"title":"Get apiv1syntheticsruntime profiles","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/synthetics/runtime-profiles","href":"/api-reference/synthetics-runtime-profile-controller/get-apiv1syntheticsruntime-profiles"},{"title":"Get apiv1syntheticsruntime profiles 1","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/synthetics/runtime-profiles/{id}","href":"/api-reference/synthetics-runtime-profile-controller/get-apiv1syntheticsruntime-profiles-1"}]},{"group":"synthetics-usage-controller","pages":[{"title":"Read billable synthetics usage for the current period","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/synthetics/usage","href":"/api-reference/synthetics-usage-controller/read-billable-synthetics-usage-for-the-current-period"}]},{"group":"Tags","pages":[{"title":"List tags for the authenticated organization","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/tags","href":"/api-reference/tags/list-tags-for-the-authenticated-organization"},{"title":"Create a new tag","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/tags","href":"/api-reference/tags/create-a-new-tag"},{"title":"Get a tag by ID","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/tags/{id}","href":"/api-reference/tags/get-a-tag-by-id"},{"title":"Update a tag's name and/or color","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json put /api/v1/tags/{id}","href":"/api-reference/tags/update-a-tags-name-andor-color"},{"title":"Delete a tag (cascades to all monitor associations)","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/tags/{id}","href":"/api-reference/tags/delete-a-tag-cascades-to-all-monitor-associations"}]},{"group":"Vault","pages":[{"title":"Rotate DEK","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/vaults/rotate","href":"/api-reference/vault/rotate-dek"}]},{"group":"Webhooks","pages":[{"title":"List webhook endpoints for the authenticated org","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/webhooks","href":"/api-reference/webhooks/list-webhook-endpoints-for-the-authenticated-org"},{"title":"Register a new webhook endpoint","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/webhooks","href":"/api-reference/webhooks/register-a-new-webhook-endpoint"},{"title":"Get a single webhook endpoint","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/webhooks/{id}","href":"/api-reference/webhooks/get-a-single-webhook-endpoint"},{"title":"Update a webhook endpoint","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json put /api/v1/webhooks/{id}","href":"/api-reference/webhooks/update-a-webhook-endpoint"},{"title":"Delete a webhook endpoint","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/webhooks/{id}","href":"/api-reference/webhooks/delete-a-webhook-endpoint"},{"title":"List recent deliveries for a webhook endpoint","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/webhooks/{id}/deliveries","href":"/api-reference/webhooks/list-recent-deliveries-for-a-webhook-endpoint"},{"title":"Send a test delivery to a webhook endpoint","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/webhooks/{id}/test","href":"/api-reference/webhooks/send-a-test-delivery-to-a-webhook-endpoint"},{"title":"List all available webhook event types","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/webhooks/events","href":"/api-reference/webhooks/list-all-available-webhook-event-types"},{"title":"Get signing secret metadata for the authenticated org","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/webhooks/signing-secret","href":"/api-reference/webhooks/get-signing-secret-metadata-for-the-authenticated-org"},{"title":"Generate or rotate the organization webhook signing secret","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/webhooks/signing-secret/rotate","href":"/api-reference/webhooks/generate-or-rotate-the-organization-webhook-signing-secret"}]},{"group":"Workspaces","pages":[{"title":"List workspaces","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/workspaces","href":"/api-reference/workspaces/list-workspaces"},{"title":"Create workspace","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json post /api/v1/workspaces","href":"/api-reference/workspaces/create-workspace"},{"title":"Get workspace by ID","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json get /api/v1/workspaces/{workspaceId}","href":"/api-reference/workspaces/get-workspace-by-id"},{"title":"Update workspace","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json put /api/v1/workspaces/{workspaceId}","href":"/api-reference/workspaces/update-workspace"},{"title":"Delete workspace","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json delete /api/v1/workspaces/{workspaceId}","href":"/api-reference/workspaces/delete-workspace"},{"title":"Set workspace execution environment","deprecated":null,"version":null,"openapi":"/openapi/monitoring-api.json put /api/v1/workspaces/{workspaceId}/runtime-profile","href":"/api-reference/workspaces/set-workspace-execution-environment"}]}]},{"tab":"CLI","icon":"terminal","pages":[{"title":"CLI","href":"/cli/overview"}]},{"tab":"Monitoring as Code","icon":"code","pages":[{"title":"Monitoring as Code","href":"/mac/overview"}]},{"tab":"SDKs","icon":"rectangle-code","pages":[{"title":"SDKs","href":"/sdk/overview"}]},{"tab":"Learn","icon":"graduation-cap","pages":[{"title":"Learn","href":"/learn/monitoring/overview"}]}]},"basePath":"","title":"Add an IdP signing certificate - DevHelm","buildId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","deploymentId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C-hEh3I2.js","utils-CnF4QiUD.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C7PVNbel.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-8ytevL2A.js","snippetPresets-BT1alx3v.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BLXC0i_W.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CyLIGI9_.js","shallow-DC0lGVIW.js","getApiPlaygroundDisplay-CgDQ85tN.js","CodeSnippet-6-I-Gpv9.js","CodeSnippets-BAk1kDdu.js","Page-C945cI-W.js","getPastedJson-B276RuWN.js","icon-BqP8etTm.js","MethodPill-DM6sbxG1.js","DuplicateIcon-PyJglOaE.js","createIcon-CMeOMAc_.js","DynamicMarkdown-BoyYAA8K.js","SectionHeading-DAYv3gvZ.js","axios-vUo_bRtp.js","Markdown-BhTTmazV.js","clsx-CR-RHrVC.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CBUH0-zX.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BmARFYNC.js"]}