GoRunner docs
Search or askSearch⌘K

List connections

GET/api/embed/v1/accounts/{accountId}/connections

Lists every connection in an account: the ones you manage and the ones the customer made. Never a secret.

Needs a partner key: Authorization: Bearer gre_…, from Platform › Partner keys. Call it from your server only.

Embed · Self-hosted with an Embed license

Parameters

Path

accountIdRequired · string

Your ID for the customer’s account: 1 to 255 bytes of UTF-8, case-sensitive. URL-encode it: it may contain /.

Query

workspaceIdOptional · string

Only this workspace, by your ID. Left out: every workspace.

cursorOptional · string

The pagination.nextCursor of the page before. Left out: the first page.

limitOptional · integer

Rows a page, 1 to 100. The default is 50.

Read a row

managedBy: partner rows have your key; the customer can use them but not change them. managedBy: customer rows have key: null. status: expired means its tokens can’t be renewed: replace them. See Your customers’ connections.

Responses

  • 200OK

    A page of connections, newest first.

  • A parameter isn’t valid, such as an empty workspaceId.

  • No such account or workspace.

  • Something failed on the installation’s side. Try again.

Any call can also answer: 401 UNAUTHORIZED · 403 EMBED_NOT_LICENSED · 403 IP_NOT_ALLOWED · 429 RATE_LIMITED · 503 BUSY. See Errors.

Request

GORUNNER="https://automations.example.com"
GORUNNER_EMBED_KEY="YOUR_PARTNER_KEY"  # gre_…
ACCOUNT_ID="acct-bakery"

URL="$GORUNNER/api/embed/v1/accounts/$ACCOUNT_ID/"
URL="${URL}connections"
curl "$URL" \
  -H "Authorization: Bearer $GORUNNER_EMBED_KEY"

Response · 200 OK

json
{
  "data": [
    {
      "key": "sheets-main",
      "id": "0f8b2c7e-4a51-4d3e-9b2a-6c1d2e3f4a5b",
      "name": "Google Sheets (Bakery)",
      "pieceId": "googlesheets",
      "status": "ok",
      "managedBy": "partner",
      "workspace": {
        "id": null,
        "default": true
      },
      "createdAt": "2026-10-20T08:00:00Z",
      "updatedAt": "2026-10-25T09:00:00Z"
    },
    {
      "key": null,
      "id": "6e9a1c3f-8b2d-4a57-9e0c-3f7b5d1a8c42",
      "name": "Slack (Bakery)",
      "pieceId": "slack",
      "status": "ok",
      "managedBy": "customer",
      "workspace": {
        "id": null,
        "default": true
      },
      "createdAt": "2026-10-20T08:00:00Z",
      "updatedAt": "2026-10-25T09:00:00Z"
    }
  ],
  "pagination": {
    "limit": 50,
    "nextCursor": null
  }
}
Every field

It takes no body.

Response · 200 OK

dataarray of objects
keystring or null

The partner’s key; null for one the customer made.

idUUID
namestring
pieceIdstring
statusstring

expired: its tokens can no longer be refreshed; replace them.

One of ok, error, expired.

managedBystring

One of partner, customer.

workspaceobject
idstring or null

The partner’s workspace id; null for the default workspace.

defaultboolean
createdAttime
updatedAttime
paginationobject
limitinteger
nextCursorstring or null

The cursor of the next page; null on the last page. A page that comes back full can carry a cursor even when nothing follows: the next page is then empty, with null here. Keep going until it is null.