{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://orbit.love/schemas/identity.json",
  "title": "Identity",
  "description": "Represents an email address, a profile on networks like github and twitter, or a record in another system.",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "The name of the person in the source system"
    },
    "source": {
      "type": "string",
      "description": "The type of source: known values include github, twitter, discourse, email, linkedin, devto. Custom values can also be used"
    },
    "source_host": {
      "type": "string",
      "description": "Specifies the location of the source, such as the host of a Discourse instance"
    },
    "username": {
      "type": "string",
      "description": "The username of the person in the source system"
    },
    "uid": {
      "type": "string",
      "description": "The uid of the person in the source system"
    },
    "email": {
      "type": "string",
      "description": "The email of the person in the source system"
    },
    "url": {
      "type": "string",
      "description": "For custom identities, an optional link to the profile on the source system"
    }
  },
  "required": [
    "source"
  ]
}