# `Wise.Types`
[🔗](https://github.com/iamkanishka/wise/blob/v1.0.0/lib/wise/types.ex#L1)

Shared type definitions for the Wise Platform API.

All domain types are represented as plain maps with atom keys.
This module documents the shapes used throughout the library.

# `address_id`

```elixir
@type address_id() :: pos_integer()
```

Wise address ID

# `amount`

```elixir
@type amount() :: %{value: number(), currency: String.t()}
```

Money amount with currency

# `balance_id`

```elixir
@type balance_id() :: pos_integer()
```

Wise balance ID

# `balance_type`

```elixir
@type balance_type() :: :STANDARD | :SAVINGS
```

Balance type

# `batch_group_id`

```elixir
@type batch_group_id() :: String.t()
```

Wise batch group ID

# `card_order_id`

```elixir
@type card_order_id() :: String.t()
```

Wise card order ID

# `card_status`

```elixir
@type card_status() :: :ACTIVE | :INACTIVE | :FROZEN | :BLOCKED
```

Card status

# `card_token`

```elixir
@type card_token() :: String.t()
```

Wise card token

# `card_type`

```elixir
@type card_type() :: :PHYSICAL | :VIRTUAL
```

Card type

# `case_id`

```elixir
@type case_id() :: String.t()
```

Wise support case ID

# `dispute_id`

```elixir
@type dispute_id() :: String.t()
```

Wise dispute ID

# `kyc_review_id`

```elixir
@type kyc_review_id() :: String.t()
```

Wise KYC review ID

# `ok_result`

```elixir
@type ok_result() :: {:ok, :ok} | {:error, Wise.Error.t()}
```

Successful API result with no body

# `page_params`

```elixir
@type page_params() :: %{
  optional(:limit) =&gt; pos_integer(),
  optional(:offset) =&gt; non_neg_integer(),
  optional(:cursor) =&gt; String.t()
}
```

Pagination parameters

# `profile_id`

```elixir
@type profile_id() :: pos_integer()
```

Wise profile ID

# `profile_type`

```elixir
@type profile_type() :: :personal | :business
```

Profile type: personal or business

# `quote_id`

```elixir
@type quote_id() :: String.t()
```

Wise quote UUID

# `recipient_id`

```elixir
@type recipient_id() :: pos_integer()
```

Wise recipient account ID

# `result`

```elixir
@type result(t) :: {:ok, t} | {:error, Wise.Error.t()}
```

Successful API result

# `transfer_id`

```elixir
@type transfer_id() :: pos_integer()
```

Wise transfer ID

# `transfer_status`

```elixir
@type transfer_status() ::
  :draft
  | :pending_customer_input
  | :processing
  | :funds_converted
  | :outgoing_payment_sent
  | :canceled
  | :funds_refunded
  | :bounced_back
  | :charged_back
```

Transfer status

# `user_id`

```elixir
@type user_id() :: pos_integer()
```

Wise user ID

# `webhook_event_type`

```elixir
@type webhook_event_type() :: String.t()
```

Webhook event type

# `webhook_subscription_id`

```elixir
@type webhook_subscription_id() :: String.t()
```

Wise webhook subscription ID

---

*Consult [api-reference.md](api-reference.md) for complete listing*
