canonical: https://jentic.com/apis/fraudlabspro.com/fraudlabs-pro-sms-verification

# FraudLabs Pro SMS Verification

FraudLabs Pro SMS Verification is the standalone OTP module used as a step-up authentication signal in fraud workflows. The spec exposes two endpoints: `/v1/verification/send` delivers an SMS containing a one-time code with an optional custom message, and `/v1/verification/result` confirms whether a user-supplied code matches the one that was sent. It is typically wired into checkout or login flows to harden borderline transactions.

## For AI agents

Send a one-time SMS verification code to a customer's phone and confirm the code they enter. Authentication is the FraudLabs Pro license key on each request.

## Scope

Does not handle voice OTP, push notifications, or TOTP authenticator apps - use for SMS one-time-code verification only.

## Capabilities

- Send a one-time SMS verification code to a customer phone number via `/v1/verification/send`
- Customise the SMS body with a merchant-specific message
- Confirm a user-entered OTP via `/v1/verification/result`
- Use OTP success as a step-up signal that softens a borderline fraud verdict
- Support international destinations through FraudLabs Pro's SMS gateway

## Use cases

### Checkout Step-Up Verification

When the merchant's fraud score for a checkout lands in the review band, `/v1/verification/send` pushes an OTP to the customer's phone. A successful match through `/v1/verification/result` tells the merchant the buyer at least controls the phone on file, softening the risk and letting the order proceed without manual review.

Example prompt: POST `/v1/verification/send` with the customer phone, then on user input POST `/v1/verification/result` with the otp and proceed if state=APPROVED

### Login Hardening

A customer signing in from a new device receives an SMS OTP through FraudLabs Pro before being granted a session. The merchant calls `/v1/verification/send` when the device fingerprint is unknown and only issues a session cookie after `/v1/verification/result` confirms the code, reducing account-takeover risk.

Example prompt: Trigger POST `/v1/verification/send` with the user's phone, prompt for the OTP, and verify with POST `/v1/verification/result` before establishing the session

### Phone Possession for High-Value Actions

Before settling a high-value transfer or applying a coupon worth more than a configured threshold, the merchant requires an SMS-confirmed phone. The two-call FraudLabs Pro flow runs inline, completes within seconds, and produces an audit trail tying the action to a verified phone.

Example prompt: POST `/v1/verification/send` before the high-value action, then on user input POST `/v1/verification/result` and persist the outcome to the audit log

### AI Agent Step-Up Flow

An agent handling a borderline order through Jentic calls FraudLabs Pro to send an OTP, asks the user for the code via the chat surface, and confirms it before approving the order. The license key is held in Jentic's vault and the agent only deals with structured success or failure responses.

Example prompt: Search Jentic for 'send an SMS verification code', execute `/v1/verification/send`, prompt the user, then execute `/v1/verification/result` and branch on the outcome

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/v1/verification/send` | Send an SMS with a one-time verification code |
| POST | `/v1/verification/result` | Confirm a user-entered verification code |

## Key resources

- **Verification** — Send and confirm one-time SMS verification codes for step-up authentication

## Why Jentic

- **Setup:** Wiring the FraudLabs Pro SMS Verification API by hand means appending your license key to each request and building your own retry and error handling around the send and result endpoints. Through Jentic you install once, import it from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** FraudLabs Pro SMS Verification carries the phone number and code in the request body rather than the URL path, so scoping is operations-only: you limit the agent to the operations it needs, such as verifying a submitted code, and leave out sending a new code unless you add it. Every operation the agent can run is one you chose.
- **Credential handling:** Your FraudLabs Pro license key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'send an SMS verification code' or 'verify the OTP the user typed', and Jentic returns the matching FraudLabs Pro operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Twilio Verify** — Twilio Verify supports SMS, voice, email, and TOTP codes with global delivery
- **FraudLabs Pro v2** — FraudLabs Pro v2 provides order screening that pairs naturally with SMS step-up
- **MessageBird SMS** — MessageBird SMS is a general-purpose SMS gateway suitable for OTP delivery

## FAQ

### What authentication does the FraudLabs SMS Verification API use?

Both endpoints take the FraudLabs Pro license key on every request. Through Jentic, the key is stored encrypted in the vault and substituted at execution time, so it never appears in the agent's prompt or transcript.

### Can I send a custom-branded SMS message with this API?

Yes. The `/v1/verification/send` endpoint accepts a custom message field that is delivered alongside the OTP, so merchants can include their brand name and a short instruction for the recipient. The OTP itself is generated and tracked by FraudLabs Pro.

### What are the rate limits for the FraudLabs SMS Verification API?

FraudLabs Pro charges per SMS sent and applies plan-level monthly quotas rather than per-second rate limits. International destinations may be billed at higher per-message rates than domestic ones.

### How do I run an OTP step-up flow through Jentic?

Search Jentic for 'send an SMS verification code', execute `/v1/verification/send` with the customer phone, prompt the customer for the code, then execute `/v1/verification/result` with the same phone and the entered OTP. Approve the action if the result is APPROVED.

### Is the FraudLabs SMS Verification API free?

There is no free tier for SMS sending - every successful `/v1/verification/send` call consumes credit at the destination's per-message rate. The `/v1/verification/result` confirmation call is free.

### How do I confirm whether the user typed the correct code?

POST `/v1/verification/result` with the same phone number used for `/v1/verification/send` and the otp that the user entered. The response state is APPROVED if the code matches and has not expired, and DECLINED otherwise.

### Can I limit what my agent is allowed to do with the FraudLabs Pro SMS Verification API?

Yes. Because you run Jentic One yourself, your own rules decide which operations and credentials the agent may use, and scoping here is operation-level since the phone number and code travel in the request body rather than the URL path. You can allow the agent to confirm a submitted code with POST `/v1/verification/result` while leaving out POST `/v1/verification/send`, so it can never trigger a new SMS unless you grant that operation. Every operation the agent can call is one you chose.
