---
search:
  tags:
    - People
    - POST
seo:
  description: >-
    Create one or more people. Batch-first: always pass a people array (use a
    single-element array to… Reference for the POST /people endpoint in the
    Modem API.
sidebar:
  label: Create people
  badge: POST
title: Create people
type: openapi-operation
---
Create one or more people. Batch-first: always pass a `people` array (use a single-element array to create one person). Supports partial success - each person is created independently.

`POST /people`

**Request body** (`application/json`, required)

- `people` (object[], required)

Request body example:

```json
{
  "people": [
    {
      "avatarUrl": "http://example.com",
      "connections": {
        "github": "string",
        "linkedin": "string",
        "phone": "string",
        "title": "string",
        "twitter": "string",
        "website": "string"
      },
      "description": "string",
      "displayName": "string",
      "isVip": true,
      "primaryEmail": "user@example.com"
    }
  ]
}
```

**Responses**

- `200` — OK
- `400` — Invalid request (validation failed).
- `401` — Missing or invalid API key.
- `403` — The API key does not have access to this resource.
- `404` — The requested resource was not found.
- `409` — The request conflicts with an existing resource or idempotency operation.
- `429` — Rate limit exceeded.
- `500` — Internal server error.

Response example, 200:

```json
{
  "results": [
    {
      "data": {
        "avatarUrl": "http://example.com",
        "connections": {
          "github": "string",
          "linkedin": "string",
          "phone": "string",
          "title": "string",
          "twitter": "string",
          "website": "string"
        },
        "description": "string",
        "displayName": "string",
        "id": "string",
        "isVip": true,
        "primaryEmail": "user@example.com"
      },
      "displayName": "string",
      "error": "string",
      "success": true
    }
  ]
}
```
