Borrower Behavior (MAW3)

The Borrower Behavior API analyzes hundreds of lending and borrowing activity signals drawn from a subject's mobile number, national ID, and optionally their Google Ad ID (GAID). By querying behavioral event data across financial institutions and platforms in the Smile Network, it surfaces patterns of credit-seeking, repayment, and delinquency that go beyond what a single lender's records can reveal.

This makes it particularly effective for assessing thin-file borrowers, detecting stacking behavior, and evaluating creditworthiness in markets where traditional credit bureau coverage is incomplete.

Borrower Behavior checks are synchronous: results are returned immediately in the API response.

Smile Borrower Behavior is currently in Beta.

Available Templates

The template you select determines which identifiers are required and which behavioral signals are returned. Each template is optimized for a specific market.

Template IDMarketRequired Identifiers
tpl-maw004001Mexico (MX)mobileNumber, countryCode, fullName, idType, idNumber (CURP)
tpl-maw004002Africa countriesgaid (Google Ad ID)
tpl-maw004003Philippines (PH)mobileNumber, countryCode, fullName, idType, idNumber

All templates also require templateId and consent.

📘

About GAID (Google Ad ID)

gaid is a device-level identifier in UUID format (e.g. 00000000-0000-0000-0000-000000000000). For tpl-maw004002 (Africa), it is the only identifier needed. For tpl-maw004001 (Mexico) and tpl-maw004003 (Philippines), gaid is optional — but when provided, the response will include additional events_gaid_* signals that cross-reference the subject's behavioral data against their device ID.

📘

Mobile Number Privacy

For templates that require mobileNumber, MD5-encrypted input is accepted. Submit the encrypted value as MD5(countryCode + mobileNumber) — for example, MD5(639559991234) for a Philippine number. This allows you to send the identifier without transmitting the raw phone number in plaintext.

How a Borrower Behavior Request Works

  1. Submit a Borrower Behavior request using POST /beta/maws/requestMaw3. Provide templateId, consent, and the identifiers required by your chosen template.

  2. Receive the result synchronously. The API returns the full Borrower Behavior object in the response body. The maw3Items array contains each behavioral signal returned for your account configuration.

  3. Evaluate the signals. Each item has a name (the signal identifier), a value, and a valueType (STRING, NUMBER, or BOOLEAN). See the Borrower Behavior Data Dictionary for signal names, value types, and descriptions by market.

The Borrower Behavior Objects

Request Object

Required fields depend on the template. templateId and consent are always required.

AttributeTypeRequiredDescription
templateIdstringYesThe template to use. Determines the required identifiers and the market to screen against.
consentobjectYesEvidence of the subject's consent. See Consent Templates for details.
mobileNumberstringRequired for tpl-maw004001, tpl-maw004003The subject's mobile number including country code, no leading zeros. Example: 639178912345. MD5-encrypted input is also accepted (see note above).
countryCodestringRequired for tpl-maw004001, tpl-maw004003ISO 3166 alpha-2 country code for the subject's market. Example: PH, MX.
fullNamestringRequired for tpl-maw004001, tpl-maw004003The subject's full name.
idTypestringRequired for tpl-maw004001, tpl-maw004003The type of ID provided. See Supported ID Types below.
idNumberstringRequired for tpl-maw004001, tpl-maw004003The subject's ID number corresponding to the idType provided. For tpl-maw004001, must be a valid Mexico CURP.
gaidstringRequired for tpl-maw004002; optional for othersThe subject's Google Ad ID in UUID format. When provided for MX or PH templates, enriches results with events_gaid_* signals.

Supported ID Types

ID TypeDescriptionSupported Markets
NATIONAL_IDNational identity card or equivalentMX (CURP), PH
SSSSocial Security System numberPH
UMIDUnified Multi-Purpose ID numberPH
TINTax Identification NumberPH
PRCProfessional Regulation Commission license numberPH
PHILHEALTHPhilippine Health Insurance Corporation IDPH
PHILSYSPhilippine Identification System IDPH
PASSPORTPassport numberPH
DRIVER_LICENSEDriver's license numberPH

Borrower Behavior Object

This is the object returned in the response.

AttributeTypeDescription
idstringUnique ID of this Borrower Behavior record. IDs use the prefix maw-.
createdAtdate-timeDate and time when this record was created
statusstringCurrent processing status of the request. See Borrower Behavior Statuses below.
resultCodestringFinal result code of the check. See Result Codes below.
resultMessagestringHuman-readable description of the result
typestringAlways MAW3 for requests made through this API
requestMetaobjectEcho of the original request parameters sent with the check
maw3ItemsarrayThe behavioral signals returned for this request. See Item Object below.
maw2ItemsarrayAlways empty ([]) for MAW3 requests. Used by the Multiple Application Warning (MAW2) product.

