Xeonr Developer Docs
API SpecificationEgress

CreateEgressPolicy

POST
/containers.api.v1.EgressPolicyService/CreateEgressPolicy

Authorization

BearerAuth
AuthorizationBearer <token>

A namespace-scoped API key (cpk_…) for machines, or a Xeonr Auth OIDC token for humans. The key's namespace and role are pinned server-side.

In: header

Header Parameters

Connect-Protocol-Version*number

Define the version of the Connect protocol

Value in1
Connect-Timeout-Ms?number

Define the timeout, in ms

Request Body

application/json

namespace?string
name?string
policy?

EgressPolicy is the whole point of the platform: programmatic per-job network control. Rendered to a canonical JSON doc, content-hashed, and bound to a job via a short-TTL JWT + source-podIP check (DESIGN §6).

[key: string]?never

Response Body

application/json

application/json

curl -X POST "https://containers.xeonr.io/containers.api.v1.EgressPolicyService/CreateEgressPolicy" \  -H "Connect-Protocol-Version: 1" \  -H "Content-Type: application/json" \  -d '{}'
{
  "policy": {
    "egressPolicyId": "string",
    "namespace": "string",
    "name": "string",
    "policy": {
      "mode": "MODE_UNSPECIFIED",
      "allow": [
        {
          "hostPattern": "string",
          "ports": [
            0
          ],
          "mode": "RULE_MODE_UNSPECIFIED",
          "pathPrefixes": [
            "string"
          ],
          "methods": [
            "string"
          ],
          "maxResponseBytes": 0,
          "allowPlainHttp": true
        }
      ],
      "presets": [
        "string"
      ],
      "allowPlainHttp": true
    },
    "updatedAtUnix": 0
  }
}
{
  "code": "not_found",
  "message": "string",
  "details": [
    {
      "type": "string",
      "value": "string",
      "debug": {}
    }
  ]
}