{"info":{"name":"ListNRide Partner API","description":"Search ListNRide bikes and send customers to the ListNRide checkout to book. Guides, examples and webhook verification: https://developers.listnride.com\n\nSet the variable apiKey to your lnr_test_ key. Docs: https://developers.listnride.com","schema":"https://schema.getpostman.com/json/collection/v2.1.0/collection.json","version":"2026-10-05"},"auth":{"type":"bearer","bearer":[{"key":"token","value":"{{apiKey}}","type":"string"}]},"variable":[{"key":"baseUrl","value":"https://api.listnride.com/v1"},{"key":"apiKey","value":"lnr_test_..."},{"key":"rideId","value":"ride_jK6nvpDczET3Adx8AKKn1w"},{"key":"listerId","value":""},{"key":"checkoutSessionId","value":""},{"key":"bookingId","value":""}],"item":[{"name":"Rides","item":[{"name":"List categories","request":{"method":"GET","header":[],"description":"Scope rides:read. A parent category includes its subcategories in searches.","url":{"raw":"{{baseUrl}}/categories","host":["{{baseUrl}}"],"path":["categories"],"query":[]}}},{"name":"Search bikes","request":{"method":"GET","header":[],"description":"Scope rides:read. Give lat+lng, bbox, or lister. All filters combine (AND).","url":{"raw":"{{baseUrl}}/rides?lat=52.52&lng=13.4&from=2026-11-17&to=2026-11-18&category=e-bike,cargo-bike","host":["{{baseUrl}}"],"path":["rides"],"query":[{"key":"lat","value":"52.52","disabled":false},{"key":"lng","value":"13.4","disabled":false},{"key":"lister","value":"","description":"Only bikes of this lister (lis_...).","disabled":true},{"key":"radius_km","value":"","disabled":true},{"key":"from","value":"2026-11-17","description":"Start, ISO 8601 date or date-time. Only together with to.","disabled":false},{"key":"to","value":"2026-11-18","description":"End, ISO 8601 date or date-time. At most 366 days after from.","disabled":false},{"key":"quantity","value":"","description":"Number of identical bikes needed.","disabled":true},{"key":"category","value":"e-bike,cargo-bike","description":"Category IDs, comma-separated (see /categories).","disabled":false},{"key":"bbox","value":"13.30,52.48,13.48,52.56","description":"Map viewport minLng,minLat,maxLng,maxLat instead of lat/lng/radius_km. Half diagonal at most 100 km.","disabled":true},{"key":"price_min","value":"1500","description":"Minimum price per day in cents (end price incl. service fee and basic insurance).","disabled":true},{"key":"price_max","value":"4000","description":"Maximum price per day in cents.","disabled":true},{"key":"rider_height","value":"178","description":"Rider height in cm. Matches bikes of the fitting size range (150-165, 165-175, 175-185, 185-200) and unisize bikes.","disabled":true},{"key":"frame_size","value":"","description":"Exact frame size as listed, e.g. M or 54.","disabled":true},{"key":"brand","value":"Gazelle","description":"Exact brand, case-insensitive.","disabled":true},{"key":"type","value":"","disabled":true},{"key":"accessories","value":"helmet,lock","description":"Bikes that come with ALL of these, comma-separated.","disabled":true},{"key":"instant_booking","value":"","description":"true: only listers that confirm instantly.","disabled":true},{"key":"top_booked","value":"","description":"true: only top booked bikes.","disabled":true},{"key":"min_rating","value":"","disabled":true},{"key":"lister_type","value":"","disabled":true},{"key":"sort","value":"","description":"popular = top booked first.","disabled":true},{"key":"limit","value":"","disabled":true},{"key":"cursor","value":"","description":"next_cursor of the previous page, with otherwise identical parameters. At most 500 results per search (pagination_limit).","disabled":true}]}}},{"name":"Retrieve a bike","request":{"method":"GET","header":[],"description":"Scope rides:read. With from/to, units_available is calculated.","url":{"raw":"{{baseUrl}}/rides/{{rideId}}","host":["{{baseUrl}}"],"path":["rides","{{rideId}}"],"query":[{"key":"from","value":"","disabled":true},{"key":"to","value":"","disabled":true}]}}},{"name":"Availability calendar","request":{"method":"GET","header":[],"description":"Scope rides:read. Free units and pickup/return windows per day, at most 92 days per request. Times are local time at the bike. Indicative - POST /quotes and the checkout give the binding answer.","url":{"raw":"{{baseUrl}}/rides/{{rideId}}/availability","host":["{{baseUrl}}"],"path":["rides","{{rideId}}","availability"],"query":[{"key":"from","value":"","description":"First day, YYYY-MM-DD. Default today.","disabled":true},{"key":"to","value":"","description":"Last day, YYYY-MM-DD. Default from + 30 days.","disabled":true}]}}},{"name":"Reviews of a bike","request":{"method":"GET","header":[],"description":"Scope rides:read. Newest first, at most 200 per list.","url":{"raw":"{{baseUrl}}/rides/{{rideId}}/reviews","host":["{{baseUrl}}"],"path":["rides","{{rideId}}","reviews"],"query":[{"key":"limit","value":"","disabled":true},{"key":"cursor","value":"","disabled":true}]}}},{"name":"Cancellation policy","request":{"method":"GET","header":[],"description":"Scope rides:read. Applies to every booking. Also part of each bike detail.","url":{"raw":"{{baseUrl}}/cancellation-policy","host":["{{baseUrl}}"],"path":["cancellation-policy"],"query":[]}}}]},{"name":"Listers","item":[{"name":"Retrieve a lister","request":{"method":"GET","header":[],"description":"Scope rides:read. Public profile: name, location, rating, booking rules, opening hours, delivery zones. Private listers appear with first name and without street.","url":{"raw":"{{baseUrl}}/listers/{{listerId}}","host":["{{baseUrl}}"],"path":["listers","{{listerId}}"],"query":[]}}},{"name":"Reviews of a lister","request":{"method":"GET","header":[],"description":"Scope rides:read. All bikes of this lister, newest first, at most 200 per list.","url":{"raw":"{{baseUrl}}/listers/{{listerId}}/reviews","host":["{{baseUrl}}"],"path":["listers","{{listerId}}","reviews"],"query":[{"key":"limit","value":"","disabled":true},{"key":"cursor","value":"","disabled":true}]}}}]},{"name":"Places","item":[{"name":"List places","request":{"method":"GET","header":[],"description":"Scope rides:read. Places (cities) with at least one active bike, most bikes first.","url":{"raw":"{{baseUrl}}/places?q=berl","host":["{{baseUrl}}"],"path":["places"],"query":[{"key":"q","value":"berl","description":"Search in names (all languages).","disabled":false},{"key":"country","value":"","description":"Country id, e.g. germany.","disabled":true},{"key":"locale","value":"","disabled":true},{"key":"limit","value":"","disabled":true},{"key":"cursor","value":"","disabled":true}]}}},{"name":"Retrieve a place","request":{"method":"GET","header":[],"description":"","url":{"raw":"{{baseUrl}}/places/berlin","host":["{{baseUrl}}"],"path":["places","berlin"],"query":[{"key":"locale","value":"","disabled":true}]}}}]},{"name":"Classes","item":[{"name":"Vehicle classes at a place","request":{"method":"GET","header":[],"description":"Scope rides:read. Give place or lat+lng. Each class has a price per day; book it with a checkout session (class + size).","url":{"raw":"{{baseUrl}}/classes?place=berlin","host":["{{baseUrl}}"],"path":["classes"],"query":[{"key":"place","value":"berlin","disabled":false},{"key":"lat","value":"","disabled":true},{"key":"lng","value":"","disabled":true}]}}}]},{"name":"Quotes","item":[{"name":"Calculate an exact price","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"description":"Scope rides:read. Same calculation as the ListNRide checkout. Nothing is reserved. Rides of one lister or one class per quote.","url":{"raw":"{{baseUrl}}/quotes","host":["{{baseUrl}}"],"path":["quotes"],"query":[]},"body":{"mode":"raw","raw":"{\n  \"from\": \"2026-11-17\",\n  \"to\": \"2026-11-19\",\n  \"items\": [\n    {\n      \"ride\": \"{{rideId}}\",\n      \"quantity\": 1,\n      \"extras\": [\n        \"insurance_plus\"\n      ]\n    }\n  ]\n}","options":{"raw":{"language":"json"}}}}}]},{"name":"Checkout","item":[{"name":"Create a checkout session","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"{{$guid}}","description":"Safe retries: same key + same body = same response."}],"description":"Scope bookings:write. The ListNRide checkout checks price and availability. Send the customer to url; the link is valid for 24 hours. In test mode, url shows a test page.","url":{"raw":"{{baseUrl}}/checkout/sessions","host":["{{baseUrl}}"],"path":["checkout","sessions"],"query":[]},"body":{"mode":"raw","raw":"{\n  \"ride\": \"{{rideId}}\",\n  \"from\": \"2026-11-17\",\n  \"to\": \"2026-11-19\",\n  \"pickup_time\": \"10:00\",\n  \"return_time\": \"17:00\",\n  \"quantity\": 1,\n  \"return_url\": \"https://example.com/thanks\",\n  \"locale\": \"de\",\n  \"client_reference\": \"order-123\"\n}","options":{"raw":{"language":"json"}}}}},{"name":"Retrieve a checkout session","request":{"method":"GET","header":[],"description":"Scope bookings:read.","url":{"raw":"{{baseUrl}}/checkout/sessions/{{checkoutSessionId}}","host":["{{baseUrl}}"],"path":["checkout","sessions","{{checkoutSessionId}}"],"query":[]}}},{"name":"List bookings","request":{"method":"GET","header":[],"description":"Scope bookings:read. Bookings from your checkout sessions, newest first. A test key lists test bookings, a live key live bookings.","url":{"raw":"{{baseUrl}}/bookings","host":["{{baseUrl}}"],"path":["bookings"],"query":[{"key":"status","value":"","disabled":true},{"key":"client_reference","value":"","description":"Your own reference from the checkout session.","disabled":true},{"key":"limit","value":"","disabled":true},{"key":"cursor","value":"","disabled":true}]}}},{"name":"Preview a cancellation","request":{"method":"GET","header":[],"description":"Scope bookings:read. Whether the booking can be canceled right now and how much the customer would get back. Changes nothing.","url":{"raw":"{{baseUrl}}/bookings/{{bookingId}}/cancellation","host":["{{baseUrl}}"],"path":["bookings","{{bookingId}}","cancellation"],"query":[]}}},{"name":"Cancel a booking","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"{{$guid}}","description":"Safe retries: same key + same body = same response."}],"description":"Scope bookings:cancel (granted on request). Cancels on behalf of the customer under the cancellation policy, notifies the lister and sends the webhook booking.canceled_by_customer. The refund goes to the customer's original payment method. Test bookings are canceled in simulation only.","url":{"raw":"{{baseUrl}}/bookings/{{bookingId}}/cancel","host":["{{baseUrl}}"],"path":["bookings","{{bookingId}}","cancel"],"query":[]},"body":{"mode":"raw","raw":"{\n  \"reason\": \"timing_issue\"\n}","options":{"raw":{"language":"json"}}}}},{"name":"Retrieve a booking","request":{"method":"GET","header":[],"description":"Scope bookings:read. Test bookings have IDs like bkg_test_...","url":{"raw":"{{baseUrl}}/bookings/{{bookingId}}","host":["{{baseUrl}}"],"path":["bookings","{{bookingId}}"],"query":[]}}}]},{"name":"Affiliate","item":[{"name":"Commission report","request":{"method":"GET","header":[],"description":"Scope bookings:read. Clicks on your referral links, attributed bookings and your commission for one month. A booking counts in the month its rental ended. Until ListNRide approves the statement the figures may still change. No customer data.","url":{"raw":"{{baseUrl}}/commissions?month=2026-09","host":["{{baseUrl}}"],"path":["commissions"],"query":[{"key":"month","value":"2026-09","description":"YYYY-MM, default current month.","disabled":false}]}}}]}]}