Virtual Assets
Update virtual asset
https://api.firstleeward.com/v0/virtual-assets/:idUpdate mutable fields (name, httpEndpoint). To disable the asset, use the dedicated POST /:id/disable endpoint.
Authorizations
Authorizationstring · headerrequiredAPI key as Bearer token, e.g. Bearer YOUR_API_KEY
Headers
Leeward-Versionenum<string>requiredAPI version (YYYY-MM-DD). Available option: 2026-09-18
Path Parameters
idstring<uuid>requiredVirtual asset ID
Body
application/json
namestringUpdated display name
httpEndpointstring<uri>Update the rate endpoint URL. Only applicable for HTTP rate source. Must be HTTPS and resolve to a public address (no private IPs).
Response
200Virtual asset definition
idstring<uuid>requiredUnique virtual asset identifier
symbolstringrequiredVirtual asset symbol
namestringrequiredDisplay name
decimalsintegerrequiredNumber of decimal places for amounts
statusstringrequiredLifecycle status. Disabled assets are excluded from balance computation.
ACTIVEDISABLEDrateSourcestringrequiredHow the exchange rate (in the project billing currency) is determined for this virtual asset.
FIXEDHTTPhttpEndpointstring | nullrequiredRate endpoint URL. Present only for HTTP rate source.
currentRatenumber | nullrequiredLatest known rate per unit, in the project billing currency. This is the rate a SETTLEMENT posting made now would be priced at. Null if no rate snapshot exists yet.
currentRateUpdatedAtstring | nullrequiredISO 8601 timestamp of the latest rate snapshot. Null when currentRate is null.
allocatedobjectrequiredTotal amount of this virtual asset allocated across all accounts in the project.
Show child attributes
amountstringrequiredTotal allocated across all users in this project, in the virtual asset's native units. Decimal string padded to the asset's decimals.
valuenumber | nullrequiredValue of amount at the current rate, in the project billing currency. Null when no rate is available (e.g. disabled assets with no recent snapshot).
createdAtstringrequiredISO 8601 creation timestamp
updatedAtstringrequiredISO 8601 last update timestamp
400Response for status 400
Option 1 · InvalidRateSourceError
errorobjectrequiredShow child attributes
codestringrequiredmessagestringrequireddetailobject | nullrequiredOption 2 · InvalidRateSourceConfigError
errorobjectrequiredShow child attributes
codestringrequiredmessagestringrequireddetailobject | nullrequired404Virtual asset not found
errorobjectrequiredShow child attributes
codestringrequiredmessagestringrequireddetailobject | nullrequired