Bunnycdn

Learn how to use Bunnycdn with Composio

Overview

SLUG: BUNNYCDN

Description

BunnyCDN is a powerful content delivery network (CDN) offering an API to manage and deliver content globally with ease.

Authentication Details

generic_api_key
stringRequired

Connecting to Bunnycdn

Create an auth config

Use the dashboard to create an auth config for the Bunnycdn toolkit. This allows you to connect multiple Bunnycdn accounts to Composio for agents to use.

1

Select App

Navigate to the Bunnycdn toolkit page and click “Setup Integration”.

2

Configure Auth Config Settings

Select among the supported auth schemes of and configure them here.

3

Create and Get auth config ID

Click “Create Integration”. After creation, copy the displayed ID starting with ac_. This is your auth config ID. This is not a sensitive ID — you can save it in environment variables or a database. This ID will be used to create connections to the toolkit for a given user.

Connect Your Account

Using API Key

1from composio import Composio
2from composio.types import auth_scheme
3
4# Replace these with your actual values
5bunnycdn_auth_config_id = "ac_YOUR_BUNNYCDN_CONFIG_ID" # Auth config ID created above
6user_id = "0000-0000-0000" # UUID from database/app
7
8composio = Composio()
9
10def authenticate_toolkit(user_id: str, auth_config_id: str):
11 # Replace this with a method to retrieve an API key from the user.
12 # Or supply your own.
13 user_api_key = input("[!] Enter API key")
14
15 connection_request = composio.connected_accounts.initiate(
16 user_id=user_id,
17 auth_config_id=auth_config_id,
18 config={"auth_scheme": "API_KEY", "val": user_api_key}
19 )
20
21 # API Key authentication is immediate - no redirect needed
22 print(f"Successfully connected Bunnycdn for user {user_id}")
23 print(f"Connection status: {connection_request.status}")
24
25 return connection_request.id
26
27
28connection_id = authenticate_toolkit(user_id, bunnycdn_auth_config_id)
29
30# You can verify the connection using:
31connected_account = composio.connected_accounts.get(connection_id)
32print(f"Connected account: {connected_account}")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the Bunnycdn toolkit’s playground

Python
1from composio import Composio
2from openai import OpenAI
3import json
4
5openai = OpenAI()
6composio = Composio()
7
8# User ID must be a valid UUID format
9user_id = "0000-0000-0000" # Replace with actual user UUID from your database
10
11tools = composio.tools.get(user_id=user_id, toolkits=["BUNNYCDN"])
12
13print("[!] Tools:")
14print(json.dumps(tools))
15
16def invoke_llm(task = "What can you do?"):
17 completion = openai.chat.completions.create(
18 model="gpt-4o",
19 messages=[
20 {
21 "role": "user",
22 "content": task, # Your task here!
23 },
24 ],
25 tools=tools,
26 )
27
28 # Handle Result from tool call
29 result = composio.provider.handle_tool_calls(user_id=user_id, response=completion)
30 print(f"[!] Completion: {completion}")
31 print(f"[!] Tool call result: {result}")
32
33invoke_llm()

Tool List

Tool Name: Add Storage Zone

Description

Tool to add a new storage zone. use when you need dedicated file storage in a specific region.

Action Parameters

Name
stringRequired
OriginUrl
string
Region
string
ReplicationRegions
array

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create DNS Record

Description

Tool to create a new dns record in a specific dns zone. use after confirming the dns zone id is active.

Action Parameters

Accelerated
boolean
Comment
string
Disabled
boolean
EnviromentalVariables
array
Flags
integer
GeolocationLatitude
number
GeolocationLongitude
number
LatencyZone
string
MonitorType
integer
Name
stringRequired
Port
integer
Priority
integer
PullZoneId
integer
ScriptId
integer
SmartRoutingType
integer
Tag
string
Ttl
integerRequired
Type
integerRequired
Value
stringRequired
Weight
integer
zone_id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Pull Zone

Description

Tool to create a new pull zone. use after gathering origin details.

Action Parameters

AWSSigningEnabled
boolean
AWSSigningKey
string
AWSSigningRegionName
string
AWSSigningSecret
string
AddCanonicalHeader
boolean
AddHostHeader
boolean
CacheControlMaxAgeOverride
integer
EnableCacheSlice
boolean
EnableCountryCodeVary
boolean
EnableGeoZoneAF
boolean
EnableGeoZoneAN
boolean
EnableGeoZoneASIA
boolean
EnableGeoZoneEU
boolean
EnableGeoZoneME
boolean
EnableGeoZoneOC
boolean
EnableGeoZoneSA
boolean
EnableGeoZoneUS
boolean
EnableHostnameVary
boolean
EnableLogging
boolean
EnableOriginShield
boolean
EnableTLS1
boolean
EnableWebpVary
boolean
IgnoreQueryStrings
boolean
LogForwardingEnabled
boolean
LogForwardingHostname
string
LogForwardingPort
integer
LogForwardingToken
string
LoggingSaveToStorage
boolean
LoggingStorageZoneId
integer
Name
stringRequired
OriginShieldZoneCode
string
OriginUrl
stringRequired
PricingTier
integer
StorageZoneId
integer
Type
integer

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete DNS Record

