{
  "openapi": "3.0.3",
  "info": {
    "title": "SMS Delivery Android App - Webhook Payload Specification",
    "description": "JSON payload schema dispatched by the SMS Delivery (문자배달) Android application (package: com.smsforwardself) directly from the user's device to user-configured webhook endpoints (e.g. Slack, Discord, Telegram, or custom HTTP URLs). Note: SMS Delivery is a client-side Android application with no intermediate relay server.",
    "version": "1.0.0",
    "contact": {
      "name": "SMS Delivery Support (Gomland)",
      "url": "https://sms-delivery.userto.me",
      "email": "usertome2023@gmail.com"
    }
  },
  "paths": {
    "/user-configured-endpoint": {
      "post": {
        "summary": "Incoming webhook dispatched by SMS Delivery Android App",
        "description": "Format of the HTTP POST request sent directly from the Android device when an SMS, MMS, or app notification matches the user's forwarding rule.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WebhookEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Acknowledged by user's receiving server"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "WebhookEvent": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Notification title or SMS sender phone number / name",
            "example": "PASS 인증"
          },
          "text": {
            "type": "string",
            "description": "Content of the incoming SMS or app notification body",
            "example": "[PASS] 인증번호 [482091]가 전송되었습니다."
          },
          "appName": {
            "type": "string",
            "description": "Source package name or application name (e.g., Messages, KakaoTalk)",
            "example": "Messages"
          },
          "date": {
            "type": "string",
            "description": "Date received (YYYY-MM-DD)",
            "example": "2026-08-24"
          },
          "time": {
            "type": "string",
            "description": "Time received (HH:mm:ss)",
            "example": "22:30:00"
          }
        }
      }
    }
  }
}
