# Cloudflare Users Retrieves account member data from Cloudflare for identity and access mapping. This input collects information about users who have access to your Cloudflare account, including their roles, permissions, and policies. **Sync Type: Full** ## Requirements - A Cloudflare account with API access - An API Token with the `Account Members:Read` permission - Your Cloudflare Account ID ### 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 Users") - **Permissions**: Add `Account` > `Account Members` > `Read` - **Account Resources**: Select the specific account(s) or "All accounts" 6. Click **Continue to summary** and then **Create Token** 7. Copy the token value (you won't be able to see it again) ### Finding Your Account ID 1. Log in to your Cloudflare dashboard 2. Select the account you want to monitor 3. The Account ID is displayed in the right sidebar on the overview page 4. Alternatively, find it in the URL: `https://dash.cloudflare.com/{account_id}/...` ## Details - **State Management**: Uses deduplication to avoid re-processing unchanged members across runs. Each full sync retrieves all current account members. - **API Endpoint**: `GET /accounts/{account_id}/members` - **Pagination**: Page-based pagination with up to 1000 records per page, sorted in ascending order. - **Rate Limits**: 1200 requests per 5 minutes (4 requests per second). The input automatically enforces this limit. ## Configuration ### Settings | Setting | Type | Required | Description | |---------|------|----------|-------------| | `account_id` | string | Yes | Cloudflare Account ID | | `cron` | string | No | Cron expression for scheduling the input (e.g., `0 0 * * *` for daily) | | 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 | API Token with Account Members:Read permission | ### Rate Limits | Limit | Value | Notes | |-------|-------|-------| | Requests per 5 minutes | 1,200 | Enforced by Cloudflare | | Max records per page | 1,000 | Maximum allowed by API | **Source**: [Cloudflare API Rate Limits](https://developers.cloudflare.com/fundamentals/api/reference/limits/) ## Troubleshooting ### Common Issues **Issue**: `API returned success=false` with authentication error **Cause**: The API token is invalid, expired, or lacks the required permissions. **Solution**: Verify your API token is correct and has the `Account Members:Read` permission. Create a new token if needed. **Issue**: `account ID is required` validation error **Cause**: The Account ID field was left empty. **Solution**: Enter your Cloudflare Account ID in the settings. You can find this in your Cloudflare dashboard. **Issue**: Empty results despite having account members **Cause**: The API token may not have access to the specified account. **Solution**: Verify the Account ID is correct and that your API token has been granted access to that account's members. **Issue**: Rate limit exceeded errors **Cause**: Multiple integrations or manual API calls are consuming the rate limit quota. **Solution**: The input automatically handles rate limiting. If you see persistent errors, reduce the frequency of other API calls to your Cloudflare account. ## Related Articles - [Cloudflare Account Members API](https://developers.cloudflare.com/api/resources/accounts/subresources/members/) - [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": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "email": "user@example.com", "status": "accepted", "api_access_enabled": null, "user": { "id": "b2c3d4e5-f6a7-8901-bcde-f23456789012", "first_name": null, "last_name": null, "email": "user@example.com", "two_factor_authentication_enabled": true }, "roles": [ { "id": "c3d4e5f6-a7b8-9012-cdef-345678901234", "name": "Administrator", "description": "Can manage zones and DNS", "permissions": { "access": { "edit": true, "read": true }, "analytics": { "edit": false, "read": true } } } ], "policies": [ { "id": "d4e5f6a7-b8c9-0123-def4-56789012345", "access": "allow", "meta": { "editable": "true" }, "permission_groups": [ { "id": "e5f6a7b8-c9d0-1234-ef56-78901234567", "name": "Administrator", "meta": { "category": "general", "description": "Can manage zones and DNS", "editable": "true", "label": "admin", "scopes": "com.cloudflare.api.account" } } ], "resource_groups": [ { "id": "f6a7b8c9-d0e1-2345-f678-901234567890", "name": "com.cloudflare.api.account.*", "meta": { "editable": "true" }, "scope": { "key": "com.cloudflare.api.account.*", "objects": [ { "key": "*", "attributes": { "editable": "true" } } ] } } ] } ] } ```