{"ok":true,"site":"sfpl","host":"sfpl.org","about":"San Francisco Public Library (sfpl.org): search the catalog, databases and site content, find branches and their hours, and browse library events.","commands":[{"command":"search-events","summary":"Search and filter upcoming library events by keyword, branch location, topic and audience; returns event titles, dates, branches and /events/YYYY/MM/DD/slug links","params":[{"name":"keys","type":"string","description":"Keyword search in event titles and descriptions"},{"name":"location","type":"string","description":"Branch location ID (taxonomy term number, e.g. 31 = Main Library). Get it from list-locations locationTerm (taxonomy-term-N → N)"},{"name":"topic","type":"string","description":"Event topic term ID"},{"name":"audience","type":"string","description":"Audience term ID (e.g. adults, teens, kids)"},{"name":"sort_order","type":"string","description":"Date sort direction","oneOf":["ASC","DESC"]},{"name":"page","type":"number","description":"Zero-based result page"}],"exampleUrl":"https://clify-dev.netlify.app/sfpl/search-events?keys=book+club&location=31&topic=394&audience=25"},{"command":"list-locations","summary":"List all SFPL branches with their weekly opening hours, today's hours, branch page URL and location ID","params":[],"exampleUrl":"https://clify-dev.netlify.app/sfpl/list-locations"},{"command":"search-locations","summary":"Search branches by keyword and optionally only those open right now; returns branch name, URL, location ID, today's hours and weekly hours","params":[{"name":"search_keys","type":"string","description":"Branch name or neighborhood keyword"},{"name":"open_now","type":"string","description":"Set to 1 to show only branches open right now","oneOf":["1"]},{"name":"sort_by","type":"string","description":"Sort field (weight = the site's default order)","default":"weight"},{"name":"sort_order","type":"string","description":"Sort direction","oneOf":["ASC","DESC"],"default":"ASC"}],"exampleUrl":"https://clify-dev.netlify.app/sfpl/search-locations?search_keys=mission"},{"command":"get-event-ics","summary":"Download an event as an iCalendar (ICS) text: title, start/end time, location and description","params":[{"name":"nid","type":"string","required":true,"description":"Event node ID"}],"exampleUrl":"https://clify-dev.netlify.app/sfpl/get-event-ics?nid=165338"},{"command":"get-event-page","summary":"Resolve an event page URL (/events/YYYY/MM/DD/slug) to its node ID; path.currentPath is 'node/N', and N is used by get-event and get-event-ics","params":[{"name":"year","type":"string","required":true,"description":"Event year, e.g. 2026"},{"name":"month","type":"string","required":true,"description":"Two-digit month, e.g. 12"},{"name":"day","type":"string","required":true,"description":"Two-digit day, e.g. 09"},{"name":"slug","type":"string","required":true,"description":"Event URL slug"}],"exampleUrl":"https://clify-dev.netlify.app/sfpl/get-event-page?year=2026&month=12&day=09&slug=book-club-susanna-kwans-awake-floating-city"},{"command":"get-location","summary":"Look up a branch page by slug and get its location ID; path.currentPath is 'taxonomy/term/N', and N is the location filter for search-events","params":[{"name":"slug","type":"string","required":true,"description":"Branch slug from list-locations url, e.g. main-library, mission-bay"}],"exampleUrl":"https://clify-dev.netlify.app/sfpl/get-location?slug=mission-bay"}]}