changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "additionalProperties": false,
+ "properties": {
+ "channel": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "human mode, skipped before sending: the channel that would have been used ('sms' or 'email'), or 'form' when the business only takes leads through a web form"
+ },
+ "continuation_expired": {
+ "description": "agent mode replay: true when the stored continuation has already expired; it is never re-minted — start a new handoff",
+ "type": "boolean"
+ },
+ "continuation_url": {
+ "description": "agent mode: signed URL the next agent redeems exactly once at /a2a/continue",
+ "type": "string"
+ },
+ "delivered": {
+ "description": "human mode: present only as false, when nothing was sent — see reason",
+ "type": "boolean"
+ },
+ "delivered_via": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "human mode: 'sms' or 'email' — the channel the notification went to"
+ },
+ "expires_at": {
+ "description": "agent mode: Unix seconds when continuation_url stops working (one hour)",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "form_url": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "human mode, channel 'form': the business's own contact form for the user to complete"
+ },
+ "handoff_id": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "handshake_token": {
+ "description": "agent mode: the bare token carried inside continuation_url",
+ "type": "string"
+ },
+ "idempotent_replay": {
+ "description": "Present and true when this idempotency_key already had a handoff; nothing was re-sent and no token was re-minted",
+ "type": "boolean"
+ },
+ "mode": {
+ "description": "The handoff's mode, and which of the fields below are present. Normally the mode you asked for — but an idempotent replay returns the STORED handoff's mode, which differs when an idempotency_key is reused with a different mode than the call that created it.",
+ "enum": [
+ "human",
+ "agent"
+ ],
+ "type": "string"
+ },
+ "reason": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "human mode, not delivered: 'form_routing_configured', 'no_recipient_configured', 'sms_consent_missing', a shape-mismatch skip, a spend-cap denial, or a provider failure code"
+ },
+ "status": {
+ "description": "human mode replay while the original send is still in flight: 'pending'",
+ "type": "string"
+ },
+ "ticket_id": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "human mode, delivered: the provider's message id, or the handoff_id when the provider issues none"
+ }
+ },
+ "required": [
+ "mode",
+ "handoff_id"
+ ],
+ "type": "object"
+}