Skip to main content

types.APIConfig

auth object

Auth configures authentication for the API

jwt object

JWT/OIDC auth

audiencestring

Audience is the expected 'aud' claim in JWTs. Defaults to "urn:expanso:orchestrator" if not set. Set to empty string explicitly to disable audience validation.

issuerstring

Issuer URL - required to enable JWT authentication. e.g., "https://cloud.expanso.io" JWKS URL is derived by appending /.well-known/jwks.json Also used to validate the 'iss' claim in JWTs If empty, JWT authentication is disabled.

network_claim_namestring

NetworkClaimName is the JWT claim containing network IDs (default: "networkId")

organization_claim_namestring

OrganizationClaimName is the JWT claim containing organization IDs (default: "organizationId")

token_endpointstring

TokenEndpoint is the OAuth2-compatible endpoint for exchanging API keys (exp_ak_*) for short-lived JWTs. Optional — when set, the orchestrator accepts API keys as Bearer tokens and exchanges them server-side. Requires Issuer to be configured (the exchanged JWTs are validated via JWKS).

organization_idstring

OrganizationID this node belongs to - optional If empty, organization validation is skipped (allow all access).

cors object

CORS configures Cross-Origin Resource Sharing for browser-based clients

allowed_originsstring[]

AllowedOrigins is a list of origins that are allowed to make cross-origin requests. Use exact origins like "https://cloud.expanso.io" or patterns like "https://localhost:*" to match any port on localhost.

listen_addrstring

Listen address - defaults to localhost:9010 Empty string disables the API server

types.APIConfig
{
"auth": {
"jwt": {
"audience": "string",
"issuer": "string",
"network_claim_name": "string",
"organization_claim_name": "string",
"token_endpoint": "string"
},
"organization_id": "string"
},
"cors": {
"allowed_origins": [
"string"
]
},
"listen_addr": "string"
}