# Partner workspaces

Source: https://kirora.io/docs/guides/account/partner-workspaces

Run a Kirora workspace for each of your own customers, watch their sending and suspend one when you need to.

A partner workspace belongs to a platform that offers messaging to its own customers. Your product creates a separate Kirora workspace for each customer, which the dashboard calls a tenant, and your team watches all of them from one place.

Available on Enterprise. Partner status is set up by Kirora for your workspace as part of an Enterprise agreement; it isn't self-serve. Contact us at hello@kirora.io.

## How partner workspaces work

- **Your platform creates the tenants.** Your server creates a workspace for each customer through the API with a partner key, giving it your own ID for that customer. The dashboard has no button to create one. See [Create a workspace](https://kirora.io/docs/api/reference/createWorkspace).
- **Each tenant is a full workspace.** It has its own contacts, sending domains, templates, campaigns, settings and unsubscribes, and shares bounce and complaint protection with your other tenants, as any one owner's workspaces do. See [What's shared](https://kirora.io/docs/guides/account/workspaces#whats-shared).
- **Each tenant has its own sending profile.** Kirora reviews each new sending domain before it sends, using the tenant's `website`, `mailKind` and `contactOptIn`. Set them through the API when you [create](https://kirora.io/docs/api/reference/createWorkspace) or [update](https://kirora.io/docs/api/reference/updateWorkspace) the tenant. A tenant's page shows them under **Sending profile**.
- **Your customers work in your product.** Tenants have no members of their own. Your product reaches each one through the API with your partner key, and can show Kirora's email and segment builders inside your app. The embedded builders are in preview; see [React builders](https://kirora.io/docs/sdks/react).
- **You're billed for them.** Tenants are billed to the owner of your partner workspace.

## Who can manage tenants

Admins and the owner of the partner workspace see **Tenants**, under **Partner** in the main menu, and can create partner keys. Members, authors, developers and viewers can't see tenants.

## Create a partner key

1. Go to **Developer**, open **API keys** and choose **New partner key**.
2. Tick what your server needs: **Manage tenants** to create, rename, suspend and resume them, **Open the builders** to start builder sessions, and the permissions to save and read email designs and segments.
3. Under **Builder websites**, add the sites that will show the builders, such as *https://app.example.com*. Without one, no builder session starts. Optionally, list **Allowed addresses**: the IP addresses your server calls from.
4. Copy the key. It's shown once. Keep it in your server's configuration: a partner key acts for every tenant, and a request from a browser is refused.

## See how your tenants are sending

**Tenants** lists every tenant, newest first, with this month's sending:

- **Status:** **Active**, **Suspended** or **Being deleted**.
- **Sending domain:** the state of its best sending domain, or **None**.
- **Sent this month:** the emails and push notifications it sent.
- **Bounces** and **Complaints:** this month's bounce and complaint rates.
- **Last sent:** when it last sent anything.

Search by name or ID, or choose **Needs attention** under **Show** to see only tenants whose marketing email is paused, or whose bounce or complaint rate this month has reached the level that pauses marketing email. Use it to act before one customer's complaints affect the others.

Open a tenant to see its details, sending domains, recent campaigns and a **Performance** report for any date range.

## Suspend a tenant

To stop everything a tenant sends, for example while you investigate complaints or an unpaid account, open it and choose **Suspend**, then **Suspend tenant**. Its sends are refused, and anything queued or scheduled is skipped. Its data is kept.

To let it send again, choose **Resume**, then **Resume tenant**. Messages skipped while it was suspended aren't resent.

Your server can do the same through the API with [Suspend a workspace](https://kirora.io/docs/api/reference/suspendWorkspace) and [Resume a workspace](https://kirora.io/docs/api/reference/resumeWorkspace).

## View a tenant's workspace

To see exactly what a customer has set up, open the tenant and choose **View workspace**. The dashboard switches into their workspace, read-only, and a banner on every page says so. Nothing can be changed. Choose **Back to** your workspace's name in the banner to leave. Each view is recorded in the [audit log](https://kirora.io/docs/guides/account/audit-log).

## Notifications from tenants

A tenant has no members to tell, so its notifications, such as a paused marketing email or a disabled webhook, go to the partner workspace's admins and owner instead. Each one starts with the tenant's name and ID and links to the tenant's page. See [Notifications and alerts](https://kirora.io/docs/guides/account/notifications).

## Delete a tenant

Your server deletes a tenant through the API with [Delete a workspace](https://kirora.io/docs/api/reference/deleteWorkspace). Its sending stops at once and it shows as **Being deleted**. After a grace period, 14 days by default, it's deleted for good with everything in it. Until then, [Cancel a workspace deletion](https://kirora.io/docs/api/reference/cancelWorkspaceDeletion) keeps it.

## Next steps

- [Workspaces](https://kirora.io/docs/guides/account/workspaces): what each workspace keeps separate
- [React builders](https://kirora.io/docs/sdks/react): embed the email and segment builders in your product (preview)
- [Authentication](https://kirora.io/docs/api/reference/authentication): partner keys and the `Kirora-Workspace` header
- [Plans and billing](https://kirora.io/docs/guides/account/plans-and-billing): Enterprise and how billing works