Create a Turnstile Widget
client.turnstile.widgets.create(WidgetCreateParams { account_id, domains, mode, 11 more } params, RequestOptionsoptions?): Widget { bot_fight_mode, clearance_level, created_on, 9 more }
POST/accounts/{account_id}/challenges/widgets
Lists challenge widgets.
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)
Create a Turnstile Widget
import Cloudflare from 'cloudflare';
const client = new Cloudflare({
apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted
});
const widget = await client.turnstile.widgets.create({
account_id: '023e105f4ecef8ad9ca31a8372d0c353',
domains: ['203.0.113.1', 'cloudflare.com', 'blog.example.com'],
mode: 'invisible',
name: 'blog.cloudflare.com login form',
});
console.log(widget.ephemeral_id);{
"errors": [
{
"code": 1000,
"message": "message",
"documentation_url": "documentation_url",
"source": {
"pointer": "pointer"
}
}
],
"messages": [
{
"code": 1000,
"message": "message",
"documentation_url": "documentation_url",
"source": {
"pointer": "pointer"
}
}
],
"success": true,
"result": {
"bot_fight_mode": false,
"clearance_level": "interactive",
"created_on": "2014-01-01T05:20:00.123123Z",
"domains": [
"203.0.113.1",
"cloudflare.com",
"blog.example.com"
],
"ephemeral_id": false,
"mode": "invisible",
"modified_on": "2014-01-01T05:20:00.123123Z",
"name": "blog.cloudflare.com login form",
"offlabel": false,
"region": "world",
"secret": "0x4AAF00AAAABn0R22HWm098HVBjhdsYUc",
"sitekey": "0x4AAF00AAAABn0R22HWm-YUc"
},
"result_info": {
"count": 1,
"page": 1,
"per_page": 20,
"total_count": 2000
}
}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"
}
}
],
"success": true,
"result": {
"bot_fight_mode": false,
"clearance_level": "interactive",
"created_on": "2014-01-01T05:20:00.123123Z",
"domains": [
"203.0.113.1",
"cloudflare.com",
"blog.example.com"
],
"ephemeral_id": false,
"mode": "invisible",
"modified_on": "2014-01-01T05:20:00.123123Z",
"name": "blog.cloudflare.com login form",
"offlabel": false,
"region": "world",
"secret": "0x4AAF00AAAABn0R22HWm098HVBjhdsYUc",
"sitekey": "0x4AAF00AAAABn0R22HWm-YUc"
},
"result_info": {
"count": 1,
"page": 1,
"per_page": 20,
"total_count": 2000
}
}