# Configuration ## List token validation configurations `token_validation.configuration.list(ConfigurationListParams**kwargs) -> SyncV4PagePaginationArray[TokenConfig]` **get** `/zones/{zone_id}/token_validation/config` Lists all token validation configurations for this zone ### Parameters - `zone_id: str` Identifier. - `page: Optional[int]` Page number of paginated results. - `per_page: Optional[int]` Maximum number of results per page. ### Returns - `class TokenConfig: …` - `id: str` UUID. - `created_at: datetime` - `credentials: Credentials` - `keys: List[CredentialsKey]` - `class CredentialsKeyAPIShieldCredentialsJWTKeyRSA: …` JSON representation of an RSA key. - `alg: Literal["RS256", "RS384", "RS512", 3 more]` Algorithm - `"RS256"` - `"RS384"` - `"RS512"` - `"PS256"` - `"PS384"` - `"PS512"` - `e: str` RSA exponent - `kid: str` Key ID - `kty: Literal["RSA"]` Key Type - `"RSA"` - `n: str` RSA modulus - `class CredentialsKeyAPIShieldCredentialsJWTKeyEcEs256: …` JSON representation of an ES256 key - `alg: Literal["ES256"]` Algorithm - `"ES256"` - `crv: Literal["P-256"]` Curve - `"P-256"` - `kid: str` Key ID - `kty: Literal["EC"]` Key Type - `"EC"` - `x: str` X EC coordinate - `y: str` Y EC coordinate - `class CredentialsKeyAPIShieldCredentialsJWTKeyEcEs384: …` JSON representation of an ES384 key - `alg: Literal["ES384"]` Algorithm - `"ES384"` - `crv: Literal["P-384"]` Curve - `"P-384"` - `kid: str` Key ID - `kty: Literal["EC"]` Key Type - `"EC"` - `x: str` X EC coordinate - `y: str` Y EC coordinate - `description: str` - `last_updated: datetime` - `title: str` - `token_sources: List[str]` - `token_type: Literal["JWT"]` - `"JWT"` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) page = client.token_validation.configuration.list( zone_id="023e105f4ecef8ad9ca31a8372d0c353", ) page = page.result[0] print(page.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "result": [ { "id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", "created_at": "2014-01-01T05:20:00.12345Z", "credentials": { "keys": [ { "alg": "ES256", "crv": "P-256", "kid": "38013f13-c266-4eec-a72a-92ec92779f21", "kty": "EC", "x": "KN53JRwN3wCjm2o39bvZUX2VdrsHzS8pxOAGjm8m7EQ", "y": "lnkkzIxaveggz-HFhcMWW15nxvOj0Z_uQsXbpK0GFcY" } ] }, "description": "Long description for Token Validation Configuration", "last_updated": "2014-01-01T05:20:00.12345Z", "title": "Example Token Validation Configuration", "token_sources": [ "http.request.headers[\"x-auth\"][0]", "http.request.cookies[\"Authorization\"][0]" ], "token_type": "JWT" } ], "success": true, "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000, "total_pages": 100 } } ``` ## Get a single Token Configuration `token_validation.configuration.get(strconfig_id, ConfigurationGetParams**kwargs) -> TokenConfig` **get** `/zones/{zone_id}/token_validation/config/{config_id}` Get a single Token Configuration ### Parameters - `zone_id: str` Identifier. - `config_id: str` UUID. ### Returns - `class TokenConfig: …` - `id: str` UUID. - `created_at: datetime` - `credentials: Credentials` - `keys: List[CredentialsKey]` - `class CredentialsKeyAPIShieldCredentialsJWTKeyRSA: …` JSON representation of an RSA key. - `alg: Literal["RS256", "RS384", "RS512", 3 more]` Algorithm - `"RS256"` - `"RS384"` - `"RS512"` - `"PS256"` - `"PS384"` - `"PS512"` - `e: str` RSA exponent - `kid: str` Key ID - `kty: Literal["RSA"]` Key Type - `"RSA"` - `n: str` RSA modulus - `class CredentialsKeyAPIShieldCredentialsJWTKeyEcEs256: …` JSON representation of an ES256 key - `alg: Literal["ES256"]` Algorithm - `"ES256"` - `crv: Literal["P-256"]` Curve - `"P-256"` - `kid: str` Key ID - `kty: Literal["EC"]` Key Type - `"EC"` - `x: str` X EC coordinate - `y: str` Y EC coordinate - `class CredentialsKeyAPIShieldCredentialsJWTKeyEcEs384: …` JSON representation of an ES384 key - `alg: Literal["ES384"]` Algorithm - `"ES384"` - `crv: Literal["P-384"]` Curve - `"P-384"` - `kid: str` Key ID - `kty: Literal["EC"]` Key Type - `"EC"` - `x: str` X EC coordinate - `y: str` Y EC coordinate - `description: str` - `last_updated: datetime` - `title: str` - `token_sources: List[str]` - `token_type: Literal["JWT"]` - `"JWT"` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) token_config = client.token_validation.configuration.get( config_id="4a7ee8d3-dd63-4ceb-9d5f-c27831854ce7", zone_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(token_config.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "result": { "id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", "created_at": "2014-01-01T05:20:00.12345Z", "credentials": { "keys": [ { "alg": "ES256", "crv": "P-256", "kid": "38013f13-c266-4eec-a72a-92ec92779f21", "kty": "EC", "x": "KN53JRwN3wCjm2o39bvZUX2VdrsHzS8pxOAGjm8m7EQ", "y": "lnkkzIxaveggz-HFhcMWW15nxvOj0Z_uQsXbpK0GFcY" } ] }, "description": "Long description for Token Validation Configuration", "last_updated": "2014-01-01T05:20:00.12345Z", "title": "Example Token Validation Configuration", "token_sources": [ "http.request.headers[\"x-auth\"][0]", "http.request.cookies[\"Authorization\"][0]" ], "token_type": "JWT" }, "success": true } ``` ## Create a new Token Validation configuration `token_validation.configuration.create(ConfigurationCreateParams**kwargs) -> TokenConfig` **post** `/zones/{zone_id}/token_validation/config` Create a new Token Validation configuration ### Parameters - `zone_id: str` Identifier. - `credentials: Credentials` - `keys: Iterable[CredentialsKey]` - `class CredentialsKeyAPIShieldCredentialsJWTKeyRSA: …` JSON representation of an RSA key. - `alg: Literal["RS256", "RS384", "RS512", 3 more]` Algorithm - `"RS256"` - `"RS384"` - `"RS512"` - `"PS256"` - `"PS384"` - `"PS512"` - `e: str` RSA exponent - `kid: str` Key ID - `kty: Literal["RSA"]` Key Type - `"RSA"` - `n: str` RSA modulus - `class CredentialsKeyAPIShieldCredentialsJWTKeyEcEs256: …` JSON representation of an ES256 key - `alg: Literal["ES256"]` Algorithm - `"ES256"` - `crv: Literal["P-256"]` Curve - `"P-256"` - `kid: str` Key ID - `kty: Literal["EC"]` Key Type - `"EC"` - `x: str` X EC coordinate - `y: str` Y EC coordinate - `class CredentialsKeyAPIShieldCredentialsJWTKeyEcEs384: …` JSON representation of an ES384 key - `alg: Literal["ES384"]` Algorithm - `"ES384"` - `crv: Literal["P-384"]` Curve - `"P-384"` - `kid: str` Key ID - `kty: Literal["EC"]` Key Type - `"EC"` - `x: str` X EC coordinate - `y: str` Y EC coordinate - `description: str` - `title: str` - `token_sources: SequenceNotStr[str]` - `token_type: Literal["JWT"]` - `"JWT"` ### Returns - `class TokenConfig: …` - `id: str` UUID. - `created_at: datetime` - `credentials: Credentials` - `keys: List[CredentialsKey]` - `class CredentialsKeyAPIShieldCredentialsJWTKeyRSA: …` JSON representation of an RSA key. - `alg: Literal["RS256", "RS384", "RS512", 3 more]` Algorithm - `"RS256"` - `"RS384"` - `"RS512"` - `"PS256"` - `"PS384"` - `"PS512"` - `e: str` RSA exponent - `kid: str` Key ID - `kty: Literal["RSA"]` Key Type - `"RSA"` - `n: str` RSA modulus - `class CredentialsKeyAPIShieldCredentialsJWTKeyEcEs256: …` JSON representation of an ES256 key - `alg: Literal["ES256"]` Algorithm - `"ES256"` - `crv: Literal["P-256"]` Curve - `"P-256"` - `kid: str` Key ID - `kty: Literal["EC"]` Key Type - `"EC"` - `x: str` X EC coordinate - `y: str` Y EC coordinate - `class CredentialsKeyAPIShieldCredentialsJWTKeyEcEs384: …` JSON representation of an ES384 key - `alg: Literal["ES384"]` Algorithm - `"ES384"` - `crv: Literal["P-384"]` Curve - `"P-384"` - `kid: str` Key ID - `kty: Literal["EC"]` Key Type - `"EC"` - `x: str` X EC coordinate - `y: str` Y EC coordinate - `description: str` - `last_updated: datetime` - `title: str` - `token_sources: List[str]` - `token_type: Literal["JWT"]` - `"JWT"` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) token_config = client.token_validation.configuration.create( zone_id="023e105f4ecef8ad9ca31a8372d0c353", credentials={ "keys": [{ "alg": "ES256", "crv": "P-256", "kid": "38013f13-c266-4eec-a72a-92ec92779f21", "kty": "EC", "x": "KN53JRwN3wCjm2o39bvZUX2VdrsHzS8pxOAGjm8m7EQ", "y": "lnkkzIxaveggz-HFhcMWW15nxvOj0Z_uQsXbpK0GFcY", }] }, description="Long description for Token Validation Configuration", title="Example Token Validation Configuration", token_sources=["http.request.headers[\"x-auth\"][0]", "http.request.cookies[\"Authorization\"][0]"], token_type="JWT", ) print(token_config.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "result": { "id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", "created_at": "2014-01-01T05:20:00.12345Z", "credentials": { "keys": [ { "alg": "ES256", "crv": "P-256", "kid": "38013f13-c266-4eec-a72a-92ec92779f21", "kty": "EC", "x": "KN53JRwN3wCjm2o39bvZUX2VdrsHzS8pxOAGjm8m7EQ", "y": "lnkkzIxaveggz-HFhcMWW15nxvOj0Z_uQsXbpK0GFcY" } ] }, "description": "Long description for Token Validation Configuration", "last_updated": "2014-01-01T05:20:00.12345Z", "title": "Example Token Validation Configuration", "token_sources": [ "http.request.headers[\"x-auth\"][0]", "http.request.cookies[\"Authorization\"][0]" ], "token_type": "JWT" }, "success": true } ``` ## Edit an existing Token Configuration `token_validation.configuration.edit(strconfig_id, ConfigurationEditParams**kwargs) -> ConfigurationEditResponse` **patch** `/zones/{zone_id}/token_validation/config/{config_id}` Edit fields of an existing Token Configuration ### Parameters - `zone_id: str` Identifier. - `config_id: str` UUID. - `description: Optional[str]` - `title: Optional[str]` - `token_sources: Optional[SequenceNotStr[str]]` ### Returns - `class ConfigurationEditResponse: …` - `id: Optional[str]` UUID. - `description: Optional[str]` - `title: Optional[str]` - `token_sources: Optional[List[str]]` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) response = client.token_validation.configuration.edit( config_id="4a7ee8d3-dd63-4ceb-9d5f-c27831854ce7", zone_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(response.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "result": { "id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", "description": "Long description for Token Validation Configuration", "title": "Example Token Validation Configuration", "token_sources": [ "http.request.headers[\"x-auth\"][0]", "http.request.cookies[\"Authorization\"][0]" ] }, "success": true } ``` ## Delete Token Configuration `token_validation.configuration.delete(strconfig_id, ConfigurationDeleteParams**kwargs) -> ConfigurationDeleteResponse` **delete** `/zones/{zone_id}/token_validation/config/{config_id}` Delete Token Configuration ### Parameters - `zone_id: str` Identifier. - `config_id: str` UUID. ### Returns - `class ConfigurationDeleteResponse: …` - `id: Optional[str]` UUID. ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) configuration = client.token_validation.configuration.delete( config_id="4a7ee8d3-dd63-4ceb-9d5f-c27831854ce7", zone_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(configuration.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "result": { "id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415" }, "success": true } ``` ## Domain Types ### Token Config - `class TokenConfig: …` - `id: str` UUID. - `created_at: datetime` - `credentials: Credentials` - `keys: List[CredentialsKey]` - `class CredentialsKeyAPIShieldCredentialsJWTKeyRSA: …` JSON representation of an RSA key. - `alg: Literal["RS256", "RS384", "RS512", 3 more]` Algorithm - `"RS256"` - `"RS384"` - `"RS512"` - `"PS256"` - `"PS384"` - `"PS512"` - `e: str` RSA exponent - `kid: str` Key ID - `kty: Literal["RSA"]` Key Type - `"RSA"` - `n: str` RSA modulus - `class CredentialsKeyAPIShieldCredentialsJWTKeyEcEs256: …` JSON representation of an ES256 key - `alg: Literal["ES256"]` Algorithm - `"ES256"` - `crv: Literal["P-256"]` Curve - `"P-256"` - `kid: str` Key ID - `kty: Literal["EC"]` Key Type - `"EC"` - `x: str` X EC coordinate - `y: str` Y EC coordinate - `class CredentialsKeyAPIShieldCredentialsJWTKeyEcEs384: …` JSON representation of an ES384 key - `alg: Literal["ES384"]` Algorithm - `"ES384"` - `crv: Literal["P-384"]` Curve - `"P-384"` - `kid: str` Key ID - `kty: Literal["EC"]` Key Type - `"EC"` - `x: str` X EC coordinate - `y: str` Y EC coordinate - `description: str` - `last_updated: datetime` - `title: str` - `token_sources: List[str]` - `token_type: Literal["JWT"]` - `"JWT"` ### Configuration Edit Response - `class ConfigurationEditResponse: …` - `id: Optional[str]` UUID. - `description: Optional[str]` - `title: Optional[str]` - `token_sources: Optional[List[str]]` ### Configuration Delete Response - `class ConfigurationDeleteResponse: …` - `id: Optional[str]` UUID. # Credentials ## Update Token Configuration credentials `token_validation.configuration.credentials.update(strconfig_id, CredentialUpdateParams**kwargs) -> CredentialUpdateResponse` **put** `/zones/{zone_id}/token_validation/config/{config_id}/credentials` Update Token Configuration credentials ### Parameters - `zone_id: str` Identifier. - `config_id: str` UUID. - `keys: Iterable[Key]` - `class KeyAPIShieldCredentialsJWTKeyRSA: …` JSON representation of an RSA key. - `alg: Literal["RS256", "RS384", "RS512", 3 more]` Algorithm - `"RS256"` - `"RS384"` - `"RS512"` - `"PS256"` - `"PS384"` - `"PS512"` - `e: str` RSA exponent - `kid: str` Key ID - `kty: Literal["RSA"]` Key Type - `"RSA"` - `n: str` RSA modulus - `class KeyAPIShieldCredentialsJWTKeyEcEs256: …` JSON representation of an ES256 key - `alg: Literal["ES256"]` Algorithm - `"ES256"` - `crv: Literal["P-256"]` Curve - `"P-256"` - `kid: str` Key ID - `kty: Literal["EC"]` Key Type - `"EC"` - `x: str` X EC coordinate - `y: str` Y EC coordinate - `class KeyAPIShieldCredentialsJWTKeyEcEs384: …` JSON representation of an ES384 key - `alg: Literal["ES384"]` Algorithm - `"ES384"` - `crv: Literal["P-384"]` Curve - `"P-384"` - `kid: str` Key ID - `kty: Literal["EC"]` Key Type - `"EC"` - `x: str` X EC coordinate - `y: str` Y EC coordinate ### Returns - `class CredentialUpdateResponse: …` - `errors: Message` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[MessageItemSource]` - `pointer: Optional[str]` - `keys: List[Key]` - `class KeyAPIShieldCredentialsJWTKeyRSA: …` JSON representation of an RSA key. - `alg: Literal["RS256", "RS384", "RS512", 3 more]` Algorithm - `"RS256"` - `"RS384"` - `"RS512"` - `"PS256"` - `"PS384"` - `"PS512"` - `e: str` RSA exponent - `kid: str` Key ID - `kty: Literal["RSA"]` Key Type - `"RSA"` - `n: str` RSA modulus - `class KeyAPIShieldCredentialsJWTKeyEcEs256: …` JSON representation of an ES256 key - `alg: Literal["ES256"]` Algorithm - `"ES256"` - `crv: Literal["P-256"]` Curve - `"P-256"` - `kid: str` Key ID - `kty: Literal["EC"]` Key Type - `"EC"` - `x: str` X EC coordinate - `y: str` Y EC coordinate - `class KeyAPIShieldCredentialsJWTKeyEcEs384: …` JSON representation of an ES384 key - `alg: Literal["ES384"]` Algorithm - `"ES384"` - `crv: Literal["P-384"]` Curve - `"P-384"` - `kid: str` Key ID - `kty: Literal["EC"]` Key Type - `"EC"` - `x: str` X EC coordinate - `y: str` Y EC coordinate - `messages: Message` - `success: Literal[true]` Whether the API call was successful. - `true` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) credential = client.token_validation.configuration.credentials.update( config_id="4a7ee8d3-dd63-4ceb-9d5f-c27831854ce7", zone_id="023e105f4ecef8ad9ca31a8372d0c353", keys=[{ "alg": "ES256", "crv": "P-256", "kid": "38013f13-c266-4eec-a72a-92ec92779f21", "kty": "EC", "x": "KN53JRwN3wCjm2o39bvZUX2VdrsHzS8pxOAGjm8m7EQ", "y": "lnkkzIxaveggz-HFhcMWW15nxvOj0Z_uQsXbpK0GFcY", }], ) print(credential.errors) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "keys": [ { "alg": "ES256", "crv": "P-256", "kid": "38013f13-c266-4eec-a72a-92ec92779f21", "kty": "EC", "x": "KN53JRwN3wCjm2o39bvZUX2VdrsHzS8pxOAGjm8m7EQ", "y": "lnkkzIxaveggz-HFhcMWW15nxvOj0Z_uQsXbpK0GFcY" } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true } ``` ## Domain Types ### Credential Update Response - `class CredentialUpdateResponse: …` - `errors: Message` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[MessageItemSource]` - `pointer: Optional[str]` - `keys: List[Key]` - `class KeyAPIShieldCredentialsJWTKeyRSA: …` JSON representation of an RSA key. - `alg: Literal["RS256", "RS384", "RS512", 3 more]` Algorithm - `"RS256"` - `"RS384"` - `"RS512"` - `"PS256"` - `"PS384"` - `"PS512"` - `e: str` RSA exponent - `kid: str` Key ID - `kty: Literal["RSA"]` Key Type - `"RSA"` - `n: str` RSA modulus - `class KeyAPIShieldCredentialsJWTKeyEcEs256: …` JSON representation of an ES256 key - `alg: Literal["ES256"]` Algorithm - `"ES256"` - `crv: Literal["P-256"]` Curve - `"P-256"` - `kid: str` Key ID - `kty: Literal["EC"]` Key Type - `"EC"` - `x: str` X EC coordinate - `y: str` Y EC coordinate - `class KeyAPIShieldCredentialsJWTKeyEcEs384: …` JSON representation of an ES384 key - `alg: Literal["ES384"]` Algorithm - `"ES384"` - `crv: Literal["P-384"]` Curve - `"P-384"` - `kid: str` Key ID - `kty: Literal["EC"]` Key Type - `"EC"` - `x: str` X EC coordinate - `y: str` Y EC coordinate - `messages: Message` - `success: Literal[true]` Whether the API call was successful. - `true`