Google Cloud Platform Message API

The Message API from Google Cloud Platform — 2 operation(s) for message.

GitHub OpenAPI

Operations 2

POST /v1/message:send Send message #
POST /v1/message:stream Stream message #

Documentation

📖
Documentation
https://cloud.google.com/compute/docs/reference/rest/v1
📖
Authentication
https://cloud.google.com/docs/authentication
📖
GettingStarted
https://cloud.google.com/compute/docs/quickstart
📖
RateLimits
https://cloud.google.com/compute/quotas
📖
Documentation
https://cloud.google.com/storage/docs/json_api
📖
Authentication
https://cloud.google.com/storage/docs/authentication
📖
GettingStarted
https://cloud.google.com/storage/docs/quickstart-console
📖
RateLimits
https://cloud.google.com/storage/quotas
📖
Documentation
https://cloud.google.com/functions/docs/reference/rest
📖
GettingStarted
https://cloud.google.com/functions/docs/quickstart
📖
RateLimits
https://cloud.google.com/functions/quotas
📖
Documentation
https://cloud.google.com/kubernetes-engine/docs/reference/rest
📖
GettingStarted
https://cloud.google.com/kubernetes-engine/docs/quickstart
📖
RateLimits
https://cloud.google.com/kubernetes-engine/quotas
📖
Documentation
https://cloud.google.com/bigquery/docs/reference/rest
📖
Authentication
https://cloud.google.com/bigquery/docs/authentication
📖
GettingStarted
https://cloud.google.com/bigquery/docs/quickstarts
📖
RateLimits
https://cloud.google.com/bigquery/quotas
📖
Documentation
https://cloud.google.com/pubsub/docs/reference/rest
📖
GettingStarted
https://cloud.google.com/pubsub/docs/quickstart-console
📖
RateLimits
https://cloud.google.com/pubsub/quotas
📖
Documentation
https://cloud.google.com/vision/docs/reference/rest
📖
GettingStarted
https://cloud.google.com/vision/docs/quickstart
📖
Documentation
https://cloud.google.com/vertex-ai/docs/reference/rest
📖
GettingStarted
https://cloud.google.com/vertex-ai/docs/start/introduction-unified-platform
📖
RateLimits
https://cloud.google.com/vertex-ai/docs/quotas
📖
Documentation
https://cloud.google.com/natural-language/docs/reference/rest
📖
GettingStarted
https://cloud.google.com/natural-language/docs/quickstarts
📖
Documentation
https://cloud.google.com/speech-to-text/docs/reference/rest
📖
GettingStarted
https://cloud.google.com/speech-to-text/docs/quickstart
📖
Documentation
https://cloud.google.com/translate/docs/reference/rest
📖
GettingStarted
https://cloud.google.com/translate/docs/quickstarts
📖
Documentation
https://cloud.google.com/run/docs/reference/rest
📖
GettingStarted
https://cloud.google.com/run/docs/quickstarts
📖
RateLimits
https://cloud.google.com/run/quotas
📖
Documentation
https://cloud.google.com/sql/docs/mysql/admin-api/rest
📖
GettingStarted
https://cloud.google.com/sql/docs/mysql/quickstart
📖
RateLimits
https://cloud.google.com/sql/docs/quotas
📖
Documentation
https://cloud.google.com/spanner/docs/reference/rest
📖
GettingStarted
https://cloud.google.com/spanner/docs/quickstart-console
📖
RateLimits
https://cloud.google.com/spanner/quotas
📖
Documentation
https://cloud.google.com/firestore/docs/reference/rest
📖
GettingStarted
https://cloud.google.com/firestore/docs/quickstart
📖
Documentation
https://cloud.google.com/bigtable/docs/reference/admin/rest
📖
GettingStarted
https://cloud.google.com/bigtable/docs/quickstart
📖
RateLimits
https://cloud.google.com/bigtable/quotas
📖
Documentation
https://cloud.google.com/iam/docs/reference/rest
📖
GettingStarted
https://cloud.google.com/iam/docs/quickstart
📖
Documentation
https://cloud.google.com/dns/docs/reference/rest/v1
📖
GettingStarted
https://cloud.google.com/dns/docs/quickstart
📖
RateLimits
https://cloud.google.com/dns/quotas
📖
Documentation
https://cloud.google.com/logging/docs/reference/v2/rest
📖
GettingStarted
https://cloud.google.com/logging/docs/quickstart-sdk
📖
RateLimits
https://cloud.google.com/logging/quotas
📖
Documentation
https://cloud.google.com/monitoring/api/ref_v3/rest
📖
GettingStarted
https://cloud.google.com/monitoring/docs/quickstart
📖
RateLimits
https://cloud.google.com/monitoring/quotas
📖
Documentation
https://cloud.google.com/dataflow/docs/reference/rest
📖
GettingStarted
https://cloud.google.com/dataflow/docs/quickstarts
📖
RateLimits
https://cloud.google.com/dataflow/quotas
📖
Documentation
https://cloud.google.com/dataproc/docs/reference/rest
📖
GettingStarted
https://cloud.google.com/dataproc/docs/quickstarts
📖
RateLimits
https://cloud.google.com/dataproc/quotas
📖
Documentation
https://cloud.google.com/kms/docs/reference/rest
📖
GettingStarted
https://cloud.google.com/kms/docs/quickstart
📖
Documentation
https://cloud.google.com/secret-manager/docs/reference/rest
📖
GettingStarted
https://cloud.google.com/secret-manager/docs/quickstart
📖
RateLimits
https://cloud.google.com/secret-manager/quotas
📖
Documentation
https://cloud.google.com/artifact-registry/docs/reference/rest
📖
GettingStarted
https://cloud.google.com/artifact-registry/docs/quickstarts
📖
Documentation
https://cloud.google.com/build/docs/api/reference/rest
📖
GettingStarted
https://cloud.google.com/build/docs/quickstart-build
📖
Documentation
https://cloud.google.com/resource-manager/reference/rest
📖
GettingStarted
https://cloud.google.com/resource-manager/docs/creating-managing-projects
📖
Documentation
https://cloud.google.com/tasks/docs/reference/rest
📖
GettingStarted
https://cloud.google.com/tasks/docs/quickstart
📖
RateLimits
https://cloud.google.com/tasks/docs/quotas
📖
Documentation
https://cloud.google.com/scheduler/docs/reference/rest
📖
GettingStarted
https://cloud.google.com/scheduler/docs/quickstart
📖
Documentation
https://cloud.google.com/text-to-speech/docs/reference/rest
📖
GettingStarted
https://cloud.google.com/text-to-speech/docs/quickstart-protocol
📖
Documentation
https://cloud.google.com/api-gateway/docs/reference/rest
📖
GettingStarted
https://cloud.google.com/api-gateway/docs/quickstart
📖
Documentation
https://cloud.google.com/workflows/docs/reference/rest
📖
GettingStarted
https://cloud.google.com/workflows/docs/quickstart-console
📖
Documentation
https://cloud.google.com/deploy/docs/api/reference/rest
📖
Documentation
https://cloud.google.com/dialogflow/cx/docs/reference/rest/v3-overview
📖
GettingStarted
https://cloud.google.com/dialogflow/cx/docs/quick/setup
📖
Documentation
https://cloud.google.com/sensitive-data-protection/docs/reference/rest
📖
GettingStarted
https://cloud.google.com/sensitive-data-protection/docs/quickstart
📖
Documentation
https://cloud.google.com/memorystore/docs/redis/reference/rest

