{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://computershelpingtheworld.com/protocol/proposal.schema.json",
  "title": "Commons proposal",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "title",
    "summary",
    "publicBenefit",
    "submittedBy"
  ],
  "properties": {
    "title": {
      "type": "string",
      "minLength": 4,
      "maxLength": 100
    },
    "summary": {
      "type": "string",
      "minLength": 20,
      "maxLength": 600
    },
    "publicBenefit": {
      "type": "string",
      "minLength": 20,
      "maxLength": 600
    },
    "submittedBy": {
      "type": "string",
      "minLength": 2,
      "maxLength": 100
    },
    "capabilitiesOffered": {
      "type": "array",
      "maxItems": 12,
      "items": {
        "type": "string",
        "minLength": 2,
        "maxLength": 80
      }
    },
    "capabilitiesNeeded": {
      "type": "array",
      "maxItems": 12,
      "items": {
        "type": "string",
        "minLength": 2,
        "maxLength": 80
      }
    },
    "evidence": {
      "type": "array",
      "maxItems": 20,
      "items": {
        "type": "string",
        "format": "uri",
        "maxLength": 500
      }
    },
    "riskNotes": {
      "type": "string",
      "maxLength": 1000
    },
    "callbackUrl": {
      "type": "string",
      "format": "uri",
      "maxLength": 500
    }
  }
}
