Edit a previously posted review
Updates the rating, title, or comment of a review the calling partner created.
Editing is allowed up to 30 days after the review was posted; beyond that the
endpoint returns 422 review.edit.window.expired and the review is immutable.
All body fields are optional — only provided ones are applied. Reviews created
outside of SafarAPI (B2C traveler posts) or by another partner cannot be edited
from this endpoint and return 403 partner.review.edit.not.owned.
Requires scope reviews:write.
Authorizations
API key authentication. Issued by the Safariat admin or via the partner portal. The secret is shown only once at generation.
Production sk_live_* keys must additionally sign every write request
(POST/PUT/DELETE) with the X-Timestamp and X-Signature headers.
Sandbox sk_test_* keys are exempt from request signing: X-Signature and
X-Timestamp are not required for writes in the sandbox (so the developer-portal
"Try it" playground works end to end). The Idempotency-Key header remains
required on writes in both environments.
Headers
Opaque, client-generated string unique per logical operation (a UUID v4 is
recommended but any non-blank value up to 255 chars is accepted). Same key +
same body = the cached response is returned with the Idempotent-Replayed: true
header. Same key + different body = 409 Conflict. Retained for 24 h.
255Unix timestamp in seconds at the time the request is issued. Validity window
±5 minutes — beyond that the request is rejected. Required for production
sk_live_* keys only; not required for sandbox sk_test_* keys.
hex(HMAC_SHA256(secret, "{X-Timestamp}\n{METHOD}\n{path}\n{body}")).
The path includes the query string. The body is the exact JSON representation
sent — any reformatting invalidates the signature. Required for production
sk_live_* keys only; not required for sandbox sk_test_* keys.
^[a-f0-9]{64}$Path Parameters
Review UUID returned by POST /reviews or GET /reviews.
Body
Response
Review updated
EXPERIENCE/TRIP:reviewable_idis the adventure id.AGENCY:reviewable_idis the agency id.
EXPERIENCE, TRIP, AGENCY 1 <= x <= 5Traveler display name as shown on the public Safariat site.
true when the review is tied to a confirmed Safariat booking.
x >= 0Up to 10 traveler-uploaded photos.