Vertex AI extensions allow LLMs to connect to real-world data and actions through APIs.
Extensions process user queries and communicate
with large language models (LLMs) to execute operations on behalf of an application, such as
a chat app.
For example, suppose you create a Vertex AI extension for a car rental API, and this extension is linked
to a chat application. When a user asks the application about renting a car, the generative AI understands
the context of the question and calls the extension API to rent a car.
Figure 1. Vertex AI extension connected to a customer-service chat app.
API hub streamlines the process of creating a Vertex AI extension by using existing API hub
metadata. The key data used by API hub to create an extension are an API specification and
a deployment, which, conveniently, are already validated by API hub. The specification provides the operations of the API to the extension, and the
deployment provides the server endpoint of the API.
Create a Vertex AI extension
To create a Vertex AI extension in API hub:
Console
To create an extension:
In the Google Cloud console, go to the APIs page in API hub.
Locate the API where you want to add an extension. Use Filter to specify keywords to filter the list of APIs.
If needed, use Search to locate an API.
Click the API to view its details page.
Click Create Vertex Extension.
Specify extension details in the Create a Vertex Extension form:
Extension name: (Required) Enter a name for the extension.
Description: (Required) Add a description of the extension.
Version: (Required) Select an API version.
Specification file: (Required) If a specification is linked to the API version, it
is automatically populated in this field. See Manage API specifications.
Deployment: (Required) If a deployment is linked to the API version, it is automatically
populated in this field. See
Manage deployments.
Authentication: (Optional) Select an authentication type. The following authentication types are supported:
No authentication: Select this option if your extension does not require authentication.
API key: Use an API key for authentication. If selected, provide the following inputs:
Parameter name: Enter the name of the API key.
API key Secret: Enter the Secret Manager resource string that stores your API key. Use one of the following formats:
Global Secret: projects/PROJECT_ID/secrets/SECRET_ID/versions/VERSION
HTTP element location: Choose the location where the API key is stored in the HTTP request.
HTTP basic: Use HTTP basic authentication. If selected, provide the SecretManager secret version resource that stores the base64-encoded credential in the Credential secret field.
Use one of the following formats:
Global Secret: projects/PROJECT_ID/secrets/SECRET_ID/versions/VERSION
Click Create Extension. If you add the extension to the default version, the extension
will show up in the Extensions section of the API details page. If you added the
extension to another version, you'll have to view the version's details page to see the
extension listed there.
List Vertex AI extensions
This section explains how to list vertex extensions.
Console
To view all the extensions associated with a registered API in the console:
In the Google Cloud console, go to the API hub page.
Locate the API you wish to inspect. Use Filter to specify keywords to filter the list of APIs.
If needed, use Search to locate an API.
Select an API.
Any extensions that were added to the default version are listed in the Extensions section of the API details page. If an
extension was added to another version, you'll have to view the version's details page to see the
extension listed there.
Get Vertex AI extension details
This section explains how to get the details about a Vertex AI extension.
Console
To view Vertex AI extension details in the console:
In the Google Cloud console, go to the API hub page.
Locate the API you wish to inspect. Use Filter to specify keywords to filter the list of APIs.
If needed, use Search to locate an API.
Select an API.
Any extensions that were added to the default version are listed in the
Extensions section of the API details page. If an
extension was added to another version, you'll have to view the version's details page to see the
extension listed there. In the Vertex extensions table, click an extension to see its details page.
Delete a Vertex AI extension
This section explains how to delete a Vertex extension.
Console
To delete an extension:
In the Google Cloud console, go to the API hub page.
Locate the API that includes the extension you wish to delete. Use Filter to specify keywords to filter the list of APIs.
If needed, use Search to locate an API.
Select an API.
Locate the extension to delete.
Any extensions that were added to the default version are listed in the Extensions section of the API details page. If an
extension was added to another version, you'll have to view the version's details page to see the
extension listed there.
From the Actions menu (the right side of the row containing the extension),
click Delete.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-26 UTC."],[[["\u003cp\u003eThis guide outlines the process of creating, listing, viewing, and deleting Vertex AI extensions within API hub, which applies to both Apigee and Apigee hybrid.\u003c/p\u003e\n"],["\u003cp\u003eVertex AI extensions enable large language models (LLMs) to interact with real-world data and actions through APIs, streamlining integration with applications like chat services.\u003c/p\u003e\n"],["\u003cp\u003eAPI hub simplifies the creation of Vertex AI extensions by leveraging existing API metadata, including API specifications and deployments, already validated within API hub.\u003c/p\u003e\n"],["\u003cp\u003eCreating a Vertex AI extension requires specifying details like the extension's name, description, API version, specification file, deployment, and optional authentication settings.\u003c/p\u003e\n"],["\u003cp\u003eExtensions can be viewed, managed, and deleted through the API hub console by navigating to the respective API's details page and accessing the extensions section, either in the default version or a specific version's details.\u003c/p\u003e\n"]]],[],null,["# Create Vertex AI extensions\n\n*This page\napplies to **Apigee** and **Apigee hybrid**.*\n\nThis topic explains how to create [Vertex AI extensions](/vertex-ai/generative-ai/docs/extensions/overview) within API hub.\n\nWhat is a Vertex AI extension?\n------------------------------\n\nVertex AI extensions allow LLMs to connect to real-world data and actions through APIs.\nExtensions process user queries and communicate\nwith large language models (LLMs) to execute operations on behalf of an application, such as\na chat app.\n\nFor example, suppose you create a Vertex AI extension for a car rental API, and this extension is linked\nto a chat application. When a user asks the application about renting a car, the generative AI understands\nthe context of the question and calls the extension API to rent a car.\n**Figure 1.** Vertex AI extension connected to a customer-service chat app.\n\nFor more information about Vertex AI extensions, see [Extensions overview](/vertex-ai/generative-ai/docs/extensions/overview).\n\nAPI hub streamlines Vertex AI extension creation\n------------------------------------------------\n\nAPI hub streamlines the process of creating a Vertex AI extension by using existing API hub\nmetadata. The key data used by API hub to create an extension are an API specification and\na deployment, which, conveniently, are already validated by API hub. The specification provides the operations of the API to the extension, and the\ndeployment provides the server endpoint of the API.\n\nCreate a Vertex AI extension\n----------------------------\n\nTo create a Vertex AI extension in API hub: \n\n### Console\n\nTo create an extension:\n\n1. In the Google Cloud console, go to the **APIs** page in **API hub**.\n\n [Go to API hub](https://console.cloud.google.com/apigee/api-hub/apis)\n2. Locate the API where you want to add an extension. Use [Filter](./search-apis#filter) to specify keywords to filter the list of APIs. If needed, use [Search](./search-apis) to locate an API.\n3. Click the API to view its details page.\n4. Click **Create Vertex Extension**.\n5. Specify extension details in the **Create a Vertex Extension** form:\n 1. **Extension name:** (Required) Enter a name for the extension.\n 2. **Description**: (Required) Add a description of the extension.\n 3. **Version**: (Required) Select an API version.\n 4. **Specification file** : (Required) If a specification is linked to the API version, it is automatically populated in this field. See [Manage API specifications](./manage-specifications). Vertex AI extension only supports OpenAPI specification files in YAML format. The spec file size limit is 1 MB.\n 5. **Deployment** : (Required) If a deployment is linked to the API version, it is automatically populated in this field. See [Manage deployments](./manage-api-deployments). **Note:** Because Vertex extensions only support one server endpoint per specification, we cannot allow deployments with multiple server endpoints. If a deployment contains multiple endpoints, we pick the first one.\n 6. **Authentication** : (Optional) Select an authentication type. The following authentication types are supported:\n - **No authentication**: Select this option if your extension does not require authentication.\n - **API key** : Use an API key for authentication. If selected, provide the following inputs:\n 1. **Parameter name**: Enter the name of the API key.\n 2. **API key Secret** : Enter the Secret Manager resource string that stores your API key. Use one of the following formats:\n - Global Secret: `projects/`\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e`/secrets/`\u003cvar translate=\"no\"\u003eSECRET_ID\u003c/var\u003e`/versions/`\u003cvar translate=\"no\"\u003eVERSION\u003c/var\u003e\n - Regional Secret: `projects/`\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e`/locations/`\u003cvar translate=\"no\"\u003eLOCATION\u003c/var\u003e`/secrets/`\u003cvar translate=\"no\"\u003eSECRET_ID\u003c/var\u003e`/versions/`\u003cvar translate=\"no\"\u003eVERSION\u003c/var\u003e\n\n Where:\n - \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e: Your Google Cloud project ID.\n - \u003cvar translate=\"no\"\u003eLOCATION\u003c/var\u003e: The region where the secret is stored (for example, `us-central1`). This is only required for regional secrets.\n - \u003cvar translate=\"no\"\u003eSECRET_ID\u003c/var\u003e: The name of your Secret Manager secret.\n - \u003cvar translate=\"no\"\u003eVERSION\u003c/var\u003e: The version of the secret.\n\n For more information about Secret Manager, see [Secret Manager documentation](/secret-manager/docs).\n 3. **HTTP element location**: Choose the location where the API key is stored in the HTTP request.\n - **HTTP basic** : Use HTTP basic authentication. If selected, provide the [SecretManager](/secret-manager) secret version resource that stores the base64-encoded credential in the **Credential secret** field. Use one of the following formats:\n - Global Secret: `projects/`\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e`/secrets/`\u003cvar translate=\"no\"\u003eSECRET_ID\u003c/var\u003e`/versions/`\u003cvar translate=\"no\"\u003eVERSION\u003c/var\u003e\n - Regional Secret: `projects/`\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e`/locations/`\u003cvar translate=\"no\"\u003eLOCATION\u003c/var\u003e`/secrets/`\u003cvar translate=\"no\"\u003eSECRET_ID\u003c/var\u003e`/versions/`\u003cvar translate=\"no\"\u003eVERSION\u003c/var\u003e\n\n Where:\n - \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e: Your Google Cloud project ID.\n - \u003cvar translate=\"no\"\u003eLOCATION\u003c/var\u003e: The region where the secret is stored (for example, `us-central1`). This is only required for regional secrets.\n - \u003cvar translate=\"no\"\u003eSECRET_ID\u003c/var\u003e: The name of your Secret Manager secret.\n - \u003cvar translate=\"no\"\u003eVERSION\u003c/var\u003e: The version of the secret.\n\n To learn more about authentication types, see [Authentication configuration](/vertex-ai/generative-ai/docs/extensions/create-extension#authentication_configuration).\n6. Click **Create Extension**. If you add the extension to the default version, the extension will show up in the Extensions section of the API details page. If you added the extension to another version, you'll have to view the version's details page to see the extension listed there.\n\nList Vertex AI extensions\n-------------------------\n\nThis section explains how to list vertex extensions. \n\n### Console\n\nTo view all the extensions associated with a registered API in the console:\n\n1. In the Google Cloud console, go to the **API hub** page.\n\n [Go to API hub](https://console.cloud.google.com/apigee/api-hub/apis)\n2. Click **APIs**.\n3. Locate the API you wish to inspect. Use [Filter](./search-apis#filter) to specify keywords to filter the list of APIs. If needed, use [Search](./search-apis) to locate an API.\n4. Select an API.\n5. Any extensions that were added to the default version are listed in the Extensions section of the API details page. If an extension was added to another version, you'll have to view the version's details page to see the extension listed there.\n\nGet Vertex AI extension details\n-------------------------------\n\nThis section explains how to get the details about a Vertex AI extension. \n\n### Console\n\nTo view Vertex AI extension details in the console:\n\n1. In the Google Cloud console, go to the **API hub** page.\n\n [Go to API hub](https://console.cloud.google.com/apigee/api-hub/apis)\n2. Click **APIs**.\n3. Locate the API you wish to inspect. Use [Filter](./search-apis#filter) to specify keywords to filter the list of APIs. If needed, use [Search](./search-apis) to locate an API.\n4. Select an API.\n5. Any extensions that were added to the default version are listed in the Extensions section of the API details page. If an extension was added to another version, you'll have to view the version's details page to see the extension listed there. In the **Vertex extensions** table, click an extension to see its details page.\n\nDelete a Vertex AI extension\n----------------------------\n\nThis section explains how to delete a Vertex extension. \n\n### Console\n\nTo delete an extension:\n\n1. In the Google Cloud console, go to the **API hub** page.\n\n [Go to API hub](https://console.cloud.google.com/apigee/api-hub/apis)\n2. Click **APIs**.\n3. Locate the API that includes the extension you wish to delete. Use [Filter](./search-apis#filter) to specify keywords to filter the list of APIs. If needed, use [Search](./search-apis) to locate an API.\n4. Select an API.\n5. Locate the extension to delete. Any extensions that were added to the default version are listed in the Extensions section of the API details page. If an extension was added to another version, you'll have to view the version's details page to see the extension listed there.\n6. From the **Actions** menu (the right side of the row containing the extension), click **Delete**."]]