POST
cURL
Creates a Google Business Profile post for one location. Returns 202 with state: SENDING. Poll Get Post until a terminal state. The location must belong to the account and be connected to Google. Optional Idempotency-Key: the same key + account returns the existing post instead of creating a duplicate. params.scheduledTime (RFC 3339, must be in the future) schedules the post with Google. Recurring posts are not supported. parameterMask replaces {placeholder} tokens in params.summary with values from parameters. When use_location_website_url is true, the call-to-action URL is taken from the location’s website.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

Idempotency-Key
string

Optional. Same key + account returns the existing post instead of creating a duplicate.

Query Parameters

account_id
string

Account ID. Required when using an organization token; ignored for account-level tokens.

Body

application/json
location_id
string
required

Location that will receive the post. Must belong to the caller and be connected to Google.

params
object
required

Google Business Profile LocalPost body. See Google's Local Posts API for field constraints per topicType.

use_location_website_url
boolean

When true, the call-to-action URL is taken from the location's website. Returns 400 if the location has no website.

parameterMask
string

Comma-separated placeholder names replaced in params.summary, e.g. city,name.

parameters
object

Values for parameterMask placeholders.

Response

Post accepted. payload.state is SENDING; post_id is null until Google accepts the post.

success
boolean
payload
object