# Cloud Pub/Sub API API

> Cloud Pub/Sub API API on Apizie: 33 endpoints (Commits a new schema revision to an existing schema., Lists schemas in a project., Creates a schema., Gets a schema., …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://apizie.tech/v1/analytics:googleapis-pubsub/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `analytics:googleapis-pubsub`
- Category: Analytics
- Status: byok
- Source: https://cloud.google.com/pubsub/docs
- Page: https://apizie.tech/api/analytics/googleapis-pubsub
- OpenAPI: https://apizie.tech/api/analytics/googleapis-pubsub/openapi.json

Provides reliable, many-to-many, asynchronous messaging between applications.

## Endpoints

### Commits a new schema revision to an existing schema.
`POST https://apizie.tech/v1/analytics:googleapis-pubsub/pubsub-projects-schemas-commit` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Required. The name of the schema we are revising. Format is `projects/{project}/schemas/{schema}`. |
| body | object | yes | JSON request body |

### Lists schemas in a project.
`GET https://apizie.tech/v1/analytics:googleapis-pubsub/pubsub-projects-schemas-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| pageSize | integer | no | Maximum number of schemas to return. |
| pageToken | string | no | The value returned by the last `ListSchemasResponse`; indicates that this is a continuation of a prior `ListSchemas` call, and that the… |
| parent | string | yes | Required. The name of the project in which to list schemas. Format is `projects/{project-id}`. |
| view | string | no | The set of Schema fields to return in the response. If not set, returns Schemas with `name` and `type`, but not `definition`. Set to… |

### Creates a schema.
`POST https://apizie.tech/v1/analytics:googleapis-pubsub/pubsub-projects-schemas-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| parent | string | yes | Required. The name of the project in which to create the schema. Format is `projects/{project-id}`. |
| schemaId | string | no | The ID to use for the schema, which will become the final component of the schema's resource name. See… |
| body | object | yes | JSON request body |

### Gets a schema.
`GET https://apizie.tech/v1/analytics:googleapis-pubsub/pubsub-projects-schemas-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Required. The name of the schema to get. Format is `projects/{project}/schemas/{schema}`. |
| view | string | no | The set of fields to return in the response. If not set, returns a Schema with all fields filled out. Set to `BASIC` to omit the… |

### Creates the given topic with the given name. See the [resource name rules]…
`POST https://apizie.tech/v1/analytics:googleapis-pubsub/pubsub-projects-topics-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Required. Identifier. The name of the topic. It must have the format `"projects/{project}/topics/{topic}"`. `{topic}` must start with a… |
| body | object | yes | JSON request body |

### Updates an existing topic by updating the fields specified in the update mask. Note that certain properties…
`POST https://apizie.tech/v1/analytics:googleapis-pubsub/pubsub-projects-topics-patch` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Required. Identifier. The name of the topic. It must have the format `"projects/{project}/topics/{topic}"`. `{topic}` must start with a… |
| body | object | yes | JSON request body |

### Deletes a schema.
`POST https://apizie.tech/v1/analytics:googleapis-pubsub/pubsub-projects-schemas-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Required. Name of the schema to delete. Format is `projects/{project}/schemas/{schema}`. |

### Deletes a specific schema revision.
`POST https://apizie.tech/v1/analytics:googleapis-pubsub/pubsub-projects-schemas-delete-revision` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Required. The name of the schema revision to be deleted, with a revision ID explicitly included. Example:… |
| revisionId | string | no | Optional. This field is deprecated and should not be used for specifying the revision ID. The revision ID should be specified via the… |

### Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not…
`GET https://apizie.tech/v1/analytics:googleapis-pubsub/pubsub-projects-topics-get-iam-policy` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| options.requestedPolicyVersion | integer | no | Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid… |
| resource | string | yes | REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names)… |

### Lists all schema revisions for the named schema.
`GET https://apizie.tech/v1/analytics:googleapis-pubsub/pubsub-projects-schemas-list-revisions` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Required. The name of the schema to list revisions for. |
| pageSize | integer | no | The maximum number of revisions to return per page. |
| pageToken | string | no | The page token, received from a previous ListSchemaRevisions call. Provide this to retrieve the subsequent page. |
| view | string | no | The set of Schema fields to return in the response. If not set, returns Schemas with `name` and `type`, but not `definition`. Set to… |

