Upload a schema
schema_validation.schemas.create(SchemaCreateParams**kwargs) -> PublicSchema
POST/zones/{zone_id}/schema_validation/schemas
Uploads a new OpenAPI schema for API Shield schema validation. The schema defines expected request/response formats for API endpoints.
Security
API Token
The preferred authorization scheme for interacting with the Cloudflare API. Create a token.
Example:
API Email + API Key
The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.
Example:
The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.
Example:
Accepted Permissions (at least one required)
Upload a schema
import os
from cloudflare import Cloudflare
client = Cloudflare(
api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted
)
public_schema = client.schema_validation.schemas.create(
zone_id="023e105f4ecef8ad9ca31a8372d0c353",
kind="openapi_v3",
name="petstore schema",
source="<schema file contents>",
validation_enabled=True,
)
print(public_schema.schema_id){
"errors": [
{
"code": 1000,
"message": "message",
"documentation_url": "documentation_url",
"source": {
"locations": [
".paths[\"/user/{username}\"].put"
],
"pointer": "pointer"
}
}
],
"messages": [
{
"code": 1000,
"message": "message",
"documentation_url": "documentation_url",
"source": {
"locations": [
".paths[\"/user/{username}\"].put"
],
"pointer": "pointer"
}
}
],
"result": {
"created_at": "2014-01-01T05:20:00.12345Z",
"kind": "openapi_v3",
"name": "petstore schema",
"schema_id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
"source": "<schema file contents>",
"validation_enabled": true
},
"success": true
}Returns Examples
{
"errors": [
{
"code": 1000,
"message": "message",
"documentation_url": "documentation_url",
"source": {
"locations": [
".paths[\"/user/{username}\"].put"
],
"pointer": "pointer"
}
}
],
"messages": [
{
"code": 1000,
"message": "message",
"documentation_url": "documentation_url",
"source": {
"locations": [
".paths[\"/user/{username}\"].put"
],
"pointer": "pointer"
}
}
],
"result": {
"created_at": "2014-01-01T05:20:00.12345Z",
"kind": "openapi_v3",
"name": "petstore schema",
"schema_id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
"source": "<schema file contents>",
"validation_enabled": true
},
"success": true
}