GoRunner

Map every connection to the workflows that reference it

Requires scope connection:read
GET
/api/connections/usage

Returns the reverse index connectionId -> [{id, name}, ...] for the caller's whole workspace — each credential's blast radius. Call it before deleting or replacing a connection to see what breaks.

Computed by scanning every workflow definition in the workspace for "connectionId": "<uuid>", so it covers triggers, steps, branch arms, loop bodies and error arms alike. A workflow referencing the same connection from several steps is listed ONCE.

IMPORTANT: a connection with no usage is simply ABSENT from the map — it is not present with an empty array. Treat a missing key as zero usage. A workspace where nothing references anything returns {"data": {}}.

The scan reads each workflow's DRAFT definition, so a reference that survives only in a published version and has been edited out of the draft does not appear here.

This route is matched before /api/connections/{id}, so usage is not a connection id.

Authorization

bearerAuth
AuthorizationBearer <token>

An API token: Authorization: Bearer grt_…. Mint one in the app under Settings → Workspace → API tokens; the raw value is shown once. Scopes confine the token — see x-permission on each operation.

In: header

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/connections/usage"
{  "data": {    "3f1c2a44-7b9e-4a1d-9f0e-2a5c8d1b6e30": [      {        "id": "9a2b7c10-11d2-4c33-8a44-55e6f7089a1b",        "name": "Order intake"      }    ]  }}