# Show a tax preset

```http
GET https://secure.yoprint.com/v1/api/store/{team_slug}/setting/tax_type/{hash_id}
```

- API version: v1
- Operation ID: `v1_public_custom_tax_show`
- Section: Team settings › [Tax presets](https://developer.yoprint.com/reference/tax-presets.md)
- Web page: https://developer.yoprint.com/reference/tax-presets/v1-custom-tax-show/
- Authentication: `Authorization: Bearer YOUR_API_KEY`

Returns one tax preset, deleted or not.

## Permission

Any team member can call it. Reading needs no extra permission.

## Path parameters

- `team_slug` (string, required): Your team slug, shown as Team ID next to your API key in Profile. Example `your-team`.
- `hash_id` (string, required): The tax preset's `id`: a hash id from an earlier answer. Only hash ids work here; anything else answers 404 `page_not_found`. Example `kazdbC5ICA0kV0`.

## Request body

This operation takes no request body.

### Example request

```bash
curl 'https://secure.yoprint.com/v1/api/store/your-team/setting/tax_type/kazdbC5ICA0kV0' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Accept: application/json' \
  -H 'X-Yoprint-Decimal-Format: exact-v1'
```

## Response

`200` Successful response.

Fields:

- `data` (object, required)
  - `apply_before_disc` (boolean, required): Whether tax is calculated before the discount (Calculate Taxes Before Discount). Normally false: tax comes after the discount.
  - `default` (boolean, required): Whether it is the team's default tax preset. At most one preset is the default.
  - `enable` (boolean, required)
  - `id` (string, required)
  - `line_taxes` (array of objects, required): The parts of a `line_tax` preset, as they were sent. Empty for the others.
    - Each item:
      - `name` (string, required): The part's name, such as `State` or `County`.
      - `total` (integer, required): The part's rate. A percentage ×1000: `8250` is 8.25%. With `X-Yoprint-Decimal-Format: exact-v1`, a value that isn't a whole number comes back as a string. Minimum 0.
  - `name` (string, required)
  - `secondary_type` (string | null, required): For `system` presets, which one: `auto` is Auto Tax, YoPrint's automatic US sales tax; `other` is a 0% preset some teams have, whose `name` always reads Tax Exempt. Null for your own presets.
  - `shipping_taxable` (boolean, required): Whether shipping is taxed (Tax Shipping).
  - `total` (integer, required): The rate. For `line_tax`, the sum of the parts. Auto Tax shows 0: its rate is looked up per invoice. A percentage ×1000: `8250` is 8.25%. With `X-Yoprint-Decimal-Format: exact-v1`, a value that isn't a whole number comes back as a string. Minimum 0.
  - `trashed` (boolean, required): True for a deleted preset. Restore it with Restore a tax preset.
  - `type` (string, required): `simple` (Single Line Tax): one rate. `line_tax` (Multi Line Tax): parts that add up. `system`: made by YoPrint, such as Auto Tax. One of: `"simple"`, `"line_tax"`, `"system"`.
  - `can_override_rates` (boolean, optional)
  - `can_override_rules` (boolean, optional)
  - `error` (string, optional)
  - `hidden` (boolean, optional)
  - `override_rates` (array of objects, optional)
  - `override_rules` (array of objects, optional)
  - `supported_place` (array of objects, optional)
- `status` (integer, required)
- `success` (boolean, required)

Example response:

```json
{
  "data": {
    "apply_before_disc": false,
    "can_override_rates": false,
    "can_override_rules": false,
    "default": true,
    "enable": true,
    "error": "",
    "hidden": false,
    "id": "kazdbC5ICA0kV0",
    "line_taxes": [],
    "name": "State sales tax",
    "override_rates": [],
    "override_rules": [],
    "secondary_type": null,
    "shipping_taxable": true,
    "supported_place": [],
    "total": 6000,
    "trashed": false,
    "type": "simple"
  },
  "status": 200,
  "success": true
}
```

## Errors

- `401` The API key is missing or wrong (`unauthenticated`).
- `403` You are not allowed to do this. `api_access_not_in_plan`: your team's plan doesn't include API access (Pro and above, with an active subscription or trial), so every request answers this until the team upgrades. When your role lacks the permission the operation needs, the body is only `{"message": "Insufficient Permission"}`. Other refusals use the error envelope, with `unauthorized` or `user_is_not_authorized`.
- `404` Not found. `page_not_found`: the team slug is unknown, you are not a member of the team, or an id in the path is not one of this team's. `code: null`, with a message that starts "No query results for": there is no record with that id.

## Related

- [Update a tax preset (same as PUT)](https://developer.yoprint.com/reference/tax-presets/v1-custom-tax-update-patch.md): `PATCH /v1/api/store/{team_slug}/setting/tax_type/{hash_id}`
