Google ChatEndpoints
Create Google Chat endpoint
Add a single pre-verified outbound Google Chat endpoint to a dashboard.
POST /app/integrations/gchat/endpoints
Creates one pre-verified Google Chat endpoint. Admin-trusted — no verification email is sent.
Requires the admin or subscriber role and the integrations feature entitlement.
Request
See API Basics for required headers.
Body
| Field | Type | Required | Description |
|---|---|---|---|
dashboardId | uuid | Yes | Target dashboard |
url | string | Yes | Absolute HTTPS endpoint URL (max 2048 chars). Must use https:// on port 443 with no embedded credentials. Must be a Google Chat webhook URL: https://chat.googleapis.com/v1/spaces/{space}/messages with both key and token query parameters. |
managementEmail | string | Yes | Management contact email (max 254 chars). Receives verify/manage flows for public endpoints and delivery-failure alerts. |
componentIds | uuid[] | Yes | At least one component on that dashboard |
locked | boolean | No | Admin-managed flag. When true, blocks dashboard self-service subscribe/manage. Default: false. |
Sample request
curl -X POST https://api.statusdashboard.com/app/integrations/gchat/endpoints \
-H "Authorization: Bearer bcf847abf5c6:def456" \
-H "Content-Type: application/json" \
-d '{
"dashboardId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"url": "https://chat.googleapis.com/v1/spaces/AAAA/messages?key=example&token=example",
"managementEmail": "ops@acme.com",
"componentIds": ["b2c3d4e5-f6a7-8901-bcde-f12345678901"],
"locked": false
}'Sample response
Status: 201 Created
The create response includes the full url once. Subsequent list/update responses expose only urlDisplay.
{
"endpoint": {
"channel": "gchat",
"dashboardId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"dashboardName": "Acme Status",
"urlHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"url": "https://chat.googleapis.com/v1/spaces/AAAA/messages?key=example&token=example",
"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,
"createdAt": "2026-06-01T14:22:00.000Z",
"updatedAt": "2026-06-01T14:22:00.000Z"
}
}Error responses
| Status | When |
|---|---|
400 | Invalid body, invalid URL, or component not on dashboard |
403 | Requires admin or subscriber role, integrations feature disabled, or unique-endpoint organization limit exceeded |
404 | Dashboard not found |
409 | Endpoint already subscribed on this dashboard |

