---
title: "Check Pub/Sub"
method: POST
path: "/check_gcp_pubsub"
tags: ["product:chat"]
---

# Check Pub/Sub

`POST /check_gcp_pubsub`

## Request

- Base URL: `https://chat.stream-io-api.com`
- URL: `https://chat.stream-io-api.com/check_gcp_pubsub`
- Auth: one of:
  - API key in header `Authorization` and API key in query parameter `api_key` and API key in header `Stream-Auth-Type`
  - API key in query parameter `api_key` and API key in header `Stream-Auth-Type`

Validates that Stream can publish to a customer-owned GCP Pub/Sub topic

## Request body

- CheckGCPPubSubRequest, nullable
  - `gcp_pubsub_event_based_ordering_key_enabled` boolean: Publish the test message with an ordering key through the regional endpoint, as a hook with ordering enabled would; requires gcp_pubsub_region
  - `gcp_pubsub_region` string: GCP region used for the regional Pub/Sub endpoint when ordering is enabled
  - `gcp_pubsub_topic` string: Fully qualified GCP Pub/Sub topic name (projects/{project}/topics/{topic})

## Response `201`

Successful response

- CheckGCPPubSubResponse, nullable
  - `data` object: Error data
  - `duration` string, required
  - `error` string: Error text
  - `status` string, required: Validation result. One of: ok, error

## Other responses

- `400`: Bad request
- `429`: Too many requests

## Changes

> 574 revisions in range; 3 not diffed.

- **2026-10-12** `30f95dce0284`: 2 info
  - added the optional property `cooldown_remaining_ms` to the response with the `400` status
  - added the optional property `cooldown_remaining_ms` to the response with the `429` status
- **2026-10-06** `13a6b7f98ed1`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/getstream/apis/stream-api/changes/check_gcp_pubsub/post.md)

---

[API](https://skmtc.dev/getstream/apis/stream-api.md) - [All operations](https://skmtc.dev/getstream/apis/stream-api/llms.txt) - [OpenAPI document](https://skmtc.dev/getstream/apis/stream-api/revisions/1fda44d40b27?raw)
