# `FireblocksSdk.Api.Compliance`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/compliance.ex#L1)

Fireblocks Compliance API.

Covers two resource families:

* **Address Registry** (`/v1/address_registry`) — manage workspace and per-vault
  opt-in/opt-out from the Fireblocks address registry.
* **Screening** (`/v1/screening`) — read and update AML and Travel Rule screening
  policies, configurations, and transaction-level compliance operations.

# `add_address_registry_vault_opt_outs`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/compliance.ex#L132)

```elixir
@spec add_address_registry_vault_opt_outs(
  keyword(),
  String.t()
) :: map()
```

Adds one or more vault accounts to the address registry opt-out list.

Options:
* `:vaultAccountIds` (list of `t:String.t/0`) - Required. Vault account IDs to add to the opt-out list

# `bypass_screening_policy`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/compliance.ex#L267)

```elixir
@spec bypass_screening_policy(String.t(), String.t()) :: map()
```

Triggers a new outgoing transaction bypassing all screening checks. Admin API users only.

- `tx_id`: Fireblocks transaction ID
- `idempotency_key`: Optional idempotency key

# `get_address_registry_tenant_status`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/compliance.ex#L72)

```elixir
@spec get_address_registry_tenant_status() :: map()
```

Returns the address registry opt-in status for the current tenant/workspace.

# `get_address_registry_vault_opt_out`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/compliance.ex#L152)

```elixir
@spec get_address_registry_vault_opt_out(String.t()) :: map()
```

Returns the address registry opt-out status for the given vault account.

- `vault_account_id`: The vault account ID to look up

# `get_aml_post_screening_policy`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/compliance.ex#L219)

```elixir
@spec get_aml_post_screening_policy() :: map()
```

Returns the AML post-screening policy for the current workspace.

# `get_aml_screening_configuration`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/compliance.ex#L227)

```elixir
@spec get_aml_screening_configuration() :: map()
```

Returns the AML screening configuration for the current workspace.

# `get_aml_screening_policy`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/compliance.ex#L211)

```elixir
@spec get_aml_screening_policy() :: map()
```

Returns the AML screening policy for the current workspace.

# `get_legal_entity_by_address`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/compliance.ex#L52)

> This function is deprecated. Use get_legal_entity_for_address/1 instead..

```elixir
@spec get_legal_entity_by_address(keyword()) :: map()
```

Returns legal entity information associated with the given blockchain address.

**Deprecated.** Use `get_legal_entity_for_address/1` instead.

Options:
* `:address` (`t:String.t/0`) - Required. Blockchain address to look up

* `:asset` (`t:String.t/0`) - Optional asset identifier (e.g. "ETH")

# `get_legal_entity_for_address`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/compliance.ex#L64)

```elixir
@spec get_legal_entity_for_address(String.t()) :: map()
```

Returns legal entity information associated with the given blockchain address.

- `address`: Blockchain address to look up

# `get_screening_full_details`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/compliance.ex#L281)

```elixir
@spec get_screening_full_details(String.t()) :: map()
```

Returns full compliance details (AML + Travel Rule) for the given screened transaction.

- `tx_id`: Fireblocks transaction ID

# `get_travel_rule_post_screening_policy`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/compliance.ex#L174)

```elixir
@spec get_travel_rule_post_screening_policy() :: map()
```

Returns the Travel Rule post-screening policy for the current workspace.

# `get_travel_rule_screening_configuration`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/compliance.ex#L190)

```elixir
@spec get_travel_rule_screening_configuration() :: map()
```

Returns the Travel Rule screening configuration for the current workspace.

# `get_travel_rule_screening_policy`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/compliance.ex#L182)

```elixir
@spec get_travel_rule_screening_policy() :: map()
```

Returns the Travel Rule screening policy for the current workspace.

# `list_address_registry_vault_opt_outs`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/compliance.ex#L113)

```elixir
@spec list_address_registry_vault_opt_outs(keyword()) :: map()
```

Returns a paginated list of vault accounts that have opted out of the address registry.

Options:
* `:pageCursor` (`t:String.t/0`) - Cursor for paginated results

* `:pageSize` (`t:non_neg_integer/0`) - Number of results per page (1–100) The default value is `50`.

* `:order` - Sort order. One of "VAULT_OPT_OUT_LIST_ORDER_ASC" or "VAULT_OPT_OUT_LIST_ORDER_DESC"

# `opt_in_address_registry_tenant`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/compliance.ex#L82)

```elixir
@spec opt_in_address_registry_tenant(String.t()) :: map()
```

Opts the current tenant/workspace in to the Fireblocks address registry.

- `idempotency_key`: Optional idempotency key

# `opt_out_address_registry_tenant`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/compliance.ex#L90)

```elixir
@spec opt_out_address_registry_tenant() :: map()
```

Opts the current tenant/workspace out of the Fireblocks address registry.

# `remove_address_registry_vault_opt_out`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/compliance.ex#L162)

```elixir
@spec remove_address_registry_vault_opt_out(String.t()) :: map()
```

Removes the given vault account from the address registry opt-out list.

- `vault_account_id`: The vault account ID to remove

# `remove_all_address_registry_vault_opt_outs`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/compliance.ex#L142)

```elixir
@spec remove_all_address_registry_vault_opt_outs() :: map()
```

Removes all vault accounts from the address registry opt-out list.

# `set_aml_verdict`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/compliance.ex#L299)

```elixir
@spec set_aml_verdict(
  keyword(),
  String.t()
) :: map()
```

Sets a manual AML verdict for a screened transaction.

Options:
* `:verdict` - Required. The compliance verdict. One of "ACCEPT" or "REJECT"

* `:txId` (`t:String.t/0`) - Required. Fireblocks transaction ID

# `update_aml_screening_configuration`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/compliance.ex#L238)

```elixir
@spec update_aml_screening_configuration(
  keyword(),
  String.t()
) :: map()
```

Updates the AML screening configuration for the current workspace.

Options:
* `:bypassScreeningDuringServiceOutages` (`t:boolean/0`) - Enable/disable bypass during service outages

* `:inboundTransactionDelay` (`t:non_neg_integer/0`) - Inbound transaction delay in seconds

* `:outboundTransactionDelay` (`t:non_neg_integer/0`) - Outbound transaction delay in seconds

# `update_screening_configuration`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/compliance.ex#L254)

```elixir
@spec update_screening_configuration(
  keyword(),
  String.t()
) :: map()
```

Updates global screening configuration for the current workspace.

Options:
* `:disableBypass` (`t:boolean/0`) - Disable bypass screening

* `:disableUnfreeze` (`t:boolean/0`) - Disable unfreeze of frozen transactions

# `update_travel_rule_config`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/compliance.ex#L201)

```elixir
@spec update_travel_rule_config(
  keyword(),
  String.t()
) :: map()
```

Updates the Travel Rule screening configuration for the current workspace.

Options:
* `:bypassScreeningDuringServiceOutages` (`t:boolean/0`) - Enable/disable bypass during service outages

* `:inboundTransactionDelay` (`t:non_neg_integer/0`) - Inbound transaction delay in seconds

* `:outboundTransactionDelay` (`t:non_neg_integer/0`) - Outbound transaction delay in seconds

---

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