POST/api/v4/connected-accounts/connect-listing

Connect a listing to a location

Links a specific Google Business Profile or Facebook listing to a listingsAPI location.

Requires an API key. See Authentication for header format and key rotation.

Parameters

Body

NameTypeRequiredDescription
locationIdstringrequiredBase64-encoded location Relay ID (e.g. TG9jYXRpb246MTgwMDI4OQ==), or the raw numeric location ID.
listingIdstringrequiredID of the connected-account listing to link, taken from the fetch listings endpoint.

Sample request

Ready-to-paste body. Replace placeholder IDs and values with yours.

{
  "locationId": "TG9jYXRpb246MTgwMDI4OQ==",
  "listingId": "R29vZ2xlTG9jYXRpb246ODc3NTkzNGItNTA5OC00ZDBhLThiNDQ="
}

Responses

200Listing connected successfully.
{
  "data": {
    "connectListing": {
      "message": null,
      "success": true
    }
  }
}
400Bad request — invalid locationId or listingId, or the listing is already connected.
401Unauthenticated — missing or invalid API key.

Associates a publisher listing (Google Business Profile or Facebook Page) with a listingsAPI location so listing data stays in sync. Unlike the suggestion-driven flow, this endpoint links a single listing you have already chosen — no match confirmation step required.

Retrieve available listing IDs from the fetch connected-account listings endpoint (GET /connected-accounts/{connectedAccountId}/listings) first, then pass the id field from those results as listingId. The locationId accepts either the base64-encoded Relay ID or the raw numeric ID; the gateway decodes it automatically.

Use case — manual linking when auto-match is ambiguous. Two nearby storefronts share a similar name and trigger-matches cannot decide which Google listing belongs to which listingsAPI location. Pull the listings for the connected account, let an operator pick the correct one, and link it directly with this endpoint — bypassing the suggestions/confirm flow entirely.

If the connection fails the response returns success: false with a non-null message describing the reason (for example, the listing is already connected to another location). For accepting system-suggested matches in bulk instead, use the confirm-matches endpoint.

curl -X POST 'https://listingsapi.com/api/v4/connected-accounts/connect-listing' \
  -H "Authorization: API $LISTINGSAPI_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "locationId": "<locationId>",
    "listingId": "<listingId>"
  }'