---
title: "Instant tenant + agent + API key provisioning (sandbox)"
method: POST
path: "/v1/onboarding/instant"
tags: ["Onboarding"]
---

# Instant tenant + agent + API key provisioning (sandbox)

`POST /v1/onboarding/instant`

## Request

- Base URL: `https://api.thrd.email`
- URL: `https://api.thrd.email/v1/onboarding/instant`
- Auth: none declared

Public self-serve bootstrap endpoint. Returns API key once. Persist it securely because it cannot be recovered later.

## Request body

- object
  - `tenant_name` string: Optional tenant display name. If omitted or blank, server autogenerates one.
  - `agent_name` string, required: Required sender display name (used in the From header).
  - `contact_email` string, email
  - `inbox_prefix` string: Optional local-part base chosen by the agent. Server appends '-<4 alphanumeric>' to avoid duplicates.
  - `source` 'human' | 'agent'
  - `product_updates_consent` boolean: Records onboarding intent only and requires contact_email. Commercial consent remains disabled until a later verified human action.
  - `challenge_token` string: Opaque provider-neutral challenge response when adaptive onboarding risk checks request one.

## Response `201`

Provisioned instantly

## Other responses

- `400`: Invalid request body
- `403`: Instant onboarding disabled or an adaptive challenge is required
- `429`: Rate limited
- `503`: Risk assessment unavailable

---

[API](https://skmtc.dev/thrd/apis/thrd-agent-email-api.md) · [All operations](https://skmtc.dev/thrd/apis/thrd-agent-email-api/llms.txt) · [OpenAPI document](https://skmtc.dev/thrd/apis/thrd-agent-email-api/revisions/d8a88129cd34?raw)
