A2A Protocol Endpoints
Webhooks & Agent Info
Configure push notifications and retrieve agent metadata for A2A integrations
POST
Overview
These endpoints allow you to configure push notifications (webhooks) for asynchronous task updates and retrieve detailed agent information for better integration planning.Push Notifications: Webhooks enable real-time notifications about task status changes, perfect for long-running operations where polling isn’t efficient.
tasks/pushNotificationConfig/set
Configure webhook endpoints to receive push notifications about task status changes.Request Parameters
JSON-RPC version, must be
"2.0"Unique identifier for this request
Must be
"tasks/pushNotificationConfig/set"Webhook configuration parameters
Response
JSON-RPC version, always
"2.0"Configuration result
Example
tasks/pushNotificationConfig/get
Retrieve current webhook configuration for the agent.Request Parameters
JSON-RPC version, must be
"2.0"Unique identifier for this request
Must be
"tasks/pushNotificationConfig/get"Optional parameters
Response
JSON-RPC version, always
"2.0"Current webhook configuration
Example
agent/authenticatedExtendedCard
Get detailed information about the agent, including capabilities, supported features, and metadata.Request Parameters
JSON-RPC version, must be
"2.0"Unique identifier for this request
Must be
"agent/authenticatedExtendedCard"Optional parameters
Response
JSON-RPC version, always
"2.0"Agent information
Example
Webhook Payload Format
When webhooks are configured, your endpoint will receive POST requests with the following payload structure:Webhook Request Headers
Webhook Payload
Webhook Events
task.submitted
task.submitted
Sent when a task is submitted and queued for processing.Data includes:
taskId, submittedAt, estimatedDurationtask.working
task.working
Sent when a task starts processing (optional, based on agent implementation).Data includes:
taskId, startedAt, progresstask.completed
task.completed
Sent when a task completes successfully.Data includes:
taskId, status.message, contextId, duration, completedAttask.failed
task.failed
Sent when a task fails during processing.Data includes:
taskId, status.error, duration, failedAttask.canceled
task.canceled
Sent when a task is canceled.Data includes:
taskId, reason, canceledAtWebhook Security
Signature Verification
If you provide asecret in your webhook configuration, each webhook request will include an HMAC-SHA256 signature:
Best Practices
Security
Security
- Always verify signatures when using webhook secrets
- Use HTTPS endpoints for webhook URLs
- Validate payload structure before processing
- Implement idempotency using delivery IDs
Performance
Performance
- Respond quickly (< 5 seconds) to avoid retries
- Process asynchronously for complex operations
- Return 2xx status codes for successful processing
Reliability
Reliability
- Handle duplicate deliveries gracefully
- Implement proper error handling for webhook processing
- Monitor webhook delivery success rates