# Create Contact

`lawmatics_create-contact` · Lawmatics MCP tool · Contacts

Create a contact in Lawmatics. The response echoes standard fields, custom fields, and a `relationships` envelope of {id,type} pointers to related records (creating user, client, company, custom contact type, matters, tags, emails, phone numbers, addresses, notes, files, folders).

## Input

- **firstName** `string` — Contact's first name
- **lastName** `string` — Contact's last name
- **email** `string` — Primary email address
- **phone** `string` — Primary phone number
- **namePrefix** `string` — Name prefix (e.g. Mr, Ms, Dr)
- **middleName** `string` — Middle name
- **nameSuffix** `string` — Name suffix (e.g. Jr, Sr, III)
- **informalName** `string` — Informal name / nickname
- **socialSecurity** `string` — Social security number
- **driverLicense** `string` — Driver license number
- **maritalStatus** `string` — Marital status
- **birthdate** `string(date)` (pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$) — Date of birth as an ISO 8601 date (YYYY-MM-DD)
- **employer** `string` — Employer or organization name
- **occupation** `string` — Occupation or job role
- **citizenship** `string` — Citizenship
- **gender** `string` — Gender
- **timezone** `string` — Timezone identifier as stored by Lawmatics
- **hobbies** `string` — Free-text hobbies or interests
- **bio** `string` — Free-text biography or notes about the contact
- **title** `string` — Job title
- **notes** `array` — Notes to create inline with the contact (write-only; not returned)
  - **[]** `object`
    - **name** `string` (required) — Note title
    - **body** `string` (required) — Note content
- **customFields** `array` — Custom field values to set on the contact
  - **[]** `object`
    - **id** `string | number` (required) — Custom field ID (the API returns it as a number; either a string or number is accepted)
    - **value** `string | number | boolean | null` (required) — Value to set (matches the field's type); pass null to clear the field

## Output

- **id** `string` (required) — Lawmatics contact ID of the newly created contact
- **firstName** `string | null` (required) — Contact's first/given name; null if unset
- **lastName** `string | null` (required) — Contact's last/family name; null if unset
- **email** `string | null` (required) — Primary email address; null if unset
- **phone** `string | null` (required) — Primary phone number as stored; null if unset
- **customFields** `array` (required) — Account-defined custom fields on the contact; empty array if none
  - **[]** `object`
    - **id** `string` (required) — Custom field definition ID, as a numeric string
    - **name** `string | null` (required) — Custom field display name; null if unset
    - **fieldType** `string | null` (required) — Custom field data type (e.g. text, date, select); null if unset
    - **value** `any` (required) — Raw custom field value; type varies by `fieldType`
    - **formattedValue** `any` (required) — Display-formatted custom field value; type varies by `fieldType`
- **relationships** `object` (required) — JSON:API relationship pointers to related records as {id,type} stubs. Not materialized — follow a pointer by calling that resource's own get/find tool (e.g. type 'prospect' -> get-matter, type 'user' -> get-user, type 'company' -> get-company).
  - **createdBy** `object | null` (required) — Creating user pointer; null when unset
    - **id** `string` (required) — ID of the referenced Lawmatics record
    - **type** `string` (required) — JSON:API record class of the reference (e.g. "user", "contact", "prospect", "firm"); resolve it by calling that resource's own get/find tool — this pointer is not materialized
  - **client** `object | null` (required) — Linked client (matter) pointer; null when unset
    - **id** `string` (required) — ID of the referenced Lawmatics record
    - **type** `string` (required) — JSON:API record class of the reference (e.g. "user", "contact", "prospect", "firm"); resolve it by calling that resource's own get/find tool — this pointer is not materialized
  - **company** `object | null` (required) — Linked company pointer; null when unset
    - **id** `string` (required) — ID of the referenced Lawmatics record
    - **type** `string` (required) — JSON:API record class of the reference (e.g. "user", "contact", "prospect", "firm"); resolve it by calling that resource's own get/find tool — this pointer is not materialized
  - **customContactType** `object | null` (required) — Custom contact-type pointer; null when unset
    - **id** `string` (required) — ID of the referenced Lawmatics record
    - **type** `string` (required) — JSON:API record class of the reference (e.g. "user", "contact", "prospect", "firm"); resolve it by calling that resource's own get/find tool — this pointer is not materialized
  - **prospects** `array` (required) — Matter (prospect) pointers; empty if none
    - **[]** `object`
      - **id** `string` (required) — ID of the referenced Lawmatics record
      - **type** `string` (required) — JSON:API record class of the reference; resolve it by calling that resource's own tool
  - **tags** `array` (required) — Tag pointers; empty if none
    - **[]** `object`
      - **id** `string` (required) — ID of the referenced Lawmatics record
      - **type** `string` (required) — JSON:API record class of the reference; resolve it by calling that resource's own tool
  - **emails** `array` (required) — Email-address pointers; empty if none
    - **[]** `object`
      - **id** `string` (required) — ID of the referenced Lawmatics record
      - **type** `string` (required) — JSON:API record class of the reference; resolve it by calling that resource's own tool
  - **phoneNumbers** `array` (required) — Phone-number pointers; empty if none
    - **[]** `object`
      - **id** `string` (required) — ID of the referenced Lawmatics record
      - **type** `string` (required) — JSON:API record class of the reference; resolve it by calling that resource's own tool
  - **addresses** `array` (required) — Address pointers; empty if none
    - **[]** `object`
      - **id** `string` (required) — ID of the referenced Lawmatics record
      - **type** `string` (required) — JSON:API record class of the reference; resolve it by calling that resource's own tool
  - **notes** `array` (required) — Note pointers; empty if none
    - **[]** `object`
      - **id** `string` (required) — ID of the referenced Lawmatics record
      - **type** `string` (required) — JSON:API record class of the reference; resolve it by calling that resource's own tool
  - **files** `array` (required) — File pointers; empty if none
    - **[]** `object`
      - **id** `string` (required) — ID of the referenced Lawmatics record
      - **type** `string` (required) — JSON:API record class of the reference; resolve it by calling that resource's own tool
  - **folders** `array` (required) — Folder pointers; empty if none
    - **[]** `object`
      - **id** `string` (required) — ID of the referenced Lawmatics record
      - **type** `string` (required) — JSON:API record class of the reference; resolve it by calling that resource's own tool
