# `AdyenClient.LegalEntity`
[🔗](https://github.com/iamkanishka/adyen_client/blob/v1.0.0/lib/adyen_client/platforms.ex#L21)

Adyen Legal Entity Management API (v4).

Handles KYC onboarding: legal entities, transfer instruments, business lines,
documents, Terms of Service, PCI questionnaires, and hosted onboarding links.

# `accept_tos`

```elixir
@spec accept_tos(String.t(), String.t(), map(), keyword()) ::
  AdyenClient.Client.response()
```

Accept Terms of Service.

# `calculate_pci_status`

```elixir
@spec calculate_pci_status(String.t(), map(), keyword()) ::
  AdyenClient.Client.response()
```

Calculate PCI status.

# `check_tax_edelivery_consent`

```elixir
@spec check_tax_edelivery_consent(String.t(), map(), keyword()) ::
  AdyenClient.Client.response()
```

Check tax e-delivery consent status.

# `check_verification_errors`

```elixir
@spec check_verification_errors(
  String.t(),
  keyword()
) :: AdyenClient.Client.response()
```

Check verification errors for a legal entity.

# `confirm_data_review`

```elixir
@spec confirm_data_review(
  String.t(),
  keyword()
) :: AdyenClient.Client.response()
```

Confirm data review for a legal entity.

# `create`

```elixir
@spec create(
  map(),
  keyword()
) :: AdyenClient.Client.response()
```

Create a legal entity.

# `create_business_line`

```elixir
@spec create_business_line(
  map(),
  keyword()
) :: AdyenClient.Client.response()
```

Create a business line.

# `create_transfer_instrument`

```elixir
@spec create_transfer_instrument(
  map(),
  keyword()
) :: AdyenClient.Client.response()
```

Create a transfer instrument (bank account).

# `delete_business_line`

```elixir
@spec delete_business_line(
  String.t(),
  keyword()
) :: AdyenClient.Client.response()
```

Delete a business line.

# `delete_document`

```elixir
@spec delete_document(
  String.t(),
  keyword()
) :: AdyenClient.Client.response()
```

Delete a document.

# `delete_transfer_instrument`

```elixir
@spec delete_transfer_instrument(
  String.t(),
  keyword()
) :: AdyenClient.Client.response()
```

Delete a transfer instrument.

# `generate_pci_questionnaire`

```elixir
@spec generate_pci_questionnaire(String.t(), map(), keyword()) ::
  AdyenClient.Client.response()
```

Generate a PCI questionnaire.

# `get`

```elixir
@spec get(
  String.t(),
  keyword()
) :: AdyenClient.Client.response()
```

Get a legal entity.

# `get_accepted_tos_document`

```elixir
@spec get_accepted_tos_document(String.t(), String.t(), keyword()) ::
  AdyenClient.Client.response()
```

Get the accepted Terms of Service document.

# `get_business_line`

```elixir
@spec get_business_line(
  String.t(),
  keyword()
) :: AdyenClient.Client.response()
```

Get a business line.

# `get_business_lines`

```elixir
@spec get_business_lines(
  String.t(),
  keyword()
) :: AdyenClient.Client.response()
```

Get all business lines under a legal entity.

# `get_document`

```elixir
@spec get_document(
  String.t(),
  keyword()
) :: AdyenClient.Client.response()
```

Get a document.

# `get_onboarding_link`

```elixir
@spec get_onboarding_link(String.t(), map(), keyword()) ::
  AdyenClient.Client.response()
```

Get a link to an Adyen-hosted onboarding page.

# `get_onboarding_theme`

```elixir
@spec get_onboarding_theme(
  String.t(),
  keyword()
) :: AdyenClient.Client.response()
```

Get a specific onboarding theme.

# `get_pci_questionnaire`

```elixir
@spec get_pci_questionnaire(String.t(), String.t(), keyword()) ::
  AdyenClient.Client.response()
```

Get a specific PCI questionnaire.

# `get_pci_questionnaires`

```elixir
@spec get_pci_questionnaires(
  String.t(),
  keyword()
) :: AdyenClient.Client.response()
```

Get PCI questionnaire details.

# `get_tos`

```elixir
@spec get_tos(String.t(), map(), keyword()) :: AdyenClient.Client.response()
```

Get the Terms of Service document for a legal entity.

# `get_tos_acceptance_info`

```elixir
@spec get_tos_acceptance_info(
  String.t(),
  keyword()
) :: AdyenClient.Client.response()
```

Get ToS acceptance info for a legal entity.

# `get_tos_status`

```elixir
@spec get_tos_status(
  String.t(),
  keyword()
) :: AdyenClient.Client.response()
```

Get Terms of Service status.

# `get_transfer_instrument`

```elixir
@spec get_transfer_instrument(
  String.t(),
  keyword()
) :: AdyenClient.Client.response()
```

Get a transfer instrument.

# `list_onboarding_themes`

```elixir
@spec list_onboarding_themes(keyword()) :: AdyenClient.Client.response()
```

List hosted onboarding page themes.

# `request_periodic_review`

```elixir
@spec request_periodic_review(
  String.t(),
  keyword()
) :: AdyenClient.Client.response()
```

Request a periodic data review.

# `set_tax_edelivery_consent`

```elixir
@spec set_tax_edelivery_consent(String.t(), map(), keyword()) ::
  AdyenClient.Client.response()
```

Set tax e-delivery consent.

# `sign_pci_questionnaire`

```elixir
@spec sign_pci_questionnaire(String.t(), map(), keyword()) ::
  AdyenClient.Client.response()
```

Sign a PCI questionnaire.

# `update`

```elixir
@spec update(String.t(), map(), keyword()) :: AdyenClient.Client.response()
```

Update a legal entity.

# `update_business_line`

```elixir
@spec update_business_line(String.t(), map(), keyword()) ::
  AdyenClient.Client.response()
```

Update a business line.

# `update_document`

```elixir
@spec update_document(String.t(), map(), keyword()) :: AdyenClient.Client.response()
```

Update a document.

# `update_transfer_instrument`

```elixir
@spec update_transfer_instrument(String.t(), map(), keyword()) ::
  AdyenClient.Client.response()
```

Update a transfer instrument.

# `upload_document`

```elixir
@spec upload_document(
  map(),
  keyword()
) :: AdyenClient.Client.response()
```

Upload a document for verification.

---

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