---
title: "Create Tenant Registration"
method: POST
path: "/admin/tenant-registrations"
tags: ["Admin"]
---

# Create Tenant Registration

`POST /admin/tenant-registrations`

## Request body

- TenantRegistrationRequest
  - `tenantId` string, required
  - `partyId` string, required
  - `walletUrl` string, required
  - `clientId` string — Required when authMode is oauth2
  - `issuerUrl` string — Required when authMode is oauth2
  - `users` string[] — Required (non-empty) when authMode is shared-secret

## Response `201`

Registration created

- TenantRegistration
  - `tenantId` string, required — Tenant identifier
  - `partyId` string, required — Party identifier
  - `walletUrl` string, uri, required — Wallet URL for payment redirects
  - `clientId` string — OAuth2 client identifier
  - `issuerUrl` string, uri — Issuer URL
  - `internal` boolean, required — Internal registration
  - `users` string[]

## Other responses

- `400` — Invalid request
- `409` — Conflict with current state of the resource
- `500` — An internal server error occurred

## Changes

- **2026-07-17** `8821f8847f2c` — 4 breaking, 5 info
  - the response property `message` became nullable for the status `400`
  - the response property `message` became nullable for the status `409`
  - the response property `message` became nullable for the status `500`
  - removed the success response with the status `200`
  - …5 more
- **2025-09-08** `d2817b5018d3` — 1 warning, 3 info
  - removed the request property `internal`
  - added the media type `application/json` for the response with the status `400`
  - added the non-success response with the status `409`
  - added the non-success response with the status `500`
- **2025-06-30** `1134247b1d5b` — 2 breaking, 4 info
  - the response property `clientId` became optional for the status `200`
  - the response property `issuerUrl` became optional for the status `200`
  - added the new optional request property `users`
  - the request property `clientId` became optional
  - …2 more
- **2025-03-11** `57d33ddafbe9` — 10 breaking, 7 warning, 5 info
  - added the new required request property `issuerUrl`
  - added the new required request property `partyId`
  - added the new required request property `tenantId`
  - the request property `walletUrl` became required
  - …18 more
- **2025-02-18** `85e5af9982d5` — 1 info
  - endpoint added

[Full history](https://skmtc.dev/digital-asset/apis/backend-api/changes/admin/tenant-registrations/post.md)

---

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