Skip to main content
PUT
Update

Authorizations

Authorization
string
header
required

JWT issued by POST /api/v1.1/access-token/b2b. Send Authorization: Bearer <token>.

X-PARTNER-ID
string
header
required

Merchant API key (Credential.api_key). Required on every request.

Path Parameters

account_id
string
required

Account identifier in ULID format.

virtual_account_id
string
required

Virtual account identifier in ULID format. Use this value in path parameters (not the VA number).

Body

application/json
status
enum<string>
required

Virtual account lifecycle status. Cannot be changed for virtual accounts issued through certain payment methods — for those, send the current status or omit the field; sending a different value returns 422.

Available options:
active,
inactive,
expired
Example:

"active"

name
string | null

Display name for the virtual account.

Maximum string length: 200
Example:

"Bakso Enak- John Doe"

amount
number

Fixed payment amount. Required when updating a closed virtual account. Limits depend on merchant configuration.

Example:

100000

min_amount
number

Minimum payment amount. Required when updating an open virtual account.

Example:

10000

max_amount
number

Maximum payment amount. Required when updating an open virtual account and must be greater than or equal to min_amount.

Example:

100000

expired_at
string

Expiration time as a Unix timestamp in milliseconds (13 digits). Required when virtual account kind is temporary.

Pattern: ^\d{13}$
Example:

"1774000000000"

max_usage
integer

Maximum number of successful payments allowed. Required when virtual account kind is temporary.

Required range: 1 <= x <= 255
Example:

1

Response

Updated

status
integer
required

HTTP status code.

Example:

200

success
boolean
required

Indicates whether the request was successful.

Example:

true

data
object

Virtual account resource payload.