---
title: "Import People"
method: POST
path: "/v1/people/import"
tags: ["people"]
---

# Import People

`POST /v1/people/import`

Import people records from a CSV file.

Expected columns: name, email, phone, job_title, department, seniority_level, type.
Each row needs at least a name or an email. Rows are matched against existing
people by email (per-workspace), so re-importing enriches instead of duplicating.
Optional group_ids are assigned additively to every imported row.

seniority_level: a label (IC, Manager, Senior Manager, Director, VP, C-Level)
or any custom label; bare numbers 1..6 are still accepted for back-compat.
type: internal or external (omit to auto-classify by email domain).

Supports CSV and TSV. Max file size: 5MB. Max people: 10,000.

## Query parameters

- `workspace_id` string, uuid, required
- `group_ids` string[]

## Headers

- `X-API-Key` string, nullable

## Response `200`

Successful Response

- PeopleImportResult
  - `imported` integer, required
  - `updated` integer, required
  - `skipped` integer, required
  - `errors` string[]

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/ontora/apis/ontora-api.md) · [All operations](https://skmtc.dev/ontora/apis/ontora-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ontora/ontora-api/revisions/7f57037fd94b/schema)
