---
title: "Executes card topup request"
method: POST
path: "/api/v1/cards/topup/execute"
tags: ["Cards/Topup"]
---

# Executes card topup request

`POST /api/v1/cards/topup/execute`

Executes the estimated card topup request

## Request body

- RequestCardTopupExecuteRequest
  - `device_id` string — DeviceId is the client device identifier forwarded to the underlying provider when present
  - `estimation_id` string, required — EstimationId identifies the previously created topup estimation

## Response `200`

OK

- ResponseCardTopupExecuteResponse
  - `id` string, required — Identifier of the initiated topup
  - `status` string, required — Status of the topup after initiation
  - `three_ds_state` ResponseCardTopupThreeDsState
    - `flow` string — Flow of the 3DS challenge as produced by the provider
    - `provider` string — Provider that issued the 3DS challenge
    - `status` string — Status of the 3DS challenge
    - `status_reason` string — Reason for the current 3DS status
    - `url` string — Url the client must open to complete the 3DS challenge

## Other responses

- `400` — Bad Request
- `500` — Internal Server Error

---

[API](https://skmtc.dev/wirexapp/apis/wirex-baas-api.md) · [All operations](https://skmtc.dev/wirexapp/apis/wirex-baas-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/wirexapp/wirex-baas-api/revisions/b95a180790b1/schema)
