# Webiny API Tenancy Catalog

API, Tenancy, 17 abstractions.

- Repository: https://github.com/webiny/webiny-js (8051 stars)
- Category: Engineering
- License: see repository
- Last updated: 2026-10-30
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add webiny/webiny-js --skill webiny-api-tenancy-catalog -g -a claude-code -y`
Codex: `npx skills add webiny/webiny-js --skill webiny-api-tenancy-catalog -g -a codex -y`
Cursor: `npx skills add webiny/webiny-js --skill webiny-api-tenancy-catalog -g -a cursor -y`
Gemini CLI: `npx skills add webiny/webiny-js --skill webiny-api-tenancy-catalog -g -a gemini-cli -y`

## Description

API, Tenancy, 17 abstractions. Tenant lifecycle and installation event handlers and use cases.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# API, Tenancy

Tenant lifecycle and installation event handlers and use cases.

## How to Use

1. Find the abstraction you need below
2. You MUST read the source file to get the exact interface and types!
3. Import: `import { Name } from "<importPath>";`
4. See `webiny-use-case-pattern` or `webiny-event-handler-pattern` skills for implementation patterns

## Abstractions

---

**Name:** `AppInstaller`
**Import:** `import { AppInstaller } from "webiny/api/tenancy"`
**Source:** `@webiny/api-core/features/tenancy/InstallTenant/index.ts`
**Description:** Install an application on a tenant with rollback support.

---

**Name:** `CreateTenantRepository`
**Import:** `import { CreateTenantRepository } from "webiny/api/tenancy"`
**Source:** `@webiny/api-core/features/tenancy/CreateTenant/index.ts`
**Description:** Persist a newly created tenant.

---

**Name:** `CreateTenantUseCase`
**Import:** `import { CreateTenantUseCase } from "webiny/api/tenancy"`
**Source:** `@webiny/api-core/features/tenancy/CreateTenant/index.ts`
**Description:** Create a new tenant.

---

**Name:** `DeleteTenantRepository`
**Import:** `import { DeleteTenantRepository } from "webiny/api/tenancy"`
**Source:** `@webiny/api-core/features/tenancy/DeleteTenant/index.ts`
**Description:** Persist tenant deletion.

---

**Name:** `DeleteTenantUseCase`
**Import:** `import { DeleteTenantUseCase } from "webiny/api/tenancy"`
**Source:** `@webiny/api-core/features/tenancy/DeleteTenant/index.ts`
**Description:** Delete a tenant.

---

**Name:** `GetTenantByIdUseCase`
**Import:** `import { GetTenantByIdUseCase } from "webiny/api/tenancy"`
**Source:** `@webiny/api-core/features/tenancy/GetTenantById/index.ts`
**Description:** Retrieve a tenant by its ID.

---

**Name:** `InstallTenantUseCase`
**Import:** `import { InstallTenantUseCase } from "webiny/api/tenancy"`
**Source:** `@webiny/api-core/features/tenancy/InstallTenant/index.ts`
**Description:** Run all app installers for a tenant.

---

The rest: https://github.com/webiny/webiny-js/blob/HEAD/skills/user-skills/generated/api/tenancy/SKILL.md
