Join our community of builders on

Telegram!Telegram

Execute a plugin and receive the sanitized result

Development Documentation

You're viewing documentation for unreleased features from the main branch. For production use, see the latest stable version (v1.3.x).

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.

POST
/api/v1/plugins/{plugin_id}/call
AuthorizationBearer <token>

In: header

Path Parameters

plugin_idstring

The unique identifier of the plugin

Query Parameters

route?string

Optional route suffix for custom routing (e.g., '/verify'). Alternative to appending the route to the URL path.

params?unknown

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
}