List Google Sheets connections
List safe Google account, spreadsheet grant, status, and impact metadata.
Endpoint
GET
/api/v1/workspaces/{workspace_id}/google-sheets/connectionsAuthentication
| Operation class | Authentication | Minimum role | API key |
|---|---|---|---|
| dashboard-session-api | Dashboard session cookie; POST mutations also require X-CX-Request: 1. | admin | Not allowed |
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
workspace_id | path | string | Yes | — |
Request body
This operation has no request body.
Example
curl --request GET 'https://operade.ai/api/v1/workspaces/ws_demo/google-sheets/connections' --cookie 'cx_session=YOUR_SESSION_COOKIE'
Responses
| Status | Description | Content |
|---|---|---|
4XX | Handled client error | application/json: ErrorResponse |
200 | Successful Response | application/json: GoogleConnectionListResponse |
4XX application/json response schema
| Field path | Type | Reference | Format | Nullable | Required | Enum | Description |
|---|---|---|---|---|---|---|---|
$ | object | ErrorResponse | — | No | Yes | — | — |
error | object | ErrorItem | — | No | Yes | — | — |
error.code | string | — | — | No | Yes | — | — |
error.details | object | — | — | No | No | — | — |
error.message | string | — | — | No | Yes | — | — |
200 application/json response schema
| Field path | Type | Reference | Format | Nullable | Required | Enum | Description |
|---|---|---|---|---|---|---|---|
$ | object | GoogleConnectionListResponse | — | No | Yes | — | — |
connections | array<GoogleConnection> | — | — | No | Yes | — | — |
connections[] | object | GoogleConnection | — | No | Yes | — | — |
connections[].account_display_name | string | — | — | No | Yes | — | — |
connections[].account_email | string or null | — | — | Yes | Yes | — | — |
connections[].created_at | string | — | date-time | No | Yes | — | — |
connections[].grants | array<GoogleSheetGrant> | — | — | No | Yes | — | — |
connections[].grants[] | object | GoogleSheetGrant | — | No | Yes | — | — |
connections[].grants[].id | string | — | — | No | Yes | — | — |
connections[].grants[].mime_type | string | — | — | No | Yes | "application/vnd.google-apps.spreadsheet" | — |
connections[].grants[].selected_at | string | — | date-time | No | Yes | — | — |
connections[].grants[].spreadsheet_name | string | — | — | No | Yes | — | — |
connections[].id | string | — | — | No | Yes | — | — |
connections[].impact_count | integer | — | — | No | Yes | — | — |
connections[].name | string | — | — | No | Yes | — | — |
connections[].published_agent_count | integer | — | — | No | Yes | — | — |
connections[].revoked_at | string or null | — | date-time | Yes | Yes | — | — |
connections[].status | string | — | — | No | Yes | "active", "reconnect_required", "revoked" | — |
connections[].status_code | string or null | — | — | Yes | Yes | — | — |
connections[].updated_at | string | — | date-time | No | Yes | — | — |
Response example
{
"connections": [
{
"id": "gconn_example",
"name": "ops@example.com",
"account_email": "ops@example.com",
"account_display_name": "Operations",
"status": "revoked",
"status_code": "revoked",
"impact_count": 2,
"published_agent_count": 1,
"grants": [
{
"id": "gsgrant_example",
"spreadsheet_name": "Customers",
"mime_type": "application/vnd.google-apps.spreadsheet",
"selected_at": "2026-08-22T00:00:00Z"
}
],
"created_at": "2026-08-22T00:00:00Z",
"updated_at": "2026-08-22T00:05:00Z",
"revoked_at": "2026-08-22T00:05:00Z"
}
]
}Errors
Reviewed common and route-declared errors are summarized here; the list is not exhaustive. Start with the distributed error index to find each code's canonical domain page.
| Status | Code | Description |
|---|---|---|
401 | unauthenticated | Authentication is missing, invalid, or revoked. |
403 | forbidden | Only a workspace admin or owner can manage Google connections. |
503 | google_integration_not_configured | The Google Sheets integration is disabled or incomplete. |
