Write a Google post
POST
/api/v1/reviews/posts
const url = 'https://digize.com/api/v1/reviews/posts';const options = { method: 'POST', headers: { 'Idempotency-Key': '5f1c2a8e-3b7d-4c55-9a0e-1f2d3c4b5a69', 'x-api-key': '<x-api-key>', 'Content-Type': 'application/json' }, body: '{"id":"example","type":"update","title":"example","body":"example","media":[{"id":"example","kind":"photo","fileName":"example","description":"example","imageId":"example","videoKey":"example"}],"button":{"action":"book","url":"example"},"startsAt":"2026-04-15T12:00:00Z","endsAt":"2026-04-15T12:00:00Z","offer":{"couponCode":"example","terms":"example","redeemUrl":"example"},"publish":"draft","publishAt":"2026-04-15T12:00:00Z"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://digize.com/api/v1/reviews/posts \ --header 'Content-Type: application/json' \ --header 'Idempotency-Key: 5f1c2a8e-3b7d-4c55-9a0e-1f2d3c4b5a69' \ --header 'x-api-key: <x-api-key>' \ --data '{ "id": "example", "type": "update", "title": "example", "body": "example", "media": [ { "id": "example", "kind": "photo", "fileName": "example", "description": "example", "imageId": "example", "videoKey": "example" } ], "button": { "action": "book", "url": "example" }, "startsAt": "2026-04-15T12:00:00Z", "endsAt": "2026-04-15T12:00:00Z", "offer": { "couponCode": "example", "terms": "example", "redeemUrl": "example" }, "publish": "draft", "publishAt": "2026-04-15T12:00:00Z" }'Writes a post, or edits one: kept as a draft, posted now, posted at publishAt, or for a post already out, updated on Google.
Needs the reviews:write permission. It can’t be undone.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Header Parameters
Section titled “Header Parameters”Idempotency-Key
string
Makes the request safe to send again: for 24 hours the same key and request answer the first response without repeating the change.
Example
5f1c2a8e-3b7d-4c55-9a0e-1f2d3c4b5a69Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
id
string
type
required
string
body
required
string
media
required
offer
required
publish
required
Keep as a draft, post now, post at publishAt, or for a post already out, update it.
string
Responses
Section titled “Responses”Done
Media typeapplication/json
object
id
required
string
type
required
string
status
required
string
title
required
string | null
body
required
string
media
required
offer
required
author
required
string
createdAt
required
string format: date-time
views
required
number
clicks
required
number
rejection
required
string | null
searchUrl
required
string | null
Example
{ "type": "update", "status": "live", "media": [ { "kind": "photo" } ], "button": { "action": "book" }, "pushState": "sending"}What was sent isn’t valid (invalid).
Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
details
object
key
additional properties
any
Example
{ "error": { "code": "invalid" }}No key, or one that’s unknown, off or expired.
Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
details
object
key
additional properties
any
Example
{ "error": { "code": "invalid" }}The key doesn’t have the permission this needs.
Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
details
object
key
additional properties
any
Example
{ "error": { "code": "invalid" }}Nothing has that id (not_found).
Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
details
object
key
additional properties
any
Example
{ "error": { "code": "invalid" }}A request with the same Idempotency-Key is still running (conflict).
Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
details
object
key
additional properties
any
Example
{ "error": { "code": "invalid" }}The Idempotency-Key was used with a different request.
Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
details
object
key
additional properties
any
Example
{ "error": { "code": "invalid" }}Over the rate limit; see retry-after.
Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
details
object
key
additional properties
any
Example
{ "error": { "code": "invalid" }}