{ "opencollection": "1.0.0", "info": { "name": "OpenZeppelin Relayer Health Plugins API", "version": "1.5.0" }, "items": [ { "info": { "name": "Plugins", "type": "folder" }, "items": [ { "info": { "name": "List plugins.", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/v1/plugins", "params": [ { "name": "page", "value": "", "type": "query", "description": "Page number for pagination (starts at 1)" }, { "name": "per_page", "value": "", "type": "query", "description": "Number of items per page (default: 10)" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "List plugins." }, { "info": { "name": "Get plugin by ID", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/v1/plugins/:plugin_id", "params": [ { "name": "plugin_id", "value": "", "type": "path", "description": "The unique identifier of the plugin" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Get plugin by ID" }, { "info": { "name": "Update plugin configuration", "type": "http" }, "http": { "method": "PATCH", "url": "{{baseUrl}}/api/v1/plugins/:plugin_id", "params": [ { "name": "plugin_id", "value": "", "type": "path", "description": "The unique identifier of the plugin" } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Updates mutable plugin fields such as timeout, emit_logs, emit_traces,\nraw_response, allow_get_invocation, config, and forward_logs.\nThe plugin id and path cannot be changed after creation.\n\nAll fields are optional - only the provided fields will be updated.\nTo clear the `config` field, pass `\"config\": null`." }, { "info": { "name": "Execute a plugin via GET (must be enabled per plugin)", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/v1/plugins/:plugin_id/call", "params": [ { "name": "plugin_id", "value": "", "type": "path", "description": "The unique identifier of the plugin" }, { "name": "route", "value": "", "type": "query", "description": "Optional route suffix for custom routing (e.g., '/verify'). Alternative to appending the route to the URL path." } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "This endpoint is disabled by default. To enable it for a given plugin, set\n`allow_get_invocation: true` in the plugin configuration.\n\nWhen invoked via GET:\n- `params` is an empty object (`{}`)\n- query parameters are passed to the plugin handler via `context.query`\n- wildcard route routing is supported the same way as POST (see `doc_call_plugin`)\n- Use the `route` query parameter or append the route to the URL path" }, { "info": { "name": "Execute a plugin with optional wildcard route routing", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/api/v1/plugins/:plugin_id/call", "params": [ { "name": "plugin_id", "value": "", "type": "path", "description": "The unique identifier of the plugin" }, { "name": "route", "value": "", "type": "query", "description": "Optional route suffix for custom routing (e.g., '/verify'). Alternative to appending the route to the URL path." } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Logs and traces are only returned when the plugin is configured with `emit_logs` / `emit_traces`.\nPlugin-provided errors are normalized into a consistent payload (`code`, `details`) and a derived\nmessage so downstream clients receive a stable shape regardless of how the handler threw.\n\nThe endpoint supports wildcard route routing, allowing plugins to implement custom routing logic:\n- `/api/v1/plugins/{plugin_id}/call` - Default endpoint (route = \"\")\n- `/api/v1/plugins/{plugin_id}/call?route=/ver" } ] } ], "bundled": true }