Credit Lifecycle (Signal1)

The Credit Lifecycle API delivers real-time risk signals using a subject's mobile number, drawn from a wide variety of lending and borrowing activity events across institutions in the Smile Network. It is Smile's broadest general-purpose risk screening product, designed to give you immediate insight into a subject's loan application history, disbursement activity, repayment behavior, and overdue patterns — with no additional identifiers beyond a phone number.

To help you get started quickly, Smile pre-selects 30 of the most common risk signals for your account out of a catalog of hundreds. You can swap these out for a different set that better matches your risk model. Contact your account manager to explore the full signals catalog and configure a custom signal set.

Credit Lifecycle checks are synchronous: results are returned immediately in the API response.

Credit Lifecycle is currently in Beta.

How a Credit Lifecycle Request Works

  1. Submit a Credit Lifecycle request using POST /beta/signals. Provide templateId, phone, countryCode, and consent.

  2. Receive the result synchronously. The API returns the full Credit Lifecycle object in the response body. The items array contains each signal configured for your account.

  3. Evaluate the signals. Each item has a name (the signal identifier), a value, and a valueType (STRING, NUMBER, or BOOLEAN). See the Credit Lifecycle Data Dictionary for the full list of available signal names, value types, and descriptions.

📘

Mobile Number Privacy

MD5-encrypted phone input is accepted. Submit the encrypted value as MD5(countryCode + phone) — for example, MD5(639559991234) for a Philippine number. Both plain format (639559991234) and international format with leading + (+639559991234) are also accepted.

The Credit Lifecycle Objects

Request Object

AttributeTypeRequiredDescription
templateIdstringYesThe signal template to use. Use tpl-sgn003001 for the default template, or a specialized ID provided by Smile for your account.
phonestringYesThe subject's mobile number including country code, no leading zeros. Example: 639559991234. MD5-encrypted input is also accepted (see note above).
countryCodestringNoISO 3166 alpha-2 country code for the subject's market. Example: PH. Recommended to include for accurate market routing.
consentobjectYesEvidence of the subject's consent. See Consent Templates for details.

Credit Lifecycle Object

This is the object returned in the response.

AttributeTypeDescription
idstringUnique ID of this Credit Lifecycle record. IDs use the prefix signal-.
createdAtdate-timeDate and time when this record was created
statusstringCurrent processing status of the request. See Credit Lifecycle Statuses below.
resultCodestringFinal result code of the check. See Result Codes below.
resultMessagestringHuman-readable description of the result
signalTypestringAlways Signal1 for requests made through this API
requestMetaobjectEcho of the original request parameters sent with the check
itemsarrayThe risk signals returned for this request. See Item Object below.

Item Object

Each entry in the items array represents a single risk signal.

AttributeTypeDescription
namestringThe signal identifier. Example: events_loan_disbursement_day30
valuestringThe signal value, always returned as a string regardless of the underlying type
valueTypestringThe data type of the value. One of: STRING, NUMBER, BOOLEAN

Credit Lifecycle 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 signal data was returned in the items array.Yes
NO_DATASmile was unable to return signal data for the provided phone number.No
SYSTEM_ERRORAn internal error occurred. Contact Smile support if this persists.No
SERVICE_UNAVAILABLEA required data source is temporarily unavailable.No
📘

Billing Note

Credit Lifecycle checks are billed only on SUCCESS. NO_DATA results are not charged. Only the POST /beta/signals endpoint is counted for billing — List and Get requests are not charged.

Available Signals

Smile pre-selects 30 signals for your account by default. You can swap any of these out for a different set from the full catalog. The table below shows which signals are available and which are enabled by default.

Legend

  • ✅ Available by default
  • 🟨 Available, not enabled by default

Phone Signals

