---
title: "Add contacts (V2)"
method: POST
path: "/api/v2/files/sales/{saleGuid}/contacts"
tags: ["V2 Sale Contacts"]
---

# Add contacts (V2)

`POST /api/v2/files/sales/{saleGuid}/contacts`

Adds contacts to the sale, using V2 managed fields.

### Validation & Requirements
#### Required Parameters
- `saleGuid` (path, string, format=guid)
- `form` (body, object)

#### Required JSON Body Fields
- `sellers`
- `buyers`

#### 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.

## Path parameters

- `saleGuid` string, guid, required

## Request body

- AddContactsToSaleForm
  - `sellers` SellerDTO5[], required
    - `firstName` string, nullable
    - `lastName` string, nullable
    - `phoneNumber` string, nullable
    - `email` string, nullable
    - `company` string, nullable
    - `alternatePhone` string, nullable
    - `streetNumber` string, nullable
    - `streetName` string, nullable
    - `zip` string, nullable
    - `city` string, nullable
    - `state` string, nullable
    - `fax` string, nullable
    - `notes` string, nullable
    - `isTrustCompanyOrOtherEntity` boolean
  - `buyers` BuyerDTO2[], required
    - `firstName` string, nullable
    - `lastName` string, nullable
    - `phoneNumber` string, nullable
    - `email` string, nullable
    - `company` string, nullable
    - `alternatePhone` string, nullable
    - `streetNumber` string, nullable
    - `streetName` string, nullable
    - `zip` string, nullable
    - `city` string, nullable
    - `state` string, nullable
    - `fax` string, nullable
    - `notes` string, nullable
    - `isTrustCompanyOrOtherEntity` boolean
  - `titleContact` TitleContactDTO2
    - `firstName` string, nullable
    - `lastName` string, nullable
    - `phoneNumber` string, nullable
    - `email` string, nullable
    - `company` string, nullable
    - `alternatePhone` string, nullable
    - `streetNumber` string, nullable
    - `streetName` string, nullable
    - `zip` string, nullable
    - `city` string, nullable
    - `state` string, nullable
    - `fax` string, nullable
    - `notes` string, nullable
  - `escrowContact` EscrowContactDTO2
    - `firstName` string, nullable
    - `lastName` string, nullable
    - `phoneNumber` string, nullable
    - `email` string, nullable
    - `company` string, nullable
    - `alternatePhone` string, nullable
    - `notes` string, nullable
    - `streetNumber` string, nullable
    - `streetName` string, nullable
    - `zip` string, nullable
    - `city` string, nullable
    - `state` string, nullable
    - `fax` string, nullable
  - `attorneyContact` AttorneyContactDTO2[], nullable
    - `firstName` string, nullable
    - `lastName` string, nullable
    - `phoneNumber` string, nullable
    - `alternatePhone` string, nullable
    - `email` string, nullable
    - `company` string, nullable
    - `notes` string, nullable
    - `streetNumber` string, nullable
    - `streetName` string, nullable
    - `zip` string, nullable
    - `city` string, nullable
    - `state` string, nullable
    - `fax` string, nullable
  - `lenderContact` LenderContactDTO2
    - `firstName` string, nullable
    - `lastName` string, nullable
    - `phoneNumber` string, nullable
    - `alternatePhone` string, nullable
    - `email` string, nullable
    - `company` string, nullable
    - `streetNumber` string, nullable
    - `streetName` string, nullable
    - `zip` string, nullable
    - `city` string, nullable
    - `state` string, nullable
    - `fax` string, nullable
    - `notes` string, nullable
    - `isCashDeal` boolean
    - `loanTypeId` integer, nullable
    - `loanAmount` number, nullable
  - `otherSideAgentContact` OtherSideAgentContactDTO2
    - `firstName` string, nullable
    - `lastName` string, nullable
    - `phoneNumber` string, nullable
    - `email` string, nullable
    - `company` string, nullable
    - `alternatePhone` string, nullable
    - `streetNumber` string, nullable
    - `streetName` string, nullable
    - `zip` string, nullable
    - `city` string, nullable
    - `state` string, nullable
    - `fax` string, nullable
    - `brokerTaxId` string, nullable
    - `notes` string, nullable
  - `homeWarrantyContact` HomeWarrantyContactDTO5
    - `representativeName` string, nullable
    - `phoneNumber` string, nullable
    - `company` string, nullable
    - `confirmationNumber` string, nullable
    - `notes` string, nullable
  - `miscContact` MiscellaneousContactDTO5
    - `miscContactType` string, nullable
    - `firstName` string, nullable
    - `lastName` string, nullable
    - `phoneNumber` string, nullable
    - `email` string, nullable
    - `alternatePhone` string, nullable
    - `company` string, nullable
    - `streetNumber` string, nullable
    - `streetName` string, nullable
    - `zip` string, nullable
    - `city` string, nullable
    - `state` string, nullable
    - `fax` string, nullable
    - `notes` string, nullable

## Response `200`

- LinkedResponseOfAddContactsToSaleResponse
  - `value` AddContactsToSaleResponse
    - `saleGuid` string, guid
    - `newContacts` string[], nullable
  - `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)
