Skip to content

API request

The APIRequest component is used 611 times on 244 pages.

See all examples of pages that use APIRequest

Used 611 times.

Pages

Partials

Import

import { APIRequest } from "~/components";

Usage

import { APIRequest } from "~/components";
<APIRequest
path="/zones/{zone_id}/api_gateway/settings/schema_validation"
method="PUT"
json={{
validation_default_mitigation_action: "block",
}}
code={{
mark: [5, "block"],
}}
roles="Domain"
/>
<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",
}}
/>

<APIRequest> Props

path

required

type: string

The path for the API endpoint.

This can be found in our API documentation, under the name of the endpoint.

method

required

type: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "HEAD"

The HTTP method to use.

parameters

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.

json

type: Record<string, any> | Record<string, any>[]

The JSON payload to send.

If required properties are missing, the component will throw an error.

Functionally, the --json option is equivalent to the --data option in cURL, but handles a few additional headers automatically.

form

type: Record<string, any>

The FormData payload to send.

This field is not currently validated against the schema.

code

type: object

An object of Expressive Code props, the following props are available:

roles

type: string | boolean

default: true

If set to true, which is the default, all API token roles will show.

If set to false, API token roles will not be displayed.

If set to a string, the API token roles will be filtered using it as a substring (i.e, roles="domain" to filter out Account API Gateway and only leave Domain API Gateway).