on
04-02-2026
04:12 PM
- edited on
04-28-2026
10:09 AM
by
CommunityMod_WM
The Write Services B2B Write-a-Review endpoints are intended to provide external integration endpoints to PowerReviews Write-a-Review for server-to-server implementations by external customers. These endpoints include:
The API key used with the Write API is different than the API key used for the reviews or display API. Before beginning, please make sure the API key being used is for the Write API.
You will need to first retrieve the review template using the GetReviewTemplate endpoint. This must be done to retrieve the necessary values and identifiers.
Example: http://writeservices.powerreviews.com/api/b2b/writereview/review_template?apikey=<write_api_key>&merchant_id=<merchant_id>&page_id=<page_id>
The template identifiers vary based on the account and product. Different products can have different review forms if they have been configured in the PowerReviews backend. Only after you have the identifiers from the template can you use the SubmitReview call.
GetReviewTemplate will also give you information about each form field including but not limited to the field_type, required, input_type, answer_type, max_length
Once you have collected the review from the end-user, you will need to construct a POST API call using the “Submit a review” endpoint.
The header should be set as Content-Type: application/json
Construct the URL using the parameters specific to your account and the page_id for the particular product the review is for. Example: http://writeservices.powerreviews.com/api/b2b/writereview/submit_review?apikey=<write_api_key>&page_id=<page_id>&merchant_id=<merchant_id>&locale=en_US
The body of the POST, should include the full review as well as other fields. You will need to use the template identifiers that you retrieved from the Get Review Template endpoint as part of the body of this call. The structure of the body should match that of the example in the documentation.
Simple
Collection
If a request fails to pass validation, a response similar to the GetReviewTemplate quest will be returned; however, only fields that failed validation will be returned and will have an error_message attribute will be populated.
400 Error Details When a field has failed validation, a 400 status_code is returned with the message "Please update the highlighted fields below to continue with your submission." When that occurs, a JSON response is provided with a separate error_code object within each individual field object.
Example:
{
"id": "ag1_o44240",
"field_type": "simple",
"key": "headline",
"label": "Review Title",
"required": true,
"helper_text": "Include a short, descriptive title to publish with your review",
"error_message": {
"error_code": "RequiredField",
"message": "Required Field"
},
"input_type": "TextBox",
"answer_type": "text",
"max_length": 60
}Possible error codes for individual fields are:
The time-to-live value for the PowerReviews Write API is 6 hours.
Hi Team,
We are from Fivetran, a data integration platform that syncs data from source systems into customer destinations such as Snowflake, BigQuery, Redshift, etc.
We are currently investigating an issue reported by a mutual customer where API syncs are failing due to the following error returned by the PowerReviews API:
Invalid Merchant ID [923023]
During the sync, the API returns merchant ID 923023, which is then used in subsequent requests. However, those requests fail with a 400 response indicating that the merchant ID is invalid.
We would like to understand the expected behavior for this scenario and would appreciate your guidance on the following:
At the moment, the issue is impacting incremental data synchronization for the customer, and we are trying to determine whether this is expected source behavior or if there is an underlying configuration issue associated with this merchant.
Any additional details, recommendations, or documentation you can provide would be greatly appreciated.
Thank you for your assistance.
Hi @Ramya , and welcome! We’re glad to have you here, especially as one of the first members of the community. Thanks for taking the time to share such a detailed overview of what you’re seeing.
Based on the nature of your questions, particularly around merchant ID validity and account-specific behavior, this is something we’ll want to review more closely on a case-by-case basis.
Some of the details you’re asking about (such as whether a specific merchant ID is active, deactivated, or otherwise inaccessible) can involve account-level configuration and data that we’re not able to fully investigate within the community forum.
To make sure you get the most accurate and complete guidance, we recommend opening a support ticket so our team can take a deeper look into the specific merchant and API activity involved. You can reach us here:
1WorldSync Global Community - 1WorldSync Customer Community
When you submit the ticket, it would be helpful to include:
In parallel, you may also find additional context in our Write API documentation here: https://apidocs.powerreviews.com/docs/powerreviews-write-api/0865091e52b74-power-reviews-write-api
Once a ticket is opened, our team will be able to investigate whether this is expected behavior, a configuration issue, or something else affecting the sync.
Thanks again for reaching out.