## Upload a schema to a zone `api_gateway.user_schemas.create(UserSchemaCreateParams**kwargs) -> UserSchemaCreateResponse` **post** `/zones/{zone_id}/api_gateway/user_schemas` Upload a schema to a zone ### Parameters - `zone_id: str` Identifier. - `file: FileTypes` Schema file bytes - `kind: Literal["openapi_v3"]` Kind of schema - `"openapi_v3"` - `name: Optional[str]` Name of the schema - `validation_enabled: Optional[Literal["true", "false"]]` Flag whether schema is enabled for validation. - `"true"` - `"false"` ### Returns - `class UserSchemaCreateResponse: …` - `schema: OldPublicSchema` - `created_at: datetime` - `kind: Literal["openapi_v3"]` Kind of schema - `"openapi_v3"` - `name: str` Name of the schema - `schema_id: str` UUID. - `source: Optional[str]` Source of the schema - `validation_enabled: Optional[bool]` Flag whether schema is enabled for validation. - `upload_details: Optional[UploadDetails]` - `warnings: Optional[List[UploadDetailsWarning]]` Diagnostic warning events that occurred during processing. These events are non-critical errors found within the schema. - `code: int` Code that identifies the event that occurred. - `locations: Optional[List[str]]` JSONPath location(s) in the schema where these events were encountered. See for JSONPath specification. - `message: Optional[str]` Diagnostic message that describes the event. ### 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 ) user_schema = client.api_gateway.user_schemas.create( zone_id="023e105f4ecef8ad9ca31a8372d0c353", file=b"Example data", kind="openapi_v3", ) print(user_schema.schema) ``` #### 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": { "schema": { "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 }, "upload_details": { "warnings": [ { "code": 28, "locations": [ ".paths[\"/user/{username}\"].put" ], "message": "unsupported media type: application/octet-stream" } ] } }, "success": true } ```