## Upload a schema to a zone `client.apiGateway.userSchemas.create(UserSchemaCreateParamsparams, RequestOptionsoptions?): UserSchemaCreateResponse` **post** `/zones/{zone_id}/api_gateway/user_schemas` Upload a schema to a zone ### Parameters - `params: UserSchemaCreateParams` - `zone_id: string` Path param: Identifier. - `file: Uploadable` Body param: Schema file bytes - `kind: "openapi_v3"` Body param: Kind of schema - `"openapi_v3"` - `name?: string` Body param: Name of the schema - `validation_enabled?: "true" | "false"` Body param: Flag whether schema is enabled for validation. - `"true"` - `"false"` ### Returns - `UserSchemaCreateResponse` - `schema: OldPublicSchema` - `created_at: string` - `kind: "openapi_v3"` Kind of schema - `"openapi_v3"` - `name: string` Name of the schema - `schema_id: string` UUID. - `source?: string` Source of the schema - `validation_enabled?: boolean` Flag whether schema is enabled for validation. - `upload_details?: UploadDetails` - `warnings?: Array` Diagnostic warning events that occurred during processing. These events are non-critical errors found within the schema. - `code: number` Code that identifies the event that occurred. - `locations?: Array` JSONPath location(s) in the schema where these events were encountered. See for JSONPath specification. - `message?: string` Diagnostic message that describes the event. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const userSchema = await client.apiGateway.userSchemas.create({ zone_id: '023e105f4ecef8ad9ca31a8372d0c353', file: fs.createReadStream('path/to/file'), kind: 'openapi_v3', }); console.log(userSchema.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 } ```