---
title: "POST /api/utilities/v0/registry/burn/v0/request"
method: POST
path: "/api/utilities/v0/registry/burn/v0/request"
tags: ["registry"]
---

# POST /api/utilities/v0/registry/burn/v0/request

`POST /api/utilities/v0/registry/burn/v0/request`

Get the factory and choice context for creating a burn request.

## Request body

- RequestBurnRequest — The request to get the factory and choice context for creating a burn request.
  - `holder` string, required — The party whose holding will be burned.
  - `holdingContractIds` string[], required — Contract ids of Holdings to be used for the burn.
  - `instrumentId` InstrumentId, required — The identifier of the instrument.
    - `admin` string, required — The party administering the instrument.
    - `id` string, required — The unique identifier of the instrument.

## Response `200`

ok

- FactoryWithChoiceContext — A factory contract together with the choice context required to exercise the choice provided by the factory. Typically used to implement the generic initiation of on-ledger workflows via a Daml interface. Clients SHOULD avoid reusing the same `FactoryWithChoiceContext` for exercising multiple choices, as the choice context MAY be specific to the choice being exercised.
  - `factoryId` string, required — The contract ID of the contract of the factory which can be used to create instruction.
  - `choiceContext` ChoiceContext, required — The context required to exercise a choice on a contract via an interface. Used to retrieve additional reference date that is passed in via disclosed contracts, which are in turn referred to via their contract ID in the `choiceContextData`.
    - `choiceContextData` object, required — The additional data to use when exercising the choice.
    - `disclosedContracts` DisclosedContract[], required — The contracts that are required to be disclosed to the participant node for exercising the choice.
      - `createdAt` string, date-time
      - `contractId` string, required
      - `templateId` string, required
      - `synchronizerId` string — Preferred synchronizer identifier for disclosed contracts and contract metadata.
      - `domainId` string — Deprecated alias of synchronizerId kept for backward compatibility.
      - `createdEventBlob` string, required — The base64 encoded created event blob

## Other responses

- `400` — bad request
- `404` — not found
- `500` — Internal server error

---

[API](https://skmtc.dev/digital-asset/apis/utilities-api.md) · [All operations](https://skmtc.dev/digital-asset/apis/utilities-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/digital-asset/utilities-api/revisions/f494bf184095/schema)
