---
title: "Create a new contact for a company"
method: POST
path: "/public/company/v1/create-contact"
tags: ["Company"]
---

# Create a new contact for a company

`POST /public/company/v1/create-contact`

## Request

- Base URL: `https://api.maqqie.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.maqqie.app/public/company/v1/create-contact`
- Auth: OAuth 2
  - Client credentials
  - Token URL: `https://maqqie.app/auth/realms/maqqie/protocol/openid-connect/token`
- TypeScript: <https://skmtc.dev/maqqie/apis/maqqie-public-api/docs/public/company/v1/create-contact/post.ts> (a function with typed inputs; its response is checked against the schema)

## Request body

- ContactCreationRequestV1: Request payload for creating a new contact. The companyId field specifies the company to which the new contact belongs.
  - `firstName` string, required
  - `middleName` string
  - `lastName` string, required
  - `phoneNumber` string, required
  - `email` string, email, required
  - `safetyContact` boolean, required
  - `companyId` string, uuid, required

## Response `200`

Successfully created a contact

- ContactCreationResponseV1
  - `contactId` string, uuid, required

## Other responses

- `400`: The request could not be processed. This could be due to a number of reasons: * The request does not have all required data. * Data in the request is invalid. * Data in the request is inconsistent. * The operation is not allowed given the current state of the data.
- `401`: The request did not contain credentials identifying the caller, or the provided credentials were invalid.
- `403`: The data that the request referred to is inaccessible to the caller.

## Changes

- **2026-09-29** `f9510f3f4b22`: 3 breaking, 1 info
  - added `#/components/schemas/ContactDetailsV1, subschema #2` to the request body `allOf` list
  - the response's body type changed from no type to `object` for status `200`
  - the response's body type changed from no type to `string` for status `400`
  - added the required property `contactId` to the response with the `200` status
- **2026-09-29** `3352b56bb8fe`: 3 breaking, 1 warning, 6 info
  - the response's body type changed from `object` to no type for status `200`
  - the response's body type changed from `string` to no type for status `400`
  - removed the required property `contactId` from the response with the `200` status
  - removed `#/components/schemas/ContactDetailsV1, subschema #2` from the request body `allOf` list
  - …6 more
- **2026-09-16** `ccf9834e5006`: 3 breaking, 1 info
  - added `#/components/schemas/ContactDetailsV1, subschema #2` to the request body `allOf` list
  - the response's body type changed from no type to `object` for status `200`
  - the response's body type changed from no type to `string` for status `400`
  - added the required property `contactId` to the response with the `200` status
- …earlier changes not shown

[Operation history](https://skmtc.dev/maqqie/apis/maqqie-public-api/changes/public/company/v1/create-contact/post.md)

---

[API](https://skmtc.dev/maqqie/apis/maqqie-public-api.md) - [All operations](https://skmtc.dev/maqqie/apis/maqqie-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/maqqie/apis/maqqie-public-api/revisions/13ed331da2b2?raw)
