{
"type": "object",
"properties": {},
"additionalProperties": false
}{
"type": "object",
"properties": {
"slug": {
"type": "string",
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
"description": "Blog post slug without a path or file extension"
}
},
"required": [
"slug"
],
"additionalProperties": false
}{
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"concise",
"full"
],
"description": "concise returns llms.txt; full returns the complete Markdown corpus"
}
},
"required": [
"mode"
],
"additionalProperties": false
}{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Name of the sender, between 1 and 100 characters"
},
"email": {
"type": "string",
"format": "email",
"maxLength": 160,
"description": "Valid email address of the sender, at most 160 characters — replies go here"
},
"message": {
"type": "string",
"minLength": 1,
"maxLength": 5000,
"description": "The message as plain text, between 1 and 5000 characters"
},
"topic": {
"type": "string",
"maxLength": 120,
"description": "Optional short topic, e.g. 'New website', 'BFSG check', 'Security finding'"
}
},
"required": [
"name",
"email",
"message"
],
"additionalProperties": false
}