Cards — list cards on an account and manage their controls (freeze, spending limits, geographic/channel restrictions).
Required scopes: card:read, card-control:edit.
Summary
Functions
Gets the current spending/channel controls for a card.
Disables (freezes) a card.
Enables a card.
Lists all cards on the account holder's accounts.
Enables/disables a specific channel control (e.g. :atm, :online, :mobile_wallet, :contactless, :pos, :gambling).
Sets a per-transaction spending limit control on a card.
Types
Functions
@spec controls(String.t(), StarlingBank.Client.t() | keyword() | nil) :: {:ok, map()} | {:error, StarlingBank.Error.t()}
Gets the current spending/channel controls for a card.
@spec disable(String.t(), StarlingBank.Client.t() | keyword() | nil) :: {:ok, nil} | {:error, StarlingBank.Error.t()}
Disables (freezes) a card.
@spec enable(String.t(), StarlingBank.Client.t() | keyword() | nil) :: {:ok, nil} | {:error, StarlingBank.Error.t()}
Enables a card.
@spec list(StarlingBank.Client.t() | keyword() | nil) :: {:ok, [t()]} | {:error, StarlingBank.Error.t()}
Lists all cards on the account holder's accounts.
@spec set_channel_control( String.t(), atom(), boolean(), StarlingBank.Client.t() | keyword() | nil ) :: {:ok, nil} | {:error, StarlingBank.Error.t()}
Enables/disables a specific channel control (e.g. :atm, :online, :mobile_wallet, :contactless, :pos, :gambling).
@spec set_spending_limit( String.t(), pos_integer(), StarlingBank.Client.t() | keyword() | nil ) :: {:ok, nil} | {:error, StarlingBank.Error.t()}
Sets a per-transaction spending limit control on a card.