Specifications

Schemas & Data

Other Resources

🔗
Pricing
https://cloud.google.com/compute/pricing
🔗
Console
https://console.cloud.google.com/compute
🔗
ReleaseNotes
https://cloud.google.com/compute/docs/release-notes
🔗
Pricing
https://cloud.google.com/storage/pricing
🔗
Console
https://console.cloud.google.com/storage
🔗
SDKs
https://cloud.google.com/storage/docs/reference/libraries
🔗
ReleaseNotes
https://cloud.google.com/storage/docs/release-notes
🔗
Pricing
https://cloud.google.com/functions/pricing
🔗
Console
https://console.cloud.google.com/functions
🔗
ReleaseNotes
https://cloud.google.com/functions/docs/release-notes
🔗
Pricing
https://cloud.google.com/kubernetes-engine/pricing
🔗
Console
https://console.cloud.google.com/kubernetes
🔗
SDKs
https://cloud.google.com/kubernetes-engine/docs/reference/libraries
🔗
ReleaseNotes
https://cloud.google.com/kubernetes-engine/docs/release-notes
🔗
Pricing
https://cloud.google.com/bigquery/pricing
🔗
Console
https://console.cloud.google.com/bigquery
🔗
SDKs
https://cloud.google.com/bigquery/docs/reference/libraries
🔗
ReleaseNotes
https://cloud.google.com/bigquery/docs/release-notes
🔗
Pricing
https://cloud.google.com/pubsub/pricing
🔗
Console
https://console.cloud.google.com/cloudpubsub
🔗
SDKs
https://cloud.google.com/pubsub/docs/reference/libraries
🔗
ReleaseNotes
https://cloud.google.com/pubsub/docs/release-notes
🔗
Pricing
https://cloud.google.com/vision/pricing
🔗
Console
https://console.cloud.google.com/apis/library/vision.googleapis.com
🔗
SDKs
https://cloud.google.com/vision/docs/reference/libraries
🔗
ReleaseNotes
https://cloud.google.com/vision/docs/release-notes
🔗
Pricing
https://cloud.google.com/vertex-ai/pricing
🔗
Console
https://console.cloud.google.com/vertex-ai
🔗
ReleaseNotes
https://cloud.google.com/vertex-ai/docs/release-notes
🔗
Pricing
https://cloud.google.com/natural-language/pricing
🔗
Console
https://console.cloud.google.com/apis/library/language.googleapis.com
🔗
SDKs
https://cloud.google.com/natural-language/docs/reference/libraries
🔗
ReleaseNotes
https://cloud.google.com/natural-language/docs/release-notes
🔗
Pricing
https://cloud.google.com/speech-to-text/pricing
🔗
Console
https://console.cloud.google.com/apis/library/speech.googleapis.com
🔗
SDKs
https://cloud.google.com/speech-to-text/docs/reference/libraries
🔗
ReleaseNotes
https://cloud.google.com/speech-to-text/docs/release-notes
🔗
Pricing
https://cloud.google.com/translate/pricing
🔗
Console
https://console.cloud.google.com/apis/library/translate.googleapis.com
🔗
SDKs
https://cloud.google.com/translate/docs/reference/libraries
🔗
ReleaseNotes
https://cloud.google.com/translate/docs/release-notes
🔗
Pricing
https://cloud.google.com/run/pricing
🔗
Console
https://console.cloud.google.com/run
🔗
ReleaseNotes
https://cloud.google.com/run/docs/release-notes
🔗
Pricing
https://cloud.google.com/sql/pricing
🔗
Console
https://console.cloud.google.com/sql
🔗
SDKs
https://cloud.google.com/sql/docs/mysql/apis
🔗
ReleaseNotes
https://cloud.google.com/sql/docs/release-notes
🔗
Pricing
https://cloud.google.com/spanner/pricing
🔗
Console
https://console.cloud.google.com/spanner
🔗
SDKs
https://cloud.google.com/spanner/docs/reference/libraries
🔗
ReleaseNotes
https://cloud.google.com/spanner/docs/release-notes
🔗
Pricing
https://cloud.google.com/firestore/pricing
🔗
Console
https://console.cloud.google.com/firestore
🔗
SDKs
https://cloud.google.com/firestore/docs/reference/libraries
🔗
ReleaseNotes
https://cloud.google.com/firestore/docs/release-notes
🔗
Pricing
https://cloud.google.com/bigtable/pricing
🔗
Console
https://console.cloud.google.com/bigtable
🔗
SDKs
https://cloud.google.com/bigtable/docs/reference/libraries
🔗
ReleaseNotes
https://cloud.google.com/bigtable/docs/release-notes
🔗
Pricing
https://cloud.google.com/iam/pricing
🔗
Console
https://console.cloud.google.com/iam-admin
🔗
SDKs
https://cloud.google.com/iam/docs/reference/libraries
🔗
ReleaseNotes
https://cloud.google.com/iam/docs/release-notes
🔗
Pricing
https://cloud.google.com/dns/pricing
🔗
Console
https://console.cloud.google.com/net-services/dns
🔗
SDKs
https://cloud.google.com/dns/docs/reference/libraries
🔗
ReleaseNotes
https://cloud.google.com/dns/docs/release-notes
🔗
Pricing
https://cloud.google.com/logging/pricing
🔗
Console
https://console.cloud.google.com/logs
🔗
SDKs
https://cloud.google.com/logging/docs/reference/libraries
🔗
ReleaseNotes
https://cloud.google.com/logging/docs/release-notes
🔗
Pricing
https://cloud.google.com/monitoring/pricing
🔗
Console
https://console.cloud.google.com/monitoring
🔗
SDKs
https://cloud.google.com/monitoring/docs/reference/libraries
🔗
ReleaseNotes
https://cloud.google.com/monitoring/docs/release-notes
🔗
Pricing
https://cloud.google.com/dataflow/pricing
🔗
Console
https://console.cloud.google.com/dataflow
🔗
SDKs
https://cloud.google.com/dataflow/docs/reference/libraries
🔗
ReleaseNotes
https://cloud.google.com/dataflow/docs/release-notes
🔗
Pricing
https://cloud.google.com/dataproc/pricing
🔗
Console
https://console.cloud.google.com/dataproc
🔗
SDKs
https://cloud.google.com/dataproc/docs/reference/libraries
🔗
ReleaseNotes
https://cloud.google.com/dataproc/docs/release-notes
🔗
Pricing
https://cloud.google.com/kms/pricing
🔗
Console
https://console.cloud.google.com/security/kms
🔗
SDKs
https://cloud.google.com/kms/docs/reference/libraries
🔗
ReleaseNotes
https://cloud.google.com/kms/docs/release-notes
🔗
Pricing
https://cloud.google.com/secret-manager/pricing
🔗
Console
https://console.cloud.google.com/security/secret-manager
🔗
SDKs
https://cloud.google.com/secret-manager/docs/reference/libraries
🔗
ReleaseNotes
https://cloud.google.com/secret-manager/docs/release-notes
🔗
Pricing
https://cloud.google.com/artifact-registry/pricing
🔗
Console
https://console.cloud.google.com/artifacts
🔗
SDKs
https://cloud.google.com/artifact-registry/docs/reference/libraries
🔗
ReleaseNotes
https://cloud.google.com/artifact-registry/docs/release-notes
🔗
Pricing
https://cloud.google.com/build/pricing
🔗
Console
https://console.cloud.google.com/cloud-build
🔗
SDKs
https://cloud.google.com/build/docs/api/reference/libraries
🔗
ReleaseNotes
https://cloud.google.com/build/docs/release-notes
🔗
JSONLD
https://artifacts.apis.io/google-cloud-platform/json-ld/google-cloud-platform-context.jsonld
🔗
Pricing
https://cloud.google.com/resource-manager/pricing
🔗
Console
https://console.cloud.google.com/cloud-resource-manager
🔗
SDKs
https://cloud.google.com/resource-manager/docs/apis
🔗
ReleaseNotes
https://cloud.google.com/resource-manager/docs/release-notes
🔗
Pricing
https://cloud.google.com/tasks/pricing
🔗
Console
https://console.cloud.google.com/cloudtasks
🔗
SDKs
https://cloud.google.com/tasks/docs/reference/libraries
🔗
ReleaseNotes
https://cloud.google.com/tasks/docs/release-notes
🔗
Pricing
https://cloud.google.com/scheduler/pricing
🔗
Console
https://console.cloud.google.com/cloudscheduler
🔗
SDKs
https://cloud.google.com/scheduler/docs/reference/libraries
🔗
ReleaseNotes
https://cloud.google.com/scheduler/docs/release-notes
🔗
Pricing
https://cloud.google.com/text-to-speech/pricing
🔗
Console
https://console.cloud.google.com/apis/library/texttospeech.googleapis.com
🔗
SDKs
https://cloud.google.com/text-to-speech/docs/reference/libraries
🔗
ReleaseNotes
https://cloud.google.com/text-to-speech/docs/release-notes
🔗
Pricing
https://cloud.google.com/api-gateway/pricing
🔗
Console
https://console.cloud.google.com/api-gateway
🔗
ReleaseNotes
https://cloud.google.com/api-gateway/docs/release-notes
🔗
Pricing
https://cloud.google.com/workflows/pricing
🔗
Console
https://console.cloud.google.com/workflows
🔗
SDKs
https://cloud.google.com/workflows/docs/reference/libraries
🔗
ReleaseNotes
https://cloud.google.com/workflows/docs/release-notes
🔗
Pricing
https://cloud.google.com/deploy/pricing
🔗
Console
https://console.cloud.google.com/deploy
🔗
SDKs
https://cloud.google.com/deploy/docs/api
🔗
ReleaseNotes
https://cloud.google.com/deploy/docs/release-notes
🔗
Pricing
https://cloud.google.com/dialogflow/pricing
🔗
Console
https://console.cloud.google.com/apis/library/dialogflow.googleapis.com
🔗
SDKs
https://cloud.google.com/dialogflow/cx/docs/reference
🔗
ReleaseNotes
https://cloud.google.com/dialogflow/cx/docs/release-notes
🔗
Pricing
https://cloud.google.com/sensitive-data-protection/pricing
🔗
Console
https://console.cloud.google.com/security/sensitive-data-protection
🔗
SDKs
https://cloud.google.com/sensitive-data-protection/docs/reference/libraries
🔗
ReleaseNotes
https://cloud.google.com/sensitive-data-protection/docs/release-notes
🔗
Pricing
https://cloud.google.com/memorystore/docs/redis/pricing
🔗
Console
https://console.cloud.google.com/memorystore/redis
🔗
SDKs
https://cloud.google.com/memorystore/docs/redis/apis
🔗
ReleaseNotes
https://cloud.google.com/memorystore/docs/redis/release-notes

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-cloud-platform:google-cloud-platform-message-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

