# `FireblocksSdk.Api.Tap`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.4/lib/fireblocks_sdk/api/tap.ex#L1)

# `active_policy`

> This function is deprecated. See Swagger spec for replacement.

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

Returns the active policy and its validation (Legacy).

Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.

# `get_active_policy_v2`

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

Get the active policy and its validation by policy type (V2 Beta).

Returns the active policy and its validation for a specific policy type.

> Note: This endpoint is currently in beta and subject to change.
> Contact your Fireblocks Customer Success Manager or send an email to csm@fireblocks.com.

Endpoint Permissions: Owner, Admin, Non-Signing Admin.

Options:
* `:policyType` (list of `t:String.t/0`) - Required. One or more policy types to filter by. Can be repeated for multiple types.
  Valid values: TRANSFER, STAKE, CONTRACT_CALL, TYPED_MESSAGE, APPROVE, MINT,
  BURN, RAW, COMPLIANCE, DEPLOYMENT, PROGRAM_CALL, DAPP_CONNECTION, UPGRADE,
  ORDER, AML_CHAINALYSIS_V2_SCREENING, AML_CHAINALYSIS_V2_POST_SCREENING,
  AML_ELLIPTIC_HOLISTIC_SCREENING, AML_ELLIPTIC_HOLISTIC_POST_SCREENING,
  TR_NOTABENE_SCREENING, TR_NOTABENE_POST_SCREENING.

# `get_draft`

> This function is deprecated. See Swagger spec for replacement.

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

Returns the active draft and its validation (Legacy).

Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.

# `get_draft_v2`

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

Get the active draft by policy type (V2 Beta).

Returns the active draft and its validation for a specific policy type.

> Note: These endpoints are currently in beta and might be subject to changes.

Endpoint Permissions: Owner, Admin, Non-Signing Admin.

Options:
* `:policyType` (list of `t:String.t/0`) - Required. One or more policy types to filter by. Can be repeated for multiple types.
  Valid values: TRANSFER, STAKE, CONTRACT_CALL, TYPED_MESSAGE, APPROVE, MINT,
  BURN, RAW, COMPLIANCE, DEPLOYMENT, PROGRAM_CALL, DAPP_CONNECTION, UPGRADE,
  ORDER, AML_CHAINALYSIS_V2_SCREENING, AML_CHAINALYSIS_V2_POST_SCREENING,
  AML_ELLIPTIC_HOLISTIC_SCREENING, AML_ELLIPTIC_HOLISTIC_POST_SCREENING,
  TR_NOTABENE_SCREENING, TR_NOTABENE_POST_SCREENING.

# `publish_draft`

> This function is deprecated. See Swagger spec for replacement.

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

Send a publish request for a draft by its ID (Legacy).

Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.

Options:
* `:draftId` (`t:String.t/0`) - Required. The unique identifier of the draft to publish.

# `publish_draft_v2`

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

Send a publish request for a draft by ID and policy types (V2 Beta).

Sends a publish request for a certain draft ID and returns the result.

> Note: These endpoints are currently in beta and might be subject to changes.
> Contact your Fireblocks Customer Success Manager or send an email to csm@fireblocks.com.

Endpoint Permissions: Owner, Admin, Non-Signing Admin.

Options:
* `:policyTypes` (list of `t:String.t/0`) - Required. One or more policy types this draft applies to.
  Valid values: TRANSFER, STAKE, CONTRACT_CALL, TYPED_MESSAGE, APPROVE, MINT,
  BURN, RAW, COMPLIANCE, DEPLOYMENT, PROGRAM_CALL, DAPP_CONNECTION, UPGRADE,
  ORDER, AML_CHAINALYSIS_V2_SCREENING, AML_CHAINALYSIS_V2_POST_SCREENING,
  AML_ELLIPTIC_HOLISTIC_SCREENING, AML_ELLIPTIC_HOLISTIC_POST_SCREENING,
  TR_NOTABENE_SCREENING, TR_NOTABENE_POST_SCREENING.

* `:draftId` (`t:String.t/0`) - Required. The unique identifier of the draft to publish.

# `publish_policy_rules`

> This function is deprecated. See Swagger spec for replacement.

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

Publish a set of policy rules directly (Legacy).

Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.

Options:
* `:rules` (list of `t:map/0`) - Required. List of policy rule maps to publish directly.

# `update_draft`

> This function is deprecated. See Swagger spec for replacement.

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

Update the draft with a new set of rules (Legacy).

Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.

Options:
* `:rules` (list of `t:map/0`) - Required. List of policy rule maps to set as the new draft.

# `update_draft_v2`

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

Update the draft with a new set of rules by policy types (V2 Beta).

Updates the draft and returns its validation for specific policy types.

> Note: These endpoints are currently in beta and might be subject to changes.

Endpoint Permissions: Owner, Admin, Non-Signing Admin.

Options:
* `:policyTypes` (list of `t:String.t/0`) - Required. One or more policy types this draft applies to.
  Valid values: TRANSFER, STAKE, CONTRACT_CALL, TYPED_MESSAGE, APPROVE, MINT,
  BURN, RAW, COMPLIANCE, DEPLOYMENT, PROGRAM_CALL, DAPP_CONNECTION, UPGRADE,
  ORDER, AML_CHAINALYSIS_V2_SCREENING, AML_CHAINALYSIS_V2_POST_SCREENING,
  AML_ELLIPTIC_HOLISTIC_SCREENING, AML_ELLIPTIC_HOLISTIC_POST_SCREENING,
  TR_NOTABENE_SCREENING, TR_NOTABENE_POST_SCREENING.

* `:rules` (list of `t:map/0`) - Required. Array of V2 PolicyRule maps to set as the new draft.

---

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