Skip to main content
POST
cURL

Authorizations

Authorization
string
header
required

Paste your API key as the CMS showed it: fsk_<site>_<key id>_<secret> (issued under API Keys). ApiKey in front of it works too. Leave it empty to read as the public.

Scopes

content:google-reviews:write

Path Parameters

_id
string
required

The document’s _id: a full id names its own locale and mode (the draft’s …:en:draft, the published one’s …:en:published; no aposMode needed), a bare aposDocId takes the request’s (aposLocale, aposMode).

Body

application/json

Where to copy the document.

toLocale
string
required

The locale to copy it into: a configured locale, not the current one.

update
boolean

Overwrite the copy if one already exists there (default false: 409 conflict instead).

Response

Done.

GoogleReview content type

title
string
default:""
required

Its title: the name it goes by in every list, and the heading of its page where it has one.

reviewerName
string
default:""
required

Reviewer name.

slug
string
default:""
required

The URL name: lowercase words joined by hyphens (letters outside a–z, even emoji, are kept).

_id
string
required
read-only

The document’s id. On a type with drafts it ends in its locale and mode (…:en:published, …:en:draft): the part before the first colon is its aposDocId, shared by both copies. The {_id} the type’s routes take.

type
string
required
read-only

The document type’s name: always this type’s.

isAnonymous
boolean | null
default:false

Set when Google returned no reviewer name. The frontend shows a generic label + initial avatar.

rating
integer | null
default:5

Rating (1–5).

Required range: 1 <= x <= 5
reviewText
string | null
default:""

Review text.

reviewedAt
string<date> | null

Review date.

Hand-curation flag. The widget can be set to show only featured reviews.

visibility
enum<string> | null
default:public

Select whether this content is public or private

Available options:
public,
loginRequired,
null
scheduledPublish
string | null

An ISO 8601 date and time, e.g. 2026-10-21T14:30:00.000Z.

scheduledUnpublish
string | null

An ISO 8601 date and time, e.g. 2026-10-21T14:30:00.000Z.

reviewerPhotoUrl
string | null

The reviewer’s Google avatar URL, stored as-is (not downloaded). The frontend renders it directly and falls back to a lettered avatar if missing or stale. When set, a URL; empty or null when not.

ownerReply
string | null
default:""

The business’s public reply to this review, if any.

replyState
string | null
default:""
read-only

Google moderates owner replies asynchronously: PENDING until reviewed, then APPROVED or REJECTED. Synced from the Business Profile API; blank for manual rows or replies predating moderation visibility.

replyPolicyViolation
string | null
default:""
read-only

The policy reason Google gave when it rejected the owner reply, if any.

stagedReply
string | null
default:""
read-only

A reply drafted in the Google Business Dashboard and not yet pushed to Google. Managed by the dashboard’s Review & push flow, never edited here.

stagedReplyAction
string | null
default:""
read-only

What the staged reply will do when pushed: “reply” (create/update the owner reply) or “delete” (remove it). Blank when nothing is staged.

reviewUrl
string | null

Permalink to the review on Google, when the provider supplies one. When set, a URL; empty or null when not.

source
enum<string> | null
default:manual

Source.

Available options:
manual,
places-api,
business-profile,
demo,
null
sourceId
string | null
default:""

The review’s stable Google resource id — the de-duplication key set by a sync. Leave blank for manual entries.

gbpLocationId
string | null
default:""
read-only

The Google Business Profile location this review belongs to (bare location id) — set by the Business Profile sync; ties the review to its gbp-location mirror row and the dashboard’s Reviews section.

archived
boolean | null
default:false

In the archive: kept, but out of every list and off the site until it is restored. false (or null) for a live document.

createdAt
string<date-time> | null
read-only

When it was created (ISO 8601).

updatedAt
string<date-time> | null
read-only

When it last changed (ISO 8601).

aposShareKey
string | null
read-only

The draft’s preview share key, while its share link is on: the link is the draft’s _url with aposShareKey and aposShareId (the draft’s _id) in its query. Absent otherwise, and on published documents.

Example:

"k3v9x2m7q1z8w4p6"