Cloudflare · Capability

Cloudflare API — User

Cloudflare API — User. 46 operations. Lead operation: Cloudflare User Details. Self-contained Naftiko capability covering one Cloudflare business surface.

Run with Naftiko CloudflareUser

What You Can Do

GET
Useruserdetails — Cloudflare User Details
/v1/user
PATCH
Useredituser — Cloudflare Edit User
/v1/user
GET
Auditlogsgetuserauditlogs — Cloudflare Get user audit logs
/v1/user/audit-logs
GET
Userbillinghistorydeprecatedbillinghistorydetails — Cloudflare Billing History Details
/v1/user/billing/history
GET
Userbillingprofiledeprecatedbillingprofiledetails — Cloudflare Billing Profile Details
/v1/user/billing/profile
GET
Ipaccessrulesforauserlistipaccessrules — Cloudflare List IP Access rules
/v1/user/firewall/access-rules/rules
POST
Ipaccessrulesforausercreateanipaccessrule — Cloudflare Create an IP Access rule
/v1/user/firewall/access-rules/rules
DELETE
Ipaccessrulesforauserdeleteanipaccessrule — Cloudflare Delete an IP Access rule
/v1/user/firewall/access-rules/rules/{identifier}
PATCH
Ipaccessrulesforauserupdateanipaccessrule — Cloudflare Update an IP Access rule
/v1/user/firewall/access-rules/rules/{identifier}
GET
Usersinviteslistinvitations — Cloudflare List Invitations
/v1/user/invites
GET
Usersinvitesinvitationdetails — Cloudflare Invitation Details
/v1/user/invites/{invite-id}
PATCH
Usersinvitesrespondtoinvitation — Cloudflare Respond to Invitation
/v1/user/invites/{invite-id}
GET
Loadbalancermonitorslistmonitors — Cloudflare List Monitors
/v1/user/load-balancers/monitors
POST
Loadbalancermonitorscreatemonitor — Cloudflare Create Monitor
/v1/user/load-balancers/monitors
DELETE
Loadbalancermonitorsdeletemonitor — Cloudflare Delete Monitor
/v1/user/load-balancers/monitors/{monitor-id}
GET
Loadbalancermonitorsmonitordetails — Cloudflare Monitor Details
/v1/user/load-balancers/monitors/{monitor-id}
PATCH
Loadbalancermonitorspatchmonitor — Cloudflare Patch Monitor
/v1/user/load-balancers/monitors/{monitor-id}
PUT
Loadbalancermonitorsupdatemonitor — Cloudflare Update Monitor
/v1/user/load-balancers/monitors/{monitor-id}
POST
Loadbalancermonitorspreviewmonitor — Cloudflare Preview Monitor
/v1/user/load-balancers/monitors/{monitor-id}/preview
GET
Loadbalancermonitorslistmonitorreferences — Cloudflare List Monitor References
/v1/user/load-balancers/monitors/{monitor-id}/references
GET
Loadbalancerpoolslistpools — Cloudflare List Pools
/v1/user/load-balancers/pools
PATCH
Loadbalancerpoolspatchpools — Cloudflare Patch Pools
/v1/user/load-balancers/pools
POST
Loadbalancerpoolscreatepool — Cloudflare Create Pool
/v1/user/load-balancers/pools
DELETE
Loadbalancerpoolsdeletepool — Cloudflare Delete Pool
/v1/user/load-balancers/pools/{pool-id}
GET
Loadbalancerpoolspooldetails — Cloudflare Pool Details
/v1/user/load-balancers/pools/{pool-id}
PATCH
Loadbalancerpoolspatchpool — Cloudflare Patch Pool
/v1/user/load-balancers/pools/{pool-id}
PUT
Loadbalancerpoolsupdatepool — Cloudflare Update Pool
/v1/user/load-balancers/pools/{pool-id}
GET
Loadbalancerpoolspoolhealthdetails — Cloudflare Pool Health Details
/v1/user/load-balancers/pools/{pool-id}/health
POST
Loadbalancerpoolspreviewpool — Cloudflare Preview Pool
/v1/user/load-balancers/pools/{pool-id}/preview
GET
Loadbalancerpoolslistpoolreferences — Cloudflare List Pool References
/v1/user/load-balancers/pools/{pool-id}/references
GET
Loadbalancermonitorspreviewresult — Cloudflare Preview Result
/v1/user/load-balancers/preview/{preview-id}
GET
Loadbalancerhealthcheckeventslisthealthcheckevents — Cloudflare List Healthcheck Events
/v1/user/load-balancing-analytics/events
GET
Usersorganizationslistorganizations — Cloudflare List Organizations
/v1/user/organizations
DELETE
Usersorganizationsleaveorganization — Cloudflare Leave Organization
/v1/user/organizations/{organization-id}
GET
Usersorganizationsorganizationdetails — Cloudflare Organization Details
/v1/user/organizations/{organization-id}
GET
Usersubscriptiongetusersubscriptions — Cloudflare Get User Subscriptions
/v1/user/subscriptions
DELETE
Usersubscriptiondeleteusersubscription — Cloudflare Delete User Subscription
/v1/user/subscriptions/{identifier}
PUT
Usersubscriptionupdateusersubscription — Cloudflare Update User Subscription
/v1/user/subscriptions/{identifier}
GET
Userapitokenslisttokens — Cloudflare List Tokens
/v1/user/tokens
POST
Userapitokenscreatetoken — Cloudflare Create Token
/v1/user/tokens
GET
Permissiongroupslistpermissiongroups — Cloudflare List Permission Groups
/v1/user/tokens/permission-groups
GET
Userapitokensverifytoken — Cloudflare Verify Token
/v1/user/tokens/verify
DELETE
Userapitokensdeletetoken — Cloudflare Delete Token
/v1/user/tokens/{token-id}
GET
Userapitokenstokendetails — Cloudflare Token Details
/v1/user/tokens/{token-id}
PUT
Userapitokensupdatetoken — Cloudflare Update Token
/v1/user/tokens/{token-id}
PUT
Userapitokensrolltoken — Cloudflare Roll Token
/v1/user/tokens/{token-id}/value

