---
updatedAt: 2026-08-12T22:19:28.000Z
agentTools:
  projectIndex: https://docs.whippy.ai/llms.txt
---

# List Workflow Connections

Lists connections (authenticated accounts) across all workflow apps for the organization.

Optional filters: `app_id`, `status`, `search`, `limit`, `offset`. Secrets are never
returned. Connections are sensitive, so OAuth callers require `workflows:update`.


# OpenAPI definition

```json
{
  "components": {
    "schemas": {
      "NotAuthenticatedErrorResponse": {
        "description": "Not Authenticated Error Response schema",
        "example": {
          "errors": [
            {
              "description": "Not authenticated"
            }
          ],
          "status": 401
        },
        "properties": {
          "errors": {
            "description": "Not authenticated error",
            "items": {
              "properties": {
                "description": {
                  "enum": [
                    "Not authenticated"
                  ],
                  "type": "string",
                  "x-struct": null,
                  "x-validate": null
                }
              },
              "type": "object",
              "x-struct": null,
              "x-validate": null
            },
            "type": "array",
            "x-struct": null,
            "x-validate": null
          },
          "status": {
            "enum": [
              401
            ],
            "type": "integer",
            "x-struct": null,
            "x-validate": null
          }
        },
        "title": "NotAuthenticatedErrorResponse",
        "type": "object",
        "x-struct": "Elixir.DashboardApiWeb.Public.V1.Documentation.Errors.NotAuthenticated",
        "x-validate": null
      },
      "WorkflowConnectionNotFound": {
        "example": {
          "errors": [
            {
              "description": "Workflow connection not found"
            }
          ]
        },
        "properties": {
          "errors": {
            "items": {
              "properties": {
                "description": {
                  "type": "string",
                  "x-struct": null,
                  "x-validate": null
                }
              },
              "type": "object",
              "x-struct": null,
              "x-validate": null
            },
            "type": "array",
            "x-struct": null,
            "x-validate": null
          }
        },
        "title": "WorkflowConnectionNotFound",
        "type": "object",
        "x-struct": null,
        "x-validate": null
      },
      "ListWorkflowConnectionsResponse": {
        "description": "Paginated list of workflow connections (secrets redacted).",
        "example": {
          "data": [
            {
              "app_id": "660e8400-e29b-41d4-a716-446655440001",
              "app_version_id": "770e8400-e29b-41d4-a716-446655440002",
              "auth_type": "oauth2",
              "id": "550e8400-e29b-41d4-a716-446655440000",
              "inserted_at": "2026-08-07T12:00:00Z",
              "label": "user@example.com",
              "name": "Work account",
              "status": "active",
              "updated_at": "2026-08-07T12:00:00Z"
            }
          ],
          "total": 1
        },
        "properties": {
          "data": {
            "items": {
              "properties": {
                "app_id": {
                  "format": "uuid",
                  "type": "string",
                  "x-struct": null,
                  "x-validate": null
                },
                "app_version_id": {
                  "format": "uuid",
                  "nullable": true,
                  "type": "string",
                  "x-struct": null,
                  "x-validate": null
                },
                "auth_type": {
                  "description": "App authentication type (oauth2, custom, api_key, session, …)",
                  "nullable": true,
                  "type": "string",
                  "x-struct": null,
                  "x-validate": null
                },
                "id": {
                  "format": "uuid",
                  "type": "string",
                  "x-struct": null,
                  "x-validate": null
                },
                "inserted_at": {
                  "format": "date-time",
                  "type": "string",
                  "x-struct": null,
                  "x-validate": null
                },
                "label": {
                  "nullable": true,
                  "type": "string",
                  "x-struct": null,
                  "x-validate": null
                },
                "name": {
                  "nullable": true,
                  "type": "string",
                  "x-struct": null,
                  "x-validate": null
                },
                "status": {
                  "enum": [
                    "active",
                    "needs_reconnect",
                    "stale"
                  ],
                  "type": "string",
                  "x-struct": null,
                  "x-validate": null
                },
                "updated_at": {
                  "format": "date-time",
                  "type": "string",
                  "x-struct": null,
                  "x-validate": null
                }
              },
              "required": [
                "id",
                "app_id",
                "status"
              ],
              "type": "object",
              "x-struct": null,
              "x-validate": null
            },
            "type": "array",
            "x-struct": null,
            "x-validate": null
          },
          "total": {
            "description": "Total matching connections",
            "type": "integer",
            "x-struct": null,
            "x-validate": null
          }
        },
        "required": [
          "data",
          "total"
        ],
        "title": "ListWorkflowConnectionsResponse",
        "type": "object",
        "x-struct": null,
        "x-validate": null
      },
      "ServiceUnavailableErrorResponse": {
        "description": "Service Unavailable Error Response schema",
        "example": {
          "error": "Workflows service unavailable"
        },
        "properties": {
          "error": {
            "description": "Stable public error message",
            "example": "Workflows service unavailable",
            "type": "string",
            "x-struct": null,
            "x-validate": null
          }
        },
        "required": [
          "error"
        ],
        "title": "ServiceUnavailableErrorResponse",
        "type": "object",
        "x-struct": "Elixir.DashboardApiWeb.Public.V1.Documentation.Errors.ServiceUnavailable",
        "x-validate": null
      },
      "ForbiddenErrorResponse": {
        "description": "Forbidden Error Response schema",
        "example": {
          "error": "Token does not have the required scope for this action."
        },
        "properties": {
          "error": {
            "description": "Stable public error message for insufficient OAuth scope",
            "example": "Token does not have the required scope for this action.",
            "type": "string",
            "x-struct": null,
            "x-validate": null
          }
        },
        "required": [
          "error"
        ],
        "title": "ForbiddenErrorResponse",
        "type": "object",
        "x-struct": "Elixir.DashboardApiWeb.Public.V1.Documentation.Errors.Forbidden",
        "x-validate": null
      },
      "WorkflowConnectionUnprocessableContent": {
        "example": {
          "errors": [
            {
              "description": "limit must be 100 or less"
            }
          ]
        },
        "properties": {
          "errors": {
            "items": {
              "properties": {
                "description": {
                  "type": "string",
                  "x-struct": null,
                  "x-validate": null
                }
              },
              "type": "object",
              "x-struct": null,
              "x-validate": null
            },
            "type": "array",
            "x-struct": null,
            "x-validate": null
          }
        },
        "title": "WorkflowConnectionUnprocessableContent",
        "type": "object",
        "x-struct": null,
        "x-validate": null
      }
    },
    "securitySchemes": {
      "authorization": {
        "in": "header",
        "name": "X-WHIPPY-KEY",
        "type": "apiKey"
      },
      "bearer": {
        "description": "OAuth Access token",
        "scheme": "bearer",
        "type": "http"
      }
    }
  },
  "info": {
    "description": "Whippy Public API.\n\n## Authentication\n\nThe Whippy Public API supports two authentication methods:\n\n**API Key** — Generate an organization API token and send it with every request as the `X-WHIPPY-KEY` header.\n\n**OAuth Bearer Token** — Obtain an access token via the OAuth authorization flow and send it as a Bearer token in the `Authorization` header (e.g. `Authorization: Bearer <access_token>`).\n\n## Rate Limiting\n\nThe Whippy API is rate limited. Different endpoints have different rate limits.\nEach request to the API will return the following headers, which can be used to keep track of your rate limit status:\n * `x-ratelimit-max`: The maximum number of requests that the consumer is permitted to make in the given time period.\n * `x-ratelimit-remaining`: The number of requests remaining in the current rate limit window.\n * `x-ratelimit-interval-milliseconds`: The rate limit window in milliseconds.\n * `x-ratelimit-remaining-interval-milliseconds`: The time in milliseconds until the rate limit window resets.\n",
    "title": "Whippy Public API",
    "version": "1.0"
  },
  "openapi": "3.0.0",
  "paths": {
    "/v1/workflow-connections": {
      "get": {
        "callbacks": {},
        "deprecated": false,
        "description": "Lists connections (authenticated accounts) across all workflow apps for the organization.\n\nOptional filters: `app_id`, `status`, `search`, `limit`, `offset`. Secrets are never\nreturned. Connections are sensitive, so OAuth callers require `workflows:update`.\n",
        "operationId": "listWorkflowConnections",
        "parameters": [
          {
            "description": "Filter by connection name",
            "example": "work",
            "in": "query",
            "name": "search",
            "required": false,
            "schema": {
              "type": "string",
              "x-struct": null,
              "x-validate": null
            }
          },
          {
            "description": "Filter by workflow app ID",
            "example": "660e8400-e29b-41d4-a716-446655440001",
            "in": "query",
            "name": "app_id",
            "required": false,
            "schema": {
              "format": "uuid",
              "type": "string",
              "x-struct": null,
              "x-validate": null
            }
          },
          {
            "description": "Filter by connection status",
            "example": "active",
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "enum": [
                "active",
                "needs_reconnect",
                "stale"
              ],
              "type": "string",
              "x-struct": null,
              "x-validate": null
            }
          },
          {
            "description": "Maximum number of connections to return.",
            "example": 20,
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 20,
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "x-struct": null,
              "x-validate": null
            }
          },
          {
            "description": "Number of connections to skip.",
            "example": 0,
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "minimum": 0,
              "type": "integer",
              "x-struct": null,
              "x-validate": null
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListWorkflowConnectionsResponse"
                }
              }
            },
            "description": "List connections"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotAuthenticatedErrorResponse"
                }
              }
            },
            "description": "Not Authenticated"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenErrorResponse"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkflowConnectionNotFound"
                }
              }
            },
            "description": "Not Found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkflowConnectionUnprocessableContent"
                }
              }
            },
            "description": "Unprocessable Content"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableErrorResponse"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "authorization": []
          },
          {
            "bearer": []
          }
        ],
        "summary": "List Workflow Connections",
        "tags": [
          "Workflows"
        ]
      }
    }
  },
  "security": [],
  "servers": [
    {
      "url": "https://api.whippy.co",
      "variables": {}
    }
  ]
}
```