We will be winding down Google Business Messages on July 31, 2024. Read more
here.
OpenAPI
Stay organized with collections
Save and categorize content based on your preferences.
OpenAPI is a
specification for describing REST APIs. Using
OpenAPI specification 2.0,
you can create OpenAPI documents for the Business Messages and Business
Communications APIs to describe their structure.
This allows you to do the following:
- Create client libraries in your preferred language
- Create server stubs
- Use API management tools
Basic structure of an OpenAPI document
An OpenAPI document describes the surface of a REST API. The document defines
the name and description of the API, the individual endpoints (paths) in the
API, how the callers are authenticated, and more.
Click below to see an example of this basic structure.
JSON
{
"swagger": "2.0",
"host": "businessmessages.googleapis.com",
"info": {
"title": "Business Messages API",
"description": "",
"version": "v1"
},
"paths": {
"/v1/conversations/{conversationsId}/messages": {
"post": {
"description": "Sends a message from an agent to a user.",
"parameters": [
{
"description": "Part of `parent`. Required. The conversation that contains the message. Resolves to \"conversations/{conversationId}\".",
"type": "string",
"in": "path",
"required": true,
"name": "conversationsId"
},
{
"description": "Optional. A flag to send the specified fallback text instead of other message content.",
"name": "forceFallback",
"type": "boolean",
"in": "query"
},
{
"name": "message",
"schema": {
"$ref": "#/definitions/BusinessMessagesMessage"
},
"in": "body",
"description": "Required. The content of a message."
}
],
"tags": [
"businessmessages"
],
"operationId": "CreateMessage",
"responses": {
"default": {
"schema": {
"$ref": "#/definitions/BusinessMessagesMessage"
},
"description": "Successful operation"
}
}
}
}
}
}
To learn more about the structure of an OpenAPI document, see the
Swagger website.
How to access the OpenAPI documents
To access the OpenAPI documents, you must have an API key from a Google Cloud
Platform (GCP) project with the Business Messages and Business Communications
APIs enabled.
Follow the sections below to
- create a GCP project
- create an API key
- enable the Business Messages API and Business Communications API
With these steps completed, you can access the OpenAPI documents.
Create a GCP project
If you already have a GCP project, you can use it to create an API key.
To create a new GCP project, do the following:
- Navigate to the Manage resources
page in the GCP console.
- In the Select organization drop-down list at the top of the page,
select the organization that you want to create the project for.
If you are a free-trial user, skip this step.
- Click Create Project.
- In the New Project window, enter a project name and select a
billing account as applicable. A project name can contain only letters, numbers, single
quotes, hyphens, spaces, or exclamation points, and must be between 4 and 30 characters.
For Location, enter the parent organization or folder for the new project.
Click Create.
Create an API key
Navigate to the
Credentials page
in the GCP console.
Click Create credentials, then select API key.
The API key created dialog box displays your newly created key.
Copy your key and keep it secure. To learn more about API keys, see the
API key documentation.
Enable the Business Communications API and Business Messages API
To enable these APIs in your GCP project, do the following:
- Go to the APIs & Services page in the GCP console.
- In the Select project drop-down list, select the
project you want to enable the APIs for.
- Click Enable APIs and Services.
- In the Search for APIs and Services field, enter Business Messages.
- Select Business Messages API.
- Click Enable.
- Click Enable APIs and Services.
- In the Search for APIs and Services field, enter Business Communications.
- Select Business Communications API.
- Click Enable.
Now your API key has permissions to access the OpenAPI documents for the
Business Messages and Business Communications APIs.
Access the OpenAPI documents
Run this command to access the OpenAPI document for the Business Messages API:
curl "https://businessmessages.googleapis.com/$discovery/swagger2?version=v1&key=API_KEY"
Run this command to access the OpenAPI document for the Business Communications API:
curl "https://businesscommunications.googleapis.com/$discovery/swagger2?version=v1&key=API_KEY"
Replace the API_KEY with your API key.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-05-07 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-05-07 UTC."],[[["\u003cp\u003eOpenAPI specification enables creation of descriptive documents for Business Messages and Business Communications APIs, facilitating client library and server stub development and API management tool usage.\u003c/p\u003e\n"],["\u003cp\u003eOpenAPI documents outline the structure of a REST API, including its name, endpoints, authentication methods, and other details.\u003c/p\u003e\n"],["\u003cp\u003eAccessing OpenAPI documents requires an API key from a Google Cloud Platform (GCP) project with the Business Messages and Business Communications APIs enabled.\u003c/p\u003e\n"],["\u003cp\u003eUsers need to create a GCP project, generate an API key, and enable both Business Messages and Business Communications APIs within the project for document access.\u003c/p\u003e\n"],["\u003cp\u003eOpenAPI documents for both APIs can be retrieved using specific curl commands with the user's API key.\u003c/p\u003e\n"]]],[],null,["# OpenAPI\n\n[OpenAPI](https://swagger.io/docs/specification/about/) is a\nspecification for describing REST APIs. Using\n[OpenAPI specification 2.0](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md),\nyou can create OpenAPI documents for the Business Messages and Business\nCommunications APIs to describe their structure.\n\nThis allows you to do the following:\n\n- Create client libraries in your preferred language\n- Create server stubs\n- Use API management tools\n\nBasic structure of an OpenAPI document\n--------------------------------------\n\nAn OpenAPI document describes the surface of a REST API. The document defines\nthe name and description of the API, the individual endpoints (paths) in the\nAPI, how the callers are authenticated, and more.\n\nClick below to see an example of this basic structure. \n\n#### JSON\n\n```mysql\n {\n \"swagger\": \"2.0\",\n \"host\": \"businessmessages.googleapis.com\",\n \"info\": {\n \"title\": \"Business Messages API\",\n \"description\": \"\",\n \"version\": \"v1\"\n },\n \"paths\": {\n \"/v1/conversations/{conversationsId}/messages\": {\n \"post\": {\n \"description\": \"Sends a message from an agent to a user.\",\n \"parameters\": [\n {\n \"description\": \"Part of `parent`. Required. The conversation that contains the message. Resolves to \\\"conversations/{conversationId}\\\".\",\n \"type\": \"string\",\n \"in\": \"path\",\n \"required\": true,\n \"name\": \"conversationsId\"\n },\n {\n \"description\": \"Optional. A flag to send the specified fallback text instead of other message content.\",\n \"name\": \"forceFallback\",\n \"type\": \"boolean\",\n \"in\": \"query\"\n },\n {\n \"name\": \"message\",\n \"schema\": {\n \"$ref\": \"#/definitions/BusinessMessagesMessage\"\n },\n \"in\": \"body\",\n \"description\": \"Required. The content of a message.\"\n }\n ],\n \"tags\": [\n \"businessmessages\"\n ],\n \"operationId\": \"CreateMessage\",\n \"responses\": {\n \"default\": {\n \"schema\": {\n \"$ref\": \"#/definitions/BusinessMessagesMessage\"\n },\n \"description\": \"Successful operation\"\n }\n }\n }\n }\n }\n }\n \n```\n\nTo learn more about the structure of an OpenAPI document, see the\n[Swagger website](https://swagger.io/docs/specification/2-0/basic-structure/).\n\nHow to access the OpenAPI documents\n-----------------------------------\n\nTo access the OpenAPI documents, you must have an API key from a Google Cloud\nPlatform (GCP) project with the Business Messages and Business Communications\nAPIs enabled.\n\nFollow the sections below to\n\n- create a GCP project\n- create an API key\n- enable the Business Messages API and Business Communications API\n\nWith these steps completed, you can [access the OpenAPI documents](#access_the_openapi_documents).\n\n### Create a GCP project\n\nIf you already have a GCP project, you can use it to [create an API key](#create_an_api_key).\n\nTo create a new GCP project, do the following:\n\n1. Navigate to the [Manage resources](https://console.cloud.google.com/cloud-resource-manager) page in the GCP console.\n2. In the **Select organization** drop-down list at the top of the page, select the organization that you want to create the project for. If you are a free-trial user, skip this step.\n3. Click **Create Project**.\n4. In the **New Project** window, enter a project name and select a billing account as applicable. A project name can contain only letters, numbers, single quotes, hyphens, spaces, or exclamation points, and must be between 4 and 30 characters.\n5. For **Location**, enter the parent organization or folder for the new project.\n\n6. Click **Create**.\n\n### Create an API key\n\n1. Navigate to the\n [Credentials page](https://console.cloud.google.com/apis/credentials)\n in the GCP console.\n\n2. Click **Create credentials** , then select **API key**.\n\n The **API key created** dialog box displays your newly created key.\n Copy your key and keep it secure. To learn more about API keys, see the\n [API key documentation](https://cloud.google.com/api-keys/docs).\n\n### Enable the Business Communications API and Business Messages API\n\nTo enable these APIs in your GCP project, do the following:\n\n1. Go to the [APIs \\& Services](https://console.cloud.google.com/apis) page in the GCP console.\n2. In the **Select project** drop-down list, select the project you want to enable the APIs for.\n3. Click **Enable APIs and Services**.\n4. In the **Search for APIs and Services** field, enter **Business Messages**.\n5. Select **Business Messages API**.\n6. Click **Enable**.\n7. Click **Enable APIs and Services**.\n8. In the **Search for APIs and Services** field, enter **Business Communications**.\n9. Select **Business Communications API**.\n10. Click **Enable**.\n\nNow your API key has permissions to access the OpenAPI documents for the\nBusiness Messages and Business Communications APIs.\n\n### Access the OpenAPI documents\n\nRun this command to access the OpenAPI document for the Business Messages API: \n\n```scdoc\ncurl \"https://businessmessages.googleapis.com/$discovery/swagger2?version=v1&key=API_KEY\"\n```\n\n\u003cbr /\u003e\n\nRun this command to access the OpenAPI document for the Business Communications API: \n\n```scdoc\ncurl \"https://businesscommunications.googleapis.com/$discovery/swagger2?version=v1&key=API_KEY\"\n```\n\n\u003cbr /\u003e\n\nReplace the \u003cvar translate=\"no\"\u003eAPI_KEY\u003c/var\u003e with your API key."]]