MCP Tools

cloudflare-user-details

Cloudflare User Details

read-only idempotent
cloudflare-edit-user

Cloudflare Edit User

idempotent
cloudflare-get-user-audit-logs

Cloudflare Get user audit logs

read-only idempotent
cloudflare-billing-history-details

Cloudflare Billing History Details

read-only idempotent
cloudflare-billing-profile-details

Cloudflare Billing Profile Details

read-only idempotent
cloudflare-list-ip-access-rules

Cloudflare List IP Access rules

read-only idempotent
cloudflare-create-ip-access-rule

Cloudflare Create an IP Access rule

cloudflare-delete-ip-access-rule

Cloudflare Delete an IP Access rule

idempotent
cloudflare-update-ip-access-rule

Cloudflare Update an IP Access rule

idempotent
cloudflare-list-invitations

Cloudflare List Invitations

read-only idempotent
cloudflare-invitation-details

Cloudflare Invitation Details

read-only idempotent
cloudflare-respond-invitation

Cloudflare Respond to Invitation

idempotent
cloudflare-list-monitors

Cloudflare List Monitors

read-only idempotent
cloudflare-create-monitor

Cloudflare Create Monitor

cloudflare-delete-monitor

Cloudflare Delete Monitor

idempotent
cloudflare-monitor-details

Cloudflare Monitor Details

read-only idempotent
cloudflare-patch-monitor

Cloudflare Patch Monitor

idempotent
cloudflare-update-monitor

Cloudflare Update Monitor

idempotent
cloudflare-preview-monitor

Cloudflare Preview Monitor

cloudflare-list-monitor-references

Cloudflare List Monitor References

read-only idempotent
cloudflare-list-pools

Cloudflare List Pools

read-only idempotent
cloudflare-patch-pools

Cloudflare Patch Pools

idempotent
cloudflare-create-pool

Cloudflare Create Pool

cloudflare-delete-pool

Cloudflare Delete Pool

idempotent
cloudflare-pool-details

Cloudflare Pool Details

read-only idempotent
cloudflare-patch-pool

Cloudflare Patch Pool

idempotent
cloudflare-update-pool

Cloudflare Update Pool

idempotent
cloudflare-pool-health-details

Cloudflare Pool Health Details

read-only idempotent
cloudflare-preview-pool

Cloudflare Preview Pool

cloudflare-list-pool-references

Cloudflare List Pool References

read-only idempotent
cloudflare-preview-result

Cloudflare Preview Result

read-only idempotent
cloudflare-list-healthcheck-events

Cloudflare List Healthcheck Events

read-only idempotent
cloudflare-list-organizations

Cloudflare List Organizations

read-only idempotent
cloudflare-leave-organization

Cloudflare Leave Organization

idempotent
cloudflare-organization-details

Cloudflare Organization Details

