{ "schemaVersion": "notify.template.api-deprecation@1", "templateId": "api-deprecation-teams", "tenantId": "_system", "channelType": "teams", "key": "api.deprecation.announced", "locale": "en-US", "subject": null, "description": "Microsoft Teams Adaptive Card template for API deprecation announcements", "body": "{\n \"type\": \"AdaptiveCard\",\n \"$schema\": \"http://adaptivecards.io/schemas/adaptive-card.json\",\n \"version\": \"1.4\",\n \"body\": [\n {\n \"type\": \"TextBlock\",\n \"text\": \"⚠️ API Deprecation Notice\",\n \"weight\": \"Bolder\",\n \"size\": \"Large\",\n \"color\": \"Warning\"\n },\n {\n \"type\": \"FactSet\",\n \"facts\": [\n { \"title\": \"Service\", \"value\": \"{{service}}\" },\n { \"title\": \"Endpoint\", \"value\": \"{{method}} {{path}}\" },\n { \"title\": \"Operation\", \"value\": \"{{operationId}}\" },\n { \"title\": \"Deprecated\", \"value\": \"{{deprecatedAt}}\" },\n { \"title\": \"Sunset Date\", \"value\": \"{{sunsetAt}} ({{daysUntilSunset}} days)\" }\n ]\n },\n {\n \"type\": \"TextBlock\",\n \"text\": \"{{reason}}\",\n \"wrap\": true,\n \"isSubtle\": true\n },\n {\n \"type\": \"TextBlock\",\n \"text\": \"Replacement: `{{successorPath}}`\",\n \"wrap\": true\n }\n ],\n \"actions\": [\n {\n \"type\": \"Action.OpenUrl\",\n \"title\": \"Migration Guide\",\n \"url\": \"{{migrationGuide}}\"\n },\n {\n \"type\": \"Action.OpenUrl\",\n \"title\": \"Changelog\",\n \"url\": \"{{changelogUrl}}\"\n }\n ]\n}", "renderMode": "adaptiveCard", "format": "teams", "metadata": { "priority": "high", "category": "api-governance", "tags": ["deprecation", "api", "migration"] }, "placeholders": [ { "name": "service", "description": "Service name owning the deprecated endpoint", "example": "authority", "required": true }, { "name": "path", "description": "API path of the deprecated endpoint", "example": "/v1/tokens", "required": true }, { "name": "method", "description": "HTTP method", "example": "POST", "required": true }, { "name": "operationId", "description": "OpenAPI operation ID", "example": "createToken", "required": false }, { "name": "deprecatedAt", "description": "When the endpoint was deprecated", "example": "2025-01-15", "required": true }, { "name": "sunsetAt", "description": "When the endpoint will be removed", "example": "2025-07-15", "required": true }, { "name": "daysUntilSunset", "description": "Days remaining until sunset", "example": "180", "required": true }, { "name": "reason", "description": "Deprecation reason", "example": "Replaced by v2 endpoint", "required": false }, { "name": "successorPath", "description": "Replacement endpoint path", "example": "/v2/tokens", "required": false }, { "name": "migrationGuide", "description": "URL to migration documentation", "example": "https://docs.stella-ops.org/migration/tokens-v2", "required": false }, { "name": "changelogUrl", "description": "URL to the changelog entry", "example": "https://docs.stella-ops.org/changelog#2025-01-15", "required": false } ], "createdBy": "api-governance-guild", "createdAt": "2025-12-11T00:00:00Z", "updatedBy": "api-governance-guild", "updatedAt": "2025-12-11T00:00:00Z" }