{
"error": {
"message": "Your API key has been disabled due to insufficient credits. Visit https://app.sailresearch.com/billing to add credits.",
"type": "billing_error",
"param": null,
"code": "credits_exhausted",
"billing_url": "https://app.sailresearch.com/billing"
}
}
{
"error": {
"message": "sailboxes require an organization-scoped API key",
"type": "permission_error",
"param": null,
"code": null
}
}
{
"error": {
"message": "Your API key has been disabled due to insufficient credits. Visit https://app.sailresearch.com/billing to add credits.",
"type": "billing_error",
"param": null,
"code": "credits_exhausted",
"billing_url": "https://app.sailresearch.com/billing"
}
}
{
"error": {
"message": "sailboxes require an organization-scoped API key",
"type": "permission_error",
"param": null,
"code": null
}
}
Id of the Sailbox, as returned by create. It is sb_ followed by a UUID.
Response
The Sailbox.
A Sailbox and its latest observed resource usage. The can_ flags are hints for deciding which actions are worth offering. They are all false on a private Sailbox you did not create, even where X-Sail-Owner-Override-Reason would still let you act.
Current state of the Sailbox. Values in use today are creating, running, paused, sleeping, terminating, terminated, failed, create_failed, interrupted_restorable, and interrupted_unsafe_to_retry. New values can appear over time, so treat this as an open set.
Deprecated; read vcpu_count instead. The retired size label whose vCPU count matches this Sailbox: s for 1, m for 4, l for 8. Empty for any other count.
private means only the creator can operate the Sailbox, though an organization admin can take any operation with X-Sail-Owner-Override-Reason. org or null means anyone in the organization can operate it.
The egress policy the Sailbox runs under: what it may connect to and what happens to the HTTPS requests it sends. Always present. A Sailbox created without one has the empty document {}, which allows every destination and applies no rules.
Checkpoint counter for the Sailbox. It goes up by one every time the Sailbox saves its state, which includes pausing and sleeping. Compare it across two reads to tell whether the Sailbox saved again in between.
Whether terminating would change this Sailbox now. False once it is shutting down or gone.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Sail Research","colors":{"primary":"#2c4681","light":"#8ba2dd","dark":"#2c4681"},"logo":{"light":"https://mintcdn.com/sailresearch/X8kOeTTR9DVS13DJ/logo/solo.svg?fit=max\u0026auto=format\u0026n=X8kOeTTR9DVS13DJ\u0026q=85\u0026s=45e472c8b5c89f0235ef55e4953f7075","dark":"https://mintcdn.com/sailresearch/X8kOeTTR9DVS13DJ/logo/solo-white.svg?fit=max\u0026auto=format\u0026n=X8kOeTTR9DVS13DJ\u0026q=85\u0026s=aa38acb72785fa2780f0b79c8ec247af"},"favicon":"https://mintcdn.com/sailresearch/aahfB_XYfgCoK57N/favicon.svg?fit=max\u0026auto=format\u0026n=aahfB_XYfgCoK57N\u0026q=85\u0026s=fa6a1adfca07b5313cfb218d6c30687d","appearance":{"default":"system"},"navbar":{"primary":{"type":"button","label":"Dashboard","href":"https://app.sailresearch.com"}},"footer":{"socials":{"x":"https://x.com/sailresearchco","github":"https://github.com/sailresearchco","slack":"https://join.slack.com/t/sailresearchcrew/shared_invite/zt-41pdcym9j-UU0Ey~A~r6n2H0DQVQsQHQ","linkedin":"https://www.linkedin.com/company/sailresearch"}},"search":{"prompt":"Search (⌘K)"},"seo":{"metatags":{"og:image":"/images/og.png"}},"fonts":{"heading":{"family":"Geist"},"body":{"family":"Geist"}},"integrations":{"telemetry":{"enabled":false}},"contextual":{"options":["copy","chatgpt","claude","cursor","mcp"],"display":"header"},"interaction":{"drilldown":false},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"sailresearch","hasAudioNarration":false,"actualSubdomain":"sailresearch","customDomains":["docs.sailresearch.com"],"gitSource":{"type":"github","owner":"sailresearchco","repo":"sail","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae92d952991873336bca85f","collectionId":"2df0ab0d-0ee5-458d-be67-b2a0c9d3dc1d","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae92d952991873336bca85f"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae92d952991873336bca85f","clientVersion":"0.0.4054","searchFilterCounts":[{"language":"default","tag":"Reference","count":100},{"language":"default","tag":"Sailbox","count":82},{"language":"default","tag":"HTTP API","count":77},{"language":"default","tag":"Documentation","count":44},{"language":"default","tag":"Lifecycle","count":16},{"language":"default","tag":"Sailboxes","count":15},{"language":"default","tag":"Inference","count":13},{"language":"default","tag":"Volumes","count":13},{"language":"default","tag":"Inference APIs","count":11},{"language":"default","tag":"Features","count":10}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"support@sailresearch.com","showHelpButton":false}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"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":"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":"byok-sep-25","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":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","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":"sso-setup-deadline-banner","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}],"googleFontsInlined":true},"customCss":[{"filePath":"style.css","href":"/_mintlify/custom/sailresearch/7ff4d405a5104e99/style.css"}],"page":{"pagePath":"api-reference/lifecycle/retrieve-a-sailbox","slug":"/api-reference/lifecycle/retrieve-a-sailbox","pageMetadata":{"title":"Retrieve a Sailbox","description":"Returns one Sailbox, including its latest observed resource usage.","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailboxes/{sailbox_id}","href":"/api-reference/lifecycle/retrieve-a-sailbox","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Returns one Sailbox, including its latest observed resource usage.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"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":"Retrieve a Sailbox","description":"Returns one Sailbox, including its latest observed resource usage.","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailboxes/{sailbox_id}","href":"/api-reference/lifecycle/retrieve-a-sailbox","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/sailresearch/53cdab3a0f4c571b/navbar-auth.js","/_mintlify/custom/sailresearch/d891ac7bd4b17796/cost-calculator-data.js","/_mintlify/custom/sailresearch/1bd7165bcfbd1e54/cost-calculator.js","/_mintlify/custom/sailresearch/7593358cae5a220f/one-shot-prompt.js","/_mintlify/custom/sailresearch/19a656aba0175d42/posthog-events.js","/_mintlify/custom/sailresearch/ee32dacc45e6eb1f/reference-fold.js","/_mintlify/custom/sailresearch/605beaca210d6425/cursor-setup.js","/_mintlify/custom/sailresearch/9d8daa962b50520f/price-comparison-data.js","/_mintlify/custom/sailresearch/74da3abd3a623529/price-comparison.js","/_mintlify/custom/sailresearch/3756b4c1fcdcbfd0/zdr-navigation.js"],"openApiReferenceData":{"operation":{"operationId":"getSailbox","tags":["Lifecycle"],"summary":"Retrieve a Sailbox","description":"Returns one Sailbox, including its latest observed resource usage.","parameters":["74d535e4-1649-4cd6-a42e-7e10b88ece02"],"responses":{"200":"9f0c30b7-1835-43a7-96bf-83a87a530c30","400":"01654f8b-dcf0-48d9-8631-428c11737bc8","401":"8067fd91-09a6-458d-ae81-ea51b30291f4","402":"53498bd9-60b1-4dbd-a1b7-10538f8e7fd3","403":"a0cefbf5-1f8a-42f1-8598-78ae5bcf5843","404":"a7d7b002-3315-4046-b85f-18c393298be8","429":"ed009908-e9cf-45c7-a5ac-eaaae3967a21","500":"31ba8e37-1fc7-44d6-a4a8-54e5683be2dd","503":"393ec854-883c-4926-a9ef-74ea1c08f9a3"},"method":"get","type":"path","servers":["ea6a777d-11b2-4262-a9f6-85ca1c08b647"],"security":["bb4dd6da-eb94-44b9-bdc2-d57f2d651bf0"],"path":"/sailboxes/{sailbox_id}","baseUrlOptions":["https://sailbox-api.sailresearch.com/v1"],"title":"Retrieve a Sailbox","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"74d535e4-1649-4cd6-a42e-7e10b88ece02":{"name":"sailbox_id","in":"path","required":true,"schema":{"type":"string","isRequired":true,"description":"Id of the Sailbox, as returned by create. It is `sb_` followed by a UUID.","uniqueKey":"","typeLabel":"string"},"description":"Id of the Sailbox, as returned by create. It is `sb_` followed by a UUID."}},"responses":{"9f0c30b7-1835-43a7-96bf-83a87a530c30":{"description":"The Sailbox.","content":{"application/json":{"schema":{"type":"object","description":"A Sailbox and its latest observed resource usage. The `can_` flags are hints for deciding which actions are worth offering. They are all false on a private Sailbox you did not create, even where `X-Sail-Owner-Override-Reason` would still let you act.","properties":{"sailbox_id":{"type":"string","description":"Unique id of the Sailbox.","isRequired":true,"uniqueKey":"sailbox_id","typeLabel":"string"},"name":{"type":"string","description":"The Sailbox's display name: the one you gave at create or restore time, or one derived from the source when you left it out.","isRequired":true,"uniqueKey":"name","typeLabel":"string"},"app_id":{"type":"string","description":"Id of the app the Sailbox belongs to.","isRequired":true,"uniqueKey":"app_id","typeLabel":"string"},"app_name":{"type":"string","description":"Name of the app the Sailbox belongs to.","isRequired":true,"uniqueKey":"app_name","typeLabel":"string"},"image_id":{"type":"string","description":"Id of the built image the Sailbox boots from. Two Sailboxes created from the same `image` share this id.","isRequired":true,"uniqueKey":"image_id","typeLabel":"string"},"status":{"type":"string","description":"Current state of the Sailbox. Values in use today are `creating`, `running`, `paused`, `sleeping`, `terminating`, `terminated`, `failed`, `create_failed`, `interrupted_restorable`, and `interrupted_unsafe_to_retry`. New values can appear over time, so treat this as an open set.","isRequired":true,"uniqueKey":"status","typeLabel":"string"},"architecture":{"type":"string","description":"CPU architecture the Sailbox runs on.","isRequired":true,"uniqueKey":"architecture","typeLabel":"string"},"vcpu_count":{"type":"integer","description":"Virtual CPUs allocated to the Sailbox.","isRequired":true,"uniqueKey":"vcpu_count","typeLabel":"integer"},"memory_mib":{"type":"integer","description":"Memory limit in MiB.","isRequired":true,"uniqueKey":"memory_mib","typeLabel":"integer"},"state_disk_size_gib":{"type":"integer","description":"Disk limit in GiB.","isRequired":true,"uniqueKey":"state_disk_size_gib","typeLabel":"integer"},"size":{"type":"string","deprecated":true,"description":"Deprecated; read `vcpu_count` instead. The retired size label whose vCPU count matches this Sailbox: `s` for 1, `m` for 4, `l` for 8. Empty for any other count.","isRequired":true,"uniqueKey":"size","typeLabel":"string"},"limits_pending":{"type":"boolean","description":"`true` when the Sailbox is powered off with a limits change recorded that takes effect at its next wake. Always `false` on a running Sailbox.","isRequired":true,"uniqueKey":"limits_pending","typeLabel":"boolean"},"resize_pending":{"type":"boolean","deprecated":true,"description":"Deprecated. Use `limits_pending`.","isRequired":true,"uniqueKey":"resize_pending","typeLabel":"boolean"},"volume_mounts":{"type":"array","items":{"type":"object","properties":{"volume_id":{"type":"string","description":"Id of the mounted volume.","isRequired":true,"uniqueKey":"volume_mounts.items.[INDEX].volume_id","typeLabel":"string"},"mount_path":{"type":"string","description":"Absolute path inside the Sailbox where the volume is mounted.","isRequired":true,"uniqueKey":"volume_mounts.items.[INDEX].mount_path","typeLabel":"string"},"read_only":{"type":"boolean","description":"Whether this Sailbox mounts the volume read-only.","isRequired":true,"uniqueKey":"volume_mounts.items.[INDEX].read_only","typeLabel":"boolean"},"cache_seconds":{"type":"integer","description":"How long, in seconds, this mount may reuse what it has already read about the volume before checking for changes. 0 means the mount picks up changes within about a second.","isRequired":true,"uniqueKey":"volume_mounts.items.[INDEX].cache_seconds","typeLabel":"integer"}},"required":["volume_id","mount_path","read_only","cache_seconds"],"uniqueKey":"volume_mounts.items.[INDEX]","typeLabel":"object"},"description":"Volumes attached to this Sailbox and the paths they are mounted at. Empty when the Sailbox has none.","isRequired":true,"uniqueKey":"volume_mounts","typeLabel":"object[]"},"cpu_used_vcpu":{"type":"number","description":"Virtual CPUs in use in the most recent sample. `0` when there is no recent sample.","isRequired":true,"uniqueKey":"cpu_used_vcpu","typeLabel":"number"},"memory_used_bytes":{"type":"integer","description":"Memory in use in the most recent sample. `0` when there is no recent sample.","format":"int64","isRequired":true,"uniqueKey":"memory_used_bytes","typeLabel":"integer\u003cint64>"},"disk_used_bytes":{"type":"integer","description":"Disk in use in the most recent sample. `0` when there is no recent sample.","format":"int64","isRequired":true,"uniqueKey":"disk_used_bytes","typeLabel":"integer\u003cint64>"},"network_rx_bytes_per_second":{"type":"number","description":"Bytes received per second in the most recent sample. `0` when there is no recent sample.","isRequired":true,"uniqueKey":"network_rx_bytes_per_second","typeLabel":"number"},"network_tx_bytes_per_second":{"type":"number","description":"Bytes sent per second in the most recent sample. `0` when there is no recent sample.","isRequired":true,"uniqueKey":"network_tx_bytes_per_second","typeLabel":"number"},"network_rx_packets_per_second":{"type":"number","description":"Packets received per second in the most recent sample. `0` when there is no recent sample.","isRequired":true,"uniqueKey":"network_rx_packets_per_second","typeLabel":"number"},"network_tx_packets_per_second":{"type":"number","description":"Packets sent per second in the most recent sample. `0` when there is no recent sample.","isRequired":true,"uniqueKey":"network_tx_packets_per_second","typeLabel":"number"},"error_message":{"oneOf":[{"type":"string","description":"Why the Sailbox failed, when it failed.","isRequired":true,"uniqueKey":"error_message.oneOf.0","typeLabel":"string"},{"type":"null","description":"Why the Sailbox failed, when it failed.","isRequired":true,"uniqueKey":"error_message.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error_message","typeLabel":"string | null"},"deprecation":{"oneOf":[{"type":"object","description":"Upgrade notice when this Sailbox has a deadline to act on and your credential can act on it. `null` otherwise, which is the usual case.","required":["deadline","message"],"properties":{"deadline":{"type":"string","description":"Date after which the Sailbox may be restarted automatically to upgrade it.","examples":["2026-09-01"],"isRequired":true,"uniqueKey":"deprecation.oneOf.0.deadline","typeLabel":"string"},"message":{"type":"string","description":"Explanation you can show to whoever owns the Sailbox.","isRequired":true,"uniqueKey":"deprecation.oneOf.0.message","typeLabel":"string"}},"isRequired":true,"uniqueKey":"deprecation.oneOf.0","typeLabel":"object"},{"type":"null","description":"Upgrade notice when this Sailbox has a deadline to act on and your credential can act on it. `null` otherwise, which is the usual case.","isRequired":true,"uniqueKey":"deprecation.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"deprecation","typeLabel":"object | null"},"guest_schema_version":{"oneOf":[{"type":"integer","description":"Version of the Sail runtime inside the Sailbox. `null` when the version is not known.","format":"int64","isRequired":true,"uniqueKey":"guest_schema_version.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"Version of the Sail runtime inside the Sailbox. `null` when the version is not known.","isRequired":true,"uniqueKey":"guest_schema_version.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"guest_schema_version","typeLabel":"integer\u003cint64> | null"},"created_by_user_id":{"oneOf":[{"type":"string","description":"User whose key created the Sailbox. `null` when a service key created it.","isRequired":true,"uniqueKey":"created_by_user_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"User whose key created the Sailbox. `null` when a service key created it.","isRequired":true,"uniqueKey":"created_by_user_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"created_by_user_id","typeLabel":"string | null"},"visibility":{"oneOf":[{"type":"string","description":"`private` means only the creator can operate the Sailbox, though an organization admin can take any operation with `X-Sail-Owner-Override-Reason`. `org` or `null` means anyone in the organization can operate it.","isRequired":true,"uniqueKey":"visibility.oneOf.0","typeLabel":"string"},{"type":"null","description":"`private` means only the creator can operate the Sailbox, though an organization admin can take any operation with `X-Sail-Owner-Override-Reason`. `org` or `null` means anyone in the organization can operate it.","isRequired":true,"uniqueKey":"visibility.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"visibility","typeLabel":"string | null"},"auto_sleep":{"type":"object","description":"The Sailbox's automatic-sleep preference. Set it at create time or with `POST /sailboxes/{sailbox_id}/auto_sleep`.","properties":{"automatic":{"type":"boolean","default":true,"description":"`true` lets Sail sleep the Sailbox automatically when that is safe, which is the default. `false` turns automatic sleeping off. Omitting it when you write means `true`. Reads always include it.","isRequired":true,"uniqueKey":"auto_sleep.automatic","typeLabel":"boolean"},"min_seconds_before_sleep":{"type":"integer","minimum":0,"maximum":3600,"description":"The idle window to use instead of Sail's default. Whole-second values from 1 through 3600 are accepted; 0 restores Sail's default, and other numeric values are rejected. Once the window passes, Sail may sleep the Sailbox only when it is fully idle. Send it only with `automatic: true`; sent alongside `automatic: false` the request is rejected, because a caller who meant to set a wait would otherwise have silently turned automatic sleeping off. Reads leave it out when Sail's default is in effect.","examples":[30,300],"uniqueKey":"auto_sleep.min_seconds_before_sleep","typeLabel":"integer"}},"required":["automatic"],"isRequired":true,"uniqueKey":"auto_sleep","typeLabel":"object"},"egress_policy":{"type":"object","additionalProperties":false,"properties":{"policy_id":{"oneOf":[{"type":"string","description":"ID of the saved policy the Sailbox uses, or `null` when its policy was written inline or it was created without one.","pattern":"^(?:ep|hp)_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$","isRequired":true,"uniqueKey":"egress_policy.policy_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"ID of the saved policy the Sailbox uses, or `null` when its policy was written inline or it was created without one.","isRequired":true,"uniqueKey":"egress_policy.policy_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"egress_policy.policy_id","typeLabel":"string | null"},"name":{"oneOf":[{"type":"string","description":"Display name of the saved policy, or `null` when `policy_id` is `null`.","isRequired":true,"uniqueKey":"egress_policy.name.oneOf.0","typeLabel":"string"},{"type":"null","description":"Display name of the saved policy, or `null` when `policy_id` is `null`.","isRequired":true,"uniqueKey":"egress_policy.name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"egress_policy.name","typeLabel":"string | null"},"document":{"type":"object","additionalProperties":false,"properties":{"no_network":{"type":"boolean","description":"Remove all network access, inbound included; no other field may be set beside it. Leave it out (or send `false`) otherwise. https://docs.sailresearch.com/reference/egress-policy#no-network","uniqueKey":"egress_policy.document.no_network","typeLabel":"boolean"},"allowlist":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"egress_policy.document.allowlist.oneOf.0.items.[INDEX]","typeLabel":"string"},"description":"The destinations the Sailbox may connect to. Leave it out (or send `null`) to allow every destination; an empty list allows none. https://docs.sailresearch.com/reference/egress-policy#entries","maxItems":128,"uniqueKey":"egress_policy.document.allowlist.oneOf.0","typeLabel":"string[]"},{"type":"null","description":"The destinations the Sailbox may connect to. Leave it out (or send `null`) to allow every destination; an empty list allows none. https://docs.sailresearch.com/reference/egress-policy#entries","uniqueKey":"egress_policy.document.allowlist.oneOf.1","typeLabel":"null"}],"uniqueKey":"egress_policy.document.allowlist","typeLabel":"string[] | null"},"blocked":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"egress_policy.document.blocked.oneOf.0.items.[INDEX]","typeLabel":"string"},"description":"Destinations removed from what the Sailbox may otherwise reach. Leave it out, or send `null` or `[]`, to block nothing. https://docs.sailresearch.com/reference/egress-policy#blocked","maxItems":128,"uniqueKey":"egress_policy.document.blocked.oneOf.0","typeLabel":"string[]"},{"type":"null","description":"Destinations removed from what the Sailbox may otherwise reach. Leave it out, or send `null` or `[]`, to block nothing. https://docs.sailresearch.com/reference/egress-policy#blocked","uniqueKey":"egress_policy.document.blocked.oneOf.1","typeLabel":"null"}],"uniqueKey":"egress_policy.document.blocked","typeLabel":"string[] | null"},"rules":{"type":"object","maxProperties":100,"propertyNames":{"pattern":"^[\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*(?:\\*(?:\\.(?![0-9A-Za-z.\\u0130\\u212A-]{254})[A-Za-z0-9\\u0130\\u212A](?:[A-Za-z0-9\\u0130\\u212A-]{0,61}[A-Za-z0-9\\u0130\\u212A])?(?:\\.[A-Za-z0-9\\u0130\\u212A](?:[A-Za-z0-9\\u0130\\u212A-]{0,61}[A-Za-z0-9\\u0130\\u212A])?)*)?|(?![0-9A-Za-z.\\u0130\\u212A-]{254})[A-Za-z0-9\\u0130\\u212A](?:[A-Za-z0-9\\u0130\\u212A-]{0,61}[A-Za-z0-9\\u0130\\u212A])?(?:\\.[A-Za-z0-9\\u0130\\u212A](?:[A-Za-z0-9\\u0130\\u212A-]{0,61}[A-Za-z0-9\\u0130\\u212A])?)*)[\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*$"},"additionalProperties":{"type":"array","minItems":1,"maxItems":100,"items":{"type":"object","additionalProperties":false,"description":"One rule. Rules run in order and the first match decides the result. Only the last rule may omit `match`. Use `respond` by itself, or combine `forward` and `request` as needed.","properties":{"match":{"oneOf":[{"type":"object","description":"Conditions tested against the request before any changes are made. At least one condition is required.","required":["method"],"properties":{"method":{"oneOf":[{"type":"string","description":"One or more case-sensitive HTTP methods, such as `GET`, as a single string or a nonempty list of strings.","maxLength":4096,"pattern":"^[0-9A-Za-z!#$%\u0026'*+\\-.^_`|~]+$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.method.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","maxLength":4096,"pattern":"^[0-9A-Za-z!#$%\u0026'*+\\-.^_`|~]+$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.method.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"One or more case-sensitive HTTP methods, such as `GET`, as a single string or a nonempty list of strings.","minItems":1,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.method.oneOf.1","typeLabel":"string[]"}],"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.method","typeLabel":"string | string[]"},"path":{"oneOf":[{"type":"string","description":"Matches an absolute request path. Each value must start with `/`.","maxLength":4096,"pattern":"^/(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.path.oneOf.0","typeLabel":"string"},{"type":"object","description":"Matches an absolute request path. Each value must start with `/`.","required":["equals"],"properties":{"equals":{"type":"string","maxLength":4096,"pattern":"^/(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.path.oneOf.1.equals","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.path.oneOf.1","typeLabel":"object"},{"type":"object","description":"Matches an absolute request path. Each value must start with `/`.","required":["prefix"],"properties":{"prefix":{"type":"string","maxLength":4096,"pattern":"^/(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.path.oneOf.2.prefix","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.path.oneOf.2","typeLabel":"object"},{"type":"object","description":"Matches an absolute request path. Each value must start with `/`.","required":["one_of"],"properties":{"one_of":{"type":"array","minItems":1,"items":{"type":"string","maxLength":4096,"pattern":"^/(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.path.oneOf.3.one_of.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.path.oneOf.3.one_of","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.path.oneOf.3","typeLabel":"object"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.path","typeLabel":"string · object · object · object"},"headers":{"type":"array","maxItems":100,"items":{"oneOf":[{"type":"object","minProperties":1,"required":["name"],"properties":{"name":{"oneOf":[{"type":"string","description":"Matches the header name.","maxLength":4096,"pattern":"^(?!(?:[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Hh][Oo][Ss][Tt]|[Tt][Rr][Aa][Ii\\u0130][Ll][Ee][Rr]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii\\u0130][Nn][Gg])$)(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.headers.items.[INDEX].oneOf.0.name.oneOf.0","typeLabel":"string"},{"type":"object","description":"Matches the header name.","required":["equals"],"properties":{"equals":{"type":"string","maxLength":4096,"pattern":"^(?!(?:[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Hh][Oo][Ss][Tt]|[Tt][Rr][Aa][Ii\\u0130][Ll][Ee][Rr]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii\\u0130][Nn][Gg])$)(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.headers.items.[INDEX].oneOf.0.name.oneOf.1.equals","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.headers.items.[INDEX].oneOf.0.name.oneOf.1","typeLabel":"object"},{"type":"object","description":"Matches the header name.","required":["prefix"],"properties":{"prefix":{"type":"string","maxLength":4096,"pattern":"^(?!(?:[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Hh][Oo][Ss][Tt]|[Tt][Rr][Aa][Ii\\u0130][Ll][Ee][Rr]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii\\u0130][Nn][Gg])$)(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.headers.items.[INDEX].oneOf.0.name.oneOf.2.prefix","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.headers.items.[INDEX].oneOf.0.name.oneOf.2","typeLabel":"object"},{"type":"object","description":"Matches the header name.","required":["one_of"],"properties":{"one_of":{"type":"array","minItems":1,"items":{"type":"string","maxLength":4096,"pattern":"^(?!(?:[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Hh][Oo][Ss][Tt]|[Tt][Rr][Aa][Ii\\u0130][Ll][Ee][Rr]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii\\u0130][Nn][Gg])$)(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.headers.items.[INDEX].oneOf.0.name.oneOf.3.one_of.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.headers.items.[INDEX].oneOf.0.name.oneOf.3.one_of","typeLabel":"string[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.headers.items.[INDEX].oneOf.0.name.oneOf.3","typeLabel":"object"}],"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.headers.items.[INDEX].oneOf.0.name","typeLabel":"string · object · object · object"},"value":{"oneOf":[{"type":"string","description":"Matches its value.","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.headers.items.[INDEX].oneOf.0.value.oneOf.0","typeLabel":"string"},{"type":"object","description":"Matches its value.","required":["equals"],"properties":{"equals":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.headers.items.[INDEX].oneOf.0.value.oneOf.1.equals","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.headers.items.[INDEX].oneOf.0.value.oneOf.1","typeLabel":"object"},{"type":"object","description":"Matches its value.","required":["prefix"],"properties":{"prefix":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.headers.items.[INDEX].oneOf.0.value.oneOf.2.prefix","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.headers.items.[INDEX].oneOf.0.value.oneOf.2","typeLabel":"object"},{"type":"object","description":"Matches its value.","required":["one_of"],"properties":{"one_of":{"type":"array","minItems":1,"items":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.headers.items.[INDEX].oneOf.0.value.oneOf.3.one_of.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.headers.items.[INDEX].oneOf.0.value.oneOf.3.one_of","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.headers.items.[INDEX].oneOf.0.value.oneOf.3","typeLabel":"object"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.headers.items.[INDEX].oneOf.0.value","typeLabel":"string · object · object · object"},"present":{"type":"boolean","description":"Set to `false` with `name` to match when that name is absent. When omitted or true, each name or value condition you provide must be present and match.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.headers.items.[INDEX].oneOf.0.present","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.headers.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","minProperties":1,"required":["value"],"properties":{"value":{"oneOf":[{"type":"string","description":"Matches its value.","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.headers.items.[INDEX].oneOf.1.value.oneOf.0","typeLabel":"string"},{"type":"object","description":"Matches its value.","required":["equals"],"properties":{"equals":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.headers.items.[INDEX].oneOf.1.value.oneOf.1.equals","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.headers.items.[INDEX].oneOf.1.value.oneOf.1","typeLabel":"object"},{"type":"object","description":"Matches its value.","required":["prefix"],"properties":{"prefix":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.headers.items.[INDEX].oneOf.1.value.oneOf.2.prefix","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.headers.items.[INDEX].oneOf.1.value.oneOf.2","typeLabel":"object"},{"type":"object","description":"Matches its value.","required":["one_of"],"properties":{"one_of":{"type":"array","minItems":1,"items":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.headers.items.[INDEX].oneOf.1.value.oneOf.3.one_of.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.headers.items.[INDEX].oneOf.1.value.oneOf.3.one_of","typeLabel":"string[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.headers.items.[INDEX].oneOf.1.value.oneOf.3","typeLabel":"object"}],"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.headers.items.[INDEX].oneOf.1.value","typeLabel":"string · object · object · object"},"name":{"oneOf":[{"type":"string","description":"Matches the header name.","maxLength":4096,"pattern":"^(?!(?:[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Hh][Oo][Ss][Tt]|[Tt][Rr][Aa][Ii\\u0130][Ll][Ee][Rr]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii\\u0130][Nn][Gg])$)(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.headers.items.[INDEX].oneOf.1.name.oneOf.0","typeLabel":"string"},{"type":"object","description":"Matches the header name.","required":["equals"],"properties":{"equals":{"type":"string","maxLength":4096,"pattern":"^(?!(?:[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Hh][Oo][Ss][Tt]|[Tt][Rr][Aa][Ii\\u0130][Ll][Ee][Rr]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii\\u0130][Nn][Gg])$)(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.headers.items.[INDEX].oneOf.1.name.oneOf.1.equals","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.headers.items.[INDEX].oneOf.1.name.oneOf.1","typeLabel":"object"},{"type":"object","description":"Matches the header name.","required":["prefix"],"properties":{"prefix":{"type":"string","maxLength":4096,"pattern":"^(?!(?:[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Hh][Oo][Ss][Tt]|[Tt][Rr][Aa][Ii\\u0130][Ll][Ee][Rr]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii\\u0130][Nn][Gg])$)(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.headers.items.[INDEX].oneOf.1.name.oneOf.2.prefix","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.headers.items.[INDEX].oneOf.1.name.oneOf.2","typeLabel":"object"},{"type":"object","description":"Matches the header name.","required":["one_of"],"properties":{"one_of":{"type":"array","minItems":1,"items":{"type":"string","maxLength":4096,"pattern":"^(?!(?:[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Hh][Oo][Ss][Tt]|[Tt][Rr][Aa][Ii\\u0130][Ll][Ee][Rr]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii\\u0130][Nn][Gg])$)(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.headers.items.[INDEX].oneOf.1.name.oneOf.3.one_of.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.headers.items.[INDEX].oneOf.1.name.oneOf.3.one_of","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.headers.items.[INDEX].oneOf.1.name.oneOf.3","typeLabel":"object"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.headers.items.[INDEX].oneOf.1.name","typeLabel":"string · object · object · object"},"present":{"type":"boolean","description":"Set to `false` with `name` to match when that name is absent. When omitted or true, each name or value condition you provide must be present and match.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.headers.items.[INDEX].oneOf.1.present","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.headers.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.headers.items.[INDEX]","typeLabel":"object"},"description":"Header conditions. Every entry must match.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.headers","typeLabel":"object[]"},"query":{"type":"array","maxItems":100,"items":{"oneOf":[{"type":"object","minProperties":1,"required":["name"],"properties":{"name":{"oneOf":[{"type":"string","description":"Matches the query parameter name.","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.query.items.[INDEX].oneOf.0.name.oneOf.0","typeLabel":"string"},{"type":"object","description":"Matches the query parameter name.","required":["equals"],"properties":{"equals":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.query.items.[INDEX].oneOf.0.name.oneOf.1.equals","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.query.items.[INDEX].oneOf.0.name.oneOf.1","typeLabel":"object"},{"type":"object","description":"Matches the query parameter name.","required":["prefix"],"properties":{"prefix":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.query.items.[INDEX].oneOf.0.name.oneOf.2.prefix","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.query.items.[INDEX].oneOf.0.name.oneOf.2","typeLabel":"object"},{"type":"object","description":"Matches the query parameter name.","required":["one_of"],"properties":{"one_of":{"type":"array","minItems":1,"items":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.query.items.[INDEX].oneOf.0.name.oneOf.3.one_of.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.query.items.[INDEX].oneOf.0.name.oneOf.3.one_of","typeLabel":"string[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.query.items.[INDEX].oneOf.0.name.oneOf.3","typeLabel":"object"}],"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.query.items.[INDEX].oneOf.0.name","typeLabel":"string · object · object · object"},"value":{"oneOf":[{"type":"string","description":"Matches its value.","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.query.items.[INDEX].oneOf.0.value.oneOf.0","typeLabel":"string"},{"type":"object","description":"Matches its value.","required":["equals"],"properties":{"equals":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.query.items.[INDEX].oneOf.0.value.oneOf.1.equals","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.query.items.[INDEX].oneOf.0.value.oneOf.1","typeLabel":"object"},{"type":"object","description":"Matches its value.","required":["prefix"],"properties":{"prefix":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.query.items.[INDEX].oneOf.0.value.oneOf.2.prefix","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.query.items.[INDEX].oneOf.0.value.oneOf.2","typeLabel":"object"},{"type":"object","description":"Matches its value.","required":["one_of"],"properties":{"one_of":{"type":"array","minItems":1,"items":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.query.items.[INDEX].oneOf.0.value.oneOf.3.one_of.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.query.items.[INDEX].oneOf.0.value.oneOf.3.one_of","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.query.items.[INDEX].oneOf.0.value.oneOf.3","typeLabel":"object"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.query.items.[INDEX].oneOf.0.value","typeLabel":"string · object · object · object"},"present":{"type":"boolean","description":"Set to `false` with `name` to match when that name is absent. When omitted or true, each name or value condition you provide must be present and match.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.query.items.[INDEX].oneOf.0.present","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.query.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","minProperties":1,"required":["value"],"properties":{"value":{"oneOf":[{"type":"string","description":"Matches its value.","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.query.items.[INDEX].oneOf.1.value.oneOf.0","typeLabel":"string"},{"type":"object","description":"Matches its value.","required":["equals"],"properties":{"equals":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.query.items.[INDEX].oneOf.1.value.oneOf.1.equals","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.query.items.[INDEX].oneOf.1.value.oneOf.1","typeLabel":"object"},{"type":"object","description":"Matches its value.","required":["prefix"],"properties":{"prefix":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.query.items.[INDEX].oneOf.1.value.oneOf.2.prefix","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.query.items.[INDEX].oneOf.1.value.oneOf.2","typeLabel":"object"},{"type":"object","description":"Matches its value.","required":["one_of"],"properties":{"one_of":{"type":"array","minItems":1,"items":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.query.items.[INDEX].oneOf.1.value.oneOf.3.one_of.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.query.items.[INDEX].oneOf.1.value.oneOf.3.one_of","typeLabel":"string[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.query.items.[INDEX].oneOf.1.value.oneOf.3","typeLabel":"object"}],"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.query.items.[INDEX].oneOf.1.value","typeLabel":"string · object · object · object"},"name":{"oneOf":[{"type":"string","description":"Matches the query parameter name.","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.query.items.[INDEX].oneOf.1.name.oneOf.0","typeLabel":"string"},{"type":"object","description":"Matches the query parameter name.","required":["equals"],"properties":{"equals":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.query.items.[INDEX].oneOf.1.name.oneOf.1.equals","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.query.items.[INDEX].oneOf.1.name.oneOf.1","typeLabel":"object"},{"type":"object","description":"Matches the query parameter name.","required":["prefix"],"properties":{"prefix":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.query.items.[INDEX].oneOf.1.name.oneOf.2.prefix","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.query.items.[INDEX].oneOf.1.name.oneOf.2","typeLabel":"object"},{"type":"object","description":"Matches the query parameter name.","required":["one_of"],"properties":{"one_of":{"type":"array","minItems":1,"items":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.query.items.[INDEX].oneOf.1.name.oneOf.3.one_of.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.query.items.[INDEX].oneOf.1.name.oneOf.3.one_of","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.query.items.[INDEX].oneOf.1.name.oneOf.3","typeLabel":"object"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.query.items.[INDEX].oneOf.1.name","typeLabel":"string · object · object · object"},"present":{"type":"boolean","description":"Set to `false` with `name` to match when that name is absent. When omitted or true, each name or value condition you provide must be present and match.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.query.items.[INDEX].oneOf.1.present","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.query.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.query.items.[INDEX]","typeLabel":"object"},"description":"Query parameter conditions. Every entry must match.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0.query","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.0","typeLabel":"object"},{"type":"object","description":"Conditions tested against the request before any changes are made. At least one condition is required.","required":["path"],"properties":{"path":{"oneOf":[{"type":"string","description":"Matches an absolute request path. Each value must start with `/`.","maxLength":4096,"pattern":"^/(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.path.oneOf.0","typeLabel":"string"},{"type":"object","description":"Matches an absolute request path. Each value must start with `/`.","required":["equals"],"properties":{"equals":{"type":"string","maxLength":4096,"pattern":"^/(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.path.oneOf.1.equals","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.path.oneOf.1","typeLabel":"object"},{"type":"object","description":"Matches an absolute request path. Each value must start with `/`.","required":["prefix"],"properties":{"prefix":{"type":"string","maxLength":4096,"pattern":"^/(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.path.oneOf.2.prefix","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.path.oneOf.2","typeLabel":"object"},{"type":"object","description":"Matches an absolute request path. Each value must start with `/`.","required":["one_of"],"properties":{"one_of":{"type":"array","minItems":1,"items":{"type":"string","maxLength":4096,"pattern":"^/(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.path.oneOf.3.one_of.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.path.oneOf.3.one_of","typeLabel":"string[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.path.oneOf.3","typeLabel":"object"}],"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.path","typeLabel":"string · object · object · object"},"method":{"oneOf":[{"type":"string","description":"One or more case-sensitive HTTP methods, such as `GET`, as a single string or a nonempty list of strings.","maxLength":4096,"pattern":"^[0-9A-Za-z!#$%\u0026'*+\\-.^_`|~]+$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.method.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","maxLength":4096,"pattern":"^[0-9A-Za-z!#$%\u0026'*+\\-.^_`|~]+$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.method.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"One or more case-sensitive HTTP methods, such as `GET`, as a single string or a nonempty list of strings.","minItems":1,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.method.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.method","typeLabel":"string | string[]"},"headers":{"type":"array","maxItems":100,"items":{"oneOf":[{"type":"object","minProperties":1,"required":["name"],"properties":{"name":{"oneOf":[{"type":"string","description":"Matches the header name.","maxLength":4096,"pattern":"^(?!(?:[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Hh][Oo][Ss][Tt]|[Tt][Rr][Aa][Ii\\u0130][Ll][Ee][Rr]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii\\u0130][Nn][Gg])$)(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.headers.items.[INDEX].oneOf.0.name.oneOf.0","typeLabel":"string"},{"type":"object","description":"Matches the header name.","required":["equals"],"properties":{"equals":{"type":"string","maxLength":4096,"pattern":"^(?!(?:[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Hh][Oo][Ss][Tt]|[Tt][Rr][Aa][Ii\\u0130][Ll][Ee][Rr]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii\\u0130][Nn][Gg])$)(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.headers.items.[INDEX].oneOf.0.name.oneOf.1.equals","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.headers.items.[INDEX].oneOf.0.name.oneOf.1","typeLabel":"object"},{"type":"object","description":"Matches the header name.","required":["prefix"],"properties":{"prefix":{"type":"string","maxLength":4096,"pattern":"^(?!(?:[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Hh][Oo][Ss][Tt]|[Tt][Rr][Aa][Ii\\u0130][Ll][Ee][Rr]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii\\u0130][Nn][Gg])$)(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.headers.items.[INDEX].oneOf.0.name.oneOf.2.prefix","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.headers.items.[INDEX].oneOf.0.name.oneOf.2","typeLabel":"object"},{"type":"object","description":"Matches the header name.","required":["one_of"],"properties":{"one_of":{"type":"array","minItems":1,"items":{"type":"string","maxLength":4096,"pattern":"^(?!(?:[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Hh][Oo][Ss][Tt]|[Tt][Rr][Aa][Ii\\u0130][Ll][Ee][Rr]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii\\u0130][Nn][Gg])$)(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.headers.items.[INDEX].oneOf.0.name.oneOf.3.one_of.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.headers.items.[INDEX].oneOf.0.name.oneOf.3.one_of","typeLabel":"string[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.headers.items.[INDEX].oneOf.0.name.oneOf.3","typeLabel":"object"}],"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.headers.items.[INDEX].oneOf.0.name","typeLabel":"string · object · object · object"},"value":{"oneOf":[{"type":"string","description":"Matches its value.","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.headers.items.[INDEX].oneOf.0.value.oneOf.0","typeLabel":"string"},{"type":"object","description":"Matches its value.","required":["equals"],"properties":{"equals":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.headers.items.[INDEX].oneOf.0.value.oneOf.1.equals","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.headers.items.[INDEX].oneOf.0.value.oneOf.1","typeLabel":"object"},{"type":"object","description":"Matches its value.","required":["prefix"],"properties":{"prefix":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.headers.items.[INDEX].oneOf.0.value.oneOf.2.prefix","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.headers.items.[INDEX].oneOf.0.value.oneOf.2","typeLabel":"object"},{"type":"object","description":"Matches its value.","required":["one_of"],"properties":{"one_of":{"type":"array","minItems":1,"items":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.headers.items.[INDEX].oneOf.0.value.oneOf.3.one_of.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.headers.items.[INDEX].oneOf.0.value.oneOf.3.one_of","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.headers.items.[INDEX].oneOf.0.value.oneOf.3","typeLabel":"object"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.headers.items.[INDEX].oneOf.0.value","typeLabel":"string · object · object · object"},"present":{"type":"boolean","description":"Set to `false` with `name` to match when that name is absent. When omitted or true, each name or value condition you provide must be present and match.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.headers.items.[INDEX].oneOf.0.present","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.headers.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","minProperties":1,"required":["value"],"properties":{"value":{"oneOf":[{"type":"string","description":"Matches its value.","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.headers.items.[INDEX].oneOf.1.value.oneOf.0","typeLabel":"string"},{"type":"object","description":"Matches its value.","required":["equals"],"properties":{"equals":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.headers.items.[INDEX].oneOf.1.value.oneOf.1.equals","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.headers.items.[INDEX].oneOf.1.value.oneOf.1","typeLabel":"object"},{"type":"object","description":"Matches its value.","required":["prefix"],"properties":{"prefix":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.headers.items.[INDEX].oneOf.1.value.oneOf.2.prefix","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.headers.items.[INDEX].oneOf.1.value.oneOf.2","typeLabel":"object"},{"type":"object","description":"Matches its value.","required":["one_of"],"properties":{"one_of":{"type":"array","minItems":1,"items":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.headers.items.[INDEX].oneOf.1.value.oneOf.3.one_of.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.headers.items.[INDEX].oneOf.1.value.oneOf.3.one_of","typeLabel":"string[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.headers.items.[INDEX].oneOf.1.value.oneOf.3","typeLabel":"object"}],"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.headers.items.[INDEX].oneOf.1.value","typeLabel":"string · object · object · object"},"name":{"oneOf":[{"type":"string","description":"Matches the header name.","maxLength":4096,"pattern":"^(?!(?:[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Hh][Oo][Ss][Tt]|[Tt][Rr][Aa][Ii\\u0130][Ll][Ee][Rr]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii\\u0130][Nn][Gg])$)(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.headers.items.[INDEX].oneOf.1.name.oneOf.0","typeLabel":"string"},{"type":"object","description":"Matches the header name.","required":["equals"],"properties":{"equals":{"type":"string","maxLength":4096,"pattern":"^(?!(?:[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Hh][Oo][Ss][Tt]|[Tt][Rr][Aa][Ii\\u0130][Ll][Ee][Rr]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii\\u0130][Nn][Gg])$)(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.headers.items.[INDEX].oneOf.1.name.oneOf.1.equals","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.headers.items.[INDEX].oneOf.1.name.oneOf.1","typeLabel":"object"},{"type":"object","description":"Matches the header name.","required":["prefix"],"properties":{"prefix":{"type":"string","maxLength":4096,"pattern":"^(?!(?:[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Hh][Oo][Ss][Tt]|[Tt][Rr][Aa][Ii\\u0130][Ll][Ee][Rr]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii\\u0130][Nn][Gg])$)(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.headers.items.[INDEX].oneOf.1.name.oneOf.2.prefix","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.headers.items.[INDEX].oneOf.1.name.oneOf.2","typeLabel":"object"},{"type":"object","description":"Matches the header name.","required":["one_of"],"properties":{"one_of":{"type":"array","minItems":1,"items":{"type":"string","maxLength":4096,"pattern":"^(?!(?:[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Hh][Oo][Ss][Tt]|[Tt][Rr][Aa][Ii\\u0130][Ll][Ee][Rr]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii\\u0130][Nn][Gg])$)(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.headers.items.[INDEX].oneOf.1.name.oneOf.3.one_of.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.headers.items.[INDEX].oneOf.1.name.oneOf.3.one_of","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.headers.items.[INDEX].oneOf.1.name.oneOf.3","typeLabel":"object"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.headers.items.[INDEX].oneOf.1.name","typeLabel":"string · object · object · object"},"present":{"type":"boolean","description":"Set to `false` with `name` to match when that name is absent. When omitted or true, each name or value condition you provide must be present and match.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.headers.items.[INDEX].oneOf.1.present","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.headers.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.headers.items.[INDEX]","typeLabel":"object"},"description":"Header conditions. Every entry must match.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.headers","typeLabel":"object[]"},"query":{"type":"array","maxItems":100,"items":{"oneOf":[{"type":"object","minProperties":1,"required":["name"],"properties":{"name":{"oneOf":[{"type":"string","description":"Matches the query parameter name.","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.query.items.[INDEX].oneOf.0.name.oneOf.0","typeLabel":"string"},{"type":"object","description":"Matches the query parameter name.","required":["equals"],"properties":{"equals":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.query.items.[INDEX].oneOf.0.name.oneOf.1.equals","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.query.items.[INDEX].oneOf.0.name.oneOf.1","typeLabel":"object"},{"type":"object","description":"Matches the query parameter name.","required":["prefix"],"properties":{"prefix":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.query.items.[INDEX].oneOf.0.name.oneOf.2.prefix","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.query.items.[INDEX].oneOf.0.name.oneOf.2","typeLabel":"object"},{"type":"object","description":"Matches the query parameter name.","required":["one_of"],"properties":{"one_of":{"type":"array","minItems":1,"items":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.query.items.[INDEX].oneOf.0.name.oneOf.3.one_of.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.query.items.[INDEX].oneOf.0.name.oneOf.3.one_of","typeLabel":"string[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.query.items.[INDEX].oneOf.0.name.oneOf.3","typeLabel":"object"}],"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.query.items.[INDEX].oneOf.0.name","typeLabel":"string · object · object · object"},"value":{"oneOf":[{"type":"string","description":"Matches its value.","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.query.items.[INDEX].oneOf.0.value.oneOf.0","typeLabel":"string"},{"type":"object","description":"Matches its value.","required":["equals"],"properties":{"equals":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.query.items.[INDEX].oneOf.0.value.oneOf.1.equals","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.query.items.[INDEX].oneOf.0.value.oneOf.1","typeLabel":"object"},{"type":"object","description":"Matches its value.","required":["prefix"],"properties":{"prefix":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.query.items.[INDEX].oneOf.0.value.oneOf.2.prefix","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.query.items.[INDEX].oneOf.0.value.oneOf.2","typeLabel":"object"},{"type":"object","description":"Matches its value.","required":["one_of"],"properties":{"one_of":{"type":"array","minItems":1,"items":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.query.items.[INDEX].oneOf.0.value.oneOf.3.one_of.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.query.items.[INDEX].oneOf.0.value.oneOf.3.one_of","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.query.items.[INDEX].oneOf.0.value.oneOf.3","typeLabel":"object"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.query.items.[INDEX].oneOf.0.value","typeLabel":"string · object · object · object"},"present":{"type":"boolean","description":"Set to `false` with `name` to match when that name is absent. When omitted or true, each name or value condition you provide must be present and match.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.query.items.[INDEX].oneOf.0.present","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.query.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","minProperties":1,"required":["value"],"properties":{"value":{"oneOf":[{"type":"string","description":"Matches its value.","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.query.items.[INDEX].oneOf.1.value.oneOf.0","typeLabel":"string"},{"type":"object","description":"Matches its value.","required":["equals"],"properties":{"equals":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.query.items.[INDEX].oneOf.1.value.oneOf.1.equals","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.query.items.[INDEX].oneOf.1.value.oneOf.1","typeLabel":"object"},{"type":"object","description":"Matches its value.","required":["prefix"],"properties":{"prefix":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.query.items.[INDEX].oneOf.1.value.oneOf.2.prefix","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.query.items.[INDEX].oneOf.1.value.oneOf.2","typeLabel":"object"},{"type":"object","description":"Matches its value.","required":["one_of"],"properties":{"one_of":{"type":"array","minItems":1,"items":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.query.items.[INDEX].oneOf.1.value.oneOf.3.one_of.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.query.items.[INDEX].oneOf.1.value.oneOf.3.one_of","typeLabel":"string[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.query.items.[INDEX].oneOf.1.value.oneOf.3","typeLabel":"object"}],"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.query.items.[INDEX].oneOf.1.value","typeLabel":"string · object · object · object"},"name":{"oneOf":[{"type":"string","description":"Matches the query parameter name.","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.query.items.[INDEX].oneOf.1.name.oneOf.0","typeLabel":"string"},{"type":"object","description":"Matches the query parameter name.","required":["equals"],"properties":{"equals":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.query.items.[INDEX].oneOf.1.name.oneOf.1.equals","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.query.items.[INDEX].oneOf.1.name.oneOf.1","typeLabel":"object"},{"type":"object","description":"Matches the query parameter name.","required":["prefix"],"properties":{"prefix":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.query.items.[INDEX].oneOf.1.name.oneOf.2.prefix","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.query.items.[INDEX].oneOf.1.name.oneOf.2","typeLabel":"object"},{"type":"object","description":"Matches the query parameter name.","required":["one_of"],"properties":{"one_of":{"type":"array","minItems":1,"items":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.query.items.[INDEX].oneOf.1.name.oneOf.3.one_of.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.query.items.[INDEX].oneOf.1.name.oneOf.3.one_of","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.query.items.[INDEX].oneOf.1.name.oneOf.3","typeLabel":"object"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.query.items.[INDEX].oneOf.1.name","typeLabel":"string · object · object · object"},"present":{"type":"boolean","description":"Set to `false` with `name` to match when that name is absent. When omitted or true, each name or value condition you provide must be present and match.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.query.items.[INDEX].oneOf.1.present","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.query.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.query.items.[INDEX]","typeLabel":"object"},"description":"Query parameter conditions. Every entry must match.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1.query","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.1","typeLabel":"object"},{"type":"object","description":"Conditions tested against the request before any changes are made. At least one condition is required.","required":["headers"],"properties":{"headers":{"type":"array","items":{"oneOf":[{"type":"object","minProperties":1,"required":["name"],"properties":{"name":{"oneOf":[{"type":"string","description":"Matches the header name.","maxLength":4096,"pattern":"^(?!(?:[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Hh][Oo][Ss][Tt]|[Tt][Rr][Aa][Ii\\u0130][Ll][Ee][Rr]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii\\u0130][Nn][Gg])$)(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.headers.items.[INDEX].oneOf.0.name.oneOf.0","typeLabel":"string"},{"type":"object","description":"Matches the header name.","required":["equals"],"properties":{"equals":{"type":"string","maxLength":4096,"pattern":"^(?!(?:[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Hh][Oo][Ss][Tt]|[Tt][Rr][Aa][Ii\\u0130][Ll][Ee][Rr]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii\\u0130][Nn][Gg])$)(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.headers.items.[INDEX].oneOf.0.name.oneOf.1.equals","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.headers.items.[INDEX].oneOf.0.name.oneOf.1","typeLabel":"object"},{"type":"object","description":"Matches the header name.","required":["prefix"],"properties":{"prefix":{"type":"string","maxLength":4096,"pattern":"^(?!(?:[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Hh][Oo][Ss][Tt]|[Tt][Rr][Aa][Ii\\u0130][Ll][Ee][Rr]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii\\u0130][Nn][Gg])$)(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.headers.items.[INDEX].oneOf.0.name.oneOf.2.prefix","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.headers.items.[INDEX].oneOf.0.name.oneOf.2","typeLabel":"object"},{"type":"object","description":"Matches the header name.","required":["one_of"],"properties":{"one_of":{"type":"array","minItems":1,"items":{"type":"string","maxLength":4096,"pattern":"^(?!(?:[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Hh][Oo][Ss][Tt]|[Tt][Rr][Aa][Ii\\u0130][Ll][Ee][Rr]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii\\u0130][Nn][Gg])$)(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.headers.items.[INDEX].oneOf.0.name.oneOf.3.one_of.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.headers.items.[INDEX].oneOf.0.name.oneOf.3.one_of","typeLabel":"string[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.headers.items.[INDEX].oneOf.0.name.oneOf.3","typeLabel":"object"}],"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.headers.items.[INDEX].oneOf.0.name","typeLabel":"string · object · object · object"},"value":{"oneOf":[{"type":"string","description":"Matches its value.","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.headers.items.[INDEX].oneOf.0.value.oneOf.0","typeLabel":"string"},{"type":"object","description":"Matches its value.","required":["equals"],"properties":{"equals":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.headers.items.[INDEX].oneOf.0.value.oneOf.1.equals","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.headers.items.[INDEX].oneOf.0.value.oneOf.1","typeLabel":"object"},{"type":"object","description":"Matches its value.","required":["prefix"],"properties":{"prefix":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.headers.items.[INDEX].oneOf.0.value.oneOf.2.prefix","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.headers.items.[INDEX].oneOf.0.value.oneOf.2","typeLabel":"object"},{"type":"object","description":"Matches its value.","required":["one_of"],"properties":{"one_of":{"type":"array","minItems":1,"items":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.headers.items.[INDEX].oneOf.0.value.oneOf.3.one_of.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.headers.items.[INDEX].oneOf.0.value.oneOf.3.one_of","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.headers.items.[INDEX].oneOf.0.value.oneOf.3","typeLabel":"object"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.headers.items.[INDEX].oneOf.0.value","typeLabel":"string · object · object · object"},"present":{"type":"boolean","description":"Set to `false` with `name` to match when that name is absent. When omitted or true, each name or value condition you provide must be present and match.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.headers.items.[INDEX].oneOf.0.present","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.headers.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","minProperties":1,"required":["value"],"properties":{"value":{"oneOf":[{"type":"string","description":"Matches its value.","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.headers.items.[INDEX].oneOf.1.value.oneOf.0","typeLabel":"string"},{"type":"object","description":"Matches its value.","required":["equals"],"properties":{"equals":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.headers.items.[INDEX].oneOf.1.value.oneOf.1.equals","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.headers.items.[INDEX].oneOf.1.value.oneOf.1","typeLabel":"object"},{"type":"object","description":"Matches its value.","required":["prefix"],"properties":{"prefix":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.headers.items.[INDEX].oneOf.1.value.oneOf.2.prefix","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.headers.items.[INDEX].oneOf.1.value.oneOf.2","typeLabel":"object"},{"type":"object","description":"Matches its value.","required":["one_of"],"properties":{"one_of":{"type":"array","minItems":1,"items":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.headers.items.[INDEX].oneOf.1.value.oneOf.3.one_of.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.headers.items.[INDEX].oneOf.1.value.oneOf.3.one_of","typeLabel":"string[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.headers.items.[INDEX].oneOf.1.value.oneOf.3","typeLabel":"object"}],"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.headers.items.[INDEX].oneOf.1.value","typeLabel":"string · object · object · object"},"name":{"oneOf":[{"type":"string","description":"Matches the header name.","maxLength":4096,"pattern":"^(?!(?:[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Hh][Oo][Ss][Tt]|[Tt][Rr][Aa][Ii\\u0130][Ll][Ee][Rr]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii\\u0130][Nn][Gg])$)(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.headers.items.[INDEX].oneOf.1.name.oneOf.0","typeLabel":"string"},{"type":"object","description":"Matches the header name.","required":["equals"],"properties":{"equals":{"type":"string","maxLength":4096,"pattern":"^(?!(?:[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Hh][Oo][Ss][Tt]|[Tt][Rr][Aa][Ii\\u0130][Ll][Ee][Rr]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii\\u0130][Nn][Gg])$)(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.headers.items.[INDEX].oneOf.1.name.oneOf.1.equals","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.headers.items.[INDEX].oneOf.1.name.oneOf.1","typeLabel":"object"},{"type":"object","description":"Matches the header name.","required":["prefix"],"properties":{"prefix":{"type":"string","maxLength":4096,"pattern":"^(?!(?:[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Hh][Oo][Ss][Tt]|[Tt][Rr][Aa][Ii\\u0130][Ll][Ee][Rr]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii\\u0130][Nn][Gg])$)(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.headers.items.[INDEX].oneOf.1.name.oneOf.2.prefix","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.headers.items.[INDEX].oneOf.1.name.oneOf.2","typeLabel":"object"},{"type":"object","description":"Matches the header name.","required":["one_of"],"properties":{"one_of":{"type":"array","minItems":1,"items":{"type":"string","maxLength":4096,"pattern":"^(?!(?:[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Hh][Oo][Ss][Tt]|[Tt][Rr][Aa][Ii\\u0130][Ll][Ee][Rr]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii\\u0130][Nn][Gg])$)(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.headers.items.[INDEX].oneOf.1.name.oneOf.3.one_of.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.headers.items.[INDEX].oneOf.1.name.oneOf.3.one_of","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.headers.items.[INDEX].oneOf.1.name.oneOf.3","typeLabel":"object"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.headers.items.[INDEX].oneOf.1.name","typeLabel":"string · object · object · object"},"present":{"type":"boolean","description":"Set to `false` with `name` to match when that name is absent. When omitted or true, each name or value condition you provide must be present and match.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.headers.items.[INDEX].oneOf.1.present","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.headers.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.headers.items.[INDEX]","typeLabel":"object"},"description":"Header conditions. Every entry must match.","maxItems":100,"minItems":1,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.headers","typeLabel":"object[]"},"method":{"oneOf":[{"type":"string","description":"One or more case-sensitive HTTP methods, such as `GET`, as a single string or a nonempty list of strings.","maxLength":4096,"pattern":"^[0-9A-Za-z!#$%\u0026'*+\\-.^_`|~]+$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.method.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","maxLength":4096,"pattern":"^[0-9A-Za-z!#$%\u0026'*+\\-.^_`|~]+$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.method.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"One or more case-sensitive HTTP methods, such as `GET`, as a single string or a nonempty list of strings.","minItems":1,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.method.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.method","typeLabel":"string | string[]"},"path":{"oneOf":[{"type":"string","description":"Matches an absolute request path. Each value must start with `/`.","maxLength":4096,"pattern":"^/(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.path.oneOf.0","typeLabel":"string"},{"type":"object","description":"Matches an absolute request path. Each value must start with `/`.","required":["equals"],"properties":{"equals":{"type":"string","maxLength":4096,"pattern":"^/(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.path.oneOf.1.equals","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.path.oneOf.1","typeLabel":"object"},{"type":"object","description":"Matches an absolute request path. Each value must start with `/`.","required":["prefix"],"properties":{"prefix":{"type":"string","maxLength":4096,"pattern":"^/(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.path.oneOf.2.prefix","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.path.oneOf.2","typeLabel":"object"},{"type":"object","description":"Matches an absolute request path. Each value must start with `/`.","required":["one_of"],"properties":{"one_of":{"type":"array","minItems":1,"items":{"type":"string","maxLength":4096,"pattern":"^/(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.path.oneOf.3.one_of.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.path.oneOf.3.one_of","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.path.oneOf.3","typeLabel":"object"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.path","typeLabel":"string · object · object · object"},"query":{"type":"array","maxItems":100,"items":{"oneOf":[{"type":"object","minProperties":1,"required":["name"],"properties":{"name":{"oneOf":[{"type":"string","description":"Matches the query parameter name.","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.query.items.[INDEX].oneOf.0.name.oneOf.0","typeLabel":"string"},{"type":"object","description":"Matches the query parameter name.","required":["equals"],"properties":{"equals":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.query.items.[INDEX].oneOf.0.name.oneOf.1.equals","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.query.items.[INDEX].oneOf.0.name.oneOf.1","typeLabel":"object"},{"type":"object","description":"Matches the query parameter name.","required":["prefix"],"properties":{"prefix":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.query.items.[INDEX].oneOf.0.name.oneOf.2.prefix","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.query.items.[INDEX].oneOf.0.name.oneOf.2","typeLabel":"object"},{"type":"object","description":"Matches the query parameter name.","required":["one_of"],"properties":{"one_of":{"type":"array","minItems":1,"items":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.query.items.[INDEX].oneOf.0.name.oneOf.3.one_of.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.query.items.[INDEX].oneOf.0.name.oneOf.3.one_of","typeLabel":"string[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.query.items.[INDEX].oneOf.0.name.oneOf.3","typeLabel":"object"}],"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.query.items.[INDEX].oneOf.0.name","typeLabel":"string · object · object · object"},"value":{"oneOf":[{"type":"string","description":"Matches its value.","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.query.items.[INDEX].oneOf.0.value.oneOf.0","typeLabel":"string"},{"type":"object","description":"Matches its value.","required":["equals"],"properties":{"equals":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.query.items.[INDEX].oneOf.0.value.oneOf.1.equals","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.query.items.[INDEX].oneOf.0.value.oneOf.1","typeLabel":"object"},{"type":"object","description":"Matches its value.","required":["prefix"],"properties":{"prefix":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.query.items.[INDEX].oneOf.0.value.oneOf.2.prefix","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.query.items.[INDEX].oneOf.0.value.oneOf.2","typeLabel":"object"},{"type":"object","description":"Matches its value.","required":["one_of"],"properties":{"one_of":{"type":"array","minItems":1,"items":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.query.items.[INDEX].oneOf.0.value.oneOf.3.one_of.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.query.items.[INDEX].oneOf.0.value.oneOf.3.one_of","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.query.items.[INDEX].oneOf.0.value.oneOf.3","typeLabel":"object"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.query.items.[INDEX].oneOf.0.value","typeLabel":"string · object · object · object"},"present":{"type":"boolean","description":"Set to `false` with `name` to match when that name is absent. When omitted or true, each name or value condition you provide must be present and match.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.query.items.[INDEX].oneOf.0.present","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.query.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","minProperties":1,"required":["value"],"properties":{"value":{"oneOf":[{"type":"string","description":"Matches its value.","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.query.items.[INDEX].oneOf.1.value.oneOf.0","typeLabel":"string"},{"type":"object","description":"Matches its value.","required":["equals"],"properties":{"equals":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.query.items.[INDEX].oneOf.1.value.oneOf.1.equals","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.query.items.[INDEX].oneOf.1.value.oneOf.1","typeLabel":"object"},{"type":"object","description":"Matches its value.","required":["prefix"],"properties":{"prefix":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.query.items.[INDEX].oneOf.1.value.oneOf.2.prefix","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.query.items.[INDEX].oneOf.1.value.oneOf.2","typeLabel":"object"},{"type":"object","description":"Matches its value.","required":["one_of"],"properties":{"one_of":{"type":"array","minItems":1,"items":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.query.items.[INDEX].oneOf.1.value.oneOf.3.one_of.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.query.items.[INDEX].oneOf.1.value.oneOf.3.one_of","typeLabel":"string[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.query.items.[INDEX].oneOf.1.value.oneOf.3","typeLabel":"object"}],"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.query.items.[INDEX].oneOf.1.value","typeLabel":"string · object · object · object"},"name":{"oneOf":[{"type":"string","description":"Matches the query parameter name.","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.query.items.[INDEX].oneOf.1.name.oneOf.0","typeLabel":"string"},{"type":"object","description":"Matches the query parameter name.","required":["equals"],"properties":{"equals":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.query.items.[INDEX].oneOf.1.name.oneOf.1.equals","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.query.items.[INDEX].oneOf.1.name.oneOf.1","typeLabel":"object"},{"type":"object","description":"Matches the query parameter name.","required":["prefix"],"properties":{"prefix":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.query.items.[INDEX].oneOf.1.name.oneOf.2.prefix","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.query.items.[INDEX].oneOf.1.name.oneOf.2","typeLabel":"object"},{"type":"object","description":"Matches the query parameter name.","required":["one_of"],"properties":{"one_of":{"type":"array","minItems":1,"items":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.query.items.[INDEX].oneOf.1.name.oneOf.3.one_of.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.query.items.[INDEX].oneOf.1.name.oneOf.3.one_of","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.query.items.[INDEX].oneOf.1.name.oneOf.3","typeLabel":"object"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.query.items.[INDEX].oneOf.1.name","typeLabel":"string · object · object · object"},"present":{"type":"boolean","description":"Set to `false` with `name` to match when that name is absent. When omitted or true, each name or value condition you provide must be present and match.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.query.items.[INDEX].oneOf.1.present","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.query.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.query.items.[INDEX]","typeLabel":"object"},"description":"Query parameter conditions. Every entry must match.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2.query","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.2","typeLabel":"object"},{"type":"object","description":"Conditions tested against the request before any changes are made. At least one condition is required.","required":["query"],"properties":{"query":{"type":"array","items":{"oneOf":[{"type":"object","minProperties":1,"required":["name"],"properties":{"name":{"oneOf":[{"type":"string","description":"Matches the query parameter name.","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.query.items.[INDEX].oneOf.0.name.oneOf.0","typeLabel":"string"},{"type":"object","description":"Matches the query parameter name.","required":["equals"],"properties":{"equals":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.query.items.[INDEX].oneOf.0.name.oneOf.1.equals","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.query.items.[INDEX].oneOf.0.name.oneOf.1","typeLabel":"object"},{"type":"object","description":"Matches the query parameter name.","required":["prefix"],"properties":{"prefix":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.query.items.[INDEX].oneOf.0.name.oneOf.2.prefix","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.query.items.[INDEX].oneOf.0.name.oneOf.2","typeLabel":"object"},{"type":"object","description":"Matches the query parameter name.","required":["one_of"],"properties":{"one_of":{"type":"array","minItems":1,"items":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.query.items.[INDEX].oneOf.0.name.oneOf.3.one_of.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.query.items.[INDEX].oneOf.0.name.oneOf.3.one_of","typeLabel":"string[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.query.items.[INDEX].oneOf.0.name.oneOf.3","typeLabel":"object"}],"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.query.items.[INDEX].oneOf.0.name","typeLabel":"string · object · object · object"},"value":{"oneOf":[{"type":"string","description":"Matches its value.","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.query.items.[INDEX].oneOf.0.value.oneOf.0","typeLabel":"string"},{"type":"object","description":"Matches its value.","required":["equals"],"properties":{"equals":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.query.items.[INDEX].oneOf.0.value.oneOf.1.equals","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.query.items.[INDEX].oneOf.0.value.oneOf.1","typeLabel":"object"},{"type":"object","description":"Matches its value.","required":["prefix"],"properties":{"prefix":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.query.items.[INDEX].oneOf.0.value.oneOf.2.prefix","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.query.items.[INDEX].oneOf.0.value.oneOf.2","typeLabel":"object"},{"type":"object","description":"Matches its value.","required":["one_of"],"properties":{"one_of":{"type":"array","minItems":1,"items":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.query.items.[INDEX].oneOf.0.value.oneOf.3.one_of.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.query.items.[INDEX].oneOf.0.value.oneOf.3.one_of","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.query.items.[INDEX].oneOf.0.value.oneOf.3","typeLabel":"object"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.query.items.[INDEX].oneOf.0.value","typeLabel":"string · object · object · object"},"present":{"type":"boolean","description":"Set to `false` with `name` to match when that name is absent. When omitted or true, each name or value condition you provide must be present and match.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.query.items.[INDEX].oneOf.0.present","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.query.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","minProperties":1,"required":["value"],"properties":{"value":{"oneOf":[{"type":"string","description":"Matches its value.","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.query.items.[INDEX].oneOf.1.value.oneOf.0","typeLabel":"string"},{"type":"object","description":"Matches its value.","required":["equals"],"properties":{"equals":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.query.items.[INDEX].oneOf.1.value.oneOf.1.equals","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.query.items.[INDEX].oneOf.1.value.oneOf.1","typeLabel":"object"},{"type":"object","description":"Matches its value.","required":["prefix"],"properties":{"prefix":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.query.items.[INDEX].oneOf.1.value.oneOf.2.prefix","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.query.items.[INDEX].oneOf.1.value.oneOf.2","typeLabel":"object"},{"type":"object","description":"Matches its value.","required":["one_of"],"properties":{"one_of":{"type":"array","minItems":1,"items":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.query.items.[INDEX].oneOf.1.value.oneOf.3.one_of.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.query.items.[INDEX].oneOf.1.value.oneOf.3.one_of","typeLabel":"string[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.query.items.[INDEX].oneOf.1.value.oneOf.3","typeLabel":"object"}],"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.query.items.[INDEX].oneOf.1.value","typeLabel":"string · object · object · object"},"name":{"oneOf":[{"type":"string","description":"Matches the query parameter name.","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.query.items.[INDEX].oneOf.1.name.oneOf.0","typeLabel":"string"},{"type":"object","description":"Matches the query parameter name.","required":["equals"],"properties":{"equals":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.query.items.[INDEX].oneOf.1.name.oneOf.1.equals","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.query.items.[INDEX].oneOf.1.name.oneOf.1","typeLabel":"object"},{"type":"object","description":"Matches the query parameter name.","required":["prefix"],"properties":{"prefix":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.query.items.[INDEX].oneOf.1.name.oneOf.2.prefix","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.query.items.[INDEX].oneOf.1.name.oneOf.2","typeLabel":"object"},{"type":"object","description":"Matches the query parameter name.","required":["one_of"],"properties":{"one_of":{"type":"array","minItems":1,"items":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.query.items.[INDEX].oneOf.1.name.oneOf.3.one_of.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.query.items.[INDEX].oneOf.1.name.oneOf.3.one_of","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.query.items.[INDEX].oneOf.1.name.oneOf.3","typeLabel":"object"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.query.items.[INDEX].oneOf.1.name","typeLabel":"string · object · object · object"},"present":{"type":"boolean","description":"Set to `false` with `name` to match when that name is absent. When omitted or true, each name or value condition you provide must be present and match.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.query.items.[INDEX].oneOf.1.present","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.query.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.query.items.[INDEX]","typeLabel":"object"},"description":"Query parameter conditions. Every entry must match.","maxItems":100,"minItems":1,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.query","typeLabel":"object[]"},"method":{"oneOf":[{"type":"string","description":"One or more case-sensitive HTTP methods, such as `GET`, as a single string or a nonempty list of strings.","maxLength":4096,"pattern":"^[0-9A-Za-z!#$%\u0026'*+\\-.^_`|~]+$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.method.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","maxLength":4096,"pattern":"^[0-9A-Za-z!#$%\u0026'*+\\-.^_`|~]+$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.method.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"One or more case-sensitive HTTP methods, such as `GET`, as a single string or a nonempty list of strings.","minItems":1,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.method.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.method","typeLabel":"string | string[]"},"path":{"oneOf":[{"type":"string","description":"Matches an absolute request path. Each value must start with `/`.","maxLength":4096,"pattern":"^/(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.path.oneOf.0","typeLabel":"string"},{"type":"object","description":"Matches an absolute request path. Each value must start with `/`.","required":["equals"],"properties":{"equals":{"type":"string","maxLength":4096,"pattern":"^/(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.path.oneOf.1.equals","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.path.oneOf.1","typeLabel":"object"},{"type":"object","description":"Matches an absolute request path. Each value must start with `/`.","required":["prefix"],"properties":{"prefix":{"type":"string","maxLength":4096,"pattern":"^/(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.path.oneOf.2.prefix","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.path.oneOf.2","typeLabel":"object"},{"type":"object","description":"Matches an absolute request path. Each value must start with `/`.","required":["one_of"],"properties":{"one_of":{"type":"array","minItems":1,"items":{"type":"string","maxLength":4096,"pattern":"^/(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.path.oneOf.3.one_of.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.path.oneOf.3.one_of","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.path.oneOf.3","typeLabel":"object"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.path","typeLabel":"string · object · object · object"},"headers":{"type":"array","maxItems":100,"items":{"oneOf":[{"type":"object","minProperties":1,"required":["name"],"properties":{"name":{"oneOf":[{"type":"string","description":"Matches the header name.","maxLength":4096,"pattern":"^(?!(?:[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Hh][Oo][Ss][Tt]|[Tt][Rr][Aa][Ii\\u0130][Ll][Ee][Rr]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii\\u0130][Nn][Gg])$)(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.headers.items.[INDEX].oneOf.0.name.oneOf.0","typeLabel":"string"},{"type":"object","description":"Matches the header name.","required":["equals"],"properties":{"equals":{"type":"string","maxLength":4096,"pattern":"^(?!(?:[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Hh][Oo][Ss][Tt]|[Tt][Rr][Aa][Ii\\u0130][Ll][Ee][Rr]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii\\u0130][Nn][Gg])$)(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.headers.items.[INDEX].oneOf.0.name.oneOf.1.equals","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.headers.items.[INDEX].oneOf.0.name.oneOf.1","typeLabel":"object"},{"type":"object","description":"Matches the header name.","required":["prefix"],"properties":{"prefix":{"type":"string","maxLength":4096,"pattern":"^(?!(?:[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Hh][Oo][Ss][Tt]|[Tt][Rr][Aa][Ii\\u0130][Ll][Ee][Rr]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii\\u0130][Nn][Gg])$)(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.headers.items.[INDEX].oneOf.0.name.oneOf.2.prefix","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.headers.items.[INDEX].oneOf.0.name.oneOf.2","typeLabel":"object"},{"type":"object","description":"Matches the header name.","required":["one_of"],"properties":{"one_of":{"type":"array","minItems":1,"items":{"type":"string","maxLength":4096,"pattern":"^(?!(?:[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Hh][Oo][Ss][Tt]|[Tt][Rr][Aa][Ii\\u0130][Ll][Ee][Rr]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii\\u0130][Nn][Gg])$)(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.headers.items.[INDEX].oneOf.0.name.oneOf.3.one_of.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.headers.items.[INDEX].oneOf.0.name.oneOf.3.one_of","typeLabel":"string[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.headers.items.[INDEX].oneOf.0.name.oneOf.3","typeLabel":"object"}],"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.headers.items.[INDEX].oneOf.0.name","typeLabel":"string · object · object · object"},"value":{"oneOf":[{"type":"string","description":"Matches its value.","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.headers.items.[INDEX].oneOf.0.value.oneOf.0","typeLabel":"string"},{"type":"object","description":"Matches its value.","required":["equals"],"properties":{"equals":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.headers.items.[INDEX].oneOf.0.value.oneOf.1.equals","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.headers.items.[INDEX].oneOf.0.value.oneOf.1","typeLabel":"object"},{"type":"object","description":"Matches its value.","required":["prefix"],"properties":{"prefix":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.headers.items.[INDEX].oneOf.0.value.oneOf.2.prefix","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.headers.items.[INDEX].oneOf.0.value.oneOf.2","typeLabel":"object"},{"type":"object","description":"Matches its value.","required":["one_of"],"properties":{"one_of":{"type":"array","minItems":1,"items":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.headers.items.[INDEX].oneOf.0.value.oneOf.3.one_of.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.headers.items.[INDEX].oneOf.0.value.oneOf.3.one_of","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.headers.items.[INDEX].oneOf.0.value.oneOf.3","typeLabel":"object"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.headers.items.[INDEX].oneOf.0.value","typeLabel":"string · object · object · object"},"present":{"type":"boolean","description":"Set to `false` with `name` to match when that name is absent. When omitted or true, each name or value condition you provide must be present and match.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.headers.items.[INDEX].oneOf.0.present","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.headers.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","minProperties":1,"required":["value"],"properties":{"value":{"oneOf":[{"type":"string","description":"Matches its value.","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.headers.items.[INDEX].oneOf.1.value.oneOf.0","typeLabel":"string"},{"type":"object","description":"Matches its value.","required":["equals"],"properties":{"equals":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.headers.items.[INDEX].oneOf.1.value.oneOf.1.equals","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.headers.items.[INDEX].oneOf.1.value.oneOf.1","typeLabel":"object"},{"type":"object","description":"Matches its value.","required":["prefix"],"properties":{"prefix":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.headers.items.[INDEX].oneOf.1.value.oneOf.2.prefix","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.headers.items.[INDEX].oneOf.1.value.oneOf.2","typeLabel":"object"},{"type":"object","description":"Matches its value.","required":["one_of"],"properties":{"one_of":{"type":"array","minItems":1,"items":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.headers.items.[INDEX].oneOf.1.value.oneOf.3.one_of.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.headers.items.[INDEX].oneOf.1.value.oneOf.3.one_of","typeLabel":"string[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.headers.items.[INDEX].oneOf.1.value.oneOf.3","typeLabel":"object"}],"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.headers.items.[INDEX].oneOf.1.value","typeLabel":"string · object · object · object"},"name":{"oneOf":[{"type":"string","description":"Matches the header name.","maxLength":4096,"pattern":"^(?!(?:[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Hh][Oo][Ss][Tt]|[Tt][Rr][Aa][Ii\\u0130][Ll][Ee][Rr]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii\\u0130][Nn][Gg])$)(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.headers.items.[INDEX].oneOf.1.name.oneOf.0","typeLabel":"string"},{"type":"object","description":"Matches the header name.","required":["equals"],"properties":{"equals":{"type":"string","maxLength":4096,"pattern":"^(?!(?:[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Hh][Oo][Ss][Tt]|[Tt][Rr][Aa][Ii\\u0130][Ll][Ee][Rr]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii\\u0130][Nn][Gg])$)(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.headers.items.[INDEX].oneOf.1.name.oneOf.1.equals","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.headers.items.[INDEX].oneOf.1.name.oneOf.1","typeLabel":"object"},{"type":"object","description":"Matches the header name.","required":["prefix"],"properties":{"prefix":{"type":"string","maxLength":4096,"pattern":"^(?!(?:[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Hh][Oo][Ss][Tt]|[Tt][Rr][Aa][Ii\\u0130][Ll][Ee][Rr]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii\\u0130][Nn][Gg])$)(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.headers.items.[INDEX].oneOf.1.name.oneOf.2.prefix","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.headers.items.[INDEX].oneOf.1.name.oneOf.2","typeLabel":"object"},{"type":"object","description":"Matches the header name.","required":["one_of"],"properties":{"one_of":{"type":"array","minItems":1,"items":{"type":"string","maxLength":4096,"pattern":"^(?!(?:[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Hh][Oo][Ss][Tt]|[Tt][Rr][Aa][Ii\\u0130][Ll][Ee][Rr]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii\\u0130][Nn][Gg])$)(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.headers.items.[INDEX].oneOf.1.name.oneOf.3.one_of.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.headers.items.[INDEX].oneOf.1.name.oneOf.3.one_of","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.headers.items.[INDEX].oneOf.1.name.oneOf.3","typeLabel":"object"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.headers.items.[INDEX].oneOf.1.name","typeLabel":"string · object · object · object"},"present":{"type":"boolean","description":"Set to `false` with `name` to match when that name is absent. When omitted or true, each name or value condition you provide must be present and match.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.headers.items.[INDEX].oneOf.1.present","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.headers.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.headers.items.[INDEX]","typeLabel":"object"},"description":"Header conditions. Every entry must match.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3.headers","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match.oneOf.3","typeLabel":"object"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].match","typeLabel":"object"},"respond":{"type":"object","description":"A response Sail returns in place of the destination. The request is not sent on.","required":["status"],"properties":{"status":{"type":"integer","minimum":200,"maximum":599,"description":"HTTP status code to return.","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].respond.status","typeLabel":"integer"},"headers":{"type":"object","propertyNames":{"pattern":"^(?![\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*(?:[Cc][Oo][Nn][Nn][Ee][Cc][Tt][Ii\\u0130][Oo][Nn]|[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Hh][Oo][Ss][Tt]|[Kk\\u212A][Ee][Ee][Pp]-[Aa][Ll][Ii\\u0130][Vv][Ee]|[Pp][Rr][Oo][Xx][Yy]-[Aa][Uu][Tt][Hh][Ee][Nn][Tt][Ii\\u0130][Cc][Aa][Tt][Ee]|[Pp][Rr][Oo][Xx][Yy]-[Aa][Uu][Tt][Hh][Oo][Rr][Ii\\u0130][Zz][Aa][Tt][Ii\\u0130][Oo][Nn]|[Pp][Rr][Oo][Xx][Yy]-[Cc][Oo][Nn][Nn][Ee][Cc][Tt][Ii\\u0130][Oo][Nn]|[Tt][Ee]|[Tt][Rr][Aa][Ii\\u0130][Ll][Ee][Rr]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii\\u0130][Nn][Gg]|[Uu][Pp][Gg][Rr][Aa][Dd][Ee])[\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*$)[\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*[0-9A-Za-z!#$%\u0026'*+\\-.^_`|~\\u0130\\u212A]{1,128}[\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*$"},"additionalProperties":{"oneOf":[{"type":"string","description":"One string or a nonempty list of strings. Each string is limited to 4096 bytes of UTF-8.","maxLength":4096,"pattern":"^(?:(?:[^\\u0000-\\u0008\\u000A-\\u001F\\u007F$]|\\$(?!\\{))*|(?:[^\\u0000-\\u0008\\u000A-\\u001F\\u007F$]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].respond.headers.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^\\u0000-\\u0008\\u000A-\\u001F\\u007F$]|\\$(?!\\{))*|(?:[^\\u0000-\\u0008\\u000A-\\u001F\\u007F$]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].respond.headers.additionalProperties.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"One string or a nonempty list of strings. Each string is limited to 4096 bytes of UTF-8.","minItems":1,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].respond.headers.additionalProperties.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].respond.headers.additionalProperties","typeLabel":"string | string[]"},"description":"Headers to return. Secret references are not allowed here. Sail-managed headers such as `host` and `content-length` cannot be set, and a header name is at most 128 characters.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].respond.headers","typeLabel":"object"},"body":{"type":"string","maxLength":65536,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","description":"Response body, up to 64 KiB as UTF-8. Secret references are not allowed here.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].respond.body","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].respond","typeLabel":"object"},"forward":{"type":"object","additionalProperties":false,"required":["host"],"description":"Another HTTPS host to send the request to.","properties":{"host":{"type":"string","pattern":"^[\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*(?![0-9A-Za-z.\\u0130\\u212A-]{254})[A-Za-z0-9\\u0130\\u212A](?:[A-Za-z0-9\\u0130\\u212A-]{0,61}[A-Za-z0-9\\u0130\\u212A])?(?:\\.[A-Za-z0-9\\u0130\\u212A](?:[A-Za-z0-9\\u0130\\u212A-]{0,61}[A-Za-z0-9\\u0130\\u212A])?)*[\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*$","description":"Exact hostname, without a scheme, port, or wildcard. At most 253 characters after surrounding whitespace is trimmed.","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].forward.host","typeLabel":"string"},"port":{"type":"integer","minimum":0,"maximum":65535,"description":"HTTPS port. Omit it, or send `0`, to use 443.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].forward.port","typeLabel":"integer"}},"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].forward","typeLabel":"object"},"request":{"type":"object","additionalProperties":false,"minProperties":1,"description":"Changes to make before sending the request. A header, query parameter, path, or body field can be targeted only once in a rule, and a rule edits a JSON body or a form body, not both.","properties":{"set":{"oneOf":[{"type":"object","description":"Values to replace or create. At least one of `path`, `headers`, `query`, `json`, or `form` must name a target.","required":["path"],"properties":{"path":{"type":"string","maxLength":4096,"pattern":"^/(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","description":"Replacement absolute path. Secret references are not allowed here.","isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.0.path","typeLabel":"string"},"headers":{"type":"object","propertyNames":{"pattern":"^(?![\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*(?:[Cc][Oo][Nn][Nn][Ee][Cc][Tt][Ii\\u0130][Oo][Nn]|[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Hh][Oo][Ss][Tt]|[Kk\\u212A][Ee][Ee][Pp]-[Aa][Ll][Ii\\u0130][Vv][Ee]|[Pp][Rr][Oo][Xx][Yy]-[Aa][Uu][Tt][Hh][Ee][Nn][Tt][Ii\\u0130][Cc][Aa][Tt][Ee]|[Pp][Rr][Oo][Xx][Yy]-[Aa][Uu][Tt][Hh][Oo][Rr][Ii\\u0130][Zz][Aa][Tt][Ii\\u0130][Oo][Nn]|[Pp][Rr][Oo][Xx][Yy]-[Cc][Oo][Nn][Nn][Ee][Cc][Tt][Ii\\u0130][Oo][Nn]|[Tt][Ee]|[Tt][Rr][Aa][Ii\\u0130][Ll][Ee][Rr]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii\\u0130][Nn][Gg]|[Uu][Pp][Gg][Rr][Aa][Dd][Ee])[\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*$)[\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*[0-9A-Za-z!#$%\u0026'*+\\-.^_`|~\\u0130\\u212A]{1,128}[\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*$"},"additionalProperties":{"oneOf":[{"type":"string","description":"One string or a nonempty list of strings. Each string is limited to 4096 bytes of UTF-8.","maxLength":4096,"pattern":"^(?:[^\\u0000-\\u0008\\u000A-\\u001F\\u007F$]|\\$\\$|\\$\\{secrets\\.[A-Za-z0-9][A-Za-z0-9_-]{0,127}\\})*$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.0.headers.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","maxLength":4096,"pattern":"^(?:[^\\u0000-\\u0008\\u000A-\\u001F\\u007F$]|\\$\\$|\\$\\{secrets\\.[A-Za-z0-9][A-Za-z0-9_-]{0,127}\\})*$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.0.headers.additionalProperties.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"One string or a nonempty list of strings. Each string is limited to 4096 bytes of UTF-8.","minItems":1,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.0.headers.additionalProperties.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.0.headers.additionalProperties","typeLabel":"string | string[]"},"description":"Headers to set. Values may include `${secrets.NAME}` for a secret that already exists in your organization. Write a literal dollar sign as `$$`. Sail-managed headers such as `host` and `content-length` cannot be set, and a header name is at most 128 characters.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.0.headers","typeLabel":"object"},"query":{"type":"object","propertyNames":{"minLength":1,"maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$"},"additionalProperties":{"oneOf":[{"type":"string","description":"One string or a nonempty list of strings. Each string is limited to 4096 bytes of UTF-8.","maxLength":4096,"pattern":"^(?:[^$\\r\\n]|\\$\\$|\\$\\{secrets\\.[A-Za-z0-9][A-Za-z0-9_-]{0,127}\\})*$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.0.query.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","maxLength":4096,"pattern":"^(?:[^$\\r\\n]|\\$\\$|\\$\\{secrets\\.[A-Za-z0-9][A-Za-z0-9_-]{0,127}\\})*$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.0.query.additionalProperties.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"One string or a nonempty list of strings. Each string is limited to 4096 bytes of UTF-8.","minItems":1,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.0.query.additionalProperties.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.0.query.additionalProperties","typeLabel":"string | string[]"},"description":"Query parameters to set. Values may include `${secrets.NAME}` for a secret that already exists in your organization. Write a literal dollar sign as `$$`.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.0.query","typeLabel":"object"},"json":{"type":"object","propertyNames":{"maxLength":4096,"pattern":"^(?:/(?:[^~/]|~[01])*)+$"},"additionalProperties":{"type":"string","maxLength":4096,"pattern":"^(?:[^$\\r\\n]|\\$\\$|\\$\\{secrets\\.[A-Za-z0-9][A-Za-z0-9_-]{0,127}\\})*$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.0.json.additionalProperties","typeLabel":"string"},"description":"String values to set in a JSON request body, keyed by JSON Pointer. Missing parent objects are created. Values may include `${secrets.NAME}`. The request must have a JSON body of at most 8 MiB with no Content-Encoding, or it fails with status 502. https://docs.sailresearch.com/reference/egress-policy#request-bodies","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.0.json","typeLabel":"object"},"form":{"type":"object","propertyNames":{"minLength":1,"maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$"},"additionalProperties":{"oneOf":[{"type":"string","description":"One string or a nonempty list of strings. Each string is limited to 4096 bytes of UTF-8.","maxLength":4096,"pattern":"^(?:[^$\\r\\n]|\\$\\$|\\$\\{secrets\\.[A-Za-z0-9][A-Za-z0-9_-]{0,127}\\})*$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.0.form.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","maxLength":4096,"pattern":"^(?:[^$\\r\\n]|\\$\\$|\\$\\{secrets\\.[A-Za-z0-9][A-Za-z0-9_-]{0,127}\\})*$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.0.form.additionalProperties.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"One string or a nonempty list of strings. Each string is limited to 4096 bytes of UTF-8.","minItems":1,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.0.form.additionalProperties.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.0.form.additionalProperties","typeLabel":"string | string[]"},"description":"Fields to set in a form-encoded request body. Values may include `${secrets.NAME}`. The request must have a form-encoded body of at most 8 MiB with no Content-Encoding, or it fails with status 502. https://docs.sailresearch.com/reference/egress-policy#request-bodies","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.0.form","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.0","typeLabel":"object"},{"type":"object","description":"Values to replace or create. At least one of `path`, `headers`, `query`, `json`, or `form` must name a target.","required":["headers"],"properties":{"headers":{"type":"object","description":"Headers to set. Values may include `${secrets.NAME}` for a secret that already exists in your organization. Write a literal dollar sign as `$$`. Sail-managed headers such as `host` and `content-length` cannot be set, and a header name is at most 128 characters.","minProperties":1,"additionalProperties":{"oneOf":[{"type":"string","description":"One string or a nonempty list of strings. Each string is limited to 4096 bytes of UTF-8.","maxLength":4096,"pattern":"^(?:[^\\u0000-\\u0008\\u000A-\\u001F\\u007F$]|\\$\\$|\\$\\{secrets\\.[A-Za-z0-9][A-Za-z0-9_-]{0,127}\\})*$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.1.headers.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","maxLength":4096,"pattern":"^(?:[^\\u0000-\\u0008\\u000A-\\u001F\\u007F$]|\\$\\$|\\$\\{secrets\\.[A-Za-z0-9][A-Za-z0-9_-]{0,127}\\})*$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.1.headers.additionalProperties.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"One string or a nonempty list of strings. Each string is limited to 4096 bytes of UTF-8.","minItems":1,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.1.headers.additionalProperties.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.1.headers.additionalProperties","typeLabel":"string | string[]"},"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.1.headers","typeLabel":"object"},"path":{"type":"string","maxLength":4096,"pattern":"^/(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","description":"Replacement absolute path. Secret references are not allowed here.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.1.path","typeLabel":"string"},"query":{"type":"object","propertyNames":{"minLength":1,"maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$"},"additionalProperties":{"oneOf":[{"type":"string","description":"One string or a nonempty list of strings. Each string is limited to 4096 bytes of UTF-8.","maxLength":4096,"pattern":"^(?:[^$\\r\\n]|\\$\\$|\\$\\{secrets\\.[A-Za-z0-9][A-Za-z0-9_-]{0,127}\\})*$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.1.query.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","maxLength":4096,"pattern":"^(?:[^$\\r\\n]|\\$\\$|\\$\\{secrets\\.[A-Za-z0-9][A-Za-z0-9_-]{0,127}\\})*$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.1.query.additionalProperties.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"One string or a nonempty list of strings. Each string is limited to 4096 bytes of UTF-8.","minItems":1,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.1.query.additionalProperties.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.1.query.additionalProperties","typeLabel":"string | string[]"},"description":"Query parameters to set. Values may include `${secrets.NAME}` for a secret that already exists in your organization. Write a literal dollar sign as `$$`.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.1.query","typeLabel":"object"},"json":{"type":"object","propertyNames":{"maxLength":4096,"pattern":"^(?:/(?:[^~/]|~[01])*)+$"},"additionalProperties":{"type":"string","maxLength":4096,"pattern":"^(?:[^$\\r\\n]|\\$\\$|\\$\\{secrets\\.[A-Za-z0-9][A-Za-z0-9_-]{0,127}\\})*$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.1.json.additionalProperties","typeLabel":"string"},"description":"String values to set in a JSON request body, keyed by JSON Pointer. Missing parent objects are created. Values may include `${secrets.NAME}`. The request must have a JSON body of at most 8 MiB with no Content-Encoding, or it fails with status 502. https://docs.sailresearch.com/reference/egress-policy#request-bodies","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.1.json","typeLabel":"object"},"form":{"type":"object","propertyNames":{"minLength":1,"maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$"},"additionalProperties":{"oneOf":[{"type":"string","description":"One string or a nonempty list of strings. Each string is limited to 4096 bytes of UTF-8.","maxLength":4096,"pattern":"^(?:[^$\\r\\n]|\\$\\$|\\$\\{secrets\\.[A-Za-z0-9][A-Za-z0-9_-]{0,127}\\})*$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.1.form.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","maxLength":4096,"pattern":"^(?:[^$\\r\\n]|\\$\\$|\\$\\{secrets\\.[A-Za-z0-9][A-Za-z0-9_-]{0,127}\\})*$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.1.form.additionalProperties.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"One string or a nonempty list of strings. Each string is limited to 4096 bytes of UTF-8.","minItems":1,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.1.form.additionalProperties.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.1.form.additionalProperties","typeLabel":"string | string[]"},"description":"Fields to set in a form-encoded request body. Values may include `${secrets.NAME}`. The request must have a form-encoded body of at most 8 MiB with no Content-Encoding, or it fails with status 502. https://docs.sailresearch.com/reference/egress-policy#request-bodies","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.1.form","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.1","typeLabel":"object"},{"type":"object","description":"Values to replace or create. At least one of `path`, `headers`, `query`, `json`, or `form` must name a target.","required":["query"],"properties":{"query":{"type":"object","description":"Query parameters to set. Values may include `${secrets.NAME}` for a secret that already exists in your organization. Write a literal dollar sign as `$$`.","minProperties":1,"additionalProperties":{"oneOf":[{"type":"string","description":"One string or a nonempty list of strings. Each string is limited to 4096 bytes of UTF-8.","maxLength":4096,"pattern":"^(?:[^$\\r\\n]|\\$\\$|\\$\\{secrets\\.[A-Za-z0-9][A-Za-z0-9_-]{0,127}\\})*$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.2.query.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","maxLength":4096,"pattern":"^(?:[^$\\r\\n]|\\$\\$|\\$\\{secrets\\.[A-Za-z0-9][A-Za-z0-9_-]{0,127}\\})*$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.2.query.additionalProperties.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"One string or a nonempty list of strings. Each string is limited to 4096 bytes of UTF-8.","minItems":1,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.2.query.additionalProperties.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.2.query.additionalProperties","typeLabel":"string | string[]"},"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.2.query","typeLabel":"object"},"path":{"type":"string","maxLength":4096,"pattern":"^/(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","description":"Replacement absolute path. Secret references are not allowed here.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.2.path","typeLabel":"string"},"headers":{"type":"object","propertyNames":{"pattern":"^(?![\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*(?:[Cc][Oo][Nn][Nn][Ee][Cc][Tt][Ii\\u0130][Oo][Nn]|[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Hh][Oo][Ss][Tt]|[Kk\\u212A][Ee][Ee][Pp]-[Aa][Ll][Ii\\u0130][Vv][Ee]|[Pp][Rr][Oo][Xx][Yy]-[Aa][Uu][Tt][Hh][Ee][Nn][Tt][Ii\\u0130][Cc][Aa][Tt][Ee]|[Pp][Rr][Oo][Xx][Yy]-[Aa][Uu][Tt][Hh][Oo][Rr][Ii\\u0130][Zz][Aa][Tt][Ii\\u0130][Oo][Nn]|[Pp][Rr][Oo][Xx][Yy]-[Cc][Oo][Nn][Nn][Ee][Cc][Tt][Ii\\u0130][Oo][Nn]|[Tt][Ee]|[Tt][Rr][Aa][Ii\\u0130][Ll][Ee][Rr]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii\\u0130][Nn][Gg]|[Uu][Pp][Gg][Rr][Aa][Dd][Ee])[\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*$)[\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*[0-9A-Za-z!#$%\u0026'*+\\-.^_`|~\\u0130\\u212A]{1,128}[\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*$"},"additionalProperties":{"oneOf":[{"type":"string","description":"One string or a nonempty list of strings. Each string is limited to 4096 bytes of UTF-8.","maxLength":4096,"pattern":"^(?:[^\\u0000-\\u0008\\u000A-\\u001F\\u007F$]|\\$\\$|\\$\\{secrets\\.[A-Za-z0-9][A-Za-z0-9_-]{0,127}\\})*$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.2.headers.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","maxLength":4096,"pattern":"^(?:[^\\u0000-\\u0008\\u000A-\\u001F\\u007F$]|\\$\\$|\\$\\{secrets\\.[A-Za-z0-9][A-Za-z0-9_-]{0,127}\\})*$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.2.headers.additionalProperties.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"One string or a nonempty list of strings. Each string is limited to 4096 bytes of UTF-8.","minItems":1,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.2.headers.additionalProperties.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.2.headers.additionalProperties","typeLabel":"string | string[]"},"description":"Headers to set. Values may include `${secrets.NAME}` for a secret that already exists in your organization. Write a literal dollar sign as `$$`. Sail-managed headers such as `host` and `content-length` cannot be set, and a header name is at most 128 characters.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.2.headers","typeLabel":"object"},"json":{"type":"object","propertyNames":{"maxLength":4096,"pattern":"^(?:/(?:[^~/]|~[01])*)+$"},"additionalProperties":{"type":"string","maxLength":4096,"pattern":"^(?:[^$\\r\\n]|\\$\\$|\\$\\{secrets\\.[A-Za-z0-9][A-Za-z0-9_-]{0,127}\\})*$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.2.json.additionalProperties","typeLabel":"string"},"description":"String values to set in a JSON request body, keyed by JSON Pointer. Missing parent objects are created. Values may include `${secrets.NAME}`. The request must have a JSON body of at most 8 MiB with no Content-Encoding, or it fails with status 502. https://docs.sailresearch.com/reference/egress-policy#request-bodies","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.2.json","typeLabel":"object"},"form":{"type":"object","propertyNames":{"minLength":1,"maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$"},"additionalProperties":{"oneOf":[{"type":"string","description":"One string or a nonempty list of strings. Each string is limited to 4096 bytes of UTF-8.","maxLength":4096,"pattern":"^(?:[^$\\r\\n]|\\$\\$|\\$\\{secrets\\.[A-Za-z0-9][A-Za-z0-9_-]{0,127}\\})*$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.2.form.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","maxLength":4096,"pattern":"^(?:[^$\\r\\n]|\\$\\$|\\$\\{secrets\\.[A-Za-z0-9][A-Za-z0-9_-]{0,127}\\})*$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.2.form.additionalProperties.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"One string or a nonempty list of strings. Each string is limited to 4096 bytes of UTF-8.","minItems":1,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.2.form.additionalProperties.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.2.form.additionalProperties","typeLabel":"string | string[]"},"description":"Fields to set in a form-encoded request body. Values may include `${secrets.NAME}`. The request must have a form-encoded body of at most 8 MiB with no Content-Encoding, or it fails with status 502. https://docs.sailresearch.com/reference/egress-policy#request-bodies","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.2.form","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.2","typeLabel":"object"},{"type":"object","description":"Values to replace or create. At least one of `path`, `headers`, `query`, `json`, or `form` must name a target.","required":["json"],"properties":{"json":{"type":"object","description":"String values to set in a JSON request body, keyed by JSON Pointer. Missing parent objects are created. Values may include `${secrets.NAME}`. The request must have a JSON body of at most 8 MiB with no Content-Encoding, or it fails with status 502. https://docs.sailresearch.com/reference/egress-policy#request-bodies","minProperties":1,"additionalProperties":{"type":"string","maxLength":4096,"pattern":"^(?:[^$\\r\\n]|\\$\\$|\\$\\{secrets\\.[A-Za-z0-9][A-Za-z0-9_-]{0,127}\\})*$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.3.json.additionalProperties","typeLabel":"string"},"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.3.json","typeLabel":"object"},"path":{"type":"string","maxLength":4096,"pattern":"^/(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","description":"Replacement absolute path. Secret references are not allowed here.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.3.path","typeLabel":"string"},"headers":{"type":"object","propertyNames":{"pattern":"^(?![\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*(?:[Cc][Oo][Nn][Nn][Ee][Cc][Tt][Ii\\u0130][Oo][Nn]|[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Hh][Oo][Ss][Tt]|[Kk\\u212A][Ee][Ee][Pp]-[Aa][Ll][Ii\\u0130][Vv][Ee]|[Pp][Rr][Oo][Xx][Yy]-[Aa][Uu][Tt][Hh][Ee][Nn][Tt][Ii\\u0130][Cc][Aa][Tt][Ee]|[Pp][Rr][Oo][Xx][Yy]-[Aa][Uu][Tt][Hh][Oo][Rr][Ii\\u0130][Zz][Aa][Tt][Ii\\u0130][Oo][Nn]|[Pp][Rr][Oo][Xx][Yy]-[Cc][Oo][Nn][Nn][Ee][Cc][Tt][Ii\\u0130][Oo][Nn]|[Tt][Ee]|[Tt][Rr][Aa][Ii\\u0130][Ll][Ee][Rr]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii\\u0130][Nn][Gg]|[Uu][Pp][Gg][Rr][Aa][Dd][Ee])[\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*$)[\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*[0-9A-Za-z!#$%\u0026'*+\\-.^_`|~\\u0130\\u212A]{1,128}[\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*$"},"additionalProperties":{"oneOf":[{"type":"string","description":"One string or a nonempty list of strings. Each string is limited to 4096 bytes of UTF-8.","maxLength":4096,"pattern":"^(?:[^\\u0000-\\u0008\\u000A-\\u001F\\u007F$]|\\$\\$|\\$\\{secrets\\.[A-Za-z0-9][A-Za-z0-9_-]{0,127}\\})*$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.3.headers.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","maxLength":4096,"pattern":"^(?:[^\\u0000-\\u0008\\u000A-\\u001F\\u007F$]|\\$\\$|\\$\\{secrets\\.[A-Za-z0-9][A-Za-z0-9_-]{0,127}\\})*$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.3.headers.additionalProperties.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"One string or a nonempty list of strings. Each string is limited to 4096 bytes of UTF-8.","minItems":1,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.3.headers.additionalProperties.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.3.headers.additionalProperties","typeLabel":"string | string[]"},"description":"Headers to set. Values may include `${secrets.NAME}` for a secret that already exists in your organization. Write a literal dollar sign as `$$`. Sail-managed headers such as `host` and `content-length` cannot be set, and a header name is at most 128 characters.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.3.headers","typeLabel":"object"},"query":{"type":"object","propertyNames":{"minLength":1,"maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$"},"additionalProperties":{"oneOf":[{"type":"string","description":"One string or a nonempty list of strings. Each string is limited to 4096 bytes of UTF-8.","maxLength":4096,"pattern":"^(?:[^$\\r\\n]|\\$\\$|\\$\\{secrets\\.[A-Za-z0-9][A-Za-z0-9_-]{0,127}\\})*$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.3.query.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","maxLength":4096,"pattern":"^(?:[^$\\r\\n]|\\$\\$|\\$\\{secrets\\.[A-Za-z0-9][A-Za-z0-9_-]{0,127}\\})*$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.3.query.additionalProperties.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"One string or a nonempty list of strings. Each string is limited to 4096 bytes of UTF-8.","minItems":1,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.3.query.additionalProperties.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.3.query.additionalProperties","typeLabel":"string | string[]"},"description":"Query parameters to set. Values may include `${secrets.NAME}` for a secret that already exists in your organization. Write a literal dollar sign as `$$`.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.3.query","typeLabel":"object"},"form":{"type":"object","propertyNames":{"minLength":1,"maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$"},"additionalProperties":{"oneOf":[{"type":"string","description":"One string or a nonempty list of strings. Each string is limited to 4096 bytes of UTF-8.","maxLength":4096,"pattern":"^(?:[^$\\r\\n]|\\$\\$|\\$\\{secrets\\.[A-Za-z0-9][A-Za-z0-9_-]{0,127}\\})*$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.3.form.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","maxLength":4096,"pattern":"^(?:[^$\\r\\n]|\\$\\$|\\$\\{secrets\\.[A-Za-z0-9][A-Za-z0-9_-]{0,127}\\})*$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.3.form.additionalProperties.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"One string or a nonempty list of strings. Each string is limited to 4096 bytes of UTF-8.","minItems":1,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.3.form.additionalProperties.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.3.form.additionalProperties","typeLabel":"string | string[]"},"description":"Fields to set in a form-encoded request body. Values may include `${secrets.NAME}`. The request must have a form-encoded body of at most 8 MiB with no Content-Encoding, or it fails with status 502. https://docs.sailresearch.com/reference/egress-policy#request-bodies","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.3.form","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.3","typeLabel":"object"},{"type":"object","description":"Values to replace or create. At least one of `path`, `headers`, `query`, `json`, or `form` must name a target.","required":["form"],"properties":{"form":{"type":"object","description":"Fields to set in a form-encoded request body. Values may include `${secrets.NAME}`. The request must have a form-encoded body of at most 8 MiB with no Content-Encoding, or it fails with status 502. https://docs.sailresearch.com/reference/egress-policy#request-bodies","minProperties":1,"additionalProperties":{"oneOf":[{"type":"string","description":"One string or a nonempty list of strings. Each string is limited to 4096 bytes of UTF-8.","maxLength":4096,"pattern":"^(?:[^$\\r\\n]|\\$\\$|\\$\\{secrets\\.[A-Za-z0-9][A-Za-z0-9_-]{0,127}\\})*$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.4.form.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","maxLength":4096,"pattern":"^(?:[^$\\r\\n]|\\$\\$|\\$\\{secrets\\.[A-Za-z0-9][A-Za-z0-9_-]{0,127}\\})*$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.4.form.additionalProperties.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"One string or a nonempty list of strings. Each string is limited to 4096 bytes of UTF-8.","minItems":1,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.4.form.additionalProperties.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.4.form.additionalProperties","typeLabel":"string | string[]"},"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.4.form","typeLabel":"object"},"path":{"type":"string","maxLength":4096,"pattern":"^/(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","description":"Replacement absolute path. Secret references are not allowed here.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.4.path","typeLabel":"string"},"headers":{"type":"object","propertyNames":{"pattern":"^(?![\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*(?:[Cc][Oo][Nn][Nn][Ee][Cc][Tt][Ii\\u0130][Oo][Nn]|[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Hh][Oo][Ss][Tt]|[Kk\\u212A][Ee][Ee][Pp]-[Aa][Ll][Ii\\u0130][Vv][Ee]|[Pp][Rr][Oo][Xx][Yy]-[Aa][Uu][Tt][Hh][Ee][Nn][Tt][Ii\\u0130][Cc][Aa][Tt][Ee]|[Pp][Rr][Oo][Xx][Yy]-[Aa][Uu][Tt][Hh][Oo][Rr][Ii\\u0130][Zz][Aa][Tt][Ii\\u0130][Oo][Nn]|[Pp][Rr][Oo][Xx][Yy]-[Cc][Oo][Nn][Nn][Ee][Cc][Tt][Ii\\u0130][Oo][Nn]|[Tt][Ee]|[Tt][Rr][Aa][Ii\\u0130][Ll][Ee][Rr]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii\\u0130][Nn][Gg]|[Uu][Pp][Gg][Rr][Aa][Dd][Ee])[\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*$)[\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*[0-9A-Za-z!#$%\u0026'*+\\-.^_`|~\\u0130\\u212A]{1,128}[\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*$"},"additionalProperties":{"oneOf":[{"type":"string","description":"One string or a nonempty list of strings. Each string is limited to 4096 bytes of UTF-8.","maxLength":4096,"pattern":"^(?:[^\\u0000-\\u0008\\u000A-\\u001F\\u007F$]|\\$\\$|\\$\\{secrets\\.[A-Za-z0-9][A-Za-z0-9_-]{0,127}\\})*$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.4.headers.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","maxLength":4096,"pattern":"^(?:[^\\u0000-\\u0008\\u000A-\\u001F\\u007F$]|\\$\\$|\\$\\{secrets\\.[A-Za-z0-9][A-Za-z0-9_-]{0,127}\\})*$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.4.headers.additionalProperties.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"One string or a nonempty list of strings. Each string is limited to 4096 bytes of UTF-8.","minItems":1,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.4.headers.additionalProperties.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.4.headers.additionalProperties","typeLabel":"string | string[]"},"description":"Headers to set. Values may include `${secrets.NAME}` for a secret that already exists in your organization. Write a literal dollar sign as `$$`. Sail-managed headers such as `host` and `content-length` cannot be set, and a header name is at most 128 characters.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.4.headers","typeLabel":"object"},"query":{"type":"object","propertyNames":{"minLength":1,"maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$"},"additionalProperties":{"oneOf":[{"type":"string","description":"One string or a nonempty list of strings. Each string is limited to 4096 bytes of UTF-8.","maxLength":4096,"pattern":"^(?:[^$\\r\\n]|\\$\\$|\\$\\{secrets\\.[A-Za-z0-9][A-Za-z0-9_-]{0,127}\\})*$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.4.query.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","maxLength":4096,"pattern":"^(?:[^$\\r\\n]|\\$\\$|\\$\\{secrets\\.[A-Za-z0-9][A-Za-z0-9_-]{0,127}\\})*$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.4.query.additionalProperties.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"One string or a nonempty list of strings. Each string is limited to 4096 bytes of UTF-8.","minItems":1,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.4.query.additionalProperties.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.4.query.additionalProperties","typeLabel":"string | string[]"},"description":"Query parameters to set. Values may include `${secrets.NAME}` for a secret that already exists in your organization. Write a literal dollar sign as `$$`.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.4.query","typeLabel":"object"},"json":{"type":"object","propertyNames":{"maxLength":4096,"pattern":"^(?:/(?:[^~/]|~[01])*)+$"},"additionalProperties":{"type":"string","maxLength":4096,"pattern":"^(?:[^$\\r\\n]|\\$\\$|\\$\\{secrets\\.[A-Za-z0-9][A-Za-z0-9_-]{0,127}\\})*$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.4.json.additionalProperties","typeLabel":"string"},"description":"String values to set in a JSON request body, keyed by JSON Pointer. Missing parent objects are created. Values may include `${secrets.NAME}`. The request must have a JSON body of at most 8 MiB with no Content-Encoding, or it fails with status 502. https://docs.sailresearch.com/reference/egress-policy#request-bodies","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.4.json","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set.oneOf.4","typeLabel":"object"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.set","typeLabel":"object"},"add":{"oneOf":[{"type":"object","description":"Values to append. Secret references are not allowed here. At least one of the two maps must be nonempty.","required":["headers"],"properties":{"headers":{"type":"object","description":"Headers to append. Sail-managed headers such as `host` and `content-length` cannot be changed, and a header name is at most 128 characters.","minProperties":1,"additionalProperties":{"oneOf":[{"type":"string","description":"One string or a nonempty list of strings. Each string is limited to 4096 bytes of UTF-8.","maxLength":4096,"pattern":"^(?:(?:[^\\u0000-\\u0008\\u000A-\\u001F\\u007F$]|\\$(?!\\{))*|(?:[^\\u0000-\\u0008\\u000A-\\u001F\\u007F$]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.add.oneOf.0.headers.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^\\u0000-\\u0008\\u000A-\\u001F\\u007F$]|\\$(?!\\{))*|(?:[^\\u0000-\\u0008\\u000A-\\u001F\\u007F$]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.add.oneOf.0.headers.additionalProperties.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"One string or a nonempty list of strings. Each string is limited to 4096 bytes of UTF-8.","minItems":1,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.add.oneOf.0.headers.additionalProperties.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.add.oneOf.0.headers.additionalProperties","typeLabel":"string | string[]"},"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.add.oneOf.0.headers","typeLabel":"object"},"query":{"type":"object","propertyNames":{"minLength":1,"maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$"},"additionalProperties":{"oneOf":[{"type":"string","description":"One string or a nonempty list of strings. Each string is limited to 4096 bytes of UTF-8.","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.add.oneOf.0.query.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.add.oneOf.0.query.additionalProperties.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"One string or a nonempty list of strings. Each string is limited to 4096 bytes of UTF-8.","minItems":1,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.add.oneOf.0.query.additionalProperties.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.add.oneOf.0.query.additionalProperties","typeLabel":"string | string[]"},"description":"Query parameters to append.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.add.oneOf.0.query","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.add.oneOf.0","typeLabel":"object"},{"type":"object","description":"Values to append. Secret references are not allowed here. At least one of the two maps must be nonempty.","required":["query"],"properties":{"query":{"type":"object","description":"Query parameters to append.","minProperties":1,"additionalProperties":{"oneOf":[{"type":"string","description":"One string or a nonempty list of strings. Each string is limited to 4096 bytes of UTF-8.","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.add.oneOf.1.query.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.add.oneOf.1.query.additionalProperties.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"One string or a nonempty list of strings. Each string is limited to 4096 bytes of UTF-8.","minItems":1,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.add.oneOf.1.query.additionalProperties.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.add.oneOf.1.query.additionalProperties","typeLabel":"string | string[]"},"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.add.oneOf.1.query","typeLabel":"object"},"headers":{"type":"object","propertyNames":{"pattern":"^(?![\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*(?:[Cc][Oo][Nn][Nn][Ee][Cc][Tt][Ii\\u0130][Oo][Nn]|[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Hh][Oo][Ss][Tt]|[Kk\\u212A][Ee][Ee][Pp]-[Aa][Ll][Ii\\u0130][Vv][Ee]|[Pp][Rr][Oo][Xx][Yy]-[Aa][Uu][Tt][Hh][Ee][Nn][Tt][Ii\\u0130][Cc][Aa][Tt][Ee]|[Pp][Rr][Oo][Xx][Yy]-[Aa][Uu][Tt][Hh][Oo][Rr][Ii\\u0130][Zz][Aa][Tt][Ii\\u0130][Oo][Nn]|[Pp][Rr][Oo][Xx][Yy]-[Cc][Oo][Nn][Nn][Ee][Cc][Tt][Ii\\u0130][Oo][Nn]|[Tt][Ee]|[Tt][Rr][Aa][Ii\\u0130][Ll][Ee][Rr]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii\\u0130][Nn][Gg]|[Uu][Pp][Gg][Rr][Aa][Dd][Ee])[\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*$)[\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*[0-9A-Za-z!#$%\u0026'*+\\-.^_`|~\\u0130\\u212A]{1,128}[\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*$"},"additionalProperties":{"oneOf":[{"type":"string","description":"One string or a nonempty list of strings. Each string is limited to 4096 bytes of UTF-8.","maxLength":4096,"pattern":"^(?:(?:[^\\u0000-\\u0008\\u000A-\\u001F\\u007F$]|\\$(?!\\{))*|(?:[^\\u0000-\\u0008\\u000A-\\u001F\\u007F$]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.add.oneOf.1.headers.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","maxLength":4096,"pattern":"^(?:(?:[^\\u0000-\\u0008\\u000A-\\u001F\\u007F$]|\\$(?!\\{))*|(?:[^\\u0000-\\u0008\\u000A-\\u001F\\u007F$]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.add.oneOf.1.headers.additionalProperties.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"One string or a nonempty list of strings. Each string is limited to 4096 bytes of UTF-8.","minItems":1,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.add.oneOf.1.headers.additionalProperties.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.add.oneOf.1.headers.additionalProperties","typeLabel":"string | string[]"},"description":"Headers to append. Sail-managed headers such as `host` and `content-length` cannot be changed, and a header name is at most 128 characters.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.add.oneOf.1.headers","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.add.oneOf.1","typeLabel":"object"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.add","typeLabel":"object"},"remove":{"oneOf":[{"type":"object","description":"Header and query parameter names to remove. At least one of the two lists must be nonempty.","required":["headers"],"properties":{"headers":{"type":"array","items":{"type":"string","pattern":"^(?![\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*(?:[Cc][Oo][Nn][Nn][Ee][Cc][Tt][Ii\\u0130][Oo][Nn]|[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Hh][Oo][Ss][Tt]|[Kk\\u212A][Ee][Ee][Pp]-[Aa][Ll][Ii\\u0130][Vv][Ee]|[Pp][Rr][Oo][Xx][Yy]-[Aa][Uu][Tt][Hh][Ee][Nn][Tt][Ii\\u0130][Cc][Aa][Tt][Ee]|[Pp][Rr][Oo][Xx][Yy]-[Aa][Uu][Tt][Hh][Oo][Rr][Ii\\u0130][Zz][Aa][Tt][Ii\\u0130][Oo][Nn]|[Pp][Rr][Oo][Xx][Yy]-[Cc][Oo][Nn][Nn][Ee][Cc][Tt][Ii\\u0130][Oo][Nn]|[Tt][Ee]|[Tt][Rr][Aa][Ii\\u0130][Ll][Ee][Rr]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii\\u0130][Nn][Gg]|[Uu][Pp][Gg][Rr][Aa][Dd][Ee])[\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*$)[\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*[0-9A-Za-z!#$%\u0026'*+\\-.^_`|~\\u0130\\u212A]{1,128}[\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.remove.oneOf.0.headers.items.[INDEX]","typeLabel":"string"},"description":"Header names to remove. Sail-managed headers such as `host` and `content-length` cannot be changed, and a header name is at most 128 characters.","minItems":1,"uniqueItems":true,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.remove.oneOf.0.headers","typeLabel":"string[]"},"query":{"type":"array","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.remove.oneOf.0.query.items.[INDEX]","typeLabel":"string"},"description":"Query parameter names to remove.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.remove.oneOf.0.query","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.remove.oneOf.0","typeLabel":"object"},{"type":"object","description":"Header and query parameter names to remove. At least one of the two lists must be nonempty.","required":["query"],"properties":{"query":{"type":"array","items":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.remove.oneOf.1.query.items.[INDEX]","typeLabel":"string"},"description":"Query parameter names to remove.","minItems":1,"uniqueItems":true,"isRequired":true,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.remove.oneOf.1.query","typeLabel":"string[]"},"headers":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^(?![\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*(?:[Cc][Oo][Nn][Nn][Ee][Cc][Tt][Ii\\u0130][Oo][Nn]|[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Hh][Oo][Ss][Tt]|[Kk\\u212A][Ee][Ee][Pp]-[Aa][Ll][Ii\\u0130][Vv][Ee]|[Pp][Rr][Oo][Xx][Yy]-[Aa][Uu][Tt][Hh][Ee][Nn][Tt][Ii\\u0130][Cc][Aa][Tt][Ee]|[Pp][Rr][Oo][Xx][Yy]-[Aa][Uu][Tt][Hh][Oo][Rr][Ii\\u0130][Zz][Aa][Tt][Ii\\u0130][Oo][Nn]|[Pp][Rr][Oo][Xx][Yy]-[Cc][Oo][Nn][Nn][Ee][Cc][Tt][Ii\\u0130][Oo][Nn]|[Tt][Ee]|[Tt][Rr][Aa][Ii\\u0130][Ll][Ee][Rr]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii\\u0130][Nn][Gg]|[Uu][Pp][Gg][Rr][Aa][Dd][Ee])[\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*$)[\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*[0-9A-Za-z!#$%\u0026'*+\\-.^_`|~\\u0130\\u212A]{1,128}[\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.remove.oneOf.1.headers.items.[INDEX]","typeLabel":"string"},"description":"Header names to remove. Sail-managed headers such as `host` and `content-length` cannot be changed, and a header name is at most 128 characters.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.remove.oneOf.1.headers","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.remove.oneOf.1","typeLabel":"object"}],"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.remove","typeLabel":"object"},"replace":{"type":"object","additionalProperties":false,"minProperties":1,"description":"Request fields mapped to the `env` secret whose placeholder they may carry. A field holding exactly that placeholder, or a header holding a scheme and the placeholder, is sent with the secret in its place. https://docs.sailresearch.com/reference/egress-policy#env","properties":{"headers":{"type":"object","propertyNames":{"pattern":"^(?![\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*(?:[Cc][Oo][Nn][Nn][Ee][Cc][Tt][Ii\\u0130][Oo][Nn]|[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Hh][Oo][Ss][Tt]|[Kk\\u212A][Ee][Ee][Pp]-[Aa][Ll][Ii\\u0130][Vv][Ee]|[Pp][Rr][Oo][Xx][Yy]-[Aa][Uu][Tt][Hh][Ee][Nn][Tt][Ii\\u0130][Cc][Aa][Tt][Ee]|[Pp][Rr][Oo][Xx][Yy]-[Aa][Uu][Tt][Hh][Oo][Rr][Ii\\u0130][Zz][Aa][Tt][Ii\\u0130][Oo][Nn]|[Pp][Rr][Oo][Xx][Yy]-[Cc][Oo][Nn][Nn][Ee][Cc][Tt][Ii\\u0130][Oo][Nn]|[Tt][Ee]|[Tt][Rr][Aa][Ii\\u0130][Ll][Ee][Rr]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii\\u0130][Nn][Gg]|[Uu][Pp][Gg][Rr][Aa][Dd][Ee])[\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*$)[\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*[0-9A-Za-z!#$%\u0026'*+\\-.^_`|~\\u0130\\u212A]{1,128}[\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*$"},"additionalProperties":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.replace.headers.additionalProperties","typeLabel":"string"},"description":"Header names.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.replace.headers","typeLabel":"object"},"query":{"type":"object","propertyNames":{"minLength":1,"maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$"},"additionalProperties":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.replace.query.additionalProperties","typeLabel":"string"},"description":"Query parameter names.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.replace.query","typeLabel":"object"},"json":{"type":"object","propertyNames":{"maxLength":4096,"pattern":"^(?:/(?:[^~/]|~[01])*)+$"},"additionalProperties":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.replace.json.additionalProperties","typeLabel":"string"},"description":"JSON Pointers into a JSON request body.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.replace.json","typeLabel":"object"},"form":{"type":"object","propertyNames":{"minLength":1,"maxLength":4096,"pattern":"^(?:(?:[^$]|\\$(?!\\{))*|(?:[^$\\r\\n]|\\$\\$)*)$"},"additionalProperties":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.replace.form.additionalProperties","typeLabel":"string"},"description":"Field names in a form-encoded request body.","uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.replace.form","typeLabel":"object"}},"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request.replace","typeLabel":"object"}},"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX].request","typeLabel":"object"}},"not":{"anyOf":[{"required":["respond","forward"]},{"required":["respond","request"]}]},"uniqueKey":"egress_policy.document.rules.additionalProperties.items.[INDEX]","typeLabel":"object"},"description":"Rules for this host, in the order Sail tests them.","uniqueKey":"egress_policy.document.rules.additionalProperties","typeLabel":"object[]"},"description":"What happens to the HTTPS requests sent to each host: change the request, forward it, or answer it. Leave it out to apply no rules. https://docs.sailresearch.com/reference/egress-policy#rules","uniqueKey":"egress_policy.document.rules","typeLabel":"object"},"missing_alpn":{"type":"object","propertyNames":{"pattern":"^[\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*(?![0-9A-Za-z.\\u0130\\u212A-]{254})[A-Za-z0-9\\u0130\\u212A](?:[A-Za-z0-9\\u0130\\u212A-]{0,61}[A-Za-z0-9\\u0130\\u212A])?(?:\\.[A-Za-z0-9\\u0130\\u212A](?:[A-Za-z0-9\\u0130\\u212A-]{0,61}[A-Za-z0-9\\u0130\\u212A])?)*[\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*$"},"additionalProperties":{"type":"string","enum":["http/1.1"],"uniqueKey":"egress_policy.document.missing_alpn.additionalProperties","typeLabel":"enum\u003cstring>"},"description":"Rarely needed: the HTTP version to assume for an exact host under `rules` when a client on a port other than 443 does not announce one. https://docs.sailresearch.com/reference/egress-policy#missing-alpn","uniqueKey":"egress_policy.document.missing_alpn","typeLabel":"object"},"env":{"type":"object","maxProperties":100,"propertyNames":{"pattern":"^(?![Ss][Aa][Ii][Ll][Bb][Oo][Xx]_)[A-Za-z_][A-Za-z0-9_]{0,127}$"},"additionalProperties":{"oneOf":[{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","uniqueKey":"egress_policy.document.env.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"object","required":["secret"],"properties":{"secret":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","isRequired":true,"uniqueKey":"egress_policy.document.env.additionalProperties.oneOf.1.secret","typeLabel":"string"},"placeholder_prefix":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,16}$","description":"Text the placeholder starts with. Defaults to `sail_ph_`.","uniqueKey":"egress_policy.document.env.additionalProperties.oneOf.1.placeholder_prefix","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.env.additionalProperties.oneOf.1","typeLabel":"object"}],"uniqueKey":"egress_policy.document.env.additionalProperties","typeLabel":"string | object"},"description":"Environment variables every command in the Sailbox gets, each holding a placeholder for the named secret. Every secret here must be named by a `request.replace`, and the reverse. Saved policies only. https://docs.sailresearch.com/reference/egress-policy#env","uniqueKey":"egress_policy.document.env","typeLabel":"object"},"oidc_identity_tokens":{"type":"array","maxItems":10,"items":{"type":"object","additionalProperties":false,"required":["audience","path"],"properties":{"audience":{"type":"string","pattern":"^[!-~]{1,512}$","description":"The token's `aud` claim.","isRequired":true,"uniqueKey":"egress_policy.document.oidc_identity_tokens.items.[INDEX].audience","typeLabel":"string"},"path":{"type":"string","pattern":"^/run/sailbox/oidc/[A-Za-z0-9][A-Za-z0-9._-]{0,63}$","description":"The file in the Sailbox that holds the token. It must be directly in `/run/sailbox/oidc/`, and no two tokens may share it.","isRequired":true,"uniqueKey":"egress_policy.document.oidc_identity_tokens.items.[INDEX].path","typeLabel":"string"}},"uniqueKey":"egress_policy.document.oidc_identity_tokens.items.[INDEX]","typeLabel":"object"},"description":"Identity tokens Sail signs for the Sailbox. Each token is in the file at its `path`, which Sail rewrites before the token expires. Saved policies only. https://docs.sailresearch.com/sailboxes-identity-tokens","uniqueKey":"egress_policy.document.oidc_identity_tokens","typeLabel":"object[]"},"tls_config":{"type":"object","maxProperties":100,"propertyNames":{"pattern":"^[\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*(?:\\*(?:\\.(?![0-9A-Za-z.\\u0130\\u212A-]{254})[A-Za-z0-9\\u0130\\u212A](?:[A-Za-z0-9\\u0130\\u212A-]{0,61}[A-Za-z0-9\\u0130\\u212A])?(?:\\.[A-Za-z0-9\\u0130\\u212A](?:[A-Za-z0-9\\u0130\\u212A-]{0,61}[A-Za-z0-9\\u0130\\u212A])?)*)?|(?![0-9A-Za-z.\\u0130\\u212A-]{254})[A-Za-z0-9\\u0130\\u212A](?:[A-Za-z0-9\\u0130\\u212A-]{0,61}[A-Za-z0-9\\u0130\\u212A])?(?:\\.[A-Za-z0-9\\u0130\\u212A](?:[A-Za-z0-9\\u0130\\u212A-]{0,61}[A-Za-z0-9\\u0130\\u212A])?)*)[\\t-\\r\\u0020\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]*$"},"additionalProperties":{"oneOf":[{"type":"object","description":"How Sail connects to a host over HTTPS.","required":["trusted_cas"],"properties":{"trusted_cas":{"type":"string","description":"PEM CA certificates. Sail trusts only these for the host, in place of the public CAs.","isRequired":true,"uniqueKey":"egress_policy.document.tls_config.additionalProperties.oneOf.0.trusted_cas","typeLabel":"string"},"client_certificate":{"type":"string","description":"PEM client certificate, leaf first, then any intermediates. Sail presents it when the host asks for one.","uniqueKey":"egress_policy.document.tls_config.additionalProperties.oneOf.0.client_certificate","typeLabel":"string"},"client_key":{"type":"string","pattern":"^\\$\\{secrets\\.[A-Za-z0-9][A-Za-z0-9_-]{0,127}\\}$","description":"`${secrets.NAME}`: the secret holding the client certificate's PEM private key.","uniqueKey":"egress_policy.document.tls_config.additionalProperties.oneOf.0.client_key","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.tls_config.additionalProperties.oneOf.0","typeLabel":"object"},{"type":"object","description":"How Sail connects to a host over HTTPS.","required":["client_certificate"],"properties":{"client_certificate":{"type":"string","description":"PEM client certificate, leaf first, then any intermediates. Sail presents it when the host asks for one.","isRequired":true,"uniqueKey":"egress_policy.document.tls_config.additionalProperties.oneOf.1.client_certificate","typeLabel":"string"},"trusted_cas":{"type":"string","description":"PEM CA certificates. Sail trusts only these for the host, in place of the public CAs.","uniqueKey":"egress_policy.document.tls_config.additionalProperties.oneOf.1.trusted_cas","typeLabel":"string"},"client_key":{"type":"string","pattern":"^\\$\\{secrets\\.[A-Za-z0-9][A-Za-z0-9_-]{0,127}\\}$","description":"`${secrets.NAME}`: the secret holding the client certificate's PEM private key.","uniqueKey":"egress_policy.document.tls_config.additionalProperties.oneOf.1.client_key","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"egress_policy.document.tls_config.additionalProperties.oneOf.1","typeLabel":"object"}],"uniqueKey":"egress_policy.document.tls_config.additionalProperties","typeLabel":"object"},"description":"Host patterns, written as under `rules`, mapped to the CAs Sail trusts and the client certificate it presents when connecting to them. https://docs.sailresearch.com/reference/egress-policy#tls-config","uniqueKey":"egress_policy.document.tls_config","typeLabel":"object"}},"description":"The policy document the Sailbox runs under. `{}` when every host is reachable and no rules apply.","isRequired":true,"uniqueKey":"egress_policy.document","typeLabel":"object"}},"required":["policy_id","name","document"],"description":"The egress policy the Sailbox runs under: what it may connect to and what happens to the HTTPS requests it sends. Always present. A Sailbox created without one has the empty document `{}`, which allows every destination and applies no rules.","isRequired":true,"uniqueKey":"egress_policy","typeLabel":"object"},"started_at":{"oneOf":[{"type":"string","description":"When the Sailbox first started running. It is not rewritten when a Sailbox resumes.","format":"date-time","isRequired":true,"uniqueKey":"started_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","description":"When the Sailbox first started running. It is not rewritten when a Sailbox resumes.","isRequired":true,"uniqueKey":"started_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"started_at","typeLabel":"string\u003cdate-time> | null"},"last_checkpointed_at":{"oneOf":[{"type":"string","description":"When the Sailbox last saved its state.","format":"date-time","isRequired":true,"uniqueKey":"last_checkpointed_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","description":"When the Sailbox last saved its state.","isRequired":true,"uniqueKey":"last_checkpointed_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"last_checkpointed_at","typeLabel":"string\u003cdate-time> | null"},"checkpoint_generation":{"type":"integer","description":"Checkpoint counter for the Sailbox. It goes up by one every time the Sailbox saves its state, which includes pausing and sleeping. Compare it across two reads to tell whether the Sailbox saved again in between.","format":"int64","isRequired":true,"uniqueKey":"checkpoint_generation","typeLabel":"integer\u003cint64>"},"expires_at":{"oneOf":[{"type":"string","format":"date-time","description":"The Sailbox's termination deadline, or null for unlimited lifetime. Termination may occur after this time.","isRequired":true,"uniqueKey":"expires_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"The Sailbox's termination deadline, or null for unlimited lifetime. Termination may occur after this time.","isRequired":true,"uniqueKey":"expires_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"expires_at","typeLabel":"string\u003cdate-time> | null"},"created_at":{"type":"string","format":"date-time","description":"When the Sailbox was created.","isRequired":true,"uniqueKey":"created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","description":"When the Sailbox last changed.","isRequired":true,"uniqueKey":"updated_at","typeLabel":"string\u003cdate-time>"},"can_pause":{"type":"boolean","description":"Whether pausing would change this Sailbox now. False once it is paused.","isRequired":true,"uniqueKey":"can_pause","typeLabel":"boolean"},"can_sleep":{"type":"boolean","description":"Whether sleeping would change this Sailbox now. False once it is asleep.","isRequired":true,"uniqueKey":"can_sleep","typeLabel":"boolean"},"can_resume":{"type":"boolean","description":"Whether resuming would change this Sailbox now. False once it is running.","isRequired":true,"uniqueKey":"can_resume","typeLabel":"boolean"},"can_terminate":{"type":"boolean","description":"Whether terminating would change this Sailbox now. False once it is shutting down or gone.","isRequired":true,"uniqueKey":"can_terminate","typeLabel":"boolean"}},"required":["sailbox_id","name","app_id","app_name","image_id","status","architecture","vcpu_count","memory_mib","state_disk_size_gib","size","limits_pending","resize_pending","volume_mounts","cpu_used_vcpu","memory_used_bytes","disk_used_bytes","network_rx_bytes_per_second","network_tx_bytes_per_second","network_rx_packets_per_second","network_tx_packets_per_second","error_message","deprecation","guest_schema_version","created_by_user_id","visibility","auto_sleep","egress_policy","started_at","last_checkpointed_at","checkpoint_generation","expires_at","created_at","updated_at","can_pause","can_sleep","can_resume","can_terminate"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"sailbox_id":"\u003cstring>","name":"\u003cstring>","app_id":"\u003cstring>","app_name":"\u003cstring>","image_id":"\u003cstring>","status":"\u003cstring>","architecture":"\u003cstring>","vcpu_count":123,"memory_mib":123,"state_disk_size_gib":123,"size":"\u003cstring>","limits_pending":true,"resize_pending":true,"volume_mounts":[{"volume_id":"\u003cstring>","mount_path":"\u003cstring>","read_only":true,"cache_seconds":123}],"cpu_used_vcpu":123,"memory_used_bytes":123,"disk_used_bytes":123,"network_rx_bytes_per_second":123,"network_tx_bytes_per_second":123,"network_rx_packets_per_second":123,"network_tx_packets_per_second":123,"error_message":"\u003cstring>","deprecation":{"deadline":"2026-09-01","message":"\u003cstring>"},"guest_schema_version":123,"created_by_user_id":"\u003cstring>","visibility":"\u003cstring>","auto_sleep":{"automatic":true,"min_seconds_before_sleep":30},"egress_policy":{"policy_id":"\u003cstring>","name":"\u003cstring>","document":{"no_network":true,"allowlist":["\u003cstring>"],"blocked":["\u003cstring>"],"rules":{},"missing_alpn":{},"env":{},"oidc_identity_tokens":[{"audience":"\u003cstring>","path":"\u003cstring>"}],"tls_config":{}}},"started_at":"2023-11-07T05:31:56Z","last_checkpointed_at":"2023-11-07T05:31:56Z","checkpoint_generation":123,"expires_at":"2023-11-07T05:31:56Z","created_at":"2023-11-07T05:31:56Z","updated_at":"2023-11-07T05:31:56Z","can_pause":true,"can_sleep":true,"can_resume":true,"can_terminate":true}}},"exampleType":"generated"}},"exampleType":"generated"},"01654f8b-dcf0-48d9-8631-428c11737bc8":{"description":"The request was rejected. See the error message for the offending field.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["message","type","param","code"],"properties":{"message":{"type":"string","description":"Human-readable description of what went wrong.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"type":{"type":"string","description":"Error category: `invalid_request_error`, `authentication_error`, `permission_error`, `billing_error`, `not_found_error`, `conflict_error`, `rate_limit_error`, `quota_exceeded_error`, `not_implemented_error`, or `server_error`.","isRequired":true,"uniqueKey":"error.type","typeLabel":"string"},"param":{"oneOf":[{"type":"string","description":"The request field the error refers to, when the error is about one field.","isRequired":true,"uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","description":"The request field the error refers to, when the error is about one field.","isRequired":true,"uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.param","typeLabel":"string | null"},"code":{"oneOf":[{"type":"string","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.0","typeLabel":"string"},{"type":"integer","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.1","typeLabel":"integer"},{"type":"null","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.2","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.code","typeLabel":"string | integer | null"},"billing_url":{"type":"string","format":"uri","description":"Page where you add credits. Sent with a 402.","uniqueKey":"error.billing_url","typeLabel":"string\u003curi>"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"message":"memory_limit_gib must be between 8 and 256 for 4 vCPUs","type":"invalid_request_error","param":null,"code":null}},"examples":{"Example":{"title":"Example","value":{"error":{"message":"memory_limit_gib must be between 8 and 256 for 4 vCPUs","type":"invalid_request_error","param":null,"code":null}}}},"exampleType":"examples"}},"exampleType":"examples"},"8067fd91-09a6-458d-ae81-ea51b30291f4":{"description":"The API key is missing or invalid.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["message","type","param","code"],"properties":{"message":{"type":"string","description":"Human-readable description of what went wrong.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"type":{"type":"string","description":"Error category: `invalid_request_error`, `authentication_error`, `permission_error`, `billing_error`, `not_found_error`, `conflict_error`, `rate_limit_error`, `quota_exceeded_error`, `not_implemented_error`, or `server_error`.","isRequired":true,"uniqueKey":"error.type","typeLabel":"string"},"param":{"oneOf":[{"type":"string","description":"The request field the error refers to, when the error is about one field.","isRequired":true,"uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","description":"The request field the error refers to, when the error is about one field.","isRequired":true,"uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.param","typeLabel":"string | null"},"code":{"oneOf":[{"type":"string","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.0","typeLabel":"string"},{"type":"integer","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.1","typeLabel":"integer"},{"type":"null","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.2","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.code","typeLabel":"string | integer | null"},"billing_url":{"type":"string","format":"uri","description":"Page where you add credits. Sent with a 402.","uniqueKey":"error.billing_url","typeLabel":"string\u003curi>"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"message":"Invalid API key","type":"authentication_error","param":null,"code":"invalid_api_key"}},"examples":{"Example":{"title":"Example","value":{"error":{"message":"Invalid API key","type":"authentication_error","param":null,"code":"invalid_api_key"}}}},"exampleType":"examples"}},"exampleType":"examples"},"53498bd9-60b1-4dbd-a1b7-10538f8e7fd3":{"description":"The organization is out of credits. The error carries a `billing_url` pointing at the page where you add them. Retry once you have.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["message","type","param","code"],"properties":{"message":{"type":"string","description":"Human-readable description of what went wrong.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"type":{"type":"string","description":"Error category: `invalid_request_error`, `authentication_error`, `permission_error`, `billing_error`, `not_found_error`, `conflict_error`, `rate_limit_error`, `quota_exceeded_error`, `not_implemented_error`, or `server_error`.","isRequired":true,"uniqueKey":"error.type","typeLabel":"string"},"param":{"oneOf":[{"type":"string","description":"The request field the error refers to, when the error is about one field.","isRequired":true,"uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","description":"The request field the error refers to, when the error is about one field.","isRequired":true,"uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.param","typeLabel":"string | null"},"code":{"oneOf":[{"type":"string","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.0","typeLabel":"string"},{"type":"integer","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.1","typeLabel":"integer"},{"type":"null","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.2","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.code","typeLabel":"string | integer | null"},"billing_url":{"type":"string","format":"uri","description":"Page where you add credits. Sent with a 402.","uniqueKey":"error.billing_url","typeLabel":"string\u003curi>"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"message":"Your API key has been disabled due to insufficient credits. Visit https://app.sailresearch.com/billing to add credits.","type":"billing_error","param":null,"code":"credits_exhausted","billing_url":"https://app.sailresearch.com/billing"}},"examples":{"Example":{"title":"Example","value":{"error":{"message":"Your API key has been disabled due to insufficient credits. Visit https://app.sailresearch.com/billing to add credits.","type":"billing_error","param":null,"code":"credits_exhausted","billing_url":"https://app.sailresearch.com/billing"}}}},"exampleType":"examples"}},"exampleType":"examples"},"a0cefbf5-1f8a-42f1-8598-78ae5bcf5843":{"description":"The API key is not allowed to perform this operation.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["message","type","param","code"],"properties":{"message":{"type":"string","description":"Human-readable description of what went wrong.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"type":{"type":"string","description":"Error category: `invalid_request_error`, `authentication_error`, `permission_error`, `billing_error`, `not_found_error`, `conflict_error`, `rate_limit_error`, `quota_exceeded_error`, `not_implemented_error`, or `server_error`.","isRequired":true,"uniqueKey":"error.type","typeLabel":"string"},"param":{"oneOf":[{"type":"string","description":"The request field the error refers to, when the error is about one field.","isRequired":true,"uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","description":"The request field the error refers to, when the error is about one field.","isRequired":true,"uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.param","typeLabel":"string | null"},"code":{"oneOf":[{"type":"string","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.0","typeLabel":"string"},{"type":"integer","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.1","typeLabel":"integer"},{"type":"null","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.2","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.code","typeLabel":"string | integer | null"},"billing_url":{"type":"string","format":"uri","description":"Page where you add credits. Sent with a 402.","uniqueKey":"error.billing_url","typeLabel":"string\u003curi>"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"message":"sailboxes require an organization-scoped API key","type":"permission_error","param":null,"code":null}},"examples":{"Example":{"title":"Example","value":{"error":{"message":"sailboxes require an organization-scoped API key","type":"permission_error","param":null,"code":null}}}},"exampleType":"examples"}},"exampleType":"examples"},"a7d7b002-3315-4046-b85f-18c393298be8":{"description":"No Sailbox with that id exists in your organization.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["message","type","param","code"],"properties":{"message":{"type":"string","description":"Human-readable description of what went wrong.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"type":{"type":"string","description":"Error category: `invalid_request_error`, `authentication_error`, `permission_error`, `billing_error`, `not_found_error`, `conflict_error`, `rate_limit_error`, `quota_exceeded_error`, `not_implemented_error`, or `server_error`.","isRequired":true,"uniqueKey":"error.type","typeLabel":"string"},"param":{"oneOf":[{"type":"string","description":"The request field the error refers to, when the error is about one field.","isRequired":true,"uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","description":"The request field the error refers to, when the error is about one field.","isRequired":true,"uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.param","typeLabel":"string | null"},"code":{"oneOf":[{"type":"string","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.0","typeLabel":"string"},{"type":"integer","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.1","typeLabel":"integer"},{"type":"null","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.2","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.code","typeLabel":"string | integer | null"},"billing_url":{"type":"string","format":"uri","description":"Page where you add credits. Sent with a 402.","uniqueKey":"error.billing_url","typeLabel":"string\u003curi>"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"message":"sailbox \"sb_9c8f1e2a-3b4d-4f5a-8c7e-1d2f3a4b5c6d\" not found","type":"not_found_error","param":null,"code":null}},"examples":{"Example":{"title":"Example","value":{"error":{"message":"sailbox \"sb_9c8f1e2a-3b4d-4f5a-8c7e-1d2f3a4b5c6d\" not found","type":"not_found_error","param":null,"code":null}}}},"exampleType":"examples"}},"exampleType":"examples"},"ed009908-e9cf-45c7-a5ac-eaaae3967a21":{"description":"For its first ten minutes a new organization is capped on how many requests it can have in flight at once, and yours is over that cap. The request never started, so retry it unchanged after the delay in the `Retry-After` header. The limit clears as those requests finish.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["message","type","param","code"],"properties":{"message":{"type":"string","description":"Human-readable description of what went wrong.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"type":{"type":"string","description":"Error category: `invalid_request_error`, `authentication_error`, `permission_error`, `billing_error`, `not_found_error`, `conflict_error`, `rate_limit_error`, `quota_exceeded_error`, `not_implemented_error`, or `server_error`.","isRequired":true,"uniqueKey":"error.type","typeLabel":"string"},"param":{"oneOf":[{"type":"string","description":"The request field the error refers to, when the error is about one field.","isRequired":true,"uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","description":"The request field the error refers to, when the error is about one field.","isRequired":true,"uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.param","typeLabel":"string | null"},"code":{"oneOf":[{"type":"string","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.0","typeLabel":"string"},{"type":"integer","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.1","typeLabel":"integer"},{"type":"null","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.2","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.code","typeLabel":"string | integer | null"},"billing_url":{"type":"string","format":"uri","description":"Page where you add credits. Sent with a 402.","uniqueKey":"error.billing_url","typeLabel":"string\u003curi>"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"message":"Too many concurrent requests. Please retry after some of your organization's in-flight requests complete.","type":"rate_limit_error","param":null,"code":"rate_limited"}},"examples":{"Example":{"title":"Example","value":{"error":{"message":"Too many concurrent requests. Please retry after some of your organization's in-flight requests complete.","type":"rate_limit_error","param":null,"code":"rate_limited"}}}},"exampleType":"examples"}},"headers":{"Retry-After":{"description":"How many seconds to wait before retrying. On a 429 it also means the request never started, so the retry can reuse the same `Idempotency-Key`.","schema":{"type":"integer","minimum":0}}},"exampleType":"examples"},"31ba8e37-1fc7-44d6-a4a8-54e5683be2dd":{"description":"Server error.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["message","type","param","code"],"properties":{"message":{"type":"string","description":"Human-readable description of what went wrong.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"type":{"type":"string","description":"Error category: `invalid_request_error`, `authentication_error`, `permission_error`, `billing_error`, `not_found_error`, `conflict_error`, `rate_limit_error`, `quota_exceeded_error`, `not_implemented_error`, or `server_error`.","isRequired":true,"uniqueKey":"error.type","typeLabel":"string"},"param":{"oneOf":[{"type":"string","description":"The request field the error refers to, when the error is about one field.","isRequired":true,"uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","description":"The request field the error refers to, when the error is about one field.","isRequired":true,"uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.param","typeLabel":"string | null"},"code":{"oneOf":[{"type":"string","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.0","typeLabel":"string"},{"type":"integer","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.1","typeLabel":"integer"},{"type":"null","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.2","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.code","typeLabel":"string | integer | null"},"billing_url":{"type":"string","format":"uri","description":"Page where you add credits. Sent with a 402.","uniqueKey":"error.billing_url","typeLabel":"string\u003curi>"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"message":"failed to fetch sailbox","type":"server_error","param":null,"code":null}},"examples":{"Example":{"title":"Example","value":{"error":{"message":"failed to fetch sailbox","type":"server_error","param":null,"code":null}}}},"exampleType":"examples"}},"exampleType":"examples"},"393ec854-883c-4926-a9ef-74ea1c08f9a3":{"description":"Sail is momentarily unavailable. Retry after the delay in the `Retry-After` header when one is present, and with backoff otherwise.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["message","type","param","code"],"properties":{"message":{"type":"string","description":"Human-readable description of what went wrong.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"type":{"type":"string","description":"Error category: `invalid_request_error`, `authentication_error`, `permission_error`, `billing_error`, `not_found_error`, `conflict_error`, `rate_limit_error`, `quota_exceeded_error`, `not_implemented_error`, or `server_error`.","isRequired":true,"uniqueKey":"error.type","typeLabel":"string"},"param":{"oneOf":[{"type":"string","description":"The request field the error refers to, when the error is about one field.","isRequired":true,"uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","description":"The request field the error refers to, when the error is about one field.","isRequired":true,"uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.param","typeLabel":"string | null"},"code":{"oneOf":[{"type":"string","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.0","typeLabel":"string"},{"type":"integer","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.1","typeLabel":"integer"},{"type":"null","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.2","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.code","typeLabel":"string | integer | null"},"billing_url":{"type":"string","format":"uri","description":"Page where you add credits. Sent with a 402.","uniqueKey":"error.billing_url","typeLabel":"string\u003curi>"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"message":"Authentication service unavailable","type":"server_error","param":null,"code":null}},"examples":{"Example":{"title":"Example","value":{"error":{"message":"Authentication service unavailable","type":"server_error","param":null,"code":null}}}},"exampleType":"examples"}},"headers":{"Retry-After":{"description":"How many seconds to wait before retrying. On a 429 it also means the request never started, so the retry can reuse the same `Idempotency-Key`.","schema":{"type":"integer","minimum":0}}},"exampleType":"examples"}},"security":{"bb4dd6da-eb94-44b9-bdc2-d57f2d651bf0":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API Key","scopes":[],"schemeName":"BearerAuth"}}},"servers":{"ea6a777d-11b2-4262-a9f6-85ca1c08b647":{"url":"https://sailbox-api.sailresearch.com/v1"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"API Key","scopes":[],"schemeName":"BearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"BearerAuth","name":"Authorization"}],"title":"BearerAuth"}]},"originalFileLocation":"sailbox-openapi.json"},"subdomain":"sailresearch","siteName":"Sail Research","title":"Retrieve a Sailbox - Sail Research","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-29T02:21:15.621Z","originalFileLocation":"api-reference/lifecycle/retrieve-a-sailbox.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=\"description\" content=\"Returns one Sailbox, including its latest observed resource usage.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Sail Research\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/sailresearch/BWUDTf48u3tNnszQ/_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/sailresearch/BWUDTf48u3tNnszQ/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/sailresearch/BWUDTf48u3tNnszQ/_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/sailresearch/BWUDTf48u3tNnszQ/_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/sailresearch/BWUDTf48u3tNnszQ/_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/sailresearch/BWUDTf48u3tNnszQ/_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/sailresearch/BWUDTf48u3tNnszQ/_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/sailresearch/BWUDTf48u3tNnszQ/_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/sailresearch/BWUDTf48u3tNnszQ/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Retrieve a Sailbox - Sail Research\">\u003cmeta data-mint-head property=\"og:description\" content=\"Returns one Sailbox, including its latest observed resource usage.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Sail Research\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.sailresearch.com/api-reference/lifecycle/retrieve-a-sailbox\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://sailresearch.mintlify.app/images/og.png\">\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=\"Retrieve a Sailbox - Sail Research\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Returns one Sailbox, including its latest observed resource usage.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://sailresearch.mintlify.app/images/og.png\">\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/sailresearch/BWUDTf48u3tNnszQ/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Sail Research\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2c4681\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.sailresearch.com/api-reference/lifecycle/retrieve-a-sailbox\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/lifecycle/retrieve-a-sailbox.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.sailresearch.com/#organization\",\"name\":\"Sail Research\",\"url\":\"https://docs.sailresearch.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/sailresearch/X8kOeTTR9DVS13DJ/logo/solo.svg?fit=max\u0026auto=format\u0026n=X8kOeTTR9DVS13DJ\u0026q=85\u0026s=45e472c8b5c89f0235ef55e4953f7075\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.sailresearch.com#website\",\"name\":\"Sail Research\",\"url\":\"https://docs.sailresearch.com\",\"publisher\":{\"@id\":\"https://docs.sailresearch.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.sailresearch.com/api-reference/lifecycle/retrieve-a-sailbox#webpage\",\"url\":\"https://docs.sailresearch.com/api-reference/lifecycle/retrieve-a-sailbox\",\"name\":\"Retrieve a Sailbox\",\"description\":\"Returns one Sailbox, including its latest observed resource usage.\",\"dateModified\":\"2026-10-29T02:21:15.621Z\",\"isPartOf\":{\"@id\":\"https://docs.sailresearch.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.sailresearch.com/api-reference/lifecycle/retrieve-a-sailbox#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.sailresearch.com/api-reference/lifecycle/retrieve-a-sailbox#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Sailbox\",\"item\":\"https://docs.sailresearch.com/sailbox-sdk\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"HTTP API\",\"item\":\"https://docs.sailresearch.com/api-reference/identity/whoami\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Lifecycle\",\"item\":\"https://docs.sailresearch.com/api-reference/lifecycle/list-sailboxes\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Retrieve a Sailbox\",\"item\":\"https://docs.sailresearch.com/api-reference/lifecycle/retrieve-a-sailbox\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.sailresearch.com/api-reference/lifecycle/retrieve-a-sailbox#apireference\",\"headline\":\"Retrieve a Sailbox\",\"name\":\"Retrieve a Sailbox\",\"description\":\"Returns one Sailbox, including its latest observed resource usage.\",\"url\":\"https://docs.sailresearch.com/api-reference/lifecycle/retrieve-a-sailbox\",\"mainEntityOfPage\":{\"@id\":\"https://docs.sailresearch.com/api-reference/lifecycle/retrieve-a-sailbox#webpage\"},\"image\":\"https://docs.sailresearch.com/images/og.png\",\"dateModified\":\"2026-10-29T02:21:15.621Z\",\"publisher\":{\"@id\":\"https://docs.sailresearch.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.sailresearch.com#website\"}}]}\u003c/script>","siteName":"Sail Research","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":""}]},{"tab":"Reference","groups":[{"group":"Inference APIs","pages":[{"group":"Models API","pages":[{"title":"List supported models","deprecated":null,"version":null,"openapi":"/openapi.json get /models","href":"/api-reference/models-api/list-supported-models"}]},{"group":"Responses API","pages":[{"title":"Create a response","deprecated":null,"version":null,"openapi":"/openapi.json post /responses","href":"/api-reference/responses-api/create-a-response"},{"title":"Retrieve a response","deprecated":null,"version":null,"openapi":"/openapi.json get /responses/{response_id}","href":"/api-reference/responses-api/retrieve-a-response"}]},{"group":"Chat Completions API","pages":[{"title":"Create a chat completion","deprecated":null,"version":null,"openapi":"/openapi.json post /chat/completions","href":"/api-reference/chat-completions-api/create-a-chat-completion"}]},{"group":"Messages API","pages":[{"title":"Create an Anthropic message","deprecated":null,"version":null,"openapi":"/openapi.json post /messages","href":"/api-reference/messages-api/create-an-anthropic-message"},{"title":"Retrieve a message","deprecated":null,"version":null,"openapi":"/openapi.json get /messages/{messageID}","href":"/api-reference/messages-api/retrieve-a-message"},{"title":"Count tokens for an Anthropic message","deprecated":null,"version":null,"openapi":"/openapi.json post /messages/count_tokens","href":"/api-reference/messages-api/count-tokens-for-an-anthropic-message"}]},{"group":"Batches API","pages":[{"title":"List batches","deprecated":null,"version":null,"openapi":"/openapi.json get /batches","href":"/api-reference/batches-api/list-batches"},{"title":"Create a batch","deprecated":null,"version":null,"openapi":"/openapi.json post /batches","href":"/api-reference/batches-api/create-a-batch"},{"title":"Get batch status and results","deprecated":null,"version":null,"openapi":"/openapi.json get /batches/{batch_id}","href":"/api-reference/batches-api/get-batch-status-and-results"},{"title":"Get batch request result","deprecated":null,"version":null,"openapi":"/openapi.json get /batches/{batch_id}/{custom_id}","href":"/api-reference/batches-api/get-batch-request-result"}]},{"group":"Web Search API","pages":[]}]},{"group":"Usage API","pages":[{"title":"Overview","href":"/usage"},{"title":"Usage API endpoints","href":"/usage-endpoints"}]},{"group":"Sailbox","pages":[{"title":"Sailboxes","href":"/sailbox-sdk"},{"title":"Images \u0026 Functions","href":"/sailbox-sdk-images"},{"title":"Apps","href":"/sailbox-sdk-apps"},{"title":"Egress policy reference","sidebarTitle":"Egress policy","href":"/reference/egress-policy"},{"title":"Errors","href":"/sailbox-sdk-errors"},{"group":"HTTP API","pages":[{"group":"Identity","pages":[{"title":"whoami","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /whoami","href":"/api-reference/identity/whoami"}]},{"group":"Apps","pages":[{"title":"Find or create an app","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /apps/find","href":"/api-reference/apps/find-or-create-an-app"},{"title":"List apps","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /apps","href":"/api-reference/apps/list-apps"}]},{"group":"Secrets","pages":[{"title":"List secrets","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /secrets","href":"/api-reference/secrets/list-secrets"},{"title":"Get a secret","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /secrets/{name}","href":"/api-reference/secrets/get-a-secret"},{"title":"Set a secret","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json put /secrets/{name}","href":"/api-reference/secrets/set-a-secret"},{"title":"Delete a secret","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json delete /secrets/{name}","href":"/api-reference/secrets/delete-a-secret"},{"title":"List policies using a secret","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /secrets/{name}/references","href":"/api-reference/secrets/list-policies-using-a-secret"}]},{"group":"Egress policies","pages":[{"title":"List egress policies","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /egress-policies","href":"/api-reference/egress-policies/list-egress-policies"},{"title":"Create an egress policy","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /egress-policies","href":"/api-reference/egress-policies/create-an-egress-policy"},{"title":"Get an egress policy","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /egress-policies/{policy_id}","href":"/api-reference/egress-policies/get-an-egress-policy"},{"title":"Delete an egress policy","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json delete /egress-policies/{policy_id}","href":"/api-reference/egress-policies/delete-an-egress-policy"},{"title":"Rename an egress policy","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json patch /egress-policies/{policy_id}","href":"/api-reference/egress-policies/rename-an-egress-policy"},{"title":"Get a Sailbox's egress policy","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailboxes/{sailbox_id}/egress-policy","href":"/api-reference/egress-policies/get-a-sailboxs-egress-policy"},{"title":"Set a Sailbox's egress policy","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json put /sailboxes/{sailbox_id}/egress-policy","href":"/api-reference/egress-policies/set-a-sailboxs-egress-policy"}]},{"group":"Lifecycle","pages":[{"title":"List Sailboxes","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailboxes","href":"/api-reference/lifecycle/list-sailboxes"},{"title":"Create a Sailbox","description":"Creates a Sailbox and waits for startup to finish, which can take a few minutes. `image` has to describe an image that is ready to boot: a base image on its own, or one already built from that same spec through an SDK.\n\nSend an `Idempotency-Key` so a network retry replays this answer instead of starting a second Sailbox. A server error can still arrive once the Sailbox exists, so read [Retrying safely](/sailboxes-http-api#retrying-safely) before you retry one.","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes","href":"/api-reference/lifecycle/create-a-sailbox"},{"title":"Retrieve a Sailbox","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailboxes/{sailbox_id}","href":"/api-reference/lifecycle/retrieve-a-sailbox"},{"title":"Pause a Sailbox","description":"Saves the Sailbox's memory and filesystem and stops charging for compute. Published listeners stop answering. Call resume to bring it back with its processes intact. A Sailbox that has an upgrade waiting comes back cold instead, with the disk intact and nothing running. Any Sailbox can come back cold, so write code that expects it.","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes/{sailbox_id}/pause","href":"/api-reference/lifecycle/pause-a-sailbox"},{"title":"Sleep a Sailbox","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes/{sailbox_id}/sleep","href":"/api-reference/lifecycle/sleep-a-sailbox"},{"title":"Resume a Sailbox","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes/{sailbox_id}/resume","href":"/api-reference/lifecycle/resume-a-sailbox"},{"title":"Schedule a wake","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes/{sailbox_id}/wake_at","href":"/api-reference/lifecycle/schedule-a-wake"},{"title":"List cron jobs","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailboxes/{sailbox_id}/cron","href":"/api-reference/lifecycle/list-cron-jobs"},{"title":"Add a cron job","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes/{sailbox_id}/cron","href":"/api-reference/lifecycle/add-a-cron-job"},{"title":"Remove a cron job","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json delete /sailboxes/{sailbox_id}/cron/{cron_job_id}","href":"/api-reference/lifecycle/remove-a-cron-job"},{"title":"Set the automatic-sleep preference","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes/{sailbox_id}/auto_sleep","href":"/api-reference/lifecycle/set-the-automatic-sleep-preference"},{"title":"Change who can operate a Sailbox","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes/{sailbox_id}/visibility","href":"/api-reference/lifecycle/change-who-can-operate-a-sailbox"},{"title":"Upgrade a Sailbox","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes/{sailbox_id}/upgrade","href":"/api-reference/lifecycle/upgrade-a-sailbox"},{"title":"Reboot a Sailbox","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes/{sailbox_id}/reboot","href":"/api-reference/lifecycle/reboot-a-sailbox"},{"title":"Set a Sailbox's limits","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes/{sailbox_id}/set-limits","href":"/api-reference/lifecycle/set-a-sailboxs-limits"},{"title":"Terminate a Sailbox","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes/{sailbox_id}/terminate","href":"/api-reference/lifecycle/terminate-a-sailbox"}]},{"group":"Exec","pages":[{"title":"Snapshot recent executions","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailboxes/{sailbox_id}/executions","href":"/api-reference/exec/snapshot-recent-executions"},{"title":"Snapshot execution output","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailboxes/{sailbox_id}/logs","href":"/api-reference/exec/snapshot-execution-output"},{"title":"Run a command","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes/{sailbox_id}/exec","href":"/api-reference/exec/run-a-command"},{"title":"Wait for an exec","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes/{sailbox_id}/exec/{exec_id}/wait","href":"/api-reference/exec/wait-for-an-exec"},{"title":"Write exec stdin","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json put /sailboxes/{sailbox_id}/exec/{exec_id}/stdin","href":"/api-reference/exec/write-exec-stdin"},{"title":"Stream exec stdin","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailboxes/{sailbox_id}/exec/{exec_id}/stdin/stream","href":"/api-reference/exec/stream-exec-stdin"},{"title":"Cancel an exec","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes/{sailbox_id}/exec/{exec_id}/cancel","href":"/api-reference/exec/cancel-an-exec"},{"title":"Resize an exec PTY","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes/{sailbox_id}/exec/{exec_id}/resize","href":"/api-reference/exec/resize-an-exec-pty"},{"title":"Resync an exec PTY","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes/{sailbox_id}/exec/{exec_id}/resync","href":"/api-reference/exec/resync-an-exec-pty"},{"title":"Set the clipboard","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json put /sailboxes/{sailbox_id}/clipboard","href":"/api-reference/exec/set-the-clipboard"}]},{"group":"Files","pages":[{"title":"Read a file","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailboxes/{sailbox_id}/files","href":"/api-reference/files/read-a-file"},{"title":"Write a file","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json put /sailboxes/{sailbox_id}/files","href":"/api-reference/files/write-a-file"},{"title":"Mint a download URL for a file","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes/{sailbox_id}/files/download-url","href":"/api-reference/files/mint-a-download-url-for-a-file"},{"title":"Fetch a file through its download URL","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailboxes/{sailbox_id}/files/download","href":"/api-reference/files/fetch-a-file-through-its-download-url"},{"title":"Get a download URL's headers","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json head /sailboxes/{sailbox_id}/files/download","href":"/api-reference/files/get-a-download-urls-headers"}]},{"group":"Networking","pages":[{"title":"Tunnel to a port","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailboxes/{sailbox_id}/tunnel","href":"/api-reference/networking/tunnel-to-a-port"},{"title":"List published ports","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailboxes/{sailbox_id}/listeners","href":"/api-reference/networking/list-published-ports"},{"title":"Publish a port","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes/{sailbox_id}/listeners","href":"/api-reference/networking/publish-a-port"},{"title":"Retrieve a published port","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailboxes/{sailbox_id}/listeners/{guest_port}","href":"/api-reference/networking/retrieve-a-published-port"},{"title":"Unpublish a port","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json delete /sailboxes/{sailbox_id}/listeners/{guest_port}","href":"/api-reference/networking/unpublish-a-port"},{"title":"Get custom-domain DNS targets","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /custom-domains","href":"/api-reference/networking/get-custom-domain-dns-targets"},{"title":"List custom domains","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailboxes/{sailbox_id}/domains","href":"/api-reference/networking/list-custom-domains"},{"title":"Add a custom domain","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes/{sailbox_id}/domains","href":"/api-reference/networking/add-a-custom-domain"},{"title":"Remove a custom domain","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json delete /sailboxes/{sailbox_id}/domains/{domain}","href":"/api-reference/networking/remove-a-custom-domain"}]},{"group":"Checkpoints","pages":[{"title":"Checkpoint a Sailbox","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes/{sailbox_id}/checkpoint","href":"/api-reference/checkpoints/checkpoint-a-sailbox"},{"title":"Start a Sailbox from a checkpoint","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes/from_checkpoint","href":"/api-reference/checkpoints/start-a-sailbox-from-a-checkpoint"},{"title":"List checkpoints","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailbox-checkpoints","href":"/api-reference/checkpoints/list-checkpoints"},{"title":"Get a checkpoint","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailbox-checkpoints/{checkpoint_id}","href":"/api-reference/checkpoints/get-a-checkpoint"},{"title":"Delete a checkpoint","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json delete /sailbox-checkpoints/{checkpoint_id}","href":"/api-reference/checkpoints/delete-a-checkpoint"}]},{"group":"Volumes","pages":[{"title":"Mount a volume on a running Sailbox","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json put /sailboxes/{sailbox_id}/volume-mounts","href":"/api-reference/volumes/mount-a-volume-on-a-running-sailbox"},{"title":"List volumes","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailbox-volumes","href":"/api-reference/volumes/list-volumes"},{"title":"Create a volume","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailbox-volumes","href":"/api-reference/volumes/create-a-volume"},{"title":"Delete a volume","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json delete /sailbox-volumes/{volume_id}","href":"/api-reference/volumes/delete-a-volume"},{"title":"Read a file on a volume","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailbox-volumes/{volume_id}/files","href":"/api-reference/volumes/read-a-file-on-a-volume"},{"title":"Write a file on a volume","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json put /sailbox-volumes/{volume_id}/files","href":"/api-reference/volumes/write-a-file-on-a-volume"},{"title":"List a directory on a volume","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailbox-volumes/{volume_id}/directories","href":"/api-reference/volumes/list-a-directory-on-a-volume"},{"title":"Create a directory on a volume","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailbox-volumes/{volume_id}/directories","href":"/api-reference/volumes/create-a-directory-on-a-volume"},{"title":"Look up a path on a volume","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailbox-volumes/{volume_id}/paths","href":"/api-reference/volumes/look-up-a-path-on-a-volume"},{"title":"Move a path within a volume","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailbox-volumes/{volume_id}/paths","href":"/api-reference/volumes/move-a-path-within-a-volume"},{"title":"Remove a path on a volume","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json delete /sailbox-volumes/{volume_id}/paths","href":"/api-reference/volumes/remove-a-path-on-a-volume"},{"title":"Download a directory from a volume","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailbox-volumes/{volume_id}/archives","href":"/api-reference/volumes/download-a-directory-from-a-volume"},{"title":"Upload a directory to a volume","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json put /sailbox-volumes/{volume_id}/archives","href":"/api-reference/volumes/upload-a-directory-to-a-volume"}]},{"group":"SSH access","pages":[{"title":"Get your SSH certificate authority","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /ssh/ca","href":"/api-reference/ssh-access/get-your-ssh-certificate-authority"},{"title":"Issue an SSH certificate","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /ssh/certificate","href":"/api-reference/ssh-access/issue-an-ssh-certificate"}]},{"group":"Usage","pages":[{"title":"Get resource usage over time","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailboxes/{sailbox_id}/metrics","href":"/api-reference/usage/get-resource-usage-over-time"},{"title":"Get Sailbox spend","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailboxes/spend","href":"/api-reference/usage/get-sailbox-spend"}]}]}]},{"group":"Tinker","pages":[{"title":"Tinker","href":"/sdk-tinker"}]},{"group":"SDKs","pages":[{"title":"Python SDK","href":"/reference/python-sdk"},{"title":"TypeScript SDK","href":"/reference/typescript-sdk"},{"title":"Rust SDK","href":"/reference/rust-sdk"},{"title":"Configuration","href":"/reference/sdk-configuration"}]}]}]},"basePath":"","title":"Retrieve a Sailbox - Sail Research","buildId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","deploymentId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C8RPHPxo.js","utils-0BK-9q6z.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DfjzsUJT.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B4v9psJ4.js","snippetPresets-CpTQv-Ez.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-BNP-Fvr0.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BSgu6h1D.js","shallow-Biv1i9Gs.js","getApiPlaygroundDisplay-BoGOXhtF.js","CodeSnippet-DvQoT18_.js","CodeSnippets-Dnpa15xT.js","Page-Buji1S4J.js","getPastedJson-xAIyhUFE.js","icon-S6FBih11.js","MethodPill-SaYeUZyk.js","DuplicateIcon-Cs-p3v2Q.js","createIcon-DjCFEoHq.js","DynamicMarkdown-BcnBltEQ.js","SectionHeading-BUBl0eEF.js","axios-vUo_bRtp.js","Markdown-h4cOoD8d.js","clsx-B2v50t8t.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DJnKvr0g.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BHrrjR1K.js"]}