{
  '$id': 'https://picc.app/schemata/v0.1-dev/entity',
  '$schema': 'http://json-schema.org/draft-07/schema',
  title: 'Entity',
  description: |||
    An entity in picc. 

    It must have an `id` as an internal identifier and a human-readable `name`.
  |||,
  type: 'object',
  properties: {
    id: {
      description: |||
        Identifier that is unique within a server. 

        It consists of a string of numbers, upper and/or lower case letters, and special cheracters `-` and `_`.
      |||,
      type: 'string',
      minLength: 1,
      maxLength: 50,
      pattern: '^[0-9a-zA-Z-_]+$',
    },
    name: {
      type: 'string',
      description: |||
        Human-readable name of the entity for UI display purposes.
      |||,
      minLength: 1,
      maxLength: 100,
    },
    description: {
      type: 'string',
      description: |||
        Human-readable description of the entity for UI display purposes.
      |||,
      maxLength: 1000,
    },
  },
  required: [
    'id',
    'name',
  ],
}