{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/getsmileapi/json-schema/getsmileapi-alpha-maw-list-response-schema.json",
  "title": "Alpha Maw List Response",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/getsmileapi-maws-alpha-api-openapi.yml#/components/schemas/AlphaMawListResponse",
  "type": "object",
  "properties": {
    "code": {
      "$ref": "#/$defs/ObjectMetadataRefCode"
    },
    "message": {
      "$ref": "#/$defs/ObjectMetadataRefMessage"
    },
    "requestId": {
      "$ref": "#/$defs/ObjectMetadataRefRequestID"
    },
    "data": {
      "type": "object",
      "properties": {
        "nextCursor": {
          "$ref": "#/$defs/ObjectNextCursor"
        },
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/AlphaMaw"
          }
        }
      }
    }
  },
  "$defs": {
    "AlphaMaw": {
      "type": "object",
      "required": [
        "id",
        "createdAt",
        "status",
        "requestMeta"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The unique ID for the Alpha Maw."
        },
        "createdAt": {
          "$ref": "#/$defs/RefDateTime"
        },
        "status": {
          "type": "string",
          "description": "The current status of the Maw.",
          "enum": [
            "PROCESSING",
            "ERROR",
            "COMPLETED"
          ]
        },
        "resultCode": {
          "type": "string",
          "description": "The final result of the Maw.",
          "enum": [
            "SUCCESS",
            "NO_DATA",
            "SYSTEM_ERROR",
            "SERVICE_UNAVAILABLE"
          ]
        },
        "resultMessage": {
          "type": "string",
          "description": "A detailed description of the final result of the Maw."
        },
        "requestMeta": {
          "$ref": "#/$defs/AlphaMawPostRequest"
        },
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/AlphaMawItem"
          }
        }
      }
    },
    "AlphaMawItem": {
      "type": "object",
      "required": [
        "platformId",
        "source",
        "date"
      ],
      "properties": {
        "date": {
          "$ref": "#/$defs/RefDate"
        },
        "level": {
          "type": "string",
          "description": "The level of the item. 1 - whitelist 2 - secondary whitelist, 3 - normal, 4 - greylist, 5 - blacklist"
        },
        "platformId": {
          "type": "string",
          "description": "Unique ID for the platform."
        },
        "duration": {
          "type": "string",
          "description": "The duration of the item. It will have value if source is seat."
        },
        "source": {
          "type": "string",
          "description": "The source of the item. Possible values are: seat, voice, sms."
        },
        "platformTags": {
          "type": "array",
          "default": [],
          "items": {
            "type": "string",
            "description": "A tag associated with the item. Possible values are: finance, other, etc."
          }
        }
      }
    },
    "AlphaMawPostRequest": {
      "type": "object",
      "required": [
        "consent",
        "templateId",
        "mobileNumber",
        "countryCode"
      ],
      "properties": {
        "mobileNumber": {
          "type": "string",
          "description": "Subject's mobile number. Must start with country code i.e. 639559991234, and no leading zeros"
        },
        "countryCode": {
          "$ref": "#/$defs/RefCountry"
        },
        "templateId": {
          "type": "string",
          "description": "Generated internally by Smile. You can request the specific templateId from Smile."
        },
        "consent": {
          "$ref": "#/$defs/Consent"
        }
      }
    },
    "Consent": {
      "type": "object",
      "required": [
        "consentedAt",
        "consentedWith"
      ],
      "properties": {
        "type": {
          "type": "string",
          "description": "The internal name of your consent document (e.g. \"Terms and Conditions\" or \"Privacy Policy\"); your own reference label"
        },
        "version": {
          "type": "string",
          "description": "Your internal version identifier for this consent document (e.g. \"1.0.0\")"
        },
        "consentedAt": {
          "allOf": [
            {
              "$ref": "#/$defs/RefDateTime"
            }
          ],
          "description": "The date and time the subject accepted your consent document, typically when they tapped \"I agree\" in your app. Not the time of this API call. Use ISO 8601 format, e.g. \"2024-04-14T09:30:24Z\""
        },
        "consentedWith": {
          "type": "string",
          "description": "The exact text of the button or checkbox the user clicked to give consent, e.g. \"I agree to the Terms and Conditions\""
        },
        "consentTemplateId": {
          "type": "string",
          "description": "ID of a stored Consent Template. Retrieve from the Developer Portal or GET /consentTemplates. Overrides any inline fields above when provided."
        }
      }
    },
    "ObjectMetadataRefCode": {
      "type": "string",
      "title": "ObjectMetadataRefCode",
      "description": "Request status code",
      "enum": [
        "OK",
        "CREATED",
        "INVALID_CREDENTIALS",
        "INVALID_PARAMETERS",
        "INVALID_TOKEN",
        "UNAUTHORIZED_ACCESS",
        "MISSING_RESOURCE",
        "REQUEST_LIMIT_EXCEEDED",
        "SERVER_ERROR",
        "UNSUPPORTED_METHOD",
        "SERVER_UNAVAILABLE",
        "TIME_LIMIT_EXCEEDED"
      ],
      "x-internal": false
    },
    "ObjectMetadataRefMessage": {
      "type": "string",
      "title": "ObjectMetadataRefMessage",
      "description": "Message response to the request",
      "x-internal": false
    },
    "ObjectMetadataRefRequestID": {
      "type": "string",
      "title": "ObjectMetadataRefRequestID",
      "description": "Unique ID that is added to the body of every response for easy traceability of the request in our logs.",
      "x-internal": false
    },
    "ObjectNextCursor": {
      "title": "ObjectNextCursor",
      "type": "string",
      "description": "The next cursor value that can be used in the following query.",
      "x-internal": false
    },
    "RefCountry": {
      "type": [
        "string",
        "null"
      ],
      "title": "Country ISO Codes",
      "enum": [
        "AF",
        "AX",
        "AL",
        "DZ",
        "AS",
        "AD",
        "AO",
        "AI",
        "AQ",
        "AG",
        "AR",
        "AM",
        "AW",
        "AU",
        "AT",
        "AZ",
        "BS",
        "BH",
        "BD",
        "BB",
        "BY",
        "BE",
        "BZ",
        "BJ",
        "BM",
        "BT",
        "BO",
        "BQ",
        "BA",
        "BW",
        "BV",
        "BR",
        "IO",
        "BN",
        "BG",
        "BF",
        "BI",
        "KH",
        "CM",
        "CA",
        "CV",
        "KY",
        "CF",
        "TD",
        "CL",
        "CN",
        "CX",
        "CC",
        "CO",
        "KM",
        "CG",
        "CD",
        "CK",
        "CR",
        "CI",
        "HR",
        "CU",
        "CW",
        "CY",
        "CZ",
        "DK",
        "DJ",
        "DM",
        "DO",
        "EC",
        "EG",
        "SV",
        "GQ",
        "ER",
        "EE",
        "ET",
        "FK",
        "FO",
        "FJ",
        "FI",
        "FR",
        "GF",
        "PF",
        "TF",
        "GA",
        "GM",
        "GE",
        "DE",
        "GH",
        "GI",
        "GR",
        "GL",
        "GD",
        "GP",
        "GU",
        "GT",
        "GG",
        "GN",
        "GW",
        "GY",
        "HT",
        "HM",
        "VA",
        "HN",
        "HK",
        "HU",
        "IS",
        "IN",
        "ID",
        "IR",
        "IQ",
        "IE",
        "IM",
        "IL",
        "IT",
        "JM",
        "JP",
        "JE",
        "JO",
        "KZ",
        "KE",
        "KI",
        "KP",
        "KR",
        "XK",
        "KW",
        "KG",
        "LA",
        "LV",
        "LB",
        "LS",
        "LR",
        "LY",
        "LI",
        "LT",
        "LU",
        "MO",
        "MK",
        "MG",
        "MW",
        "MY",
        "MV",
        "ML",
        "MT",
        "MH",
        "MQ",
        "MR",
        "MU",
        "YT",
        "MX",
        "FM",
        "MD",
        "MC",
        "MN",
        "ME",
        "MS",
        "MA",
        "MZ",
        "MM",
        "NA",
        "NR",
        "NP",
        "NL",
        "AN",
        "NC",
        "NZ",
        "NI",
        "NE",
        "NG",
        "NU",
        "NF",
        "MP",
        "NO",
        "OM",
        "PK",
        "PW",
        "PS",
        "PA",
        "PG",
        "PY",
        "PE",
        "PH",
        "PN",
        "PL",
        "PT",
        "PR",
        "QA",
        "RS",
        "RE",
        "RO",
        "RU",
        "RW",
        "BL",
        "SH",
        "KN",
        "LC",
        "MF",
        "PM",
        "VC",
        "WS",
        "SM",
        "ST",
        "SA",
        "SN",
        "CS",
        "SC",
        "SL",
        "SG",
        "SX",
        "SK",
        "SI",
        "SB",
        "SO",
        "ZA",
        "GS",
        "SS",
        "ES",
        "LK",
        "SD",
        "SR",
        "SJ",
        "SZ",
        "SE",
        "CH",
        "SY",
        "TW",
        "TJ",
        "TZ",
        "TH",
        "TL",
        "TG",
        "TK",
        "TO",
        "TT",
        "TN",
        "TR",
        "XT",
        "TM",
        "TC",
        "TV",
        "UG",
        "UA",
        "AE",
        "GB",
        "US",
        "UM",
        "UY",
        "UZ",
        "VU",
        "VE",
        "VN",
        "VG",
        "VI",
        "WF",
        "EH",
        "YE",
        "ZM",
        "ZW",
        null
      ],
      "description": "2 character alpha ISO-3166 codes"
    },
    "RefDate": {
      "type": "string",
      "format": "date",
      "description": "The date, yyyy-MM-dd"
    },
    "RefDateTime": {
      "type": "string",
      "title": "Date and Time string",
      "format": "date-time",
      "description": "Date and time"
    }
  }
}