sashalenz / cloudflare-api
Cloudflare API SDK for Laravel
0.1.0
2026-06-15 17:23 UTC
Requires
- php: ^8.2
- illuminate/config: ^11.0||^12.0||^13.0
- illuminate/contracts: ^11.0||^12.0||^13.0
- illuminate/http: ^11.0||^12.0||^13.0
- illuminate/support: ^11.0||^12.0||^13.0
- spatie/laravel-data: ^4.4
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- larastan/larastan: ^3.0
- laravel/pint: ^1.18
- orchestra/testbench: ^9.0||^10.0||^11.0
- pestphp/pest: ^3.0||^4.0
- pestphp/pest-plugin-laravel: ^3.0||^4.0
README
Laravel package for interacting with Cloudflare API.
Installation
composer require sashalenz/cloudflare-api
The service provider is auto-discovered.
Configuration
Add your Cloudflare API token to your .env file:
CLOUDFLARE_API_TOKEN=your_api_token_here
Publish the config file:
php artisan vendor:publish --tag=cloudflare-api-config
Usage
DNS Records
List DNS Records
use Sashalenz\CloudflareApi\CloudflareApi; $records = CloudflareApi::dnsRecords() ->list('zone_id');
Get DNS Record Details
$record = CloudflareApi::dnsRecords() ->details('zone_id', 'record_id');
Create DNS Record
$record = CloudflareApi::dnsRecords() ->create('zone_id', [ 'type' => 'A', 'name' => 'example.com', 'content' => '192.0.2.1', 'ttl' => 3600, ]);
Update DNS Record
$record = CloudflareApi::dnsRecords() ->update('zone_id', 'record_id', [ 'content' => '192.0.2.2', ]);
Delete DNS Record
CloudflareApi::dnsRecords() ->delete('zone_id', 'record_id');
License
MIT