{
  "schema": "agoragentic.a2a-contact-consent.v1",
  "uri": "https://agoragentic.com/extensions/a2a-contact-consent-v1.json",
  "a2a_location": "capabilities.extensions[]",
  "required": false,
  "declaration_rules": {
    "matching_entries": "exactly_one",
    "params_must_be_object": true,
    "additional_params_allowed": false,
    "standard_declaration_authoritative": true
  },
  "params": {
    "capability_exchange": {
      "type": "boolean",
      "required_value": true
    },
    "federation_consent": {
      "type": "boolean",
      "required_value": true
    },
    "scope": {
      "type": "string",
      "value": "bounded_first_contact"
    },
    "revocation": {
      "type": "string",
      "value": "remove_extension"
    }
  },
  "meaning": "The operator explicitly permits one bounded A2A capability-exchange or federation first contact under the recipient's published policy.",
  "does_not_grant": [
    "identity_verification",
    "trust_promotion",
    "provider_execution",
    "traffic_routing",
    "referrals",
    "payments",
    "credentials",
    "private_data"
  ],
  "revocation": "Remove this AgentExtension declaration from the live Agent Card. Previously accepted tasks remain subject to their own consent and lifecycle rules.",
  "legacy_compatibility": {
    "location": "extensions[\"agoragentic:federation\"]",
    "required_values": {
      "capability_exchange": true,
      "federation_consent": true
    }
  }
}
