{
  "openapi": "3.0.3",
  "info": {
    "title": "Umney Connect Transactional API",
    "version": "1.0.0",
    "description": "Public Transactional API (transactional:send). Email template send requires Business Email entitlement. Docs: https://umneyconnect.com/developers/transactional"
  },
  "servers": [
    { "url": "https://umneyconnect.com/api", "description": "Production" },
    { "url": "https://www.staging.umneyconnect.com/api", "description": "Staging" }
  ],
  "tags": [{ "name": "Templates" }, { "name": "Messages" }, { "name": "Logs" }],
  "components": {
    "securitySchemes": {
      "ApiKeyBearer": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "umk_live_transactional_…"
      },
      "ApiKeyHeader": {
        "type": "apiKey",
        "in": "header",
        "name": "X-API-Key"
      }
    },
    "parameters": {
      "TemplateId": {
        "name": "id",
        "in": "path",
        "required": true,
        "schema": { "type": "string", "format": "uuid" }
      }
    }
  },
  "security": [{ "ApiKeyBearer": [] }, { "ApiKeyHeader": [] }],
  "paths": {
    "/v1/transactional/templates": {
      "get": {
        "tags": ["Templates"],
        "summary": "List templates",
        "operationId": "listTransactionalTemplates",
        "responses": { "200": { "description": "Template list" } }
      },
      "post": {
        "tags": ["Templates"],
        "summary": "Create template",
        "operationId": "createTransactionalTemplate",
        "responses": { "200": { "description": "Template" } }
      }
    },
    "/v1/transactional/templates/{id}": {
      "get": {
        "tags": ["Templates"],
        "summary": "Get template",
        "operationId": "getTransactionalTemplate",
        "parameters": [{ "$ref": "#/components/parameters/TemplateId" }],
        "responses": { "200": { "description": "Template" } }
      },
      "patch": {
        "tags": ["Templates"],
        "summary": "Update template",
        "operationId": "updateTransactionalTemplate",
        "parameters": [{ "$ref": "#/components/parameters/TemplateId" }],
        "responses": { "200": { "description": "Template" } }
      },
      "delete": {
        "tags": ["Templates"],
        "summary": "Delete template",
        "operationId": "deleteTransactionalTemplate",
        "parameters": [{ "$ref": "#/components/parameters/TemplateId" }],
        "responses": { "200": { "description": "Deleted" } }
      }
    },
    "/v1/transactional/messages": {
      "post": {
        "tags": ["Messages"],
        "summary": "Send transactional email (template + variables or inline subject/html/text)",
        "operationId": "sendTransactionalMessage",
        "responses": { "200": { "description": "Send results" } }
      }
    },
    "/v1/transactional/logs": {
      "get": {
        "tags": ["Logs"],
        "summary": "List send logs (default source=transactional_v1; source=all for shared ledger)",
        "operationId": "listTransactionalLogs",
        "responses": { "200": { "description": "Log list" } }
      }
    }
  }
}
