Execute a plugin with optional wildcard route routing
Logs and traces are only returned when the plugin is configured with emit_logs / emit_traces.
Plugin-provided errors are normalized into a consistent payload (code, details) and a derived
message so downstream clients receive a stable shape regardless of how the handler threw.
The endpoint supports wildcard route routing, allowing plugins to implement custom routing logic:
/api/v1/plugins/{plugin_id}/call- Default endpoint (route = "")/api/v1/plugins/{plugin_id}/call?route=/verify- Custom route via query parameter/api/v1/plugins/{plugin_id}/call/verify- Custom route via URL path (route = "/verify")
The route is passed to the plugin handler via the context.route field.
You can specify a custom route either by appending it to the URL path or by using the route query parameter.
In: header
Path Parameters
The unique identifier of the plugin
Query Parameters
Optional route suffix for custom routing (e.g., '/verify'). Alternative to appending the route to the URL path.
Plugin parameters. If not provided, the entire request body will be used as params.
Response Body
curl -X POST "https://loading/api/v1/plugins/string/call?route=string" \ -H "Content-Type: application/json" \ -d '{}'{
"data": "done!",
"error": null,
"metadata": {
"logs": [
{
"level": "info",
"message": "Plugin started..."
}
],
"traces": [
{
"method": "sendTransaction",
"relayerId": "sepolia-example",
"requestId": "6c1f336f-3030-4f90-bd99-ada190a1235b"
}
]
},
"success": true
}{
"data": {
"code": "VALIDATION_FAILED",
"details": {
"field": "email"
}
},
"error": "Validation failed",
"metadata": {
"logs": [
{
"level": "error",
"message": "Validation failed for field: email"
}
]
},
"success": false
}{
"data": null,
"error": "Unauthorized",
"success": false
}{
"data": null,
"error": "Plugin with ID plugin_id not found",
"success": false
}{
"data": null,
"error": "Too Many Requests",
"success": false
}{
"data": null,
"error": "Internal Server Error",
"success": false
}