[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"api-page:avail-schedule":3},{"status":4,"api":5,"seo":186},"success",{"blocked":6,"description":7,"about":8,"stats":9,"name":11,"title":12,"slug":13,"logo":14,"created_at":15,"agent":16,"user":27,"endpoint_groups":30,"faqs":89,"features":150,"periodic_plans":157,"payasyougo_plans":184,"createdAtText":185},false,"Stateless appointment availability and scheduling slot calculation API.","Calculate available appointment slots using operating hours, appointment duration, slot intervals, buffer time, busy periods, blackout periods, recurring weekly blackouts, and IANA timezones.",{"score":10},null,"Avail","Avail API","avail-schedule","https://cdn.jojapi.com/api/2b972215-4f02-4fc9-abc6-2bba4fbb873c","2026-09-25 03:47:38",{"enabled":17,"closed":10,"request_enabled":17,"catalog_url":18,"discovery_url":19,"directory_url":20,"rails":21,"networks":24,"docs":26},true,"https://ernwd.jojapi.net/_jojapi/agent/plans","https://ernwd.jojapi.net/.well-known/x402","https://agents.jojapi.net/apis/avail-schedule",[22,23],"x402","mpp",[25],"eip155:8453","https://docs.jojapi.com/consumers/agents",{"nick":28,"name":29,"verified":6,"website":10},"div-syntax","Div Syntax",[31],{"endpoints":32,"name":88,"description":54,"ungrouped":17},[33,65],{"blocked":6,"hidden":6,"agent_price":10,"credits":10,"flexible_credits_description":10,"consumptions":34,"description":35,"method":36,"name":37,"url_path":38,"root_url":39,"parameters":40,"responses":57,"result_stats":10},[],"Calculates available appointment slots for a specified date based on operating hours, appointment duration, slot interval, buffer time, busy periods, blackout periods, and recurring weekly blackouts.\n\nAvail is stateless and does not create or store reservations. It evaluates the scheduling information provided in the request and returns the available appointment slots.","POST","Available Dates","/api/v1/availability","https://ernwd.jojapi.net",{"url":41,"header":42,"post":49,"body":50,"path":56},[],[43],{"key":44,"is_auth":17,"example":45,"example_disabled":17,"example_type":46,"name":47,"description":45,"required":17,"always_error":48},"X-JoJAPI-Key","You must log in to get API key","string","JoJ API Key","Please log in to get API key",[],[51],{"key":10,"example":52,"schema":53,"example_disabled":6,"example_type":46,"value_type":46,"enum_values":10,"default_value":54,"required":6,"name":10,"description":55},"{\"status\":\"ok\",\"date\":\"2026-09-21\",\"timezone\":\"America\\/Chicago\",\"available_slots\":[{\"start\":\"09:00\",\"end\":\"10:00\"},{\"start\":\"09:30\",\"end\":\"10:30\"},{\"start\":\"10:00\",\"end\":\"11:00\"},{\"start\":\"10:30\",\"end\":\"11:30\"},{\"start\":\"13:00\",\"end\":\"14:00\"},{\"start\":\"13:30\",\"end\":\"14:30\"},{\"start\":\"14:00\",\"end\":\"15:00\"},{\"start\":\"14:30\",\"end\":\"15:30\"},{\"start\":\"15:00\",\"end\":\"16:00\"},{\"start\":\"15:30\",\"end\":\"16:30\"}]}","{\"type\":\"object\",\"properties\":{\"status\":{\"type\":\"string\"},\"date\":{\"type\":\"string\"},\"timezone\":{\"type\":\"string\"},\"available_slots\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"start\":{\"type\":\"string\"},\"end\":{\"type\":\"string\"}}}}}}","","''",[],[58],{"status":59,"status_code":60,"description":61,"schema":53,"examples":62,"example":52},"200",200,"Successful Response",[63],{"name":64,"summary":54,"description":54,"example":52},"Success",{"blocked":6,"hidden":6,"agent_price":10,"credits":10,"flexible_credits_description":10,"consumptions":66,"description":71,"method":72,"name":73,"url_path":74,"root_url":39,"parameters":75,"responses":82,"result_stats":10},[67],{"name":68,"slug":69,"cost":70,"label":54,"avg":10},"Requests","requests","1","This endpoint is to check the health of the server.","GET","Health Check","/api/v1/health",{"url":76,"header":77,"post":79,"body":80,"path":81},[],[78],{"key":44,"is_auth":17,"example":45,"example_disabled":17,"example_type":46,"name":47,"description":45,"required":17,"always_error":48},[],[],[],[83],{"status":59,"status_code":60,"description":64,"schema":84,"examples":85,"example":87},"{\"type\":\"object\",\"properties\":{\"status\":{\"type\":\"string\"},\"service\":{\"type\":\"string\"}}}",[86],{"name":59,"summary":59,"description":54,"example":87},"{\"status\":\"ok\",\"service\":\"avail-api\"}","Ungrouped Endpoints",[90,93,96,99,102,105,108,111,114,117,120,123,126,129,132,135,138,141,144,147],{"question":91,"answer":92},"What does Avail API do?","Avail API calculates available appointment slots based on your requested date, timezone, business hours, appointment duration, buffers, busy periods, and blackout periods.",{"question":94,"answer":95},"Does Avail API store my scheduling data?","No. Avail API is stateless. Availability is calculated from the data you provide in each request and is not used as a persistent calendar or scheduling database.",{"question":97,"answer":98},"Do I need to connect a calendar?","No. Avail API does not require a connection to Google Calendar, Outlook, or another calendar provider. You provide the periods that are already unavailable, and the API calculates the remaining available slots.",{"question":100,"answer":101},"What information do I send?","A request can include the date, timezone, available hours, appointment duration, slot interval, buffer time, busy periods, blackout periods, and recurring weekly blackouts.",{"question":103,"answer":104},"Can I specify split business hours?","Yes. You can provide multiple availability periods for the same day. This allows you to represent schedules such as 9:00 AM–12:00 PM and 1:00 PM–5:00 PM.",{"question":106,"answer":107},"Can I block specific times?","Yes. Busy periods and blackout periods can be supplied to prevent those times from appearing as available slots.",{"question":109,"answer":110},"Can I define recurring weekly blackouts?","Yes. Avail API supports recurring weekly blackout periods, allowing you to represent recurring unavailable times such as weekends or regularly scheduled closures.",{"question":112,"answer":113},"What is the appointment duration?","Appointment duration determines how much time each generated appointment requires. For example, a 60-minute duration produces one-hour appointment slots.",{"question":115,"answer":116},"What is the slot interval?","The slot interval determines how frequently potential appointment start times are generated. For example, a 30-minute interval can produce start times at 9:00, 9:30, 10:00, and so on, subject to the other scheduling constraints.",{"question":118,"answer":119},"What is a buffer?","A buffer adds additional unavailable time around an appointment. This can be used to account for preparation, cleanup, travel, or other time needed between appointments.",{"question":121,"answer":122},"Does Avail API create or book appointments?","No. Avail API calculates availability; it does not create or confirm appointments. Your application remains responsible for booking and managing appointments.",{"question":124,"answer":125},"Does Avail API prevent double-booking?","No. Avail API calculates slots based on the busy periods provided in the request. Your application or booking system should update its availability data when an appointment is created.",{"question":127,"answer":128},"Can I use Avail API with my own booking system?","Yes. Avail API is designed to work as an availability calculation layer for booking systems, scheduling applications, marketplaces, and other software that needs to determine open appointment times.",{"question":130,"answer":131},"What timezone should I use?","Provide the timezone that should be used when interpreting the requested date and schedule. Using an appropriate IANA timezone, such as America/Chicago, helps ensure that availability is calculated using the intended local time.",{"question":133,"answer":134},"What happens if there are no available slots?","The API returns an empty availability result when no slots satisfy the requested scheduling constraints.",{"question":136,"answer":137},"Is Avail API suitable for recurring schedules?","Yes. Recurring weekly blackouts can be supplied as part of the availability calculation, while your application can make requests for whatever dates it needs to evaluate.",{"question":139,"answer":140},"Can I use Avail API for different appointment types?","Yes. Your application can supply different appointment durations, intervals, buffers, and availability rules for different types of appointments.",{"question":142,"answer":143},"Does Avail API require a database?","No. The API itself does not require a persistent database for availability calculations. Your application can maintain its own users, appointments, calendars, and other scheduling data.",{"question":145,"answer":146},"What happens if a request fails?","A failed request is not considered a successful availability calculation. Check the returned error information and validate the request parameters before retrying.",{"question":148,"answer":149},"Where can I report a problem?","When reporting an issue, provide the endpoint, request parameters, response or error message, and approximate time of the request. Do not include API keys or other credentials.",[151,154],{"id":152,"name":153,"description":10},"n6370708f","Basic",{"id":155,"name":156,"description":10},"n48e865f6","Pro",[158,175],{"type":159,"slug":160,"blocked":6,"period":161,"currency":162,"pricing":163,"rate_limit":167,"objects":170,"name":173,"display_name":173,"features":174},"periodic","wll3xuf9ghhoewf1khoov3u1","1 MONTH","usd",{"price":164,"credits":164,"past_due_timeout_num":165,"past_due_timeout_type":166},0,3,"DAY",{"max_requests":168,"time_window":169},500,1,[171],{"id":172,"name":68,"slug":69,"quota":164,"tiers":10},"n2a0cf3de","ULTRA",[],{"type":159,"slug":176,"blocked":6,"period":161,"currency":162,"pricing":177,"rate_limit":178,"objects":179,"name":182,"display_name":182,"features":183},"b262rxbz3409yonoq1fyb9xp",{"price":164,"credits":164,"past_due_timeout_num":165,"past_due_timeout_type":166},{"max_requests":169,"time_window":169},[180],{"id":172,"name":68,"slug":69,"quota":181,"tiers":10},50,"BASIC",[],[],"2026-09-25",{"canonical":187,"page_title":188,"meta":189},"https://jojapi.com/hub/api/avail-schedule","Avail API Documentation & Playground - JoJ API",{"description":7,"keywords":190},"API,API Documentation,API Playground,Plans & Pricing,Avail,div-syntax"]