{"openapi":"3.0.1","info":{"title":"Reviewflowz API V2","version":"v2"},"paths":{"/api/v2/accounts/{account_id}/channels":{"get":{"summary":"list channels","tags":["Channels"],"operationId":"listChannels","parameters":[{"name":"account_id","in":"path","required":true,"description":"Account ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"successful","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Channel"}}}}}}},"post":{"summary":"create channel","tags":["Channels"],"operationId":"createChannel","parameters":[{"name":"account_id","in":"path","required":true,"description":"Account ID","schema":{"type":"integer"}}],"responses":{"201":{"description":"successful"},"422":{"description":"unprocessable entity"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"provider":{"type":"string","example":"webhook"},"webhook_url":{"type":"string"},"nickname":{"type":"string"}},"required":["provider","webhook_url"]}}},"required":true,"description":"Channel to be created"}}},"/api/v2/accounts/{account_id}/channels/{id}":{"get":{"summary":"show channel","tags":["Channels"],"operationId":"showChannel","parameters":[{"name":"account_id","in":"path","required":true,"description":"Account ID","schema":{"type":"integer"}},{"name":"id","in":"path","required":true,"description":"Channel ID","schema":{"type":"string"}}],"responses":{"200":{"description":"successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Channel"}}}},"404":{"description":"not found"}}},"patch":{"summary":"update channel","tags":["Channels"],"operationId":"updateChannel","parameters":[{"name":"account_id","in":"path","required":true,"description":"Account ID","schema":{"type":"integer"}},{"name":"id","in":"path","required":true,"description":"Channel ID","schema":{"type":"string"}}],"responses":{"200":{"description":"successful"},"404":{"description":"not found"},"422":{"description":"unprocessable entity, including a provider different from the channel's own: a channel's provider can't be changed"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"webhook_url":{"type":"string"},"nickname":{"type":"string"}}}}},"required":true,"description":"Channel attributes to update. The provider is fixed when the channel is created."}},"delete":{"summary":"delete channel","tags":["Channels"],"operationId":"deleteChannel","parameters":[{"name":"account_id","in":"path","required":true,"description":"Account ID","schema":{"type":"integer"}},{"name":"id","in":"path","required":true,"description":"Channel ID","schema":{"type":"string"}}],"responses":{"204":{"description":"no content"},"404":{"description":"not found"}}}},"/api/v2/accounts/{account_id}/contacts":{"get":{"summary":"list contacts","tags":["Contacts"],"operationId":"listContacts","parameters":[{"name":"account_id","in":"path","required":true,"description":"Account ID","schema":{"type":"integer"}},{"name":"count","in":"query","schema":{"type":"integer","default":25},"required":false,"description":"Number of contacts to return per page"},{"name":"page","in":"query","schema":{"type":"integer","default":1},"required":false,"description":"Page number of the contacts to return"}],"responses":{"200":{"description":"successful","content":{"application/json":{"schema":{"type":"object","properties":{"pagination":{"type":"object","properties":{"prev_url":{"type":"string","nullable":true,"format":"uri"},"next_url":{"type":"string","nullable":true,"format":"uri"},"count":{"type":"integer"},"page":{"type":"integer"},"next":{"type":"integer","nullable":true}},"required":["count","page"]},"data":{"type":"array","items":{"$ref":"#/components/schemas/Contact"}}},"required":["pagination","data"]}}}}}},"post":{"summary":"create contact","tags":["Contacts"],"operationId":"createContact","parameters":[{"name":"account_id","in":"path","required":true,"description":"Account ID","schema":{"type":"integer"}}],"responses":{"201":{"description":"successful"},"422":{"description":"unprocessable entity"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string"},"contact_attributes":{"type":"object","additionalProperties":{"type":"string"}}},"required":["email","contact_attributes"]}}},"required":true,"description":"Contact to be created"}},"delete":{"summary":"delete contact by email","tags":["Contacts"],"operationId":"deleteContactByEmail","parameters":[{"name":"account_id","in":"path","required":true,"description":"Account ID","schema":{"type":"integer"}},{"name":"email","in":"query","required":true,"description":"Contact Email","schema":{"type":"string"}}],"responses":{"204":{"description":"no content"},"404":{"description":"not found"}}}},"/api/v2/accounts/{account_id}/contacts/{id}":{"get":{"summary":"show contact by ID","tags":["Contacts"],"operationId":"showContactById","parameters":[{"name":"account_id","in":"path","required":true,"description":"Account ID","schema":{"type":"integer"}},{"name":"id","in":"path","required":true,"description":"Contact ID","schema":{"type":"string"}}],"responses":{"200":{"description":"successful","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Contact"}},"required":["data"]}}}},"404":{"description":"not found"}}},"patch":{"summary":"update contact by ID","tags":["Contacts"],"operationId":"updateContactById","parameters":[{"name":"account_id","in":"path","required":true,"description":"Account ID","schema":{"type":"integer"}},{"name":"id","in":"path","required":true,"description":"Contact ID","schema":{"type":"string"}}],"responses":{"200":{"description":"successful"},"404":{"description":"not found"},"422":{"description":"unprocessable entity"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string"},"contact_attributes":{"type":"object","additionalProperties":{"type":"string"}}},"required":["contact_attributes"]}}},"required":true,"description":"Contact attributes to update"}},"delete":{"summary":"delete contact by ID","tags":["Contacts"],"operationId":"deleteContactById","parameters":[{"name":"account_id","in":"path","required":true,"description":"Account ID","schema":{"type":"integer"}},{"name":"id","in":"path","required":true,"description":"Contact ID","schema":{"type":"string"}}],"responses":{"204":{"description":"no content"},"404":{"description":"not found"}}}},"/api/v2/accounts/{account_id}/contacts/by_email":{"get":{"summary":"show contact by email","tags":["Contacts"],"operationId":"showContactByEmail","parameters":[{"name":"account_id","in":"path","required":true,"description":"Account ID","schema":{"type":"integer"}},{"name":"email","in":"query","required":true,"description":"Contact Email","schema":{"type":"string"}}],"responses":{"200":{"description":"successful","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Contact"}},"required":["data"]}}}},"404":{"description":"not found"}}},"patch":{"summary":"update contact by email","tags":["Contacts"],"operationId":"updateContactByEmail","parameters":[{"name":"account_id","in":"path","required":true,"description":"Account ID","schema":{"type":"integer"}},{"name":"email","in":"query","required":true,"description":"Contact Email","schema":{"type":"string"}}],"responses":{"200":{"description":"successful"},"404":{"description":"not found"},"422":{"description":"unprocessable entity"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"contact_attributes":{"type":"object","additionalProperties":{"type":"string"}}},"required":["contact_attributes"]}}},"required":true,"description":"Contact attributes to update"}}},"/api/v2/accounts/{account_id}/flows":{"get":{"summary":"list flows","tags":["Flows"],"operationId":"listFlows","parameters":[{"name":"account_id","in":"path","required":true,"description":"Account ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"successful","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Flow"}}}}}}},"post":{"summary":"create flow","tags":["Flows"],"operationId":"createFlow","parameters":[{"name":"account_id","in":"path","required":true,"description":"Account ID","schema":{"type":"integer"}}],"responses":{"201":{"description":"successful"},"422":{"description":"unprocessable entity"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"channel_id":{"type":"integer"},"review_profile_ids":{"type":"array","items":{"type":"integer"}},"status":{"type":"boolean","nullable":true}},"required":["channel_id","review_profile_ids"]}}},"required":true,"description":"Flow to be created"}}},"/api/v2/accounts/{account_id}/flows/{id}":{"get":{"summary":"show flow","tags":["Flows"],"operationId":"showFlow","parameters":[{"name":"account_id","in":"path","required":true,"description":"Account ID","schema":{"type":"integer"}},{"name":"id","in":"path","required":true,"description":"Flow ID","schema":{"type":"string"}}],"responses":{"200":{"description":"successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Flow"}}}},"404":{"description":"not found"}}},"patch":{"summary":"update flow","tags":["Flows"],"operationId":"updateFlow","parameters":[{"name":"account_id","in":"path","required":true,"description":"Account ID","schema":{"type":"integer"}},{"name":"id","in":"path","required":true,"description":"Flow ID","schema":{"type":"string"}}],"responses":{"200":{"description":"successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Flow"}}}},"404":{"description":"not found"},"422":{"description":"unprocessable entity"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"channel_id":{"type":"integer","nullable":true},"review_profile_ids":{"type":"array","items":{"type":"integer"},"nullable":true},"status":{"type":"boolean","nullable":true}}}}},"required":true,"description":"Flow attributes to update"}},"delete":{"summary":"delete flow","tags":["Flows"],"operationId":"deleteFlow","parameters":[{"name":"account_id","in":"path","required":true,"description":"Account ID","schema":{"type":"integer"}},{"name":"id","in":"path","required":true,"description":"Flow ID","schema":{"type":"string"}}],"responses":{"204":{"description":"no content"},"404":{"description":"not found"}}}},"/api/v2/accounts/{account_id}/flows/{id}/test":{"post":{"summary":"test flow","tags":["Flows"],"operationId":"testFlow","parameters":[{"name":"account_id","in":"path","required":true,"description":"Account ID","schema":{"type":"integer"}},{"name":"id","in":"path","required":true,"description":"Flow ID","schema":{"type":"string"}}],"responses":{"200":{"description":"successful","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string"}},"required":["status"]}}}},"404":{"description":"not found"}}}},"/api/v2/accounts/{account_id}/listings/{id}":{"delete":{"summary":"delete listing","tags":["Listings"],"operationId":"deleteListing","parameters":[{"name":"account_id","in":"path","required":true,"description":"Account ID","schema":{"type":"integer"}},{"name":"id","in":"path","required":true,"description":"Listing ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"successful","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":[]}}}},"422":{"description":"unprocessable entity","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"string"}}},"required":["errors"]}}}}}},"get":{"summary":"show listing","tags":["Listings"],"operationId":"showListing","parameters":[{"name":"account_id","in":"path","required":true,"description":"Account ID","schema":{"type":"integer"}},{"name":"id","in":"path","required":true,"description":"Listing ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"successful","content":{"application/json":{"schema":{"type":"object","properties":{"profile_name":{"type":"string"},"url":{"type":"string","format":"uri"},"external_id":{"type":"string","nullable":true},"domain":{"type":"string","nullable":true},"platform":{"type":"string","enum":["Google Maps","Trustpilot","App Store","Apple Podcast","Play Store","G2","Capterra","Trustradius","Glassdoor","Shopify","Wordpress","Chrome Store","Hubspot","OMR","Verified Reviews","Product Hunt","Product Hunt Launch","SourceForge","Gartner Peer Insights","Salesforce","Xero","Quickbooks","AppSumo","Better Business Bureau","Youtube","Indeed","Tripadvisor","Hotel Tech Report","Consumer Affairs","Yelp","Open Table","Uber Eats","Amazon","Zillow","Airbnb","Skillshare","Realtor","Whop","Fiverr","Homestars"]}},"required":["profile_name","url","platform"]}}}},"404":{"description":"not found"}}}},"/api/v2/accounts/{account_id}/listings":{"get":{"summary":"list listings","tags":["Listings"],"operationId":"listListings","parameters":[{"name":"account_id","in":"path","required":true,"description":"Account ID","schema":{"type":"integer"}},{"name":"count","in":"query","schema":{"type":"integer","default":10},"required":false,"description":"Number of listings to return per page"},{"name":"page","in":"query","schema":{"type":"integer","default":1},"required":false,"description":"Page number of the listings to return"},{"name":"ids","in":"query","schema":{"type":"array","items":{"type":"integer"}},"required":false,"description":"Filter listings by ID"},{"name":"query","in":"query","schema":{"type":"string"},"required":false,"description":"Query string for searching listings"},{"name":"domain_name","in":"query","schema":{"type":"string"},"required":false,"description":"Filter listings by domain name"},{"name":"platform","in":"query","schema":{"type":"string","enum":["Google Maps","Trustpilot","App Store","Apple Podcast","Play Store","G2","Capterra","Trustradius","Glassdoor","Shopify","Wordpress","Chrome Store","Hubspot","OMR","Verified Reviews","Product Hunt","Product Hunt Launch","SourceForge","Gartner Peer Insights","Salesforce","Xero","Quickbooks","AppSumo","Better Business Bureau","Youtube","Indeed","Tripadvisor","Hotel Tech Report","Consumer Affairs","Yelp","Open Table","Uber Eats","Amazon","Zillow","Airbnb","Skillshare","Realtor","Whop","Fiverr","Homestars"]},"required":false,"description":"Filter listings by platform"},{"name":"profile_name","in":"query","schema":{"type":"string"},"required":false,"description":"Filter listings by profile name"},{"name":"sort","in":"query","schema":{"type":"string","enum":["created_at","updated_at"]},"required":false,"description":"Attribute to sort the listings by"},{"name":"direction","in":"query","schema":{"type":"string","enum":["asc","desc"]},"required":false,"description":"Sort direction"}],"responses":{"200":{"description":"successful","content":{"application/json":{"schema":{"type":"object","properties":{"pagination":{"type":"object","properties":{"prev_url":{"type":"string","nullable":true,"format":"uri"},"next_url":{"type":"string","nullable":true,"format":"uri"},"count":{"type":"integer"},"page":{"type":"integer"},"next":{"type":"integer","nullable":true}},"required":["count","page"]},"data":{"type":"array","items":{"$ref":"#/components/schemas/Listing"}}},"required":["pagination","data"]}}}}}},"post":{"summary":"create listing","tags":["Listings"],"operationId":"createListing","parameters":[{"name":"account_id","in":"path","required":true,"description":"Account ID","schema":{"type":"integer"}}],"responses":{"201":{"description":"successful"},"422":{"description":"unprocessable entity"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"profile_name":{"type":"string"},"url":{"type":"string","format":"uri"},"domain":{"type":"string","nullable":true},"platform":{"type":"string","enum":["Google Maps","Trustpilot","App Store","Apple Podcast","Play Store","G2","Capterra","Trustradius","Glassdoor","Shopify","Wordpress","Chrome Store","Hubspot","OMR","Verified Reviews","Product Hunt","Product Hunt Launch","SourceForge","Gartner Peer Insights","Salesforce","Xero","Quickbooks","AppSumo","Better Business Bureau","Youtube","Indeed","Tripadvisor","Hotel Tech Report","Consumer Affairs","Yelp","Open Table","Uber Eats","Amazon","Zillow","Airbnb","Skillshare","Realtor","Whop","Fiverr","Homestars"]}},"required":["profile_name","url","platform"]}}},"required":true,"description":"Listing to be created"}}},"/api/v2/accounts/{account_id}/reviews":{"get":{"summary":"list reviews","tags":["Reviews"],"operationId":"listReviews","parameters":[{"name":"account_id","in":"path","required":true,"description":"Account ID","schema":{"type":"integer"}},{"name":"count","in":"query","required":false,"description":"Number of reviews to return","schema":{"type":"integer"}},{"name":"page","in":"query","required":false,"description":"Page number of the reviews to return","schema":{"type":"integer"}},{"name":"query","in":"query","required":false,"description":"Query string for searching reviews","schema":{"type":"string"}},{"name":"sort","in":"query","schema":{"type":"string","enum":["rating","review_date"]},"required":false,"description":"Attribute to sort the reviews by"},{"name":"direction","in":"query","schema":{"type":"string","enum":["asc","desc"]},"required":false,"description":"Sort direction"},{"name":"rating","in":"query","required":false,"description":"Filter reviews by rating","schema":{"type":"integer"}},{"name":"language","in":"query","required":false,"description":"Filter reviews by language","schema":{"type":"string"}},{"name":"start_date","in":"query","format":"date","required":false,"description":"Filter reviews starting from this date","schema":{"type":"string"}},{"name":"end_date","in":"query","format":"date","required":false,"description":"Filter reviews up to this date","schema":{"type":"string"}},{"name":"domain_name","in":"query","required":false,"description":"Filter reviews by domain name","schema":{"type":"string"}},{"name":"country","in":"query","required":false,"description":"Filter reviews by country","schema":{"type":"string"}},{"name":"review_listing_ids[]","in":"query","items":{"type":"integer"},"required":false,"description":"Filter reviews by listing IDs","schema":{"type":"array"}},{"name":"platform","in":"query","required":false,"description":"Filter reviews by review platform","schema":{"type":"string"}},{"name":"url","in":"query","required":false,"description":"Filter reviews by a single review profile URL","schema":{"type":"string"}}],"responses":{"200":{"description":"successful","content":{"application/json":{"schema":{"type":"object","properties":{"pagination":{"type":"object","properties":{"prev_url":{"type":"string","nullable":true,"format":"uri"},"next_url":{"type":"string","nullable":true,"format":"uri"},"count":{"type":"integer"},"page":{"type":"integer"},"next":{"type":"integer","nullable":true}},"required":["count","page"]},"data":{"type":"array","items":{"$ref":"#/components/schemas/Review"}}},"required":["pagination","data"]}}}},"400":{"description":"bad request"}}}},"/api/v2/accounts/{account_id}/realtime/reviews":{"get":{"summary":"realtime list reviews","tags":["Reviews"],"operationId":"realtimeListReviews","description":"This endpoint will force a refresh before returning the reviews. By default, we refresh profiles every 2h. Use only if you need real-time data. This endpoint is considerably slower and limited to one review profile per call. It is rate-limited to 10 requests per minute.","parameters":[{"name":"account_id","in":"path","required":true,"description":"Account ID","schema":{"type":"integer"}},{"name":"url","in":"query","required":true,"description":"Review profile URL","schema":{"type":"string"}},{"name":"platform","in":"query","required":true,"description":"Review platform name","schema":{"type":"string"}},{"name":"count","in":"query","required":false,"description":"Number of reviews to return","schema":{"type":"integer"}},{"name":"page","in":"query","required":false,"description":"Page number of the reviews to return","schema":{"type":"integer"}},{"name":"sort","in":"query","schema":{"type":"string","enum":["rating","review_date"]},"required":false,"description":"Attribute to sort the reviews by"},{"name":"direction","in":"query","schema":{"type":"string","enum":["asc","desc"]},"required":false,"description":"Sort direction"}],"responses":{"200":{"description":"successful","content":{"application/json":{"schema":{"type":"object","properties":{"pagination":{"type":"object","properties":{"prev_url":{"type":"string","nullable":true,"format":"uri"},"next_url":{"type":"string","nullable":true,"format":"uri"},"count":{"type":"integer"},"page":{"type":"integer"},"next":{"type":"integer","nullable":true}},"required":["count","page"]},"data":{"type":"array","items":{"$ref":"#/components/schemas/Review"}}},"required":["pagination","data"]}}}},"202":{"description":"accepted","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"array","items":{"type":"string"}}},"required":["message"]}}}},"400":{"description":"bad request"},"422":{"description":"unprocessable entity","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"string"}}},"required":["errors"]}}}}}}},"/api/v2/search":{"get":{"summary":"perform search","tags":["Search"],"operationId":"performSearch","parameters":[{"name":"query","in":"query","schema":{"type":"string","required":true},"description":"Search query"},{"name":"platform","in":"query","schema":{"type":"string","required":true,"enum":["Google Maps","Trustpilot","App Store","Play Store","G2","Gartner Peer Insights","Capterra","Trustradius","Glassdoor","Shopify","Wordpress","Chrome Store","Edge Store","Microsoft Store","Hubspot","Salesforce","Crozdesk","OMR","Verified Reviews","Product Hunt","SourceForge","Mozzilla Addons","Google Workspace","MacOS App Store","SoftwareSuggest","SaasHub","AlternativeTo","Itunes","Tripadvisor","Xero","Quickbooks"]},"description":"Platform to search on"},{"name":"country","in":"query","schema":{"type":"string","required":false},"description":"Country code (required for App Store or Play Store)"}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"search results","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Search"}}}}},"400":{"description":"bad request"},"401":{"description":"unauthorized"}}}},"/api/v2/me":{"get":{"summary":"Returns current user","tags":["Me"],"responses":{"200":{"description":"successful","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"accounts":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"owner":{"type":"string"},"plan":{"type":"string","nullable":true},"usage":{"type":"object","properties":{"review_profiles_allowed":{"type":"integer"},"review_profiles_used":{"type":"integer"}}}}}}},"required":["id","name","accounts"]}}}}}}}},"servers":[{"url":"https://app.reviewflowz.com"}],"produces":["application/json"],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"User":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"avatar_url":{"type":"string","format":"uri"},"accounts":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"personal":{"type":"boolean"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"owner":{"type":"string"},"plan":{"type":"string","nullable":true}},"required":["id","name","personal","created_at","updated_at","owner"]}}},"required":["id","name","avatar_url","accounts"]},"Review":{"type":"object","properties":{"id":{"type":"integer"},"external_id":{"type":"string"},"is_update_of":{"type":"string","nullable":true},"rating":{"type":"number","format":"float"},"platform":{"type":"string"},"profile":{"type":"string"},"profile_url":{"type":"string","format":"uri"},"date":{"type":"string","format":"date-time"},"link":{"type":"string","format":"uri"},"overall":{"type":"string"},"pros":{"type":"string"},"cons":{"type":"string"},"version":{"type":"string","nullable":true},"locales":{"type":"array","items":{"type":"string"},"nullable":true},"reviewer_name":{"type":"string"},"reviewer_company":{"type":"string","nullable":true},"language":{"type":"string"},"title":{"type":"string"},"reviewer_industry":{"type":"string","nullable":true},"reviewer_job_title":{"type":"string","nullable":true},"reviewer_linkedin_url":{"type":"string","format":"uri","nullable":true},"tags":{"type":"array","items":{"type":"string"}},"removed":{"type":"boolean","description":"True when the platform no longer shows this review (taken down by the platform or deleted by the reviewer). Removed reviews are still returned."},"removed_at":{"type":"string","format":"date-time","nullable":true,"description":"When the review was detected as removed. Null when removed is false, and also null for reviews removed before removal dates were recorded."},"media":{"type":"object","description":"Photos and videos the reviewer attached to the review. Both lists are empty when there are none. Available for Google Maps (photos and videos), GetYourGuide, Klook, IKYU and Rakuten Travel (photos).","properties":{"photos":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri"}}}},"videos":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri"}}}}}}},"required":["id","rating","platform","profile","profile_url","date","link","overall","pros","cons","reviewer_name","title"]},"Search":{"type":"object","properties":{"link":{"type":"string","format":"uri","description":"URL to the review page"},"name":{"type":"string","description":"Name of the product/platform being reviewed"},"score":{"type":"number","format":"float","description":"Relevance score of the search result"}},"required":["link","name","score"]},"Listing":{"type":"object","properties":{"id":{"type":"integer"},"domain":{"type":"string","nullable":true},"platform":{"type":"string","enum":["Google Maps","Trustpilot","App Store","Play Store","G2","Gartner Peer Insights","Capterra","Trustradius","Glassdoor","Shopify","Wordpress","Chrome Store","Edge Store","Microsoft Store","Hubspot","Salesforce","Crozdesk","OMR","Verified Reviews","Product Hunt","SourceForge","Mozzilla Addons","Google Workspace","MacOS App Store","SoftwareSuggest","SaasHub","AlternativeTo","Itunes","Tripadvisor","Xero","Quickbooks","Reviewflowz"]},"profile_name":{"type":"string"},"url":{"type":"string","format":"uri"},"external_id":{"type":"string","nullable":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"default_review_profile_rating":{"type":"object","properties":{"id":{"type":"integer"},"review_profile_id":{"type":"integer"},"account_id":{"type":"integer"},"date":{"type":"string","format":"date-time"},"score":{"type":"number","format":"float"},"count":{"type":"integer"},"locale":{"type":"string","nullable":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"five_star_count":{"type":"integer","nullable":true},"four_star_count":{"type":"integer","nullable":true},"three_star_count":{"type":"integer","nullable":true},"two_star_count":{"type":"integer","nullable":true},"one_star_count":{"type":"integer","nullable":true},"language_id":{"type":"integer","nullable":true},"country_id":{"type":"integer","nullable":true}},"required":["id","review_profile_id","account_id","date","score","count"]}},"required":["id","platform","profile_name","url"]},"Flow":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"channel_id":{"type":"integer"},"review_profile_ids":{"type":"array","items":{"type":"integer"}},"status":{"type":"boolean"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","channel_id","review_profile_ids","status","created_at","updated_at"]},"Contact":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"email":{"type":"string"},"created_at":{"type":"string","format":"date_time"},"updated_at":{"type":"string","format":"date_time"},"account_id":{"type":"integer"},"contact_attributes":{"type":"object","additionalProperties":{"type":"string"}}},"required":["id","email","created_at","updated_at","account_id"]},"Channel":{"type":"object","properties":{"provider":{"type":"string","example":"webhook"},"nickname":{"type":"string"},"webhook_url":{"type":"string"}},"required":["provider","nickname","webhook_url"]}}},"security":[{"bearerAuth":[]}]}