- HTTP request
- Query parameters
- Request body
- Response body
- Authorization scopes
- AgentInterface
- AgentProvider
- AgentCapabilities
- AgentExtension
- SecurityScheme
- APIKeySecurityScheme
- HTTPAuthSecurityScheme
- OAuth2SecurityScheme
- OAuthFlows
- AuthorizationCodeOAuthFlow
- ClientCredentialsOAuthFlow
- ImplicitOAuthFlow
- PasswordOAuthFlow
- DeviceCodeOAuthFlow
- OpenIdConnectSecurityScheme
- MutualTlsSecurityScheme
- SecurityRequirement
- StringList
- AgentSkill
- AgentCardSignature
Gets the extended agent card for the authenticated agent.
HTTP request
GET https://ces.googleapis.com/extendedAgentCard
The URL uses gRPC Transcoding syntax.
Query parameters
| Parameters | |
|---|---|
tenant |
Optional. Tenant ID, provided as a path parameter. |
Request body
The request body must be empty.
Response body
A self-describing manifest for an agent. It provides essential metadata including the agent's identity, capabilities, skills, supported communication methods, and security requirements. Next ID: 20
If successful, the response body contains data with the following structure:
| JSON representation |
|---|
{ "name": string, "description": string, "supportedInterfaces": [ { object ( |
| Fields | |
|---|---|
name |
Required. A human readable name for the agent. Example: "Recipe Agent" |
description |
Required. A human-readable description of the agent, assisting users and other agents in understanding its purpose. Example: "Agent that helps users with recipes and cooking." |
supportedInterfaces[] |
Required. Ordered list of supported interfaces. The first entry is preferred. |
provider |
The service provider of the agent. |
version |
Required. The version of the agent. Example: "1.0.0" |
capabilities |
Required. A2A Capability set supported by the agent. |
securitySchemes |
The security scheme details used for authenticating with this agent. An object containing a list of |
securityRequirements[] |
Security requirements for contacting the agent. |
defaultInputModes[] |
Required. protolint:enable REPEATED_FIELD_NAMES_PLURALIZED The set of interaction modes that the agent supports across all skills. This can be overridden per skill. Defined as media types. |
defaultOutputModes[] |
Required. The media types supported as outputs from this agent. |
skills[] |
Required. Skills represent the abilities of an agent. It is largely a descriptive concept but represents a more focused set of behaviors that the agent is likely to succeed at. |
signatures[] |
JSON Web Signatures computed for this |
documentationUrl |
A URL providing additional documentation about the agent. |
iconUrl |
Optional. A URL to an icon for the agent. |
Authorization scopes
Requires one of the following OAuth scopes:
https://www.googleapis.com/auth/cloud-platformhttps://www.googleapis.com/auth/ces
For more information, see the Authentication Overview.
AgentInterface
Declares a combination of a target URL, transport and protocol version for interacting with the agent. This allows agents to expose the same functionality over multiple protocol binding mechanisms.
| JSON representation |
|---|
{ "url": string, "protocolBinding": string, "tenant": string, "protocolVersion": string } |
| Fields | |
|---|---|
url |
Required. The URL where this interface is available. Must be a valid absolute HTTPS URL in production. Example: "https://api.example.com/a2a/v1", "https://grpc.example.com/a2a" |
protocolBinding |
Required. The protocol binding supported at this URL. This is an open form string, to be easily extended for other protocol bindings. The core ones officially supported are |
tenant |
Tenant ID to be used in the request when calling the agent. |
protocolVersion |
Required. The version of the A2A protocol this interface exposes. Use the latest supported minor version per major version. Examples: "0.3", "1.0" |
AgentProvider
Represents the service provider of an agent.
| JSON representation |
|---|
{ "url": string, "organization": string } |
| Fields | |
|---|---|
url |
Required. A URL for the agent provider's website or relevant documentation. Example: "https://ai.google.dev" |
organization |
Required. The name of the agent provider's organization. Example: "Google" |
AgentCapabilities
Defines optional capabilities supported by an agent.
| JSON representation |
|---|
{
"extensions": [
{
object ( |
| Fields | |
|---|---|
extensions[] |
A list of protocol extensions supported by the agent. |
streaming |
Indicates if the agent supports streaming responses. |
pushNotifications |
Indicates if the agent supports sending push notifications for asynchronous task updates. |
extendedAgentCard |
Indicates if the agent supports providing an extended agent card when authenticated. |
AgentExtension
A declaration of a protocol extension supported by an Agent.
| JSON representation |
|---|
{ "uri": string, "description": string, "required": boolean, "params": { object } } |
| Fields | |
|---|---|
uri |
The unique URI identifying the extension. |
description |
A human-readable description of how this agent uses the extension. |
required |
If true, the client must understand and comply with the extension's requirements. |
params |
Optional. Extension-specific configuration parameters. |
SecurityScheme
Defines a security scheme that can be used to secure an agent's endpoints. This is a discriminated union type based on the OpenAPI 3.2 Security Scheme Object. See: https://spec.openapis.org/oas/v3.2.0.html#security-scheme-object
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field
|
|
apiKeySecurityScheme |
API key-based authentication. |
httpAuthSecurityScheme |
HTTP authentication (Basic, Bearer, etc.). |
oauth2SecurityScheme |
OAuth 2.0 authentication. |
openIdConnectSecurityScheme |
OpenID Connect authentication. |
mtlsSecurityScheme |
Mutual TLS authentication. |
APIKeySecurityScheme
Defines a security scheme using an API key.
| JSON representation |
|---|
{ "description": string, "location": string, "name": string } |
| Fields | |
|---|---|
description |
An optional description for the security scheme. |
location |
Required. The location of the API key. Valid values are "query", "header", or "cookie". |
name |
Required. The name of the header, query, or cookie parameter to be used. |
HTTPAuthSecurityScheme
Defines a security scheme using HTTP authentication.
| JSON representation |
|---|
{ "description": string, "scheme": string, "bearerFormat": string } |
| Fields | |
|---|---|
description |
An optional description for the security scheme. |
scheme |
Required. The name of the HTTP Authentication scheme to be used in the Authorization header, as defined in RFC7235 (e.g., "Bearer"). This value should be registered in the IANA Authentication Scheme registry. |
bearerFormat |
A hint to the client to identify how the bearer token is formatted (e.g., "JWT"). Primarily for documentation purposes. |
OAuth2SecurityScheme
Defines a security scheme using OAuth 2.0.
| JSON representation |
|---|
{
"description": string,
"flows": {
object ( |
| Fields | |
|---|---|
description |
An optional description for the security scheme. |
flows |
Required. An object containing configuration information for the supported OAuth 2.0 flows. |
oauth2MetadataUrl |
URL to the OAuth2 authorization server metadata RFC 8414. TLS is required. |
OAuthFlows
Defines the configuration for the supported OAuth 2.0 flows.
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field
|
|
authorizationCode |
Configuration for the OAuth Authorization Code flow. |
clientCredentials |
Configuration for the OAuth Client Credentials flow. |
implicit |
Deprecated: Use Authorization Code + PKCE instead. |
password |
Deprecated: Use Authorization Code + PKCE or Device Code. |
deviceCode |
Configuration for the OAuth Device Code flow. |
AuthorizationCodeOAuthFlow
Defines configuration details for the OAuth 2.0 Authorization Code flow.
| JSON representation |
|---|
{ "authorizationUrl": string, "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... }, "pkceRequired": boolean } |
| Fields | |
|---|---|
authorizationUrl |
Required. The authorization URL to be used for this flow. |
tokenUrl |
Required. The token URL to be used for this flow. |
refreshUrl |
The URL to be used for obtaining refresh tokens. |
scopes |
Required. The available scopes for the OAuth2 security scheme. An object containing a list of |
pkceRequired |
Indicates if PKCE (RFC 7636) is required for this flow. PKCE should always be used for public clients and is recommended for all clients. |
ClientCredentialsOAuthFlow
Defines configuration details for the OAuth 2.0 Client Credentials flow.
| JSON representation |
|---|
{ "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| Fields | |
|---|---|
tokenUrl |
Required. The token URL to be used for this flow. |
refreshUrl |
The URL to be used for obtaining refresh tokens. |
scopes |
Required. The available scopes for the OAuth2 security scheme. An object containing a list of |
ImplicitOAuthFlow
Deprecated: Use Authorization Code + PKCE instead.
| JSON representation |
|---|
{ "authorizationUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| Fields | |
|---|---|
authorizationUrl |
The authorization URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS |
refreshUrl |
The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS. |
scopes |
The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it. The map MAY be empty. An object containing a list of |
PasswordOAuthFlow
Deprecated: Use Authorization Code + PKCE or Device Code.
| JSON representation |
|---|
{ "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| Fields | |
|---|---|
tokenUrl |
The token URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS. |
refreshUrl |
The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS. |
scopes |
The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it. The map MAY be empty. An object containing a list of |
DeviceCodeOAuthFlow
Defines configuration details for the OAuth 2.0 Device Code flow (RFC 8628). This flow is designed for input-constrained devices such as IoT devices, and CLI tools where the user authenticates on a separate device.
| JSON representation |
|---|
{ "deviceAuthorizationUrl": string, "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| Fields | |
|---|---|
deviceAuthorizationUrl |
Required. The device authorization endpoint URL. |
tokenUrl |
Required. The token URL to be used for this flow. |
refreshUrl |
The URL to be used for obtaining refresh tokens. |
scopes |
Required. The available scopes for the OAuth2 security scheme. An object containing a list of |
OpenIdConnectSecurityScheme
Defines a security scheme using OpenID Connect.
| JSON representation |
|---|
{ "description": string, "openIdConnectUrl": string } |
| Fields | |
|---|---|
description |
An optional description for the security scheme. |
openIdConnectUrl |
Required. The OpenID Connect Discovery URL for the OIDC provider's metadata. |
MutualTlsSecurityScheme
Defines a security scheme using mTLS authentication.
| JSON representation |
|---|
{ "description": string } |
| Fields | |
|---|---|
description |
An optional description for the security scheme. |
SecurityRequirement
Defines the security requirements for an agent.
| JSON representation |
|---|
{
"schemes": {
string: {
object ( |
| Fields | |
|---|---|
schemes |
A map of security schemes to the required scopes. An object containing a list of |
StringList
protolint:disable REPEATED_FIELD_NAMES_PLURALIZED A list of strings.
| JSON representation |
|---|
{ "list": [ string ] } |
| Fields | |
|---|---|
list[] |
The individual string values. |
AgentSkill
Represents a distinct capability or function that an agent can perform.
| JSON representation |
|---|
{
"id": string,
"name": string,
"description": string,
"tags": [
string
],
"examples": [
string
],
"inputModes": [
string
],
"outputModes": [
string
],
"securityRequirements": [
{
object ( |
| Fields | |
|---|---|
id |
Required. A unique identifier for the agent's skill. |
name |
Required. A human-readable name for the skill. |
description |
Required. A detailed description of the skill. |
tags[] |
Required. A set of keywords describing the skill's capabilities. |
examples[] |
Example prompts or scenarios that this skill can handle. |
inputModes[] |
The set of supported input media types for this skill, overriding the agent's defaults. |
outputModes[] |
The set of supported output media types for this skill, overriding the agent's defaults. |
securityRequirements[] |
Security schemes necessary for this skill. |
AgentCardSignature
AgentCardSignature represents a JWS signature of an AgentCard. This follows the JSON format of an RFC 7515 JSON Web Signature (JWS).
| JSON representation |
|---|
{ "protected": string, "signature": string, "header": { object } } |
| Fields | |
|---|---|
protected |
Required. Required. The protected JWS header for the signature. This is always a base64url-encoded JSON object. |
signature |
Required. The computed signature, base64url-encoded. |
header |
The unprotected JWS header values. |