---
title: "Create contact"
method: POST
path: "/api/contacts"
tags: ["Contacts"]
---

# Create contact

`POST /api/contacts`

Create a new directory contact. firstName, lastName, and email are required. If isShared is true, the current user must be a broker.

### Validation & Requirements
#### Required Parameters
- `form` (body, object)

#### Required JSON Body Fields
- `firstName` (minLength=1, maxLength=100)
- `lastName` (minLength=1, maxLength=100)
- `email` (format=email, minLength=1, maxLength=100)

#### Validations
- Invalid GUID values in `*Guid`/`*Guids` fields return `422 Unprocessable Entity`.
- Invalid date values in `*date*` fields return `422 Unprocessable Entity`.
- Missing required request body returns `422 Unprocessable Entity` with `Missing request body.`.
- Additional business-rule validation may return `422` with details in the `errors` array.

## Request body

- DirectoryContactForm
  - `firstName` string, required
  - `lastName` string, required
  - `company` string, nullable
  - `email` string, email, required
  - `streetNumber` string, nullable
  - `streetName` string, nullable
  - `zip` string, nullable
  - `city` string, nullable
  - `state` string, nullable
  - `phone` string, phone, nullable
  - `alternatePhone` string, phone, nullable
  - `fax` string, phone, nullable
  - `isShared` boolean, nullable — Only broker users can share their contacts with other users
  - `isCompany` boolean, nullable

## Response `200`

- LinkedResponseOfCreateDirectoryContactResponse
  - `value` CreateDirectoryContactResponse
    - `contactGuid` string, guid
    - `firstName` string, nullable
    - `lastName` string, nullable
    - `company` string, nullable
    - `email` string, nullable
    - `streetNumber` string, nullable
    - `streetName` string, nullable
    - `zip` string, nullable
    - `city` string, nullable
    - `state` string, nullable
    - `phone` string, nullable
    - `alternatePhone` string, nullable
    - `fax` string, nullable
    - `isShared` boolean
    - `isCompany` boolean
  - `warnings` string[], nullable
  - `links` Link[], nullable
    - `href` string, nullable
    - `rel` string, nullable
    - `method` string, nullable

## Other responses

- `404`
- `422`

---

[API](https://skmtc.net/skyslope/apis/skyslope-api.md) · [All operations](https://skmtc.net/skyslope/apis/skyslope-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/skyslope/skyslope-api/revisions/bad0d2db9b7a/schema)
