{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "recipientState": {
      "properties": {
        "reaction": {
          "maxGraphemes": 1,
          "maxLength": 32,
          "type": "string"
        },
        "watchedAt": {
          "format": "datetime",
          "type": "string"
        }
      },
      "type": "object"
    },
    "recipientView": {
      "properties": {
        "actor": {
          "ref": "com.getorbyt.actor.defs#profileView",
          "type": "ref"
        },
        "loopCount": {
          "description": "How many times the recipient has looped it since it was sent.",
          "minimum": 0,
          "type": "integer"
        },
        "reaction": {
          "maxGraphemes": 1,
          "maxLength": 32,
          "type": "string"
        },
        "watchedAt": {
          "description": "When the recipient first looped the video after it was sent. Absent until they do.",
          "format": "datetime",
          "type": "string"
        }
      },
      "required": [
        "actor"
      ],
      "type": "object"
    },
    "sendView": {
      "description": "A video one account sent to a few others: a pointer to a post that is already public, an optional note, and what each recipient did with it. Held by the service, not in any repository, and shown only to its sender and its recipients.",
      "properties": {
        "createdAt": {
          "format": "datetime",
          "type": "string"
        },
        "id": {
          "maxLength": 64,
          "type": "string"
        },
        "note": {
          "maxGraphemes": 150,
          "maxLength": 600,
          "type": "string"
        },
        "reactions": {
          "description": "The reactions a recipient may answer with, chosen by the service. Present only for a recipient.",
          "items": {
            "maxGraphemes": 1,
            "maxLength": 32,
            "type": "string"
          },
          "maxLength": 12,
          "type": "array"
        },
        "recipients": {
          "description": "Who received it and what they did. Only the sender is shown this.",
          "items": {
            "ref": "#recipientView",
            "type": "ref"
          },
          "maxLength": 8,
          "type": "array"
        },
        "sender": {
          "ref": "com.getorbyt.actor.defs#profileView",
          "type": "ref"
        },
        "subject": {
          "description": "The post sent.",
          "format": "at-uri",
          "type": "string"
        },
        "viewer": {
          "description": "The viewer's own state, when the viewer is a recipient.",
          "ref": "#recipientState",
          "type": "ref"
        }
      },
      "required": [
        "id",
        "subject",
        "sender",
        "createdAt"
      ],
      "type": "object"
    }
  },
  "id": "com.getorbyt.send.defs",
  "lexicon": 1
}
