[PERS SDK - v2.3.26](/sdk-reference/readme) / [Exports](/sdk-reference/modules) / TenantApi

# Class: TenantApi

Platform-Agnostic Tenant API Client

Handles tenant and admin operations using the PERS backend.
Updated to match new RESTful tenant controller endpoints.

Note: Special header handling (bypass-auth-interceptor) should be handled by PersApiClient internally
or through endpoint-specific configuration.

## Table of contents

### Constructors

- [constructor](/sdk-reference/classes/tenantapi#constructor)


### Methods

- [getRemoteTenant](/sdk-reference/classes/tenantapi#getremotetenant)
- [getRemoteTenantPublic](/sdk-reference/classes/tenantapi#getremotetenantpublic)
- [getRemoteLoginToken](/sdk-reference/classes/tenantapi#getremotelogintoken)
- [getRemoteClientConfig](/sdk-reference/classes/tenantapi#getremoteclientconfig)
- [getPublicTenantById](/sdk-reference/classes/tenantapi#getpublictenantbyid)
- [getCurrentAdmin](/sdk-reference/classes/tenantapi#getcurrentadmin)
- [updateRemoteTenant](/sdk-reference/classes/tenantapi#updateremotetenant)
- [getAdmins](/sdk-reference/classes/tenantapi#getadmins)
- [postAdmin](/sdk-reference/classes/tenantapi#postadmin)
- [putAdmin](/sdk-reference/classes/tenantapi#putadmin)


## Constructors

### constructor

• **new TenantApi**(`apiClient`): [`TenantApi`](/sdk-reference/classes/tenantapi)

#### Parameters

| Name | Type |
|  --- | --- |
| `apiClient` | [`PersApiClient`](/sdk-reference/classes/persapiclient) |


#### Returns

[`TenantApi`](/sdk-reference/classes/tenantapi)

#### Defined in

[tenant/api/tenant-api.ts:23](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/tenant/api/tenant-api.ts#L23)

## Methods

### getRemoteTenant

▸ **getRemoteTenant**(): `Promise`<`TenantDTO`>

API KEY + ADMIN JWT: Get full tenant information including sensitive config
Uses /tenants/me endpoint with Admin JWT authentication

Requires: X-API-Key header + Authorization Bearer token (Admin JWT)
Returns: Full tenant information including allowedTokenIssuers and sensitive config

#### Returns

`Promise`<`TenantDTO`>

#### Defined in

[tenant/api/tenant-api.ts:39](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/tenant/api/tenant-api.ts#L39)

### getRemoteTenantPublic

▸ **getRemoteTenantPublic**(): `Promise`<`TenantPublicDTO`>

API KEY: Get current tenant public information
Uses /tenants/me endpoint with API key authentication

Requires: X-API-Key header (handled by PersApiClient)
Returns: Public tenant information (no sensitive config)

#### Returns

`Promise`<`TenantPublicDTO`>

#### Defined in

[tenant/api/tenant-api.ts:52](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/tenant/api/tenant-api.ts#L52)

### getRemoteLoginToken

▸ **getRemoteLoginToken**(): `Promise`<`string`>

API KEY: Get remote login token
UPDATED: Requires API key authentication

#### Returns

`Promise`<`string`>

#### Defined in

[tenant/api/tenant-api.ts:62](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/tenant/api/tenant-api.ts#L62)

### getRemoteClientConfig

▸ **getRemoteClientConfig**(): `Promise`<`TenantClientConfigDTO`>

API KEY: Get remote client configuration
UPDATED: Requires API key authentication

#### Returns

`Promise`<`TenantClientConfigDTO`>

#### Defined in

[tenant/api/tenant-api.ts:70](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/tenant/api/tenant-api.ts#L70)

### getPublicTenantById

▸ **getPublicTenantById**(`tenantId`): `Promise`<`TenantPublicDTO`>

PUBLIC: Get tenant public information by ID (no auth required)
NEW: For cases where you need public tenant info without API key

#### Parameters

| Name | Type | Description |
|  --- | --- | --- |
| `tenantId` | `string` | The tenant ID to retrieve public information for |


#### Returns

`Promise`<`TenantPublicDTO`>

#### Defined in

[tenant/api/tenant-api.ts:84](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/tenant/api/tenant-api.ts#L84)

### getCurrentAdmin

▸ **getCurrentAdmin**(): `Promise`<`AdminDTO`>

ADMIN: Get current admin info (tenant admin authentication required)

Endpoint: GET /admins/me
Auth: @Admin()

#### Returns

`Promise`<`AdminDTO`>

#### Defined in

[tenant/api/tenant-api.ts:99](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/tenant/api/tenant-api.ts#L99)

### updateRemoteTenant

▸ **updateRemoteTenant**(`tenantData`): `Promise`<`TenantDTO`>

ADMIN: Update tenant information
UPDATED: Uses PUT /tenants (admin endpoint)
Returns full TenantDTO including sensitive config

#### Parameters

| Name | Type |
|  --- | --- |
| `tenantData` | `TenantUpdateRequestDTO` |


#### Returns

`Promise`<`TenantDTO`>

#### Defined in

[tenant/api/tenant-api.ts:108](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/tenant/api/tenant-api.ts#L108)

### getAdmins

▸ **getAdmins**(`options?`): `Promise`<`PaginatedResponseDTO`<`AdminDTO`>>

ADMIN: Get all tenant admins

#### Parameters

| Name | Type | Description |
|  --- | --- | --- |
| `options?` | `PaginationOptions` | Pagination options (page, limit, sortBy, sortOrder) |


#### Returns

`Promise`<`PaginatedResponseDTO`<`AdminDTO`>>

Paginated response with tenant admins

#### Defined in

[tenant/api/tenant-api.ts:118](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/tenant/api/tenant-api.ts#L118)

### postAdmin

▸ **postAdmin**(`adminData`): `Promise`<`AdminDTO`>

ADMIN: Create new admin

#### Parameters

| Name | Type |
|  --- | --- |
| `adminData` | `AdminCreateRequestDTO` |


#### Returns

`Promise`<`AdminDTO`>

#### Defined in

[tenant/api/tenant-api.ts:127](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/tenant/api/tenant-api.ts#L127)

### putAdmin

▸ **putAdmin**(`adminId`, `adminData`): `Promise`<`AdminDTO`>

ADMIN: Update admin (toggle tenant association)

#### Parameters

| Name | Type |
|  --- | --- |
| `adminId` | `string` |
| `adminData` | `AdminCreateRequestDTO` |


#### Returns

`Promise`<`AdminDTO`>

#### Defined in

[tenant/api/tenant-api.ts:134](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/tenant/api/tenant-api.ts#L134)