{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "Clone Project",
  "description": "Attributes for the new project.",
  "type": "object",
  "required": ["name", "id"],
  "properties": {
    "name": {
      "type": "string",
      "title": "Project Name",
      "description": "A human-readable name for the new project",
      "minLength": 1,
      "examples": ["Rails Application", "Marketing Website", "Data Pipeline"]
    },
    "id": {
      "type": "string",
      "title": "Project ID",
      "description": "A short, memorable identifier for looking up this project in the API and CLI. This becomes the first segment of all resource identifiers within the project. Max 20 characters, lowercase alphanumeric only (a-z, 0-9). Immutable after creation.",
      "minLength": 1,
      "maxLength": 20,
      "pattern": "^[a-z0-9]{1,20}$",
      "examples": ["inventoryapi", "marketing", "dataeng"]
    },
    "description": {
      "type": "string",
      "title": "Project Description",
      "description": "An optional description of the project's purpose or contents",
      "maxLength": 255,
      "examples": ["Main customer-facing Rails application with PostgreSQL backend"]
    },
    "tags": {
      "type": "object",
      "title": "Tags",
      "description": "Key-value tags for this project. Keys and values must be strings. Must conform to the organization's tag constraints for the project scope.",
      "additionalProperties": { "type": "string" },
      "default": {},
      "x-gql-type": "map"
    }
  }
}