SignalSingle Value30 days90 days180 daysDescription
Application approvalN/A🟨🟨Number of application approval events within the duration
Application approval institution countN/A🟨🟨🟨Number of institutions with application approval events within the duration
Application approval days since last🟨N/AN/AN/ANumber of days since the last application approval event
Application receptionN/ANumber of application reception events within the duration
Application reception institution countN/A🟨🟨Number of institutions with application reception events within the duration
Application reception days since last🟨N/AN/AN/ANumber of days since the last application reception event
Application rejectionN/A🟨🟨🟨Number of application rejection events within the duration
Application rejection institution countN/A🟨🟨🟨Number of institutions with application rejection events within the duration
Application rejection days since last🟨N/AN/AN/ANumber of days since the last application rejection event
ArbitraryN/A🟨🟨🟨Number of arbitrary events within the duration
Arbitrary institution countN/A🟨🟨🟨Number of institutions with arbitrary events within the duration
CaptchaN/A🟨🟨🟨Number of captcha events within the duration
Captcha institution countN/A🟨🟨🟨Number of institutions with captcha events within the duration
Captcha days since last🟨N/AN/AN/ANumber of days since the last captcha event
Debt amountN/A🟨Amount of debt events within the duration
LendingN/A🟨🟨🟨Number of lending events within the duration
Lending institution countN/A🟨🟨🟨Number of institutions with lending events within the duration
Loan disbursementN/ANumber of loan disbursement events within the duration
Loan disbursement amountN/A🟨🟨🟨Amount of loan disbursement events within the duration
Loan disbursement institution countN/ANumber of institutions with loan disbursement events within the duration
Loan disbursement days since lastN/AN/AN/ANumber of days since the last loan disbursement event
MarketingN/A🟨🟨🟨Number of marketing promotion events within the duration
Marketing institution countN/ANumber of institutions with marketing promotion events within the duration
Marketing days since last🟨N/AN/AN/ANumber of days since the last marketing promotion event
OtherN/A🟨🟨🟨Number of other events within the duration
Other institution countN/A🟨🟨🟨Number of institutions with other events within the duration
OverdueN/ANumber of overdue events within the duration
Overdue amountN/AAmount of overdue events within the duration
Overdue autorepayment daysN/A🟨🟨🟨Number of days of overdue autorepayment events within the duration
Overdue institution countN/ANumber of institutions with overdue events within the duration
Overdue daysN/ANumber of days of overdue events within the duration
Overdue days since lastN/AN/AN/ANumber of days since the last overdue event
PreloanN/A🟨🟨🟨Number of preloan events within the duration
Preloan institution countN/A🟨🟨🟨Number of institutions with preloan events within the duration
Repayment reminderN/A🟨🟨Number of repayment reminder events within the duration
Repayment reminder amountN/A🟨🟨🟨Amount of repayment reminder events within the duration
Repayment reminder institution countN/A🟨🟨Number of institutions with repayment reminder events within the duration
Repayment reminder days since last🟨N/AN/AN/ANumber of days since the last repayment reminder event
Successful repaymentN/A🟨🟨Number of successful repayment events within the duration
Successful repayment amountN/A🟨🟨🟨Amount of successful repayment events within the duration
Successful repayment institution countN/A🟨🟨Number of institutions with successful repayment events within the duration
Successful repayment days since lastN/AN/AN/ANumber of days since the last successful repayment event

Email Signals

Coming soon.

For exact signal names, value types, and detailed descriptions, see the Credit Lifecycle Data Dictionary.

Sample Credit Lifecycle data

{
  "id": "signal-e35d521ef8f147c4aa01b7c1af85aaf7",
  "createdAt": "2021-04-14T09:30:24Z",
  "status": "COMPLETED",
  "resultCode": "SUCCESS",
  "resultMessage": "query success",
  "signalType": "Signal1",
  "requestMeta": {
    "templateId": "tpl-sgn003001",
    "phone": "639559991234",
    "countryCode": "PH",
    "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
    }
  },
  "items": [
    {
      "name": "events_application_reception_day30",
      "value": "2",
      "valueType": "NUMBER"
    },
    {
      "name": "events_loan_disbursement_day30",
      "value": "1",
      "valueType": "NUMBER"
    },
    {
      "name": "events_overdue_day30",
      "value": "0",
      "valueType": "NUMBER"
    },
    {
      "name": "events_debt_day90_amount",
      "value": "A0",
      "valueType": "STRING"
    },
    {
      "name": "events_loan_disbursement_days_since_last",
      "value": "14",
      "valueType": "NUMBER"
    }
  ]
}

Sandbox Testing

Use the following values to trigger a successful response in the Sandbox environment. Any other valid phone and country code combination will return resultCode: NO_DATA with an empty items array.

ParameterValueExpected Response
templateIdtpl-sgn003001
countryCodePH
phone639559991234resultCode: SUCCESS

Endpoints

📘

Shared List and Get Endpoints

The List and Get endpoints are shared with other Signals products, including Borrower Screening and Social Security Signals. When listing, use the signalType=Signal1 query parameter to filter for Credit Lifecycle records only.

Endpoint
Create Credit Lifecycle checkPOST /beta/signals
List Credit Lifecycle checksGET /beta/signals
Retrieve one Credit Lifecycle checkGET /beta/signals/{id}