---
title: "Create Treasury Mandate"
method: POST
path: "/accounts/{account_id}/treasury_mandates"
tags: ["Treasury Mandates"]
---

# Create Treasury Mandate

`POST /accounts/{account_id}/treasury_mandates`

## Request

- Base URL: `https://sandbox.api.lemon.markets/v1`
- URL: `https://sandbox.api.lemon.markets/v1/accounts/{account_id}/treasury_mandates`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/lemon/apis/lemon-markets-brokerage-api/docs/accounts/:account_id/treasury_mandates/post.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `account_id` string, required

## Headers

- `LMG-Data-Privacy-Access-Principal` string, required
- `LMG-Data-Privacy-Access-Justification` string, required

## Request body

- CreateTreasuryMandateRequest: An object representing a treasury mandate to be created.
  - `instrument` string, required: An ISIN (International Securities Identification Number) according to ISO 6166. This value uniquely identifies the instrument to be bought/sold via the mandate.
  - `widget_styling` unknown
  - `redirect_success` string, required: The redirect target that will be opened after successful acceptance of a mandate.
  - `redirect_failure` string, required: The redirect target that will be opened after failure to accept a mandate.

## Response `201`

Successful Response

- TreasuryMandateCreationResponse: An object representing a treasury mandate.
  - `id` string, required: An identifier for the treasury mandate.
  - `instrument` string, required: An ISIN (International Securities Identification Number) according to ISO 6166. This value uniquely identifies the instrument to be bought/sold via the mandate.
  - `widget_styling` unknown
  - `redirect_success` string, required: The redirect target that will be opened after successful acceptance of a mandate.
  - `redirect_failure` string, required: The redirect target that will be opened after failure to accept a mandate.
  - `widget_url` string, uri, required: A web URL. Use this URL to present the user flow for mandate acceptance.
  - `history` StatusChangeTreasuryMandateStatus[], required
    - `status` 'accepted' | 'canceled' | 'canceling' | 'confirmed' | 'created' | 'rejected', required: A category representing the status of a treasury mandate: <ul> <li><code>accepted</code> <li><code>canceled</code> <li><code>canceling</code> <li><code>confirmed</code> <li><code>created</code> <li><code>rejected</code> </ul>
    - `timestamp` string, date-time, required: The timestamp of the event. It represents the point in time at which the treasury mandate was updated.

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `404`: Not Found
- `422`: Unprocessable Entity
- `5XX`: Server Error

---

[API](https://skmtc.dev/lemon/apis/lemon-markets-brokerage-api.md) - [All operations](https://skmtc.dev/lemon/apis/lemon-markets-brokerage-api/llms.txt) - [OpenAPI document](https://skmtc.dev/lemon/apis/lemon-markets-brokerage-api/revisions/1f1df208c0e4?raw)