Description

Tool to delete a specific dns record by its id. use after confirming the dns zone id and record id.

Action Parameters

record_id
integerRequired
zone_id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete DNS Zone

Description

Tool to delete a specific dns zone by its id. use when you need to permanently remove an existing dns zone after verifying the zone id.

Action Parameters

id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Pull Zone

Description

Tool to delete a specific pull zone by its id. use when you need to remove a pull zone after confirming its id.

Action Parameters

id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Storage Zone

Description

Tool to delete a storage zone. use when you need to remove a storage zone after confirming its id.

Action Parameters

id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get DNS Zone List

Description

Tool to list all dns zones in your bunny cdn account. use when you need an overview of all configured dns zones.

Action Parameters

page
integerDefaults to 1
perPage
integerDefaults to 50

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Pull Zone List

Description

Tool to fetch the list of pull zones. use when you need an overview of all pull zones in your account.

Action Parameters

includeCertificate
boolean
page
integerDefaults to 1
perPage
integerDefaults to 50
search
string

Action Response

data
arrayRequired
error
string
successful
booleanRequired

Tool Name: Get Storage Zone List

Description

Tool to list all storage zones in your bunny cdn account. use when you need an overview of all configured storage zones.

Action Parameters

page
integerDefaults to 1
perPage
integerDefaults to 50

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List DNS Records

Description

Tool to list all dns records in a specific dns zone. use when you need to audit or review the dns configuration of a zone.

Action Parameters

skip
integer
take
integer
zoneId
integerRequired

Action Response

data
arrayRequired
error
string
successful
booleanRequired

Tool Name: Update Pull Zone

Description

Tool to update settings for a specific pull zone. use when you need to modify existing pull zone settings after reviewing current configuration.

Action Parameters

AWSSigningEnabled
boolean
AWSSigningKey
string
AWSSigningRegionName
string
AWSSigningSecret
string
AddCanonicalHeader
boolean
AddHostHeader
boolean
BlockedCountries
array
BudgetRedirectedCountries
array
CacheControlMaxAgeOverride
integer
CacheErrorResponses
boolean
DisableCookies
boolean
EnableCacheSlice
boolean
EnableCountryCodeVary
boolean
EnableGeoZoneAF
boolean
EnableGeoZoneAN
boolean
EnableGeoZoneASIA
boolean
EnableGeoZoneEU
boolean
EnableGeoZoneME
boolean
EnableGeoZoneOC
boolean
EnableGeoZoneSA
boolean
EnableGeoZoneUS
boolean
EnableHostnameVary
boolean
EnableLogging
boolean
EnableOriginShield
boolean
EnableQueryStringOrdering
boolean
EnableTLS1
boolean
EnableWebpVary
boolean
IgnoreQueryStrings
boolean
LogForwardingEnabled
boolean
LogForwardingHostname
string
LogForwardingPort
integer
LogForwardingToken
string
LoggingSaveToStorage
boolean
LoggingStorageZoneId
integer
Name
string
OriginShieldZoneCode
string
OriginUrl
string
PricingTier
integer
StorageZoneId
integer
Type
integer
id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Storage Zone

Description

Tool to update settings for a specific storage zone. use after reviewing current storage zone settings to apply changes.

Action Parameters

Custom404FilePath
string
OriginUrl
string
ReplicationZones
array
Rewrite404To200
boolean
id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get DNS Zone Details

Description

Tool to retrieve details of a specific dns zone by its id. use when you need to verify dns zone configuration after creation or update.

Action Parameters

id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Pull Zone

Description

Tool to retrieve details of a specific pull zone. use when you need full configuration and usage stats after confirming the pull zone id.

Action Parameters

id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Storage Zone Details

Description

Tool to retrieve the full details of a storage zone. use when you need configuration and usage metrics for a specific storage zone.

Action Parameters

id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Storage Zone Region

Description

Tool to retrieve the region code of a storage zone. use when you have a storage zone id and need only its geographic region.

Action Parameters

id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Purge Pull Zone

Description

Tool to purge the entire cache of a pull zone. use after updating origin or critical content to ensure no stale assets are served.

Action Parameters

id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Purge URL

Description

Tool to purge a specific url from the bunnycdn cache. use when you need to invalidate a resource immediately after updating it.

Action Parameters

async_flag
boolean
url
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Set Storage Zone Region

Description

Tool to update replication regions of a storage zone. use when you need to adjust geo-replication settings after reviewing current configurations.

Action Parameters

ReplicationZones
arrayRequired
id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired