{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/roku/refs/heads/main/json-schema/nabu-cloud-project-create-schema.json",
  "title": "ProjectCreate",
  "description": "ProjectCreate schema from Roku Nabu Cloud",
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "maxLength": 255,
      "minLength": 3,
      "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$",
      "title": "Slug",
      "description": "The slug of the project, used in URLs"
    },
    "name": {
      "type": "string",
      "maxLength": 255,
      "minLength": 3,
      "title": "Name",
      "description": "The name of the Project"
    },
    "description": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 4096,
          "minLength": 0
        },
        {
          "type": "null"
        }
      ],
      "title": "Description",
      "description": "The description of the Project"
    },
    "billing_entity": {
      "type": "string",
      "maxLength": 255,
      "minLength": 3,
      "title": "Billing Entity",
      "description": "The billing entity of the Project"
    },
    "max_devices": {
      "type": "integer",
      "minimum": 0,
      "title": "Max Devices",
      "description": "Maximum number of devices in the project, 0 for organisation max",
      "default": 0
    },
    "max_snapshots": {
      "type": "integer",
      "minimum": 0,
      "title": "Max Snapshots",
      "description": "Maximum number of snapshots in the project, 0 for organisation max",
      "default": 0
    },
    "max_runtime": {
      "type": "integer",
      "minimum": 0,
      "title": "Max Runtime",
      "description": "Maximum runtime of a device in the project, 0 for organisation max",
      "default": 0
    },
    "private": {
      "type": "boolean",
      "title": "Private",
      "description": "Whether the project is listed in search results",
      "default": false
    }
  },
  "required": [
    "slug",
    "name",
    "billing_entity"
  ]
}