# Create tax exemption order for a person

Creates a tax exemption order for a person's savings account, specified in
the request URL by its ID. Specify the amount to be exempted from tax in the
request body.

Endpoint: POST /v1/persons/{person_id}/deposit_accounts/{account_id}/tax_exemptions
Version: 1.0

## Path parameters:

  - `person_id` (string, required)
    Unique ID of a person.
    Example: "111110faed3c03261a08e2660c0c08bdcper"

  - `account_id` (string, required)
    Unique ID of a Solaris account.
    Example: "e48c29b85992b8772eb7ddd518490920cacc"

## Request fields (application/json):

  - `reference` (string, required)
    UUID to use as an idempotency reference for the transaction.
    Example: "162ddd7e-790c-5963-908f-4cedfd30f9a1"

  - `amount` (object, required)
    The amount to be exempted from tax.

  - `amount.value` (integer)
    The amount.
    Example: 5000

  - `amount.unit` (string)
    Money unit used to represent the amount.
    Example: "cents"

  - `amount.currency` (string)
    The currency in which the amount is represented.
    Example: "EUR"

  - `valid_from_year` (string, required)
    Year from which the tax exemption order takes effect.
    Example: "2023"

  - `valid_to_year` (string)
    Year until which the tax exemption order applies.
    Example: "2025"

## Response 202 fields (application/json):

  - `id` (string, required)
    ID of the tax exemption order.
    Example: "d222a0b8-07ea-49be-83c1-68719be286e8"

  - `reference` (string, required)
    UUID to use as an idempotency reference for the transaction.
    Example: "162ddd7e-790c-5963-908f-4cedfd30f9a1"

  - `amount` (object, required)
    The amount to be exempted from tax.

  - `amount.value` (integer)
    The amount.
    Example: 5000

  - `amount.unit` (string)
    Money unit used to represent the amount.
    Example: "cents"

  - `amount.currency` (string)
    The currency in which the amount is represented.
    Example: "EUR"

  - `valid_from_year` (string, required)
    Year from which the tax exemption order takes effect.
    Example: "2023"

  - `valid_to_year` (string)
    Year until which the tax exemption order applies.
    Example: "2025"

## Response 400 fields (application/json):

  - `id` (string)
    Example: "a95f2aaf-4e0c-4d49-8021-8a16a884ed86"

  - `status` (string)
    Example: "400"

  - `code` (string)
    Example: "build_pagination_headers_failure"

  - `title` (string)
    Example: "Failed to build pagination headers."

  - `details` (string)
    Example: "Cannot connect to database."

## Response 403 fields (application/json):

  - `id` (string)
    Example: "a95f2aaf-4e0c-4d49-8021-8a16a884ed86"

  - `status` (string)
    Example: "403"

  - `code` (string)
    Example: "unauthorized_action"

  - `title` (string)
    Example: "Unauthorized Action"

  - `details` (string)
    Example: "Unauthorized action is not allowed."

## Response 404 fields (application/json):

  - `id` (string)
    Example: "a95f2aaf-4e0c-4d49-8021-8a16a884ed86"

  - `status` (string)
    Example: "404"

  - `code` (string)
    Example: "model_not_found"

  - `title` (string)
    Example: "Model Not Found"

  - `details` (string)
    Example: "Couldn't find {resource} for id {resource_id}."

## Response 409 fields (application/json):

  - `id` (string)
    X-Request-ID of the http request
    Example: "b35f2aaf-4e0c-4d49-8021-8a16a884ed81"

  - `status` (string)
    Example: "409"

  - `code` (string)
    Example: "record_not_unique"

  - `title` (string)
    Example: "Record not unique"

  - `details` (string)
    Example: "Record already exists."

## Response 500 fields (application/json):

  - `id` (string)
    Example: "e8915041-9d8c-4d96-9dd1-04e8522ecdbf"

  - `status` (string)
    Example: "500"

  - `code` (string)
    Example: "generic_error"

  - `title` (string)
    Example: "Generic Error"

  - `details` (string)
    Example: "There was an error."


