Vai al contenuto

Reviews

Reviews of stays, left by guests or imported from other platforms

The review object

Attributes

iduuid
booking_iduuid | null
bookings.id

Identifier of the reviewed booking

organization_iduuid
organizations.id

Identifier of the organization this review is defined in

source_idtext | null

Identifier of the review on its source

created_atread-onlytimestamp with time zone

Creation timestamp

updated_atread-onlytimestamp with time zone

Last modification timestamp

author_avatartext | null

URL of the author's avatar image

author_nametext

Name of the author

contentMultiLanguageString

Localized text of the review

ftsread-onlytsvector
ratinginteger | null

Rating given by the author

sourcetext

Where the review comes from

source_urltext | null

URL of the review on its source

statusReviewStatus

Moderation status: pending, approved or rejected. Review widgets only show approved reviews

Related resources

Embed related resources in the response with the select parameter, for example select=*,bookings(*). Resources related through more than one column need the column as a hint, like table!column(*).

bookings(*)object | null
bookings

The booking referenced by booking_id.

organizations(*)object | null
organizations

The organization referenced by organization_id.

review_products(*)array
review_products

The review products referencing this review through review_products.review_id.

The review object
JSON
{
  "id": "00000000-0000-0000-0000-000000000000",
  "booking_id": "00000000-0000-0000-0000-000000000000",
  "organization_id": "00000000-0000-0000-0000-000000000000",
  "source_id": "",
  "created_at": "2026-10-30T22:27:57.698Z",
  "updated_at": "2026-10-30T22:27:57.698Z",
  "author_avatar": "",
  "author_name": "Summer cottage",
  "content": {},
  "rating": 0,
  "source": "",
  "source_url": "https://example.com",
  "status": "pending"
}
Including related resources
curl -X GET "https://api.bookingmood.com/v1/reviews?limit=10&select=*,bookings(*),organizations(*)" \
  -H "Authorization: Bearer YOUR_API_KEY"

List reviews

Filters

idFilter<uuid>
booking_idFilter<uuid | null>
bookings.id

Identifier of the reviewed booking

organization_idFilter<uuid>
organizations.id

Identifier of the organization this review is defined in

source_idFilter<text | null>

Identifier of the review on its source

created_atFilter<timestamp with time zone>

Creation timestamp

updated_atFilter<timestamp with time zone>

Last modification timestamp

author_avatarFilter<text | null>

URL of the author's avatar image

author_nameFilter<text>

Name of the author

contentFilter<MultiLanguageString>

Localized text of the review

ftsFilter<tsvector>
ratingFilter<integer | null>

Rating given by the author

sourceFilter<text>

Where the review comes from

source_urlFilter<text | null>

URL of the review on its source

statusFilter<ReviewStatus>

Moderation status: pending, approved or rejected. Review widgets only show approved reviews

Responses

200

A list of reviews with the selected columns

206

Partial Content

400

The request is malformed, for example an unknown column or an invalid filter.

401

The API key is missing or invalid.

Error responses have a JSON body with a code, message, details and hint. See the introduction for more on errors.
GET /reviews
curl -X GET "https://api.bookingmood.com/v1/reviews?select=*&limit=10" \
  -H "Authorization: Bearer YOUR_API_KEY"
Example response
JSON
[
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "booking_id": "00000000-0000-0000-0000-000000000000",
    "organization_id": "00000000-0000-0000-0000-000000000000",
    "source_id": "",
    "created_at": "2026-10-30T22:27:57.698Z",
    "updated_at": "2026-10-30T22:27:57.698Z",
    "author_avatar": "",
    "author_name": "Summer cottage",
    "content": {},
    "rating": 0,
    "source": "",
    "source_url": "https://example.com",
    "status": "pending"
  }
]

Create reviews

Body

Partial<Review> | Array<Partial<Review>>

Read-only attributes are set by the database and can't be written.

Responses

201

The newly created reviews with the selected columns

400

The request is malformed, for example an unknown column, an invalid filter or an invalid body.

401

The API key is missing or invalid.

403

The API key has no permission for this change, for example when writing rows of another organization.

409

The change conflicts with existing data, for example a duplicate key or a reference to a row that does not exist.

Error responses have a JSON body with a code, message, details and hint. See the introduction for more on errors.
POST /reviews
curl -X POST "https://api.bookingmood.com/v1/reviews" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "author_name": "Summer cottage",
    "content": {},
    "organization_id": "00000000-0000-0000-0000-000000000000",
    "source": "",
    "status": "pending"
  }'
Example response
JSON
[
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "booking_id": "00000000-0000-0000-0000-000000000000",
    "organization_id": "00000000-0000-0000-0000-000000000000",
    "source_id": "",
    "created_at": "2026-10-30T22:27:57.698Z",
    "updated_at": "2026-10-30T22:27:57.698Z",
    "author_avatar": "",
    "author_name": "Summer cottage",
    "content": {},
    "rating": 0,
    "source": "",
    "source_url": "https://example.com",
    "status": "pending"
  }
]

