Download OpenAPI specification:Download
The Pomerium Zero API requires authenticated access for both personal accounts and organizations. To send a valid, authenticated request to the Pomerium Zero API:
/token endpointAuthorization: Bearer {TOKEN} header to authenticate your requestThe user service enables you to manage users and user information within an organization or namespace.
This service also enables you to create API access user accounts and renew API refresh tokens.
Fetch and update currently logged in user information from the identity provider
{- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "email": "user@example.com",
- "displayName": "string",
- "needsOnboarding": true,
- "photoUrl": "string",
- "type": "user_type_interactive",
- "lastLoggedIn": "2019-08-24T14:15:22Z"
}List users
| organizationId required | string ID of organization |
| userType | string (UserType) Enum: "user_type_interactive" "user_type_api_access" Type of user |
[- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "email": "user@example.com",
- "displayName": "string",
- "needsOnboarding": true,
- "photoUrl": "string",
- "type": "user_type_interactive",
- "lastLoggedIn": "2019-08-24T14:15:22Z",
- "organizationRole": "owner"
}
]Create API access user account
| organizationId required | string ID of organization |
| name required | string Freetext user name |
| role | string (OrganizationRole) Enum: "owner" "admin" "auditor" "member" A high level role that describes the level of access a user has to an organization.
|
{- "name": "string",
- "role": "owner"
}{- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "email": "user@example.com",
- "displayName": "string",
- "needsOnboarding": true,
- "photoUrl": "string",
- "type": "user_type_interactive",
- "lastLoggedIn": "2019-08-24T14:15:22Z",
- "refreshToken": "string"
}Renews API user refresh token. The userId must be an API user. Obtaining a new refresh token invalidates any previously issued refresh tokens.
| organizationId required | string ID of organization |
| userId required | string ID of user |
{- "refreshToken": "string"
}The invitation service is where you can view and respond to pending invitations to join a professional type organization.
[- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "invitedBy": {
- "email": "user@example.com",
- "displayName": "string",
- "photoUrl": "string"
}, - "organization": {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "name": "string",
- "logoURL": "string",
- "organizationType": "personal",
- "ownerUserId": "string",
- "role": "owner",
- "joinedAt": "2019-08-24T14:15:22Z",
- "quotas": {
- "administrators": 0,
- "apiUsers": 0,
- "certificates": 0,
- "clusters": 0,
- "customDomains": 0,
- "policies": 0,
- "replicas": 0,
- "routes": 0,
- "serviceAccounts": 0
}, - "readOnly": true
}, - "organizationRole": "owner"
}
]The invite service is where you can manage invitations sent to users to join your organization.
List invites
| organizationId required | string ID of organization |
[- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "email": "user@example.com",
- "role": "owner"
}
]Create invite
| organizationId required | string ID of organization |
| emails required | Array of strings <email> [ items <email > ] |
| role required | string (OrganizationRole) Enum: "owner" "admin" "auditor" "member" A high level role that describes the level of access a user has to an organization.
|
{- "emails": [
- "user@example.com"
], - "role": "owner"
}[- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "email": "user@example.com",
- "role": "owner"
}
]The policy service is where you can manage policies within a namespace in your organization.
You can build a policy by configuring a Pomerium Policy Language (PPL) rule and apply it to a route.
List policies
| organizationId required | string ID of organization |
| namespaceId required | string ID of namespace |
object (FilterForPolicies) Filter for policies | |
| includeDescendants | boolean include resources from descendant namespaces |
| limit | integer limit number of resources returned |
| offset | integer offset of the resources |
| orderBy | Array of strings (ListPoliciesOrderByField) Items Enum: "-assigned" "-cluster" "-id" "-name" "-updatedAt" "assigned" "cluster" "id" "name" "updatedAt" order by for policies |
[- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "namespaceId": "string",
- "name": "string",
- "enforced": true,
- "ppl": {
- "allow": {
- "and": [
- { }
], - "or": [
- { }
], - "not": [
- { }
], - "nor": [
- { }
]
}, - "deny": {
- "and": [
- { }
], - "or": [
- { }
], - "not": [
- { }
], - "nor": [
- { }
]
}
}, - "description": "string",
- "explanation": "string",
- "remediation": "string",
- "routes": [
- {
- "id": "string",
- "name": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "enforcedRoutes": [
- {
- "id": "string",
- "name": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}
]Create policy
| organizationId required | string ID of organization |
| namespaceId required | string |
| name required | string (entityName) [ 1 .. 128 ] characters |
| enforced required | boolean |
required | PPLRule (object) or Array of PPLRule (objects) |
| description required | string |
| explanation required | string |
| remediation required | string |
{- "namespaceId": "string",
- "name": "string",
- "enforced": true,
- "ppl": {
- "allow": {
- "and": [
- { }
], - "or": [
- { }
], - "not": [
- { }
], - "nor": [
- { }
]
}, - "deny": {
- "and": [
- { }
], - "or": [
- { }
], - "not": [
- { }
], - "nor": [
- { }
]
}
}, - "description": "string",
- "explanation": "string",
- "remediation": "string"
}{- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "namespaceId": "string",
- "name": "string",
- "enforced": true,
- "ppl": {
- "allow": {
- "and": [
- { }
], - "or": [
- { }
], - "not": [
- { }
], - "nor": [
- { }
]
}, - "deny": {
- "and": [
- { }
], - "or": [
- { }
], - "not": [
- { }
], - "nor": [
- { }
]
}
}, - "description": "string",
- "explanation": "string",
- "remediation": "string",
- "routes": [
- {
- "id": "string",
- "name": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "enforcedRoutes": [
- {
- "id": "string",
- "name": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}Get policy
| organizationId required | string ID of organization |
| policyId required | string ID of policy |
{- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "namespaceId": "string",
- "name": "string",
- "enforced": true,
- "ppl": {
- "allow": {
- "and": [
- { }
], - "or": [
- { }
], - "not": [
- { }
], - "nor": [
- { }
]
}, - "deny": {
- "and": [
- { }
], - "or": [
- { }
], - "not": [
- { }
], - "nor": [
- { }
]
}
}, - "description": "string",
- "explanation": "string",
- "remediation": "string",
- "routes": [
- {
- "id": "string",
- "name": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "enforcedRoutes": [
- {
- "id": "string",
- "name": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}Update policy
| organizationId required | string ID of organization |
| policyId required | string ID of policy |
| namespaceId required | string |
| name required | string (entityName) [ 1 .. 128 ] characters |
| enforced required | boolean |
required | PPLRule (object) or Array of PPLRule (objects) |
| description required | string |
| explanation required | string |
| remediation required | string |
{- "namespaceId": "string",
- "name": "string",
- "enforced": true,
- "ppl": {
- "allow": {
- "and": [
- { }
], - "or": [
- { }
], - "not": [
- { }
], - "nor": [
- { }
]
}, - "deny": {
- "and": [
- { }
], - "or": [
- { }
], - "not": [
- { }
], - "nor": [
- { }
]
}
}, - "description": "string",
- "explanation": "string",
- "remediation": "string"
}{- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "namespaceId": "string",
- "name": "string",
- "enforced": true,
- "ppl": {
- "allow": {
- "and": [
- { }
], - "or": [
- { }
], - "not": [
- { }
], - "nor": [
- { }
]
}, - "deny": {
- "and": [
- { }
], - "or": [
- { }
], - "not": [
- { }
], - "nor": [
- { }
]
}
}, - "description": "string",
- "explanation": "string",
- "remediation": "string",
- "routes": [
- {
- "id": "string",
- "name": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "enforcedRoutes": [
- {
- "id": "string",
- "name": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}List activity logs
| organizationId required | string ID of organization |
| activityType | string (ActivityType) Enum: "create" "delete" "update" Type of activity |
| changesetId | string id of changeset |
| entityId | string ID of entity |
| entityType | string (EntityType) Enum: "changeset" "custom_domain" "domain" "key_pair" "namespace" "organization" "policy" "route" "settings" "service_account" Type of entity |
object (FilterForActivityLogs) Filter for activity logs | |
| limit | integer limit number of resources returned |
| namespaceId | string ID of namespace |
| offset | integer offset of the resources |
| orderBy | Array of strings (ListActivityLogsOrderByField) Items Enum: "-entity.data.name" "-entity.id" "-entity.type" "-updatedAt" "-user" "entity.data.name" "entity.id" "entity.type" "updatedAt" "user" order by for activity logs |
| userId | string ID of user |
[- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "activityType": "create",
- "applied": {
- "at": "2019-08-24T14:15:22Z",
- "by": {
- "id": "string",
- "email": "user@example.com",
- "displayName": "string",
- "photoUrl": "string"
}, - "changesetId": "string"
}, - "entity": {
- "type": "changeset",
- "id": "string",
- "data": { }
}, - "namespace": {
- "id": "string",
- "name": "string"
}, - "user": {
- "id": "string",
- "email": "user@example.com",
- "displayName": "string",
- "photoUrl": "string"
}
}
]Update settings
| organizationId required | string ID of organization |
| clusterId required | string ID of cluster |
| logLevel required | string Sets the global logging level for Pomerium. Only logs of the desired level and above will be logged. |
| proxyLogLevel | string Sets the logging level for the Pomerium Proxy service access logs. Only logs of the desired level and above will be logged. |
| address required | string <ipport> Specifies the IP Address and Port to serve HTTP requests from. If empty, |
| dnsLookupFamily required | string (DNSLookupFamily) Enum: "V4_ONLY" "V6_ONLY" "V4_PREFERRED" "AUTO" "ALL" Sets the DNS IP address resolution policy. |
| dnsFailureRefreshRate | string (Duration) ^([0-9]+(y|w|d|h|m|s|ms))+$ Sets the rate at which DNS lookups are refreshed when requests are failing. |
| dnsQueryTimeout | string (Duration) ^([0-9]+(y|w|d|h|m|s|ms))+$ Sets the amount of time each name server is given to respond to a query on the first try of any given server. |
| dnsQueryTries | integer <uint32> Sets the maximum number of query attempts the resolver will make before giving up. Each attempt may use a different name server. |
| dnsRefreshRate | string (Duration) ^([0-9]+(y|w|d|h|m|s|ms))+$ Sets the rate at which DNS lookups are refreshed. |
| dnsUdpMaxQueries | integer <uint32> Caps the number of UDP based DNS queries on a single port. |
| dnsUseTcp | |
| httpRedirectAddr | string <ipport> Specifies the IP Address and Port to redirect HTTP to HTTPS traffic on. If unset, no redirect server is started. |
| timeoutRead required | string (Duration) ^([0-9]+(y|w|d|h|m|s|ms))+$ Sets the amount of time for the entire request stream to be received from the client. |
| timeoutWrite required | string (Duration) ^([0-9]+(y|w|d|h|m|s|ms))+$ Sets the max stream duration is the maximum time that a stream’s lifetime will span. |
| timeoutIdle required | string (Duration) ^([0-9]+(y|w|d|h|m|s|ms))+$ Sets the idle timeout is the time at which a downstream or upstream connection will be terminated if there are no active streams. |
| codecType required | string (CodecType) Enum: "" "auto" "http1" "http2" "http3" Sets the codec type. |
| cookieName required | |
| cookieSecret | string Sets the secret used to encrypt and sign session cookies. If you don't provide a cookie secret, Pomerium will generate one for you. |
| cookieDomain | string Sets the scope of session cookies issued by Pomerium. If you specify the domain explicitly, then subdomains would also be included. |
| cookieHttpOnly required | boolean If true, this setting forbids JavaScript from accessing the cookie. |
| cookieExpire required | string (Duration) ^([0-9]+(y|w|d|h|m|s|ms))+$ Sets the lifetime of session cookies. After this interval, users must reauthenticate. |
| cookieSameSite | string Sets the SameSite option for cookies, which determines whether or not a cookie is sent with cross-site requests. |
| certificateAuthorityKeyPairId | string ID of CA's public and private key pair. |
object (StringMap) Specifies a mapping of HTTP Headers added globally to all managed routes and Pomerium's Authenticate Service. | |
object (StringMap) Pass specific user session data to upstream applications as unsigned HTTP request headers. | |
| defaultUpstreamTimeout required | string (Duration) ^([0-9]+(y|w|d|h|m|s|ms))+$ The default timeout applied to a proxied route when no timeout key is specified by the policy. |
| metricsAddress | |
| otelTracesExporter | string The name of the tracing provider. Available options are "none" (default) or "otlp". |
| otelTracesSamplerArg | number <double> Percentage of requests to sample in decimal notation. The default is 1.0, or 100%. |
| otelResourceAttributes | Array of strings (StringList) Key-value pairs to be used as additional resource attributes |
| otelLogLevel | |
| otelAttributeValueLengthLimit | |
| otelExporterOtlpEndpoint | |
| otelExporterOtlpTracesEndpoint | |
| otelExporterOtlpProtocol | |
| otelExporterOtlpTracesProtocol | |
| otelExporterOtlpHeaders | Array of strings (StringList) Key=Value headers to add to all outgoing export requests |
| otelExporterOtlpTracesHeaders | Array of strings (StringList) Key=Value headers to add to all outgoing trace export requests |
| otelExporterOtlpTimeout | string (Duration) ^([0-9]+(y|w|d|h|m|s|ms))+$ The timeout value for all outgoing data (traces, metrics, and logs) |
| otelExporterOtlpTracesTimeout | string (Duration) ^([0-9]+(y|w|d|h|m|s|ms))+$ The timeout value for all outgoing traces |
| otelBspScheduleDelay | string (Duration) ^([0-9]+(y|w|d|h|m|s|ms))+$ The interval at which trace data is exported |
| otelBspMaxExportBatchSize | |
| downstreamMtlsCaKeyPairId | string Key pair ID of the downstream client CA. If set, requires mTLS for incoming requests. |
| googleCloudServerlessAuthenticationServiceAccount | string Specifies the Service Account credentials to support GCP's Authorization Header format. |
| skipXffAppend required | boolean If true, the incoming X-Forwarded-For HTTP header would not be modified. |
| databrokerStorageConnection | |
| accessLogFields | Array of strings (StringList) Controls which fields are included in the access logs. |
| authorizeLogFields | Array of strings (StringList) Controls which fields are included in the authorize logs. |
| passIdentityHeaders required | boolean |
| autoApplyChangesets required | boolean |
| authenticateServiceUrl | string <url> Specifies the URL to use for the authenticate service, if not using the Hosted Authenticate Service. (This URL should resolve to your Pomerium deployment.) |
| identityProvider | string (IdentityProviderType) Enum: "apple" "auth0" "azure" "cognito" "github" "gitlab" "google" "oidc" "okta" "onelogin" "ping" Identity provider type, if not using the Hosted Authenticate Service. |
| identityProviderClientId | string Identity provider client ID, if not using the Hosted Authenticate Service. |
| identityProviderClientSecret | string Identity provider client secret, if not using the Hosted Authenticate Service. |
object (StringMap) Identity provider request params, if not using the Hosted Authenticate Service. | |
| identityProviderScopes | Array of strings (StringList) Identity provider scopes, if not using the Hosted Authenticate Service. |
| identityProviderUrl | string <url> Identity provider URL, if not using the Hosted Authenticate Service. (This is required only for certain identity providers types.) |
| bearerTokenFormat | string (BearerTokenFormat) Enum: "" "default" "idp_access_token" "idp_identity_token" The expected format of bearer tokens |
| idpAccessTokenAllowedAudiences | Array of strings (StringList) Validates the audience claim of an IdP access token. |
object (CircuitBreakerThresholds) Sets the circuit breaker thresholds for a route. | |
| sshAddress | |
| sshHostKeys | |
| sshUserCaKey |
{- "logLevel": "string",
- "proxyLogLevel": "string",
- "address": "string",
- "dnsLookupFamily": "V4_ONLY",
- "dnsFailureRefreshRate": "string",
- "dnsQueryTimeout": "string",
- "dnsQueryTries": 0,
- "dnsRefreshRate": "string",
- "dnsUdpMaxQueries": 0,
- "dnsUseTcp": true,
- "httpRedirectAddr": "string",
- "timeoutRead": "string",
- "timeoutWrite": "string",
- "timeoutIdle": "string",
- "codecType": "",
- "cookieName": "string",
- "cookieSecret": "string",
- "cookieDomain": "string",
- "cookieHttpOnly": true,
- "cookieExpire": "string",
- "cookieSameSite": "string",
- "certificateAuthorityKeyPairId": "string",
- "setResponseHeaders": {
- "property1": "string",
- "property2": "string"
}, - "jwtClaimsHeaders": {
- "property1": "string",
- "property2": "string"
}, - "defaultUpstreamTimeout": "string",
- "metricsAddress": "string",
- "otelTracesExporter": "string",
- "otelTracesSamplerArg": 0.1,
- "otelResourceAttributes": [
- "string"
], - "otelLogLevel": "string",
- "otelAttributeValueLengthLimit": 0,
- "otelExporterOtlpEndpoint": "string",
- "otelExporterOtlpTracesEndpoint": "string",
- "otelExporterOtlpProtocol": "string",
- "otelExporterOtlpTracesProtocol": "string",
- "otelExporterOtlpHeaders": [
- "string"
], - "otelExporterOtlpTracesHeaders": [
- "string"
], - "otelExporterOtlpTimeout": "string",
- "otelExporterOtlpTracesTimeout": "string",
- "otelBspScheduleDelay": "string",
- "otelBspMaxExportBatchSize": 0,
- "downstreamMtlsCaKeyPairId": "string",
- "googleCloudServerlessAuthenticationServiceAccount": "string",
- "skipXffAppend": true,
- "databrokerStorageConnection": "string",
- "accessLogFields": [
- "string"
], - "authorizeLogFields": [
- "string"
], - "passIdentityHeaders": true,
- "autoApplyChangesets": true,
- "authenticateServiceUrl": "string",
- "identityProvider": "apple",
- "identityProviderClientId": "string",
- "identityProviderClientSecret": "string",
- "identityProviderRequestParams": {
- "property1": "string",
- "property2": "string"
}, - "identityProviderScopes": [
- "string"
], - "identityProviderUrl": "string",
- "bearerTokenFormat": "",
- "idpAccessTokenAllowedAudiences": [
- "string"
], - "circuitBreakerThresholds": {
- "maxConnections": 0,
- "maxPendingRequests": 0,
- "maxRequests": 0,
- "maxRetries": 0,
- "maxConnectionPools": 0
}, - "sshAddress": "string",
- "sshHostKeys": [
- "string"
], - "sshUserCaKey": "string"
}{- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "logLevel": "string",
- "proxyLogLevel": "string",
- "address": "string",
- "dnsLookupFamily": "V4_ONLY",
- "dnsFailureRefreshRate": "string",
- "dnsQueryTimeout": "string",
- "dnsQueryTries": 0,
- "dnsRefreshRate": "string",
- "dnsUdpMaxQueries": 0,
- "dnsUseTcp": true,
- "httpRedirectAddr": "string",
- "timeoutRead": "string",
- "timeoutWrite": "string",
- "timeoutIdle": "string",
- "codecType": "",
- "cookieName": "string",
- "cookieSecret": "string",
- "cookieDomain": "string",
- "cookieHttpOnly": true,
- "cookieExpire": "string",
- "cookieSameSite": "string",
- "certificateAuthorityKeyPairId": "string",
- "setResponseHeaders": {
- "property1": "string",
- "property2": "string"
}, - "jwtClaimsHeaders": {
- "property1": "string",
- "property2": "string"
}, - "defaultUpstreamTimeout": "string",
- "metricsAddress": "string",
- "otelTracesExporter": "string",
- "otelTracesSamplerArg": 0.1,
- "otelResourceAttributes": [
- "string"
], - "otelLogLevel": "string",
- "otelAttributeValueLengthLimit": 0,
- "otelExporterOtlpEndpoint": "string",
- "otelExporterOtlpTracesEndpoint": "string",
- "otelExporterOtlpProtocol": "string",
- "otelExporterOtlpTracesProtocol": "string",
- "otelExporterOtlpHeaders": [
- "string"
], - "otelExporterOtlpTracesHeaders": [
- "string"
], - "otelExporterOtlpTimeout": "string",
- "otelExporterOtlpTracesTimeout": "string",
- "otelBspScheduleDelay": "string",
- "otelBspMaxExportBatchSize": 0,
- "downstreamMtlsCaKeyPairId": "string",
- "googleCloudServerlessAuthenticationServiceAccount": "string",
- "skipXffAppend": true,
- "databrokerStorageConnection": "string",
- "accessLogFields": [
- "string"
], - "authorizeLogFields": [
- "string"
], - "passIdentityHeaders": true,
- "autoApplyChangesets": true,
- "authenticateServiceUrl": "string",
- "identityProvider": "apple",
- "identityProviderClientId": "string",
- "identityProviderClientSecret": "string",
- "identityProviderRequestParams": {
- "property1": "string",
- "property2": "string"
}, - "identityProviderScopes": [
- "string"
], - "identityProviderUrl": "string",
- "bearerTokenFormat": "",
- "idpAccessTokenAllowedAudiences": [
- "string"
], - "circuitBreakerThresholds": {
- "maxConnections": 0,
- "maxPendingRequests": 0,
- "maxRequests": 0,
- "maxRetries": 0,
- "maxConnectionPools": 0
}, - "sshAddress": "string",
- "sshHostKeys": [
- "string"
], - "sshUserCaKey": "string"
}Patch settings
| organizationId required | string ID of organization |
| clusterId required | string ID of cluster |
| op required | string Enum: "add" "remove" "replace" "copy" "move" "test" |
| path required | string |
| value | any |
| from | string |
[- {
- "op": "add",
- "path": "string",
- "value": null,
- "from": "string"
}
]{- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "logLevel": "string",
- "proxyLogLevel": "string",
- "address": "string",
- "dnsLookupFamily": "V4_ONLY",
- "dnsFailureRefreshRate": "string",
- "dnsQueryTimeout": "string",
- "dnsQueryTries": 0,
- "dnsRefreshRate": "string",
- "dnsUdpMaxQueries": 0,
- "dnsUseTcp": true,
- "httpRedirectAddr": "string",
- "timeoutRead": "string",
- "timeoutWrite": "string",
- "timeoutIdle": "string",
- "codecType": "",
- "cookieName": "string",
- "cookieSecret": "string",
- "cookieDomain": "string",
- "cookieHttpOnly": true,
- "cookieExpire": "string",
- "cookieSameSite": "string",
- "certificateAuthorityKeyPairId": "string",
- "setResponseHeaders": {
- "property1": "string",
- "property2": "string"
}, - "jwtClaimsHeaders": {
- "property1": "string",
- "property2": "string"
}, - "defaultUpstreamTimeout": "string",
- "metricsAddress": "string",
- "otelTracesExporter": "string",
- "otelTracesSamplerArg": 0.1,
- "otelResourceAttributes": [
- "string"
], - "otelLogLevel": "string",
- "otelAttributeValueLengthLimit": 0,
- "otelExporterOtlpEndpoint": "string",
- "otelExporterOtlpTracesEndpoint": "string",
- "otelExporterOtlpProtocol": "string",
- "otelExporterOtlpTracesProtocol": "string",
- "otelExporterOtlpHeaders": [
- "string"
], - "otelExporterOtlpTracesHeaders": [
- "string"
], - "otelExporterOtlpTimeout": "string",
- "otelExporterOtlpTracesTimeout": "string",
- "otelBspScheduleDelay": "string",
- "otelBspMaxExportBatchSize": 0,
- "downstreamMtlsCaKeyPairId": "string",
- "googleCloudServerlessAuthenticationServiceAccount": "string",
- "skipXffAppend": true,
- "databrokerStorageConnection": "string",
- "accessLogFields": [
- "string"
], - "authorizeLogFields": [
- "string"
], - "passIdentityHeaders": true,
- "autoApplyChangesets": true,
- "authenticateServiceUrl": "string",
- "identityProvider": "apple",
- "identityProviderClientId": "string",
- "identityProviderClientSecret": "string",
- "identityProviderRequestParams": {
- "property1": "string",
- "property2": "string"
}, - "identityProviderScopes": [
- "string"
], - "identityProviderUrl": "string",
- "bearerTokenFormat": "",
- "idpAccessTokenAllowedAudiences": [
- "string"
], - "circuitBreakerThresholds": {
- "maxConnections": 0,
- "maxPendingRequests": 0,
- "maxRequests": 0,
- "maxRetries": 0,
- "maxConnectionPools": 0
}, - "sshAddress": "string",
- "sshHostKeys": [
- "string"
], - "sshUserCaKey": "string"
}The route service is where you can build and manage routes defined in a namespace within your organization.
List routes
| organizationId required | string ID of organization |
| namespaceId required | string ID of namespace |
| includeDescendants | boolean include resources from descendant namespaces |
object (FilterForRoutes) Filter for routes | |
| limit | integer limit number of resources returned |
| offset | integer offset of the resources |
| orderBy | Array of strings (ListRoutesOrderByField) Items Enum: "-assigned" "-from" "-id" "-inherited" "-name" "-path" "-prefix" "-regex" "-to" "-updatedAt" "assigned" "from" "id" "inherited" "name" "path" "prefix" "regex" "to" "updatedAt" order by for routes |
[- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "namespaceId": "string",
- "name": "string",
- "description": "string",
- "logoUrl": "string",
- "from": "string",
- "to": [
- "string"
], - "response": {
- "status": 200,
- "body": "string"
}, - "prefix": "string",
- "path": "string",
- "regex": "string",
- "prefixRewrite": "string",
- "regexRewritePattern": "string",
- "regexRewriteSubstitution": "string",
- "hostRewrite": "string",
- "hostRewriteHeader": "string",
- "hostPathRegexRewritePattern": "string",
- "hostPathRegexRewriteSubstitution": "string",
- "regexPriorityOrder": 0,
- "timeout": "string",
- "idleTimeout": "string",
- "allowWebsockets": true,
- "allowSpdy": true,
- "tlsSkipVerify": true,
- "tlsUpstreamServerName": "string",
- "tlsDownstreamServerName": "string",
- "tlsCustomCaKeyPairId": "string",
- "tlsClientKeyPairId": "string",
- "tlsDownstreamClientCaKeyPairId": "string",
- "tlsUpstreamAllowRenegotiation": true,
- "setRequestHeaders": {
- "property1": "string",
- "property2": "string"
}, - "setResponseHeaders": {
- "property1": "string",
- "property2": "string"
}, - "removeRequestHeaders": [
- "string"
], - "rewriteResponseHeaders": [
- {
- "header": "string",
- "matcher": {
- "prefix": "string"
}, - "value": "string"
}
], - "preserveHostHeader": true,
- "passIdentityHeaders": true,
- "kubernetesServiceAccountToken": "string",
- "redirect": {
- "httpsRedirect": true,
- "schemeRedirect": "string",
- "hostRedirect": "string",
- "portRedirect": 0,
- "pathRedirect": "string",
- "prefixRewrite": "string",
- "responseCode": 0,
- "stripQuery": true
}, - "enableGoogleCloudServerlessAuthentication": true,
- "jwtIssuerFormat": "hostOnly",
- "showErrorDetails": true,
- "healthCheck": {
- "timeout": "string",
- "interval": "string",
- "unhealthyThreshold": 0,
- "healthyThreshold": 0,
- "type": "http",
- "host": "string",
- "path": "string",
- "expectedStatuses": [
- {
- "start": 0,
- "end": 0
}
], - "codecClientType": "http1"
}, - "loadBalancingPolicy": "round_robin",
- "identityProviderClientId": "string",
- "identityProviderClientSecret": "string",
- "policyIds": [
- "string"
], - "bearerTokenFormat": "",
- "idpAccessTokenAllowedAudiences": [
- "string"
], - "dependsOn": [
- "string"
], - "circuitBreakerThresholds": {
- "maxConnections": 0,
- "maxPendingRequests": 0,
- "maxRequests": 0,
- "maxRetries": 0,
- "maxConnectionPools": 0
}, - "mcp": {
- "server": {
- "upstreamOAuth2": {
- "clientId": "string",
- "clientSecret": "string",
- "oauth2Endpoint": {
- "authUrl": "string",
- "tokenUrl": "string",
- "authStyle": "OAUTH2_AUTH_STYLE_UNSPECIFIED"
}, - "scopes": [
- "string"
]
}, - "maxRequestBytes": 0,
- "path": "string"
}, - "client": { }
}, - "healthyPanicThreshold": 100,
- "upstreamTunnel": { },
- "enforcedPolicies": [
- {
- "id": "string",
- "name": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "enforcedPolicyIds": [
- "string"
], - "policies": [
- {
- "id": "string",
- "name": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}
]Create route
| organizationId required | string ID of organization |
| namespaceId required | string |
| name required | string (entityName) [ 1 .. 128 ] characters |
| description | string |
| logoUrl | string |
| from required | string <url> |
| to | Array of strings <url> [ items <url > ] |
object (RouteDirectResponse) | |
| prefix | string |
| path | string |
| regex | string |
| prefixRewrite | string |
| regexRewritePattern | string |
| regexRewriteSubstitution | string |
| hostRewrite | string |
| hostRewriteHeader | string |
| hostPathRegexRewritePattern | string |
| hostPathRegexRewriteSubstitution | string |
| regexPriorityOrder | integer <int64> |
| timeout | string (Duration) ^([0-9]+(y|w|d|h|m|s|ms))+$ |
| idleTimeout | string (Duration) ^([0-9]+(y|w|d|h|m|s|ms))+$ |
| allowWebsockets required | boolean |
| allowSpdy required | boolean |
| tlsSkipVerify required | boolean |
| tlsUpstreamServerName | string |
| tlsDownstreamServerName | string |
| tlsCustomCaKeyPairId | string |
| tlsClientKeyPairId | string |
| tlsDownstreamClientCaKeyPairId | string |
| tlsUpstreamAllowRenegotiation required | boolean |
object (StringMap) | |
object (StringMap) | |
| removeRequestHeaders | Array of strings |
Array of objects (RouteRewriteHeader) | |
| preserveHostHeader required | boolean |
| passIdentityHeaders | boolean |
| kubernetesServiceAccountToken | string |
object (RouteRedirect) | |
| enableGoogleCloudServerlessAuthentication required | boolean |
| jwtIssuerFormat | string (JwtIssuerFormat) Enum: "hostOnly" "uri" |
| showErrorDetails required | boolean |
RouteHttpHealthCheck (object) or RouteTcpHealthCheck (object) or RouteGrpcHealthCheck (object) (RouteHealthCheck) | |
| loadBalancingPolicy | string (RouteLoadBalancingPolicy) Enum: "round_robin" "least_request" "ring_hash" "random" "maglev" |
| identityProviderClientId | string |
| identityProviderClientSecret | string |
| policyIds required | Array of strings |
| bearerTokenFormat | string (BearerTokenFormat) Enum: "" "default" "idp_access_token" "idp_identity_token" The expected format of bearer tokens |
| idpAccessTokenAllowedAudiences | Array of strings (StringList) Validates the audience claim of an IdP access token. |
| dependsOn | Array of strings Additional route domains to redirect through on login. |
object (CircuitBreakerThresholds) Sets the circuit breaker thresholds for a route. | |
(object or null) or (object or null) (MCP) | |
| healthyPanicThreshold | integer <int32> [ 0 .. 100 ] If the number of healthy hosts falls below this percentage, traffic will be balanced among all hosts regardless of health, allowing some requests to fail. 0% disables this behavior. |
| upstreamTunnel | object (UpstreamTunnel) Upstream tunnel configuration for this route |
{- "namespaceId": "string",
- "name": "string",
- "description": "string",
- "logoUrl": "string",
- "from": "string",
- "to": [
- "string"
], - "response": {
- "status": 200,
- "body": "string"
}, - "prefix": "string",
- "path": "string",
- "regex": "string",
- "prefixRewrite": "string",
- "regexRewritePattern": "string",
- "regexRewriteSubstitution": "string",
- "hostRewrite": "string",
- "hostRewriteHeader": "string",
- "hostPathRegexRewritePattern": "string",
- "hostPathRegexRewriteSubstitution": "string",
- "regexPriorityOrder": 0,
- "timeout": "string",
- "idleTimeout": "string",
- "allowWebsockets": true,
- "allowSpdy": true,
- "tlsSkipVerify": true,
- "tlsUpstreamServerName": "string",
- "tlsDownstreamServerName": "string",
- "tlsCustomCaKeyPairId": "string",
- "tlsClientKeyPairId": "string",
- "tlsDownstreamClientCaKeyPairId": "string",
- "tlsUpstreamAllowRenegotiation": true,
- "setRequestHeaders": {
- "property1": "string",
- "property2": "string"
}, - "setResponseHeaders": {
- "property1": "string",
- "property2": "string"
}, - "removeRequestHeaders": [
- "string"
], - "rewriteResponseHeaders": [
- {
- "header": "string",
- "matcher": {
- "prefix": "string"
}, - "value": "string"
}
], - "preserveHostHeader": true,
- "passIdentityHeaders": true,
- "kubernetesServiceAccountToken": "string",
- "redirect": {
- "httpsRedirect": true,
- "schemeRedirect": "string",
- "hostRedirect": "string",
- "portRedirect": 0,
- "pathRedirect": "string",
- "prefixRewrite": "string",
- "responseCode": 0,
- "stripQuery": true
}, - "enableGoogleCloudServerlessAuthentication": true,
- "jwtIssuerFormat": "hostOnly",
- "showErrorDetails": true,
- "healthCheck": {
- "timeout": "string",
- "interval": "string",
- "unhealthyThreshold": 0,
- "healthyThreshold": 0,
- "type": "http",
- "host": "string",
- "path": "string",
- "expectedStatuses": [
- {
- "start": 0,
- "end": 0
}
], - "codecClientType": "http1"
}, - "loadBalancingPolicy": "round_robin",
- "identityProviderClientId": "string",
- "identityProviderClientSecret": "string",
- "policyIds": [
- "string"
], - "bearerTokenFormat": "",
- "idpAccessTokenAllowedAudiences": [
- "string"
], - "dependsOn": [
- "string"
], - "circuitBreakerThresholds": {
- "maxConnections": 0,
- "maxPendingRequests": 0,
- "maxRequests": 0,
- "maxRetries": 0,
- "maxConnectionPools": 0
}, - "mcp": {
- "server": {
- "upstreamOAuth2": {
- "clientId": "string",
- "clientSecret": "string",
- "oauth2Endpoint": {
- "authUrl": "string",
- "tokenUrl": "string",
- "authStyle": "OAUTH2_AUTH_STYLE_UNSPECIFIED"
}, - "scopes": [
- "string"
]
}, - "maxRequestBytes": 0,
- "path": "string"
}, - "client": { }
}, - "healthyPanicThreshold": 100,
- "upstreamTunnel": { }
}{- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "namespaceId": "string",
- "name": "string",
- "description": "string",
- "logoUrl": "string",
- "from": "string",
- "to": [
- "string"
], - "response": {
- "status": 200,
- "body": "string"
}, - "prefix": "string",
- "path": "string",
- "regex": "string",
- "prefixRewrite": "string",
- "regexRewritePattern": "string",
- "regexRewriteSubstitution": "string",
- "hostRewrite": "string",
- "hostRewriteHeader": "string",
- "hostPathRegexRewritePattern": "string",
- "hostPathRegexRewriteSubstitution": "string",
- "regexPriorityOrder": 0,
- "timeout": "string",
- "idleTimeout": "string",
- "allowWebsockets": true,
- "allowSpdy": true,
- "tlsSkipVerify": true,
- "tlsUpstreamServerName": "string",
- "tlsDownstreamServerName": "string",
- "tlsCustomCaKeyPairId": "string",
- "tlsClientKeyPairId": "string",
- "tlsDownstreamClientCaKeyPairId": "string",
- "tlsUpstreamAllowRenegotiation": true,
- "setRequestHeaders": {
- "property1": "string",
- "property2": "string"
}, - "setResponseHeaders": {
- "property1": "string",
- "property2": "string"
}, - "removeRequestHeaders": [
- "string"
], - "rewriteResponseHeaders": [
- {
- "header": "string",
- "matcher": {
- "prefix": "string"
}, - "value": "string"
}
], - "preserveHostHeader": true,
- "passIdentityHeaders": true,
- "kubernetesServiceAccountToken": "string",
- "redirect": {
- "httpsRedirect": true,
- "schemeRedirect": "string",
- "hostRedirect": "string",
- "portRedirect": 0,
- "pathRedirect": "string",
- "prefixRewrite": "string",
- "responseCode": 0,
- "stripQuery": true
}, - "enableGoogleCloudServerlessAuthentication": true,
- "jwtIssuerFormat": "hostOnly",
- "showErrorDetails": true,
- "healthCheck": {
- "timeout": "string",
- "interval": "string",
- "unhealthyThreshold": 0,
- "healthyThreshold": 0,
- "type": "http",
- "host": "string",
- "path": "string",
- "expectedStatuses": [
- {
- "start": 0,
- "end": 0
}
], - "codecClientType": "http1"
}, - "loadBalancingPolicy": "round_robin",
- "identityProviderClientId": "string",
- "identityProviderClientSecret": "string",
- "policyIds": [
- "string"
], - "bearerTokenFormat": "",
- "idpAccessTokenAllowedAudiences": [
- "string"
], - "dependsOn": [
- "string"
], - "circuitBreakerThresholds": {
- "maxConnections": 0,
- "maxPendingRequests": 0,
- "maxRequests": 0,
- "maxRetries": 0,
- "maxConnectionPools": 0
}, - "mcp": {
- "server": {
- "upstreamOAuth2": {
- "clientId": "string",
- "clientSecret": "string",
- "oauth2Endpoint": {
- "authUrl": "string",
- "tokenUrl": "string",
- "authStyle": "OAUTH2_AUTH_STYLE_UNSPECIFIED"
}, - "scopes": [
- "string"
]
}, - "maxRequestBytes": 0,
- "path": "string"
}, - "client": { }
}, - "healthyPanicThreshold": 100,
- "upstreamTunnel": { },
- "enforcedPolicies": [
- {
- "id": "string",
- "name": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "enforcedPolicyIds": [
- "string"
], - "policies": [
- {
- "id": "string",
- "name": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}Get route
| organizationId required | string ID of organization |
| routeId required | string ID of route |
{- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "namespaceId": "string",
- "name": "string",
- "description": "string",
- "logoUrl": "string",
- "from": "string",
- "to": [
- "string"
], - "response": {
- "status": 200,
- "body": "string"
}, - "prefix": "string",
- "path": "string",
- "regex": "string",
- "prefixRewrite": "string",
- "regexRewritePattern": "string",
- "regexRewriteSubstitution": "string",
- "hostRewrite": "string",
- "hostRewriteHeader": "string",
- "hostPathRegexRewritePattern": "string",
- "hostPathRegexRewriteSubstitution": "string",
- "regexPriorityOrder": 0,
- "timeout": "string",
- "idleTimeout": "string",
- "allowWebsockets": true,
- "allowSpdy": true,
- "tlsSkipVerify": true,
- "tlsUpstreamServerName": "string",
- "tlsDownstreamServerName": "string",
- "tlsCustomCaKeyPairId": "string",
- "tlsClientKeyPairId": "string",
- "tlsDownstreamClientCaKeyPairId": "string",
- "tlsUpstreamAllowRenegotiation": true,
- "setRequestHeaders": {
- "property1": "string",
- "property2": "string"
}, - "setResponseHeaders": {
- "property1": "string",
- "property2": "string"
}, - "removeRequestHeaders": [
- "string"
], - "rewriteResponseHeaders": [
- {
- "header": "string",
- "matcher": {
- "prefix": "string"
}, - "value": "string"
}
], - "preserveHostHeader": true,
- "passIdentityHeaders": true,
- "kubernetesServiceAccountToken": "string",
- "redirect": {
- "httpsRedirect": true,
- "schemeRedirect": "string",
- "hostRedirect": "string",
- "portRedirect": 0,
- "pathRedirect": "string",
- "prefixRewrite": "string",
- "responseCode": 0,
- "stripQuery": true
}, - "enableGoogleCloudServerlessAuthentication": true,
- "jwtIssuerFormat": "hostOnly",
- "showErrorDetails": true,
- "healthCheck": {
- "timeout": "string",
- "interval": "string",
- "unhealthyThreshold": 0,
- "healthyThreshold": 0,
- "type": "http",
- "host": "string",
- "path": "string",
- "expectedStatuses": [
- {
- "start": 0,
- "end": 0
}
], - "codecClientType": "http1"
}, - "loadBalancingPolicy": "round_robin",
- "identityProviderClientId": "string",
- "identityProviderClientSecret": "string",
- "policyIds": [
- "string"
], - "bearerTokenFormat": "",
- "idpAccessTokenAllowedAudiences": [
- "string"
], - "dependsOn": [
- "string"
], - "circuitBreakerThresholds": {
- "maxConnections": 0,
- "maxPendingRequests": 0,
- "maxRequests": 0,
- "maxRetries": 0,
- "maxConnectionPools": 0
}, - "mcp": {
- "server": {
- "upstreamOAuth2": {
- "clientId": "string",
- "clientSecret": "string",
- "oauth2Endpoint": {
- "authUrl": "string",
- "tokenUrl": "string",
- "authStyle": "OAUTH2_AUTH_STYLE_UNSPECIFIED"
}, - "scopes": [
- "string"
]
}, - "maxRequestBytes": 0,
- "path": "string"
}, - "client": { }
}, - "healthyPanicThreshold": 100,
- "upstreamTunnel": { },
- "enforcedPolicies": [
- {
- "id": "string",
- "name": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "enforcedPolicyIds": [
- "string"
], - "policies": [
- {
- "id": "string",
- "name": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}Update route
| organizationId required | string ID of organization |
| routeId required | string ID of route |
| namespaceId required | string |
| name required | string (entityName) [ 1 .. 128 ] characters |
| description | string |
| logoUrl | string |
| from required | string <url> |
| to | Array of strings <url> [ items <url > ] |
object (RouteDirectResponse) | |
| prefix | string |
| path | string |
| regex | string |
| prefixRewrite | string |
| regexRewritePattern | string |
| regexRewriteSubstitution | string |
| hostRewrite | string |
| hostRewriteHeader | string |
| hostPathRegexRewritePattern | string |
| hostPathRegexRewriteSubstitution | string |
| regexPriorityOrder | integer <int64> |
| timeout | string (Duration) ^([0-9]+(y|w|d|h|m|s|ms))+$ |
| idleTimeout | string (Duration) ^([0-9]+(y|w|d|h|m|s|ms))+$ |
| allowWebsockets required | boolean |
| allowSpdy required | boolean |
| tlsSkipVerify required | boolean |
| tlsUpstreamServerName | string |
| tlsDownstreamServerName | string |
| tlsCustomCaKeyPairId | string |
| tlsClientKeyPairId | string |
| tlsDownstreamClientCaKeyPairId | string |
| tlsUpstreamAllowRenegotiation required | boolean |
object (StringMap) | |
object (StringMap) | |
| removeRequestHeaders | Array of strings |
Array of objects (RouteRewriteHeader) | |
| preserveHostHeader required | boolean |
| passIdentityHeaders | boolean |
| kubernetesServiceAccountToken | string |
object (RouteRedirect) | |
| enableGoogleCloudServerlessAuthentication required | boolean |
| jwtIssuerFormat | string (JwtIssuerFormat) Enum: "hostOnly" "uri" |
| showErrorDetails required | boolean |
RouteHttpHealthCheck (object) or RouteTcpHealthCheck (object) or RouteGrpcHealthCheck (object) (RouteHealthCheck) | |
| loadBalancingPolicy | string (RouteLoadBalancingPolicy) Enum: "round_robin" "least_request" "ring_hash" "random" "maglev" |
| identityProviderClientId | string |
| identityProviderClientSecret | string |
| policyIds required | Array of strings |
| bearerTokenFormat | string (BearerTokenFormat) Enum: "" "default" "idp_access_token" "idp_identity_token" The expected format of bearer tokens |
| idpAccessTokenAllowedAudiences | Array of strings (StringList) Validates the audience claim of an IdP access token. |
| dependsOn | Array of strings Additional route domains to redirect through on login. |
object (CircuitBreakerThresholds) Sets the circuit breaker thresholds for a route. | |
(object or null) or (object or null) (MCP) | |
| healthyPanicThreshold | integer <int32> [ 0 .. 100 ] If the number of healthy hosts falls below this percentage, traffic will be balanced among all hosts regardless of health, allowing some requests to fail. 0% disables this behavior. |
| upstreamTunnel | object (UpstreamTunnel) Upstream tunnel configuration for this route |
{- "namespaceId": "string",
- "name": "string",
- "description": "string",
- "logoUrl": "string",
- "from": "string",
- "to": [
- "string"
], - "response": {
- "status": 200,
- "body": "string"
}, - "prefix": "string",
- "path": "string",
- "regex": "string",
- "prefixRewrite": "string",
- "regexRewritePattern": "string",
- "regexRewriteSubstitution": "string",
- "hostRewrite": "string",
- "hostRewriteHeader": "string",
- "hostPathRegexRewritePattern": "string",
- "hostPathRegexRewriteSubstitution": "string",
- "regexPriorityOrder": 0,
- "timeout": "string",
- "idleTimeout": "string",
- "allowWebsockets": true,
- "allowSpdy": true,
- "tlsSkipVerify": true,
- "tlsUpstreamServerName": "string",
- "tlsDownstreamServerName": "string",
- "tlsCustomCaKeyPairId": "string",
- "tlsClientKeyPairId": "string",
- "tlsDownstreamClientCaKeyPairId": "string",
- "tlsUpstreamAllowRenegotiation": true,
- "setRequestHeaders": {
- "property1": "string",
- "property2": "string"
}, - "setResponseHeaders": {
- "property1": "string",
- "property2": "string"
}, - "removeRequestHeaders": [
- "string"
], - "rewriteResponseHeaders": [
- {
- "header": "string",
- "matcher": {
- "prefix": "string"
}, - "value": "string"
}
], - "preserveHostHeader": true,
- "passIdentityHeaders": true,
- "kubernetesServiceAccountToken": "string",
- "redirect": {
- "httpsRedirect": true,
- "schemeRedirect": "string",
- "hostRedirect": "string",
- "portRedirect": 0,
- "pathRedirect": "string",
- "prefixRewrite": "string",
- "responseCode": 0,
- "stripQuery": true
}, - "enableGoogleCloudServerlessAuthentication": true,
- "jwtIssuerFormat": "hostOnly",
- "showErrorDetails": true,
- "healthCheck": {
- "timeout": "string",
- "interval": "string",
- "unhealthyThreshold": 0,
- "healthyThreshold": 0,
- "type": "http",
- "host": "string",
- "path": "string",
- "expectedStatuses": [
- {
- "start": 0,
- "end": 0
}
], - "codecClientType": "http1"
}, - "loadBalancingPolicy": "round_robin",
- "identityProviderClientId": "string",
- "identityProviderClientSecret": "string",
- "policyIds": [
- "string"
], - "bearerTokenFormat": "",
- "idpAccessTokenAllowedAudiences": [
- "string"
], - "dependsOn": [
- "string"
], - "circuitBreakerThresholds": {
- "maxConnections": 0,
- "maxPendingRequests": 0,
- "maxRequests": 0,
- "maxRetries": 0,
- "maxConnectionPools": 0
}, - "mcp": {
- "server": {
- "upstreamOAuth2": {
- "clientId": "string",
- "clientSecret": "string",
- "oauth2Endpoint": {
- "authUrl": "string",
- "tokenUrl": "string",
- "authStyle": "OAUTH2_AUTH_STYLE_UNSPECIFIED"
}, - "scopes": [
- "string"
]
}, - "maxRequestBytes": 0,
- "path": "string"
}, - "client": { }
}, - "healthyPanicThreshold": 100,
- "upstreamTunnel": { }
}{- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "namespaceId": "string",
- "name": "string",
- "description": "string",
- "logoUrl": "string",
- "from": "string",
- "to": [
- "string"
], - "response": {
- "status": 200,
- "body": "string"
}, - "prefix": "string",
- "path": "string",
- "regex": "string",
- "prefixRewrite": "string",
- "regexRewritePattern": "string",
- "regexRewriteSubstitution": "string",
- "hostRewrite": "string",
- "hostRewriteHeader": "string",
- "hostPathRegexRewritePattern": "string",
- "hostPathRegexRewriteSubstitution": "string",
- "regexPriorityOrder": 0,
- "timeout": "string",
- "idleTimeout": "string",
- "allowWebsockets": true,
- "allowSpdy": true,
- "tlsSkipVerify": true,
- "tlsUpstreamServerName": "string",
- "tlsDownstreamServerName": "string",
- "tlsCustomCaKeyPairId": "string",
- "tlsClientKeyPairId": "string",
- "tlsDownstreamClientCaKeyPairId": "string",
- "tlsUpstreamAllowRenegotiation": true,
- "setRequestHeaders": {
- "property1": "string",
- "property2": "string"
}, - "setResponseHeaders": {
- "property1": "string",
- "property2": "string"
}, - "removeRequestHeaders": [
- "string"
], - "rewriteResponseHeaders": [
- {
- "header": "string",
- "matcher": {
- "prefix": "string"
}, - "value": "string"
}
], - "preserveHostHeader": true,
- "passIdentityHeaders": true,
- "kubernetesServiceAccountToken": "string",
- "redirect": {
- "httpsRedirect": true,
- "schemeRedirect": "string",
- "hostRedirect": "string",
- "portRedirect": 0,
- "pathRedirect": "string",
- "prefixRewrite": "string",
- "responseCode": 0,
- "stripQuery": true
}, - "enableGoogleCloudServerlessAuthentication": true,
- "jwtIssuerFormat": "hostOnly",
- "showErrorDetails": true,
- "healthCheck": {
- "timeout": "string",
- "interval": "string",
- "unhealthyThreshold": 0,
- "healthyThreshold": 0,
- "type": "http",
- "host": "string",
- "path": "string",
- "expectedStatuses": [
- {
- "start": 0,
- "end": 0
}
], - "codecClientType": "http1"
}, - "loadBalancingPolicy": "round_robin",
- "identityProviderClientId": "string",
- "identityProviderClientSecret": "string",
- "policyIds": [
- "string"
], - "bearerTokenFormat": "",
- "idpAccessTokenAllowedAudiences": [
- "string"
], - "dependsOn": [
- "string"
], - "circuitBreakerThresholds": {
- "maxConnections": 0,
- "maxPendingRequests": 0,
- "maxRequests": 0,
- "maxRetries": 0,
- "maxConnectionPools": 0
}, - "mcp": {
- "server": {
- "upstreamOAuth2": {
- "clientId": "string",
- "clientSecret": "string",
- "oauth2Endpoint": {
- "authUrl": "string",
- "tokenUrl": "string",
- "authStyle": "OAUTH2_AUTH_STYLE_UNSPECIFIED"
}, - "scopes": [
- "string"
]
}, - "maxRequestBytes": 0,
- "path": "string"
}, - "client": { }
}, - "healthyPanicThreshold": 100,
- "upstreamTunnel": { },
- "enforcedPolicies": [
- {
- "id": "string",
- "name": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "enforcedPolicyIds": [
- "string"
], - "policies": [
- {
- "id": "string",
- "name": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}Get certificates that match the given route
| organizationId required | string ID of organization |
| routeId required | string ID of route |
[- {
- "certificateInfo": [
- {
- "version": 0,
- "serial": "string",
- "issuer": {
- "country": [
- "string"
], - "organization": [
- "string"
], - "organizationalUnit": [
- "string"
], - "locality": [
- "string"
], - "province": [
- "string"
], - "streetAddress": [
- "string"
], - "postalCode": [
- "string"
], - "serialNumber": "string",
- "commonName": "string"
}, - "subject": {
- "country": [
- "string"
], - "organization": [
- "string"
], - "organizationalUnit": [
- "string"
], - "locality": [
- "string"
], - "province": [
- "string"
], - "streetAddress": [
- "string"
], - "postalCode": [
- "string"
], - "serialNumber": "string",
- "commonName": "string"
}, - "notBefore": "2019-08-24T14:15:22Z",
- "notAfter": "2019-08-24T14:15:22Z",
- "keyUsage": {
- "digitalSignature": true,
- "contentCommitment": true,
- "keyEncipherment": true,
- "dataEncipherment": true,
- "keyAgreement": true,
- "certSign": true,
- "crlSign": true,
- "encipherOnly": true,
- "decipherOnly": true
}, - "extKeyUsage": {
- "any": true,
- "serverAuth": true,
- "clientAuth": true,
- "codeSigning": true,
- "emailProtection": true,
- "ipsecEndSystem": true,
- "ipsecTunnel": true,
- "ipsecUser": true,
- "timeStamping": true,
- "ocspSigning": true,
- "microsoftServerGatedCrypto": true,
- "netscapeServerGatedCrypto": true,
- "microsoftCommercialCodeSigning": true,
- "microsoftKernelCodeSigning": true
}, - "dnsNames": [
- "string"
], - "emailAddresses": [
- "string"
], - "ipAddresses": [
- "string"
], - "uris": [
- "string"
], - "permittedDnsDomainsCritical": true,
- "permittedDnsDomains": [
- "string"
], - "excludedDnsDomains": [
- "string"
], - "permittedIpRanges": [
- "string"
], - "excludedIpRanges": [
- "string"
], - "permittedEmailAddresses": [
- "string"
], - "excludedEmailAddresses": [
- "string"
], - "permittedUriDomains": [
- "string"
], - "excludedUriDomains": [
- "string"
]
}
], - "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "namespaceId": "string",
- "certificate": "string",
- "name": "string",
- "hasKey": true,
- "origin": "system",
- "status": "pending"
}
]Exchange API refresh token for ID token
| refreshToken required | string API refresh token |
{- "refreshToken": "string"
}{- "idToken": "string",
- "expiresInSeconds": "string"
}The keypair service is where you can manage global- and route-level certificates for your organization.
List key pairs
| organizationId required | string ID of organization |
| namespaceId required | string ID of namespace |
| includeDescendants | boolean include resources from descendant namespaces |
object (FilterForKeyPairs) Filter for key pairs | |
| limit | integer limit number of resources returned |
| offset | integer offset of the resources |
| orderBy | Array of strings (ListKeyPairsOrderByField) Items Enum: "-cluster" "-id" "-issuer" "-name" "-notAfter" "-status" "-subject" "-updatedAt" "cluster" "id" "issuer" "name" "notAfter" "status" "subject" "updatedAt" order by for key pairs |
[- {
- "certificateInfo": [
- {
- "version": 0,
- "serial": "string",
- "issuer": {
- "country": [
- "string"
], - "organization": [
- "string"
], - "organizationalUnit": [
- "string"
], - "locality": [
- "string"
], - "province": [
- "string"
], - "streetAddress": [
- "string"
], - "postalCode": [
- "string"
], - "serialNumber": "string",
- "commonName": "string"
}, - "subject": {
- "country": [
- "string"
], - "organization": [
- "string"
], - "organizationalUnit": [
- "string"
], - "locality": [
- "string"
], - "province": [
- "string"
], - "streetAddress": [
- "string"
], - "postalCode": [
- "string"
], - "serialNumber": "string",
- "commonName": "string"
}, - "notBefore": "2019-08-24T14:15:22Z",
- "notAfter": "2019-08-24T14:15:22Z",
- "keyUsage": {
- "digitalSignature": true,
- "contentCommitment": true,
- "keyEncipherment": true,
- "dataEncipherment": true,
- "keyAgreement": true,
- "certSign": true,
- "crlSign": true,
- "encipherOnly": true,
- "decipherOnly": true
}, - "extKeyUsage": {
- "any": true,
- "serverAuth": true,
- "clientAuth": true,
- "codeSigning": true,
- "emailProtection": true,
- "ipsecEndSystem": true,
- "ipsecTunnel": true,
- "ipsecUser": true,
- "timeStamping": true,
- "ocspSigning": true,
- "microsoftServerGatedCrypto": true,
- "netscapeServerGatedCrypto": true,
- "microsoftCommercialCodeSigning": true,
- "microsoftKernelCodeSigning": true
}, - "dnsNames": [
- "string"
], - "emailAddresses": [
- "string"
], - "ipAddresses": [
- "string"
], - "uris": [
- "string"
], - "permittedDnsDomainsCritical": true,
- "permittedDnsDomains": [
- "string"
], - "excludedDnsDomains": [
- "string"
], - "permittedIpRanges": [
- "string"
], - "excludedIpRanges": [
- "string"
], - "permittedEmailAddresses": [
- "string"
], - "excludedEmailAddresses": [
- "string"
], - "permittedUriDomains": [
- "string"
], - "excludedUriDomains": [
- "string"
]
}
], - "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "namespaceId": "string",
- "certificate": "string",
- "name": "string",
- "hasKey": true,
- "origin": "system",
- "status": "pending"
}
]Create keyPair
| organizationId required | string ID of organization |
| key | string |
| namespaceId required | string |
| certificate | string |
| name | string |
{- "key": "string",
- "namespaceId": "string",
- "certificate": "string",
- "name": "string"
}{- "certificateInfo": [
- {
- "version": 0,
- "serial": "string",
- "issuer": {
- "country": [
- "string"
], - "organization": [
- "string"
], - "organizationalUnit": [
- "string"
], - "locality": [
- "string"
], - "province": [
- "string"
], - "streetAddress": [
- "string"
], - "postalCode": [
- "string"
], - "serialNumber": "string",
- "commonName": "string"
}, - "subject": {
- "country": [
- "string"
], - "organization": [
- "string"
], - "organizationalUnit": [
- "string"
], - "locality": [
- "string"
], - "province": [
- "string"
], - "streetAddress": [
- "string"
], - "postalCode": [
- "string"
], - "serialNumber": "string",
- "commonName": "string"
}, - "notBefore": "2019-08-24T14:15:22Z",
- "notAfter": "2019-08-24T14:15:22Z",
- "keyUsage": {
- "digitalSignature": true,
- "contentCommitment": true,
- "keyEncipherment": true,
- "dataEncipherment": true,
- "keyAgreement": true,
- "certSign": true,
- "crlSign": true,
- "encipherOnly": true,
- "decipherOnly": true
}, - "extKeyUsage": {
- "any": true,
- "serverAuth": true,
- "clientAuth": true,
- "codeSigning": true,
- "emailProtection": true,
- "ipsecEndSystem": true,
- "ipsecTunnel": true,
- "ipsecUser": true,
- "timeStamping": true,
- "ocspSigning": true,
- "microsoftServerGatedCrypto": true,
- "netscapeServerGatedCrypto": true,
- "microsoftCommercialCodeSigning": true,
- "microsoftKernelCodeSigning": true
}, - "dnsNames": [
- "string"
], - "emailAddresses": [
- "string"
], - "ipAddresses": [
- "string"
], - "uris": [
- "string"
], - "permittedDnsDomainsCritical": true,
- "permittedDnsDomains": [
- "string"
], - "excludedDnsDomains": [
- "string"
], - "permittedIpRanges": [
- "string"
], - "excludedIpRanges": [
- "string"
], - "permittedEmailAddresses": [
- "string"
], - "excludedEmailAddresses": [
- "string"
], - "permittedUriDomains": [
- "string"
], - "excludedUriDomains": [
- "string"
]
}
], - "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "namespaceId": "string",
- "certificate": "string",
- "name": "string",
- "hasKey": true,
- "origin": "system",
- "status": "pending"
}Get keyPair
| organizationId required | string ID of organization |
| keyPairId required | string ID of namespace |
{- "certificateInfo": [
- {
- "version": 0,
- "serial": "string",
- "issuer": {
- "country": [
- "string"
], - "organization": [
- "string"
], - "organizationalUnit": [
- "string"
], - "locality": [
- "string"
], - "province": [
- "string"
], - "streetAddress": [
- "string"
], - "postalCode": [
- "string"
], - "serialNumber": "string",
- "commonName": "string"
}, - "subject": {
- "country": [
- "string"
], - "organization": [
- "string"
], - "organizationalUnit": [
- "string"
], - "locality": [
- "string"
], - "province": [
- "string"
], - "streetAddress": [
- "string"
], - "postalCode": [
- "string"
], - "serialNumber": "string",
- "commonName": "string"
}, - "notBefore": "2019-08-24T14:15:22Z",
- "notAfter": "2019-08-24T14:15:22Z",
- "keyUsage": {
- "digitalSignature": true,
- "contentCommitment": true,
- "keyEncipherment": true,
- "dataEncipherment": true,
- "keyAgreement": true,
- "certSign": true,
- "crlSign": true,
- "encipherOnly": true,
- "decipherOnly": true
}, - "extKeyUsage": {
- "any": true,
- "serverAuth": true,
- "clientAuth": true,
- "codeSigning": true,
- "emailProtection": true,
- "ipsecEndSystem": true,
- "ipsecTunnel": true,
- "ipsecUser": true,
- "timeStamping": true,
- "ocspSigning": true,
- "microsoftServerGatedCrypto": true,
- "netscapeServerGatedCrypto": true,
- "microsoftCommercialCodeSigning": true,
- "microsoftKernelCodeSigning": true
}, - "dnsNames": [
- "string"
], - "emailAddresses": [
- "string"
], - "ipAddresses": [
- "string"
], - "uris": [
- "string"
], - "permittedDnsDomainsCritical": true,
- "permittedDnsDomains": [
- "string"
], - "excludedDnsDomains": [
- "string"
], - "permittedIpRanges": [
- "string"
], - "excludedIpRanges": [
- "string"
], - "permittedEmailAddresses": [
- "string"
], - "excludedEmailAddresses": [
- "string"
], - "permittedUriDomains": [
- "string"
], - "excludedUriDomains": [
- "string"
]
}
], - "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "namespaceId": "string",
- "certificate": "string",
- "name": "string",
- "hasKey": true,
- "origin": "system",
- "status": "pending"
}Update keyPair. If the certificate and/or key is not set the existing certificate and/or key will be preserved.
| organizationId required | string ID of organization |
| keyPairId required | string ID of namespace |
| key | string |
| namespaceId required | string |
| certificate | string |
| name | string |
{- "key": "string",
- "namespaceId": "string",
- "certificate": "string",
- "name": "string"
}{- "certificateInfo": [
- {
- "version": 0,
- "serial": "string",
- "issuer": {
- "country": [
- "string"
], - "organization": [
- "string"
], - "organizationalUnit": [
- "string"
], - "locality": [
- "string"
], - "province": [
- "string"
], - "streetAddress": [
- "string"
], - "postalCode": [
- "string"
], - "serialNumber": "string",
- "commonName": "string"
}, - "subject": {
- "country": [
- "string"
], - "organization": [
- "string"
], - "organizationalUnit": [
- "string"
], - "locality": [
- "string"
], - "province": [
- "string"
], - "streetAddress": [
- "string"
], - "postalCode": [
- "string"
], - "serialNumber": "string",
- "commonName": "string"
}, - "notBefore": "2019-08-24T14:15:22Z",
- "notAfter": "2019-08-24T14:15:22Z",
- "keyUsage": {
- "digitalSignature": true,
- "contentCommitment": true,
- "keyEncipherment": true,
- "dataEncipherment": true,
- "keyAgreement": true,
- "certSign": true,
- "crlSign": true,
- "encipherOnly": true,
- "decipherOnly": true
}, - "extKeyUsage": {
- "any": true,
- "serverAuth": true,
- "clientAuth": true,
- "codeSigning": true,
- "emailProtection": true,
- "ipsecEndSystem": true,
- "ipsecTunnel": true,
- "ipsecUser": true,
- "timeStamping": true,
- "ocspSigning": true,
- "microsoftServerGatedCrypto": true,
- "netscapeServerGatedCrypto": true,
- "microsoftCommercialCodeSigning": true,
- "microsoftKernelCodeSigning": true
}, - "dnsNames": [
- "string"
], - "emailAddresses": [
- "string"
], - "ipAddresses": [
- "string"
], - "uris": [
- "string"
], - "permittedDnsDomainsCritical": true,
- "permittedDnsDomains": [
- "string"
], - "excludedDnsDomains": [
- "string"
], - "permittedIpRanges": [
- "string"
], - "excludedIpRanges": [
- "string"
], - "permittedEmailAddresses": [
- "string"
], - "excludedEmailAddresses": [
- "string"
], - "permittedUriDomains": [
- "string"
], - "excludedUriDomains": [
- "string"
]
}
], - "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "namespaceId": "string",
- "certificate": "string",
- "name": "string",
- "hasKey": true,
- "origin": "system",
- "status": "pending"
}List namespaces
| organizationId required | string ID of organization |
[- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "parentId": "string",
- "name": "string",
- "type": "cluster",
- "role": "admin"
}
]The changeset service is where you can list, get, and apply changesets within a cluster or namespace.
List changesets
| organizationId required | string ID of organization |
| status | string (ChangesetStatus) Enum: "pending" "applying" "applied" "failed" "current" "rejected" status of changeset |
| clusterId | string ID of cluster |
object (FilterForChangesets) Filter for changesets | |
| limit | integer limit number of resources returned |
| offset | integer offset of the resources |
| orderBy | Array of strings (ListChangesetsOrderByField) Items Enum: "-cluster" "-createdAt" "-failureMessage" "-id" "-status" "-updatedAt" "cluster" "createdAt" "failureMessage" "id" "status" "updatedAt" order by for changesets |
[- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "failureMessage": "string",
- "namespaceId": "string",
- "status": "pending"
}
]Compare changesets
| organizationId required | string ID of organization |
| clusterId required | string ID of cluster |
| firstId | string id of the first changeset to compare |
| secondId | string id of the second changeset to compare |
{- "startChangeset": {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "failureMessage": "string",
- "namespaceId": "string",
- "status": "pending"
}, - "endChangeset": {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "failureMessage": "string",
- "namespaceId": "string",
- "status": "pending"
}, - "entities": [
- [
- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "activityType": "create",
- "applied": {
- "at": "2019-08-24T14:15:22Z",
- "by": {
- "id": "string",
- "email": "user@example.com",
- "displayName": "string",
- "photoUrl": "string"
}, - "changesetId": "string"
}, - "entity": {
- "type": "changeset",
- "id": "string",
- "data": { }
}, - "namespace": {
- "id": "string",
- "name": "string"
}, - "user": {
- "id": "string",
- "email": "user@example.com",
- "displayName": "string",
- "photoUrl": "string"
}
}
]
]
}Apply changeset
| organizationId required | string ID of organization |
| changesetId required | string ID of changeset |
{- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "failureMessage": "string",
- "namespaceId": "string",
- "status": "pending"
}Update settings
| organizationId required | string ID of organization |
| clusterId required | string ID of cluster |
| logLevel required | string Sets the global logging level for Pomerium. Only logs of the desired level and above will be logged. |
| proxyLogLevel | string Sets the logging level for the Pomerium Proxy service access logs. Only logs of the desired level and above will be logged. |
| address required | string <ipport> Specifies the IP Address and Port to serve HTTP requests from. If empty, |
| dnsLookupFamily required | string (DNSLookupFamily) Enum: "V4_ONLY" "V6_ONLY" "V4_PREFERRED" "AUTO" "ALL" Sets the DNS IP address resolution policy. |
| dnsFailureRefreshRate | string (Duration) ^([0-9]+(y|w|d|h|m|s|ms))+$ Sets the rate at which DNS lookups are refreshed when requests are failing. |
| dnsQueryTimeout | string (Duration) ^([0-9]+(y|w|d|h|m|s|ms))+$ Sets the amount of time each name server is given to respond to a query on the first try of any given server. |
| dnsQueryTries | integer <uint32> Sets the maximum number of query attempts the resolver will make before giving up. Each attempt may use a different name server. |
| dnsRefreshRate | string (Duration) ^([0-9]+(y|w|d|h|m|s|ms))+$ Sets the rate at which DNS lookups are refreshed. |
| dnsUdpMaxQueries | integer <uint32> Caps the number of UDP based DNS queries on a single port. |
| dnsUseTcp | |
| httpRedirectAddr | string <ipport> Specifies the IP Address and Port to redirect HTTP to HTTPS traffic on. If unset, no redirect server is started. |
| timeoutRead required | string (Duration) ^([0-9]+(y|w|d|h|m|s|ms))+$ Sets the amount of time for the entire request stream to be received from the client. |
| timeoutWrite required | string (Duration) ^([0-9]+(y|w|d|h|m|s|ms))+$ Sets the max stream duration is the maximum time that a stream’s lifetime will span. |
| timeoutIdle required | string (Duration) ^([0-9]+(y|w|d|h|m|s|ms))+$ Sets the idle timeout is the time at which a downstream or upstream connection will be terminated if there are no active streams. |
| codecType required | string (CodecType) Enum: "" "auto" "http1" "http2" "http3" Sets the codec type. |
| cookieName required | |
| cookieSecret | string Sets the secret used to encrypt and sign session cookies. If you don't provide a cookie secret, Pomerium will generate one for you. |
| cookieDomain | string Sets the scope of session cookies issued by Pomerium. If you specify the domain explicitly, then subdomains would also be included. |
| cookieHttpOnly required | boolean If true, this setting forbids JavaScript from accessing the cookie. |
| cookieExpire required | string (Duration) ^([0-9]+(y|w|d|h|m|s|ms))+$ Sets the lifetime of session cookies. After this interval, users must reauthenticate. |
| cookieSameSite | string Sets the SameSite option for cookies, which determines whether or not a cookie is sent with cross-site requests. |
| certificateAuthorityKeyPairId | string ID of CA's public and private key pair. |
object (StringMap) Specifies a mapping of HTTP Headers added globally to all managed routes and Pomerium's Authenticate Service. | |
object (StringMap) Pass specific user session data to upstream applications as unsigned HTTP request headers. | |
| defaultUpstreamTimeout required | string (Duration) ^([0-9]+(y|w|d|h|m|s|ms))+$ The default timeout applied to a proxied route when no timeout key is specified by the policy. |
| metricsAddress | |
| otelTracesExporter | string The name of the tracing provider. Available options are "none" (default) or "otlp". |
| otelTracesSamplerArg | number <double> Percentage of requests to sample in decimal notation. The default is 1.0, or 100%. |
| otelResourceAttributes | Array of strings (StringList) Key-value pairs to be used as additional resource attributes |
| otelLogLevel | |
| otelAttributeValueLengthLimit | |
| otelExporterOtlpEndpoint | |
| otelExporterOtlpTracesEndpoint | |
| otelExporterOtlpProtocol | |
| otelExporterOtlpTracesProtocol | |
| otelExporterOtlpHeaders | Array of strings (StringList) Key=Value headers to add to all outgoing export requests |
| otelExporterOtlpTracesHeaders | Array of strings (StringList) Key=Value headers to add to all outgoing trace export requests |
| otelExporterOtlpTimeout | string (Duration) ^([0-9]+(y|w|d|h|m|s|ms))+$ The timeout value for all outgoing data (traces, metrics, and logs) |
| otelExporterOtlpTracesTimeout | string (Duration) ^([0-9]+(y|w|d|h|m|s|ms))+$ The timeout value for all outgoing traces |
| otelBspScheduleDelay | string (Duration) ^([0-9]+(y|w|d|h|m|s|ms))+$ The interval at which trace data is exported |
| otelBspMaxExportBatchSize | |
| downstreamMtlsCaKeyPairId | string Key pair ID of the downstream client CA. If set, requires mTLS for incoming requests. |
| googleCloudServerlessAuthenticationServiceAccount | string Specifies the Service Account credentials to support GCP's Authorization Header format. |
| skipXffAppend required | boolean If true, the incoming X-Forwarded-For HTTP header would not be modified. |
| databrokerStorageConnection | |
| accessLogFields | Array of strings (StringList) Controls which fields are included in the access logs. |
| authorizeLogFields | Array of strings (StringList) Controls which fields are included in the authorize logs. |
| passIdentityHeaders required | boolean |
| autoApplyChangesets required | boolean |
| authenticateServiceUrl | string <url> Specifies the URL to use for the authenticate service, if not using the Hosted Authenticate Service. (This URL should resolve to your Pomerium deployment.) |
| identityProvider | string (IdentityProviderType) Enum: "apple" "auth0" "azure" "cognito" "github" "gitlab" "google" "oidc" "okta" "onelogin" "ping" Identity provider type, if not using the Hosted Authenticate Service. |
| identityProviderClientId | string Identity provider client ID, if not using the Hosted Authenticate Service. |
| identityProviderClientSecret | string Identity provider client secret, if not using the Hosted Authenticate Service. |
object (StringMap) Identity provider request params, if not using the Hosted Authenticate Service. | |
| identityProviderScopes | Array of strings (StringList) Identity provider scopes, if not using the Hosted Authenticate Service. |
| identityProviderUrl | string <url> Identity provider URL, if not using the Hosted Authenticate Service. (This is required only for certain identity providers types.) |
| bearerTokenFormat | string (BearerTokenFormat) Enum: "" "default" "idp_access_token" "idp_identity_token" The expected format of bearer tokens |
| idpAccessTokenAllowedAudiences | Array of strings (StringList) Validates the audience claim of an IdP access token. |
object (CircuitBreakerThresholds) Sets the circuit breaker thresholds for a route. | |
| sshAddress | |
| sshHostKeys | |
| sshUserCaKey |
{- "logLevel": "string",
- "proxyLogLevel": "string",
- "address": "string",
- "dnsLookupFamily": "V4_ONLY",
- "dnsFailureRefreshRate": "string",
- "dnsQueryTimeout": "string",
- "dnsQueryTries": 0,
- "dnsRefreshRate": "string",
- "dnsUdpMaxQueries": 0,
- "dnsUseTcp": true,
- "httpRedirectAddr": "string",
- "timeoutRead": "string",
- "timeoutWrite": "string",
- "timeoutIdle": "string",
- "codecType": "",
- "cookieName": "string",
- "cookieSecret": "string",
- "cookieDomain": "string",
- "cookieHttpOnly": true,
- "cookieExpire": "string",
- "cookieSameSite": "string",
- "certificateAuthorityKeyPairId": "string",
- "setResponseHeaders": {
- "property1": "string",
- "property2": "string"
}, - "jwtClaimsHeaders": {
- "property1": "string",
- "property2": "string"
}, - "defaultUpstreamTimeout": "string",
- "metricsAddress": "string",
- "otelTracesExporter": "string",
- "otelTracesSamplerArg": 0.1,
- "otelResourceAttributes": [
- "string"
], - "otelLogLevel": "string",
- "otelAttributeValueLengthLimit": 0,
- "otelExporterOtlpEndpoint": "string",
- "otelExporterOtlpTracesEndpoint": "string",
- "otelExporterOtlpProtocol": "string",
- "otelExporterOtlpTracesProtocol": "string",
- "otelExporterOtlpHeaders": [
- "string"
], - "otelExporterOtlpTracesHeaders": [
- "string"
], - "otelExporterOtlpTimeout": "string",
- "otelExporterOtlpTracesTimeout": "string",
- "otelBspScheduleDelay": "string",
- "otelBspMaxExportBatchSize": 0,
- "downstreamMtlsCaKeyPairId": "string",
- "googleCloudServerlessAuthenticationServiceAccount": "string",
- "skipXffAppend": true,
- "databrokerStorageConnection": "string",
- "accessLogFields": [
- "string"
], - "authorizeLogFields": [
- "string"
], - "passIdentityHeaders": true,
- "autoApplyChangesets": true,
- "authenticateServiceUrl": "string",
- "identityProvider": "apple",
- "identityProviderClientId": "string",
- "identityProviderClientSecret": "string",
- "identityProviderRequestParams": {
- "property1": "string",
- "property2": "string"
}, - "identityProviderScopes": [
- "string"
], - "identityProviderUrl": "string",
- "bearerTokenFormat": "",
- "idpAccessTokenAllowedAudiences": [
- "string"
], - "circuitBreakerThresholds": {
- "maxConnections": 0,
- "maxPendingRequests": 0,
- "maxRequests": 0,
- "maxRetries": 0,
- "maxConnectionPools": 0
}, - "sshAddress": "string",
- "sshHostKeys": [
- "string"
], - "sshUserCaKey": "string"
}{- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "logLevel": "string",
- "proxyLogLevel": "string",
- "address": "string",
- "dnsLookupFamily": "V4_ONLY",
- "dnsFailureRefreshRate": "string",
- "dnsQueryTimeout": "string",
- "dnsQueryTries": 0,
- "dnsRefreshRate": "string",
- "dnsUdpMaxQueries": 0,
- "dnsUseTcp": true,
- "httpRedirectAddr": "string",
- "timeoutRead": "string",
- "timeoutWrite": "string",
- "timeoutIdle": "string",
- "codecType": "",
- "cookieName": "string",
- "cookieSecret": "string",
- "cookieDomain": "string",
- "cookieHttpOnly": true,
- "cookieExpire": "string",
- "cookieSameSite": "string",
- "certificateAuthorityKeyPairId": "string",
- "setResponseHeaders": {
- "property1": "string",
- "property2": "string"
}, - "jwtClaimsHeaders": {
- "property1": "string",
- "property2": "string"
}, - "defaultUpstreamTimeout": "string",
- "metricsAddress": "string",
- "otelTracesExporter": "string",
- "otelTracesSamplerArg": 0.1,
- "otelResourceAttributes": [
- "string"
], - "otelLogLevel": "string",
- "otelAttributeValueLengthLimit": 0,
- "otelExporterOtlpEndpoint": "string",
- "otelExporterOtlpTracesEndpoint": "string",
- "otelExporterOtlpProtocol": "string",
- "otelExporterOtlpTracesProtocol": "string",
- "otelExporterOtlpHeaders": [
- "string"
], - "otelExporterOtlpTracesHeaders": [
- "string"
], - "otelExporterOtlpTimeout": "string",
- "otelExporterOtlpTracesTimeout": "string",
- "otelBspScheduleDelay": "string",
- "otelBspMaxExportBatchSize": 0,
- "downstreamMtlsCaKeyPairId": "string",
- "googleCloudServerlessAuthenticationServiceAccount": "string",
- "skipXffAppend": true,
- "databrokerStorageConnection": "string",
- "accessLogFields": [
- "string"
], - "authorizeLogFields": [
- "string"
], - "passIdentityHeaders": true,
- "autoApplyChangesets": true,
- "authenticateServiceUrl": "string",
- "identityProvider": "apple",
- "identityProviderClientId": "string",
- "identityProviderClientSecret": "string",
- "identityProviderRequestParams": {
- "property1": "string",
- "property2": "string"
}, - "identityProviderScopes": [
- "string"
], - "identityProviderUrl": "string",
- "bearerTokenFormat": "",
- "idpAccessTokenAllowedAudiences": [
- "string"
], - "circuitBreakerThresholds": {
- "maxConnections": 0,
- "maxPendingRequests": 0,
- "maxRequests": 0,
- "maxRetries": 0,
- "maxConnectionPools": 0
}, - "sshAddress": "string",
- "sshHostKeys": [
- "string"
], - "sshUserCaKey": "string"
}Patch settings
| organizationId required | string ID of organization |
| clusterId required | string ID of cluster |
| op required | string Enum: "add" "remove" "replace" "copy" "move" "test" |
| path required | string |
| value | any |
| from | string |
[- {
- "op": "add",
- "path": "string",
- "value": null,
- "from": "string"
}
]{- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "logLevel": "string",
- "proxyLogLevel": "string",
- "address": "string",
- "dnsLookupFamily": "V4_ONLY",
- "dnsFailureRefreshRate": "string",
- "dnsQueryTimeout": "string",
- "dnsQueryTries": 0,
- "dnsRefreshRate": "string",
- "dnsUdpMaxQueries": 0,
- "dnsUseTcp": true,
- "httpRedirectAddr": "string",
- "timeoutRead": "string",
- "timeoutWrite": "string",
- "timeoutIdle": "string",
- "codecType": "",
- "cookieName": "string",
- "cookieSecret": "string",
- "cookieDomain": "string",
- "cookieHttpOnly": true,
- "cookieExpire": "string",
- "cookieSameSite": "string",
- "certificateAuthorityKeyPairId": "string",
- "setResponseHeaders": {
- "property1": "string",
- "property2": "string"
}, - "jwtClaimsHeaders": {
- "property1": "string",
- "property2": "string"
}, - "defaultUpstreamTimeout": "string",
- "metricsAddress": "string",
- "otelTracesExporter": "string",
- "otelTracesSamplerArg": 0.1,
- "otelResourceAttributes": [
- "string"
], - "otelLogLevel": "string",
- "otelAttributeValueLengthLimit": 0,
- "otelExporterOtlpEndpoint": "string",
- "otelExporterOtlpTracesEndpoint": "string",
- "otelExporterOtlpProtocol": "string",
- "otelExporterOtlpTracesProtocol": "string",
- "otelExporterOtlpHeaders": [
- "string"
], - "otelExporterOtlpTracesHeaders": [
- "string"
], - "otelExporterOtlpTimeout": "string",
- "otelExporterOtlpTracesTimeout": "string",
- "otelBspScheduleDelay": "string",
- "otelBspMaxExportBatchSize": 0,
- "downstreamMtlsCaKeyPairId": "string",
- "googleCloudServerlessAuthenticationServiceAccount": "string",
- "skipXffAppend": true,
- "databrokerStorageConnection": "string",
- "accessLogFields": [
- "string"
], - "authorizeLogFields": [
- "string"
], - "passIdentityHeaders": true,
- "autoApplyChangesets": true,
- "authenticateServiceUrl": "string",
- "identityProvider": "apple",
- "identityProviderClientId": "string",
- "identityProviderClientSecret": "string",
- "identityProviderRequestParams": {
- "property1": "string",
- "property2": "string"
}, - "identityProviderScopes": [
- "string"
], - "identityProviderUrl": "string",
- "bearerTokenFormat": "",
- "idpAccessTokenAllowedAudiences": [
- "string"
], - "circuitBreakerThresholds": {
- "maxConnections": 0,
- "maxPendingRequests": 0,
- "maxRequests": 0,
- "maxRetries": 0,
- "maxConnectionPools": 0
}, - "sshAddress": "string",
- "sshHostKeys": [
- "string"
], - "sshUserCaKey": "string"
}Get settings
| organizationId required | string ID of organization |
| clusterId required | string ID of cluster |
{- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "logLevel": "string",
- "proxyLogLevel": "string",
- "address": "string",
- "dnsLookupFamily": "V4_ONLY",
- "dnsFailureRefreshRate": "string",
- "dnsQueryTimeout": "string",
- "dnsQueryTries": 0,
- "dnsRefreshRate": "string",
- "dnsUdpMaxQueries": 0,
- "dnsUseTcp": true,
- "httpRedirectAddr": "string",
- "timeoutRead": "string",
- "timeoutWrite": "string",
- "timeoutIdle": "string",
- "codecType": "",
- "cookieName": "string",
- "cookieSecret": "string",
- "cookieDomain": "string",
- "cookieHttpOnly": true,
- "cookieExpire": "string",
- "cookieSameSite": "string",
- "certificateAuthorityKeyPairId": "string",
- "setResponseHeaders": {
- "property1": "string",
- "property2": "string"
}, - "jwtClaimsHeaders": {
- "property1": "string",
- "property2": "string"
}, - "defaultUpstreamTimeout": "string",
- "metricsAddress": "string",
- "otelTracesExporter": "string",
- "otelTracesSamplerArg": 0.1,
- "otelResourceAttributes": [
- "string"
], - "otelLogLevel": "string",
- "otelAttributeValueLengthLimit": 0,
- "otelExporterOtlpEndpoint": "string",
- "otelExporterOtlpTracesEndpoint": "string",
- "otelExporterOtlpProtocol": "string",
- "otelExporterOtlpTracesProtocol": "string",
- "otelExporterOtlpHeaders": [
- "string"
], - "otelExporterOtlpTracesHeaders": [
- "string"
], - "otelExporterOtlpTimeout": "string",
- "otelExporterOtlpTracesTimeout": "string",
- "otelBspScheduleDelay": "string",
- "otelBspMaxExportBatchSize": 0,
- "downstreamMtlsCaKeyPairId": "string",
- "googleCloudServerlessAuthenticationServiceAccount": "string",
- "skipXffAppend": true,
- "databrokerStorageConnection": "string",
- "accessLogFields": [
- "string"
], - "authorizeLogFields": [
- "string"
], - "passIdentityHeaders": true,
- "autoApplyChangesets": true,
- "authenticateServiceUrl": "string",
- "identityProvider": "apple",
- "identityProviderClientId": "string",
- "identityProviderClientSecret": "string",
- "identityProviderRequestParams": {
- "property1": "string",
- "property2": "string"
}, - "identityProviderScopes": [
- "string"
], - "identityProviderUrl": "string",
- "bearerTokenFormat": "",
- "idpAccessTokenAllowedAudiences": [
- "string"
], - "circuitBreakerThresholds": {
- "maxConnections": 0,
- "maxPendingRequests": 0,
- "maxRequests": 0,
- "maxRetries": 0,
- "maxConnectionPools": 0
}, - "sshAddress": "string",
- "sshHostKeys": [
- "string"
], - "sshUserCaKey": "string"
}Update settings
| organizationId required | string ID of organization |
| clusterId required | string ID of cluster |
| logLevel required | string Sets the global logging level for Pomerium. Only logs of the desired level and above will be logged. |
| proxyLogLevel | string Sets the logging level for the Pomerium Proxy service access logs. Only logs of the desired level and above will be logged. |
| address required | string <ipport> Specifies the IP Address and Port to serve HTTP requests from. If empty, |
| dnsLookupFamily required | string (DNSLookupFamily) Enum: "V4_ONLY" "V6_ONLY" "V4_PREFERRED" "AUTO" "ALL" Sets the DNS IP address resolution policy. |
| dnsFailureRefreshRate | string (Duration) ^([0-9]+(y|w|d|h|m|s|ms))+$ Sets the rate at which DNS lookups are refreshed when requests are failing. |
| dnsQueryTimeout | string (Duration) ^([0-9]+(y|w|d|h|m|s|ms))+$ Sets the amount of time each name server is given to respond to a query on the first try of any given server. |
| dnsQueryTries | integer <uint32> Sets the maximum number of query attempts the resolver will make before giving up. Each attempt may use a different name server. |
| dnsRefreshRate | string (Duration) ^([0-9]+(y|w|d|h|m|s|ms))+$ Sets the rate at which DNS lookups are refreshed. |
| dnsUdpMaxQueries | integer <uint32> Caps the number of UDP based DNS queries on a single port. |
| dnsUseTcp | |
| httpRedirectAddr | string <ipport> Specifies the IP Address and Port to redirect HTTP to HTTPS traffic on. If unset, no redirect server is started. |
| timeoutRead required | string (Duration) ^([0-9]+(y|w|d|h|m|s|ms))+$ Sets the amount of time for the entire request stream to be received from the client. |
| timeoutWrite required | string (Duration) ^([0-9]+(y|w|d|h|m|s|ms))+$ Sets the max stream duration is the maximum time that a stream’s lifetime will span. |
| timeoutIdle required | string (Duration) ^([0-9]+(y|w|d|h|m|s|ms))+$ Sets the idle timeout is the time at which a downstream or upstream connection will be terminated if there are no active streams. |
| codecType required | string (CodecType) Enum: "" "auto" "http1" "http2" "http3" Sets the codec type. |
| cookieName required | |
| cookieSecret | string Sets the secret used to encrypt and sign session cookies. If you don't provide a cookie secret, Pomerium will generate one for you. |
| cookieDomain | string Sets the scope of session cookies issued by Pomerium. If you specify the domain explicitly, then subdomains would also be included. |
| cookieHttpOnly required | boolean If true, this setting forbids JavaScript from accessing the cookie. |
| cookieExpire required | string (Duration) ^([0-9]+(y|w|d|h|m|s|ms))+$ Sets the lifetime of session cookies. After this interval, users must reauthenticate. |
| cookieSameSite | string Sets the SameSite option for cookies, which determines whether or not a cookie is sent with cross-site requests. |
| certificateAuthorityKeyPairId | string ID of CA's public and private key pair. |
object (StringMap) Specifies a mapping of HTTP Headers added globally to all managed routes and Pomerium's Authenticate Service. | |
object (StringMap) Pass specific user session data to upstream applications as unsigned HTTP request headers. | |
| defaultUpstreamTimeout required | string (Duration) ^([0-9]+(y|w|d|h|m|s|ms))+$ The default timeout applied to a proxied route when no timeout key is specified by the policy. |
| metricsAddress | |
| otelTracesExporter | string The name of the tracing provider. Available options are "none" (default) or "otlp". |
| otelTracesSamplerArg | number <double> Percentage of requests to sample in decimal notation. The default is 1.0, or 100%. |
| otelResourceAttributes | Array of strings (StringList) Key-value pairs to be used as additional resource attributes |
| otelLogLevel | |
| otelAttributeValueLengthLimit | |
| otelExporterOtlpEndpoint | |
| otelExporterOtlpTracesEndpoint | |
| otelExporterOtlpProtocol | |
| otelExporterOtlpTracesProtocol | |
| otelExporterOtlpHeaders | Array of strings (StringList) Key=Value headers to add to all outgoing export requests |
| otelExporterOtlpTracesHeaders | Array of strings (StringList) Key=Value headers to add to all outgoing trace export requests |
| otelExporterOtlpTimeout | string (Duration) ^([0-9]+(y|w|d|h|m|s|ms))+$ The timeout value for all outgoing data (traces, metrics, and logs) |
| otelExporterOtlpTracesTimeout | string (Duration) ^([0-9]+(y|w|d|h|m|s|ms))+$ The timeout value for all outgoing traces |
| otelBspScheduleDelay | string (Duration) ^([0-9]+(y|w|d|h|m|s|ms))+$ The interval at which trace data is exported |
| otelBspMaxExportBatchSize | |
| downstreamMtlsCaKeyPairId | string Key pair ID of the downstream client CA. If set, requires mTLS for incoming requests. |
| googleCloudServerlessAuthenticationServiceAccount | string Specifies the Service Account credentials to support GCP's Authorization Header format. |
| skipXffAppend required | boolean If true, the incoming X-Forwarded-For HTTP header would not be modified. |
| databrokerStorageConnection | |
| accessLogFields | Array of strings (StringList) Controls which fields are included in the access logs. |
| authorizeLogFields | Array of strings (StringList) Controls which fields are included in the authorize logs. |
| passIdentityHeaders required | boolean |
| autoApplyChangesets required | boolean |
| authenticateServiceUrl | string <url> Specifies the URL to use for the authenticate service, if not using the Hosted Authenticate Service. (This URL should resolve to your Pomerium deployment.) |
| identityProvider | string (IdentityProviderType) Enum: "apple" "auth0" "azure" "cognito" "github" "gitlab" "google" "oidc" "okta" "onelogin" "ping" Identity provider type, if not using the Hosted Authenticate Service. |
| identityProviderClientId | string Identity provider client ID, if not using the Hosted Authenticate Service. |
| identityProviderClientSecret | string Identity provider client secret, if not using the Hosted Authenticate Service. |
object (StringMap) Identity provider request params, if not using the Hosted Authenticate Service. | |
| identityProviderScopes | Array of strings (StringList) Identity provider scopes, if not using the Hosted Authenticate Service. |
| identityProviderUrl | string <url> Identity provider URL, if not using the Hosted Authenticate Service. (This is required only for certain identity providers types.) |
| bearerTokenFormat | string (BearerTokenFormat) Enum: "" "default" "idp_access_token" "idp_identity_token" The expected format of bearer tokens |
| idpAccessTokenAllowedAudiences | Array of strings (StringList) Validates the audience claim of an IdP access token. |
object (CircuitBreakerThresholds) Sets the circuit breaker thresholds for a route. | |
| sshAddress | |
| sshHostKeys | |
| sshUserCaKey |
{- "logLevel": "string",
- "proxyLogLevel": "string",
- "address": "string",
- "dnsLookupFamily": "V4_ONLY",
- "dnsFailureRefreshRate": "string",
- "dnsQueryTimeout": "string",
- "dnsQueryTries": 0,
- "dnsRefreshRate": "string",
- "dnsUdpMaxQueries": 0,
- "dnsUseTcp": true,
- "httpRedirectAddr": "string",
- "timeoutRead": "string",
- "timeoutWrite": "string",
- "timeoutIdle": "string",
- "codecType": "",
- "cookieName": "string",
- "cookieSecret": "string",
- "cookieDomain": "string",
- "cookieHttpOnly": true,
- "cookieExpire": "string",
- "cookieSameSite": "string",
- "certificateAuthorityKeyPairId": "string",
- "setResponseHeaders": {
- "property1": "string",
- "property2": "string"
}, - "jwtClaimsHeaders": {
- "property1": "string",
- "property2": "string"
}, - "defaultUpstreamTimeout": "string",
- "metricsAddress": "string",
- "otelTracesExporter": "string",
- "otelTracesSamplerArg": 0.1,
- "otelResourceAttributes": [
- "string"
], - "otelLogLevel": "string",
- "otelAttributeValueLengthLimit": 0,
- "otelExporterOtlpEndpoint": "string",
- "otelExporterOtlpTracesEndpoint": "string",
- "otelExporterOtlpProtocol": "string",
- "otelExporterOtlpTracesProtocol": "string",
- "otelExporterOtlpHeaders": [
- "string"
], - "otelExporterOtlpTracesHeaders": [
- "string"
], - "otelExporterOtlpTimeout": "string",
- "otelExporterOtlpTracesTimeout": "string",
- "otelBspScheduleDelay": "string",
- "otelBspMaxExportBatchSize": 0,
- "downstreamMtlsCaKeyPairId": "string",
- "googleCloudServerlessAuthenticationServiceAccount": "string",
- "skipXffAppend": true,
- "databrokerStorageConnection": "string",
- "accessLogFields": [
- "string"
], - "authorizeLogFields": [
- "string"
], - "passIdentityHeaders": true,
- "autoApplyChangesets": true,
- "authenticateServiceUrl": "string",
- "identityProvider": "apple",
- "identityProviderClientId": "string",
- "identityProviderClientSecret": "string",
- "identityProviderRequestParams": {
- "property1": "string",
- "property2": "string"
}, - "identityProviderScopes": [
- "string"
], - "identityProviderUrl": "string",
- "bearerTokenFormat": "",
- "idpAccessTokenAllowedAudiences": [
- "string"
], - "circuitBreakerThresholds": {
- "maxConnections": 0,
- "maxPendingRequests": 0,
- "maxRequests": 0,
- "maxRetries": 0,
- "maxConnectionPools": 0
}, - "sshAddress": "string",
- "sshHostKeys": [
- "string"
], - "sshUserCaKey": "string"
}{- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "logLevel": "string",
- "proxyLogLevel": "string",
- "address": "string",
- "dnsLookupFamily": "V4_ONLY",
- "dnsFailureRefreshRate": "string",
- "dnsQueryTimeout": "string",
- "dnsQueryTries": 0,
- "dnsRefreshRate": "string",
- "dnsUdpMaxQueries": 0,
- "dnsUseTcp": true,
- "httpRedirectAddr": "string",
- "timeoutRead": "string",
- "timeoutWrite": "string",
- "timeoutIdle": "string",
- "codecType": "",
- "cookieName": "string",
- "cookieSecret": "string",
- "cookieDomain": "string",
- "cookieHttpOnly": true,
- "cookieExpire": "string",
- "cookieSameSite": "string",
- "certificateAuthorityKeyPairId": "string",
- "setResponseHeaders": {
- "property1": "string",
- "property2": "string"
}, - "jwtClaimsHeaders": {
- "property1": "string",
- "property2": "string"
}, - "defaultUpstreamTimeout": "string",
- "metricsAddress": "string",
- "otelTracesExporter": "string",
- "otelTracesSamplerArg": 0.1,
- "otelResourceAttributes": [
- "string"
], - "otelLogLevel": "string",
- "otelAttributeValueLengthLimit": 0,
- "otelExporterOtlpEndpoint": "string",
- "otelExporterOtlpTracesEndpoint": "string",
- "otelExporterOtlpProtocol": "string",
- "otelExporterOtlpTracesProtocol": "string",
- "otelExporterOtlpHeaders": [
- "string"
], - "otelExporterOtlpTracesHeaders": [
- "string"
], - "otelExporterOtlpTimeout": "string",
- "otelExporterOtlpTracesTimeout": "string",
- "otelBspScheduleDelay": "string",
- "otelBspMaxExportBatchSize": 0,
- "downstreamMtlsCaKeyPairId": "string",
- "googleCloudServerlessAuthenticationServiceAccount": "string",
- "skipXffAppend": true,
- "databrokerStorageConnection": "string",
- "accessLogFields": [
- "string"
], - "authorizeLogFields": [
- "string"
], - "passIdentityHeaders": true,
- "autoApplyChangesets": true,
- "authenticateServiceUrl": "string",
- "identityProvider": "apple",
- "identityProviderClientId": "string",
- "identityProviderClientSecret": "string",
- "identityProviderRequestParams": {
- "property1": "string",
- "property2": "string"
}, - "identityProviderScopes": [
- "string"
], - "identityProviderUrl": "string",
- "bearerTokenFormat": "",
- "idpAccessTokenAllowedAudiences": [
- "string"
], - "circuitBreakerThresholds": {
- "maxConnections": 0,
- "maxPendingRequests": 0,
- "maxRequests": 0,
- "maxRetries": 0,
- "maxConnectionPools": 0
}, - "sshAddress": "string",
- "sshHostKeys": [
- "string"
], - "sshUserCaKey": "string"
}Patch settings
| organizationId required | string ID of organization |
| clusterId required | string ID of cluster |
| op required | string Enum: "add" "remove" "replace" "copy" "move" "test" |
| path required | string |
| value | any |
| from | string |
[- {
- "op": "add",
- "path": "string",
- "value": null,
- "from": "string"
}
]{- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "logLevel": "string",
- "proxyLogLevel": "string",
- "address": "string",
- "dnsLookupFamily": "V4_ONLY",
- "dnsFailureRefreshRate": "string",
- "dnsQueryTimeout": "string",
- "dnsQueryTries": 0,
- "dnsRefreshRate": "string",
- "dnsUdpMaxQueries": 0,
- "dnsUseTcp": true,
- "httpRedirectAddr": "string",
- "timeoutRead": "string",
- "timeoutWrite": "string",
- "timeoutIdle": "string",
- "codecType": "",
- "cookieName": "string",
- "cookieSecret": "string",
- "cookieDomain": "string",
- "cookieHttpOnly": true,
- "cookieExpire": "string",
- "cookieSameSite": "string",
- "certificateAuthorityKeyPairId": "string",
- "setResponseHeaders": {
- "property1": "string",
- "property2": "string"
}, - "jwtClaimsHeaders": {
- "property1": "string",
- "property2": "string"
}, - "defaultUpstreamTimeout": "string",
- "metricsAddress": "string",
- "otelTracesExporter": "string",
- "otelTracesSamplerArg": 0.1,
- "otelResourceAttributes": [
- "string"
], - "otelLogLevel": "string",
- "otelAttributeValueLengthLimit": 0,
- "otelExporterOtlpEndpoint": "string",
- "otelExporterOtlpTracesEndpoint": "string",
- "otelExporterOtlpProtocol": "string",
- "otelExporterOtlpTracesProtocol": "string",
- "otelExporterOtlpHeaders": [
- "string"
], - "otelExporterOtlpTracesHeaders": [
- "string"
], - "otelExporterOtlpTimeout": "string",
- "otelExporterOtlpTracesTimeout": "string",
- "otelBspScheduleDelay": "string",
- "otelBspMaxExportBatchSize": 0,
- "downstreamMtlsCaKeyPairId": "string",
- "googleCloudServerlessAuthenticationServiceAccount": "string",
- "skipXffAppend": true,
- "databrokerStorageConnection": "string",
- "accessLogFields": [
- "string"
], - "authorizeLogFields": [
- "string"
], - "passIdentityHeaders": true,
- "autoApplyChangesets": true,
- "authenticateServiceUrl": "string",
- "identityProvider": "apple",
- "identityProviderClientId": "string",
- "identityProviderClientSecret": "string",
- "identityProviderRequestParams": {
- "property1": "string",
- "property2": "string"
}, - "identityProviderScopes": [
- "string"
], - "identityProviderUrl": "string",
- "bearerTokenFormat": "",
- "idpAccessTokenAllowedAudiences": [
- "string"
], - "circuitBreakerThresholds": {
- "maxConnections": 0,
- "maxPendingRequests": 0,
- "maxRequests": 0,
- "maxRetries": 0,
- "maxConnectionPools": 0
}, - "sshAddress": "string",
- "sshHostKeys": [
- "string"
], - "sshUserCaKey": "string"
}A cluster represents an isolated Pomerium Core instance within your organization. An organization can have multiple clusters with separate configurations depending on the organization’s use case.
Create organization
| name required | string |
| logoURL | string <url> URL to an image that will be used as the organization logo. User may provide a URL to an image hosted on a third party service, or upload an image to the dashboard, which would result in an URL being generated. |
{- "name": "string",
- "logoURL": "string"
}{- "cluster": {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "name": "string",
- "manualOverrideIpAddress": "string",
- "flavor": "standard",
- "fqdn": "string",
- "autoDetectIpAddress": "string",
- "namespaceId": "string",
- "hasFailingHealthChecks": true,
- "minReplicaVersion": "string",
- "domain": "string",
- "onboardingStatus": "string",
- "importStatus": {
- "timestamp": "2019-08-24T14:15:22Z",
- "hints": {
- "systemType": "string",
- "hostname": "string",
- "kubernetesNamespace": "string",
- "argv0": "string",
- "configArg": "string"
}, - "messages": [
- "string"
], - "warnings": [
- "string"
], - "error": "string"
}, - "refreshToken": "string"
}, - "namespace": {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "parentId": "string",
- "name": "string",
- "type": "cluster"
}, - "organization": {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "name": "string",
- "logoURL": "string",
- "organizationType": "personal",
- "ownerUserId": "string",
- "role": "owner",
- "joinedAt": "2019-08-24T14:15:22Z",
- "quotas": {
- "administrators": 0,
- "apiUsers": 0,
- "certificates": 0,
- "clusters": 0,
- "customDomains": 0,
- "policies": 0,
- "replicas": 0,
- "routes": 0,
- "serviceAccounts": 0
}, - "readOnly": true
}
}List clusters
| organizationId required | string ID of organization |
[- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "name": "string",
- "manualOverrideIpAddress": "string",
- "flavor": "standard",
- "fqdn": "string",
- "autoDetectIpAddress": "string",
- "namespaceId": "string",
- "hasFailingHealthChecks": true,
- "minReplicaVersion": "string",
- "domain": "string",
- "onboardingStatus": "string",
- "importStatus": {
- "timestamp": "2019-08-24T14:15:22Z",
- "hints": {
- "systemType": "string",
- "hostname": "string",
- "kubernetesNamespace": "string",
- "argv0": "string",
- "configArg": "string"
}, - "messages": [
- "string"
], - "warnings": [
- "string"
], - "error": "string"
}
}
]Create cluster
| organizationId required | string ID of organization |
| name required | string |
| manualOverrideIpAddress | string <ip> (IPAddress) |
| flavor | string (ClusterFlavor) Enum: "standard" "hosted" The flavor of the cluster |
| domain required | string |
{- "name": "string",
- "manualOverrideIpAddress": "string",
- "flavor": "standard",
- "domain": "string"
}{- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "name": "string",
- "manualOverrideIpAddress": "string",
- "flavor": "standard",
- "fqdn": "string",
- "autoDetectIpAddress": "string",
- "namespaceId": "string",
- "hasFailingHealthChecks": true,
- "minReplicaVersion": "string",
- "domain": "string",
- "onboardingStatus": "string",
- "importStatus": {
- "timestamp": "2019-08-24T14:15:22Z",
- "hints": {
- "systemType": "string",
- "hostname": "string",
- "kubernetesNamespace": "string",
- "argv0": "string",
- "configArg": "string"
}, - "messages": [
- "string"
], - "warnings": [
- "string"
], - "error": "string"
}, - "refreshToken": "string"
}Get cluster
| organizationId required | string ID of organization |
| clusterId required | string ID of cluster |
{- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "name": "string",
- "manualOverrideIpAddress": "string",
- "flavor": "standard",
- "fqdn": "string",
- "autoDetectIpAddress": "string",
- "namespaceId": "string",
- "hasFailingHealthChecks": true,
- "minReplicaVersion": "string",
- "domain": "string",
- "onboardingStatus": "string",
- "importStatus": {
- "timestamp": "2019-08-24T14:15:22Z",
- "hints": {
- "systemType": "string",
- "hostname": "string",
- "kubernetesNamespace": "string",
- "argv0": "string",
- "configArg": "string"
}, - "messages": [
- "string"
], - "warnings": [
- "string"
], - "error": "string"
}
}Update cluster
| organizationId required | string ID of organization |
| clusterId required | string ID of cluster |
| name required | string |
| manualOverrideIpAddress | string <ip> (IPAddress) |
| flavor | string (ClusterFlavor) Enum: "standard" "hosted" The flavor of the cluster |
{- "name": "string",
- "manualOverrideIpAddress": "string",
- "flavor": "standard"
}{- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "name": "string",
- "manualOverrideIpAddress": "string",
- "flavor": "standard",
- "fqdn": "string",
- "autoDetectIpAddress": "string",
- "namespaceId": "string",
- "hasFailingHealthChecks": true,
- "minReplicaVersion": "string",
- "domain": "string",
- "onboardingStatus": "string",
- "importStatus": {
- "timestamp": "2019-08-24T14:15:22Z",
- "hints": {
- "systemType": "string",
- "hostname": "string",
- "kubernetesNamespace": "string",
- "argv0": "string",
- "configArg": "string"
}, - "messages": [
- "string"
], - "warnings": [
- "string"
], - "error": "string"
}
}List replicas known for a cluster
| organizationId required | string ID of organization |
| clusterId required | string ID of cluster |
| startTime required | string <date-time> Start time of the time range |
| endTime required | string <date-time> Start time of the time range |
[- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "hostname": "string"
}
]Get cluster health check data
| organizationId required | string ID of organization |
| clusterId required | string ID of cluster |
[- {
- "description": "string",
- "helpUrl": "string",
- "hostname": "string",
- "status": "success",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]Rotate cluster identity token. This token is used to authenticate the cluster to the Pomerium Zero API. Only one token may be active at a time. Requesting a new token will invalidate the previous one.
| organizationId required | string ID of organization |
| clusterId required | string ID of cluster |
{- "refreshToken": "string"
}Get quotas
| organizationId required | string ID of organization |
| namespaceId | string ID of namespace |
{- "counts": {
- "administrators": 0,
- "apiUsers": 0,
- "certificates": 0,
- "clusters": 0,
- "customDomains": 0,
- "policies": 0,
- "replicas": 0,
- "routes": 0,
- "serviceAccounts": 0
}, - "limits": {
- "administrators": 0,
- "apiUsers": 0,
- "certificates": 0,
- "clusters": 0,
- "customDomains": 0,
- "policies": 0,
- "replicas": 0,
- "routes": 0,
- "serviceAccounts": 0
}
}Check identity provider settings
| provider required | string (IdentityProviderType) Enum: "apple" "auth0" "azure" "cognito" "github" "gitlab" "google" "oidc" "okta" "onelogin" "ping" |
| url | string |
| clientId | string |
| clientSecret | string |
object (StringMap) | |
| scopes | Array of strings (StringList) |
{- "provider": "apple",
- "url": "string",
- "clientId": "string",
- "clientSecret": "string",
- "requestParams": {
- "property1": "string",
- "property2": "string"
}, - "scopes": [
- "string"
]
}{- "success": true,
- "errors": {
- "provider": "string",
- "url": "string",
- "clientId": "string",
- "clientSecret": "string",
- "requestParams": "string",
- "scopes": "string"
}
}Start onboarding
| system required | string |
| timezone required | string |
{- "system": "string",
- "timezone": "string"
}{- "organizationId": "string",
- "clusterId": "string",
- "clusterToken": "string"
}Configure onboarding
| ipAddress | string <ip> (IPAddress) |
| port | string <port> (Port) |
| system required | string |
| timezone required | string |
{- "ipAddress": "string",
- "port": "string",
- "system": "string",
- "timezone": "string"
}{ }Request health checks to be re-run
| organizationId required | string ID of organization |
| clusterId required | string ID of cluster |
{ }Get distribution metric as a time series for a given percentile
| clusterId required | string ID of cluster |
| organizationId required | string ID of organization |
| metricId required | string (DistributionMetricId) Value: "upstream_request_time" ID of distribution metric |
| startTime required | string <date-time> Start time of the time range |
| endTime required | string <date-time> Start time of the time range |
| routeId | string ID of route |
| replicaId | string ID of replica |
[- {
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "distributionValue": {
- "count": 0,
- "mean": 0.1,
- "explicitBucketBounds": [
- 0.1
], - "bucketCounts": [
- 0
]
}, - "unit": "string"
}
]Get distribution metric as a time series for a given percentile
| clusterId required | string ID of cluster |
| organizationId required | string ID of organization |
| metricId required | string (DistributionMetricId) Value: "upstream_request_time" ID of distribution metric |
| percentile | integer (Percentile) Enum: 50 95 99 Percentile of the distribution |
| startTime required | string <date-time> Start time of the time range |
| endTime required | string <date-time> Start time of the time range |
| routeId | string ID of route |
| replicaId | string ID of replica |
[- {
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "points": [
- {
- "value": 0.1,
- "timestamp": "2019-08-24T14:15:22Z"
}
], - "unit": "string"
}
]Get time series for a metric
| clusterId required | string ID of cluster |
| organizationId required | string ID of organization |
| metricId required | string (TimeSeriesMetricId) Enum: "mau" "dau" "upstream_requests" "upstream_rx_bytes" "upstream_tx_bytes" "authz_ok" "authz_err" "authz_denied" ID of cluster time series metric |
| startTime required | string <date-time> Start time of the time range |
| endTime required | string <date-time> Start time of the time range |
| routeId | string ID of route |
| replicaId | string ID of replica |
[- {
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "points": [
- {
- "value": 0.1,
- "timestamp": "2019-08-24T14:15:22Z"
}
], - "unit": "string"
}
]Get route metric time series sum over the requested time range
| clusterId required | string ID of cluster |
| organizationId required | string ID of organization |
| metricId required | string (TimeSeriesMetricId) Enum: "mau" "dau" "upstream_requests" "upstream_rx_bytes" "upstream_tx_bytes" "authz_ok" "authz_err" "authz_denied" ID of cluster time series metric |
| startTime required | string <date-time> Start time of the time range |
| endTime required | string <date-time> Start time of the time range |
| routeId | string ID of route |
| replicaId | string ID of replica |
[- {
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "value": 0.1,
- "unit": "string"
}
][- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "name": "string",
- "logoURL": "string",
- "organizationType": "personal",
- "ownerUserId": "string",
- "role": "owner",
- "joinedAt": "2019-08-24T14:15:22Z",
- "quotas": {
- "administrators": 0,
- "apiUsers": 0,
- "certificates": 0,
- "clusters": 0,
- "customDomains": 0,
- "policies": 0,
- "replicas": 0,
- "routes": 0,
- "serviceAccounts": 0
}, - "readOnly": true
}
]Create organization
| name required | string |
| logoURL | string <url> URL to an image that will be used as the organization logo. User may provide a URL to an image hosted on a third party service, or upload an image to the dashboard, which would result in an URL being generated. |
{- "name": "string",
- "logoURL": "string"
}{- "cluster": {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "name": "string",
- "manualOverrideIpAddress": "string",
- "flavor": "standard",
- "fqdn": "string",
- "autoDetectIpAddress": "string",
- "namespaceId": "string",
- "hasFailingHealthChecks": true,
- "minReplicaVersion": "string",
- "domain": "string",
- "onboardingStatus": "string",
- "importStatus": {
- "timestamp": "2019-08-24T14:15:22Z",
- "hints": {
- "systemType": "string",
- "hostname": "string",
- "kubernetesNamespace": "string",
- "argv0": "string",
- "configArg": "string"
}, - "messages": [
- "string"
], - "warnings": [
- "string"
], - "error": "string"
}, - "refreshToken": "string"
}, - "namespace": {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "parentId": "string",
- "name": "string",
- "type": "cluster"
}, - "organization": {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "name": "string",
- "logoURL": "string",
- "organizationType": "personal",
- "ownerUserId": "string",
- "role": "owner",
- "joinedAt": "2019-08-24T14:15:22Z",
- "quotas": {
- "administrators": 0,
- "apiUsers": 0,
- "certificates": 0,
- "clusters": 0,
- "customDomains": 0,
- "policies": 0,
- "replicas": 0,
- "routes": 0,
- "serviceAccounts": 0
}, - "readOnly": true
}
}Get organization
| organizationId required | string ID of organization |
{- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "name": "string",
- "logoURL": "string",
- "organizationType": "personal",
- "ownerUserId": "string",
- "role": "owner",
- "joinedAt": "2019-08-24T14:15:22Z",
- "quotas": {
- "administrators": 0,
- "apiUsers": 0,
- "certificates": 0,
- "clusters": 0,
- "customDomains": 0,
- "policies": 0,
- "replicas": 0,
- "routes": 0,
- "serviceAccounts": 0
}, - "readOnly": true
}Update organization
| organizationId required | string ID of organization |
| name required | string |
| logoURL | string <url> URL to an image that will be used as the organization logo. User may provide a URL to an image hosted on a third party service, or upload an image to the dashboard, which would result in an URL being generated. |
| ownerUserId | string |
{- "name": "string",
- "logoURL": "string",
- "ownerUserId": "string"
}{- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "name": "string",
- "logoURL": "string",
- "organizationType": "personal",
- "ownerUserId": "string",
- "role": "owner",
- "joinedAt": "2019-08-24T14:15:22Z",
- "quotas": {
- "administrators": 0,
- "apiUsers": 0,
- "certificates": 0,
- "clusters": 0,
- "customDomains": 0,
- "policies": 0,
- "replicas": 0,
- "routes": 0,
- "serviceAccounts": 0
}, - "readOnly": true
}List default templates
| recordType required | string (DefaultTemplateRecordType) Enum: "route" "settings" "policy" Type of record |
[- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "recordType": "route",
- "name": "string",
- "defaultProperties": { }
}
]Create a new billing portal session
| organizationId required | string ID of organization |
| deepLink required | string Enum: "" "payment_method" |
| returnUrl required | string <url> |
{- "deepLink": "",
- "returnUrl": "string"
}{- "url": "string"
}Create a new checkout session
| organizationId required | string ID of organization |
| billingEmail | string |
| cancelUrl required | string <url> |
| organizationName | string |
| successUrl required | string <url> |
{- "billingEmail": "string",
- "cancelUrl": "string",
- "organizationName": "string",
- "successUrl": "string"
}{- "url": "string"
}Complete a checkout session
| organizationId required | string ID of organization |
| checkoutSessionId required | string |
{- "checkoutSessionId": "string"
}Get subscription information
| organizationId required | string ID of organization |
{- "hasCustomerId": true,
- "nextInvoiceDate": "2019-08-24T14:15:22Z",
- "pricePerSeatPerMonthCents": 0,
- "status": "active"
}List service accounts
| organizationId required | string ID of organization |
| clusterId required | string ID of cluster |
| offset | integer offset of the resources |
| limit | integer limit number of resources returned |
[- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "expiresAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "userId": "string"
}
]Create service account
| organizationId required | string ID of organization |
| clusterId required | string ID of cluster |
| expiresAt | string <date-time> |
| description required | string |
| userId required | string |
{- "expiresAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "userId": "string"
}{- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "expiresAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "userId": "string",
- "token": "string"
}Get service account
| organizationId required | string ID of organization |
| clusterId required | string ID of cluster |
| serviceAccountId required | string ID of service account |
{- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "expiresAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "userId": "string"
}Get service account token
| organizationId required | string ID of organization |
| clusterId required | string ID of cluster |
| serviceAccountId required | string ID of service account |
{- "token": "string"
}List custom domains
| organizationId required | string ID of organization |
| clusterId required | string ID of cluster |
[- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "clusterId": "string",
- "domainName": "string",
- "lastError": "string",
- "keyPairId": "string",
- "expiresAt": "2019-08-24T14:15:22Z"
}
]Add custom domain
| organizationId required | string ID of organization |
| clusterId required | string |
| domainName required | string |
{- "clusterId": "string",
- "domainName": "string"
}{- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "clusterId": "string",
- "domainName": "string",
- "lastError": "string",
- "keyPairId": "string",
- "expiresAt": "2019-08-24T14:15:22Z"
}