---
title: "Create a new Client"
method: POST
path: "/v2/clients"
tags: ["Clients"]
---

# Create a new Client

`POST /v2/clients`

> **Beta:** This endpoint is subject to change and may contain bugs. Breaking changes may occur without notice.

Creates a new client and returns the created client object. Either `email` or `primaryPhone` must be provided. The client's service location is created from `addressDetails`. Optionally accepts a billing address, an ad group, a parent client, tax exemption details, and custom field values.

## Headers

- `Authorization` string, required

## Request body

- CreateClientV2Dto
  - `firstName` string, required — The first name of the client.
  - `lastName` string — The last name of the client.
  - `companyName` string — The company name of the client.
  - `email` string — The email address of the client. Either email or primaryPhone must be provided.
  - `primaryExt` string — The extension number for the primary phone number.
  - `primaryPhone` string — The primary phone number of the client. Either email or primaryPhone must be provided.
  - `secondaryExt` string — The extension number for the secondary phone number.
  - `secondaryPhone` string — The secondary phone number of the client.
  - `addressDetails` CreateClientAddressDetailsV2Dto
    - `country` string — The country of the address.
    - `state` string — The state of the address.
    - `city` string — The city of the address.
    - `zipCode` string — The ZIP code of the address.
    - `address` string — The street address.
    - `unit` string — The unit or suite number.
  - `billingAddressDetails` CreateClientAddressDetailsV2Dto
    - `country` string — The country of the address.
    - `state` string — The state of the address.
    - `city` string — The city of the address.
    - `zipCode` string — The ZIP code of the address.
    - `address` string — The street address.
    - `unit` string — The unit or suite number.
  - `adGroupId` string — The ID of the ad group (prefix `AG-`).
  - `allowBilling` boolean — Whether the client allows billing. Defaults to the account-level setting when omitted.
  - `parentClientId` string — The ID of the parent client (prefix `CL-`). The created client is set as a sub-client of it.
  - `taxExempt` boolean — Whether the client is tax exempt.
  - `taxExemptReason` '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11' | '12' | '13' | '14' | '15' | '99' — The tax exemption reason code. Can only be provided when taxExempt is true; defaults to `99` (Other) when taxExempt is true and no reason is provided. Allowed values: `1` = Federal Government, `2` = State Government, `3` = Local Government, `4` = Tribal Government, `5` = Charitable Organization, `6` = Religious Organization, `7` = Educational Organization, `8` = Hospital, `9` = Resale, `10` = Direct Pay Permit, `11` = Multiple Points Of Use, `12` = Direct Mail, `13` = Agricultural Production, `14` = Industrial Production / Manufacturing, `15` = Foreign Diplomat, `99` = Other.
  - `description` string — The description of the client.
  - `customFields` CustomFieldValueV2Dto[] — The custom fields of the client.
    - `id` string, required — The ID of the custom field (prefix `CF-`).
    - `value` union, required — The value of the custom field.
      - string
      - number
      - boolean

## Response `201`

The created client.

- ResponseClientV2Dto
  - `id` string — The ID of the client (prefix `CL-`).
  - `serialId` number — The serial ID of the client.
  - `firstName` string — The first name of the client.
  - `lastName` string — The last name of the client.
  - `fullName` string — The full name of the client.
  - `companyName` string — The company name of the client.
  - `email` string — The email address of the client.
  - `primaryExt` string — The primary phone extension of the client.
  - `primaryPhone` string — The primary phone of the client.
  - `secondaryExt` string — The secondary phone extension of the client.
  - `secondaryPhone` string — The secondary phone of the client.
  - `country` string — The country of the client.
  - `state` string — The state of the client.
  - `city` string — The city of the client.
  - `zipcode` string — The zipcode of the client.
  - `unit` string — The unit of the client.
  - `address` string — The address of the client.
  - `serviceAddress` string — The service address of the client.
  - `billingAddress` string — The billing address of the client.
  - `allowBilling` boolean — Whether the client allows billing.
  - `adGroup` ResponseGenericAdGroupV2Dto
    - `id` string — The ID of the ad group (prefix `AG-`).
    - `name` string — The name of the ad group.
  - `tags` ResponseOneTagV2Dto[] — The tags of the client.
    - `id` string — The ID of the tag (prefix `TAG-`).
    - `name` string — The name of the tag.
    - `color` string — The color of the tag.
  - `parentClient` ResponseOneBaseClientV2Dto
    - `id` string — The ID of the client (prefix `CL-`).
    - `serialId` number — The serial ID of the client.
    - `firstName` string — The first name of the client.
    - `lastName` string — The last name of the client.
    - `fullName` string — The full name of the client.
    - `companyName` string — The company name of the client.
    - `email` string — The email address of the client.
    - `primaryExt` string — The primary phone extension of the client.
    - `primaryPhone` string — The primary phone of the client.
    - `secondaryExt` string — The secondary phone extension of the client.
    - `secondaryPhone` string — The secondary phone of the client.
    - `country` string — The country of the client.
    - `state` string — The state of the client.
    - `city` string — The city of the client.
    - `zipcode` string — The zipcode of the client.
    - `unit` string — The unit of the client.
    - `address` string — The address of the client.
    - `serviceAddress` string — The service address of the client.
    - `billingAddress` string — The billing address of the client.
    - `allowBilling` boolean — Whether the client allows billing.
  - `clientContacts` ResponseOneClientContactV2Dto[] — The contacts of the client.
    - `id` string — The ID of the client contact (prefix `CLC-`).
    - `firstName` string — The first name of the contact.
    - `lastName` string — The last name of the contact.
    - `fullName` string — The full name of the contact.
    - `email` string — The email address of the contact.
    - `primaryPhone` string — The primary phone number of the contact.
    - `secondaryPhone` string — The secondary phone number of the contact.
    - `country` string — The country of the contact.
    - `state` string — The state of the contact.
    - `city` string — The city of the contact.
    - `zipcode` string — The zip code of the contact.
    - `address` string — The address of the contact.
    - `role` string — The job title or role of the contact.
    - `note` string — A free-text note about the contact.
  - `notes` ResponseOneClientNoteV2Dto[] — The notes of the client.
    - `id` string — The ID of the client note (prefix `CLN-`).
    - `note` string — The note content.
    - `techName` string — The name of the user who created the note.
    - `createdAt` string, date-time — The date and time the note was created.
  - `customFields` ResponseGenericCustomFieldV2Dto[] — A list of Client Custom Fields.
    - `id` string — The ID of the custom field (prefix `CF-`).
    - `fieldName` string — The name of the custom field.
    - `value` union — The value of the custom field. Can be string, number, boolean, date string, or an array of file objects.
      - string — A string value.
      - number — A number value.
      - boolean — A boolean value.
      - object[]
        - `name` string — The name of the file.
        - `url` string — The URL of the file.
  - `created` string — The creation date of the client.

## Other responses

- `400` — Validation error (e.g. both email and primaryPhone are missing, or invalid custom field values).
- `401` — Missing or invalid authentication token.
- `404` — The provided ad group ID or parent client ID was not found.

---

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