Google Chat API

The Google Chat API lets you build Chat apps to integrate your services with Google Chat and manage Chat resources such as spaces, members, and messages.

Service: chat.googleapis.com

To call this service, we recommend that you use the Google-provided client libraries. If your application needs to use your own libraries to call this service, use the following information when you make the API requests.

Discovery document

A Discovery Document is a machine-readable specification for describing and consuming REST APIs. It is used to build client libraries, IDE plugins, and other tools that interact with Google APIs. One service may provide multiple discovery documents. This service provides the following discovery document:

Service endpoint

A service endpoint is a base URL that specifies the network address of an API service. One service might have multiple service endpoints. This service has the following service endpoint and all URIs below are relative to this service endpoint:

  • https://chat.googleapis.com

REST Resource: v1.media

Methods
download GET /v1/media/{resourceName=**}
Downloads media.
upload POST /v1/{parent=spaces/*}/attachments:upload
POST /upload/v1/{parent=spaces/*}/attachments:upload
Uploads an attachment.

REST Resource: v1.spaces

Methods
completeImport POST /v1/{name=spaces/*}:completeImport
Completes the import process for the specified space and makes it visible to users.
create POST /v1/spaces
Creates a space with no members.
delete DELETE /v1/{name=spaces/*}
Deletes a named space.
findDirectMessage GET /v1/spaces:findDirectMessage
Returns the existing direct message with the specified user.
get GET /v1/{name=spaces/*}
Returns details about a space.
list GET /v1/spaces
Lists spaces the caller is a member of.
patch PATCH /v1/{space.name=spaces/*}
Updates a space.
search GET /v1/spaces:search
Returns a list of spaces in a Google Workspace organization based on an administrator's search.
setup POST /v1/spaces:setup
Creates a space and adds specified users to it.

REST Resource: v1.spaces.members

Methods
create POST /v1/{parent=spaces/*}/members
Creates a membership for the calling Chat app, a user, or a Google Group.
delete DELETE /v1/{name=spaces/*/members/*}
Deletes a membership.
get GET /v1/{name=spaces/*/members/*}
Returns details about a membership.
list GET /v1/{parent=spaces/*}/members
Lists memberships in a space.
patch PATCH /v1/{membership.name=spaces/*/members/*}
Updates a membership.

REST Resource: v1.spaces.messages

Methods
create POST /v1/{parent=spaces/*}/messages
Creates a message in a Google Chat space.
delete DELETE /v1/{name=spaces/*/messages/*}
Deletes a message.
get GET /v1/{name=spaces/*/messages/*}
Returns details about a message.
list GET /v1/{parent=spaces/*}/messages
Lists messages in a space that the caller is a member of, including messages from blocked members and spaces.
patch PATCH /v1/{message.name=spaces/*/messages/*}
Updates a message.
update PUT /v1/{message.name=spaces/*/messages/*}
Updates a message.

REST Resource: v1.spaces.messages.attachments

Methods
get GET /v1/{name=spaces/*/messages/*/attachments/*}
Gets the metadata of a message attachment.

REST Resource: v1.spaces.messages.reactions

Methods
create POST /v1/{parent=spaces/*/messages/*}/reactions
Creates a reaction and adds it to a message.
delete DELETE /v1/{name=spaces/*/messages/*/reactions/*}
Deletes a reaction to a message.
list GET /v1/{parent=spaces/*/messages/*}/reactions
Lists reactions to a message.

REST Resource: v1.spaces.spaceEvents

Methods
get GET /v1/{name=spaces/*/spaceEvents/*}
Returns an event from a Google Chat space.
list GET /v1/{parent=spaces/*}/spaceEvents
Lists events from a Google Chat space.

REST Resource: v1.users.spaces

Methods
getSpaceReadState GET /v1/{name=users/*/spaces/*/spaceReadState}
Returns details about a user's read state within a space, used to identify read and unread messages.
updateSpaceReadState PATCH /v1/{spaceReadState.name=users/*/spaces/*/spaceReadState}
Updates a user's read state within a space, used to identify read and unread messages.

REST Resource: v1.users.spaces.threads

Methods
getThreadReadState GET /v1/{name=users/*/spaces/*/threads/*/threadReadState}
Returns details about a user's read state within a thread, used to identify read and unread messages.