{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/getsmileapi/json-schema/getsmileapi-alpha-blacklist-post-response-schema.json",
  "title": "Alpha Blacklist Post Response",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/getsmileapi-blacklists-alpha-api-openapi.yml#/components/schemas/AlphaBlacklistPostResponse",
  "type": "object",
  "properties": {
    "code": {
      "$ref": "#/$defs/ObjectMetadataRefCode"
    },
    "message": {
      "$ref": "#/$defs/ObjectMetadataRefMessage"
    },
    "requestId": {
      "$ref": "#/$defs/ObjectMetadataRefRequestID"
    },
    "data": {
      "$ref": "#/$defs/AlphaBlacklist"
    }
  },
  "$defs": {
    "AlphaBlacklist": {
      "type": "object",
      "required": [
        "id",
        "createdAt",
        "status",
        "requestMeta"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The unique ID for the Blacklist."
        },
        "createdAt": {
          "$ref": "#/$defs/RefDateTime"
        },
        "status": {
          "type": "string",
          "description": "The current status of the Blacklist.",
          "enum": [
            "PROCESSING",
            "ERROR",
            "COMPLETED"
          ]
        },
        "resultCode": {
          "type": "string",
          "description": "The final result of the Blacklist.",
          "enum": [
            "SUCCESS",
            "SYSTEM_ERROR",
            "SERVICE_UNAVAILABLE"
          ]
        },
        "resultMessage": {
          "type": "string",
          "description": "A detailed description of the final result of the Blacklist."
        },
        "type": {
          "type": "string",
          "description": "The type of Blacklist.",
          "enum": [
            "BLACKLIST1",
            "BLACKLIST2"
          ]
        },
        "requestMeta": {
          "$ref": "#/$defs/AlphaBlacklistPostRequest"
        },
        "result": {
          "type": "object",
          "title": "Blacklist Result",
          "properties": {
            "hit": {
              "type": "boolean",
              "description": "Whether the Blacklist is a hit or not."
            },
            "dates": {
              "type": "array",
              "description": "The list of dates.",
              "items": {
                "$ref": "#/$defs/RefDate"
              }
            }
          }
        }
      }
    },
    "AlphaBlacklist1PostRequest1": {
      "type": "object",
      "required": [
        "consent",
        "mobileNumber"
      ],
      "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": "Fixed templateId for this request. Value must be `tpl-blk002001`.",
          "default": "tpl-blk002001"
        },
        "applicationDate": {
          "type": "string",
          "format": "date",
          "description": "Smile will query the data that before this date. The format is yyyy-MM-dd."
        },
        "consent": {
          "$ref": "#/$defs/Consent"
        }
      }
    },
    "AlphaBlacklist1PostRequest2": {
      "type": "object",
      "required": [
        "consent",
        "mobileNumber"
      ],
      "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": "Fixed templateId for this request. Value must be `blacklistTpl-f29e992a970f4dbbbf9df3cdfec4cd4e`.",
          "default": "blacklistTpl-f29e992a970f4dbbbf9df3cdfec4cd4e"
        },
        "applicationDate": {
          "type": "string",
          "format": "date",
          "description": "Smile will query the data that before this date. The format is yyyy-MM-dd."
        },
        "consent": {
          "$ref": "#/$defs/Consent"
        }
      }
    },
    "AlphaBlacklist2PostRequest1": {
      "type": "object",
      "description": "Alpha Blacklist Post Request2.",
      "required": [
        "consent",
        "mobileNumber",
        "countryCode",
        "idType",
        "idNumber",
        "templateId"
      ],
      "properties": {
        "mobileNumber": {
          "type": "string",
          "description": "Subject's mobile number. Must start with country code i.e. 639559991234, and no leading zeros"
        },
        "idType": {
          "type": "string",
          "description": "The type of ID. If countryCode is PH, this value must be one of the following: NATIONAL_ID, SSS, UMID, TIN, PRC, PHILHEALTH, PASSPORT, DRIVER_LICENSE, VOTER_ID, POSTAL_ID.",
          "default": "NATIONAL_ID",
          "enum": [
            "NATIONAL_ID",
            "SSS",
            "UMID",
            "TIN",
            "PRC",
            "PHILHEALTH",
            "PASSPORT",
            "DRIVER_LICENSE",
            "VOTER_ID",
            "POSTAL_ID"
          ]
        },
        "idNumber": {
          "type": "string",
          "description": "Subject's ID number."
        },
        "countryCode": {
          "$ref": "#/$defs/RefCountry",
          "description": "The country code of the ID. Only supported for PH, ID, MX."
        },
        "templateId": {
          "type": "string",
          "description": "Fixed templateId for this request. Value must be `tpl-blacklist-007001`",
          "default": "tpl-blacklist-007001"
        },
        "consent": {
          "$ref": "#/$defs/Consent"
        }
      }
    },
    "AlphaBlacklistPostRequest": {
      "oneOf": [
        {
          "$ref": "#/$defs/AlphaBlacklist1PostRequest1"
        },
        {
          "$ref": "#/$defs/AlphaBlacklist1PostRequest2"
        },
        {
          "$ref": "#/$defs/AlphaBlacklist2PostRequest1"
        }
      ]
    },
    "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
    },
    "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"
    }
  }
}