to navigate · to open See all results
POST /api/v1/people

Create a person

Create a new person in your organization.

Last updated

Request

POST /api/v1/people

Requires people:create. See token permissions. Every listed permission is required for this endpoint.

Send Authorization: Bearer YOUR_API_TOKEN and Accept: application/json. Send request bodies as JSON with Content-Type: application/json.

Request body

Field Type Usage
first_name string Required on creation. Up to 255 characters; cannot be empty when supplied.
last_name string Required on creation. Up to 255 characters; cannot be empty when supplied.
email string or null Optional. Valid email address, up to 255 characters.
title string or null Optional. Job title, up to 255 characters.
department string or null Optional. Up to 255 characters.
phone_number string or null Optional. Up to 255 characters.
is_external boolean Optional. Whether this person belongs to an external organization.
organization string or null Optional. Up to 255 characters; used when is_external is true.

Fetch available values before choosing IDs. IDs and required fields vary by organization.

Example

Set ASSETCENTER_API_TOKEN as described in the quick start. Replace example record and option IDs with values from your organization.

cURL / Bash
curl --request POST "https://my.assetcenter.app/api/v1/people" \
  --header "Authorization: Bearer $ASSETCENTER_API_TOKEN" \
  --header "Accept: application/json" \
  --header "Content-Type: application/json" \
  --data '{"first_name":"Alex","last_name":"Morgan","email":"[email protected]"}'

Response

201 Created. Example response; IDs, values, and timestamps will differ in your organization.

JSON
{
  "data": {
    "id": 123,
    "first_name": "Alex",
    "last_name": "Morgan",
    "email": "[email protected]",
    "title": null,
    "department": null,
    "phone_number": null,
    "is_external": false,
    "organization": null,
    "status": "active",
    "created_at": "2026-09-07T16:00:00.000000Z",
    "updated_at": "2026-09-07T16:00:00.000000Z"
  }
}

Behavior and constraints

Required: first_name and last_name. Creation respects plan limits. Use only the fields listed here; assignments, status, IDs, timestamps, and file uploads are not writable through this endpoint. Each successful POST creates a new record. Inventory creation has no idempotency replay protection.

Errors

401 means the token is missing, expired, revoked, or not a customer API token. 403 means a required permission or administrator access is missing. 422 identifies invalid or unsupported input; inspect the errors object when present. 409 indicates a conflicting state or concurrent change; inspect the message and refresh the record before deciding how to proceed. 429 means a rate limit was reached. See error handling and rate limits.