Google Pub/Sub Subscribe API

Pull and acknowledge messages

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/google-pub-sub-subscribe-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

google-pub-sub-subscribe-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Google Pub/Sub Google Cloud Pub/Sub Publish Subscribe API
  description: Provides reliable, many-to-many, asynchronous messaging between applications. The Pub/Sub API allows you to create and manage topics and subscriptions, publish messages, and pull or push messages to subscribers.
  version: v1
  contact:
    name: Google Cloud
    url: https://cloud.google.com/pubsub
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: https://pubsub.googleapis.com
  description: Google Cloud Pub/Sub API
security:
- oauth2:
  - https://www.googleapis.com/auth/pubsub
- bearerAuth: []
tags:
- name: Subscribe
  description: Pull and acknowledge messages
paths:
  /v1/{subscription}:pull:
    post:
      operationId: pull
      summary: Google Pub/Sub Pull messages
      description: Pulls messages from the server. The server may return UNAVAILABLE if there are too many concurrent pull requests pending for the given subscription.
      tags:
      - Subscribe
      parameters:
      - name: subscription
        in: path
        required: true
        description: The subscription name.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PullRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PullResponse'
  /v1/{subscription}:acknowledge:
    post:
      operationId: acknowledge
      summary: Google Pub/Sub Acknowledge messages
      description: Acknowledges the messages associated with the ack_ids in the AcknowledgeRequest. The Pub/Sub system can remove the relevant messages from the subscription.
      tags:
      - Subscribe
      parameters:
      - name: subscription
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - ackIds
              properties:
                ackIds:
                  type: array
                  items:
                    type: string
      responses:
        '200':
          description: Successful response
  /v1/{subscription}:modifyAckDeadline:
    post:
      operationId: modifyAckDeadline
      summary: Google Pub/Sub Modify acknowledgement deadline
      description: Modifies the ack deadline for a specific message. Useful to indicate that more time is needed to process a message.
      tags:
      - Subscribe
      parameters:
      - name: subscription
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - ackIds
              - ackDeadlineSeconds
              properties:
                ackIds:
                  type: array
                  items:
                    type: string
                ackDeadlineSeconds:
                  type: integer
      responses:
        '200':
          description: Successful response
components:
  schemas:
    PullResponse:
      type: object
      properties:
        receivedMessages:
          type: array
          items:
            $ref: '#/components/schemas/ReceivedMessage'
    PullRequest:
      type: object
      required:
      - maxMessages
      properties:
        maxMessages:
          type: integer
          description: Maximum number of messages to return.
    ReceivedMessage:
      type: object
      properties:
        ackId:
          type: string
        message:
          $ref: '#/components/schemas/PubsubMessage'
        deliveryAttempt:
          type: integer
    PubsubMessage:
      type: object
      properties:
        data:
          type: string
          format: byte
          description: The message data (base64-encoded).
        attributes:
          type: object
          additionalProperties:
            type: string
        messageId:
          type: string
        publishTime:
          type: string
          format: date-time
        orderingKey:
          type: string
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://accounts.google.com/o/oauth2/auth
          tokenUrl: https://oauth2.googleapis.com/token
          scopes:
            https://www.googleapis.com/auth/pubsub: Manage Pub/Sub resources
            https://www.googleapis.com/auth/cloud-platform: Full access to Google Cloud
    bearerAuth:
      type: http
      scheme: bearer