{ "$id": "https://stella-ops.org/schemas/notify/api-deprecation@1.json", "$schema": "http://json-schema.org/draft-07/schema#", "title": "API Deprecation Notification Template", "description": "Notification template schema for API deprecation announcements. Used by Notify service to render channel-specific messages.", "type": "object", "required": [ "schemaVersion", "templateId", "tenantId", "channelType", "key", "locale", "body", "renderMode", "format", "createdAt", "updatedAt" ], "properties": { "schemaVersion": { "type": "string", "const": "notify.template.api-deprecation@1" }, "templateId": { "type": "string", "pattern": "^api-deprecation-[a-z]+(-[a-z0-9]+)*$", "description": "Template identifier following api-deprecation-{channel}[-variant] pattern." }, "tenantId": { "type": "string", "description": "Tenant scope for the template. Use '_system' for platform-wide defaults." }, "channelType": { "type": "string", "enum": ["slack", "teams", "email", "webhook"], "description": "Target notification channel." }, "key": { "type": "string", "const": "api.deprecation.announced", "description": "Event key this template handles." }, "locale": { "type": "string", "default": "en-US", "description": "Locale for the template content." }, "body": { "type": "string", "description": "Template body with Mustache/Handlebars placeholders for deprecation fields." }, "subject": { "type": "string", "description": "Email subject line (for email channel only)." }, "description": { "type": "string", "description": "Human-readable description of the template." }, "renderMode": { "type": "string", "enum": ["markdown", "html", "adaptiveCard", "plainText", "json"], "description": "How the body should be rendered." }, "format": { "type": "string", "enum": ["slack", "teams", "email", "webhook", "json"], "description": "Output format for the rendered message." }, "metadata": { "type": "object", "properties": { "priority": { "type": "string", "enum": ["low", "normal", "high", "urgent"], "default": "normal" }, "category": { "type": "string", "const": "api-governance" }, "tags": { "type": "array", "items": { "type": "string" } } }, "additionalProperties": { "type": "string" } }, "placeholders": { "type": "array", "description": "Documented placeholders available in the template body.", "items": { "$ref": "#/$defs/placeholder" } }, "createdBy": { "type": "string" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string" }, "updatedAt": { "type": "string", "format": "date-time" } }, "additionalProperties": false, "$defs": { "placeholder": { "type": "object", "required": ["name", "description"], "properties": { "name": { "type": "string", "description": "Placeholder name (e.g., {{service}})." }, "description": { "type": "string", "description": "Description of what the placeholder contains." }, "example": { "type": "string", "description": "Example value for the placeholder." }, "required": { "type": "boolean", "default": true } } } } }