| q | No | Free-text cruise search; use suggest_cruise_terms to resolve precise entity names. | |
| page | No | One-based result page; default 1. | |
| ship | No | Source-native ship ID from items[].ship.id, not a suggestion term ID. Prefer terms for names. | |
| sort | No | | |
| view | No | Default groups combines departures for each ship itinerary; sailings returns one row per unique dated sailing. Event-specific fares remain available within each sailing. | |
| terms | No | Stable term IDs from suggest_cruise_terms; prefer these for entity-name filtering. | |
| dateTo | No | Inclusive latest departure date (YYYY-MM-DD). | |
| source | No | Source ID: carnival, royal_caribbean, msc, norwegian, celebrity, princess, holland_america, costa, disney, virgin, aida, tui_cruises, p_and_o, cunard. | |
| amenity | No | Exact captured amenity name from get_sailing ship.amenities[].name. | |
| groupId | Yes | Public ship-itinerary group ID from search_cruises items[].groupId; this is not a sailing ID. Older event-specific group IDs remain supported. | |
| dateFrom | No | Inclusive earliest departure date (YYYY-MM-DD). | |
| pageSize | No | Items per page, 1–50; default 3. | |
| returnBy | No | Inclusive latest disembarkation date, YYYY-MM-DD; excludes unknown return dates. This deadline never expands with dateFlexDays. | |
| nightsMax | No | Maximum nights, inclusive. Prefer nightsMin/nightsMax for cruise trip lengths; legacy durationMin/durationMax are days-only. | |
| nightsMin | No | Minimum nights. Uses advertised nights, otherwise calendar nights between captured departure and return dates. Unknown durations cannot match. | |
| roundtrip | No | | |
| cabinClass | No | Normalized cabin class: inside, oceanview, balcony, suite, or other, as captured on the offer. | |
| destination | No | Shared destination suggestion ID or destination label. Umbrella destinations such as Caribbean include mapped subregions across cruise lines. Specific regions remain strict; generic Caribbean does not imply Eastern Caribbean. Prefer suggest_cruise_terms to resolve names. | |
| durationMax | No | Maximum normalized duration in days, not advertised nights. | |
| durationMin | No | Minimum normalized duration in days, not advertised nights. | |
| visitedPort | No | Visited port selection: shared port suggestion ID or source-native items[].visitedPorts[].id. Reviewed equivalent ports match across cruise lines; source still restricts the line. | |
| dateFlexDays | No | Optional departure flexibility, 0–30 days before dateFrom and after dateTo. Requires both dates when positive. Exact matches stay in items; outside-window options are separate dateAlternatives. All other filters remain strict. Use only when the user permits flexible dates. | |
| departurePort | No | Departure port selection: shared port suggestion ID or source-native items[].departurePort.id. Reviewed equivalent ports match across cruise lines; source still restricts the line. Different embarkation ports remain distinct. | |
| priceMaxCents | No | Maximum captured USD cents per person for two guests; 50000 means USD 500/person. Not a party total. | |
| departureTerms | No | Port IDs from suggest_cruise_terms, matching departure only (OR within this list). General terms ports also match visited ports. Other filters still apply. | |
| includeUnavailable | No | | |