## 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. ### Parameters - `zone_id: str` Identifier. - `kind: Literal["openapi_v3"]` The kind of the schema - `"openapi_v3"` - `name: str` A human-readable name for the schema - `source: str` The raw schema, e.g., the OpenAPI schema, either as JSON or YAML - `validation_enabled: bool` An indicator if this schema is enabled ### Returns - `class PublicSchema: …` A schema used in schema validation - `created_at: datetime` - `kind: Literal["openapi_v3"]` The kind of the schema - `"openapi_v3"` - `name: str` A human-readable name for the schema - `schema_id: str` A unique identifier of this schema - `source: str` The raw schema, e.g., the OpenAPI schema, either as JSON or YAML - `validation_enabled: Optional[bool]` An indicator if this schema is enabled ### 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 ) public_schema = client.schema_validation.schemas.create( zone_id="023e105f4ecef8ad9ca31a8372d0c353", kind="openapi_v3", name="petstore schema", source="", validation_enabled=True, ) print(public_schema.schema_id) ``` #### Response ```json { "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": "", "validation_enabled": true }, "success": true } ```