{
"errors": {
"authentication": "User not authenticated"
}
}
{
"errors": {
"json": "Your organization cannot push reviews for this partner",
"authorization": "Operation not allowed"
}
}
{
"errors": {
"json": "Partner not found"
}
}
{
"errors": {
"json": "Partner not found"
}
}
{
"errors": {
"json": "Partner not found"
}
}
Reviews
Create and update a review from a custom partner
This endpoint lets you push into Partoo the reviews you collect on your own platform,
through a custom review partner enabled on your organization.
A review is identified by the pair (partner_slug, external_id):
the first call with a given pair creates the review,
every later call with the same pair updates it in place.
Sending the same payload twice is therefore safe: the second call is a no-op and still
answers 200. Pushing a review you previously deleted restores it.
You can push for partners that are flagged as is_custom by
List review partners. Reviews created this
way behave like any other review: they are returned by
Search for reviews, they can be replied to,
and they trigger the review_created / review_updated webhooks.
You must use an API key with ORG_ADMIN rights and the review_edit permission, and the
business must belong to the organization of the API key’s.
The authentication system on Partoo API is using API Key that should be put in the header of the request (the name of the header is x-APIKey). An api_key is linked to a user. This user's role will give you different access level to the API features.
The review's unique id on the source platform. This is the key of the upsert:
re-sending the same external_id for the same partner_slug updates the
review instead of creating a new one.
It is returned as key and partner_id on the review. An external_id
already used by a review of another partner is rejected with a 409.
The reply already published on the source platform, if any. It is created with
the review, and updated on a later push carrying a different content or date.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Partoo API","colors":{"primary":"#0266F1","light":"#0266F1","dark":"#0266F1"},"logo":{"light":"https://mintcdn.com/partoo/TsLSUe0VyG69h3IT/assets/logo/partoo_logo_light.svg?fit=max\u0026auto=format\u0026n=TsLSUe0VyG69h3IT\u0026q=85\u0026s=c2706dd9b3d972be1546dde374b38064","dark":"https://mintcdn.com/partoo/TsLSUe0VyG69h3IT/assets/logo/partoo_logo_dark.svg?fit=max\u0026auto=format\u0026n=TsLSUe0VyG69h3IT\u0026q=85\u0026s=dfa0b161e3b8ff41e718c7a54adac157"},"favicon":"https://mintcdn.com/partoo/KeL2LkyU0Aa40gpF/assets/favicon.png?fit=max\u0026auto=format\u0026n=KeL2LkyU0Aa40gpF\u0026q=85\u0026s=0f76461469f69f649f6d0e2b92540b8f","background":{"decoration":"windows"},"navbar":{"primary":{"type":"button","label":"Go to app","href":"https://app.partoo.co/connection"}},"footer":{"socials":{"website":"https://www.partoo.co/en","linkedin":"https://www.linkedin.com/company/partoo","youtube":"https://www.youtube.com/channel/UC9ET1Ec9XVXKEeBX2dMOvUw"}},"integrations":{"ga4":{"measurementId":"G-SP9LKMW0WX"}},"contextual":{"options":["copy","view","chatgpt"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Contact Us","icon":"envelope","href":"/misc/help/how-to-get-help"},{"anchor":"Status Page","icon":"wrench","href":"https://status.partoo.co"},{"anchor":"OpenAPI Spec","icon":"download","href":"/misc/help/openapi-download"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"partoo","hasAudioNarration":false,"actualSubdomain":"partoo","customDomains":["developers.partoo.co"],"gitSource":{"type":"github","owner":"partoohub","repo":"partoo-api-docs","deployBranch":"master","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aeb14dd1ffad44139013602","clientVersion":"0.0.4088","searchFilterCounts":[{"language":"default","tag":"API Reference","count":187},{"language":"default","tag":"API Guides","count":33},{"language":"default","tag":"Businesses","count":30},{"language":"default","tag":"Resources","count":21},{"language":"default","tag":"Webhooks Events","count":21},{"language":"default","tag":"Reviews","count":15},{"language":"default","tag":"Feedback Management","count":14},{"language":"default","tag":"Settings","count":12},{"language":"default","tag":"Webhooks","count":12},{"language":"default","tag":"Users","count":10}]},"assistantConfig":{"enableAskAiButton":true,"enableAskAiSearchBar":false,"deflection":{"enabled":true,"email":"api@partoo.fr","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"assets/css/custom.css","content":"@font-face{font-family:\"Outfit\";font-style:normal;font-weight:100;src:url(\"/assets/font/Outfit-Thin.ttf\") format(\"truetype\");font-display:swap}@font-face{font-family:\"Outfit\";font-style:normal;font-weight:200;src:url(\"/assets/font/Outfit-ExtraLight.ttf\") format(\"truetype\");font-display:swap}@font-face{font-family:\"Outfit\";font-style:normal;font-weight:300;src:url(\"/assets/font/Outfit-Light.ttf\") format(\"truetype\");font-display:swap}@font-face{font-family:\"Outfit\";font-style:normal;font-weight:400;src:url(\"/assets/font/Outfit-Regular.ttf\") format(\"truetype\");font-display:swap}@font-face{font-family:\"Outfit\";font-style:normal;font-weight:500;src:url(\"/assets/font/Outfit-Medium.ttf\") format(\"truetype\");font-display:swap}@font-face{font-family:\"Outfit\";font-style:normal;font-weight:600;src:url(\"/assets/font/Outfit-SemiBold.ttf\") format(\"truetype\");font-display:swap}@font-face{font-family:\"Outfit\";font-style:normal;font-weight:700;src:url(\"/assets/font/Outfit-Bold.ttf\") format(\"truetype\");font-display:swap}@font-face{font-family:\"Outfit\";font-style:normal;font-weight:800;src:url(\"/assets/font/Outfit-ExtraBold.ttf\") format(\"truetype\");font-display:swap}@font-face{font-family:\"Outfit\";font-style:normal;font-weight:900;src:url(\"/assets/font/Outfit-Black.ttf\") format(\"truetype\");font-display:swap}body{font-family:\"Outfit\", sans-serif}h1{font-size:30px;font-weight:700}h1,h2,h3,h4,h5,h6{font-family:\"Outfit\", sans-serif}.mdx-content{font-family:\"Outfit\", sans-serif;font-size:17px}#sidebar-title{font-family:\"Outfit\", sans-serif;font-size:13px;font-weight:600;text-transform:uppercase;line-height:24px}.sidebar-group-icon{width:20px;height:20px}#navigation-items,#sidebar-group{display:flex;flex-direction:column;gap:4px}#sidebar-group>li,.sidebar-group>li{font-family:\"Outfit\", sans-serif;font-size:15px}.sidebar-group+.sidebar-group{margin-top:4px}li[data-group-tag]>ul>li+li{margin-top:4px}[data-component-part=\"callout-content\"]>*{font-size:15px}[data-component-part=\"callout-content\"] strong,[data-component-part=\"callout-content\"] b{color:inherit}#footer>div.flex.items-center.justify-between:nth-of-type(2){display:none}.effective-tag{display:inline-flex;align-items:center;gap:6px;margin-bottom:14px;padding:3px 12px;border-radius:9999px;background-color:#fef3c7;color:#92400e;border:1px solid #fcd34d;font-family:\"Outfit\", sans-serif;font-size:13px;font-weight:600;line-height:1.5;white-space:nowrap}.dark .effective-tag{background-color:rgba(120, 53, 15, 0.35);color:#fcd34d;border-color:rgba(180, 83, 9, 0.6)}"}],"page":{"pagePath":"api-reference/reviews/create-and-update-a-review-from-a-custom-partner","slug":"/api-reference/reviews/create-and-update-a-review-from-a-custom-partner","pageMetadata":{"title":"Create and update a review from a custom partner","description":"This endpoint lets you push into Partoo the reviews you collect on your own platform,\nthrough a **custom review partner** enabled on your organization.\n\nA review is identified by the pair (`partner_slug`, `external_id`):\n- the first call with a given pair **creates** the review,\n- every later call with the same pair **updates** it in place.\n\nSending the same payload twice is therefore safe: the second call is a no-op and still\nanswers `200`. Pushing a review you previously deleted **restores** it.\n\nYou can push for partners that are flagged as `is_custom` by\n[List review partners](/api-reference/reviews/list-review-partners). Reviews created this\nway behave like any other review: they are returned by\n[Search for reviews](/api-reference/reviews/search-for-reviews), they can be replied to,\nand they trigger the `review_created` / `review_updated` webhooks.\n\nYou must use an API key with `ORG_ADMIN` rights and the `review_edit` permission, and the\nbusiness must belong to the organization of the API key's.\n","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /reviews","href":"/api-reference/reviews/create-and-update-a-review-from-a-custom-partner","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n a: \"a\",\n code: \"code\",\n li: \"li\",\n p: \"p\",\n strong: \"strong\",\n ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"This endpoint lets you push into Partoo the reviews you collect on your own platform,\\nthrough a \", _jsx(_components.strong, {\n children: \"custom review partner\"\n }), \" enabled on your organization.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"A review is identified by the pair (\", _jsx(_components.code, {\n children: \"partner_slug\"\n }), \", \", _jsx(_components.code, {\n children: \"external_id\"\n }), \"):\"]\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"the first call with a given pair \", _jsx(_components.strong, {\n children: \"creates\"\n }), \" the review,\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"every later call with the same pair \", _jsx(_components.strong, {\n children: \"updates\"\n }), \" it in place.\"]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Sending the same payload twice is therefore safe: the second call is a no-op and still\\nanswers \", _jsx(_components.code, {\n children: \"200\"\n }), \". Pushing a review you previously deleted \", _jsx(_components.strong, {\n children: \"restores\"\n }), \" it.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"You can push for partners that are flagged as \", _jsx(_components.code, {\n children: \"is_custom\"\n }), \" by\\n\", _jsx(_components.a, {\n href: \"/api-reference/reviews/list-review-partners\",\n children: \"List review partners\"\n }), \". Reviews created this\\nway behave like any other review: they are returned by\\n\", _jsx(_components.a, {\n href: \"/api-reference/reviews/search-for-reviews\",\n children: \"Search for reviews\"\n }), \", they can be replied to,\\nand they trigger the \", _jsx(_components.code, {\n children: \"review_created\"\n }), \" / \", _jsx(_components.code, {\n children: \"review_updated\"\n }), \" webhooks.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"You must use an API key with \", _jsx(_components.code, {\n children: \"ORG_ADMIN\"\n }), \" rights and the \", _jsx(_components.code, {\n children: \"review_edit\"\n }), \" permission, and the\\nbusiness must belong to the organization of the API key’s.\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Create and update a review from a custom partner","description":"This endpoint lets you push into Partoo the reviews you collect on your own platform,\nthrough a **custom review partner** enabled on your organization.\n\nA review is identified by the pair (`partner_slug`, `external_id`):\n- the first call with a given pair **creates** the review,\n- every later call with the same pair **updates** it in place.\n\nSending the same payload twice is therefore safe: the second call is a no-op and still\nanswers `200`. Pushing a review you previously deleted **restores** it.\n\nYou can push for partners that are flagged as `is_custom` by\n[List review partners](/api-reference/reviews/list-review-partners). Reviews created this\nway behave like any other review: they are returned by\n[Search for reviews](/api-reference/reviews/search-for-reviews), they can be replied to,\nand they trigger the `review_created` / `review_updated` webhooks.\n\nYou must use an API key with `ORG_ADMIN` rights and the `review_edit` permission, and the\nbusiness must belong to the organization of the API key's.\n","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /reviews","href":"/api-reference/reviews/create-and-update-a-review-from-a-custom-partner","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/partoo/9c46dd6e2258b878/commitlint.config.js"],"openApiReferenceData":{"operation":{"tags":["Reviews"],"summary":"Create and update a review from a custom partner","operationId":"upsertReview","description":"This endpoint lets you push into Partoo the reviews you collect on your own platform,\nthrough a **custom review partner** enabled on your organization.\n\nA review is identified by the pair (`partner_slug`, `external_id`):\n- the first call with a given pair **creates** the review,\n- every later call with the same pair **updates** it in place.\n\nSending the same payload twice is therefore safe: the second call is a no-op and still\nanswers `200`. Pushing a review you previously deleted **restores** it.\n\nYou can push for partners that are flagged as `is_custom` by\n[List review partners](/api-reference/reviews/list-review-partners). Reviews created this\nway behave like any other review: they are returned by\n[Search for reviews](/api-reference/reviews/search-for-reviews), they can be replied to,\nand they trigger the `review_created` / `review_updated` webhooks.\n\nYou must use an API key with `ORG_ADMIN` rights and the `review_edit` permission, and the\nbusiness must belong to the organization of the API key's.\n","requestBody":"2b5dc4ae-47d7-4349-86b2-0710c2cc2a9d","responses":{"200":"a4b80c2e-b2c7-4b74-a6ab-17e44de7ac9c","400":"018663f9-ba92-4cdc-ab9e-a9ff2193be3d","401":"a0a08a74-33f8-4c1a-b21f-de040d11da09","403":"17959cb6-a1af-4b92-82ab-834e2d5a6331","404":"51b14158-2e96-4692-ad71-8fe1e3fab4cb","409":"6fab2a4e-2b74-484a-92a1-43d29e2e5d76","500":"2579f439-00a0-4801-8f1f-f08e20273a83"},"method":"post","type":"path","servers":["76a2206f-c1bb-43af-851a-c18d9f163cb8","2d0a2165-f476-4d93-aea2-325fef8135d9"],"security":["36cca613-794e-4920-86ac-d9174ee114c1"],"path":"/reviews","baseUrlOptions":["https://api.partoo.co/v2","https://api.sandbox.partoo.co/v2"],"title":"Create and update a review from a custom partner","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"description":"The review to create or update","type":"object","required":["partner_slug","external_id","business_id","rating","author","date"],"properties":{"partner_slug":{"type":"string","minLength":1,"maxLength":100,"description":"Slug of the custom partner the review comes from.\n\nIt must be a partner enabled on your organization, returned with\n`is_custom: true` by [List review partners](/api-reference/reviews/list-review-partners).\n","example":"custom_partner","isRequired":true,"uniqueKey":"partner_slug","typeLabel":"string"},"external_id":{"type":"string","minLength":1,"maxLength":255,"description":"The review's unique id on the source platform. This is the key of the upsert:\nre-sending the same `external_id` for the same `partner_slug` updates the\nreview instead of creating a new one.\n\nIt is returned as `key` and `partner_id` on the review. An `external_id`\nalready used by a review of **another** partner is rejected with a `409`.\n","example":"ue-review-8f21c0","isRequired":true,"uniqueKey":"external_id","typeLabel":"string"},"business_id":{"description":"Business id","type":"string","example":"5409c35a97bbc544d8e26737","isRequired":true,"uniqueKey":"business_id","typeLabel":"string"},"rating":{"type":"integer","minimum":1,"maximum":5,"description":"Star rating given by the author.","example":4,"isRequired":true,"uniqueKey":"rating","typeLabel":"integer"},"author":{"type":"object","description":"Author of the review, as displayed on the source platform.","required":["display_name"],"properties":{"display_name":{"type":"string","minLength":1,"maxLength":255,"description":"Name displayed for the author. Returned as `author_name` on the review.\n","example":"Camille D.","isRequired":true,"uniqueKey":"author.display_name","typeLabel":"string"},"is_anonymous":{"type":"boolean","default":false,"description":"Whether the author chose to stay anonymous on the source platform.\n\n**Note:** accepted for forward compatibility — it is not stored and not\nreturned on the review today. Use a generic `display_name` for an\nanonymous author.\n","uniqueKey":"author.is_anonymous","typeLabel":"boolean"},"profile_photo_url":{"oneOf":[{"type":"string","format":"uri","description":"Public URL of the author's profile picture.\n\n**Note:** accepted for forward compatibility — it is not stored and not\nreturned on the review today.\n","uniqueKey":"author.profile_photo_url.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","format":"uri","description":"Public URL of the author's profile picture.\n\n**Note:** accepted for forward compatibility — it is not stored and not\nreturned on the review today.\n","uniqueKey":"author.profile_photo_url.oneOf.1","typeLabel":"null"}],"uniqueKey":"author.profile_photo_url","typeLabel":"string\u003curi> | null"}},"isRequired":true,"uniqueKey":"author","typeLabel":"object"},"date":{"type":"string","format":"date-time","description":"When the review was posted on the source platform.\n\nThe offset is required (for example `+02:00` or `Z`); Partoo stores the date in\nUTC and renders it in the business timezone.\n\nTwo reviews of the same business cannot share the same `date` **and**\n`author.display_name`: such a push answers `409`.\n","example":"2026-09-15T18:32:11+02:00","isRequired":true,"uniqueKey":"date","typeLabel":"string\u003cdate-time>"},"content":{"oneOf":[{"type":"string","maxLength":4096,"description":"Body of the review. Omit it for a rating-only review.","example":"Fast delivery, meal was still hot. Thanks !","uniqueKey":"content.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":4096,"description":"Body of the review. Omit it for a rating-only review.","example":"Fast delivery, meal was still hot. Thanks !","uniqueKey":"content.oneOf.1","typeLabel":"null"}],"uniqueKey":"content","typeLabel":"string | null"},"update_date":{"type":"string","format":"date-time","description":"Last update of the review on the source platform. Defaults to `date`, and\ncannot be earlier than it.\n","example":"2026-09-16T09:04:55+02:00","uniqueKey":"update_date","typeLabel":"string\u003cdate-time>"},"link":{"oneOf":[{"type":"string","format":"uri","description":"Public URL of the review on the source platform.","example":"https://www.custom_partner.com/reviews/8f21c0","uniqueKey":"link.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","format":"uri","description":"Public URL of the review on the source platform.","example":"https://www.custom_partner.com/reviews/8f21c0","uniqueKey":"link.oneOf.1","typeLabel":"null"}],"uniqueKey":"link","typeLabel":"string\u003curi> | null"},"reply":{"oneOf":[{"type":"object","description":"The reply already published on the source platform, if any. It is created with\nthe review, and updated on a later push carrying a different content or date.\n\nReplies written from Partoo are handled by\n[Post a reply to a review](/api-reference/reviews/post-a-reply-to-a-review)\ninstead.\n","required":["content","date"],"properties":{"content":{"type":"string","minLength":1,"maxLength":4096,"description":"Body of the reply.","example":"Thank you for your review!","isRequired":true,"uniqueKey":"reply.oneOf.0.content","typeLabel":"string"},"date":{"type":"string","format":"date-time","description":"When the reply was posted on the source platform. The offset is required.\n","example":"2026-09-16T09:04:55+02:00","isRequired":true,"uniqueKey":"reply.oneOf.0.date","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"reply.oneOf.0","typeLabel":"object"},{"type":"null","description":"The reply already published on the source platform, if any. It is created with\nthe review, and updated on a later push carrying a different content or date.\n\nReplies written from Partoo are handled by\n[Post a reply to a review](/api-reference/reviews/post-a-reply-to-a-review)\ninstead.\n","required":["content","date"],"properties":{"content":{"type":"string","minLength":1,"maxLength":4096,"description":"Body of the reply.","example":"Thank you for your review!"},"date":{"type":"string","format":"date-time","description":"When the reply was posted on the source platform. The offset is required.\n","example":"2026-09-16T09:04:55+02:00"}},"uniqueKey":"reply.oneOf.1","typeLabel":"null"}],"uniqueKey":"reply","typeLabel":"object | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"partner_slug":"custom_partner","external_id":"ue-review-8f21c0","business_id":"5409c35a97bbc544d8e26737","rating":4,"author":{"display_name":"Camille D.","is_anonymous":false,"profile_photo_url":"\u003cstring>"},"date":"2026-09-15T18:32:11+02:00","content":"Fast delivery, meal was still hot. Thanks !","update_date":"2026-09-16T09:04:55+02:00","link":"https://www.custom_partner.com/reviews/8f21c0","reply":{"content":"Thank you for your review!","date":"2026-09-16T09:04:55+02:00"}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"a4b80c2e-b2c7-4b74-a6ab-17e44de7ac9c":{"description":"The review that was created or updated","content":{"application/json":{"schema":{"description":"Business Review on partner","type":"object","properties":{"key":{"type":"string","description":"Identifier of the review on the partner platform. For a review pushed through a\ncustom partner, this is the `external_id` you sent.\n","uniqueKey":"key","typeLabel":"string"},"org_id":{"description":"Unique identifier of an organization in Partoo.","type":"integer","example":42,"uniqueKey":"org_id","typeLabel":"integer"},"id":{"type":"integer","description":"Review id","example":34,"uniqueKey":"id","typeLabel":"integer"},"business_id":{"description":"Business id","type":"string","example":"5409c35a97bbc544d8e26737","uniqueKey":"business_id","typeLabel":"string"},"partner":{"type":"string","description":"Review partner slug","example":"google_my_business","uniqueKey":"partner","typeLabel":"string"},"partner_id":{"type":"string","description":"Review id on publisher","example":"accounts/114063712393225091258/locations/74805271119400652054","uniqueKey":"partner_id","typeLabel":"string"},"author_name":{"type":"string","description":"The author name of the review.\n\n**Note:** Replies don't have an author.\n","example":"Castorche","uniqueKey":"author_name","typeLabel":"string"},"date":{"type":"string","description":"Review creation date","format":"datetime","example":"2017-07-01T16:10:23.156000+02:00","uniqueKey":"date","typeLabel":"string\u003cdatetime>"},"update_date":{"type":"string","description":"Review update date","format":"datetime","example":"2017-08-01T19:15:54.256000+02:00","uniqueKey":"update_date","typeLabel":"string\u003cdatetime>"},"delete_date":{"type":"string","description":"Review deletion date (only specified if the review has been deleted)","format":"datetime","uniqueKey":"delete_date","typeLabel":"string\u003cdatetime>"},"rating":{"type":"integer","description":"Review rating (can be null)","maximum":5,"minimum":0,"example":3,"uniqueKey":"rating","typeLabel":"integer"},"recommended":{"type":"boolean","description":"Review recommended (can be null)","uniqueKey":"recommended","typeLabel":"boolean"},"title":{"type":"string","description":"Review title","uniqueKey":"title","typeLabel":"string"},"content":{"type":"string","description":"Review body content","example":"Magasin un peu vieillot , mais personnel très sympathique, nombreuses références en rayons , un très bon choix côté vin...","uniqueKey":"content","typeLabel":"string"},"state":{"type":"string","description":"Reply state","enum":["treated","not_treated","deleted"],"uniqueKey":"state","typeLabel":"enum\u003cstring>"},"link":{"type":"string","format":"uri","description":"Link to review on publisher platform","uniqueKey":"link","typeLabel":"string\u003curi>"},"comments":{"type":"array","description":"Replies to the review","items":{"description":"Reply to a review","type":"object","properties":{"id":{"type":"integer","description":"Comment id","example":82938,"uniqueKey":"comments.items.[INDEX].id","typeLabel":"integer"},"partner_id":{"type":"string","description":"Review id on publisher","example":"accounts/114063712393225091258/locations/74805271119400652054","uniqueKey":"comments.items.[INDEX].partner_id","typeLabel":"string"},"created":{"type":"string","description":"Creation date on Partoo","format":"datetime","example":"2019-08-01T19:15:54.256000+02:00","uniqueKey":"comments.items.[INDEX].created","typeLabel":"string\u003cdatetime>"},"author_name":{"type":"string","description":"The author name of the review.\n\n**Note:** Replies don't have an author.\n","example":"Castorche","uniqueKey":"comments.items.[INDEX].author_name","typeLabel":"string"},"content":{"type":"string","description":"Reply content","example":"Merci ❤️","uniqueKey":"comments.items.[INDEX].content","typeLabel":"string"},"date":{"type":"string","description":"Comment date","format":"datetime","example":"2017-08-01T19:15:54.256000+02:00","uniqueKey":"comments.items.[INDEX].date","typeLabel":"string\u003cdatetime>"},"update_date":{"type":"string","format":"datetime","description":"Comment update date. Only specified if the comment was updated\n","example":"2017-08-01T19:15:54.256000+02:00","uniqueKey":"comments.items.[INDEX].update_date","typeLabel":"string\u003cdatetime>"},"can_edit":{"type":"boolean","description":"If the current user can or cannot edit a reply\n\n**Note:** This applies on Facebook replies only.\nA reply left by an external user on Facebook cannot be edited.\n","example":true,"uniqueKey":"comments.items.[INDEX].can_edit","typeLabel":"boolean"},"review_id":{"type":"integer","description":"Review id","example":34,"uniqueKey":"comments.items.[INDEX].review_id","typeLabel":"integer"},"parent_id":{"type":"integer","description":"id of the parent comment.\nIs only specified if the comment is a reply to another comment\n\n**Note:** This applies on Facebook replies only.\n","uniqueKey":"comments.items.[INDEX].parent_id","typeLabel":"integer"},"user_id":{"type":"string","description":"User id of the comment author\n","example":"123456789abcdef2f60c42ff","uniqueKey":"comments.items.[INDEX].user_id","typeLabel":"string"},"is_reply_suggestion":{"type":"boolean","description":"If AI reply suggestion was used to generate this comment\n","uniqueKey":"comments.items.[INDEX].is_reply_suggestion","typeLabel":"boolean"},"replies":{"type":"array","items":{"$circularRef":"8df6584c-1785-47df-af9b-015f098471d2"},"description":"List of replies to this comment\n","uniqueKey":"comments.items.[INDEX].replies","typeLabel":"array"}},"uniqueKey":"comments.items.[INDEX]","typeLabel":"object"},"uniqueKey":"comments","typeLabel":"object[]"},"tags":{"type":"array","description":"Tags associated to the review","items":{"description":"Tag","type":"object","properties":{"id":{"description":"Tag id","type":"integer","example":25,"uniqueKey":"tags.items.[INDEX].id","typeLabel":"integer"},"label":{"type":"string","description":"The label of the tag","example":"food","uniqueKey":"tags.items.[INDEX].label","typeLabel":"string"},"color":{"description":"The color of the tag, in hexadecimal representation","type":"string","enum":["#808080","#9B7CDB","#F47FBE","#4D4D4D","#9E6957","#2F8DE4","#37CED0","#53C944","#B1DA34","#F78234","#F4BD38","#992842"],"example":"#808080","uniqueKey":"tags.items.[INDEX].color","typeLabel":"enum\u003cstring>"}},"uniqueKey":"tags.items.[INDEX]","typeLabel":"object"},"uniqueKey":"tags","typeLabel":"object[]"},"media_links":{"type":"array","description":"Array of Google photo URLs associated with the review.\n\nPopulated when `with_media_links=true` query parameter is used.\nEmpty array if no associated media found or if `with_media_links=false`.\n","items":{"type":"string","format":"uri","uniqueKey":"media_links.items.[INDEX]","typeLabel":"string\u003curi>"},"example":["https://lh3.googleusercontent.com/gpms...","https://lh3.googleusercontent.com/gpms-cs-s/AB8u6HYwO..."],"uniqueKey":"media_links","typeLabel":"string\u003curi>[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"key":"\u003cstring>","org_id":42,"id":34,"business_id":"5409c35a97bbc544d8e26737","partner":"google_my_business","partner_id":"accounts/114063712393225091258/locations/74805271119400652054","author_name":"Castorche","date":"2017-07-01T16:10:23.156000+02:00","update_date":"2017-08-01T19:15:54.256000+02:00","delete_date":"\u003cstring>","rating":3,"recommended":true,"title":"\u003cstring>","content":"Magasin un peu vieillot , mais personnel très sympathique, nombreuses références en rayons , un très bon choix côté vin...","state":"treated","link":"\u003cstring>","comments":[{"id":82938,"partner_id":"accounts/114063712393225091258/locations/74805271119400652054","created":"2019-08-01T19:15:54.256000+02:00","author_name":"Castorche","content":"Merci ❤️","date":"2017-08-01T19:15:54.256000+02:00","update_date":"2017-08-01T19:15:54.256000+02:00","can_edit":true,"review_id":34,"parent_id":123,"user_id":"123456789abcdef2f60c42ff","is_reply_suggestion":true,"replies":"\u003carray>"}],"tags":[{"id":25,"label":"food","color":"#808080"}],"media_links":["https://lh3.googleusercontent.com/gpms...","https://lh3.googleusercontent.com/gpms-cs-s/AB8u6HYwO..."]}}},"exampleType":"generated"}},"exampleType":"generated"},"018663f9-ba92-4cdc-ab9e-a9ff2193be3d":{"description":"Your request is incorrect","content":{"application/json":{"schema":{"description":"Error that occcurs when your request is incorrect\n","properties":{"errors":{"type":"object","description":"The detail of the error encountered","properties":{"json":{"type":"object","uniqueKey":"errors.json","typeLabel":"object"}},"uniqueKey":"errors","typeLabel":"object"}},"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"errors":{"json":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"a0a08a74-33f8-4c1a-b21f-de040d11da09":{"description":"You are not authenticated","content":{"application/json":{"schema":{"description":"Error that occurs when you are not authenticated","type":"object","properties":{"errors":{"type":"object","description":"The detail of the error encountered","properties":{"authentication":{"type":"string","default":"User not authenticated","uniqueKey":"errors.authentication","typeLabel":"string"}},"uniqueKey":"errors","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"errors":{"authentication":"User not authenticated"}}}},"exampleType":"generated"}},"exampleType":"generated"},"17959cb6-a1af-4b92-82ab-834e2d5a6331":{"description":"You are not allowed to perform this action. Either:\n- the API key's user is not an `ORG_ADMIN`, lacks the `review_edit` permission, or has\n no write access to the business (`errors.authorization`),\n- or your organization is not enabled for this custom partner (`errors.json`).\n","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"object","description":"The detail of the error encountered","properties":{"json":{"type":"string","example":"Your organization cannot push reviews for this partner","uniqueKey":"errors.json","typeLabel":"string"},"authorization":{"type":"string","example":"Operation not allowed","uniqueKey":"errors.authorization","typeLabel":"string"}},"uniqueKey":"errors","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"errors":{"json":"Your organization cannot push reviews for this partner","authorization":"Operation not allowed"}}}},"exampleType":"generated"}},"exampleType":"generated"},"51b14158-2e96-4692-ad71-8fe1e3fab4cb":{"description":"Unknown `partner_slug`, a slug that is not a custom partner, unknown `business_id`.\n","content":{"application/json":{"schema":{"description":"Error returned when a review cannot be pushed or deleted","type":"object","properties":{"errors":{"type":"object","description":"The detail of the error encountered","properties":{"json":{"type":"string","description":"Reason the request was refused","example":"Partner not found","uniqueKey":"errors.json","typeLabel":"string"}},"uniqueKey":"errors","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"errors":{"json":"Partner not found"}}}},"exampleType":"generated"}},"exampleType":"generated"},"6fab2a4e-2b74-484a-92a1-43d29e2e5d76":{"description":"The review conflicts with an existing one. Either the business already has a review\nwith the same `date` and `author.display_name`, or the `external_id` is already used\nby a review of another partner.\n","content":{"application/json":{"schema":{"description":"Error returned when a review cannot be pushed or deleted","type":"object","properties":{"errors":{"type":"object","description":"The detail of the error encountered","properties":{"json":{"type":"string","description":"Reason the request was refused","example":"Partner not found","uniqueKey":"errors.json","typeLabel":"string"}},"uniqueKey":"errors","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"errors":{"json":"Partner not found"}}}},"exampleType":"generated"}},"exampleType":"generated"},"2579f439-00a0-4801-8f1f-f08e20273a83":{"description":"The review, or its reply, could not be saved. The push is safe to retry: it is keyed on\n(`partner_slug`, `external_id`), so a retry never duplicates the review.\n","content":{"application/json":{"schema":{"description":"Error returned when a review cannot be pushed or deleted","type":"object","properties":{"errors":{"type":"object","description":"The detail of the error encountered","properties":{"json":{"type":"string","description":"Reason the request was refused","example":"Partner not found","uniqueKey":"errors.json","typeLabel":"string"}},"uniqueKey":"errors","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"errors":{"json":"Partner not found"}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"36cca613-794e-4920-86ac-d9174ee114c1":{"ApiKeyAuth":{"description":"The authentication system on Partoo API is using API Key that should be put in the header of the request (the name of the header is `x-APIKey`). An api_key is linked to a user. This user's role will give you different access level to the API features.\n","type":"apiKey","in":"header","name":"x-APIKey","scopes":[],"schemeName":"ApiKeyAuth"}}},"servers":{"76a2206f-c1bb-43af-851a-c18d9f163cb8":{"url":"https://api.partoo.co/v2","description":"Production server"},"2d0a2165-f476-4d93-aea2-325fef8135d9":{"url":"https://api.sandbox.partoo.co/v2","description":"Sandbox server (dev environment for clients \u0026 partners)"}},"schemas":{"8df6584c-1785-47df-af9b-015f098471d2":{"description":"Reply to a review","type":"object","properties":{"id":{"type":"integer","description":"Comment id","example":82938},"partner_id":{"type":"string","description":"Review id on publisher","example":"accounts/114063712393225091258/locations/74805271119400652054"},"created":{"type":"string","description":"Creation date on Partoo","format":"datetime","example":"2019-08-01T19:15:54.256000+02:00"},"author_name":{"type":"string","description":"The author name of the review.\n\n**Note:** Replies don't have an author.\n","example":"Castorche"},"content":{"type":"string","description":"Reply content","example":"Merci ❤️"},"date":{"type":"string","description":"Comment date","format":"datetime","example":"2017-08-01T19:15:54.256000+02:00"},"update_date":{"type":"string","format":"datetime","description":"Comment update date. Only specified if the comment was updated\n","example":"2017-08-01T19:15:54.256000+02:00"},"can_edit":{"type":"boolean","description":"If the current user can or cannot edit a reply\n\n**Note:** This applies on Facebook replies only.\nA reply left by an external user on Facebook cannot be edited.\n","example":true},"review_id":{"type":"integer","description":"Review id","example":34},"parent_id":{"type":"integer","description":"id of the parent comment.\nIs only specified if the comment is a reply to another comment\n\n**Note:** This applies on Facebook replies only.\n"},"user_id":{"type":"string","description":"User id of the comment author\n","example":"123456789abcdef2f60c42ff"},"is_reply_suggestion":{"type":"boolean","description":"If AI reply suggestion was used to generate this comment\n"},"replies":{"type":"array","items":{"$circularRef":"8df6584c-1785-47df-af9b-015f098471d2"},"description":"List of replies to this comment\n"}}}},"processedSecurityOptions":[{"schemes":[{"scheme":{"description":"The authentication system on Partoo API is using API Key that should be put in the header of the request (the name of the header is `x-APIKey`). An api_key is linked to a user. This user's role will give you different access level to the API features.\n","type":"apiKey","in":"header","name":"x-APIKey","scopes":[],"schemeName":"ApiKeyAuth"},"schema":{"title":"x-APIKey","type":"string","description":"The authentication system on Partoo API is using API Key that should be put in the header of the request (the name of the header is `x-APIKey`). An api_key is linked to a user. This user's role will give you different access level to the API features.\n","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"ApiKeyAuth","name":"x-APIKey"}],"title":"ApiKeyAuth"}]},"originalFileLocation":"assets/openapi/openapi-bundled.yaml"},"subdomain":"partoo","siteName":"Partoo API","title":"Create and update a review from a custom partner - Partoo API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-28T14:00:34.001Z","originalFileLocation":"api-reference/reviews/create-and-update-a-review-from-a-custom-partner.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"This endpoint lets you push into Partoo the reviews you collect on your own platform, through a custom review partner enabled on your organization. A review is identified by the pair (partner_slug, external_id): - the first call with a given pair creates the review, - every later call with the same pair updates it in place. Sending the same payload twice is therefore safe: the second call is a no-op and still answers 200. Pushing a review you previously deleted restores it. You can push for partners that are flagged as is_custom by List review partners. Reviews created this way behave like any other review: they are returned by Search for reviews, they can be replied to, and they trigger the review_created / review_updated webhooks. You must use an API key with ORG_ADMIN rights and the review_edit permission, and the business must belong to the organization of the API key\u0026#x27;s.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Partoo API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/partoo/iSD9OpeAJmM-nq5n/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/partoo/iSD9OpeAJmM-nq5n/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/partoo/iSD9OpeAJmM-nq5n/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/partoo/iSD9OpeAJmM-nq5n/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/partoo/iSD9OpeAJmM-nq5n/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/partoo/iSD9OpeAJmM-nq5n/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/partoo/iSD9OpeAJmM-nq5n/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/partoo/iSD9OpeAJmM-nq5n/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/partoo/iSD9OpeAJmM-nq5n/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create and update a review from a custom partner - Partoo API\">\u003cmeta data-mint-head property=\"og:description\" content=\"This endpoint lets you push into Partoo the reviews you collect on your own platform, through a custom review partner enabled on your organization. A review is identified by the pair (partner_slug, external_id): - the first call with a given pair creates the review, - every later call with the same pair updates it in place. Sending the same payload twice is therefore safe: the second call is a no-op and still answers 200. Pushing a review you previously deleted restores it. You can push for partners that are flagged as is_custom by List review partners. Reviews created this way behave like any other review: they are returned by Search for reviews, they can be replied to, and they trigger the review_created / review_updated webhooks. You must use an API key with ORG_ADMIN rights and the review_edit permission, and the business must belong to the organization of the API key\u0026#x27;s.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Partoo API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developers.partoo.co/api-reference/reviews/create-and-update-a-review-from-a-custom-partner\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://partoo.mintlify.site/_mintlify/api/og/v2?division=Reviews\u0026amp;title=Create+and+update+a+review+from+a+custom+partner\u0026amp;description=This+endpoint+lets+you+push+into+Partoo+the+reviews+you+collect+on+your+own+platform%2C%0Athrough+a+**custom+review+partner**+enabled+on+your+organization.%0A%0AA+revie\u0026amp;theme=451deef761086627b198f8eb\u0026amp;signature=4ab05347d5af473809b00315e334d4842a079dbf2bedd020cfe85272e8aa3a22\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Create and update a review from a custom partner - Partoo API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"This endpoint lets you push into Partoo the reviews you collect on your own platform, through a custom review partner enabled on your organization. A review is identified by the pair (partner_slug, external_id): - the first call with a given pair creates the review, - every later call with the same pair updates it in place. Sending the same payload twice is therefore safe: the second call is a no-op and still answers 200. Pushing a review you previously deleted restores it. You can push for partners that are flagged as is_custom by List review partners. Reviews created this way behave like any other review: they are returned by Search for reviews, they can be replied to, and they trigger the review_created / review_updated webhooks. You must use an API key with ORG_ADMIN rights and the review_edit permission, and the business must belong to the organization of the API key\u0026#x27;s.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://partoo.mintlify.site/_mintlify/api/og/v2?division=Reviews\u0026amp;title=Create+and+update+a+review+from+a+custom+partner\u0026amp;description=This+endpoint+lets+you+push+into+Partoo+the+reviews+you+collect+on+your+own+platform%2C%0Athrough+a+**custom+review+partner**+enabled+on+your+organization.%0A%0AA+revie\u0026amp;theme=451deef761086627b198f8eb\u0026amp;signature=4ab05347d5af473809b00315e334d4842a079dbf2bedd020cfe85272e8aa3a22\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/partoo/iSD9OpeAJmM-nq5n/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Partoo API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0266F1\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developers.partoo.co/api-reference/reviews/create-and-update-a-review-from-a-custom-partner\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/reviews/create-and-update-a-review-from-a-custom-partner.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://developers.partoo.co/#organization\",\"name\":\"Partoo API\",\"url\":\"https://developers.partoo.co\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/partoo/TsLSUe0VyG69h3IT/assets/logo/partoo_logo_light.svg?fit=max\u0026auto=format\u0026n=TsLSUe0VyG69h3IT\u0026q=85\u0026s=c2706dd9b3d972be1546dde374b38064\"}},{\"@type\":\"WebSite\",\"@id\":\"https://developers.partoo.co#website\",\"name\":\"Partoo API\",\"url\":\"https://developers.partoo.co\",\"publisher\":{\"@id\":\"https://developers.partoo.co/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developers.partoo.co/api-reference/reviews/create-and-update-a-review-from-a-custom-partner#webpage\",\"url\":\"https://developers.partoo.co/api-reference/reviews/create-and-update-a-review-from-a-custom-partner\",\"name\":\"Create and update a review from a custom partner\",\"description\":\"This endpoint lets you push into Partoo the reviews you collect on your own platform, through a custom review partner enabled on your organization. A review is identified by the pair (partner_slug, external_id): - the first call with a given pair creates the review, - every later call with the same pair updates it in place. Sending the same payload twice is therefore safe: the second call is a no-op and still answers 200. Pushing a review you previously deleted restores it. You can push for partners that are flagged as is_custom by List review partners. Reviews created this way behave like any other review: they are returned by Search for reviews, they can be replied to, and they trigger the review_created / review_updated webhooks. You must use an API key with ORG_ADMIN rights and the review_edit permission, and the business must belong to the organization of the API key's.\",\"dateModified\":\"2026-10-28T14:00:34.001Z\",\"isPartOf\":{\"@id\":\"https://developers.partoo.co#website\"},\"breadcrumb\":{\"@id\":\"https://developers.partoo.co/api-reference/reviews/create-and-update-a-review-from-a-custom-partner#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developers.partoo.co/api-reference/reviews/create-and-update-a-review-from-a-custom-partner#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Reviews\",\"item\":\"https://developers.partoo.co/api-reference/reviews/search-for-reviews\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create and update a review from a custom partner\",\"item\":\"https://developers.partoo.co/api-reference/reviews/create-and-update-a-review-from-a-custom-partner\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://developers.partoo.co/api-reference/reviews/create-and-update-a-review-from-a-custom-partner#apireference\",\"headline\":\"Create and update a review from a custom partner\",\"name\":\"Create and update a review from a custom partner\",\"description\":\"This endpoint lets you push into Partoo the reviews you collect on your own platform, through a custom review partner enabled on your organization. A review is identified by the pair (partner_slug, external_id): - the first call with a given pair creates the review, - every later call with the same pair updates it in place. Sending the same payload twice is therefore safe: the second call is a no-op and still answers 200. Pushing a review you previously deleted restores it. You can push for partners that are flagged as is_custom by List review partners. Reviews created this way behave like any other review: they are returned by Search for reviews, they can be replied to, and they trigger the review_created / review_updated webhooks. You must use an API key with ORG_ADMIN rights and the review_edit permission, and the business must belong to the organization of the API key's.\",\"url\":\"https://developers.partoo.co/api-reference/reviews/create-and-update-a-review-from-a-custom-partner\",\"mainEntityOfPage\":{\"@id\":\"https://developers.partoo.co/api-reference/reviews/create-and-update-a-review-from-a-custom-partner#webpage\"},\"dateModified\":\"2026-10-28T14:00:34.001Z\",\"publisher\":{\"@id\":\"https://developers.partoo.co/#organization\"},\"isPartOf\":{\"@id\":\"https://developers.partoo.co#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Partoo API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Partoo API","nav":{"global":{"anchors":[{"anchor":"Contact Us","icon":"envelope","href":"/misc/help/how-to-get-help"},{"anchor":"Status Page","icon":"wrench","href":"https://status.partoo.co"},{"anchor":"OpenAPI Spec","icon":"download","href":"/misc/help/openapi-download"}]},"tabs":[{"tab":"Welcome","pages":[{"title":"Welcome","href":""}]},{"tab":"API Guides","pages":[{"title":"API Guides","href":"/guides/api/getting-started/getting-started"}]},{"tab":"SDK Guides","pages":[{"title":"SDK Guides","href":"/guides/sdk/getting-started/quickstart"}]},{"tab":"API Reference","groups":[{"group":"ApiKeys","pages":[{"title":"List user API keys","deprecated":false,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /api_keys","href":"/api-reference/apikeys/list-user-api-keys"},{"title":"Create API key","deprecated":false,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /api_keys","href":"/api-reference/apikeys/create-api-key"},{"title":"API key information","deprecated":false,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /api_keys/{key_id}","href":"/api-reference/apikeys/api-key-information"},{"title":"Update API key","deprecated":false,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml put /api_keys/{key_id}","href":"/api-reference/apikeys/update-api-key"},{"title":"Revoke API key","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /api_keys/revoke/{key_id}","href":"/api-reference/apikeys/revoke-api-key"}]},{"group":"Businesses","pages":[{"title":"Search for businesses","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /business/search","href":"/api-reference/businesses/search-for-businesses"},{"title":"Get completion rate stats from your businesses","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /business/search/stats","href":"/api-reference/businesses/get-completion-rate-stats-from-your-businesses"},{"title":"Statistics for your connected businesses","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /business/connections_stats","href":"/api-reference/businesses/statistics-for-your-connected-businesses"},{"title":"Create business","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /business","href":"/api-reference/businesses/create-business"},{"title":"Business information","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /business/{business_id}","href":"/api-reference/businesses/business-information"},{"title":"Update business","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /business/{business_id}","href":"/api-reference/businesses/update-business"},{"title":"Delete business","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml delete /business/{business_id}","href":"/api-reference/businesses/delete-business"},{"title":"Additional data for your business","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /business/{business_id}/additional_data","href":"/api-reference/businesses/additional-data-for-your-business"},{"title":"Set additional data for your business","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /business/{business_id}/additional_data","href":"/api-reference/businesses/set-additional-data-for-your-business"},{"title":"Google attributes for your business","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /business/{business_id}/attributes","href":"/api-reference/businesses/google-attributes-for-your-business"},{"title":"Set Google attributes for your business","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /business/{business_id}/attributes","href":"/api-reference/businesses/set-google-attributes-for-your-business"},{"title":"Google Lodging attributes for your business","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /business/{business_id}/lodging","href":"/api-reference/businesses/google-lodging-attributes-for-your-business"},{"title":"Set Google Lodging attributes for your business","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /business/{business_id}/lodging","href":"/api-reference/businesses/set-google-lodging-attributes-for-your-business"},{"title":"More hours for your business","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /business/{business_id}/more_hours","href":"/api-reference/businesses/more-hours-for-your-business"},{"title":"Set more hours for your business","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /business/{business_id}/more_hours","href":"/api-reference/businesses/set-more-hours-for-your-business"},{"title":"Google Services for your business","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /business/{business_id}/services","href":"/api-reference/businesses/google-services-for-your-business"},{"title":"Delete Google Services for your business","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml delete /business/{business_id}/services/{service_id}","href":"/api-reference/businesses/delete-google-services-for-your-business"},{"title":"Set Google Services for your business","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /business/{business_id}/structured_services","href":"/api-reference/businesses/set-google-services-for-your-business"},{"title":"Set custom Google Services for your business","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /business/{business_id}/free_form_services","href":"/api-reference/businesses/set-custom-google-services-for-your-business"},{"title":"Google Food Menus for your business","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /business/{business_id}/food_menus","href":"/api-reference/businesses/google-food-menus-for-your-business"},{"title":"Set Google Food Menus for your business","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /business/{business_id}/food_menus","href":"/api-reference/businesses/set-google-food-menus-for-your-business"},{"title":"Delete Google Food Menus for your business","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml delete /business/{business_id}/food_menus","href":"/api-reference/businesses/delete-google-food-menus-for-your-business"},{"title":"Get Place Action Links","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /business/{business_id}/place_action_links","href":"/api-reference/businesses/get-place-action-links"},{"title":"Set Place Action Links","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /business/{business_id}/place_action_links","href":"/api-reference/businesses/set-place-action-links"},{"title":"Subscriptions for your business","deprecated":true,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /business/{business_id}/subscription","href":"/api-reference/businesses/subscriptions-for-your-business"},{"title":"Subscribe a business","deprecated":true,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /business/{business_id}/subscribe","href":"/api-reference/businesses/subscribe-a-business"},{"title":"Unsubscribe a business","deprecated":true,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /business/{business_id}/unsubscribe","href":"/api-reference/businesses/unsubscribe-a-business"}]},{"group":"Business Fields","pages":[{"title":"Business fields configuration for a business","deprecated":true,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /business/{business_id}/business_fields","href":"/api-reference/business-fields/business-fields-configuration-for-a-business"},{"title":"Business fields configuration for an organization","deprecated":true,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /org/{org_id}/business_fields","href":"/api-reference/business-fields/business-fields-configuration-for-an-organization"}]},{"group":"Categories","pages":[{"title":"List Partoo categories","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /categories","href":"/api-reference/categories/list-partoo-categories"},{"title":"Category information","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /categories/{category_id}","href":"/api-reference/categories/category-information"},{"title":"Suggested additional categories","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /categories/{category_id}/suggestions","href":"/api-reference/categories/suggested-additional-categories"}]},{"group":"Connection Tokens","pages":[{"title":"Generate connection token","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /connection/generate_token","href":"/api-reference/connection-tokens/generate-connection-token"},{"title":"Revoke connection token","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /connection/revoke_token","href":"/api-reference/connection-tokens/revoke-connection-token"},{"title":"Check connection token","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /connection/check_token","href":"/api-reference/connection-tokens/check-connection-token"}]},{"group":"Messages","pages":[{"title":"List conversations","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /conversations","href":"/api-reference/messages/list-conversations"},{"title":"Conversation information","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /conversations/{conversation_id}","href":"/api-reference/messages/conversation-information"},{"title":"Update conversation","deprecated":true,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /conversations/{conversation_id}","href":"/api-reference/messages/update-conversation"},{"title":"Update conversation","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml patch /conversations/{conversation_id}","href":"/api-reference/messages/update-conversation-1"},{"title":"Read conversation","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /conversations/{conversation_id}/read","href":"/api-reference/messages/read-conversation"},{"title":"List messages","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /messages","href":"/api-reference/messages/list-messages"},{"title":"Send message","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /messages","href":"/api-reference/messages/send-message"},{"title":"Retry send message","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /messages/{message_id}/retry","href":"/api-reference/messages/retry-send-message"}]},{"group":"Custom Channels","pages":[{"title":"Ingest message","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /custom-channels/{channel_id}/messages","href":"/api-reference/custom-channels/ingest-message"}]},{"group":"Message Reply Templates","pages":[{"title":"List message templates","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /messaging/templates","href":"/api-reference/message-reply-templates/list-message-templates"},{"title":"Create message template","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /messaging/templates","href":"/api-reference/message-reply-templates/create-message-template"},{"title":"Update message template","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml put /messaging/templates/{template_id}","href":"/api-reference/message-reply-templates/update-message-template"},{"title":"Delete message template","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml delete /messaging/templates/{template_id}","href":"/api-reference/message-reply-templates/delete-message-template"}]},{"group":"Messaging Settings","pages":[{"title":"List messaging settings","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /messaging/settings","href":"/api-reference/messaging-settings/list-messaging-settings"},{"title":"Update messaging settings","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /messaging/settings/{setting_id}","href":"/api-reference/messaging-settings/update-messaging-settings"}]},{"group":"Custom Fields","pages":[{"title":"Get custom fields","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /custom_fields","href":"/api-reference/custom-fields/get-custom-fields"},{"title":"Create custom fields","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /custom_fields","href":"/api-reference/custom-fields/create-custom-fields"},{"title":"Update custom field","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml put /custom_fields/{custom_field_id}","href":"/api-reference/custom-fields/update-custom-field"},{"title":"Delete custom field","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml delete /custom_fields/{custom_field_id}","href":"/api-reference/custom-fields/delete-custom-field"},{"title":"Order custom fields","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /custom_fields/order","href":"/api-reference/custom-fields/order-custom-fields"}]},{"group":"Custom Fields Section","pages":[{"title":"Get custom field sections","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /custom_fields/section","href":"/api-reference/custom-fields-section/get-custom-field-sections"},{"title":"Create custom field sections","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /custom_fields/section","href":"/api-reference/custom-fields-section/create-custom-field-sections"},{"title":"Update custom field sections","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml put /custom_fields/section/{section_id}","href":"/api-reference/custom-fields-section/update-custom-field-sections"},{"title":"Delete custom field section","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml delete /custom_fields/section/{section_id}","href":"/api-reference/custom-fields-section/delete-custom-field-section"}]},{"group":"Custom Roles","pages":[{"title":"List Custom Roles","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /custom_role","href":"/api-reference/custom-roles/list-custom-roles"},{"title":"Create Custom Role","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /custom_role","href":"/api-reference/custom-roles/create-custom-role"},{"title":"Get Custom Role","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /custom_role/{custom_role_api_id}","href":"/api-reference/custom-roles/get-custom-role"},{"title":"Update Custom Role","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /custom_role/{custom_role_api_id}","href":"/api-reference/custom-roles/update-custom-role"},{"title":"Delete Custom Role","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml delete /custom_role/{custom_role_api_id}","href":"/api-reference/custom-roles/delete-custom-role"},{"title":"Duplicate Custom Role","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /custom_role/duplicate","href":"/api-reference/custom-roles/duplicate-custom-role"},{"title":"Get Permissions","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /permissions","href":"/api-reference/custom-roles/get-permissions"},{"title":"Get Custom Roles switch status","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /org/{org_id}/switch_to_custom_roles","href":"/api-reference/custom-roles/get-custom-roles-switch-status"},{"title":"Switch to Custom Roles","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /org/{org_id}/switch_to_custom_roles","href":"/api-reference/custom-roles/switch-to-custom-roles"}]},{"group":"Google","pages":[{"title":"List Google Attributes","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /attributes/list","href":"/api-reference/google/list-google-attributes"},{"title":"List Google more hours","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /more_hours/list","href":"/api-reference/google/list-google-more-hours"},{"title":"List Google Lodging attributes","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /lodging/list","href":"/api-reference/google/list-google-lodging-attributes"},{"title":"List Google Services","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /services/suggestions","href":"/api-reference/google/list-google-services"},{"title":"Details on a specific Google Location","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /google-oauth-accounts/locations/{google_location_id}","href":"/api-reference/google/details-on-a-specific-google-location"},{"title":"Search for Google locations","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /google-oauth-accounts/locations/search","href":"/api-reference/google/search-for-google-locations"},{"title":"Fetch Google Location Verification Options","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /verifications/google-locations/{google_location_id}/options","href":"/api-reference/google/fetch-google-location-verification-options"},{"title":"Start Google Location Verification Process","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /verifications/google-locations/{google_location_id}/start","href":"/api-reference/google/start-google-location-verification-process"},{"title":"Complete Google Location Verification Process","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /verifications/google-locations/{google_location_id}/complete","href":"/api-reference/google/complete-google-location-verification-process"}]},{"group":"Groups and Sections","pages":[{"title":"Get Sections","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /sections","href":"/api-reference/groups-and-sections/get-sections"},{"title":"Create Section","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /sections","href":"/api-reference/groups-and-sections/create-section"},{"title":"Get Section by ID","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /sections/{section_id}","href":"/api-reference/groups-and-sections/get-section-by-id"},{"title":"Update Section","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /sections/{section_id}","href":"/api-reference/groups-and-sections/update-section"},{"title":"Delete Section","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml delete /sections/{section_id}","href":"/api-reference/groups-and-sections/delete-section"},{"title":"Create Group and set businesses","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /sections/{section_id}/groups","href":"/api-reference/groups-and-sections/create-group-and-set-businesses"},{"title":"Get Group","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /sections/{section_id}/groups/{group_id}","href":"/api-reference/groups-and-sections/get-group"},{"title":"Update Group and set businesses","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /sections/{section_id}/groups/{group_id}","href":"/api-reference/groups-and-sections/update-group-and-set-businesses"},{"title":"Delete Group","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml delete /sections/{section_id}/groups/{group_id}","href":"/api-reference/groups-and-sections/delete-group"}]},{"group":"Holidays","pages":[{"title":"Get holidays","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /holidays/{country}","href":"/api-reference/holidays/get-holidays"}]},{"group":"Organizations","pages":[{"title":"Search for organizations","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /org/search","href":"/api-reference/organizations/search-for-organizations"},{"title":"Create organization","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /org","href":"/api-reference/organizations/create-organization"},{"title":"Organization information","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /org/{org_id}","href":"/api-reference/organizations/organization-information"},{"title":"Update organization","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /org/{org_id}","href":"/api-reference/organizations/update-organization"},{"title":"Delete organization","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml delete /org/{org_id}","href":"/api-reference/organizations/delete-organization"}]},{"group":"Posts","pages":[{"title":"Search for post","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /posts","href":"/api-reference/posts/search-for-post"},{"title":"Create a post","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /posts","href":"/api-reference/posts/create-a-post"},{"title":"Update a post","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml put /posts/{post_id}","href":"/api-reference/posts/update-a-post"},{"title":"Delete a post","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml delete /posts/{post_id}","href":"/api-reference/posts/delete-a-post"}]},{"group":"Place Action Links","pages":[{"title":"Get Place Action Links","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /place_action_links","href":"/api-reference/place-action-links/get-place-action-links"}]},{"group":"Presence","pages":[{"title":"PublisherStates","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /publisher_states","href":"/api-reference/presence/publisherstates"},{"title":"PublisherErrors (DEPRECATED)","deprecated":true,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /publisher_errors/{business_id}","href":"/api-reference/presence/publishererrors-deprecated"},{"title":"Get diffusion errors for a business","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /diffusion_errors/{business_id}","href":"/api-reference/presence/get-diffusion-errors-for-a-business"}]},{"group":"Reviews","pages":[{"title":"Search for reviews","description":"This endpoint lets you search for the reviews of your businesses.\n\nTo access the reviews of a business you need to have `READ` access on it.\nThe response is paginated (30 results per page).\n\nBy default, no state filter is applied: the response includes **all** reviews,\nincluding deleted ones. Use `state__in` / `state__notin` to narrow the result.\n","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /reviews","href":"/api-reference/reviews/search-for-reviews"},{"title":"Create and update a review from a custom partner","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /reviews","href":"/api-reference/reviews/create-and-update-a-review-from-a-custom-partner"},{"title":"Update a review","description":"Update the state of a review to treated/not_treated\n","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml put /reviews/{review_id}","href":"/api-reference/reviews/update-a-review"},{"title":"Delete a review from a custom partner","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml delete /reviews/{review_id}","href":"/api-reference/reviews/delete-a-review-from-a-custom-partner"},{"title":"List review partners","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /review-partners","href":"/api-reference/reviews/list-review-partners"},{"title":"Post a reply to a review","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /comments","href":"/api-reference/reviews/post-a-reply-to-a-review"},{"title":"Modify a reply to a review","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml put /comments/{comment_id}","href":"/api-reference/reviews/modify-a-reply-to-a-review"},{"title":"Delete the given reply to a review","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml delete /comments/{comment_id}","href":"/api-reference/reviews/delete-the-given-reply-to-a-review"},{"title":"Search for review reply templates","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /reviews/templates/search","href":"/api-reference/reviews/search-for-review-reply-templates"},{"title":"All available placeholders","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /reviews/templates/placeholders","href":"/api-reference/reviews/all-available-placeholders"},{"title":"Create a review reply template","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /reviews/template","href":"/api-reference/reviews/create-a-review-reply-template"},{"title":"Delete a review reply template","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml delete /reviews/template/{template_id}","href":"/api-reference/reviews/delete-a-review-reply-template"},{"title":"Fetch AI reply suggestion for reviews","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /reviews/fetch-suggestion/{review_id}/{index}","href":"/api-reference/reviews/fetch-ai-reply-suggestion-for-reviews"}]},{"group":"Presence analytics","pages":[{"title":"Profile metrics for your business","deprecated":false,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /presence_analytics/metrics","href":"/api-reference/presence-analytics/profile-metrics-for-your-business"},{"title":"Profile keywords for your business","deprecated":false,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /presence_analytics/keywords","href":"/api-reference/presence-analytics/profile-keywords-for-your-business"}]},{"group":"Review analytics","pages":[{"title":"Get Review metrics","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /review_analytics/metrics","href":"/api-reference/review-analytics/get-review-metrics"},{"title":"Global reviews statistics","deprecated":true,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /reviews/stats","href":"/api-reference/review-analytics/global-reviews-statistics"},{"title":"Qualitative evolution","deprecated":true,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /reviews/qualitative-evolution","href":"/api-reference/review-analytics/qualitative-evolution"},{"title":"Quantitative evolution","deprecated":true,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /reviews/quantitative-evolution","href":"/api-reference/review-analytics/quantitative-evolution"}]},{"group":"Review Booster","pages":[{"title":"Send a review invitation","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /review_booster/send_invitation","href":"/api-reference/review-booster/send-a-review-invitation"},{"title":"Search for an invitation matching a set of criteria","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /review_booster/search-invitation","href":"/api-reference/review-booster/search-for-an-invitation-matching-a-set-of-criteria"},{"title":"The status of a review invitation","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /review_booster/invitation_status","href":"/api-reference/review-booster/the-status-of-a-review-invitation"},{"title":"Template for a user","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /review_booster/template","href":"/api-reference/review-booster/template-for-a-user"},{"title":"Update the template of a user","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml put /review_booster/template","href":"/api-reference/review-booster/update-the-template-of-a-user"},{"title":"The expeditor name of a business","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /review_booster/expeditor","href":"/api-reference/review-booster/the-expeditor-name-of-a-business"},{"title":"Set the expeditor name of a business","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /review_booster/expeditor","href":"/api-reference/review-booster/set-the-expeditor-name-of-a-business"}]},{"group":"Subscriptions","pages":[{"title":"Get Organization's plans","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /org/{org_id}/plans","href":"/api-reference/subscriptions/get-organizations-plans"},{"title":"Update organization's plans","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /org/{org_id}/plans","href":"/api-reference/subscriptions/update-organizations-plans"},{"title":"Get Business's plans","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /business/{business_id}/plans","href":"/api-reference/subscriptions/get-businesss-plans"},{"title":"Update business's plans","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /business/{business_id}/plans","href":"/api-reference/subscriptions/update-businesss-plans"}]},{"group":"Users","pages":[{"title":"Search for users","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /user/search","href":"/api-reference/users/search-for-users"},{"title":"My user","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /user/me","href":"/api-reference/users/my-user"},{"title":"Create user","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /user","href":"/api-reference/users/create-user"},{"title":"User information","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /user/{user_id}","href":"/api-reference/users/user-information"},{"title":"Update user","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /user/{user_id}","href":"/api-reference/users/update-user"},{"title":"Delete user","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml delete /user/{user_id}","href":"/api-reference/users/delete-user"},{"title":"User preferences","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /user/{user_id}/preferences","href":"/api-reference/users/user-preferences"},{"title":"Set user preferences","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /user/{user_id}/preferences","href":"/api-reference/users/set-user-preferences"},{"title":"Invite user","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /user/{user_id}/invite","href":"/api-reference/users/invite-user"},{"title":"User businesses","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /user/{user_id}/businesses","href":"/api-reference/users/user-businesses"}]},{"group":"Feedback Management","pages":[{"title":"List email templates","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /feedback/email-templates","href":"/api-reference/feedback-management/list-email-templates"},{"title":"Create an email template","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /feedback/email-templates","href":"/api-reference/feedback-management/create-an-email-template"},{"title":"Update an email template","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml put /feedback/email-templates/{template_id}","href":"/api-reference/feedback-management/update-an-email-template"},{"title":"Delete an email template","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml delete /feedback/email-templates/{template_id}","href":"/api-reference/feedback-management/delete-an-email-template"},{"title":"Search for feedback forms","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /feedback/feedback_form","href":"/api-reference/feedback-management/search-for-feedback-forms"},{"title":"Update a feedback form","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml put /feedback/feedback_form/{feedback_form_id}","href":"/api-reference/feedback-management/update-a-feedback-form"},{"title":"Push email-delivery stats for a feedback form","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /feedback/feedback_form/stats","href":"/api-reference/feedback-management/push-email-delivery-stats-for-a-feedback-form"},{"title":"Search for feedback results","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /feedback/feedback_result","href":"/api-reference/feedback-management/search-for-feedback-results"},{"title":"Get a feedback result by ID","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /feedback/feedback_result/{feedback_result_id}","href":"/api-reference/feedback-management/get-a-feedback-result-by-id"},{"title":"Reply to a feedback result","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /feedback/feedback_result/{feedback_result_id}/reply","href":"/api-reference/feedback-management/reply-to-a-feedback-result"},{"title":"Fetch AI reply suggestion for feedback results","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /feedback/feedback_result/fetch-suggestion/{feedback_result_id}/{index}","href":"/api-reference/feedback-management/fetch-ai-reply-suggestion-for-feedback-results"},{"title":"Get campaign requirements","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /feedback/campaign/requirements","href":"/api-reference/feedback-management/get-campaign-requirements"},{"title":"Send a feedback email campaign","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /feedback/campaign/send","href":"/api-reference/feedback-management/send-a-feedback-email-campaign"}]},{"group":"Feedback analytics","pages":[{"title":"Feedback analytics metrics","deprecated":false,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /feedback/analytics/metrics","href":"/api-reference/feedback-analytics/feedback-analytics-metrics"}]},{"group":"Webhooks","pages":[{"title":"Get a list of webhook configurations","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /webhooks","href":"/api-reference/webhooks/get-a-list-of-webhook-configurations"},{"title":"Create webhook configurations","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /webhooks","href":"/api-reference/webhooks/create-webhook-configurations"},{"title":"Get a webhook configuration","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /webhooks/{webhook_id}","href":"/api-reference/webhooks/get-a-webhook-configuration"},{"title":"Delete a webhook configuration","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml delete /webhooks/{webhook_id}","href":"/api-reference/webhooks/delete-a-webhook-configuration"},{"title":"Update a webhook configuration","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml patch /webhooks/{webhook_id}","href":"/api-reference/webhooks/update-a-webhook-configuration"},{"title":"Send test webhook payloads","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml post /webhooks/tryout","href":"/api-reference/webhooks/send-test-webhook-payloads"},{"title":"List available webhook events","deprecated":null,"version":null,"openapi":"/assets/openapi/openapi-bundled.yaml get /webhooks/events","href":"/api-reference/webhooks/list-available-webhook-events"}]},{"group":"Webhooks Events","pages":[{"title":"New business created","version":null,"deprecated":null,"openapi":"/assets/openapi/openapi-bundled.yaml webhook businessCreated","href":"/api-reference/webhooks-events/new-business-created"},{"title":"Business updated","version":null,"deprecated":null,"openapi":"/assets/openapi/openapi-bundled.yaml webhook businessUpdated","href":"/api-reference/webhooks-events/business-updated"},{"title":"Business deleted","version":null,"deprecated":null,"openapi":"/assets/openapi/openapi-bundled.yaml webhook businessDeleted","href":"/api-reference/webhooks-events/business-deleted"},{"title":"Message created","version":null,"deprecated":null,"openapi":"/assets/openapi/openapi-bundled.yaml webhook messageCreated","href":"/api-reference/webhooks-events/message-created"},{"title":"Message updated","version":null,"deprecated":null,"openapi":"/assets/openapi/openapi-bundled.yaml webhook messageUpdated","href":"/api-reference/webhooks-events/message-updated"},{"title":"Lead received","version":null,"deprecated":null,"openapi":"/assets/openapi/openapi-bundled.yaml webhook leadReceived","href":"/api-reference/webhooks-events/lead-received"},{"title":"Review created","version":null,"deprecated":null,"openapi":"/assets/openapi/openapi-bundled.yaml webhook reviewCreated","href":"/api-reference/webhooks-events/review-created"},{"title":"Review updated","version":null,"deprecated":null,"openapi":"/assets/openapi/openapi-bundled.yaml webhook reviewUpdated","href":"/api-reference/webhooks-events/review-updated"},{"title":"Review reply created","version":null,"deprecated":null,"openapi":"/assets/openapi/openapi-bundled.yaml webhook reviewReplyCreated","href":"/api-reference/webhooks-events/review-reply-created"},{"title":"Review reply updated","version":null,"deprecated":null,"openapi":"/assets/openapi/openapi-bundled.yaml webhook reviewReplyUpdated","href":"/api-reference/webhooks-events/review-reply-updated"},{"title":"Review reply deleted","version":null,"deprecated":null,"openapi":"/assets/openapi/openapi-bundled.yaml webhook reviewReplyDeleted","href":"/api-reference/webhooks-events/review-reply-deleted"},{"title":"Custom review reply created","version":null,"deprecated":null,"openapi":"/assets/openapi/openapi-bundled.yaml webhook customReplyCreated","href":"/api-reference/webhooks-events/custom-review-reply-created"},{"title":"Custom review reply updated","version":null,"deprecated":null,"openapi":"/assets/openapi/openapi-bundled.yaml webhook customReplyUpdated","href":"/api-reference/webhooks-events/custom-review-reply-updated"},{"title":"Custom review reply deleted","version":null,"deprecated":null,"openapi":"/assets/openapi/openapi-bundled.yaml webhook customReplyDeleted","href":"/api-reference/webhooks-events/custom-review-reply-deleted"},{"title":"Email opt out created","version":null,"deprecated":null,"openapi":"/assets/openapi/openapi-bundled.yaml webhook emailOptOutCreated","href":"/api-reference/webhooks-events/email-opt-out-created"},{"title":"Post created","version":null,"deprecated":null,"openapi":"/assets/openapi/openapi-bundled.yaml webhook postCreated","href":"/api-reference/webhooks-events/post-created"},{"title":"Post updated","version":null,"deprecated":null,"openapi":"/assets/openapi/openapi-bundled.yaml webhook postUpdated","href":"/api-reference/webhooks-events/post-updated"},{"title":"Post validated","version":null,"deprecated":null,"openapi":"/assets/openapi/openapi-bundled.yaml webhook postValidated","href":"/api-reference/webhooks-events/post-validated"},{"title":"Post deleted","version":null,"deprecated":null,"openapi":"/assets/openapi/openapi-bundled.yaml webhook postDeleted","href":"/api-reference/webhooks-events/post-deleted"},{"title":"Scheduled post pushed","version":null,"deprecated":null,"openapi":"/assets/openapi/openapi-bundled.yaml webhook scheduledPostPushed","href":"/api-reference/webhooks-events/scheduled-post-pushed"},{"title":"Feedback result created","version":null,"deprecated":null,"openapi":"/assets/openapi/openapi-bundled.yaml webhook feedbackResultCreated","href":"/api-reference/webhooks-events/feedback-result-created"}]}]},{"tab":"MCP","pages":[{"title":"MCP","href":"/guides/mcp/overview"}]},{"tab":"Changelogs","pages":[{"title":"Changelogs","href":"/changelogs/api/changelogs"}]}]},"basePath":"","title":"Create and update a review from a custom partner - Partoo API","buildId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","deploymentId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-5FCzAcfS.js","utils-SLtAG4EZ.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-2DZi8ZMu.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-D7J3nkzE.js","snippetPresets-D0Alv0AH.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BI4qNJ2c.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BD3uyr8j.js","shallow-D8iEBr5z.js","getApiPlaygroundDisplay-CgNP4lzR.js","CodeSnippet-CX-QHuMs.js","CodeSnippets-VlXE-ZUf.js","Page-D9ithiIZ.js","getPastedJson-DYNQkZ1M.js","icon-CzacdwOi.js","MethodPill-2JVqoYKi.js","DuplicateIcon-_xVXs-U8.js","createIcon-BRHrweLo.js","DynamicMarkdown-mQG_iQiE.js","SectionHeading-DMpJzv8f.js","axios-vUo_bRtp.js","Markdown-5FGIym-8.js","clsx-D-TRO5q5.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CdrJecqK.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CHlcWBLM.js"]}