google-cloud-platform-message-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Cloud Billing Message API
  version: v1
  description: Generated from Google's published Discovery document for Cloud Billing API (cloudbilling v1, revision 20261106). 2 operation(s).
  contact:
    name: Google
    url: https://developers.google.com/
  termsOfService: https://developers.google.com/terms
servers:
- url: https://cloudbilling.googleapis.com
tags:
- name: Message
paths:
  /v1/message:send:
    post:
      operationId: cloudbilling.message.send
      summary: Send message
      description: Send a message to the agent. This is a blocking call that will return the task once it is completed, or a LRO if requested.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SendMessageRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SendMessageResponse'
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: Error response (google.rpc.Status)
      security:
      - oauth2:
        - https://www.googleapis.com/auth/cloud-billing
        - https://www.googleapis.com/auth/cloud-billing.readonly
        - https://www.googleapis.com/auth/cloud-platform
      - apiKey: []
      tags:
      - Message
  /v1/message:stream:
    post:
      operationId: cloudbilling.message.stream
      summary: Stream message
      description: SendStreamingMessage is a streaming call that will return a stream of task update events until the Task is in an interrupted or terminal state.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SendMessageRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StreamResponse'
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: Error response (google.rpc.Status)
      security:
      - oauth2:
        - https://www.googleapis.com/auth/cloud-billing
        - https://www.googleapis.com/auth/cloud-billing.readonly
        - https://www.googleapis.com/auth/cloud-platform
      - apiKey: []
      tags:
      - Message
