{"openapi":"3.1.0","info":{"title":"Boardcave product finders","version":"1.0.0","description":"Surf gear recommendations for AI agents shopping for a person: the same finders shoppers use on https://www.boardcave.com.au. Prices in AUD. Public, no key. See https://www.boardcave.com.au/llms.txt."},"servers":[{"url":"https://www.boardcave.com.au"}],"paths":{"/api/agent/finders":{"get":{"operationId":"listFinders","summary":"List the product finders and the questions each asks","responses":{"200":{"description":"Finders with input schemas and examples"}}}},"/api/agent/finders/boards":{"post":{"operationId":"find_boards","summary":"Board Finder","description":"Which kind of surfboard suits a surfer (shortboard, fish, mid length, soft top...) and the volume in litres they should ride, then boards in that size. Ask the human: How well do they surf?; Weight and height; Age band, how often they surf, fitness; The waves they usually surf; What they want from the board; Optionally their current board: type, litres and how it feels.","parameters":[{"name":"X-Agent-Name","in":"header","required":false,"schema":{"type":"string"},"description":"Your agent or app name, for the store's analytics."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"who":{"type":"string","enum":["me","kid"],"description":"An adult, or a child under 13."},"skill":{"type":"integer","enum":[1,2,3,4,5,6],"description":"Surfing ability. 1 = Never surfed (First time, or only tried once or twice.) 2 = Riding whitewash (Standing up on broken waves, working on popping up.) 3 = Catching green waves (Paddling into unbroken waves and riding along the face.) 4 = Turning on the face (Bottom turns and cutbacks, starting to link sections.) 5 = Advanced (Linking turns, hitting the lip, comfortable in solid surf.) 6 = Expert / competitive (Surfing at a high level in all conditions.)"},"weight_kg":{"type":"number","minimum":15,"maximum":180,"description":"Body weight in kilograms. Give weight_kg or weight_lb."},"weight_lb":{"type":"number","minimum":33,"maximum":400,"description":"Body weight in pounds (alternative to weight_kg)."},"height_cm":{"type":"number","minimum":90,"maximum":220,"description":"Height in centimetres. Give height_cm or height_in."},"height_in":{"type":"number","minimum":36,"maximum":87,"description":"Height in inches (alternative to height_cm)."},"age":{"type":"string","enum":["u13","13-17","18-34","35-44","45-54","55+"],"description":"Age band. Default 18-34."},"frequency":{"type":"string","enum":["rarely","monthly","weekly","often"],"description":"How often they surf. Default weekly."},"fitness":{"type":"string","enum":["low","average","high"],"description":"Paddle fitness. Default average."},"wave_size":{"type":"string","enum":["tiny","small","medium","large"],"description":"tiny = under knee high, small = knee to waist, medium = chest to head high, large = overhead and bigger."},"wave_type":{"type":"string","enum":["mushy","punchy","point","pool"],"description":"mushy = soft beach breaks, punchy = steep and hollow, point = long point or reef walls, pool = wave pool."},"goal":{"type":"string","enum":["cruise","progress","performance","glide","smallwave","stepup"],"description":"cruise = easy fun, progress = improve turns, performance = high-performance surfing, glide = noseriding / long glides, smallwave = a board for small days, stepup = a board for bigger days."},"current_board":{"type":"object","additionalProperties":false,"description":"Their current board, the best calibration for size. Optional.","properties":{"type":{"type":"string","enum":["shortboard","smallwave","fish","hybrid","stepup","midlength","longboard","softtop","beginner","gun"]},"litres":{"type":"number","minimum":10,"maximum":150},"feel":{"type":"string","enum":["sinky","right","floaty"],"description":"How its volume feels to them."}},"required":["type","litres","feel"]},"fins":{"type":"string","enum":["any","thruster","twin","quad","single"],"description":"Preferred fin setup. Default any."},"build":{"type":"string","enum":["any","pu","epoxy","soft"],"description":"Construction preference. Default any."},"budget":{"type":"number","minimum":0,"description":"Maximum price in AUD; 0 or omitted means no limit."}},"required":["skill","wave_size","wave_type","goal"]},"example":{"skill":4,"weight_kg":78,"height_cm":178,"age":"35-44","frequency":"weekly","wave_size":"medium","wave_type":"punchy","goal":"progress","current_board":{"type":"shortboard","litres":33,"feel":"sinky"}}}}},"responses":{"200":{"description":"The recommendation and ranked in-stock products","content":{"application/json":{"schema":{"type":"object","properties":{"finder":{"type":"string"},"run_id":{"type":"string"},"currency":{"type":"string"},"recommendation":{"type":"object"},"sections":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string"},"title":{"type":"string"},"note":{"type":"string"},"products":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"brand":{"type":"string"},"url":{"type":"string","description":"Product page. Share as is: it credits the run."},"image":{"type":["string","null"]},"price":{"type":"number"},"sale_price":{"type":["number","null"]},"currency":{"type":"string"},"match":{"type":"integer","description":"1-99 fit for these answers."},"buy":{"type":["string","null"],"description":"The size, length or volume to buy, when known."},"reasons":{"type":"array","items":{"type":"string"}}}}}}}}}}}}},"400":{"description":"Invalid input: errors lists every problem, with the schema and an example"}}}},"/api/agent/finders/fins":{"post":{"operationId":"find_fins","summary":"Fin Finder","description":"Which fins fit a board (box system and layout), the size for the surfer's weight, and the setup and feel for their waves. Ask the human: Their board type and length; The fin boxes on the board: system (FCS II, FCS, Futures, single box) and how many; Weight and ability; The waves they surf; Anything they want to change about how the board feels now.","parameters":[{"name":"X-Agent-Name","in":"header","required":false,"schema":{"type":"string"},"description":"Your agent or app name, for the store's analytics."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"skill":{"type":"integer","enum":[1,2,3,4,5,6],"description":"Surfing ability. 1 = Never surfed (First time, or only tried once or twice.) 2 = Riding whitewash (Standing up on broken waves, working on popping up.) 3 = Catching green waves (Paddling into unbroken waves and riding along the face.) 4 = Turning on the face (Bottom turns and cutbacks, starting to link sections.) 5 = Advanced (Linking turns, hitting the lip, comfortable in solid surf.) 6 = Expert / competitive (Surfing at a high level in all conditions.)"},"weight_kg":{"type":"number","minimum":15,"maximum":180,"description":"Body weight in kilograms. Give weight_kg or weight_lb."},"weight_lb":{"type":"number","minimum":33,"maximum":400,"description":"Body weight in pounds (alternative to weight_kg)."},"board":{"type":"string","enum":["shortboard","smallwave","fish","hybrid","stepup","midlength","longboard","softtop"],"description":"Board type."},"board_length":{"type":["string","number"],"description":"Board length, as feet and inches like \"6'2\" or 6ft2, or as a number of inches (74).","examples":["6'2",74]},"box":{"type":"string","enum":["fcs2","fcs1","futures","single","unsure"],"description":"Fin box system: fcs2 = FCS II (tool-free), fcs1 = FCS original two-plug, futures = Futures single-base box, single = a US single fin box, unsure = not sure."},"boxes":{"type":"string","enum":["1","2","3","4","5","2+1"],"description":"How many fin boxes: 1 single, 2 twin, 3 thruster, 4 quad, 5 five-fin, 2+1 = two side boxes plus a centre single box."},"setup":{"type":"string","enum":["auto","thruster","quad","twin","twinplus1","single","five"],"description":"The setup they want; auto = recommend one."},"wave_size":{"type":"string","enum":["tiny","small","medium","large"]},"wave_type":{"type":"string","enum":["mushy","punchy","point","pool"]},"symptoms":{"type":"array","items":{"type":"string","enum":["slip","stiff","slow","loose","drive","release","durable","happy"]},"description":"What they want to fix: slip = tail slides out, stiff = hard to turn, slow = lacks speed, loose = too loose, drive = wants more drive, release = wants easier release, durable = wants tougher fins, happy = happy, just replacing."},"flex":{"type":"string","enum":["auto","stiff","medium","flexy"]},"material":{"type":"string","enum":["any","glass","honeycomb","carbon","composite"]},"budget":{"type":"number","minimum":0,"description":"Maximum price in AUD; 0 or omitted means no limit."}},"required":["skill","board","box","boxes","wave_size","wave_type"]},"example":{"skill":4,"weight_kg":78,"board":"shortboard","board_length":"6'2","box":"fcs2","boxes":"5","setup":"auto","wave_size":"medium","wave_type":"punchy","symptoms":["happy"]}}}},"responses":{"200":{"description":"The recommendation and ranked in-stock products","content":{"application/json":{"schema":{"type":"object","properties":{"finder":{"type":"string"},"run_id":{"type":"string"},"currency":{"type":"string"},"recommendation":{"type":"object"},"sections":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string"},"title":{"type":"string"},"note":{"type":"string"},"products":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"brand":{"type":"string"},"url":{"type":"string","description":"Product page. Share as is: it credits the run."},"image":{"type":["string","null"]},"price":{"type":"number"},"sale_price":{"type":["number","null"]},"currency":{"type":"string"},"match":{"type":"integer","description":"1-99 fit for these answers."},"buy":{"type":["string","null"],"description":"The size, length or volume to buy, when known."},"reasons":{"type":"array","items":{"type":"string"}}}}}}}}}}}}},"400":{"description":"Invalid input: errors lists every problem, with the schema and an example"}}}},"/api/agent/finders/wetsuits":{"post":{"operationId":"find_wetsuits","summary":"Wetsuit Finder","description":"The wetsuit thickness and style for where and when someone surfs (from local sea temperatures), and their size in each brand from that brand's own size chart; boots, gloves and hood when the water calls for them. Ask the human: Men's, women's or kids; Where they surf (a listed region) and which months, or the water temperature; Whether they feel the cold; Height and weight (chest optional); Suit type and entry preference, or let us recommend.","parameters":[{"name":"X-Agent-Name","in":"header","required":false,"schema":{"type":"string"},"description":"Your agent or app name, for the store's analytics."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"who":{"type":"string","enum":["mens","womens","kids"]},"kid_age":{"type":"string","enum":["toddler","kid","youth"],"description":"Kids only: toddler (2-5), kid (6-11), youth (12-15)."},"region":{"type":"string","enum":["Gold Coast QLD","Sunshine Coast QLD","Byron Bay NSW","Newcastle NSW","Sydney NSW","South Coast NSW","Victoria (Torquay/Bells)","Phillip Island VIC","Tasmania (Clifton Beach)","Adelaide/Middleton SA","Margaret River WA","Perth WA","Gnaraloo/Exmouth WA"],"description":"Where they mostly surf. Give region, or water_temp_c / water_temp_f for anywhere else."},"months":{"type":"array","items":{"type":"string","enum":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]},"description":"Months they surf; omit for all year."},"water_temp_c":{"type":"number","minimum":0,"maximum":32},"water_temp_f":{"type":"number","minimum":32,"maximum":90},"cold":{"type":"string","enum":["cold","normal","warm"],"description":"cold = feels the cold, warm = runs warm. Default normal."},"type":{"type":"string","enum":["auto","steamer","spring","top","rash"],"description":"auto = recommend; steamer = full suit, spring = short suit, top = neoprene top or vest, rash = rash vest."},"entry":{"type":"string","enum":["any","back","chest","zipless"]},"height_cm":{"type":"number","minimum":90,"maximum":220,"description":"Height in centimetres. Give height_cm or height_in."},"height_in":{"type":"number","minimum":36,"maximum":87,"description":"Height in inches (alternative to height_cm)."},"weight_kg":{"type":"number","minimum":15,"maximum":180,"description":"Body weight in kilograms. Give weight_kg or weight_lb."},"weight_lb":{"type":"number","minimum":33,"maximum":400,"description":"Body weight in pounds (alternative to weight_kg)."},"chest_cm":{"type":"number","minimum":40,"maximum":150},"fit":{"type":"string","enum":["snug","regular"],"description":"Default regular."},"often":{"type":"string","enum":["sometimes","weekly","daily"],"description":"How often they surf. Default weekly."},"extras":{"type":"boolean","description":"Include boots, gloves and hoods when the water calls for them. Default true."},"budget":{"type":"number","minimum":0,"description":"Maximum price in AUD; 0 or omitted means no limit."}},"required":["who"]},"example":{"who":"womens","region":"Gold Coast QLD","months":["Jun","Jul","Aug"],"height_cm":168,"weight_kg":62,"type":"auto"}}}},"responses":{"200":{"description":"The recommendation and ranked in-stock products","content":{"application/json":{"schema":{"type":"object","properties":{"finder":{"type":"string"},"run_id":{"type":"string"},"currency":{"type":"string"},"recommendation":{"type":"object"},"sections":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string"},"title":{"type":"string"},"note":{"type":"string"},"products":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"brand":{"type":"string"},"url":{"type":"string","description":"Product page. Share as is: it credits the run."},"image":{"type":["string","null"]},"price":{"type":"number"},"sale_price":{"type":["number","null"]},"currency":{"type":"string"},"match":{"type":"integer","description":"1-99 fit for these answers."},"buy":{"type":["string","null"],"description":"The size, length or volume to buy, when known."},"reasons":{"type":"array","items":{"type":"string"}}}}}}}}}}}}},"400":{"description":"Invalid input: errors lists every problem, with the schema and an example"}}}},"/api/agent/finders/bags":{"post":{"operationId":"find_bags","summary":"Board Bag Finder","description":"The board bag style (sock, day bag, travel bag, coffin), the bag length to buy for their board, the shape wide enough and the padding, then bags that fit. Ask the human: What the bag is for: day trips, storage, flying, or a road trip with several boards; Their board type and length (the longest if several); How many boards; How much protection, and must-have features.","parameters":[{"name":"X-Agent-Name","in":"header","required":false,"schema":{"type":"string"},"description":"Your agent or app name, for the store's analytics."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"use":{"type":"string","enum":["day","storage","travel","roadtrip"],"description":"day = car to beach, storage = at home, travel = flying, roadtrip = several boards in one bag on the car."},"count":{"type":"integer","minimum":1,"maximum":4,"description":"Boards going in the bag. Default 1."},"board":{"type":"string","enum":["shortboard","smallwave","fish","hybrid","stepup","midlength","longboard","softtop","sup"],"description":"The (longest) board type."},"board_length":{"type":["string","number"],"description":"Board length, as feet and inches like \"6'2\" or 6ft2, or as a number of inches (74).","examples":["6'2",74]},"widest":{"type":"string","enum":["same","shortboard","smallwave","fish","hybrid","stepup","midlength","longboard","softtop","sup"],"description":"With several boards, the widest board type; same = like the longest."},"protection":{"type":"string","enum":["auto","light","everyday","heavy"]},"musts":{"type":"array","items":{"type":"string","enum":["Wheels","Heat Reflective","Fin Pocket","Shoulder Strap","Board Dividers","Lockable Zips","Air Vents","Waterproof","Recycled Materials"]}},"budget":{"type":"number","minimum":0,"description":"Maximum price in AUD; 0 or omitted means no limit."}},"required":["use","board","board_length"]},"example":{"use":"travel","count":2,"board":"shortboard","board_length":"6'2","widest":"fish"}}}},"responses":{"200":{"description":"The recommendation and ranked in-stock products","content":{"application/json":{"schema":{"type":"object","properties":{"finder":{"type":"string"},"run_id":{"type":"string"},"currency":{"type":"string"},"recommendation":{"type":"object"},"sections":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string"},"title":{"type":"string"},"note":{"type":"string"},"products":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"brand":{"type":"string"},"url":{"type":"string","description":"Product page. Share as is: it credits the run."},"image":{"type":["string","null"]},"price":{"type":"number"},"sale_price":{"type":["number","null"]},"currency":{"type":"string"},"match":{"type":"integer","description":"1-99 fit for these answers."},"buy":{"type":["string","null"],"description":"The size, length or volume to buy, when known."},"reasons":{"type":"array","items":{"type":"string"}}}}}}}}}}}}},"400":{"description":"Invalid input: errors lists every problem, with the schema and an example"}}}},"/api/agent/finders/leashes":{"post":{"operationId":"find_leashes","summary":"Leash Finder","description":"The leash length for their board, the thickness for their waves, and ankle or knee cuff, then leashes in that length. Ask the human: Board type and length; The waves they usually surf; Less drag, all round, or strength first; Cuff preference and must-haves (optional).","parameters":[{"name":"X-Agent-Name","in":"header","required":false,"schema":{"type":"string"},"description":"Your agent or app name, for the store's analytics."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"board":{"type":"string","enum":["shortboard","smallwave","fish","hybrid","stepup","midlength","longboard","softtop","sup"]},"board_length":{"type":["string","number"],"description":"Board length, as feet and inches like \"6'2\" or 6ft2, or as a number of inches (74).","examples":["6'2",74]},"waves":{"type":"string","enum":["small","medium","big","heavy"],"description":"small = under 3ft, medium = 3-6ft, big = 6ft+, heavy = powerful waves or shallow reef."},"priority":{"type":"string","enum":["performance","everyday","durable"],"description":"performance = thin, less drag; everyday = all round; durable = thicker, stronger. Default everyday."},"cuff":{"type":"string","enum":["auto","Ankle","Knee / Calf"]},"musts":{"type":"array","items":{"type":"string","enum":["Double Swivel","Quick Release","Rail Saver","Key Pocket","Eco Material"]}},"budget":{"type":"number","minimum":0,"description":"Maximum price in AUD; 0 or omitted means no limit."}},"required":["board","board_length","waves"]},"example":{"board":"shortboard","board_length":"6'2","waves":"medium"}}}},"responses":{"200":{"description":"The recommendation and ranked in-stock products","content":{"application/json":{"schema":{"type":"object","properties":{"finder":{"type":"string"},"run_id":{"type":"string"},"currency":{"type":"string"},"recommendation":{"type":"object"},"sections":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string"},"title":{"type":"string"},"note":{"type":"string"},"products":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"brand":{"type":"string"},"url":{"type":"string","description":"Product page. Share as is: it credits the run."},"image":{"type":["string","null"]},"price":{"type":"number"},"sale_price":{"type":["number","null"]},"currency":{"type":"string"},"match":{"type":"integer","description":"1-99 fit for these answers."},"buy":{"type":["string","null"],"description":"The size, length or volume to buy, when known."},"reasons":{"type":"array","items":{"type":"string"}}}}}}}}}}}}},"400":{"description":"Invalid input: errors lists every problem, with the schema and an example"}}}},"/api/agent/finders/tailpads":{"post":{"operationId":"find_tailpads","summary":"Tail Pad Finder","description":"A traction pad shaped for their board's tail (standard, wide tail, fish / swallow), with the kick height and arch for how they surf. Ask the human: Board type; How they surf it: sharp and vertical, all round, or relaxed; Kick and arch preference (optional); Whether they also want a front pad, eco only.","parameters":[{"name":"X-Agent-Name","in":"header","required":false,"schema":{"type":"string"},"description":"Your agent or app name, for the store's analytics."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"board":{"type":"string","enum":["shortboard","smallwave","fish","hybrid","stepup","midlength","longboard","softtop"]},"style":{"type":"string","enum":["performance","allround","cruisy"]},"kick":{"type":"string","enum":["auto","Low","Medium","High"]},"arch":{"type":"string","enum":["auto","Arch Bar","Flat"]},"front":{"type":"boolean","description":"Also show front-foot pads."},"eco":{"type":"boolean","description":"Eco materials only."},"budget":{"type":"number","minimum":0,"description":"Maximum price in AUD; 0 or omitted means no limit."}},"required":["board","style"]},"example":{"board":"fish","style":"allround"}}}},"responses":{"200":{"description":"The recommendation and ranked in-stock products","content":{"application/json":{"schema":{"type":"object","properties":{"finder":{"type":"string"},"run_id":{"type":"string"},"currency":{"type":"string"},"recommendation":{"type":"object"},"sections":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string"},"title":{"type":"string"},"note":{"type":"string"},"products":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"brand":{"type":"string"},"url":{"type":"string","description":"Product page. Share as is: it credits the run."},"image":{"type":["string","null"]},"price":{"type":"number"},"sale_price":{"type":["number","null"]},"currency":{"type":"string"},"match":{"type":"integer","description":"1-99 fit for these answers."},"buy":{"type":["string","null"],"description":"The size, length or volume to buy, when known."},"reasons":{"type":"array","items":{"type":"string"}}}}}}}}}}}}},"400":{"description":"Invalid input: errors lists every problem, with the schema and an example"}}}},"/api/agent/finders/wax":{"post":{"operationId":"find_wax","summary":"Wax Finder","description":"The surf wax for where and when they surf, from local sea temperatures, plus a base coat for a new or stripped board. Ask the human: Where they surf (a listed region) and which months, or the water temperature; Whether they are waxing a new or freshly stripped board.","parameters":[{"name":"X-Agent-Name","in":"header","required":false,"schema":{"type":"string"},"description":"Your agent or app name, for the store's analytics."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"region":{"type":"string","enum":["Gold Coast QLD","Sunshine Coast QLD","Byron Bay NSW","Newcastle NSW","Sydney NSW","South Coast NSW","Victoria (Torquay/Bells)","Phillip Island VIC","Tasmania (Clifton Beach)","Adelaide/Middleton SA","Margaret River WA","Perth WA","Gnaraloo/Exmouth WA"]},"months":{"type":"array","items":{"type":"string","enum":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}},"water_temp_c":{"type":"number","minimum":0,"maximum":32},"water_temp_f":{"type":"number","minimum":32,"maximum":90},"fresh":{"type":"boolean","description":"A new or freshly stripped board: also show a base coat."}},"required":[]},"example":{"region":"Gold Coast QLD","months":["Dec","Jan","Feb"],"fresh":false}}}},"responses":{"200":{"description":"The recommendation and ranked in-stock products","content":{"application/json":{"schema":{"type":"object","properties":{"finder":{"type":"string"},"run_id":{"type":"string"},"currency":{"type":"string"},"recommendation":{"type":"object"},"sections":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string"},"title":{"type":"string"},"note":{"type":"string"},"products":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"brand":{"type":"string"},"url":{"type":"string","description":"Product page. Share as is: it credits the run."},"image":{"type":["string","null"]},"price":{"type":"number"},"sale_price":{"type":["number","null"]},"currency":{"type":"string"},"match":{"type":"integer","description":"1-99 fit for these answers."},"buy":{"type":["string","null"],"description":"The size, length or volume to buy, when known."},"reasons":{"type":"array","items":{"type":"string"}}}}}}}}}}}}},"400":{"description":"Invalid input: errors lists every problem, with the schema and an example"}}}},"/api/agent/delivery-estimate":{"get":{"operationId":"deliveryEstimate","summary":"When a product would arrive at an Australian postcode","description":"Dispatch day (same day before the 2pm cutoff), standard and express delivery dates, and what recent real deliveries to that area took. Ask the human for their postcode.","parameters":[{"name":"postcode","in":"query","required":true,"schema":{"type":"string","pattern":"^\\d{4}$"},"description":"The human's Australian postcode."},{"name":"url","in":"query","required":false,"schema":{"type":"string"},"description":"The product page URL (or give sku)."},{"name":"sku","in":"query","required":false,"schema":{"type":"string"}},{"name":"option","in":"query","required":false,"schema":{"type":"string"},"description":"Size or colour label as shown on the page."}],"responses":{"200":{"description":"The estimate; available=false when the item has none"},"400":{"description":"Bad postcode, url, sku or option"}}},"post":{"operationId":"deliveryEstimatePost","summary":"Same as GET, with a JSON body","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["postcode"],"properties":{"postcode":{"type":"string"},"url":{"type":"string"},"sku":{"type":"string"},"option":{"type":"string"}}},"example":{"url":"https://www.boardcave.com.au/example-product","postcode":"4220"}}}},"responses":{"200":{"description":"The estimate"}}}}}}