EDistribution API

Search listings#

POST/v1/listings/search

Availability- and filter-aware search over the catalogue, scoped to your channel — the same search CRS runs, so the two surfaces never drift. Prices returned here are INDICATIVE ONLY: the order preview (a later API slice) is the authoritative price a booking is actually made against. Do not book against these figures.

Request

cURL
curl -X POST 'https://partner-api.elivaas.com/v1/listings/search' \
  -u "$ELIVAAS_API_KEY:" \
  -H 'Content-Type: application/json' \
  -d '{"rawParams":[{"filterName":"string","filterValues":["string"]}],"selections":[{"date":"string","type":"string","id":"string","adults":0,"children":0,"quantity":0}],"selectedCancellationPlanId":"string"}'
Response 200
{
  "singleListings": [
    {
      "listingId": "string",
      "title": "string",
      "coverPicture": "string",
      "encodedId": "string",
      "propertyType": "string",
      "brand": "string",
      "badges": [
        {
          "label": "string",
          "type": "NEW",
          "placement": "TOP_LEFT"
        }
      ],
      "adults": 0,
      "beds": 0,
      "bathrooms": 0,
      "bedrooms": 0,
      "unitCount": 0,
      "locality": "string",
      "city": "string",
      "state": "string",
      "rating": 0,
      "reviewCount": 0,
      "overallRating": 0,
      "totalReviews": 0,
      "tags": [
        "string"
      ],
      "usps": [
        {
          "id": 0,
          "name": "string",
          "description": "string",
          "isDifferentiator": true
        }
      ],
      "selectedProperties": [
        {
          "propertyId": "string",
          "title": "string",
          "quantity": 0
        }
      ],
      "price": {
        "perNight": 0,
        "perNightBeforeDiscount": 0,
        "total": 0,
        "totalBeforeDiscount": 0,
        "totalSaving": 0,
        "discountPercent": 0
      },
      "offerTitles": [
        "string"
      ],
      "cancellationPlans": [
        {
          "id": "string",
          "name": "string",
          "planType": "string",
          "cancellationSummary": "string",
          "hasDiscount": true,
          "totalAfterDiscount": 0,
          "perNightAfterDiscount": 0,
          "totalSaving": 0,
          "discountPercent": 0
        }
      ]
    }
  ],
  "combinedGroups": [
    {
      "groupId": "string",
      "totalAdultCapacity": 0,
      "totalChildrenCapacity": 0,
      "listingCount": 0,
      "maxPairwiseDistanceMeters": 0,
      "proximityLabel": "string",
      "listings": [
        {
          "listingId": "string",
          "title": "string",
          "coverPicture": "string",
          "encodedId": "string",
          "propertyType": "string",
          "brand": "string",
          "badges": [],
          "adults": 0,
          "beds": 0,
          "bathrooms": 0,
          "bedrooms": 0,
          "unitCount": 0,
          "locality": "string",
          "city": "string",
          "state": "string",
          "rating": 0,
          "reviewCount": 0,
          "overallRating": 0,
          "totalReviews": 0,
          "tags": [],
          "usps": [],
          "selectedProperties": [],
          "price": {},
          "offerTitles": [],
          "cancellationPlans": []
        }
      ],
      "price": {
        "perNight": 0,
        "perNightBeforeDiscount": 0,
        "total": 0,
        "totalBeforeDiscount": 0,
        "totalSaving": 0,
        "discountPercent": 0
      }
    }
  ],
  "nights": 0,
  "requiredAdults": 0,
  "requiredChildren": 0,
  "page": 0,
  "size": 0,
  "totalSingleListings": 0,
  "totalPages": 0,
  "rawParams": [
    {
      "filterName": "string",
      "filterValues": [
        "string"
      ]
    }
  ]
}

Request body#

rawParamsobject[]

No description in the spec.

selectionsobject[]

No description in the spec.

selectedCancellationPlanIdstring

No description in the spec.

Responses#

StatusMeaning
200OK
400Validation failure. The message names the offending parameter. Limits are rejected, never silently clamped: an over-length id list, a page size above 100 or a date window longer than 365 days all land here rather than coming back quietly truncated.
401Missing, malformed, revoked or unknown API key, or an agent group whose distribution access is disabled. Pass the key as the HTTP Basic username with an empty password.
429Rate limit exhausted for this credential. Wait Retry-After seconds before retrying; the budget is per credential, not per IP.

See Errors for the error body shape and which statuses are worth retrying.