Upload a schema
client.SchemaValidation.Schemas.New(ctx, params) (*PublicSchema, error)
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.
Security
API Token
The preferred authorization scheme for interacting with the Cloudflare API. Create a token.
Example:
API Email + API Key
The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.
Example:
The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.
Example:
Accepted Permissions (at least one required)
Upload a schema
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.New(context.TODO(), schema_validation.SchemaNewParams{
ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
Kind: cloudflare.F(schema_validation.SchemaNewParamsKindOpenAPIV3),
Name: cloudflare.F("petstore schema"),
Source: cloudflare.F("<schema file contents>"),
ValidationEnabled: cloudflare.F(true),
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", publicSchema.SchemaID)
}
{
"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": "<schema file contents>",
"validation_enabled": true
},
"success": true
}Returns Examples
{
"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": "<schema file contents>",
"validation_enabled": true
},
"success": true
}