Delete reviews

Filters

Without filters, this request deletes all reviews you have access to. Always filter on at least one column, e.g. id=eq.{id}.

idFilter<uuid>
booking_idFilter<uuid | null>
bookings.id

Identifier of the reviewed booking

organization_idFilter<uuid>
organizations.id

Identifier of the organization this review is defined in

source_idFilter<text | null>

Identifier of the review on its source

created_atFilter<timestamp with time zone>

Creation timestamp

updated_atFilter<timestamp with time zone>

Last modification timestamp

author_avatarFilter<text | null>

URL of the author's avatar image

author_nameFilter<text>

Name of the author

contentFilter<MultiLanguageString>

Localized text of the review

ftsFilter<tsvector>
ratingFilter<integer | null>

Rating given by the author

sourceFilter<text>

Where the review comes from

source_urlFilter<text | null>

URL of the review on its source

statusFilter<ReviewStatus>

Moderation status: pending, approved or rejected. Review widgets only show approved reviews

Responses

200

The deleted reviews with the selected columns. Returns 204 without a body when sending the header Prefer: return=minimal.

400

The request is malformed, for example an unknown column or an invalid filter.

401

The API key is missing or invalid.

403

The API key has no permission for this change, for example when writing rows of another organization.

Error responses have a JSON body with a code, message, details and hint. See the introduction for more on errors.
DELETE /reviews
curl -X DELETE "https://api.bookingmood.com/v1/reviews?id=eq.00000000-0000-0000-0000-000000000000" \
  -H "Authorization: Bearer YOUR_API_KEY"
Example response
JSON
[
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "booking_id": "00000000-0000-0000-0000-000000000000",
    "organization_id": "00000000-0000-0000-0000-000000000000",
    "source_id": "",
    "created_at": "2026-10-30T22:27:57.698Z",
    "updated_at": "2026-10-30T22:27:57.698Z",
    "author_avatar": "",
    "author_name": "Summer cottage",
    "content": {},
    "rating": 0,
    "source": "",
    "source_url": "https://example.com",
    "status": "pending"
  }
]

Update reviews

Filters

Without filters, this request updates all reviews you have access to. Always filter on at least one column, e.g. id=eq.{id}.

idFilter<uuid>
booking_idFilter<uuid | null>
bookings.id

Identifier of the reviewed booking

organization_idFilter<uuid>
organizations.id

Identifier of the organization this review is defined in

source_idFilter<text | null>

Identifier of the review on its source

created_atFilter<timestamp with time zone>

Creation timestamp

updated_atFilter<timestamp with time zone>

Last modification timestamp

author_avatarFilter<text | null>

URL of the author's avatar image

author_nameFilter<text>

Name of the author

contentFilter<MultiLanguageString>

Localized text of the review

ftsFilter<tsvector>
ratingFilter<integer | null>

Rating given by the author

sourceFilter<text>

Where the review comes from

source_urlFilter<text | null>

URL of the review on its source

statusFilter<ReviewStatus>

Moderation status: pending, approved or rejected. Review widgets only show approved reviews

Body

Partial<Review>

Read-only attributes are set by the database and can't be written.

Responses

200

The updated reviews with the selected columns. Returns 204 without a body when sending the header Prefer: return=minimal.

400

The request is malformed, for example an unknown column, an invalid filter or an invalid body.

401

The API key is missing or invalid.

403

The API key has no permission for this change, for example when writing rows of another organization.

409

The change conflicts with existing data, for example a duplicate key or a reference to a row that does not exist.

Error responses have a JSON body with a code, message, details and hint. See the introduction for more on errors.
PATCH /reviews
curl -X PATCH "https://api.bookingmood.com/v1/reviews?id=eq.00000000-0000-0000-0000-000000000000" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "author_name": "Summer cottage"
  }'
Example response
JSON
[
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "booking_id": "00000000-0000-0000-0000-000000000000",
    "organization_id": "00000000-0000-0000-0000-000000000000",
    "source_id": "",
    "created_at": "2026-10-30T22:27:57.698Z",
    "updated_at": "2026-10-30T22:27:57.698Z",
    "author_avatar": "",
    "author_name": "Summer cottage",
    "content": {},
    "rating": 0,
    "source": "",
    "source_url": "https://example.com",
    "status": "pending"
  }
]

Prendi il controllo delle tue prenotazioni. Costruisci un'attività tutta tua.

Unisciti a 1200+ aziende indipendenti di affitti turistici che utilizzano Bookingmood per aumentare le prenotazioni dirette e consolidare i rapporti con gli ospiti.

Avvia una prova gratuita di 14 giorni