{
  "openapi": "3.0.3",
  "info": {
    "title": "AppHiveSL SMS API",
    "description": "Postman collection generated from AppHiveSL SMS API Documentation v2.0.2 (2019). Send single and bulk SMS, check delivery status.",
    "version": "2.0.2"
  },
  "servers": [
    { "url": "https://api.sierrahive.com", "description": "Production" }
  ],
  "security": [
    { "basicAuth": [] },
    { "walletToken": [] }
  ],
  "tags": [{ "name": "SMS", "description": "SMS sending and status" }],
  "paths": {
    "/v1/messages/sms": {
      "get": {
        "tags": ["SMS"],
        "summary": "Send single SMS (GET)",
        "description": "Send a single SMS using URL parameters. Credentials passed as query parameters; no HTTP Basic Auth.",
        "operationId": "sendSingleSmsGet",
        "parameters": [
          { "name": "clientid", "in": "query", "required": true, "schema": { "type": "string" } },
          { "name": "clientsecret", "in": "query", "required": true, "schema": { "type": "string" } },
          { "name": "token", "in": "query", "required": true, "schema": { "type": "string" } },
          { "name": "from", "in": "query", "required": true, "schema": { "type": "string" }, "description": "Sender name" },
          { "name": "to", "in": "query", "required": true, "schema": { "type": "string" }, "description": "Recipient number e.g. 23230123456" },
          { "name": "content", "in": "query", "required": true, "schema": { "type": "string" } },
          { "name": "reference", "in": "query", "required": false, "schema": { "type": "string" } },
          { "name": "callbackUrl", "in": "query", "required": false, "schema": { "type": "string", "format": "uri" } }
        ],
        "responses": { "200": { "description": "Success" } }
      },
      "post": {
        "tags": ["SMS"],
        "summary": "Send single SMS (POST)",
        "description": "Send a single SMS with JSON body. Uses Basic Auth (clientid/clientsecret) and X-Wallet: Token header.",
        "operationId": "sendSingleSmsPost",
        "parameters": [
          { "name": "X-Wallet", "in": "header", "required": true, "schema": { "type": "string", "example": "Token YOUR_TOKEN" } }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["From", "To", "Content"],
                "properties": {
                  "From": { "type": "string" },
                  "To": { "type": "string" },
                  "Content": { "type": "string" },
                  "Reference": { "type": "string" },
                  "CallbackUrl": { "type": "string", "format": "uri" }
                }
              }
            }
          }
        },
        "responses": { "200": { "description": "Success" } }
      }
    },
    "/v1/messages/sms/bulk/otm": {
      "post": {
        "tags": ["SMS"],
        "summary": "Send one-to-many (bulk)",
        "description": "One message to many recipients. Basic Auth + X-Wallet header.",
        "operationId": "sendBulkOtm",
        "parameters": [
          { "name": "X-Wallet", "in": "header", "required": true, "schema": { "type": "string", "example": "Token YOUR_TOKEN" } }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["From", "Content", "Recipients"],
                "properties": {
                  "From": { "type": "string" },
                  "Content": { "type": "string" },
                  "CallbackUrl": { "type": "string", "format": "uri" },
                  "Recipients": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": ["To"],
                      "properties": {
                        "To": { "type": "string" },
                        "Reference": { "type": "string" }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": { "200": { "description": "Success" } }
      }
    },
    "/v1/transactions/{ticket}/status": {
      "get": {
        "tags": ["SMS"],
        "summary": "Get message status",
        "description": "Fetch status/details for a ticket returned by send requests. Basic Auth.",
        "operationId": "getMessageStatus",
        "parameters": [
          { "name": "ticket", "in": "path", "required": true, "schema": { "type": "string" } }
        ],
        "responses": { "200": { "description": "Success" } }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "basicAuth": {
        "type": "http",
        "scheme": "basic",
        "description": "Client ID as username, client secret as password"
      },
      "walletToken": {
        "type": "apiKey",
        "in": "header",
        "name": "X-Wallet",
        "description": "Token YOUR_TOKEN"
      }
    }
  }
}
