Doctave · Schema
Doctave Site
A documentation site managed on the Doctave docs-as-code platform, representing a collection of pages, configuration, and deployment settings.
DocumentationOpenAPIPlatformPortals
Properties
| Name | Type | Description |
|---|---|---|
| id | string | Unique identifier for the documentation site. |
| name | string | Display name of the documentation site. |
| slug | string | URL-friendly slug for the site. |
| description | string | A brief description of the documentation site. |
| customDomain | string | Custom domain configured for the site. |
| repository | string | Source repository URL for the documentation content. |
| branch | string | Git branch used for building the site. |
| visibility | string | Whether the site is publicly accessible or private. |
| navigation | array | Ordered list of navigation items defining the site structure. |
| theme | object | Theme and branding configuration for the site. |
| createdAt | string | Timestamp when the site was created. |
| updatedAt | string | Timestamp when the site was last updated. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/doctave/refs/heads/main/json-schema/doctave-site-schema.json",
"title": "Doctave Site",
"description": "A documentation site managed on the Doctave docs-as-code platform, representing a collection of pages, configuration, and deployment settings.",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the documentation site."
},
"name": {
"type": "string",
"description": "Display name of the documentation site."
},
"slug": {
"type": "string",
"description": "URL-friendly slug for the site.",
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
},
"description": {
"type": "string",
"description": "A brief description of the documentation site."
},
"customDomain": {
"type": "string",
"format": "hostname",
"description": "Custom domain configured for the site."
},
"repository": {
"type": "string",
"format": "uri",
"description": "Source repository URL for the documentation content."
},
"branch": {
"type": "string",
"description": "Git branch used for building the site.",
"default": "main"
},
"visibility": {
"type": "string",
"enum": ["public", "private"],
"description": "Whether the site is publicly accessible or private."
},
"navigation": {
"type": "array",
"description": "Ordered list of navigation items defining the site structure.",
"items": {
"$ref": "#/$defs/NavigationItem"
}
},
"theme": {
"type": "object",
"description": "Theme and branding configuration for the site.",
"properties": {
"primaryColor": {
"type": "string",
"description": "Primary brand color in hex format.",
"pattern": "^#[0-9a-fA-F]{6}$"
},
"logo": {
"type": "string",
"format": "uri",
"description": "URL to the site logo image."
},
"favicon": {
"type": "string",
"format": "uri",
"description": "URL to the site favicon."
}
}
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "Timestamp when the site was created."
},
"updatedAt": {
"type": "string",
"format": "date-time",
"description": "Timestamp when the site was last updated."
}
},
"required": ["id", "name", "slug"],
"$defs": {
"NavigationItem": {
"type": "object",
"description": "A navigation entry representing a page or section in the site hierarchy.",
"properties": {
"title": {
"type": "string",
"description": "Display title of the navigation item."
},
"path": {
"type": "string",
"description": "URL path for the navigation item."
},
"children": {
"type": "array",
"description": "Nested navigation items for sub-sections.",
"items": {
"$ref": "#/$defs/NavigationItem"
}
}
},
"required": ["title"]
}
}
}