# PartnerBookingRules Read the booking condition rules that are active for the calling partner. ## List the booking condition rules that are active for the calling partner - [GET /booking-rules](https://docs.bookabletech.com/apis/production/partnerbookingrulesapi/partnerbookingrules/getpartnerbookingrules.md): Returns every active booking condition rule that applies to the calling partner, across all the operators (venue groups) the partner is linked to (the same operators GET /venues exposes), together with the description of every hook referenced by an expression rule in the response (hooks[]: its facts, how to obtain each fact from your booking request, and its writable paths). A rule is returned when it is active and it has no partner target, or it targets the calling partner, or it targets one of the calling partner's categories. Rules aimed only at other partners are never returned, and no other partner is identified: appliesTo.partnerScope says whether the rule is aimed at everybody (all_partners), at you (you) or at a category you belong to (your_categories). appliesTo.venues[] lists only the venues you can see (the same visibility as GET /venues). A rule restricted to venues none of which you can see is not returned; allVenues: false with a non-empty venues[] means "only these of your venues". The partner is taken from the credentials (or from X-Partner-Reference for Bookable Agents, as on the other partner endpoints). There is no operator in the path. The response is not paginated. Filters narrow the response and are combined with AND: - operatorId: only rules of that operator (venue group). - venueId: only rules that apply to that venue. A rule with no venue target applies to every venue; a rule with venue targets is returned only if it lists that venue. - effect: only rules with that effect. - hook: only rules that apply at that moment of the flow: booking.create returns the rules whose whenApplied contains booking_create (fixed rules that run on create and expression rules at the booking.create hook), booking.amend those whose whenApplied contains booking_amend, payment those whose whenApplied contains booking_payment (only expression rules at the payment hook: they change the amount payable for an existing booking, see "Rules at the payment hook" in the API description). rules[] is ordered by operatorId, then fixed effects (by the precedence order in the guide: lock_preorder_edits, preorder_required, same_package, max_quantity_party_size, max_quantity, require_deposit, then route_to_enquiry, which never rejects; rules of one effect by rule id), then expression rules by hook (booking.create, then booking.amend, then payment), priority ascending (no priority counts as 100) and rule id, which is the order the platform evaluates expression rules. Properties whose value is null are omitted from the JSON; arrays and objects that the schema declares required are always present, empty when there is nothing to list. Read the "Integration guide for AI agents", the effects table, the expression language reference and the worked examples in the API description first. Responses: | Status | Meaning | Error code | |---|---|---| | 200 | The rules (possibly none) and the hooks they reference. | | | 400 | Unknown hook, operatorId below 1, malformed venueId, venueId of another operator than operatorId, or a query value of the wrong type. | none, or VALID-N-001 for a wrong type | | 401 | Missing, expired or invalid bearer token. | none | | 403 | Operator or venue not available to you, or unknown X-Partner-Reference. | none, IDENT-N-002, IDENT-N-003 | | 404 | venueId does not exist. | VENUE-N-001 | | 429 | Rate limit exceeded: retry after Retry-After. | RATE-R-001 |