### Creates a new schema revision that is a copy of the provided revision_id.
`POST https://apizie.tech/v1/analytics:googleapis-pubsub/pubsub-projects-schemas-rollback` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Required. The schema being rolled back with revision id. |
| body | object | yes | JSON request body |

### Sets the access control policy on the specified resource. Replaces any existing policy. Can return…
`POST https://apizie.tech/v1/analytics:googleapis-pubsub/pubsub-projects-topics-set-iam-policy` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| resource | string | yes | REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names)… |
| body | object | yes | JSON request body |

### Returns permissions that a caller has on the specified resource. If the resource does not exist, this will…
`POST https://apizie.tech/v1/analytics:googleapis-pubsub/pubsub-projects-topics-test-iam-permissions` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| resource | string | yes | REQUIRED: The resource for which the policy detail is being requested. See [Resource… |
| body | object | yes | JSON request body |

### Validates a schema.
`POST https://apizie.tech/v1/analytics:googleapis-pubsub/pubsub-projects-schemas-validate` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| parent | string | yes | Required. The name of the project in which to validate schemas. Format is `projects/{project-id}`. |
| body | object | yes | JSON request body |

### Validates a message against a schema.
`POST https://apizie.tech/v1/analytics:googleapis-pubsub/pubsub-projects-schemas-validate-message` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| parent | string | yes | Required. The name of the project in which to validate schemas. Format is `projects/{project-id}`. |
| body | object | yes | JSON request body |

### Gets the configuration details of a snapshot. Snapshots are used in…
`GET https://apizie.tech/v1/analytics:googleapis-pubsub/pubsub-projects-snapshots-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| snapshot | string | yes | Required. The name of the snapshot to get. Format is `projects/{project}/snapshots/{snap}`. |

### Removes an existing snapshot. Snapshots are used in [Seek]…
`POST https://apizie.tech/v1/analytics:googleapis-pubsub/pubsub-projects-snapshots-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| snapshot | string | yes | Required. The name of the snapshot to delete. Format is `projects/{project}/snapshots/{snap}`. |

### Lists the existing snapshots. Snapshots are used in [Seek](…
`GET https://apizie.tech/v1/analytics:googleapis-pubsub/pubsub-projects-snapshots-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| pageSize | integer | no | Optional. Maximum number of snapshots to return. |
| pageToken | string | no | Optional. The value returned by the last `ListSnapshotsResponse`; indicates that this is a continuation of a prior `ListSnapshots` call,… |
| project | string | yes | Required. The name of the project in which to list snapshots. Format is `projects/{project-id}`. |

### Acknowledges the messages associated with the `ack_ids` in the `AcknowledgeRequest`. The Pub/Sub system can…
`POST https://apizie.tech/v1/analytics:googleapis-pubsub/pubsub-projects-subscriptions-acknowledge` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| subscription | string | yes | Required. The subscription whose message is being acknowledged. Format is `projects/{project}/subscriptions/{sub}`. |
| body | object | yes | JSON request body |

### Gets the configuration details of a subscription.
`GET https://apizie.tech/v1/analytics:googleapis-pubsub/pubsub-projects-subscriptions-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| subscription | string | yes | Required. The name of the subscription to get. Format is `projects/{project}/subscriptions/{sub}`. |

### Deletes an existing subscription. All messages retained in the subscription are immediately dropped. Calls…
`POST https://apizie.tech/v1/analytics:googleapis-pubsub/pubsub-projects-subscriptions-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| subscription | string | yes | Required. The subscription to delete. Format is `projects/{project}/subscriptions/{sub}`. |

### Detaches a subscription from this topic. All messages retained in the subscription are dropped. Subsequent…
`POST https://apizie.tech/v1/analytics:googleapis-pubsub/pubsub-projects-subscriptions-detach` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| subscription | string | yes | Required. The subscription to detach. Format is `projects/{project}/subscriptions/{subscription}`. |

### Lists matching subscriptions.
`GET https://apizie.tech/v1/analytics:googleapis-pubsub/pubsub-projects-subscriptions-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| pageSize | integer | no | Optional. Maximum number of subscriptions to return. |
| pageToken | string | no | Optional. The value returned by the last `ListSubscriptionsResponse`; indicates that this is a continuation of a prior `ListSubscriptions`… |
| project | string | yes | Required. The name of the project in which to list subscriptions. Format is `projects/{project-id}`. |

### Modifies the ack deadline for a specific message. This method is useful to indicate that more time is needed…
`POST https://apizie.tech/v1/analytics:googleapis-pubsub/pubsub-projects-subscriptions-modify-ack-deadline` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| subscription | string | yes | Required. The name of the subscription. Format is `projects/{project}/subscriptions/{sub}`. |
| body | object | yes | JSON request body |

### Modifies the `PushConfig` for a specified subscription. This may be used to change a push subscription to a…
`POST https://apizie.tech/v1/analytics:googleapis-pubsub/pubsub-projects-subscriptions-modify-push-config` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| subscription | string | yes | Required. The name of the subscription. Format is `projects/{project}/subscriptions/{sub}`. |
| body | object | yes | JSON request body |

### Pulls messages from the server.
`POST https://apizie.tech/v1/analytics:googleapis-pubsub/pubsub-projects-subscriptions-pull` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| subscription | string | yes | Required. The subscription from which messages should be pulled. Format is `projects/{project}/subscriptions/{sub}`. |
| body | object | yes | JSON request body |

### Seeks an existing subscription to a point in time or to a given snapshot, whichever is provided in the…
`POST https://apizie.tech/v1/analytics:googleapis-pubsub/pubsub-projects-subscriptions-seek` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| subscription | string | yes | Required. The subscription to affect. |
| body | object | yes | JSON request body |

### Gets the configuration of a topic.
`GET https://apizie.tech/v1/analytics:googleapis-pubsub/pubsub-projects-topics-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| topic | string | yes | Required. The name of the topic to get. Format is `projects/{project}/topics/{topic}`. |

### Deletes the topic with the given name. Returns `NOT_FOUND` if the topic does not exist. After a topic is…
`POST https://apizie.tech/v1/analytics:googleapis-pubsub/pubsub-projects-topics-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| topic | string | yes | Required. Name of the topic to delete. Format is `projects/{project}/topics/{topic}`. |

### Lists matching topics.
`GET https://apizie.tech/v1/analytics:googleapis-pubsub/pubsub-projects-topics-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| pageSize | integer | no | Optional. Maximum number of topics to return. |
| pageToken | string | no | Optional. The value returned by the last `ListTopicsResponse`; indicates that this is a continuation of a prior `ListTopics` call, and… |
| project | string | yes | Required. The name of the project in which to list topics. Format is `projects/{project-id}`. |

### Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic does not exist.
`POST https://apizie.tech/v1/analytics:googleapis-pubsub/pubsub-projects-topics-publish` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| topic | string | yes | Required. The messages in the request will be published on this topic. Format is `projects/{project}/topics/{topic}`. |
| body | object | yes | JSON request body |

### Lists the names of the snapshots on this topic. Snapshots are used in…
`GET https://apizie.tech/v1/analytics:googleapis-pubsub/pubsub-projects-topics-snapshots-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| pageSize | integer | no | Optional. Maximum number of snapshot names to return. |
| pageToken | string | no | Optional. The value returned by the last `ListTopicSnapshotsResponse`; indicates that this is a continuation of a prior… |
| topic | string | yes | Required. The name of the topic that snapshots are attached to. Format is `projects/{project}/topics/{topic}`. |

### Lists the names of the attached subscriptions on this topic.
`GET https://apizie.tech/v1/analytics:googleapis-pubsub/pubsub-projects-topics-subscriptions-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| pageSize | integer | no | Optional. Maximum number of subscription names to return. |
| pageToken | string | no | Optional. The value returned by the last `ListTopicSubscriptionsResponse`; indicates that this is a continuation of a prior… |
| topic | string | yes | Required. The name of the topic that subscriptions are attached to. Format is `projects/{project}/topics/{topic}`. |

## Example
```
curl "https://apizie.tech/v1/analytics:googleapis-pubsub/pubsub-projects-schemas-commit" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the Cloud Pub/Sub API API?
Create a free Apizie key, then send POST https://apizie.tech/v1/analytics:googleapis-pubsub/pubsub-projects-schemas-commit with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the Cloud Pub/Sub API API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. Cloud Pub/Sub API itself also needs your own key from googleapis.com.

### Can AI agents use the Cloud Pub/Sub API API?
Yes. Add the Apizie MCP server (https://apizie.tech/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key analytics:googleapis-pubsub.

### What is the status of the Cloud Pub/Sub API API?
Needs your own provider key (bring your own key)
