---
title: "Execute a plugin via GET (must be enabled per plugin)"
method: GET
path: "/api/v1/plugins/{plugin_id}/call"
tags: ["Plugins"]
---

# Execute a plugin via GET (must be enabled per plugin)

`GET /api/v1/plugins/{plugin_id}/call`

This endpoint is disabled by default. To enable it for a given plugin, set
`allow_get_invocation: true` in the plugin configuration.

When invoked via GET:
- `params` is an empty object (`{}`)
- query parameters are passed to the plugin handler via `context.query`
- wildcard route routing is supported the same way as POST (see `doc_call_plugin`)
- Use the `route` query parameter or append the route to the URL path

## Path parameters

- `plugin_id` string, required

## Query parameters

- `route` string

## Response `200`

Plugin call successful

- ApiResponseValue
  - `data` unknown
  - `error` string
  - `metadata` PluginMetadata
    - `logs` LogEntry[], nullable
      - `level` 'log' | 'info' | 'error' | 'warn' | 'debug' | 'result', required
      - `message` string, required
    - `traces` unknown[], nullable
      - unknown
  - `pagination` PaginationMeta
    - `current_page` integer, required
    - `per_page` integer, required
    - `total_items` integer, required
  - `success` boolean, required

## Other responses

- `401` — Unauthorized
- `404` — Not Found
- `405` — Method Not Allowed (GET invocation disabled for this plugin)
- `429` — Too Many Requests
- `500` — Internal server error

## Changes

- **2026-01-13** `623b8b006d50` — 1 info
  - endpoint added
- **2025-10-31** `5487da58bf15` — 1 breaking
  - api removed without deprecation

[Change history](https://skmtc.dev/openzeppelin/apis/openzeppelin-relayer-api/changes/api/v1/plugins/:plugin_id/call/get.md)

---

[API](https://skmtc.dev/openzeppelin/apis/openzeppelin-relayer-api.md) · [All operations](https://skmtc.dev/openzeppelin/apis/openzeppelin-relayer-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/openzeppelin/openzeppelin-relayer-api/revisions/e6e7514284f5/schema)
