Skip to content

Updates the display-intent metadata of a DCA plan owned by the authenticated user.

PATCH
/api/v2/user/dca-codes/{code}

The request body uses merge-patch semantics: only the fields the client sends are updated, omitted fields keep their current value. A field sent as null clears the stored value. The gateway validates every provided field (frequency, intendedAmount, name) before forwarding to equinox, and returns 404 when the plan does not belong to the authenticated user.

code
required
string
object
name

Display name for the savings plan.

string
nullable <= 255 characters
Example
My pension
intendedAmount

Intended deposit amount in fiat minor units (EUR cents). Display intent only.

integer
nullable
Example
5000
frequency

Intended deposit frequency. Display intent only.

string
nullable
Allowed values: weekly biweekly monthly quarterly half_yearly
Example
monthly
hidden

Whether the plan is hidden from the plan overview.

boolean
nullable
Example
true

DCA plan updated successfully.

object
code
required

The DCA-code that should be included in the bank transfer deposit.

string
Example
ABCDEFG9
apiClientName

The API client name.

string
nullable
Example
Foo
cryptoCurrency
required

The crypto currency that is purchased with this DCA-code.

string
Example
BTC
walletAddress
required

The wallet address the coins are sent to when the DCA order is executed.

string
Example
3FZbgi29cpjq2GjdwV8eyHuJJnkLtktZc5
destinationTag

The destination tag which should be used to send the coins. This depends on the coin type and can be a string or an integer. For XRP it is an integer, for other coins it is a string.

string|integer
nullable
Example
{
"default": "ABC1234",
"XRP": 12341
}
bankName
required

The name of the bank where the fiat needs to be sent to.

string
Example
BTC Direct Europe B.V.
bankIban
required

The IBAN where the fiat needs to be sent to.

string
Example
NL37BUNQ2025406444
bankBic
required

The BIC of the bank.

string
Example
BUNQNL2A
name

The display name of the savings plan.

string
nullable
Example
My pension
intendedAmount

The intended deposit amount in fiat minor units (EUR cents). Display intent only.

integer
nullable
Example
5000
frequency

The intended deposit frequency. Display intent only.

string
nullable
Allowed values: weekly monthly quarterly half_yearly
Example
monthly
hidden

Whether the plan is hidden from the plan overview.

boolean
createdAt

When the plan was created (ISO-8601). The plan overview is sorted by this field, newest first.

string format: date-time
nullable
Example
2026-06-29T10:23:42+00:00
targetCurrency
required

Currency details including optional CAIP-19 asset identifier

object
code
required

The currency code.

string
Example
USDC_SOL
ticker
required

The currency ticker.

string
Example
USDC
name
required

The human-readable currency name.

string
Example
USD Coin (Solana)
caip19
required

CAIP-19 chain-agnostic asset identifier, e.g. solana:5eykt…/spl:EPjFWdd5…

string
Example
solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/spl:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v

A list of possible errors for this endpoint.

object
code
required
string
Allowed values: ER142 ER143 ER144 ER800 ER801 ER802 ER803 ER805 ER806 ER999
message
required
string
solution
required
string
Example
{
"errors": {
"ER142": {
"code": "ER142",
"message": "Invalid DCA plan frequency.",
"solution": "Provide one of the supported frequencies: weekly, monthly, quarterly, half_yearly."
},
"ER143": {
"code": "ER143",
"message": "Invalid intended amount.",
"solution": "Provide an intended amount greater than zero, in fiat minor units (EUR cents)."
},
"ER144": {
"code": "ER144",
"message": "DCA plan name is too long.",
"solution": "Provide a name of at most 255 characters."
},
"ER800": {
"code": "ER800",
"message": "Authorization token is invalid.",
"solution": "Provide a valid authorization token."
},
"ER801": {
"code": "ER801",
"message": "Authorization token has expired.",
"solution": "Request a new authorization token."
},
"ER802": {
"code": "ER802",
"message": "Authorization token not found.",
"solution": "Provide an authorization token."
},
"ER803": {
"code": "ER803",
"message": "Multiple authorization methods used.",
"solution": "Use exactly one authorization method."
},
"ER805": {
"code": "ER805",
"message": "API key is invalid.",
"solution": "Provide a valid API key."
},
"ER806": {
"code": "ER806",
"message": "API key not found.",
"solution": "Provide an API key."
},
"ER999": {
"code": "ER999",
"message": "A general error has occurred. Please contact our support team.",
"solution": "Contact our support team."
}
}
}

DCA plan not found for this user.