components:
  schemas:
    Message:
      type: object
      properties:
        content:
          items:
            $ref: '#/components/schemas/Part'
          description: protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Content is the container of the message content.
          type: array
        extensions:
          items:
            type: string
          type: array
          description: The URIs of extensions that are present or contributed to this Message.
        role:
          enum:
          - ROLE_UNSPECIFIED
          - ROLE_USER
          - ROLE_AGENT
          description: A role for the message.
          type: string
        taskId:
          description: The task id of the message. This is optional and if set, the message will be associated with the given task.
          type: string
        messageId:
          description: The unique identifier (e.g. UUID)of the message. This is required and created by the message creator.
          type: string
        contextId:
          description: The context id of the message. This is optional and if set, the message will be associated with the given context.
          type: string
        metadata:
          description: protolint:enable REPEATED_FIELD_NAMES_PLURALIZED Any optional metadata to provide along with the message.
          type: object
          additionalProperties:
            description: Properties of the object.
      description: Message is one unit of communication between client and server. It is associated with a context and optionally a task. Since the server is responsible for the context definition, it must always provide a context_id in its messages. The client can optionally provide the context_id if it knows the context to associate the message to. Similarly for task_id, except the server decides if a task is created and whether to include the task_id.
    Artifact:
      description: Artifacts are the container for task completed results. These are similar to Messages but are intended to be the product of a task, as opposed to point-to-point communication.
      properties:
        artifactId:
          description: Unique identifier (e.g. UUID) for the artifact. It must be at least unique within a task.
          type: string
        metadata:
          description: Optional metadata included with the artifact.
          type: object
          additionalProperties:
            description: Properties of the object.
        parts:
          type: array
          items:
            $ref: '#/components/schemas/Part'
          description: The content of the artifact.
        name:
          type: string
          description: A human readable name for the artifact.
        extensions:
          items:
            type: string
          type: array
          description: The URIs of extensions that are present or contributed to this Artifact.
        description:
          type: string
          description: A human readable description of the artifact, optional.
      type: object
    DataPart:
      properties:
        data:
          additionalProperties:
            description: Properties of the object.
          type: object
      description: DataPart represents a structured blob. This is most commonly a JSON payload.
      type: object
    SendMessageConfiguration:
      type: object
      properties:
        historyLength:
          type: integer
          format: int32
          description: The maximum number of messages to include in the history. if 0, the history will be unlimited.
        acceptedOutputModes:
          type: array
          description: The output modes that the agent is expected to respond with.
          items:
            type: string
        blocking:
          type: boolean
          description: If true, the message will be blocking until the task is completed. If false, the message will be non-blocking and the task will be returned immediately. It is the caller's responsibility to check for any task updates.
        pushNotification:
          $ref: '#/components/schemas/PushNotificationConfig'
          description: A configuration of a webhook that can be used to receive updates
      description: Configuration of a send message request.
    StreamResponse:
      properties:
        task:
          $ref: '#/components/schemas/Task'
        message:
          $ref: '#/components/schemas/Message'
        statusUpdate:
          $ref: '#/components/schemas/TaskStatusUpdateEvent'
        artifactUpdate:
          $ref: '#/components/schemas/TaskArtifactUpdateEvent'
      type: object
      description: 'The stream response for a message. The stream should be one of the following sequences: If the response is a message, the stream should contain one, and only one, message and then close If the response is a task lifecycle, the first response should be a Task object followed by zero or more TaskStatusUpdateEvents and TaskArtifactUpdateEvents. The stream should complete when the Task if in an interrupted or terminal state. A stream that ends before these conditions are met are'
    Task:
      type: object
      properties:
        id:
          description: Unique identifier (e.g. UUID) for the task, generated by the server for a new task.
          type: string
        status:
          $ref: '#/components/schemas/TaskStatus'
          description: The current status of a Task, including state and a message.
        metadata:
          additionalProperties:
            description: Properties of the object.
          type: object
          description: protolint:enable REPEATED_FIELD_NAMES_PLURALIZED A key/value object to store custom metadata about a task.
        contextId:
          description: Unique identifier (e.g. UUID) for the contextual collection of interactions (tasks and messages). Created by the A2A server.
          type: string
        artifacts:
          description: A set of output artifacts for a Task.
          type: array
          items:
            $ref: '#/components/schemas/Artifact'
        history:
          items:
            $ref: '#/components/schemas/Message'
          description: protolint:disable REPEATED_FIELD_NAMES_PLURALIZED The history of interactions from a task.
          type: array
      description: Task is the core unit of action for A2A. It has a current status and when results are created for the task they are stored in the artifact. If there are multiple turns for a task, these are stored in history.
    SendMessageResponse:
      type: object
      description: ////// Response Messages ///////////
      properties:
        message:
          $ref: '#/components/schemas/Message'
        task:
          $ref: '#/components/schemas/Task'
    Part:
      description: Part represents a container for a section of communication content. Parts can be purely textual, some sort of file (image, video, etc) or a structured data blob (i.e. JSON).
      type: object
      properties:
        text:
          type: string
        metadata:
          description: Optional metadata associated with this part.
          type: object
          additionalProperties:
            description: Properties of the object.
        file:
          $ref: '#/components/schemas/FilePart'
        data:
          $ref: '#/components/schemas/DataPart'
    AuthenticationInfo:
      description: Defines authentication details, used for push notifications.
      properties:
        schemes:
          description: Supported authentication schemes - e.g. Basic, Bearer, etc
          type: array
          items:
            type: string
        credentials:
          description: Optional credentials
          type: string
      type: object
    SendMessageRequest:
      description: /////////// Request Messages ///////////
      properties:
        metadata:
          type: object
          description: Optional metadata for the request.
          additionalProperties:
            description: Properties of the object.
        configuration:
          $ref: '#/components/schemas/SendMessageConfiguration'
          description: Configuration for the send request.
        tenant:
          type: string
          description: Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release.
        message:
          $ref: '#/components/schemas/Message'
          description: Required. The message to send to the agent.
      type: object
    TaskStatusUpdateEvent:
      properties:
        metadata:
          description: Optional metadata to associate with the task update.
          additionalProperties:
            description: Properties of the object.
          type: object
        status:
          $ref: '#/components/schemas/TaskStatus'
          description: The new status of the task.
        taskId:
          description: The id of the task that is changed
          type: string
        final:
          description: Whether this is the last status update expected for this task.
          type: boolean
        contextId:
          description: The id of the context that the task belongs to
          type: string
      type: object
      description: TaskStatusUpdateEvent is a delta even on a task indicating that a task has changed.
    TaskArtifactUpdateEvent:
      type: object
      properties:
        append:
          description: Whether this should be appended to a prior one produced
          type: boolean
        taskId:
          description: The id of the task for this artifact
          type: string
        artifact:
          $ref: '#/components/schemas/Artifact'
          description: The artifact itself
        contextId:
          type: string
          description: The id of the context that this task belongs too
        lastChunk:
          description: Whether this represents the last part of an artifact
          type: boolean
        metadata:
          type: object
          description: Optional metadata associated with the artifact update.
          additionalProperties:
            description: Properties of the object.
      description: TaskArtifactUpdateEvent represents a task delta where an artifact has been generated.
    GoogleRpcError:
      type: object
      description: The error envelope every Google API returns.
      properties:
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            status:
              type: string
            details:
              type: array
              items:
                type: object
    TaskStatus:
      description: A container for the status of a task
      type: object
      properties:
        timestamp:
          type: string
          format: google-datetime
          description: 'Timestamp when the status was recorded. Example: "2023-10-27T10:00:00Z"'
        state:
          enum:
          - TASK_STATE_UNSPECIFIED
          - TASK_STATE_SUBMITTED
          - TASK_STATE_WORKING
          - TASK_STATE_COMPLETED
          - TASK_STATE_FAILED
          - TASK_STATE_CANCELLED
          - TASK_STATE_INPUT_REQUIRED
          - TASK_STATE_REJECTED
          - TASK_STATE_AUTH_REQUIRED
          type: string
          description: The current state of this task
        message:
          $ref: '#/components/schemas/Message'
          description: A message associated with the status.
    FilePart:
      properties:
        name:
          type: string
        fileWithBytes:
          type: string
          format: byte
        mimeType:
          type: string
        fileWithUri:
          type: string
      description: FilePart represents the different ways files can be provided. If files are small, directly feeding the bytes is supported via file_with_bytes. If the file is large, the agent should read the content as appropriate directly from the file_with_uri source.
      type: object
    PushNotificationConfig:
      properties:
        token:
          description: Token unique for this task/session
          type: string
        authentication:
          $ref: '#/components/schemas/AuthenticationInfo'
          description: Information about the authentication to sent with the notification
        id:
          description: A unique identifier (e.g. UUID) for this push notification.
          type: string
        url:
          description: Url to send the notification too
          type: string
      type: object
      description: Configuration for setting up push notifications for task updates.
  securitySchemes:
    apiKey:
      type: apiKey
      in: query
      name: key
      description: API key; accepted by methods that do not need user data.
    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/cloud-platform: See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account.
            https://www.googleapis.com/auth/cloud-billing: View and manage your Google Cloud Platform billing accounts
            https://www.googleapis.com/auth/cloud-billing.readonly: View your Google Cloud Platform billing accounts
externalDocs:
  url: https://cloud.google.com/billing/docs/apis
x-provenance:
  method: harvested
  publisher: Google
  source: https://cloudbilling.googleapis.com/$discovery/rest?version=v1
  note: converted by discovery-to-openapi.py from Google's Discovery document (revision 20261106)