---
title: "Create a new person relationship for a profile"
method: POST
path: "/group-profile/v1/profiles/{profileId}/persons"
tags: ["ProfilePerson"]
---

# Create a new person relationship for a profile

`POST /group-profile/v1/profiles/{profileId}/persons`

Create a relationship between this profile and a person/guest

## Path parameters

- `profileId` integer, required

## Headers

- `x-property-id` integer
- `x-organization-id` integer, required

## Request body

- CreateProfilePersonRequest
  - `personId` integer, required — ID of the person/guest to link to
  - `personType` 'CONTACT' | 'GUEST', required — Type of persons
  - `relationshipType` 'EMPLOYEE' | 'BOOKED_BY' | 'PART_OF_GROUP' | 'CONTACT' | 'GUEST' | 'DECISION_MAKER' | 'TRAVELER' | 'PRIMARY' | 'SECONDARY' | 'BILLING_CONTACT' | 'EMERGENCY_CONTACT' — Type of relationship between person and profile
  - `isMainContact` boolean — Whether this person is the main contact (applicable for CONTACT person type)
  - `startDate` string, date — Start date of the relationship (defaults to today)
  - `endDate` string, date — End date of the relationship (null for indefinite)
  - `role` 'BOOKING_COORDINATOR' | 'ONSITE_COORDINATOR' | 'ROOMING_LIST_CONTACT' | 'ACCOUNTS_PAYABLE' | 'BILLING' | 'INVOICING' | 'ACCOUNT_MANAGER' | 'SALES_LEAD' | 'TRAVEL_AGENT_ACCOUNT_MANAGER' | 'CORPORATE_CONTACT' | 'AUTHORIZED_SIGNER' | 'EXECUTIVE_APPROVER' | 'MARKETING' | 'MAIN_POINT_OF_CONTACT' | 'ADMINISTRATIVE' | 'OTHER' — Role of person in the profile relationship
  - `metadata` object — Additional relationship metadata

## Response `201`

Person relationship created successfully

- ProfilePersonResponse
  - `profileId` string — ID of the profile entity (source)
  - `personId` string — ID of the person/guest (target)
  - `personType` 'CONTACT' | 'GUEST' — Type of persons
  - `relationshipType` 'EMPLOYEE' | 'BOOKED_BY' | 'PART_OF_GROUP' | 'CONTACT' | 'GUEST' | 'DECISION_MAKER' | 'TRAVELER' | 'PRIMARY' | 'SECONDARY' | 'BILLING_CONTACT' | 'EMERGENCY_CONTACT' — Type of relationship between person and profile
  - `isMainContact` boolean — Whether this person is the main contact (applicable for CONTACT person type)
  - `startDate` string, date — Start date of the relationship
  - `endDate` string, date — End date of the relationship (null for active)
  - `role` 'BOOKING_COORDINATOR' | 'ONSITE_COORDINATOR' | 'ROOMING_LIST_CONTACT' | 'ACCOUNTS_PAYABLE' | 'BILLING' | 'INVOICING' | 'ACCOUNT_MANAGER' | 'SALES_LEAD' | 'TRAVEL_AGENT_ACCOUNT_MANAGER' | 'CORPORATE_CONTACT' | 'AUTHORIZED_SIGNER' | 'EXECUTIVE_APPROVER' | 'MARKETING' | 'MAIN_POINT_OF_CONTACT' | 'ADMINISTRATIVE' | 'OTHER' — Role of person in the profile relationship
  - `metadata` object — Additional relationship metadata

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Profile not found
- `422` — Unprocessable Entity

---

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