{
  "lexicon": 1,
  "id": "com.atproto.server.defs",
  "defs": {
    "inviteCode": {
      "type": "object",
      "required": [
        "code",
        "available",
        "disabled",
        "forAccount",
        "createdBy",
        "createdAt",
        "uses"
      ],
      "properties": {
        "code": { "type": "string" },
        "available": { "type": "integer" },
        "disabled": { "type": "boolean" },
        "forAccount": { "type": "string" },
        "createdBy": { "type": "string" },
        "createdAt": { "type": "string", "format": "datetime" },
        "uses": {
          "type": "array",
          "items": { "type": "ref", "ref": "#inviteCodeUse" }
        }
      }
    },
    "inviteCodeUse": {
      "type": "object",
      "required": ["usedBy", "usedAt"],
      "properties": {
        "usedBy": { "type": "string", "format": "did" },
        "usedAt": { "type": "string", "format": "datetime" }
      }
    }
  }
}
