---
title: "POST /v2/agent-onboarding"
method: POST
path: "/v2/agent-onboarding"
tags: ["agent-onboarding-v2"]
---

# POST /v2/agent-onboarding

`POST /v2/agent-onboarding`

## Request

- Base URL: `https://api.tracklysms.com/api`
- URL: `https://api.tracklysms.com/api/v2/agent-onboarding`
- Auth: none required

## Request body

- AgentOnboardingCreate
  - `email` string, required: Email to verify during browser signup
  - `name` string, required: Name of the new business account

## Response `201`

Inert enrollment intent created; no account, email or API key created

- AgentOnboardingCreateResponse
  - `onboarding` AgentOnboardingStatus, required
    - `account_id` integer, nullable: New account identifier after completion; otherwise null
    - `expires_at` string, date-time, required: UTC confirmation deadline
    - `id` string, required: 32-character enrollment identifier
    - `name` string, required
    - `next_step` 'complete_signup' | 'configure_api_key', required
    - `status` 'pending' | 'completed' | 'expired', required
  - `poll_token` string, required: Status-only capability; never a login or sending credential
  - `verification_url` string, required: Trackly page with a status capability in its fragment

## Other responses

- `400`: Invalid name or email
- `429`: Enrollment limit reached; see Retry-After
- `503`: Parent configuration or enrollment authority unavailable

---

[API](https://skmtc.dev/tracklysms/apis/trackly-sms-api.md) · [All operations](https://skmtc.dev/tracklysms/apis/trackly-sms-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tracklysms/apis/trackly-sms-api/revisions/ac1ad22cb2a9?raw)
