---
title: "Create a tax wrapper for ISA account"
method: POST
path: "/isa/wrappers"
tags: ["ISA"]
---

# Create a tax wrapper for ISA account

`POST /isa/wrappers`

## Request

- Base URL: `https://sandbox.upvest.co`
- URL: `https://sandbox.upvest.co/isa/wrappers`
- Auth: OAuth 2 (client credentials, token URL `https://sandbox.upvest.co/auth/token`, scopes: `taxes:admin`)

Creates an ISA tax wrapper for an account group, holding the business rules that apply to the tax-wrapped product.

The account group must have been created with `type` set to `ISA`. For a `STOCKS_AND_SHARES_ISA`, set `is_flexible` to indicate whether the end user may replace withdrawals within the same tax year without using up their annual allowance. A tax wrapper stays inactive until the end user's tax residency has been confirmed, and the ISA account group cannot become `ACTIVE` until the tax wrapper does.

See the ISA tax wrapper integration guide ([TOL](https://docs.upvest.co/products/tol/guides/tax_wrappers/pension_de/tax_wrappers/pension_de_isa_integration) / [BYOL](https://docs.upvest.co/products/byol/guides/tax_wrappers/pension_de/tax_wrappers/pension_de_isa_integration)) for the onboarding and activation sequence.

## Headers

- `idempotency-key` string, uuid, required

## Request body

- object: Request body for creating an ISA tax wrapper on an account group.
  - `account_group_id` string, uuid, required: The ID of the account group to which the tax wrapper belongs.
  - `type` 'STOCKS_AND_SHARES_ISA', required: The kind of ISA that the tax wrapper represents. * STOCKS_AND_SHARES_ISA — A Stocks and Shares ISA.
  - `is_flexible` boolean, required: True if ISA is flexible.

## Response `200`

ISA tax wrapper created.

- object: An ISA tax wrapper, holding the business rules that apply to a tax-wrapped investment account group. The wrapper must be active before the ISA account group can become active.
  - `id` string, uuid, required: Tax wrapper unique identifier.
  - `created_at` string, date-time, required: The date and time the tax wrapper was created.
  - `updated_at` string, date-time, required: The date and time the tax wrapper was last updated.
  - `account_group_id` string, uuid, required: Account group unique identifier.
  - `is_flexible` boolean, required: True if tax wrapper is flexible.
  - `status` 'NEW' | 'ACTIVE' | 'INACTIVE' | 'CLOSED', required: Status of the tax wrapper * NEW - The tax wrapper is newly created and not yet active due to pending checks. * ACTIVE - The tax wrapper is currently active and in use. * INACTIVE - The tax wrapper is not currently active. New subscriptions not allowed. * CLOSED - The tax wrapper has been closed and is no longer available.
  - `type` 'STOCKS_AND_SHARES_ISA', required: The kind of ISA that the tax wrapper represents. * STOCKS_AND_SHARES_ISA — A Stocks and Shares ISA.

## Other responses

- `400`: Bad Request. The incoming request had a malformed parameter/object.
- `401`: Unauthorized. The caller has not been authenticated.
- `403`: Forbidden. The caller has been authenticated but is not allowed to take the requested action.
- `404`: Not Found. The requested resource could not be found.
- `406`: Not Acceptable. The resource does not have a current representation that would be acceptable to the user agent. "Accept" header defined unsupported value.
- `429`: Too Many Requests. The caller has exceeded their quota for the time period and has been throttled.
- `500`: Internal Server Error. The service encountered an unexpected error.
- `503`: Service Unavailable. The service handling for this request cannot be reached at this time.
- `504`: Gateway Timeout. The service gateway has reached its internal timeout.

## Changes

- **2026-10-23** `ca69534b631d`: 3 info
  - api operation id `create_isa_tax_wrapper` removed and replaced with `create_isa_wrapper`
  - api tag `ISA` added
  - api tag `Tax Wrappers` removed

[Operation history](https://skmtc.dev/upvest/apis/upvest-investment-api/changes/isa/wrappers/post.md)

---

[API](https://skmtc.dev/upvest/apis/upvest-investment-api.md) · [All operations](https://skmtc.dev/upvest/apis/upvest-investment-api/llms.txt) · [OpenAPI document](https://skmtc.dev/upvest/apis/upvest-investment-api/revisions/ca69534b631d?raw)
