Integrations API

Last updated: March 27, 2026

Connect third-party review platforms to import existing reviews and receive new ones via webhooks.

Connect Platform

POST /api/v1/reviews/connect

Connects a review platform and optionally starts a full review import.

Request (Okendo)

{
  "platform": "okendo",
  "api_key": "YOUR_OKENDO_API_KEY",
  "api_user_id": "YOUR_OKENDO_SUBSCRIBER_ID",
  "full_sync": true,
  "start_bulk_ingest": true
}

Request (Judge.me)

{
  "platform": "judgeme",
  "api_key": "YOUR_JUDGEME_TOKEN",
  "shop_domain": "yourstore.myshopify.com",
  "full_sync": true
}

Request (Yotpo)

{
  "platform": "yotpo",
  "api_key": "YOUR_YOTPO_KEY",
  "api_secret": "YOUR_YOTPO_SECRET",
  "full_sync": true
}

Parameters

FieldTypeRequiredDescription
platformstringYesokendo, judgeme, or yotpo
api_keystringYesPlatform API key
api_user_idstringOkendo onlyOkendo subscriber ID
api_secretstringYotpo onlyYotpo API secret
shop_domainstringJudge.me onlyYour .myshopify.com domain
full_syncbooleanNoImport all existing reviews (default: true)
start_bulk_ingestbooleanNoStart import immediately (default: true)

Response (201)

{
  "message": "Connected to okendo successfully",
  "platform": "okendo",
  "credential_id": 5,
  "credentials_verified": true,
  "webhook_url": "https://api.betterreviews.app/api/v1/reviews/webhooks/okendo",
  "webhook_events": ["review.created", "review.updated"],
  "ingestion_started": true,
  "ingestion_job_id": "uuid"
}

Disconnect Platform

POST /api/v1/reviews/disconnect

Request

{
  "platform": "okendo",
  "delete_reviews": false
}
FieldTypeDescription
platformstringPlatform to disconnect
delete_reviewsbooleanIf true, deletes all imported reviews from that platform

List Active Connections

GET /api/v1/reviews/platforms/credentials

Returns all active platform connections for your store.


Webhook Management

Subscribe

POST /api/v1/reviews/webhooks/subscribe

Register a webhook with the review platform to receive new reviews automatically.

Request

{
  "platform": "okendo",
  "events": ["review.created", "review.updated"]
}

List Subscriptions

GET /api/v1/reviews/webhooks/subscriptions

Unsubscribe

DELETE /api/v1/reviews/webhooks/unsubscribe/:platform


How Review Import Works

When full_sync: true, the system pages through all reviews from the platform API and imports them. Large catalogs (300K+ reviews) may take several minutes. Reviews are deduplicated by external review ID, so re-running is safe.

New reviews after the initial import arrive via webhooks automatically — no polling needed.