Track updates to the PriceLabs Customer API and related developer resources.

Use the entries below to see what changed in each release. Tags on individual entries help filter by area (e.g. listings, pricing, reservations).

Added Actions endpoint 🎉

GET /v1/actions

Returns the Action Center alerts and recommendations for your listings — missing listing information, configuration issues, availability alerts, and pricing recommendations — so you can surface what needs attention in your own tools.

The response is grouped per listing: each entry has listing_details and an actions array ordered most important first, where every action carries an action_type, a human-readable title, and metadata with the detail for that action. Listings with nothing to report are omitted.

listings

Added endpoint to create groups

POST /v1/groups

Create a new group by passing group_name in the request body. The response returns the numeric id of the newly created group.

groups

Added group and subgroup assignment to listings update

POST /v1/listings

You can now assign a listing to a group or subgroup when updating listings. Pass optional group_id and subgroup_id (numeric IDs) on each listing in the request body. The response contains the updated group_id and subgroup_id for each listing.

Per-listing errors may be returned when group or subgroup updates fail, alongside existing tag and sync failures.

listingsgroups

Added guest count and OTA commission to reservations endpoint

GET /v1/reservation_data

Responses now include guest_count and ota_commission when the PMS provides them in booking info.

reservations

Added Customization Profiles discovery endpoint

You can now list the customization profiles on your account via the Customer API.

GET /v1/customization_profiles Returns your min-stay, pricing, and check-in/check-out profiles grouped by type. Each entry exposes the profile’s id, name, and archived flag.

Use this endpoint to find the exact profile ids that Custom Seasonal Profile (custom_seasonal_profile) seasons reference — the ids returned are exactly the set that minstay_profile_id, pricing_profile_id, and checkincheckout_profile_id season writes accept.

customizations

Added Mapping endpoints 🎉

Manage parent-child listing mappings programmatically — link the same property’s listings across channels (Airbnb, Vrbo, Booking.com, …) so they are managed and priced together.

POST /v1/mappings/map

Maps (links) child listings under a parent listing. By default mapping only links the listings; optional copy flags (all default false) copy the parent’s min/base/max prices, customizations, group, notes, or tags to the children at map time. Enforces the same validation as the dashboard: mapping permission, max child listings, distance limit, and the same-PMS rule.

listings

Added Group Date Specific Overrides endpoints 🎉

You can now fetch, add/update, and delete date specific overrides (DSOs) at the group level via the Customer API.

GET /v1/group_overrides Returns all group DSOs from today onwards for a given group id. Each override includes pricing fields plus created_at and updated_at.

POST /v1/group_overrides Adds or updates group DSOs for one or more dates. Valid dates are from today through 2 years from today. Successfully validated dates are saved even if other dates in the same request fail — failures are returned in failed_dates.

date-specific-overridesgroups

Customizations - Added Custom Seasonal Profile

The Customizations API now supports Custom Seasonal Profile (custom_seasonal_profile) at the listing, group, and account level.

Define seasons with their own price settings — as percentage adjustments or fixed prices — and optionally attach min-stay, pricing, or check-in/check-out profiles per season. Both yearly-repeating seasons and one-off seasons for specific calendar dates are supported.

customizations

Expose listing and metrics currencies

Currency is now returned explicitly so monetary values can be interpreted correctly.

GET /v1/listings and GET /v1/listings/{listing_id}

  • Each listing now includes currency: the listing’s current pricing currency (used for min/base/max and related pricing fields).
listings

New endpoint: minimal listings

Added GET /v1/listings_minimal — a minimal, lightweight way to fetch your listings, as a fast companion to GET /v1/listings.

  • Returns just each listing’s core fields (listing_id, pms_name, listing_name, property_name, parent_key, group_id) plus channel_listing_details: the listing’s IDs on each booking channel/OTA it is published on (Airbnb, Vrbo, Booking.com, Expedia, etc.).
  • No performance metrics or pricing, so it stays fast for large accounts that just need a quick listing directory or to map PriceLabs listings to their channel listing IDs.
  • Supports the search_query, listing_name, listings, pms, cities, groups, and subgroups filters.
listings

Added Listing Optimizer endpoints 🎉

Three new endpoints to read Listing Optimizer data programmatically:

GET /v1/listing_optimizer/summary Returns Listing Optimizer scores across your account — overall score, status, and basic info for each Airbnb listing, along with whether the listing can be manually rerun. Use this first to get a portfolio-wide overview.

listing-optimizer

Added Nudge endpoints 🎉

Price nudges recommend base price or minimum price adjustments for listings. You can now list available nudges and accept them programmatically via the Customer API.

GET /v1/nudges/available

Returns pending, non-expired nudges for listings accessible to the authenticated user. Results can be filtered by nudge_type (base_price or min_price), listing_id, and pms.

nudges

Added Bookings Report endpoint 🎉

POST /v1/bookings_report

Returns a paginated bookings report with flexible date and portfolio-level filtering. Supports:

  • Date filters — filter by booked date range or check-in date range
  • Listing filters — filter by specific listing ID + PMS combinations
  • Portfolio filters — filter by tags, groups, subgroups, cities, bedroom count, sync status
  • Booking status — include booked, cancelled, and/or blocked reservations
  • Pagination — configurable limit (max 500) and offset
reservations

Added Logs endpoint

POST /v1/logs

Retrieve paginated activity logs for your PriceLabs account. Supports filtering by log type (listing, group, account), entity identifiers, actions, team members, and date range.

See Logs — Retrieve activity logs for full request and response details.

logs

Team member API access

Account owners can now grant Customer API access to team members (sub-users) from Account Settings → Team Settings.

  • Team members can generate their own API key from Account Settings → API Details
  • Requests made using a team member’s API key adhere to the same permissions assigned by the account owner on the UI
authentication

Added Performance Metrics endpoint 🎉

GET /v1/listing_metrics

Returns listing-level and market-level performance KPIs for a single listing, including occupancy, revenue, ADR, RevPAR, adjusted occupancy, base price ratio, minimum price percentages, and same-time-last-year (STLY) comparisons.

See Listings — Get listing performance metrics for full request and response details.

listings

Added new endpoints for groups management 🎉

GET /v1/groups Added a new endpoint to fetch all groups available in the account.

GET /v1/group_listings Added a new endpoint to fetch listings assigned to a specific group_id or subgroup_id.

groups

Added optional lead_time_expiry field to the overrides body

  • GET /v1/listings/{listing_id}/overrides
  • POST /v1/listings/{listing_id}/overrides

lead_time_expiry: The DSO expires within this many days of the stay date. Allowed values are 1 to 999. Using this, you can now setup a DSO that can expire set days before the stay date.

date-specific-overrides

Added Customizations APIs

You can now read and update pricing customizations programmatically at the listing, group, and account level. Use GET to fetch current values and POST to write one or more customizations in a single atomic request.

  • GET /v1/customizations/listing and POST /v1/customizations/listing
  • GET /v1/customizations/group and POST /v1/customizations/group
  • GET /v1/customizations/account and POST /v1/customizations/account
customizations

DSO - Added start and end date filters for listing level overrides

GET /v1/listings/{listing_id}/overrides

Added optional start_date and end_date query parameters to filter the date range of returned overrides. This makes it possible to view historical overrides.

  • start_date (YYYY-MM-DD): Returns overrides from this date onwards. Defaults to today if omitted.
  • end_date (YYYY-MM-DD): Returns overrides up to and including this date. If omitted, all overrides from start_date onwards are returned.
date-specific-overrides