# List Google Chat endpoints

Retrieve a paginated list of outbound Google Chat endpoints for the organization.

Source: https://statusdashboard.com/docs/api/integrations/gchat/endpoints/list

`GET /app/integrations/gchat/endpoints`

Returns a paginated list of Google Chat endpoint records for the organization (one row per dashboard + endpoint). Includes org-wide unique endpoint quota usage.

Requires the `admin` or `subscriber` role and the **integrations** feature entitlement.

List rows never include the full endpoint URL — only `urlDisplay`.

***

## Request
See [API Basics](/docs/api) for required headers.

### Query parameters
| Parameter     | Type    | Required | Description                                                                                             |
| ------------- | ------- | -------- | ------------------------------------------------------------------------------------------------------- |
| `limit`       | integer | No       | Max items per page. Range: 1–100. Default: `10`.                                                        |
| `nextToken`   | string  | No       | Next-page bookmark from the previous response — pass unchanged. See [Pagination](/docs/api#pagination). |
| `dashboardId` | uuid    | No       | Scope the page to one status dashboard.                                                                 |
| `urlHash`     | string  | No       | 64-character lowercase hex SHA-256 of the normalized endpoint URL.                                      |

***

## Sample request
```bash
curl "https://api.statusdashboard.com/app/integrations/gchat/endpoints?limit=10&dashboardId=a1b2c3d4-e5f6-7890-abcd-ef1234567890" \
  -H "Authorization: Bearer bcf847abf5c6:def456"
```

## Sample response
**Status: `200 OK`**

```json
{
  "endpoints": [
    {
      "channel": "gchat",
      "dashboardId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "dashboardName": "Acme Status",
      "urlHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
      "urlDisplay": "chat.googleapis.com/v1?…",
      "managementEmail": "ops@acme.com",
      "verified": true,
      "verifiedAt": "2026-06-01T14:22:00.000Z",
      "paused": false,
      "locked": false,
      "suppressed": false,
      "componentIds": ["b2c3d4e5-f6a7-8901-bcde-f12345678901"],
      "consecutiveFailures": 0,
      "lastSuccessAt": "2026-06-26T14:30:00.000Z",
      "createdAt": "2026-06-01T14:20:00.000Z",
      "updatedAt": "2026-06-26T14:30:00.000Z"
    }
  ],
  "nextToken": null,
  "usage": {
    "uniqueEndpoints": 12,
    "limit": 100
  }
}
```

***

## Response fields
| Field                             | Description                                                                  |
| --------------------------------- | ---------------------------------------------------------------------------- |
| `endpoints`                       | Page of endpoint records                                                     |
| `endpoints[].urlHash`             | Stable endpoint identifier (SHA-256 hex of the normalized URL)               |
| `endpoints[].urlDisplay`          | Redacted host + short path hint (never the full tokenized URL)               |
| `endpoints[].locked`              | `true` when admin-managed (blocks dashboard self-service)                    |
| `endpoints[].paused`              | `true` when notifications are paused for this endpoint                       |
| `endpoints[].suppressed`          | `true` when the endpoint is on the suppression list                          |
| `endpoints[].consecutiveFailures` | Consecutive failed event deliveries since last success                       |
| `nextToken`                       | See [Pagination](/docs/api#pagination). `null` when there are no more pages. |
| `usage.uniqueEndpoints`           | Unique Google Chat URLs org-wide                                             |
| `usage.limit`                     | Organization limit for unique Google Chat endpoints                          |

***

## Pagination
See [Pagination](/docs/api#pagination) in API Basics. Re-send the same query parameters on every page request.

***

## Error responses
| Status | When                                                                        |
| ------ | --------------------------------------------------------------------------- |
| `400`  | Invalid query parameters                                                    |
| `403`  | Requires admin or subscriber role, or integrations not enabled on your plan |
| `404`  | `dashboardId` provided but dashboard not found                              |
