---
title: "Publish a custom-channel review"
method: POST
path: "/reviews/custom-channel-reviews"
tags: ["Review"]
---

# Publish a custom-channel review

`POST /reviews/custom-channel-reviews`

Publish a custom-channel review

## Request body

- object
  - `customChannelName` string, string, required
  - `internalReservationId` string, string, required — Guesty Reservation ID
  - `externalReviewId` string, string, required — Custom Source Review ID
  - `createdAt` string, date-time, required — Review creation date and time
  - `updatedAt` string, date-time, required — Review last update date and time
  - `rating` number, required — Rating
  - `bodyText` string, string, required — Review Body Text
  - `reviewerName` string, string, required — Reviewer Name
  - `titleText` string, string — Review Title Text
  - `locale` string, string — Review Texts Locale
  - `categoryRatings` object — A map of category names to their rating scores (integer, 1-5)

## Response `200`

Upsert Review Response

- object
  - `_id` object, required
  - `accountId` object, required
  - `externalReviewId` string, string, required
  - `channelId` 'bookingCom' | 'airbnb2' | 'homeaway2' | 'custom', string, required
  - `customChannelName` string, string
  - `subListingId` object
  - `listingId` object, required
  - `complexId` object
  - `externalListingId` string, string
  - `externalComplexId` string, string
  - `reservationId` object
  - `externalReservationId` string, string
  - `guestId` object
  - `createdAt` string, date-time
  - `updatedAt` string, date-time
  - `createdAtGuesty` string, date-time
  - `updatedAtGuesty` string, date-time
  - `rawReview` object, required
  - `contents` object — Review contents. For custom-channels reviews only
    - `body` string, string, required
    - `reviewerName` string, string, required
    - `title` string, string
    - `locale` string, string
    - `rating` number, required — Rating from 1 to 10
  - `reviewReplies` object[]
    - `status` 'PENDING' | 'FAILED' | 'COMPLETED' | 'NOT_FOUND', required
    - `reviewReply` string, required
    - `replyAt` string, date-time, required

## Other responses

- `201`
- `401` — Unauthorized
- `404` — Not Found

---

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