API request
import { APIRequest } from "~/components";Required API token permissions
 
At least one of the following token permissions 
is required:
Account API GatewayDomain API Gateway
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/api_gateway/settings/schema_validation" \  --request PUT \  --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \  --json '{    "validation_default_mitigation_action": "block"  }'Required API token permissions
 
At least one of the following token permissions 
is required:
SSL and Certificates Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/hostnames/settings/ciphers/$HOSTNAME" \  --request DELETE \  --header "X-Auth-Email: $CLOUDFLARE_EMAIL" \  --header "X-Auth-Key: $CLOUDFLARE_API_KEY"Required API token permissions
 
At least one of the following token permissions 
is required:
Images Write
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/images/v2/direct_upload" \  --request POST \  --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \  --form "requireSignedURLs=true" \  --form "metadata={\"key\":\"value\"}"Required API token permissions
 
At least one of the following token permissions 
is required:
Cloud Connector Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/cloud_connector/rules" \  --request PUT \  --header "X-Auth-Email: $CLOUDFLARE_EMAIL" \  --header "X-Auth-Key: $CLOUDFLARE_API_KEY" \  --json '[    {        "expression": "http.request.uri.path wildcard \"/images/*\"",        "provider": "cloudflare_r2",        "description": "Connect to R2 bucket containing images",        "parameters": {            "host": "mybucketcustomdomain.example.com"        }    }  ]'Required API token permissions
 
At least one of the following token permissions 
is required:
Page ShieldDomain Page Shield ReadDomain Page ShieldPage Shield ReadZone Settings WriteZone Settings Read
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/page_shield/scripts?direction=asc" \  --request GET \  --header "X-Auth-Email: $CLOUDFLARE_EMAIL" \  --header "X-Auth-Key: $CLOUDFLARE_API_KEY"import { APIRequest } from "~/components";
<APIRequest  path="/zones/{zone_id}/api_gateway/settings/schema_validation"  method="PUT"  json={{    validation_default_mitigation_action: "block",  }}/>
<APIRequest  path="/zones/{zone_id}/hostnames/settings/{setting_id}/{hostname}"  method="DELETE"  parameters={{    setting_id: "ciphers",  }}/>
<APIRequest  path="/accounts/{account_id}/images/v2/direct_upload"  method="POST"  form={{    requireSignedURLs: true,    metadata: '{"key":"value"}',  }}/>
<APIRequest  path="/zones/{zone_id}/cloud_connector/rules"  method="PUT"  json={[    {      expression: 'http.request.uri.path wildcard "/images/*"',      provider: "cloudflare_r2",      description: "Connect to R2 bucket containing images",      parameters: {        host: "mybucketcustomdomain.example.com",      },    },  ]}/>
<APIRequest  path="/zones/{zone_id}/page_shield/scripts"  method="GET"  parameters={{    direction: "asc",  }}/>required
type: string
The path for the API endpoint.
This can be found in our API documentation ↗, under the name of the endpoint.
required
type: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "HEAD"
The HTTP method to use.
type: Record<string, any>
The parameters to substitute - either in the URL path or as query parameters.
For example, /zones/{zone_id}/page_shield/scripts can be transformed into /zones/123/page_shield/scripts?direction=asc with the following:
parameters={{  zone_id: "123",  direction: "asc"}}If not provided, the component will default to an environment variable. For example, {setting_id} will be replaced with $SETTING_ID.
type: Record<string, any> | Record<string, any>[]
The JSON payload to send.
If required properties are missing, the component will throw an error.
type: Record<string, any>
The FormData payload to send.
This field is not currently validated against the schema.
Was this helpful?
- Resources
 - API
 - New to Cloudflare?
 - Products
 - Sponsorships
 - Open Source
 
- Support
 - Help Center
 - System Status
 - Compliance
 - GDPR
 
- Company
 - cloudflare.com
 - Our team
 - Careers
 
- 2025 Cloudflare, Inc.
 - Privacy Policy
 - Terms of Use
 - Report Security Issues
 - Trademark