Item Object

Each entry in the maw3Items array represents a single behavioral signal.

AttributeTypeDescription
namestringThe signal identifier. Uses underscore-separated naming. Example: events_gaid_loan_g_30day_count
valuestringThe signal value, always returned as a string regardless of the underlying type
valueTypestringThe data type of the value. One of: STRING, NUMBER, BOOLEAN

Borrower Behavior Statuses

StatusDescription
PROCESSINGThe check is currently in progress
COMPLETEDThe check has completed and results are available
ERRORThe check encountered an error and could not be completed

Result Codes

Result CodeDescriptionBillable
SUCCESSThe check completed and behavioral signal data was returned in maw3Items.Yes
NO_DATASmile was unable to return signal data for the provided identifiers.No
SYSTEM_ERRORAn internal error occurred. Contact Smile support if this persists.No
SERVICE_UNAVAILABLEA required data source is temporarily unavailable.No
📘

Billing Note

Borrower Behavior checks are billed only on SUCCESS. NO_DATA results are not charged. Only the POST /beta/maws/requestMaw3 endpoint is counted for billing — List and Get requests are not charged.

About the maw3Items Array

The signals returned in maw3Items depend on the template used, the identifiers provided, and your account configuration. Signal naming follows a structured convention that encodes the identifier type, event category, and time window — for example, events_gaid_loan_g_30day_count means "count of loan events in the past 30 days, indexed by GAID."

Signals are organized by market, with each market having its own set of available attributes:

  • Mexico (tpl-maw004001) — Signals covering cross-industry credit application, approval, disbursement, repayment, and overdue events, keyed on mobile number (events_m_*), ID (events_i_*), and GAID (events_gaid_*) when provided.
  • Africa (tpl-maw004002) — Signals keyed on GAID (events_gaid_*) covering lending activity and behavioral patterns.
  • Philippines (tpl-maw004003) — Signals covering credit granting event frequency, timing, and platform diversity, keyed on GAID (events_gaid_*) when provided.

For the complete list of available signal names, value types, and descriptions for each market, see the Borrower Behavior Data Dictionary.

Sample Borrower Behavior data

{
  "id": "maw-e35d521ef8f147c4aa01b7c1af85aaf7",
  "createdAt": "2021-04-14T09:30:24Z",
  "status": "COMPLETED",
  "resultCode": "SUCCESS",
  "resultMessage": "Success!",
  "type": "MAW3",
  "requestMeta": {
    "templateId": "tpl-maw004003",
    "mobileNumber": "639559991234",
    "countryCode": "PH",
    "fullName": "George Smith",
    "idType": "SSS",
    "idNumber": "4561234567",
    "gaid": "00000000-0000-0000-0000-000000000000",
    "consent": {
      "type": "Terms And Conditions",
      "version": "1.0.0",
      "consentedWith": "I agree to the terms and conditions.",
      "consentedAt": "2021-04-14T09:30:24Z",
      "consentTemplateId": null
    }
  },
  "maw3Items": [
    {
      "name": "events_gaid_loan_g_30day_count",
      "value": "3",
      "valueType": "NUMBER"
    },
    {
      "name": "events_gaid_loan_g_90day_count",
      "value": "7",
      "valueType": "NUMBER"
    },
    {
      "name": "events_gaid_timediff_loan_g_30day",
      "value": "12",
      "valueType": "NUMBER"
    }
  ],
  "maw2Items": []
}

Sandbox Testing

Use the following values to trigger a successful response in the Sandbox environment. Any other valid input combination will return resultCode: NO_DATA with an empty maw3Items array.

Template IDTest InputExpected Response
tpl-maw004001mobileNumber: 529559991234, countryCode: MX, fullName: George, idNumber: ZAZD801124MBSYQN13, idType: NATIONAL_IDresultCode: SUCCESS
tpl-maw004002gaid: 00000000-0000-0000-0000-000000000000resultCode: SUCCESS
tpl-maw004003mobileNumber: 639559991234, countryCode: PH, fullName: George, idNumber: 4561234567, idType: NATIONAL_IDresultCode: SUCCESS

Endpoints

📘

Shared List and Get Endpoints

The List and Get endpoints are shared with the Multiple Application Warning (MAW2) product. When listing, use the mawType=MAW3 query parameter to filter for Borrower Behavior records only.

Endpoint
Create Borrower Behavior checkPOST /beta/maws/requestMaw3
List Borrower Behavior checksGET /beta/maws
Retrieve one Borrower Behavior checkGET /beta/maws/{id}