Files
git.stella-ops.org/docs/modules/notify/resources/samples/api-deprecation-webhook.sample.json
master ce5ec9c158
Some checks failed
devportal-offline / build-offline (push) Has been cancelled
Mirror Thin Bundle Sign & Verify / mirror-sign (push) Has been cancelled
Docs CI / lint-and-preview (push) Has been cancelled
api-governance / spectral-lint (push) Has been cancelled
oas-ci / oas-validate (push) Has been cancelled
feat: Add in-memory implementations for issuer audit, key, repository, and trust management
- Introduced InMemoryIssuerAuditSink to retain audit entries for testing.
- Implemented InMemoryIssuerKeyRepository for deterministic key storage.
- Created InMemoryIssuerRepository to manage issuer records in memory.
- Added InMemoryIssuerTrustRepository for managing issuer trust overrides.
- Each repository utilizes concurrent collections for thread-safe operations.
- Enhanced deprecation tracking with a comprehensive YAML schema for API governance.
2025-12-11 19:47:43 +02:00

37 lines
2.9 KiB
JSON

{
"schemaVersion": "notify.template.api-deprecation@1",
"templateId": "api-deprecation-webhook",
"tenantId": "_system",
"channelType": "webhook",
"key": "api.deprecation.announced",
"locale": "en-US",
"subject": null,
"description": "Webhook payload template for API deprecation announcements (JSON format for external integrations)",
"body": "{\n \"event\": \"api.deprecation.announced\",\n \"version\": \"1\",\n \"timestamp\": \"{{timestamp}}\",\n \"data\": {\n \"service\": \"{{service}}\",\n \"endpoint\": {\n \"path\": \"{{path}}\",\n \"method\": \"{{method}}\",\n \"operationId\": \"{{operationId}}\"\n },\n \"deprecation\": {\n \"deprecatedAt\": \"{{deprecatedAt}}\",\n \"sunsetAt\": \"{{sunsetAt}}\",\n \"daysUntilSunset\": {{daysUntilSunset}},\n \"reason\": \"{{reason}}\"\n },\n \"migration\": {\n \"successorPath\": \"{{successorPath}}\",\n \"migrationGuide\": \"{{migrationGuide}}\",\n \"changelogUrl\": \"{{changelogUrl}}\"\n }\n }\n}",
"renderMode": "json",
"format": "webhook",
"metadata": {
"priority": "high",
"category": "api-governance",
"tags": ["deprecation", "api", "migration", "integration"]
},
"placeholders": [
{ "name": "timestamp", "description": "Event timestamp in ISO 8601 format", "example": "2025-12-11T10:00:00Z", "required": true },
{ "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-15T00:00:00Z", "required": true },
{ "name": "sunsetAt", "description": "When the endpoint will be removed", "example": "2025-07-15T00:00:00Z", "required": true },
{ "name": "daysUntilSunset", "description": "Days remaining until sunset (integer)", "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"
}