Services

Services are the public, task-focused way to use the PHP framework. Every service page follows the same pattern: overview, method reference, accepted identifiers, example, developer notes, and behavior details. Pass an access level to choose whose settings you read or write.

The access level is the subject. A resource identifier is the target passed to a method such as deny(). For example, in AAM::api()->posts('role:subscriber')->deny(34, 'read'), role:subscriber selects whose rule to store and 34 selects the post. See Access levels for subject formats. Each service page lists the target forms its methods accept; redirect, settings, and JWT services use configuration values or tokens instead of resource identifiers.

An effective decision is the result after AAM considers the level’s own rule and inherited rules. When you call is_denied() or a similar method, that is the decision you get. A failed call can return WP_Error when you set error_handling to wp_error; check it before using the result.

$service = AAM::api()->urls('role:subscriber');
$service->deny('/members/*');

This stores a URL denial for Subscribers. Use the URLs service to check a requested URL or attach a redirect.

Access decisions

Resource Service
Content Posts, terms, post types, taxonomies
Routes and URLs URLs, API routes
WordPress UI Backend menu, admin toolbar, metaboxes, widgets
Identity Capabilities, users, roles
Platform APIs Abilities, MCP servers, MCP tools, MCP prompts, MCP resources

Configuration and workflows

Task Service
Redirects Login, logout, not found, access denied
Rules and settings Policies, settings, hooks
Tokens JWTs

The core plugin registers every service above. Some methods on terms, taxonomies, and post types require the premium add-on; those methods are marked on their pages.