read-only idempotent
cloudflare-get-user-subscriptions

Cloudflare Get User Subscriptions

read-only idempotent
cloudflare-delete-user-subscription

Cloudflare Delete User Subscription

idempotent
cloudflare-update-user-subscription

Cloudflare Update User Subscription

idempotent
cloudflare-list-tokens

Cloudflare List Tokens

read-only idempotent
cloudflare-create-token

Cloudflare Create Token

cloudflare-list-permission-groups

Cloudflare List Permission Groups

read-only idempotent
cloudflare-verify-token

Cloudflare Verify Token

read-only idempotent
cloudflare-delete-token

Cloudflare Delete Token

idempotent
cloudflare-token-details

Cloudflare Token Details

read-only idempotent
cloudflare-update-token

Cloudflare Update Token

idempotent
cloudflare-roll-token

Cloudflare Roll Token

idempotent

Capability Spec

cloudflare-user.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Cloudflare API — User
  description: 'Cloudflare API — User. 46 operations. Lead operation: Cloudflare User Details. Self-contained Naftiko capability
    covering one Cloudflare business surface.'
  tags:
  - Cloudflare
  - User
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    CLOUDFLARE_API_KEY: CLOUDFLARE_API_KEY
capability:
  consumes:
  - type: http
    namespace: cloudflare-user
    baseUri: https://api.cloudflare.com/client/v4
    description: Cloudflare API — User business capability. Self-contained, no shared references.
    resources:
    - name: user
      path: /user
      operations:
      - name: useruserdetails
        method: GET
        description: Cloudflare User Details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: useredituser
        method: PATCH
        description: Cloudflare Edit User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: user-audit_logs
      path: /user/audit_logs
      operations:
      - name: auditlogsgetuserauditlogs
        method: GET
        description: Cloudflare Get user audit logs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: query
          type: string
        - name: export
          in: query
          type: boolean
        - name: action.type
          in: query
          type: string
        - name: actor.ip
          in: query
          type: string
        - name: actor.email
          in: query
          type: string
        - name: since
          in: query
          type: string
        - name: before
          in: query
          type: string
        - name: zone.name
          in: query
          type: string
        - name: direction
          in: query
          type: string
        - name: per_page
          in: query
          type: number
        - name: page
          in: query
          type: number
        - name: hide_user_logs
          in: query
          type: boolean
    - name: user-billing-history
      path: /user/billing/history
      operations:
      - name: userbillinghistorydeprecatedbillinghistorydetails
        method: GET
        description: Cloudflare Billing History Details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: page
          in: query
          type: number
        - name: per_page
          in: query
          type: number
        - name: order
          in: query
          type: string
        - name: occured_at
          in: query
          type: string
        - name: occurred_at
          in: query
          type: string
        - name: type
          in: query
          type: string
        - name: action
          in: query
          type: string
    - name: user-billing-profile
      path: /user/billing/profile
      operations:
      - name: userbillingprofiledeprecatedbillingprofiledetails
        method: GET
        description: Cloudflare Billing Profile Details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: user-firewall-access_rules-rules
      path: /user/firewall/access_rules/rules
      operations:
      - name: ipaccessrulesforauserlistipaccessrules
        method: GET
        description: Cloudflare List IP Access rules
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: filters
          in: query
          type: string
        - name: egs-pagination.json
          in: query
          type: string
        - name: page
          in: query
          type: number
        - name: per_page
          in: query
          type: number
        - name: order
          in: query
          type: string
        - name: direction
          in: query
          type: string
      - name: ipaccessrulesforausercreateanipaccessrule
        method: POST
        description: Cloudflare Create an IP Access rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: user-firewall-access_rules-rules-identifier
      path: /user/firewall/access_rules/rules/{identifier}
      operations:
      - name: ipaccessrulesforauserdeleteanipaccessrule
        method: DELETE
        description: Cloudflare Delete an IP Access rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: identifier
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: ipaccessrulesforauserupdateanipaccessrule
        method: PATCH
        description: Cloudflare Update an IP Access rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: identifier
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: user-invites
      path: /user/invites
      operations:
      - name: usersinviteslistinvitations
        method: GET
        description: Cloudflare List Invitations
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: user-invites-invite_id
      path: /user/invites/{invite_id}
      operations:
      - name: usersinvitesinvitationdetails
        method: GET
        description: Cloudflare Invitation Details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: invite_id
          in: path
          type: string
          required: true
      - name: usersinvitesrespondtoinvitation
        method: PATCH
        description: Cloudflare Respond to Invitation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: invite_id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: user-load_balancers-monitors
      path: /user/load_balancers/monitors
      operations:
      - name: loadbalancermonitorslistmonitors
        method: GET
        description: Cloudflare List Monitors
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: loadbalancermonitorscreatemonitor
        method: POST
        description: Cloudflare Create Monitor
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: user-load_balancers-monitors-monitor_id
      path: /user/load_balancers/monitors/{monitor_id}
      operations:
      - name: loadbalancermonitorsdeletemonitor
        method: DELETE
        description: Cloudflare Delete Monitor
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: monitor_id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: loadbalancermonitorsmonitordetails
        method: GET
        description: Cloudflare Monitor Details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: monitor_id
          in: path
          type: string
          required: true
      - name: loadbalancermonitorspatchmonitor
        method: PATCH
        description: Cloudflare Patch Monitor
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: monitor_id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: loadbalancermonitorsupdatemonitor
        method: PUT
        description: Cloudflare Update Monitor
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: monitor_id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: user-load_balancers-monitors-monitor_id-preview
      path: /user/load_balancers/monitors/{monitor_id}/preview
      operations:
      - name: loadbalancermonitorspreviewmonitor
        method: POST
        description: Cloudflare Preview Monitor
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: monitor_id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: user-load_balancers-monitors-monitor_id-references
      path: /user/load_balancers/monitors/{monitor_id}/references
      operations:
      - name: loadbalancermonitorslistmonitorreferences
        method: GET
        description: Cloudflare List Monitor References
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: monitor_id
          in: path
          type: string
          required: true
    - name: user-load_balancers-pools
      path: /user/load_balancers/pools
      operations:
      - name: loadbalancerpoolslistpools
        method: GET
        description: Cloudflare List Pools
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: monitor
          in: query
          type: string
      - name: loadbalancerpoolspatchpools
        method: PATCH
        description: Cloudflare Patch Pools
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: loadbalancerpoolscreatepool
        method: POST
        description: Cloudflare Create Pool
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: user-load_balancers-pools-pool_id
      path: /user/load_balancers/pools/{pool_id}
      operations:
      - name: loadbalancerpoolsdeletepool
        method: DELETE
        description: Cloudflare Delete Pool
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: pool_id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: loadbalancerpoolspooldetails
        method: GET
        description: Cloudflare Pool Details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: pool_id
          in: path
          type: string
          required: true
      - name: loadbalancerpoolspatchpool
        method: PATCH
        description: Cloudflare Patch Pool
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: pool_id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: loadbalancerpoolsupdatepool
        method: PUT
        description: Cloudflare Update Pool
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: pool_id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: user-load_balancers-pools-pool_id-health
      path: /user/load_balancers/pools/{pool_id}/health
      operations:
      - name: loadbalancerpoolspoolhealthdetails
        method: GET
        description: Cloudflare Pool Health Details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: pool_id
          in: path
          type: string
          required: true
    - name: user-load_balancers-pools-pool_id-preview
      path: /user/load_balancers/pools/{pool_id}/preview
      operations:
      - name: loadbalancerpoolspreviewpool
        method: POST
        description: Cloudflare Preview Pool
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: pool_id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: user-load_balancers-pools-pool_id-references
      path: /user/load_balancers/pools/{pool_id}/references
      operations:
      - name: loadbalancerpoolslistpoolreferences
        method: GET
        description: Cloudflare List Pool References
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: pool_id
          in: path
          type: string
          required: true
    - name: user-load_balancers-preview-preview_id
      path: /user/load_balancers/preview/{preview_id}
      operations:
      - name: loadbalancermonitorspreviewresult
        method: GET
        description: Cloudflare Preview Result
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: preview_id
          in: path
          type: string
          required: true
    - name: user-load_balancing_analytics-events
      path: /user/load_balancing_analytics/events
      operations:
      - name: loadbalancerhealthcheckeventslisthealthcheckevents
        method: GET
        description: Cloudflare List Healthcheck Events
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: until
          in: query
          type: string
        - name: pool_name
          in: query
          type: string
        - name: origin_healthy
          in: query
          type: string
        - name: pool_id
          in: query
          type: string
        - name: since
          in: query
          type: string
        - name: origin_name
          in: query
          type: string
        - name: pool_healthy
          in: query
          type: boolean
    - name: user-organizations
      path: /user/organizations
      operations:
      - name: usersorganizationslistorganizations
        method: GET
        description: Cloudflare List Organizations
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: query
          type: string
        - name: page
          in: query
          type: number
        - name: per_page
          in: query
          type: number
        - name: order
          in: query
          type: string
        - name: direction
          in: query
          type: string
        - name: match
          in: query
          type: string
        - name: status
          in: query
          type: string
    - name: user-organizations-organization_id
      path: /user/organizations/{organization_id}
      operations:
      - name: usersorganizationsleaveorganization
        method: DELETE
        description: Cloudflare Leave Organization
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: organization_id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: usersorganizationsorganizationdetails
        method: GET
        description: Cloudflare Organization Details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: organization_id
          in: path
          type: string
          required: true
    - name: user-subscriptions
      path: /user/subscriptions
      operations:
      - name: usersubscriptiongetusersubscriptions
        method: GET
        description: Cloudflare Get User Subscriptions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: user-subscriptions-identifier
      path: /user/subscriptions/{identifier}
      operations:
      - name: usersubscriptiondeleteusersubscription
        method: DELETE
        description: Cloudflare Delete User Subscription
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: identifier
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: usersubscriptionupdateusersubscription
        method: PUT
        description: Cloudflare Update User Subscription
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: identifier
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: user-tokens
      path: /user/tokens
      operations:
      - name: userapitokenslisttokens
        method: GET
        description: Cloudflare List Tokens
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: page
          in: query
          type: number
        - name: per_page
          in: query
          type: number
        - name: direction
          in: query
          type: string
      - name: userapitokenscreatetoken
        method: POST
        description: Cloudflare Create Token
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: user-tokens-permission_groups
      path: /user/tokens/permission_groups
      operations:
      - name: permissiongroupslistpermissiongroups
        method: GET
        description: Cloudflare List Permission Groups
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: user-tokens-verify
      path: /user/tokens/verify
      operations:
      - name: userapitokensverifytoken
        method: GET
        description: Cloudflare Verify Token
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: user-tokens-token_id
      path: /user/tokens/{token_id}
      operations:
      - name: userapitokensdeletetoken
        method: DELETE
        description: Cloudflare Delete Token
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: token_id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: userapitokenstokendetails
        method: GET
        description: Cloudflare Token Details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: token_id
          in: path
          type: string
          required: true
      - name: userapitokensupdatetoken
        method: PUT
        description: Cloudflare Update Token
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: token_id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: user-tokens-token_id-value
      path: /user/tokens/{token_id}/value
      operations:
      - name: userapitokensrolltoken
        method: PUT
        description: Cloudflare Roll Token
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: token_id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: bearer
      token: '{{env.CLOUDFLARE_API_KEY}}'
  exposes:
  - type: rest
    namespace: cloudflare-user-rest
    port: 8080
    description: REST adapter for Cloudflare API — User. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/user
      name: user
      description: REST surface for user.
      operations:
      - method: GET
        name: useruserdetails
        description: Cloudflare User Details
        call: cloudflare-user.useruserdetails
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: useredituser
        description: Cloudflare Edit User
        call: cloudflare-user.useredituser
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user/audit-logs
      name: user-audit-logs
      description: REST surface for user-audit_logs.
      operations:
      - method: GET
        name: auditlogsgetuserauditlogs
        description: Cloudflare Get user audit logs
        call: cloudflare-user.auditlogsgetuserauditlogs
        with:
          id: rest.id
          export: rest.export
          action.type: rest.action.type
          actor.ip: rest.actor.ip
          actor.email: rest.actor.email
          since: rest.since
          before: rest.before
          zone.name: rest.zone.name
          direction: rest.direction
          per_page: rest.per_page
          page: rest.page
          hide_user_logs: rest.hide_user_logs
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user/billing/history
      name: user-billing-history
      description: REST surface for user-billing-history.
      operations:
      - method: GET
        name: userbillinghistorydeprecatedbillinghistorydetails
        description: Cloudflare Billing History Details
        call: cloudflare-user.userbillinghistorydeprecatedbillinghistorydetails
        with:
          page: rest.page
          per_page: rest.per_page
          order: rest.order
          occured_at: rest.occured_at
          occurred_at: rest.occurred_at
          type: rest.type
          action: rest.action
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user/billing/profile
      name: user-billing-profile
      description: REST surface for user-billing-profile.
      operations:
      - method: GET
        name: userbillingprofiledeprecatedbillingprofiledetails
        description: Cloudflare Billing Profile Details
        call: cloudflare-user.userbillingprofiledeprecatedbillingprofiledetails
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user/firewall/access-rules/rules
      name: user-firewall-access-rules-rules
      description: REST surface for user-firewall-access_rules-rules.
      operations:
      - method: GET
        name: ipaccessrulesforauserlistipaccessrules
        description: Cloudflare List IP Access rules
        call: cloudflare-user.ipaccessrulesforauserlistipaccessrules
        with:
          filters: rest.filters
          egs-pagination.json: rest.egs-pagination.json
          page: rest.page
          per_page: rest.per_page
          order: rest.order
          direction: rest.direction
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: ipaccessrulesforausercreateanipaccessrule
        description: Cloudflare Create an IP Access rule
        call: cloudflare-user.ipaccessrulesforausercreateanipaccessrule
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user/firewall/access-rules/rules/{identifier}
      name: user-firewall-access-rules-rules-identifier
      description: REST surface for user-firewall-access_rules-rules-identifier.
      operations:
      - method: DELETE
        name: ipaccessrulesforauserdeleteanipaccessrule
        description: Cloudflare Delete an IP Access rule
        call: cloudflare-user.ipaccessrulesforauserdeleteanipaccessrule
        with:
          identifier: rest.identifier
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: ipaccessrulesforauserupdateanipaccessrule
        description: Cloudflare Update an IP Access rule
        call: cloudflare-user.ipaccessrulesforauserupdateanipaccessrule
        with:
          identifier: rest.identifier
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user/invites
      name: user-invites
      description: REST surface for user-invites.
      operations:
      - method: GET
        name: usersinviteslistinvitations
        description: Cloudflare List Invitations
        call: cloudflare-user.usersinviteslistinvitations
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user/invites/{invite-id}
      name: user-invites-invite-id
      description: REST surface for user-invites-invite_id.
      operations:
      - method: GET
        name: usersinvitesinvitationdetails
        description: Cloudflare Invitation Details
        call: cloudflare-user.usersinvitesinvitationdetails
        with:
          invite_id: rest.invite_id
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: usersinvitesrespondtoinvitation
        description: Cloudflare Respond to Invitation
        call: cloudflare-user.usersinvitesrespondtoinvitation
        with:
          invite_id: rest.invite_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user/load-balancers/monitors
      name: user-load-balancers-monitors
      description: REST surface for user-load_balancers-monitors.
      operations:
      - method: GET
        name: loadbalancermonitorslistmonitors
        description: Cloudflare List Monitors
        call: cloudflare-user.loadbalancermonitorslistmonitors
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: loadbalancermonitorscreatemonitor
        description: Cloudflare Create Monitor
        call: cloudflare-user.loadbalancermonitorscreatemonitor
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user/load-balancers/monitors/{monitor-id}
      name: user-load-balancers-monitors-monitor-id
      description: REST surface for user-load_balancers-monitors-monitor_id.
      operations:
      - method: DELETE
        name: loadbalancermonitorsdeletemonitor
        description: Cloudflare Delete Monitor
        call: cloudflare-user.loadbalancermonitorsdeletemonitor
        with:
          monitor_id: rest.monitor_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: loadbalancermonitorsmonitordetails
        description: Cloudflare Monitor Details
        call: cloudflare-user.loadbalancermonitorsmonitordetails
        with:
          monitor_id: rest.monitor_id
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: loadbalancermonitorspatchmonitor
        description: Cloudflare Patch Monitor
        call: cloudflare-user.loadbalancermonitorspatchmonitor
        with:
          monitor_id: rest.monitor_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: loadbalancermonitorsupdatemonitor
        description: Cloudflare Update Monitor
        call: cloudflare-user.loadbalancermonitorsupdatemonitor
        with:
          monitor_id: rest.monitor_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user/load-balancers/monitors/{monitor-id}/preview
      name: user-load-balancers-monitors-monitor-id-preview
      description: REST surface for user-load_balancers-monitors-monitor_id-preview.
      operations:
      - method: POST
        name: loadbalancermonitorspreviewmonitor
        description: Cloudflare Preview Monitor
        call: cloudflare-user.loadbalancermonitorspreviewmonitor
        with:
          monitor_id: rest.monitor_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user/load-balancers/monitors/{monitor-id}/references
      name: user-load-balancers-monitors-monitor-id-references
      description: REST surface for user-load_balancers-monitors-monitor_id-references.
      operations:
      - method: GET
        name: loadbalancermonitorslistmonitorreferences
        description: Cloudflare Li

# --- truncated at 32 KB (60 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cloudflare/refs/heads/main/capabilities/cloudflare-user.yaml