Skip to content
AquadactylAquadactyl
API reference

Blueprint extension API

1 source-verified blueprint API operations in Aquadactyl.

Generated from Aquadactyl 2bfd6ae2a30c. Read authentication and conventions first.

Extension route prefixes

Blueprint mounts extension route files beneath these prefixes:

Manifest entryResulting prefixMiddleware
requests.routers.client/api/client/extensions/{identifier}Client session/key, IP restrictions, 2FA and Client rate limiting.
requests.routers.application/api/application/extensions/{identifier}Administrator and API middleware; implement resource ACL checks in your request class.
requests.routers.web/extensions/{identifier}Web session and CSRF middleware; add route-specific authentication/authorization.

These prefixes do not automatically authorize a user for a particular server. Add server binding, access, ownership and permission checks for server-specific endpoints. Installed extensions define their own methods and payloads; consult each extension's reference. The built-in endpoint below returns the egg IDs enabled for an extension; ["-1"] means all eggs. The optional id query parameter defaults to blueprint.

Source: Blueprint route provider. The development guide explains manifest layout.


GET /api/client/extensions/blueprint/eggs

Calls ExtensionRouteController::eggs.

Access: Client API key or authenticated panel session.

Source: Route · Controller · Request validation

Validation is inherited from ApplicationApiRequest.php.

Other controller inputs: id (default 'blueprint').

Response

Success: 200.

Response construction and endpoint behavior

This source excerpt includes conditional responses, metadata, pagination, and service calls for this operation.

$id = $request->input('id', 'blueprint');
$eggs = $this->settings->get('blueprint::extensionconfig_' . $id . '_eggs');

return json_decode($eggs ?: '["-1"]');

Example request

curl --get "${PANEL_URL}/api/client/extensions/blueprint/eggs" \
  --header "Authorization: Bearer ${CLIENT_API_KEY}" \
  --header "Accept: application/json"