openapi: 3.2.0 info: title: Synup Connected Accounts API version: '4' description: 'REST API v4 for the Synup local marketing platform: business locations, listing syndication to 80+ directories, review/interaction aggregation and response, review campaigns, local rank tracking and grid-rank heatmaps, local and social posts, AI post ideas, menus, connected accounts, users and profile analytics. ASSEMBLED BY API EVANGELIST from the per-endpoint OpenAPI documents Synup publishes on its own documentation host (developer.synup.com, Apidog project 797384). Every operation, parameter, response, example and schema below is verbatim provider content; only the merge into a single document is ours. Source index: https://developer.synup.com/llms.txt' contact: name: Synup Developer Documentation url: https://developer.synup.com/ x-assembled-by: api-evangelist enrichment pipeline (local-v1) x-assembled-from: 506 per-endpoint OpenAPI fragments published at https://developer.synup.com/.md x-assembled-date: '2026-08-13' servers: - url: https://api.synup.com/api/v4 description: Base ENV (as published in every Synup doc fragment). Tenant workspace domains (https://.synup.com/api/v4) also serve the same API. tags: - name: Connected Accounts paths: /connected-accounts/apple-confirmed-matches: get: summary: Apple confirmed matches deprecated: false description: ' Returns the confirmed matches between Synup locations and Apple Business listings for a connected Apple account. These are produced after a location has been connected via the Apple Business Connect OAuth flow (see Connect link for Apple). Results are paginated. ' operationId: appleConfirmedMatches tags: - Connected Accounts parameters: - name: accountId in: query description: Account ID. required: true example: QWNjb3VudDoxMjM= schema: type: string - name: connectedAccountId in: query description: ID of the connected Apple account. required: true example: Q29ubmVjdGVkQWNjb3VudDo0NTY= schema: type: string - name: page in: query description: Page number (1-based). required: true example: 1 schema: type: integer - name: Synup-Version in: header description: API version date (YYYY-MM-DD). required: true example: '2026-04-17' schema: type: string - name: Authorization in: header description: API key for authentication. required: true example: API T9V35W3xxxxxxxxxxx schema: type: string responses: '200': description: Successful response content: application/json: schema: type: object properties: data: type: object properties: appleConfirmedMatches: $ref: '#/components/schemas/AppleConfirmedMatches' x-apidog-orders: - appleConfirmedMatches x-apidog-ignore-properties: [] x-apidog-orders: - data x-apidog-ignore-properties: [] headers: {} x-apidog-name: '' '401': description: Unauthorized - Invalid or missing API key content: application/json: schema: type: object properties: {} x-apidog-orders: [] x-apidog-ignore-properties: [] headers: {} x-apidog-name: '' security: [] x-apidog-folder: Connected Accounts x-apidog-status: released x-run-in-apidog: https://app.apidog.com/web/project/797384/apis/api-40050924-run /connected-accounts/connect-apple/bulk: post: summary: Bulk connect link for Apple deprecated: false description: ' Generates an Apple Business Connect OAuth link that connects **multiple locations** in a single authorization flow. Unlike Connect link for Apple, no `locationId` is supplied — the set is account/platform-scoped. Redirect the user to the returned `url`; the link is valid for 1 day. Use `platform` to target `local` (default) or `social`, and `entityId` to supply the brand ID when `platform` is `social`. **Apple OAuth link variants:** - **Connect link for Apple** — single location (`locationId`). - **Bulk connect link for Apple** — multiple locations (this endpoint). - **Renew connect link for Apple** — re-authorize an expired/revoked token. ' operationId: bulkConnectLinkForApple tags: - Connected Accounts parameters: - name: Synup-Version in: header description: API version date (YYYY-MM-DD). required: true example: '2026-04-17' schema: type: string - name: Authorization in: header description: API key for authentication. required: true example: API T9V35W3xxxxxxxxxxx schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/AppleOauthBulkRequest' example: input: successUrl: https://app.synup.com/apple/success errorUrl: https://app.synup.com/apple/error platform: local responses: '200': description: Successful response content: application/json: schema: type: object properties: data: type: object properties: bulkConnectLinkForApple: $ref: '#/components/schemas/AppleOauthBulkPayload' x-apidog-orders: - bulkConnectLinkForApple x-apidog-ignore-properties: [] x-apidog-orders: - data x-apidog-ignore-properties: [] headers: {} x-apidog-name: '' '401': description: Unauthorized - Invalid or missing API key content: application/json: schema: type: object properties: {} x-apidog-orders: [] x-apidog-ignore-properties: [] headers: {} x-apidog-name: '' security: [] x-apidog-folder: Connected Accounts x-apidog-status: released x-run-in-apidog: https://app.apidog.com/web/project/797384/apis/api-39902193-run /connected-accounts/confirm-matches: post: summary: Confirm Connected Account Matches deprecated: false description: ' This API confirms suggested matches between locations in your account and profiles from Google My Business or Facebook Pages that were previously recommended. **Behavior:** - Requires base64-encoded match record IDs in a specific format, depending on the account type. - Once confirmed, the system links the location with the external listing for ongoing management. ' tags: - Connected Accounts parameters: - name: Authorization in: header description: API key for authentication required: true example: API T9V35W3xxxxxxxxxxx schema: type: string - name: Content-Type in: header description: '' required: true example: application/json schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ConfirmMatchesRequest' example: input: matchRecordIds: - R21iTG9jYXRpb25NYXRjaGVkRGF0YTplNGZhNTFkYi04NWEwLTRjYzItYjdmMS01OWNhMzQ1NjlhZWM= - R21iTG9jYXRpb25NYXRjaGVkRGF0YSI6MWFjMDdiN2ItMjUyYi00NTdkLTlhM2ItMTk4NzEzYzNkZjQz responses: '200': description: Match confirmation process completed content: application/json: schema: $ref: '#/components/schemas/ConfirmMatchesResponse' examples: '1': summary: All matches confirmed successfully value: data: confirmConnectMatches: success: true '2': summary: Some matches failed to confirm value: data: confirmConnectMatches: success: false failedIds: - e4fa51db-85a0-4cc2-b7f1-59ca34569aec headers: {} x-apidog-name: OK '400': description: Invalid request - Malformed base64 strings or invalid format content: application/json: schema: type: object properties: {} x-apidog-orders: [] x-apidog-ignore-properties: [] headers: {} x-apidog-name: Bad Request '401': description: Unauthorized - Invalid or missing API key content: application/json: schema: type: object properties: {} x-apidog-orders: [] x-apidog-ignore-properties: [] headers: {} x-apidog-name: Unauthorized '403': description: Forbidden - Insufficient permissions content: application/json: schema: type: object properties: {} x-apidog-orders: [] x-apidog-ignore-properties: [] headers: {} x-apidog-name: Forbidden security: [] x-apidog-folder: Connected Accounts x-apidog-status: released x-run-in-apidog: https://app.apidog.com/web/project/797384/apis/api-13680753-run /connected-accounts/connect-listing: post: summary: Connect a location with a listing of a connected account deprecated: false description: "\n\nThis API links a location in your account with a listing from a connected Google My Business or Facebook Page account.\n\n**Required Fields:**\n- locationId – Base64-encoded unique identifier of the location.\n- connectedAccountListingId – The ID of the listing, retrieved from the Fetch Listings API.\n- connectedAccountId – The ID of the connected account managing the listing.\n \n**Behavior:**\n- Establishes a direct connection between the location and the listing.\n- Enables the system to sync and manage the listing’s data.\n" tags: - Connected Accounts parameters: - name: Authorization in: header description: API key for authentication required: true example: API T9V35W3xxxxxxxxxxx schema: type: string - name: Content-Type in: header description: '' required: true example: application/json schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ConnectListingRequest' example: input: locationId: TG9jYXRpb246NzM5MzM= connectedAccountId: 3db66afa-151d-4212-a8b7-949f9fe9aaf9 connectedAccountListingId: R21iQnVsa0RhdGFMYWtlOmMyMWRiOWY5LTZmYTctNDE0My1hNDU2LTQzMjZkMmZiN2UwZg== responses: '200': description: Connection process completed content: application/json: schema: $ref: '#/components/schemas/ConnectListingResponse' examples: '1': summary: Successful connection value: data: connectListing: message: null success: true '2': summary: Failed connection - Internal System Error value: data: connectListing: message: Internal System Error success: false '3': summary: Failed Connection value: data: confirmConnectMatches: failedIds: - 76151840-2c2e-46f7-8ea1-408ee19d37a2 success: false headers: {} x-apidog-name: OK '400': description: Invalid request - Malformed base64 string or invalid IDs content: application/json: schema: type: object properties: {} x-apidog-orders: [] x-apidog-ignore-properties: [] headers: {} x-apidog-name: Bad Request '401': description: Unauthorized - Invalid or missing API key content: application/json: schema: type: object properties: {} x-apidog-orders: [] x-apidog-ignore-properties: [] headers: {} x-apidog-name: Unauthorized '403': description: Forbidden - Insufficient permissions content: application/json: schema: type: object properties: {} x-apidog-orders: [] x-apidog-ignore-properties: [] headers: {} x-apidog-name: Forbidden '404': description: Not Found - Location or listing not found content: application/json: schema: type: object properties: {} x-apidog-orders: [] x-apidog-ignore-properties: [] headers: {} x-apidog-name: Record Not Found security: [] x-apidog-folder: Connected Accounts x-apidog-status: released x-run-in-apidog: https://app.apidog.com/web/project/797384/apis/api-13680763-run /connected-accounts/connect-facebook: post: summary: Connect Facebook Page to Account deprecated: false description: "\n\n\nThis API initiates the process of connecting a new Facebook Page account to the system. The response provides a URL for the user to complete Facebook’s OAuth authentication flow.\n\n**Important Notes:**\n- The response includes a URL that the user must visit to authenticate and connect their Facebook Page account.\n- The provided URL is valid for 24 hours.\n- When the user accesses the URL, they are redirected to Facebook’s OAuth authentication flow.\n- During OAuth, the user must:\n - Review and accept Facebook’s terms and conditions.\n - Grant necessary permissions for integration.\n- After OAuth authentication:\n - If successful, the user is redirected to the successUrl specified in the request.\n - If permissions are declined or the process fails, the user is redirected to the errorUrl.\n" operationId: connectFacebookAccount tags: - Connected Accounts parameters: - name: Authorization in: header description: API key for authentication required: true example: API T9V35W3xxxxxxxxxxx schema: type: string - name: Content-Type in: header description: '' required: true example: application/json schema: type: string requestBody: content: application/json: schema: type: object properties: input: type: object required: - errorUrl - successUrl properties: errorUrl: type: string description: Redirect URL in case of Error examples: - http://www.errorurl.com successUrl: type: string description: Redirect URL in case of Success examples: - http://www.successurl.com x-apidog-orders: - errorUrl - successUrl x-apidog-orders: - input example: input: errorUrl: http://www.errorurl.com successUrl: http://www.successurl.com responses: '200': description: Successfully generated connection URL content: application/json: schema: type: object properties: data: type: object properties: bulkConnectLinkForFacebook: type: object properties: errors: type: - array - 'null' items: type: string description: Array of error messages if any success: type: boolean description: True if the request was successful, otherwise False url: type: string description: The URL which needs to be visited to initiate the connect process examples: - http://synup.com/locations/redirect_oauth_bulk/facebook?token=9009dc92-2b18-421f-b856-d157f3f06d6b x-apidog-orders: - errors - success - url x-apidog-orders: - bulkConnectLinkForFacebook x-apidog-orders: - data example: data: bulkConnectLinkForFacebook: errors: null success: true url: https://claim.verifymybiz.com/locations/redirect_oauth_bulk/facebook?onboarding=false&platform=local&token=bfac8e06-8d72-4810-9c50-ae7ee12a7b52 headers: {} x-apidog-name: OK '400': description: Bad request - invalid input content: application/json: schema: type: object properties: {} x-apidog-orders: [] headers: {} x-apidog-name: Bad Request security: [] x-apidog-folder: Connected Accounts x-apidog-status: released x-run-in-apidog: https://app.apidog.com/web/project/797384/apis/api-13675265-run /connected-accounts/connect-google: post: summary: Connect Google Profile to Account deprecated: false description: "\n\nThis API initiates the process of connecting a new Google My Business (GMB) account to the system. The response provides a URL for the user to complete Google's OAuth authentication flow.\n\n**Important Notes:**\n- The response includes a URL that the user must visit to authenticate and connect their GMB account.\n- The provided URL is valid for 24 hours.\n- When the user accesses the URL, they are redirected to Google’s OAuth authentication flow.\n- During OAuth, the user must:\n - Review and accept Google’s terms and conditions.\n - Grant necessary permissions for integration.\n- After OAuth authentication:\n - If successful, the user is redirected to the successUrl provided in the request.\n - If permissions are declined or the process fails, the user is redirected to the errorUrl.\n" operationId: connectGoogleAccount tags: - Connected Accounts parameters: - name: Authorization in: header description: API key for authentication required: true example: API T9V35W3xxxxxxxxxxx schema: type: string - name: Content-Type in: header description: '' required: true example: application/json schema: type: string requestBody: content: application/json: schema: type: object properties: input: type: object required: - errorUrl - successUrl properties: errorUrl: type: string description: Redirect URL in case of Error examples: - http://www.errorurl.com successUrl: type: string description: Redirect URL in case of Success examples: - http://www.successurl.com x-apidog-orders: - errorUrl - successUrl x-apidog-orders: - input example: input: errorUrl: http://www.errorurl.com successUrl: http://www.successurl.com responses: '200': description: Successfully generated connection URL content: application/json: schema: type: object properties: data: type: object properties: bulkConnectLinkForGoogle: type: object properties: errors: type: - array - 'null' items: type: string description: Array of error messages if any success: type: boolean description: True if the request was successful, otherwise False url: type: string description: The URL which needs to be visited to initiate the connect process examples: - http://synup.com/locations/redirect_oauth_bulk/google?token=9009dc92-2b18-421f-b856-d157f3f06d6b x-apidog-orders: - success - url - errors x-apidog-orders: - bulkConnectLinkForGoogle x-apidog-orders: - data example: data: bulkConnectLinkForGoogle: clientMutationId: null errors: null success: true url: https://claim.verifymybiz.com/locations/redirect_oauth_bulk/google_oauth2?onboarding=false&platform=local&token=47cc832a-31ce-4de5-8768-c541a8331800 headers: {} x-apidog-name: OK '400': description: Bad request - invalid input content: application/json: schema: type: object properties: {} x-apidog-orders: [] headers: {} x-apidog-name: Bad Request security: [] x-apidog-folder: Connected Accounts x-apidog-status: released x-run-in-apidog: https://app.apidog.com/web/project/797384/apis/api-13675039-run /connected-accounts/connect-apple: post: summary: Connect link for Apple deprecated: false description: ' Generates an Apple Business Connect OAuth link for a **single location**. Redirect the user to the returned `url` to authorize the connection; on completion Apple redirects back to your `successUrl` (or `errorUrl` on failure). The link is valid for 1 day. **Apple OAuth link variants:** - **Connect link for Apple** — connects a single location (this endpoint; takes a `locationId`). - **Bulk connect link for Apple** — connects multiple locations in one flow (account/platform-scoped; no `locationId`). - **Renew connect link for Apple** — re-authorizes an expired or revoked token for an existing connection. ' operationId: connectLinkForApple tags: - Connected Accounts parameters: - name: Synup-Version in: header description: API version date (YYYY-MM-DD). required: true example: '2026-04-17' schema: type: string - name: Authorization in: header description: API key for authentication. required: true example: API T9V35W3xxxxxxxxxxx schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/AppleOauthRequest' example: input: locationId: TG9jYXRpb246MQ== successUrl: https://app.synup.com/apple/success errorUrl: https://app.synup.com/apple/error responses: '200': description: Successful response content: application/json: schema: type: object properties: data: type: object properties: connectLinkForApple: $ref: '#/components/schemas/AppleOauthPayload' x-apidog-orders: - connectLinkForApple x--orders: - connectLinkForApple x--ignore-properties: [] x-apidog-orders: - data x--orders: - data x--ignore-properties: [] headers: {} x-apidog-name: '' '401': description: Unauthorized - Invalid or missing API key content: application/json: schema: type: object properties: {} x-apidog-orders: [] x--orders: [] x--ignore-properties: [] headers: {} x-apidog-name: '' security: [] x-apidog-folder: Connected Accounts x-apidog-status: released x-run-in-apidog: https://app.apidog.com/web/project/797384/apis/api-40051582-run /locations/create/gmb-listing: post: summary: Create GMB Listing deprecated: false description: ' Create a GMB listing for the location with ID TG9jYXRpb246MTQwNTU= and connect it to a Google account ' tags: - Connected Accounts parameters: - name: locationId in: query description: The ID of the location for which GMB listing will be created. Encoded format required: true example: TG9jYXRpb246MTQwNTU= schema: type: string - name: connectedAccountId in: query description: "The ID of the connected Google account to associate with the listing\t" required: true example: bc818dc7-1576-4e50-a69d-c69d12221234 schema: type: string - name: folderId in: query description: "The Google My Business folder ID where the listing should be created. You can get this ID from the List folders endpoint. If not provided, it will create under Ungrouped (Primary Group)\t" required: false example: accounts/1154433325552997863009 schema: type: string - name: Authorization in: header description: '' required: true example: API T9V35W3xxxxxxxxxxx schema: type: string - name: Content-Type in: header description: '' required: false example: application/json schema: type: string responses: '200': description: '' content: application/json: schema: type: object properties: data: type: object properties: createGmbListingForLocation: type: object properties: success: type: boolean errors: type: 'null' required: - success - errors x-apidog-orders: - success - errors required: - createGmbListingForLocation x-apidog-orders: - createGmbListingForLocation required: - data x-apidog-orders: - data example: data: createGmbListingForLocation: success: true errors: null headers: {} x-apidog-name: Success security: [] x-apidog-folder: Connected Accounts x-apidog-status: released x-run-in-apidog: https://app.apidog.com/web/project/797384/apis/api-19189800-run /connected-accounts/create-location-from-listing: post: summary: create location from connected account listing deprecated: false description: ' This API creates a new location in the system from an existing connected account listing (Google My Business or Facebook page) that has been previously fetched and stored in the bulk data lake. What This API Does: Takes a listing from your connected account''s bulk data (Google or Facebook) Fetches the latest information from the platform (Google/Facebook API) Creates a new location in Synup with all the business details Automatically links the location to the connected account Important Prerequisites: You must already have a connected account (Google or Facebook) with valid credentials The account must have completed the bulk listing fetch process The listing must be available in the bulk data lake (not yet connected to a location) The listing must belong to the specified connected account Request Parameters: connectedAccountId (required): UUID of your connected Google/Facebook account connectedAccountListingId (required): Encoded ID of the listing from bulk data (format: GmbBulkDataLake:xxx or FbBulkDataLake:xxx) tenure (optional): Billing tenure for the location (e.g., "Monthly", "Yearly") API Behavior: For Google My Business: Fetches latest location data including name, address, hours, categories, phone, photos, and attributes For Facebook: Fetches latest page data including name, location, hours, categories, description, and contact info Validates that credentials are still valid before proceeding Checks if the listing is already connected to prevent duplicates Creates location with proper state mapping (uses reverse geocoding for Facebook if needed) Response: On success: Returns success: true with the new location_id (database ID) On failure: Returns success: false with error code and message Common Error Codes: SY81019: User not found (authentication issue) SY81066: Connected account not found or archived SY81067: Invalid listing ID format SY81068: Listing already connected to another location SY81069: Connected account credentials are invalid (need to reconnect) SY81070: Listing doesn''t belong to the specified connected account SY81071: Unexpected error during location creation Post-Creation: Location is automatically linked to the connected account Background worker processes additional tasks (connection records, etc.) Location becomes available for management and submission ' operationId: connectGoogleAccount tags: - Connected Accounts parameters: - name: Authorization in: header description: API key for authentication required: true example: API T9V35W3xxxxxxxxxxx schema: type: string - name: Content-Type in: header description: '' required: true example: application/json schema: type: string requestBody: content: application/json: schema: type: object properties: input: type: object required: - errorUrl - successUrl properties: errorUrl: type: string description: Redirect URL in case of Error examples: - http://www.errorurl.com successUrl: type: string description: Redirect URL in case of Success examples: - http://www.successurl.com x-apidog-orders: - errorUrl - successUrl x-apidog-orders: - input example: input: connectedAccountId: e9c587ea-ae1c-416f-8824-ef4185cd2c99 connectedAccountListingId: R21iQnVsa0RhdGFMYWtlOjU3NzU5MzRiLTUwOTgtNGQwYS04YjQ0LTNjY2ZlZmZkZmUzNw== tenure: Monthly responses: '200': description: Successfully generated connection URL content: application/json: schema: type: object properties: data: type: object properties: createLocationFromConnectedAccountListing: type: object properties: errors: type: - array - 'null' items: type: string description: Array of error messages if any success: type: boolean description: True if the request was successful, otherwise False locationId: type: integer description: The URL which needs to be visited to initiate the connect process x-apidog-orders: - success - locationId - errors x-apidog-orders: - createLocationFromConnectedAccountListing x-apidog-orders: - data example: data: createLocationFromConnectedAccountListing: success: true locationId: 88277 errors: null headers: {} x-apidog-name: OK '400': description: Bad request - invalid input content: application/json: schema: type: object properties: {} x-apidog-orders: [] headers: {} x-apidog-name: Bad Request security: [] x-apidog-folder: Connected Accounts x-apidog-status: released x-run-in-apidog: https://app.apidog.com/web/project/797384/apis/api-25157498-run /connected-accounts/disconnect-facebook: post: summary: Disconnect Facebook Account deprecated: false description: ' This API removes the connection between your account and a Facebook Page account. ' operationId: disconnectGoogleAccount tags: - Connected Accounts parameters: - name: Authorization in: header description: API key for authentication required: true example: API T9V35W3xxxxxxxxxxx schema: type: string - name: Content-Type in: header description: '' required: true example: application/json schema: type: string requestBody: content: application/json: schema: type: object properties: input: type: object properties: connectedAccountId: type: string description: Connected Account Id which needs to be disconnected required: - connectedAccountId x-apidog-orders: - connectedAccountId required: - input x-apidog-orders: - input example: input: connectedAccountId: d2397854-52c2-41d7-95f1-b90cba16498d responses: '200': description: Successful disconnection response content: application/json: schema: type: object properties: data: type: object properties: fbBulkDisconnect: type: object properties: success: type: boolean description: True if the request was successful x-apidog-orders: - success x-apidog-orders: - fbBulkDisconnect x-apidog-orders: - data example: data: fbBulkDisconnect: success: true headers: {} x-apidog-name: OK '400': description: Bad request content: application/json: schema: type: object properties: {} x-apidog-orders: [] headers: {} x-apidog-name: Bad Request '401': description: Unauthorized content: application/json: schema: type: object properties: {} x-apidog-orders: [] headers: {} x-apidog-name: Unauthorized '403': description: Forbidden content: application/json: schema: type: object properties: {} x-apidog-orders: [] headers: {} x-apidog-name: Forbidden '404': description: Connected account not found content: application/json: schema: type: object properties: {} x-apidog-orders: [] headers: {} x-apidog-name: Record Not Found '500': description: Internal server error content: application/json: schema: type: object properties: {} x-apidog-orders: [] headers: {} x-apidog-name: Server Error security: [] x-apidog-folder: Connected Accounts x-apidog-status: released x-run-in-apidog: https://app.apidog.com/web/project/797384/apis/api-13686527-run /connected-accounts/disconnect-google: post: summary: Disconnect GMB Profile deprecated: false description: ' This API removes the connection between your account and a Google My Business (GMB) account. ' operationId: disconnectGoogleAccount tags: - Connected Accounts parameters: - name: Authorization in: header description: API key for authentication required: true example: API T9V35W3xxxxxxxxxxx schema: type: string - name: Content-Type in: header description: '' required: true example: application/json schema: type: string requestBody: content: application/json: schema: type: object properties: input: type: object properties: connectedAccountId: type: string description: "Connected Account Id which needs to be disconnected\t" format: uuid required: - connectedAccountId x-apidog-orders: - connectedAccountId required: - input x-apidog-orders: - input example: input: connectedAccountId: d2397854-52c2-41d7-95f1-b90cba16498d responses: '200': description: Successful disconnection response content: application/json: schema: type: object properties: data: type: object properties: gmbBulkDisconnect: type: object properties: success: type: boolean description: True if the request was success. Otherwise returns False x-apidog-orders: - success x-apidog-orders: - gmbBulkDisconnect x-apidog-orders: - data example: data: gmbBulkDisconnect: success: true __typename: BulkDisconnectResult headers: {} x-apidog-name: OK '400': description: Bad request content: application/json: schema: type: object properties: {} x-apidog-orders: [] headers: {} x-apidog-name: Bad Request '404': description: Connected account not found content: application/json: schema: type: object properties: {} x-apidog-orders: [] headers: {} x-apidog-name: Record Not Found '500': description: Internal server error content: application/json: schema: type: object properties: {} x-apidog-orders: [] headers: {} x-apidog-name: Server Error security: [] x-apidog-folder: Connected Accounts x-apidog-status: released x-run-in-apidog: https://app.apidog.com/web/project/797384/apis/api-13678474-run /connected-accounts/disconnect-listing: post: summary: Disconnect Location from Listing deprecated: false description: "\n\nThis API removes the connection between a location in your account and its associated Google My Business or Facebook Page listing.\n\n**Required Fields:**\n- locationId – Base64-encoded unique identifier of the location.\n- siteType – Specifies the platform (Google My Business or Facebook Page).\n \n**Behavior:**\n- Once disconnected, the system stops syncing and managing the listing.\n- The listing remains active on the external platform, but updates from your system will no longer be applied.\n" tags: - Connected Accounts parameters: - name: Authorization in: header description: API key for authentication required: true example: API T9V35W3xxxxxxxxxxx schema: type: string - name: Content-Type in: header description: '' required: true example: application/json schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/DisconnectListingRequest' example: input: locationId: TG9jYXRpb246Mjc1ODM2 site: GOOGLE responses: '200': description: Disconnection process completed content: application/json: schema: $ref: '#/components/schemas/DisconnectListingResponse' examples: '1': summary: Success value: data: disconnectConnectedAccountsLocations: clientMutationId: null errors: null success: true '2': summary: If not connected value: data: disconnectConnectedAccountsLocations: null errors: - message: SY10057:Location is not connected for the site headers: {} x-apidog-name: OK '400': description: Invalid request - Malformed base64 string or invalid site value content: application/json: schema: type: object properties: {} x-apidog-orders: [] x-apidog-ignore-properties: [] headers: {} x-apidog-name: Bad Request '401': description: Unauthorized - Invalid or missing API key content: application/json: schema: type: object properties: {} x-apidog-orders: [] x-apidog-ignore-properties: [] headers: {} x-apidog-name: Unauthorized '403': description: Forbidden - Insufficient permissions content: application/json: schema: type: object properties: {} x-apidog-orders: [] x-apidog-ignore-properties: [] headers: {} x-apidog-name: Forbidden '404': description: Not Found - Location or listing not found content: application/json: schema: type: object properties: {} x-apidog-orders: [] x-apidog-ignore-properties: [] headers: {} x-apidog-name: Record Not Found security: [] x-apidog-folder: Connected Accounts x-apidog-status: released x-run-in-apidog: https://app.apidog.com/web/project/797384/apis/api-13680775-run /connected-accounts/{connectedAccountId}/details: get: summary: Fetch Connected Account Details deprecated: false description: "\n\nThis API retrieves detailed information about a specific connected account. \n \n**Behavior:**\n\n- Returns account details only if the account is currently connected.\n- If the account has been disconnected, no data will be returned.\n \n \n\n" operationId: getConnectedAccountDetails tags: - Connected Accounts parameters: - name: connectedAccountId in: path description: Unique identifier of the connected account required: true example: bc818dc7-1576-4e50-a69d-c69d22103588 schema: type: string format: uuid - name: Authorization in: header description: API key for authentication required: true example: API T9V35W3xxxxxxxxxxx schema: type: string - name: Content-Type in: header description: '' required: true example: application/json schema: type: string responses: '200': description: Successfully retrieved connected account details content: application/json: schema: $ref: '#/components/schemas/ConnectedAccountDetailsResponse' examples: '1': summary: Success value: data: connectedAccountDetails: details: connectedAccountId: bc818dc7-1576-4e50-a69d-c69d22103588 connectedAccountType: GoogleAccount connectedLocationsCount: 20 connectivityIssue: null email: abc@synup.com lastFetchMatchesRequestedAt: 2022-09-20 12:14:13 UTC requestMatches: true requestMatchesStatus: MATCH_COMPLETED status: CONNECTED remarks: '' '2': summary: Connected Account Not Found / Disconnected value: data: connectedAccountDetails: null errors: - message: 'SY30036: Requested resource not found' headers: {} x-apidog-name: OK '401': description: Unauthorized - Invalid API key content: application/json: schema: type: object properties: {} x-apidog-orders: [] x-apidog-ignore-properties: [] headers: {} x-apidog-name: Unauthorized '404': description: Connected account not found content: application/json: schema: type: object properties: {} x-apidog-orders: [] x-apidog-ignore-properties: [] headers: {} x-apidog-name: Record Not Found '500': description: Internal server error content: application/json: schema: type: object properties: {} x-apidog-orders: [] x-apidog-ignore-properties: [] headers: {} x-apidog-name: Server Error security: [] x-apidog-folder: Connected Accounts x-apidog-status: released x-run-in-apidog: https://app.apidog.com/web/project/797384/apis/api-13687153-run /connected-accounts/connected-account-listings: post: summary: Fetch Connected Account Listings deprecated: false description: "\n\nThis API retrieves all listings accessible to a specific Google My Business or Facebook Page account.\n\nFeatures:\n- Pagination support – Up to 500 records per page.\n- Filtering options – Search by:\n - Street address\n - Postal code\n - City\n - Phone number\n - Business name\n" tags: - Connected Accounts parameters: - name: Authorization in: header description: API key for authentication required: true example: API T9V35W3xxxxxxxxxxx schema: type: string - name: Content-Type in: header description: '' required: true example: application/json schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/FetchListingsRequest' example: connectedAccountId: 3db66afa-151d-4212-a8b7-949f9fe9aaf9 responses: '200': description: Successfully retrieved listings content: application/json: schema: $ref: '#/components/schemas/FetchListingsResponse' headers: {} x-apidog-name: OK '400': description: Invalid request parameters content: application/json: schema: type: object properties: {} x-apidog-orders: [] x-apidog-ignore-properties: [] headers: {} x-apidog-name: Bad Request '401': description: Unauthorized - Invalid or missing API key content: application/json: schema: type: object properties: {} x-apidog-orders: [] x-apidog-ignore-properties: [] headers: {} x-apidog-name: Unauthorized '403': description: Forbidden - Insufficient permissions content: application/json: schema: type: object properties: {} x-apidog-orders: [] x-apidog-ignore-properties: [] headers: {} x-apidog-name: Forbidden security: [] x-apidog-folder: Connected Accounts x-apidog-status: released x-run-in-apidog: https://app.apidog.com/web/project/797384/apis/api-13680740-run /connected-accounts: get: summary: List all connected accounts deprecated: false description: "\nThis API retrieves a paginated list of all connected accounts under your account, with support for filtering by publisher type and connection status.\n\nFeatures:\n- Pagination support – Retrieve results in batches for efficient processing.\n- Filtering options – Filter connected accounts by:\n - Publisher type (Google My Business, Facebook, etc.)\n - Connection status (Active, Expired, Disconnected)\n" tags: - Connected Accounts parameters: - name: publisher in: query description: "Type of connected accounts to filter by. Accepted values\n* `FacebookAccount` \n* `GoogleAccount`\n" required: false example: GoogleAccount schema: type: string enum: - FacebookAccount - GoogleAccount - name: status in: query description: 'Connection status to filter by. * `Connected` - Currently connected accounts * `ConnectionIssue` - Accounts with connection issues ' required: false example: Connected schema: type: string enum: - Connected - ConnectionIssue - name: page in: query description: Page number for pagination required: false example: 1 schema: type: integer default: 1 - name: perPage in: query description: Number of records per page required: false example: 20 schema: type: integer default: 20 maximum: 100 - name: Authorization in: header description: API key for authentication required: true example: API T9V35W3xxxxxxxxxxx schema: type: string responses: '200': description: Successfully retrieved connected accounts content: application/json: schema: $ref: '#/components/schemas/ConnectedAccountsResponse' headers: {} x-apidog-name: OK '401': description: Unauthorized - Invalid or missing API key content: application/json: schema: type: object properties: {} x-apidog-orders: [] x-apidog-ignore-properties: [] headers: {} x-apidog-name: Unauthorized '403': description: Forbidden - Insufficient permissions content: application/json: schema: type: object properties: {} x-apidog-orders: [] x-apidog-ignore-properties: [] headers: {} x-apidog-name: Forbidden security: [] x-apidog-folder: Connected Accounts x-apidog-status: released x-run-in-apidog: https://app.apidog.com/web/project/797384/apis/api-13679586-run /connected-accounts/{connectedAccountId}/connection-suggestions: get: summary: List Connection Suggestions deprecated: false description: ' This API retrieves all connection suggestions for a connected account. These suggestions represent potential matches between locations in your account and business profiles on Google My Business or Facebook Pages. **Behavior:** - Identifies locations in your account that closely match profiles on Google or Facebook. - Uses criteria like business name, address, and phone number to generate suggestions. - Helps streamline the linking process between your locations and external listings. ' operationId: listConnectionSuggestions tags: - Connected Accounts parameters: - name: connectedAccountId in: path description: ID of the connected account required: true example: '' schema: type: string format: uuid - name: page in: query description: Page number for pagination. Defaults to 1. required: false schema: type: integer default: 1 minimum: 1 - name: perPage in: query description: Number of records per page. Defaults to 20. required: false schema: type: integer default: 20 maximum: 500 - name: Authorization in: header description: API key for authentication required: true example: API T9V35W3xxxxxxxxxxx schema: type: string - name: Content-Type in: header description: '' required: true example: application/json schema: type: string responses: '200': description: Successfully retrieved connection suggestions content: application/json: schema: $ref: '#/components/schemas/ConnectionSuggestionsResponse' example: data: connectionSuggestionsForAccount: pageInfo: hasNextPage: false hasPreviousPage: false totalPages: 1 totalRecords: 2 records: - accountEmail: abc@synup.com accountType: GMB connectedAccountId: bc818dc7-1576-4e50-a69d-c69d22103588 locationId: '73415' locationInfo: city: Lincoln countryIso: US countryName: United States name: Stg - 24 Aug - with Store code phone: '3125270491' postalCode: '68502' stateIso: NE stateName: Nebraska storeCode: update store code and address 123 street: 3201 South St, 17 cross#778 street1: null matchedDataDatabaseId: 0d5e306f-0da0-46e3-929f-fd3c67ccd8cc suggestedLocationInfo: liveLink: null locationInfo: city: Lincoln country: US name: Stg - 24 Aug - with Store code phone: (312) 527-0491 postalCode: '68502' state: NE street: '3201 South St, 17 cross, #778' mainAccount: Business 1 mainAccountId: null storeCode: null subAccount: null ownerRole: PRIMARY_OWNER headers: {} x-apidog-name: OK security: [] x-apidog-folder: Connected Accounts x-apidog-status: released x-run-in-apidog: https://app.apidog.com/web/project/797384/apis/api-13687215-run /connected-accounts/{connectedAccountId}/folders: get: summary: List folders under a Google account deprecated: false description: ' List all the folders in Google My Business for a given connected account. ' tags: - Connected Accounts parameters: - name: connectedAccountId in: path description: '' required: true schema: type: string - name: folderName in: query description: 'Optional. Filter folders by name. If provided, returns only folders that match this name. Folders are also known as groups in GMB. eg: Downtown' required: false schema: type: string - name: Authorization in: header description: '' required: false example: API T9V35W3xxxxxxxxxxx schema: type: string - name: Content-Type in: header description: '' required: false example: application/json schema: type: string responses: '200': description: '' content: application/json: schema: type: object properties: data: type: object properties: getFoldersUnderGoogleAccount: type: array items: type: object properties: name: type: string description: Name of the folder locationCount: type: integer description: 'Number of locations in the folder ' folderId: type: string description: 'Unique identifier for the folder in Google My Business (e.g. "accounts/103301192460668915768") ' required: - name - locationCount - folderId x-apidog-orders: - name - locationCount - folderId required: - getFoldersUnderGoogleAccount x-apidog-orders: - getFoldersUnderGoogleAccount required: - data x-apidog-orders: - data example: data: getFoldersUnderGoogleAccount: - name: Main Branch locationCount: 5 folderId: accounts/103301192460668915768 - name: Downtown locationCount: 3 folderId: accounts/1154433325552997863009 headers: {} x-apidog-name: Success security: [] x-apidog-folder: Connected Accounts x-apidog-status: released x-run-in-apidog: https://app.apidog.com/web/project/797384/apis/api-19190292-run /location-connections: get: summary: List location connections deprecated: false description: "\nThis API returns a paginated list of your locations paired with each publisher (source), along with whether that location is connected, not connected, or has a connection issue for that publisher. It is the direct API equivalent of the Location Connections page.\n\nFeatures:\n- Pagination support – retrieve results in batches for efficient processing.\n- Filtering options – filter location connections by:\n - Source / publisher (`source`)\n - Location id (`locationId`)\n - Location name / address / phone (`locationName`)\n - Connection status (`status`)\n- Sorting – order by location info, publisher account email, or publisher type. " tags: - Connected Accounts parameters: - name: source in: query description: 'Publisher (source) to filter by. Accepted values * `GoogleAccount` * `FacebookAccount` * `AppleAccount` * `YelpAccount` * `TripadvisorAccount` ' required: false example: GoogleAccount schema: type: string enum: - GoogleAccount - FacebookAccount - AppleAccount - YelpAccount - TripadvisorAccount - name: locationId in: query description: Filter by one or more location ids. Accepts a raw numeric location id (e.g. `279169`) or a comma-separated list (e.g. `279169,279170`). Base64-encoded ids (`Location:`) are also accepted. required: false example: '279169' schema: type: string - name: locationName in: query description: Free-text search across the location name, address, and phone number. required: false example: Aikido schema: type: string - name: status in: query description: 'Connection status to filter by. * `Connected` - location is connected to the source * `NotConnected` - location is not connected to the source * `ConnectionIssue` - location has a connection issue for the source ' required: false example: NotConnected schema: type: string enum: - Connected - NotConnected - ConnectionIssue - name: sortField in: query description: 'Field to sort the results by. * `location_info` * `account_mail` * `account_type` ' required: false example: location_info schema: type: string enum: - location_info - account_mail - account_type - name: sortOrder in: query description: 'Sort order. Only applied when `sortField` is provided. * `Ascending` * `Descending` ' required: false example: Ascending schema: type: string enum: - Ascending - Descending default: Ascending - name: page in: query description: Page number for pagination required: false example: 1 schema: type: integer default: 1 - name: perPage in: query description: Number of records per page required: false example: 20 schema: type: integer default: 20 maximum: 100 - name: Authorization in: header description: API key for authentication required: true example: API T9V35W3xxxxxxxxxxx schema: type: string responses: '200': description: Successfully retrieved location connections content: application/json: schema: $ref: '#/components/schemas/LocationConnectionsResponse' headers: {} x-apidog-name: '' '401': description: Unauthorized - Invalid or missing API key content: application/json: schema: type: object properties: {} x-apidog-orders: [] x--orders: [] x--ignore-properties: [] headers: {} x-apidog-name: '' '403': description: Forbidden - Insufficient permissions content: application/json: schema: type: object properties: {} x-apidog-orders: [] x--orders: [] x--ignore-properties: [] headers: {} x-apidog-name: '' security: [] x-apidog-folder: Connected Accounts x-apidog-status: released x-run-in-apidog: https://app.apidog.com/web/project/797384/apis/api-40947471-run /connected-accounts/connect-apple/renew: post: summary: Renew connect link for Apple deprecated: false description: ' Generates a link to **re-authorize** an Apple Business Connect connection whose OAuth token has expired or been revoked. Provide either a `locationId` or a `connectedAccountId` to identify the connection to renew. Redirect the user to the returned `url`; the link is valid for 1 day. **Apple OAuth link variants:** - **Connect link for Apple** — connect a single location. - **Bulk connect link for Apple** — connect multiple locations. - **Renew connect link for Apple** — re-authorize an existing connection (this endpoint). ' operationId: renewConnectLinkForApple tags: - Connected Accounts parameters: - name: Synup-Version in: header description: API version date (YYYY-MM-DD). required: true example: '2026-04-17' schema: type: string - name: Authorization in: header description: API key for authentication. required: true example: API T9V35W3xxxxxxxxxxx schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/AppleRenewOauthRequest' example: input: locationId: TG9jYXRpb246MQ== successUrl: https://app.synup.com/apple/success responses: '200': description: Successful response content: application/json: schema: type: object properties: data: type: object properties: renewConnectLinkForApple: $ref: '#/components/schemas/AppleRenewOauthPayload' x-apidog-orders: - renewConnectLinkForApple x-apidog-ignore-properties: [] x-apidog-orders: - data x-apidog-ignore-properties: [] headers: {} x-apidog-name: '' '401': description: Unauthorized - Invalid or missing API key content: application/json: schema: type: object properties: {} x-apidog-orders: [] x-apidog-ignore-properties: [] headers: {} x-apidog-name: '' security: [] x-apidog-folder: Connected Accounts x-apidog-status: released x-run-in-apidog: https://app.apidog.com/web/project/797384/apis/api-40051602-run /connected-accounts/trigger-matches: post: summary: Trigger New Matches deprecated: false description: "\nThis API fetches all locations from connected Google My Business and Facebook Page profiles and attempts to match them with locations in your account.\n \n**Behavior:**\n- Supports batch processing – multiple connected accounts can be processed in a single request.\n- Matches locations based on business name, address, and other identifying attributes.\n- Helps ensure consistency between external platforms and your account.\n\n" tags: - Connected Accounts parameters: - name: Authorization in: header description: API key for authentication required: true example: API T9V35W3xxxxxxxxxxx schema: type: string - name: Content-Type in: header description: '' required: true example: application/json schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/TriggerMatchesRequest' example: input: connectedAccountIds: - 6eb312f7-df32-4d76-ad8a-26bcfeab601e - 7eb3q2f7-df34-4dt6-hd88-269cfoal6m1b responses: '200': description: Match triggering process initiated content: application/json: schema: $ref: '#/components/schemas/TriggerMatchesResponse' examples: '1': summary: All accounts processed successfully value: data: connectedAccountsTriggerMatches: success: true '2': summary: Some accounts failed to process value: data: connectedAccountsTriggerMatches: success: false failedIds: - 7eb3q2f7-df34-4dt6-hd88-269cfoal6m1b headers: {} x-apidog-name: OK '400': description: Invalid request - Missing or invalid parameters content: application/json: schema: type: object properties: {} x-apidog-orders: [] x-apidog-ignore-properties: [] headers: {} x-apidog-name: Bad Request '401': description: Unauthorized - Invalid or missing API key content: application/json: schema: type: object properties: {} x-apidog-orders: [] x-apidog-ignore-properties: [] headers: {} x-apidog-name: Unauthorized '403': description: Forbidden - Insufficient permissions content: application/json: schema: type: object properties: {} x-apidog-orders: [] x-apidog-ignore-properties: [] headers: {} x-apidog-name: Forbidden security: [] x-apidog-folder: Connected Accounts x-apidog-status: released x-run-in-apidog: https://app.apidog.com/web/project/797384/apis/api-13679897-run components: schemas: GmbConnectedListingInfo: type: object description: Connected listing details when the source is Google (GMB) properties: name: type: string addressLines: type: array items: type: string administrativeArea: type: - string - 'null' locality: type: - string - 'null' regionCode: type: - string - 'null' postalCode: type: - string - 'null' phone: type: - string - 'null' storeCode: type: - string - 'null' gmbAccountNumber: type: - string - 'null' gmbGroup: type: - string - 'null' suspended: type: - boolean - 'null' liveLink: type: - string - 'null' x-apidog-orders: - name - addressLines - administrativeArea - locality - regionCode - postalCode - phone - storeCode - gmbAccountNumber - gmbGroup - suspended - liveLink x-apidog-folder: '' AppleConfirmedMatches: type: object properties: matches: type: array items: $ref: '#/components/schemas/AppleConfirmedMatch' matchesCount: type: integer description: Total number of matches. pages: type: integer description: Total number of pages. x-apidog-orders: - matches - matchesCount - pages x-apidog-ignore-properties: [] x-apidog-folder: '' LocationInfo: type: object properties: approved: type: boolean description: Whether the location is approved name: type: string description: Location name street: type: - string - 'null' description: Street address line 1 street1: type: - string - 'null' description: Street address line 2 city: type: - string - 'null' description: City postalCode: type: - string - 'null' description: Postal / ZIP code countryIso: type: - string - 'null' description: ISO country code (e.g. `IN`, `US`) storeCode: type: - string - 'null' description: Store code of the location, if set liveLink: type: - string - 'null' description: Public live link of the location's listing on the source x-apidog-orders: - approved - name - street - street1 - city - postalCode - countryIso - storeCode - liveLink x-apidog-folder: '' DisconnectListingResponse: type: object properties: data: type: object properties: disconnectConnectedAccountsLocations: type: object required: - success properties: clientMutationId: type: - string - 'null' description: Client mutation identifier if provided errors: type: - object - 'null' description: Hash containing any errors that occurred during disconnection x-apidog-orders: [] properties: {} x-apidog-ignore-properties: [] success: type: boolean description: 'Indicates if the disconnection was successful. Returns true if the account was successfully disconnected from the location. ' x-apidog-orders: - clientMutationId - errors - success x-apidog-ignore-properties: [] x-apidog-orders: - disconnectConnectedAccountsLocations x-apidog-ignore-properties: [] x-apidog-orders: - data x-apidog-ignore-properties: [] x-apidog-folder: '' ConnectedAccountDetailsResponse: type: object properties: data: type: object properties: connectedAccountDetails: type: object properties: details: type: object properties: connectedAccountId: type: string format: uuid description: ID of the connected account connectedAccountType: type: string enum: - GoogleAccount - FacebookAccount description: Type of the connected account connectedLocationsCount: type: integer description: Number of locations connected with the account connectivityIssue: type: - string - 'null' description: Connection error message if any email: type: string format: email description: Email of the user for the connected account lastFetchMatchesRequestedAt: type: string format: date-time description: Timestamp when the last matches requests were fetched requestMatches: type: boolean description: Indicates whether the connected account can trigger for matches requestMatchesStatus: type: string enum: - MATCH_COMPLETED - MATCH_IN_PROGRESS - MATCH_FAILED description: Status of the last request matches triggered status: type: string enum: - CONNECTED - DISCONNECTED - CONNECTION_ISSUE description: Connection status of the connected account remarks: type: - string - 'null' description: Connected Account Fetch Status Error required: - connectedAccountId - connectedAccountType - connectedLocationsCount - email - requestMatches - status x-apidog-orders: - connectedAccountId - connectedAccountType - connectedLocationsCount - connectivityIssue - email - lastFetchMatchesRequestedAt - requestMatches - requestMatchesStatus - status - remarks x-apidog-orders: - details x-apidog-orders: - connectedAccountDetails x-apidog-orders: - data x-apidog-folder: '' ConnectListingRequest: type: object required: - input properties: input: type: object required: - locationId - connectedAccountId - connectedAccountListingId properties: locationId: type: string description: Base64 encoded location ID pattern: ^[A-Za-z0-9+/=]+$ examples: - TG9jYXRpb246NzM5MzM= connectedAccountId: type: string format: uuid description: ID of the connected account examples: - 3db66afa-151d-4212-a8b7-949f9fe9aaf9 connectedAccountListingId: type: string description: 'ID of the listing from the fetch listings API response. This is typically a base64 encoded string. ' pattern: ^[A-Za-z0-9+/=]+$ examples: - R21iQnVsa0RhdGFMYWtlOmMyMWRiOWY5LTZmYTctNDE0My1hNDU2LTQzMjZkMmZiN2UwZg== x-apidog-orders: - locationId - connectedAccountId - connectedAccountListingId x-apidog-ignore-properties: [] x-apidog-orders: - input x-apidog-ignore-properties: [] x-apidog-folder: '' LocationConnectionsResponse: type: object properties: data: type: object properties: locationsConnectInfo: type: object properties: pageInfo: $ref: '#/components/schemas/PageInfo' records: type: array items: $ref: '#/components/schemas/LocationConnectInfo' x-apidog-orders: - pageInfo - records x--orders: - pageInfo - records x--ignore-properties: [] x-apidog-orders: - locationsConnectInfo x--orders: - locationsConnectInfo x--ignore-properties: [] x-apidog-orders: - data x--orders: - data x--ignore-properties: [] x-apidog-folder: '' ConfirmMatchesRequest: type: object required: - input properties: input: type: object required: - matchRecordIds properties: matchRecordIds: type: array description: 'Array of base64 encoded match record IDs. For GMB accounts: Encode `GmbLocationMatchedData:{matchedDataDatabaseId}` For FB accounts: Encode `FbLocationMatchedData:{matchedDataDatabaseId}` ' minItems: 1 items: type: string pattern: ^[A-Za-z0-9+/=]+$ examples: - R21iTG9jYXRpb25NYXRjaGVkRGF0YTplNGZhNTFkYi04NWEwLTRjYzItYjdmMS01OWNhMzQ1NjlhZWM= x-apidog-orders: - matchRecordIds x-apidog-ignore-properties: [] x-apidog-orders: - input x-apidog-ignore-properties: [] x-apidog-folder: '' AppleOauthBulkPayload: type: object properties: success: type: boolean url: type: string description: OAuth link to redirect the user to (1-day TTL). errors: type: array items: $ref: '#/components/schemas/MutationError' clientMutationId: type: string x-apidog-orders: - success - url - errors - clientMutationId x-apidog-folder: '' AppleOauthRequest: type: object required: - input properties: input: type: object required: - locationId - successUrl - errorUrl properties: locationId: type: string description: Relay-encoded location ID to connect. successUrl: type: string description: Redirect URL on successful authorization. errorUrl: type: string description: Redirect URL on failed authorization. clientMutationId: type: string x-apidog-orders: - locationId - successUrl - errorUrl - clientMutationId x-apidog-orders: - input x-apidog-folder: '' TriggerMatchesResponse: type: object properties: data: type: object properties: connectedAccountsTriggerMatches: type: object required: - success properties: success: type: boolean description: 'Indicates if all connected accounts were processed successfully. Returns false if any account failed to process. ' failedIds: type: array description: List of connected account IDs that failed to process items: type: string format: uuid examples: - - 7eb3q2f7-df34-4dt6-hd88-269cfoal6m1b x-apidog-orders: - success - failedIds x-apidog-ignore-properties: [] x-apidog-orders: - connectedAccountsTriggerMatches x-apidog-ignore-properties: [] x-apidog-orders: - data x-apidog-ignore-properties: [] x-apidog-folder: '' SuggestedLocationInfo: type: object properties: liveLink: type: - string - 'null' description: Live link to the location profile locationInfo: type: object properties: city: type: string country: type: string name: type: string phone: type: string postalCode: type: string state: type: string street: type: string x-apidog-orders: - city - country - name - phone - postalCode - state - street mainAccount: type: string description: Name of the main account mainAccountId: type: - string - 'null' description: ID of the main account storeCode: type: - string - 'null' subAccount: type: - string - 'null' ownerRole: type: - string - 'null' description: GBP role of the connecting/importing user on this listing (e.g. PRIMARY_OWNER, OWNER, MANAGER, SITE_MANAGER). Google (GMB) only; null when Google exposes no matching admin or for non-Google listings. x-apidog-orders: - liveLink - locationInfo - mainAccount - mainAccountId - storeCode - subAccount - ownerRole x-apidog-folder: '' ConnectedAccount: type: object properties: connectedAccountId: type: string description: Unique identifier of the connected account connectedAccountType: type: string enum: - GoogleAccount - FacebookAccount description: Type of the connected account connectedLocationsCount: type: integer description: Number of locations connected with this account connectivityIssue: type: - string - 'null' description: 'Type of connectivity issue if any: * `CONNECTED_LOCATIONS_ISSUE` - Connected to inaccessible listings * `CREDENTIALS_INVALIDATED` - Expired credentials ' email: type: string format: email description: Email address associated with the connected account lastFetchMatchesRequestedAt: type: string format: date-time description: Timestamp of the last matches request requestMatches: type: boolean description: Indicates if the account can trigger matches requestMatchesStatus: type: string description: Status of the last request matches triggered status: type: string enum: - CONNECTED - ConnectionIssue description: Current connection status remarks: type: - string - 'null' description: Additional information about account status or errors x-apidog-orders: - connectedAccountId - connectedAccountType - connectedLocationsCount - connectivityIssue - email - lastFetchMatchesRequestedAt - requestMatches - requestMatchesStatus - status - remarks x-apidog-folder: '' DisconnectListingRequest: type: object required: - input properties: input: type: object required: - locationId - site properties: locationId: type: string description: Base64 encoded location ID pattern: ^[A-Za-z0-9+/=]+$ examples: - TG9jYXRpb246MTM5OTg= site: type: string description: The platform from which to disconnect the listing enum: - GOOGLE - FACEBOOK examples: - GOOGLE x-apidog-orders: - locationId - site x-apidog-ignore-properties: [] x-apidog-orders: - input x-apidog-ignore-properties: [] x-apidog-folder: '' LocationConnectInfo: type: object properties: locationId: type: string description: Base64-encoded location id (`Location:`) accountId: type: string description: Account id the location belongs to clientName: type: - string - 'null' description: Client / sub-account name accountType: type: string enum: - GoogleAccount - FacebookAccount - AppleAccount - YelpAccount - TripadvisorAccount description: Source / publisher this record represents status: type: string description: 'Raw connection status of the location for this source. Values include `CONNECTED`, `NOT_CONNECTED`, `CONNECTION_ISSUE`, `EXPIRED`, `RENEW`, `MISSING`, `SUSPENDED`, etc. ' connectedAccountId: type: - string - 'null' description: Id of the connected account, when connected providerId: type: - string - 'null' description: Provider-side id of the connected listing, when connected accountMail: type: - string - 'null' description: Email of the connected (publisher) account, when connected publisherAccountName: type: - string - 'null' description: Display name of the connected publisher account publisherAccountId: type: - string - 'null' description: Id of the connected publisher account listingSiteId: type: - integer - 'null' description: Site id of the connected listing locationInfo: $ref: '#/components/schemas/LocationInfo' connectedListingInfo: description: Details of the connected listing on the source. `null` when the location is not connected. When present, its shape depends on the source. oneOf: - $ref: '#/components/schemas/GmbConnectedListingInfo' - $ref: '#/components/schemas/FbConnectedListingInfo' - $ref: '#/components/schemas/AppleConnectedListingInfo' - type: 'null' x-apidog-orders: - locationId - accountId - clientName - accountType - status - connectedAccountId - providerId - accountMail - publisherAccountName - publisherAccountId - listingSiteId - locationInfo - connectedListingInfo x--orders: - locationId - accountId - clientName - accountType - status - connectedAccountId - providerId - accountMail - publisherAccountName - publisherAccountId - listingSiteId - locationInfo - connectedListingInfo x--ignore-properties: [] x-apidog-folder: '' AppleRenewOauthRequest: type: object required: - input properties: input: type: object required: - successUrl properties: locationId: type: string description: Relay-encoded location ID of the connection to renew. connectedAccountId: type: string description: ID of the connected Apple account to renew (alternative to locationId). successUrl: type: string description: Redirect URL on successful re-authorization. clientMutationId: type: string x-apidog-orders: - locationId - connectedAccountId - successUrl - clientMutationId x-apidog-orders: - input x-apidog-folder: '' MutationError: type: object properties: code: type: string message: type: string contextInfo: type: array items: type: object x-apidog-orders: [] x-apidog-orders: - code - message - contextInfo x-apidog-folder: '' ConfirmMatchesResponse: type: object properties: data: type: object properties: confirmConnectMatches: type: object required: - success properties: success: type: boolean description: 'Indicates if all match records were confirmed successfully. Returns false if any match failed to confirm. ' failedIds: type: array description: 'List of original (non-encoded) match record IDs that failed to confirm. Only present when some matches fail. ' items: type: string format: uuid examples: - e4fa51db-85a0-4cc2-b7f1-59ca34569aec x-apidog-orders: - success - failedIds x-apidog-ignore-properties: [] x-apidog-orders: - confirmConnectMatches x-apidog-ignore-properties: [] x-apidog-orders: - data x-apidog-ignore-properties: [] x-apidog-folder: '' AppleOauthPayload: type: object properties: success: type: boolean url: type: string description: OAuth link to redirect the user to (1-day TTL). errors: type: array items: $ref: '#/components/schemas/MutationError' clientMutationId: type: string x-apidog-orders: - success - url - errors - clientMutationId x-apidog-folder: '' FetchListingsRequest: type: object required: - connectedAccountId properties: connectedAccountId: type: string format: uuid description: ID of the connected account to fetch listings for locationInfo: type: string description: 'Optional filter string to search across location fields: - Street address - Postal code - City - Phone number - Business name ' page: type: integer minimum: 1 default: 1 description: Page number for pagination perPage: type: integer minimum: 1 maximum: 500 default: 20 description: Number of records per page (maximum 500) x-apidog-orders: - connectedAccountId - locationInfo - page - perPage x-apidog-ignore-properties: [] x-apidog-folder: '' AppleOauthBulkRequest: type: object required: - input properties: input: type: object required: - successUrl - errorUrl properties: successUrl: type: string description: Redirect URL on successful authorization. errorUrl: type: string description: Redirect URL on failed authorization. platform: type: string description: '`local` (default) or `social`.' entityId: type: string description: Brand ID when platform is `social`. onboarding: type: boolean clientMutationId: type: string x-apidog-orders: - successUrl - errorUrl - platform - entityId - onboarding - clientMutationId x-apidog-orders: - input x-apidog-folder: '' FetchListingsResponse: type: object properties: data: type: object properties: connectedAccountListings: type: object properties: pageInfo: $ref: '#/components/schemas/PageInfo' records: type: array items: $ref: '#/components/schemas/LocationListing' x-apidog-orders: - pageInfo - records x-apidog-ignore-properties: [] x-apidog-orders: - connectedAccountListings x-apidog-ignore-properties: [] x-apidog-orders: - data x-apidog-ignore-properties: [] x-apidog-folder: '' ConnectionSuggestion: type: object properties: accountEmail: type: string format: email description: Email of the user for the connected account accountType: type: string enum: - GMB - FB description: Type of the connected account (GMB for Google My Business, FB for Facebook) connectedAccountId: type: string format: uuid description: ID of the connected account locationId: type: string description: ID of the location locationInfo: $ref: '#/components/schemas/LocationInfo' matchedDataDatabaseId: type: string description: ID of the suggestion record, used for confirming the match suggestedLocationInfo: $ref: '#/components/schemas/SuggestedLocationInfo' x-apidog-orders: - accountEmail - accountType - connectedAccountId - locationId - locationInfo - matchedDataDatabaseId - suggestedLocationInfo x-apidog-folder: '' ConnectedAccountsResponse: type: object properties: data: type: object properties: connectedAccountsInfo: type: object properties: pageInfo: $ref: '#/components/schemas/PageInfo' records: type: array items: $ref: '#/components/schemas/ConnectedAccount' x-apidog-orders: - pageInfo - records x-apidog-orders: - connectedAccountsInfo x-apidog-orders: - data x-apidog-folder: '' LocationListing: type: object properties: accountTypeName: type: string enum: - Google - Facebook description: Publisher type of the listing address: type: string description: Full address of the location id: type: string description: Reference Listing ID that can be used to connect a location liveLink: type: - string - 'null' description: Live link provided by Google/Facebook if available locationName: type: string description: Name of the location phone: type: string description: Phone number of the location type: type: - string - 'null' description: Type of the listing if specified ownerRole: type: - string - 'null' description: GBP role of the connecting/importing user on this listing (e.g. PRIMARY_OWNER, OWNER, MANAGER, SITE_MANAGER). Google (GMB) only; null when Google exposes no matching admin or for non-Google listings. x-apidog-orders: - accountTypeName - address - id - liveLink - locationName - phone - type - ownerRole x-apidog-ignore-properties: [] x-apidog-folder: '' FbConnectedListingInfo: type: object description: Connected listing details when the source is Facebook properties: name: type: string street: type: - string - 'null' city: type: - string - 'null' state: type: - string - 'null' zip: type: - string - 'null' country: type: - string - 'null' phone: type: - string - 'null' storeCode: type: - string - 'null' parentPageName: type: - string - 'null' liveLink: type: - string - 'null' x-apidog-orders: - name - street - city - state - zip - country - phone - storeCode - parentPageName - liveLink x-apidog-folder: '' AppleConfirmedMatch: type: object properties: id: type: string appleBusinessId: type: string connectedAccountId: type: string connectedAccountLabel: type: string connectedAccountsLocationId: type: string lakeRecordId: type: string matchedOn: type: string format: date-time synupLocationId: type: integer x-apidog-orders: - id - appleBusinessId - connectedAccountId - connectedAccountLabel - connectedAccountsLocationId - lakeRecordId - matchedOn - synupLocationId x-apidog-ignore-properties: [] x-apidog-folder: '' ConnectListingResponse: type: object properties: data: type: object properties: connectListing: type: object required: - success properties: success: type: boolean description: Indicates if the connection was successful message: type: - string - 'null' description: 'Error message if the connection failed. Returns null on successful connection. ' examples: - Internal System Error x-apidog-orders: - success - message x-apidog-ignore-properties: [] x-apidog-orders: - connectListing x-apidog-ignore-properties: [] x-apidog-orders: - data x-apidog-ignore-properties: [] x-apidog-folder: '' ConnectionSuggestionsResponse: type: object properties: data: type: object properties: connectionSuggestionsForAccount: type: object properties: pageInfo: $ref: '#/components/schemas/PageInfo' records: type: array items: $ref: '#/components/schemas/ConnectionSuggestion' x-apidog-orders: - pageInfo - records x-apidog-orders: - connectionSuggestionsForAccount x-apidog-orders: - data x-apidog-folder: '' AppleRenewOauthPayload: type: object properties: success: type: boolean url: type: string description: OAuth renewal link to redirect the user to (1-day TTL). errors: type: array items: $ref: '#/components/schemas/MutationError' clientMutationId: type: string x-apidog-orders: - success - url - errors - clientMutationId x-apidog-folder: '' AppleConnectedListingInfo: type: object description: Connected listing details when the source is Apple properties: name: type: string street: type: - string - 'null' city: type: - string - 'null' state: type: - string - 'null' zip: type: - string - 'null' country: type: - string - 'null' phone: type: - string - 'null' storeCode: type: - string - 'null' liveLink: type: - string - 'null' x-apidog-orders: - name - street - city - state - zip - country - phone - storeCode - liveLink x-apidog-folder: '' PageInfo: type: object properties: hasNextPage: type: boolean description: Indicates if there are more pages available hasPreviousPage: type: boolean description: Indicates if there are previous pages available totalPages: type: integer description: Total number of pages available totalRecords: type: integer description: Total number of records across all pages x-apidog-orders: - hasNextPage - hasPreviousPage - totalPages - totalRecords x-apidog-folder: '' TriggerMatchesRequest: type: object required: - input properties: input: type: object required: - connectedAccountIds properties: connectedAccountIds: type: array description: List of connected account IDs to process minItems: 1 items: type: string format: uuid examples: - 6eb312f7-df32-4d76-ad8a-26bcfeab601e x-apidog-orders: - connectedAccountIds x-apidog-ignore-properties: [] x-apidog-orders: - input x-apidog-ignore-properties: [] x-apidog-folder: ''