Skip to main content

Update Listing Information

Need to change the price? Update photos? Add new details? Same endpoint, same process.
Same Endpoint: Updating uses the exact same endpoint as creating. Just use the same externalListingId you used before.

How It Works

PUT /partner/v1/listings/{externalListingId} When you send a PUT request with an externalListingId that already exists, we update that listing.
1

Use the Same External ID

Use the exact same externalListingId from when you created the listing.Created with: /listings/LISTING-123
Update with: /listings/LISTING-123
2

Send Updated Data

Include the fields you want to update. We recommend sending all fields to keep everything in sync.
3

Get Confirmation

You’ll receive a 200 OK response:
{
  "status": "success",
  "message": "Listing updated successfully",
  "venturuListingId": 98765,
  "venturuListingUrl": "https://www.venturu.com/business/..."
}

Common Updates

Change Price

{
  "brokerExternalId": "BROKER-789",
  "status": "FOR_SALE",
  "businessType": "Restaurant",
  "location": {...},
  "financials": {
    "askingPrice": 495000,  // Reduced from $550k
    "revenue": 800000,
    "sde": 220000
  }
}

Update Photos

{
  "brokerExternalId": "BROKER-789",
  "status": "FOR_SALE",
  "businessType": "Restaurant",
  "location": {...},
  "photos": [
    {
      "url": "https://example.com/new-photo1.jpg",
      "sortKey": 1
    },
    {
      "url": "https://example.com/new-photo2.jpg",
      "sortKey": 2
    }
  ]
}
Important: The photos array replaces ALL existing photos. Include all photos you want to display.

Change Description

{
  "brokerExternalId": "BROKER-789",
  "status": "FOR_SALE",
  "title": "Profitable Downtown Pizzeria - Price Reduced!",
  "description": "Updated description with new details...",
  "businessType": "Restaurant",
  "location": {...}
}

Update Financials

{
  "brokerExternalId": "BROKER-789",
  "status": "FOR_SALE",
  "businessType": "Restaurant",
  "location": {...},
  "financials": {
    "askingPrice": 550000,
    "revenue": 850000,  // Updated numbers
    "sde": 240000,
    "inventory": 30000,
    "ffande": 150000
  }
}

Change Location Visibility

{
  "brokerExternalId": "BROKER-789",
  "status": "FOR_SALE",
  "businessType": "Restaurant",
  "location": {
    "streetAddress1": "123 Main St",
    "city": "Miami",
    "state": "Florida",
    "country": "US",
    "visibility": "SHOW_FULL_ADDRESS"  // Now showing full address
  }
}

Update Property Info

{
  "brokerExternalId": "BROKER-789",
  "status": "FOR_SALE",
  "businessType": "Restaurant",
  "location": {...},
  "property": {
    "propertyKind": "RENTED",
    "areaSqft": 2500,
    "rentData": {
      "amount": 5500,  // Rent increased
      "frequency": "MONTHLY",
      "leaseExpiration": "2029-12-31T00:00:00.000Z"  // Lease renewed
    }
  }
}

Best Practices

Send Complete Data

Always send all fields, not just what changed. Ensures perfect sync.

Update Regularly

Keep listings current - update when prices or details change.

Test Changes

After updating, visit the listing URL to verify changes appear correctly.

Track Updates

Monitor 200 OK responses. If you get 201, you might have the wrong ID.

Common Questions

You’ll create a new listing instead of updating. Always use the same ID for the same listing.
Yes, but you still need required fields (brokerExternalId, status, businessType, location). Other fields keep their existing values.
Yes! Changes are live immediately. Photos may take a minute to process.
Yes! Just change the brokerExternalId to a different broker.

Field-Specific Tips

Updating Arrays (Photos, etc.)

Arrays like photos replace the entire list. Always include all items:
Good - All photos included (use fully qualified URLs)
{
  "photos": [
    {"url": "https://cdn.yoursite.com/photo1.jpg", "sortKey": 1},
    {"url": "https://cdn.yoursite.com/photo2.jpg", "sortKey": 2},
    {"url": "https://cdn.yoursite.com/photo3.jpg", "sortKey": 3}
  ]
}
Bad - Missing photos will be removed
{
  "photos": [
    {"url": "https://cdn.yoursite.com/photo3.jpg", "sortKey": 3}  // Only this photo will remain!
  ]
}

Updating Nested Objects

For nested objects like financials or property, you don’t need to include the entire object:
"financials": {
  "askingPrice": 550000,  // Only include changed fields
  "revenue": 800000,
  "sde": 220000
}

Troubleshooting

Getting 404 Listing Not Found?

The externalListingId doesn’t exist. Check:
  1. Correct ID spelling/format
  2. Listing was created successfully
  3. Using same API key

Changes Not Appearing?

  • Wait ~1 minute for search index
  • Clear browser cache
  • Check the returned venturuListingUrl

Getting 201 Instead of 200?

You’re creating a new listing, not updating. The externalListingId doesn’t match any existing listing.

Next Steps