Skip to content
Start here

Upload a schema to a zone

Deprecated
client.APIGateway.UserSchemas.New(ctx, params) (*UserSchemaNewResponse, error)
POST/zones/{zone_id}/api_gateway/user_schemas

Upload a schema to a zone

Security
API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

Example:X-Auth-Email: user@example.com

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
Accepted Permissions (at least one required)
Account API GatewayDomain API Gateway
ParametersExpand Collapse
params UserSchemaNewParams
ZoneID param.Field[string]

Path param: Identifier.

maxLength32
File param.Field[Reader]

Body param: Schema file bytes

Kind param.Field[UserSchemaNewParamsKind]

Body param: Kind of schema

const UserSchemaNewParamsKindOpenAPIV3 UserSchemaNewParamsKind = "openapi_v3"
Name param.Field[string]optional

Body param: Name of the schema

ValidationEnabled param.Field[UserSchemaNewParamsValidationEnabled]optional

Body param: Flag whether schema is enabled for validation.

const UserSchemaNewParamsValidationEnabledTrue UserSchemaNewParamsValidationEnabled = "true"
const UserSchemaNewParamsValidationEnabledFalse UserSchemaNewParamsValidationEnabled = "false"
ReturnsExpand Collapse
type UserSchemaNewResponse struct{…}
CreatedAt Time
formatdate-time
Kind OldPublicSchemaKind

Kind of schema

Name string

Name of the schema

SchemaID string

UUID.

maxLength36
minLength36
Source stringoptional

Source of the schema

ValidationEnabled booloptional

Flag whether schema is enabled for validation.

UploadDetails UserSchemaNewResponseUploadDetailsoptional
Warnings []UserSchemaNewResponseUploadDetailsWarningoptional

Diagnostic warning events that occurred during processing. These events are non-critical errors found within the schema.

Code int64

Code that identifies the event that occurred.

Locations []stringoptional

JSONPath location(s) in the schema where these events were encountered. See https://goessner.net/articles/JsonPath/ for JSONPath specification.

Message stringoptional

Diagnostic message that describes the event.

Upload a schema to a zone

package main

import (
  "bytes"
  "context"
  "fmt"
  "io"

  "github.com/cloudflare/cloudflare-go"
  "github.com/cloudflare/cloudflare-go/api_gateway"
  "github.com/cloudflare/cloudflare-go/option"
)

func main() {
  client := cloudflare.NewClient(
    option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
  )
  userSchema, err := client.APIGateway.UserSchemas.New(context.TODO(), api_gateway.UserSchemaNewParams{
    ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
    File: cloudflare.F(io.Reader(bytes.NewBuffer([]byte("Example data")))),
    Kind: cloudflare.F(api_gateway.UserSchemaNewParamsKindOpenAPIV3),
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", userSchema.Schema)
}
{
  "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": "<schema file bytes>",
      "validation_enabled": true
    },
    "upload_details": {
      "warnings": [
        {
          "code": 28,
          "locations": [
            ".paths[\"/user/{username}\"].put"
          ],
          "message": "unsupported media type: application/octet-stream"
        }
      ]
    }
  },
  "success": true
}
Returns Examples
{
  "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": "<schema file bytes>",
      "validation_enabled": true
    },
    "upload_details": {
      "warnings": [
        {
          "code": 28,
          "locations": [
            ".paths[\"/user/{username}\"].put"
          ],
          "message": "unsupported media type: application/octet-stream"
        }
      ]
    }
  },
  "success": true
}