# Zones Retrieves zone data from Cloudflare for DNS and domain mapping. This input collects information about all zones (domains) associated with your Cloudflare account, including their status, DNS servers, configuration, and plan details. **Sync Type: Full Synchronization** ## Requirements - A Cloudflare account with API access - An API Token with `Zone:Read` permission - Your Cloudflare Account ID (optional, but recommended for better organization) ### Creating an API Token 1. Log in to your Cloudflare dashboard 2. Navigate to **My Profile** > **API Tokens** 3. Click **Create Token** 4. Use the **Create Custom Token** option 5. Configure the token: - **Token name**: Give it a descriptive name (e.g., "Monad Zones") - **Permissions**: Add `Zone` > `Zone` > `Read` - **Zone Resources**: Select the specific zone(s) or "All zones" 6. Click **Continue to summary** and then **Create Token** 7. Copy the token value (you won't be able to see it again) ## Details Monad uses the `cron` field to run this input on specific intervals and returns all zones, performing a full sync of data each time. The input retrieves comprehensive zone information including: - Zone status and configuration - DNS server information (both Cloudflare and original nameservers) - Zone type (full setup, nameserver only, or partial setup) - Associated plan and account information - Zone metadata and permissions The input uses paginated API requests with up to 50 zones per page to efficiently retrieve all zone data. ## Configuration The following configuration defines the input parameters. Each field's specifications, such as type, requirements, and descriptions, are detailed below. #### Settings | Setting | Type | Required | Description | |---------|------|----------|-------------| | Cron | string | Yes | Cron string for scheduling the ingest of your input. Example: '0 0 * * *' for daily execution at midnight. | | API Rate Limit | object | No | Optional limit on the connector's outbound request rate to the source API. Leave blank to use the connector's default behavior. See [API Rate Limiting](../../../guides/rate-limiting) for the field format, limits, and how to choose a value. | #### Secrets | Secret | Type | Required | Description | |--------|------|----------|-------------| | API Token | string | Yes | Your Cloudflare API token with Zone:Read permission | ## Rate Limits | Scope | Limit | Window | Notes | |-------|-------|--------|-------| | API Requests | 1,200 | per 5 minutes | Standard rate limit across Cloudflare API | **Headers**: `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` **Source**: [Cloudflare API Rate Limits](https://developers.cloudflare.com/fundamentals/api/reference/limits/) ## Related Articles - [Cloudflare Zones API Documentation](https://developers.cloudflare.com/api/resources/zones/) - [Cloudflare API Tokens](https://developers.cloudflare.com/fundamentals/api/get-started/create-token/) - [Cloudflare API Rate Limits](https://developers.cloudflare.com/fundamentals/api/reference/limits/) ## Sample Record ```json { "id": "023e105f4ecef8ad9ca31a8372d0c353", "name": "example.com", "status": "active", "paused": false, "type": "full", "development_mode": 0, "name_servers": [ "bob.ns.cloudflare.com", "iris.ns.cloudflare.com" ], "original_name_servers": [ "ns1.originaldnshost.com", "ns2.originaldnshost.com" ], "original_registrar": "GoDaddy", "original_dnshost": null, "modified_on": "2024-01-15T10:30:00Z", "created_on": "2024-01-01T00:00:00Z", "activated_on": "2024-01-02T00:00:00Z", "vanity_name_servers": [], "vanity_name_servers_ips": [], "meta": { "step": 4, "custom_certificate_quota": 5, "page_rule_quota": 50, "phishing_detected": false }, "owner": { "id": "7c5dae5054a8dff9ca6baea1e6e6a9cb", "type": "organization", "name": "Example Organization" }, "account": { "id": "9a7e1204ce5e67c06ba30a151c740d38", "name": "Example Account" }, "tenant": { "id": null, "name": null }, "tenant_unit": { "id": null }, "permissions": [ "#zone:read", "#dns_records:read", "#ssl:read" ], "plan": { "id": "e592fd9519420ba7405e1307bff33b8b", "name": "Pro", "price": 20, "currency": "USD", "frequency": "monthly", "is_subscribed": true, "can_subscribe": true, "legacy_id": "pro", "legacy_discount": false, "externally_managed": false } } ```