Set SMS as Default MFA
This endpoint configures SMS as the default multi-factor authentication (MFA) method for the specified customer profile. It is used during the onboarding process to establish how verification codes will be delivered to the customer. Once set, subsequent authentication flows will send OTP codes via SMS to the phone number on file for the profile.
Endpoint
POST /netevia/smsMfa/{profileId}
Authentication
Bearer token required. Obtain via:
POST https://api.banking.netevia.dev/api/auth/v2
Include in header: Authorization: Bearer {token} Token lifetime: 10 minutes. Refresh via POST /api/auth/refresh.
When to use
Use this endpoint during customer boarding or account setup when you want to designate SMS as the preferred MFA delivery channel for a profile. This is appropriate when the customer has provided a verified mobile phone number and you want to ensure that all future MFA challenges are delivered via text message rather than email or authenticator app.
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| profileId | integer (int32) | Yes | The unique numeric identifier of the customer profile for which SMS MFA should be set as default. |
Response
200 OK
The response returns one of two schemas depending on the operation context. The base boarding response indicates success or failure, while the open financial account response extends it with an account identifier when a financial account was also created as part of the operation.
Base Boarding Response (boardingresponse)
| Field | Type | Description |
|---|---|---|
| profileId | integer (int32) | The ID of the profile that was updated. |
| errors | string | null | Error message(s) if the operation encountered issues; null on success. |
| success | boolean | Indicates whether the operation completed successfully. |
| changeLog | array | null | List of changes applied during the operation. Each entry includes requestType (integer enum) and changes (string describing the change). |
Extended Response (openfinancialaccountresponse)
Includes all fields from the base boarding response, plus:
| Field | Type | Description |
|---|---|---|
| financialAccountId | string | null | The ID of the financial account associated with the profile, if applicable. |
{
"profileId": 100234,
"errors": null,
"success": true,
"changeLog": [
{
"requestType": 3,
"changes": "SMS MFA set as default for profile 100234"
}
]
}Error Codes
| Code | When it happens |
|---|---|
| 400 | Missing required fields or validation error |
| 401 | Token missing, expired, or invalid |
| 403 | Insufficient permissions |
| 404 | Profile not found for the given profileId |
| 500 | Internal server error |
Common Mistakes
- Passing a
profileIdthat does not exist or belongs to a different partner will result in a 404 or 403 error. - Using an expired Bearer token (lifetime is 10 minutes); refresh via
POST /api/auth/refreshbefore making this call. - Treating a
success: falseresponse with HTTP 200 as a successful operation — always check thesuccessfield and theerrorsfield in the response body.
Related Endpoints
POST /api/auth/v2— Obtain a Bearer token for authenticationPOST /api/auth/refresh— Refresh an expiring Bearer tokenPOST /netevia/boarding— Initiate customer onboarding (Boarding tag)
Example
curl -X POST https://api.banking.netevia.dev/netevia/smsMfa/100234 \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json"