When there is no named method
The named methods cover a useful part of Cloudflare's API, not every endpoint. Use request() for a JSON endpoint that does not yet have a wrapper. It accepts an HTTP method, a path relative to the Cloudflare API root, and HTTP::API::Core request options:
my $accounts_ar=$api_or->request('GET', '/accounts',
query => { per_page => 20 }
);
my $decoded_hr=$api_or->request_full('GET', '/accounts');
my $response_or=$api_or->response('GET', '/accounts');
request() unwraps result, request_full() keeps the complete decoded Cloudflare response, and response() returns the HTTP::API::Core::Response object. These low-level methods make one request and do not automatically paginate. Use response() for non-JSON content or when you need response details that the JSON helpers do not expose. raw_request() remains as a compatibility alias for response().
Important
Paths must start with one slash and cannot be absolute URLs, so a caller-supplied path cannot send the bearer token to another host. If you put a dynamic value in a low-level path, percent-encode that segment yourself. Named resource methods encode their own path segments.