Skip to content
Start here

Edit details of a schema to enable validation

client.SchemaValidation.Schemas.Edit(ctx, schemaID, params) (*PublicSchema, error)
PATCH/zones/{zone_id}/schema_validation/schemas/{schema_id}

Modifies an existing OpenAPI schema in API Shield, updating the validation rules for associated API operations.

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
schemaID string

UUID.

maxLength36
minLength36
formatuuid
params SchemaEditParams
ZoneID param.Field[string]

Path param: Identifier.

maxLength32
ValidationEnabled param.Field[bool]optional

Body param: Flag whether schema is enabled for validation.

ReturnsExpand Collapse
type PublicSchema struct{…}

A schema used in schema validation

CreatedAt Time
formatdate-time
Kind PublicSchemaKind

The kind of the schema

Name string

A human-readable name for the schema

SchemaID string

A unique identifier of this schema

maxLength36
minLength36
formatuuid
Source string

The raw schema, e.g., the OpenAPI schema, either as JSON or YAML

ValidationEnabled booloptional

An indicator if this schema is enabled

Edit details of a schema to enable validation

package main

import (
  "context"
  "fmt"

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

func main() {
  client := cloudflare.NewClient(
    option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
  )
  publicSchema, err := client.SchemaValidation.Schemas.Edit(
    context.TODO(),
    "f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
    schema_validation.SchemaEditParams{
      ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", publicSchema.SchemaID)
}
{
  "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": {
    "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": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "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
}