{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://living-bread.org/protocol/v0.1/person.schema.json",
  "title": "Kingdom Protocol v0.1: Person",
  "description": "A believer's public profile, only when they made it public, only the fields they left on, never a minor, never anyone in a closed land. lb:profile is used, not lb:person, because the Kingdom Graph uses lb:person for the people of the Bible.",
  "type": "object",
  "required": [
    "handle",
    "name"
  ],
  "properties": {
    "handle": {
      "description": "Handle",
      "type": "string"
    },
    "name": {
      "description": "Name as shown",
      "type": "string"
    },
    "avatar_url": {
      "description": "Avatar",
      "type": [
        "string",
        "null"
      ],
      "format": "uri"
    },
    "is_pastor": {
      "description": "A verified pastor",
      "type": [
        "boolean",
        "null"
      ]
    },
    "bio": {
      "description": "Bio",
      "type": [
        "string",
        "null"
      ]
    },
    "scripture_ref": {
      "description": "A Scripture reference they carry",
      "type": [
        "string",
        "null"
      ]
    },
    "church_name": {
      "description": "Church",
      "type": [
        "string",
        "null"
      ]
    },
    "city": {
      "description": "City, when shown",
      "type": [
        "string",
        "null"
      ]
    },
    "country": {
      "description": "Country, when shown",
      "type": [
        "string",
        "null"
      ]
    },
    "gifts": {
      "description": "Gifts",
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "string",
          "object"
        ]
      }
    },
    "offerings": {
      "description": "What they offer (each an Offering)",
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "string",
          "object"
        ]
      }
    },
    "links": {
      "description": "Their links",
      "type": [
        "object",
        "null"
      ]
    },
    "updated_at": {
      "description": "Last change",
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    }
  },
  "additionalProperties": true,
  "x-lb-urn": "lb:profile:<handle>",
  "x-lb-schema-org": "https://schema.org/Person",
  "x-lb-door": "/api/person/{handle}",
  "x-lb-license": "Directory data CC BY 4.0. Words written by people remain theirs; quote with attribution."
}