## Find a topup

Retrieve details about a specific balance top-up in your merchant account.

## Endpoint signature

```http
POST https://api.reservepay.com/merchants/find-topup HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <token>

{
  topup_id: string,
}
```

Returns: object

## Request arguments

### `topup_id` (string)

**Required**. The unique identifier of the topup to retrieve.

## Response attributes

### `topup_id` (string)

**Always present**. The ID of the topup.

### `status` (string)

**Always present**. The current status of the topup.

Possible values:

- `PENDING`
- `SUCCESSFUL`

### `type` (string)

**Always present**. How the topup was funded. 'MANUAL' for a direct bank transfer, 'VIRTUAL_ACCOUNT' for funds received through a virtual account.

Possible values:

- `MANUAL`
- `VIRTUAL_ACCOUNT`

### `amount` (number)

**Always present**. The topup amount in subunits.

### `currency` (string)

**Always present**. The 3-letter ISO currency code (e.g., 'THB').

### `transaction_id` (string)

_Nullable_. The bank transaction reference for the incoming transfer.

### `sender_account_name` (string)

_Nullable_. The name on the sender's bank account.

### `sender_account_number` (string)

_Nullable_. The sender's bank account number.

### `sender_bank_code` (string)

_Nullable_. The sender's 3-digit bank code.

### `virtual_account_number` (string)

_Nullable_. The number of the virtual account that received the funds. Null for manual topups.

### `created_at` (number)

**Always present**. The creation timestamp (Unix timestamp).

## Errors specific to this endpoint

### `NOT_FOUND`

This error occurs when no topup with the provided ID exists in your
merchant account. Double check that you're using the correct topup ID.

## Errors common to all endpoints

### `UNHANDLED_ERROR`

This error occurs when the server encounters an unexpected internal error that
it cannot handle gracefully. This typically happens due to bugs, infrastructure
issues, or edge cases that weren't anticipated during development.

### `INVALID_ARGUMENTS`

This error occurs when the request contains invalid or missing parameters.
Common cases include missing required fields, or values that don't match the
expected format or type.

### `BAD_VERSION`

This error occurs when making requests to an API version that does not exist.
This commonly happens when using an outdated SDK or when the API version
specified in the request URL is incorrect.
