> For the complete documentation index, see [llms.txt](https://docs.up2.money/08.01/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.up2.money/08.01/card-issuing/post-step-up.md).

# POST - Step up

Issue a one-time password that can be used to step-up a token, then run the Step up verify api to validate your stepup.

Initiates the step-up token process by sending an SMS with an one-time-password to a device belonging to the logged-in user that was previously enrolled through `https:///api.up.money/cards/limits/{cardId}/send-otp`  endpoint.

This process is required for endpoints that require a step-up token to complete the call.

*Note that on the Sandbox Environment, text messages are not sent and the one-time-password is always "123456".*

***

### End point

```markup
https://api.up.money/auth/stepup/send-otp
```

### Headers

<details>

<summary>Security</summary>

**REQUEST BODY SCHEMA: application/json**

&#x20;:closed\_lock\_with\_key: **API SECRET: x-secret**

Add `YWJjMTIzIQ==` in  `x-secret` in headers.  &#x20;

**Header parameter name:** `x-secret`

***

&#x20;:lock\_with\_ink\_pen:  **HTTP:** `Authorization-key`

The authentication token representing the user. This will be included in the login response object as `token`.&#x20;

**Header parameter name:** `Authorization-key`

</details>

***

### Payload

***

```json
{
    "type": "SMS" // Optional by default SMS will be used
}
```

### Sample Request

***

```javascript
curl --location 'https://api.up2.money/auth/stepup/send-otp' \
--header 'x-secret: YWJjMTIzIQ==' \
--header 'Authorization-Key: YOUR_AUTHORIZATION_KEY' \
--header 'Content-Type: application/json' \
--data '{
    "channel": "SMS"
}'
```

***

### Sample Response

***

{% tabs %}
{% tab title="Success - 204" %}
No content
{% endtab %}

{% tab title="Error - 404" %}

```json
{
  "message": "string",
  "syntaxErrors": {
    "invalidFields": [
      {
        "params": [
          "string"
        ],
        "fieldName": "string",
        "error": "REQUIRED"
      }
    ]
  }
}
```

{% endtab %}
{% endtabs %}

### Response Status

***

<mark style="color:green;">**204 Success - No Content.**</mark>

<details>

<summary><mark style="color:red;"><strong>400 Bad Request Error - Your request is invalid.</strong></mark></summary>

errorCode: Enum:  `"REQUIRED"` `"HAS_TEXT"` `"REQUIRES"` `"SIZE"` `"RANGE"` `"IN"` `"NOT_IN" "REGEX"` `"EXACTLY"` `"AT_LEAST"` `"AT_MOST"` `"ALL_OR_NONE"`

</details>

<mark style="color:red;">**401 Unauthorized - Your credentials or access token are invalid.**</mark>

<mark style="color:red;">**403 Forbidden - Access to the requested resource or action is forbidden.**</mark>

<mark style="color:red;">**404 Not found - The requested resource couldn't be found.**</mark>

<mark style="color:red;">**405 Method Not Allowed - The request was received but has been rejected for the requested resource.**</mark>

<details>

<summary><mark style="color:red;">409 Conflict</mark></summary>

errorCode: Enum:  `"CHANNEL_NOT_SUPPORTED"` `"CHANNEL_NOT_REGISTERED"` `"MOBILE_NUMBER_INVALID"` `"MOBILE_COUNTRY_NOT_SUPPORTED"`

</details>

<mark style="color:red;">**429 Too many requests.**</mark>

<mark style="color:red;">**500 Internal Server Error - There is a problem with the server. Please try again later.**</mark>

<mark style="color:red;">**503 Service Unavailable - We're temporarily offline for maintenance. Please try again later.**</mark>
