---
title: "Create wallet"
method: POST
path: "/api/v1/wallets/generate"
tags: ["wallets"]
---

# Create wallet

`POST /api/v1/wallets/generate`

Generate a new wallet for the given reference and network. Requires wallet/address policy.

## Headers

- `x-sdk-version` string, required

## Request body

- CreateWalletRequestBodyDTO
  - `reference` string, required
  - `networkId` string, required

## Response `201`

Wallet created

- CreateWalletResponseBodyDTO
  - `data` CreateWalletDataDTO, required
    - `id` string, uuid, required — Wallet UUID
    - `reference` string, required — Profile reference that owns this wallet
    - `networkId` string, uuid, required — Network UUID
    - `type` string, required — Profile type (User | Department | Merchant)
    - `date` string, date-time — Wallet creation timestamp

## Other responses

- `400` — Bad request or validation failed. **Applicable error codes and client messages** The response body contains one of the following error codes and the corresponding client-facing message. | Code | Client message | |------|----------------| | ERR-010 | The request could not be processed. |
- `401` — Unauthorized – invalid or missing token. **Applicable error codes and client messages** The response body contains one of the following error codes and the corresponding client-facing message. | Code | Client message | |------|----------------| | ERR-008 | You need to sign in to continue. | | ERR-011 | Your session is invalid or expired. Please sign in again. |
- `403` — Forbidden – insufficient permissions. **Applicable error codes and client messages** The response body contains one of the following error codes and the corresponding client-facing message. | Code | Client message | |------|----------------| | ERR-009 | You don't have permission to do that. | | ERR-410 | Error occurred |
- `500` — Internal server error. **Applicable error codes and client messages** The response body contains one of the following error codes and the corresponding client-facing message. | Code | Client message | |------|----------------| | ERR-019 | Something went wrong on our side. | | ERR-999 | An unexpected error occurred. Please try again. |

## Changes

- **2026-05-06** `2154835230b5` — 1 info
  - added the required property `data/allOf[#/components/schemas/CreateWalletDataDTO]/id` to the response with the `201` status
- **2026-04-21** `bdac7e47d1c2` — 29 warning
  - removed the optional property `data/allOf[#/components/schemas/CreateWalletDataDTO]/path` from the response with the `201` status
  - added the new `ERR_147` enum value to the `allOf[#/components/schemas/ApiErrorResponseDto]/code` response property for the response status `400`
  - added the new `ERR_147` enum value to the `allOf[#/components/schemas/ApiErrorResponseDto]/code` response property for the response status `401`
  - added the new `ERR_147` enum value to the `allOf[#/components/schemas/ApiErrorResponseDto]/code` response property for the response status `403`
  - …25 more
- **2026-03-13** `86f37d72f0a0` — 24 breaking, 21 warning, 11 info
  - added the new required request property `networkId`
  - the `header` request parameter `x-sdk-version` became required
  - the response's body type/format changed from `object`/`` to ``/`` for status `400`
  - the response's body type/format changed from `object`/`` to ``/`` for status `401`
  - …52 more
- …earlier changes not shown

[Full history](https://skmtc.dev/oumla/apis/oumla-core-server/changes/api/v1/wallets/generate/post.md)

---

[API](https://skmtc.dev/oumla/apis/oumla-core-server.md) · [All operations](https://skmtc.dev/oumla/apis/oumla-core-server/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/oumla/oumla-core-server/revisions/2154835230b5/schema)
