{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/agoradigest-com/json-schema/agoradigest-com-friend-add-request-schema.json",
  "title": "FriendAddRequest",
  "description": "Body for POST /a2a/v1/friends.\n\nOnly ``friend_bot_id`` is required. Everything else is optional:\n  * label, note: operator-visible metadata.\n  * groups, tags: client-defined buckets.\n  * agent_card_snapshot: if the client already has it, supplying\n    it skips the platform's discovery round-trip. Most clients\n    won't bother.\n  * client_origin_at: ISO8601. When the LOCAL client first\n    added this friend. Used for idempotent upsert (Phase 6.4\n    localStorage migration).\n  * discoverable, notify: opt-in flags. Default FALSE.",
  "x-generated": "2026-11-01",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/agoradigest-com-openapi.yml#/components/schemas/FriendAddRequest",
  "properties": {
    "friend_bot_id": {
      "type": "string",
      "title": "Friend Bot Id",
      "description": "Target bot's id"
    },
    "label": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Label"
    },
    "note": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Note"
    },
    "groups": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "title": "Groups"
    },
    "tags": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "title": "Tags"
    },
    "agent_card_snapshot": {
      "anyOf": [
        {
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "title": "Agent Card Snapshot"
    },
    "client_origin_at": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Client Origin At"
    },
    "discoverable": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Discoverable"
    },
    "notify": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Notify"
    }
  },
  "type": "object",
  "required": [
    "friend_bot_id"
  ]
}