{"skill":{"slug":"hostex","displayName":"Hostex","summary":"Hostex (hostex.io) OpenAPI v3.0 skill for querying and managing vacation rental properties, room types, reservations, availability, listing calendars, guest messaging, reviews, and webhooks via the Hostex API. Use when you need to integrate with Hostex API using a Hostex PAT (Hostex-Access-Token / HostexAccessToken) or when you need safe, intent-level API calls (read-only by default, optional write operations with explicit confirmation).","description":"---\nname: hostex\ndescription: \"Hostex (hostex.io) OpenAPI v3.0 skill for querying and managing vacation rental properties, room types, reservations, availability, listing calendars, guest messaging, reviews, and webhooks via the Hostex API. Use when you need to integrate with Hostex API using a Hostex PAT (Hostex-Access-Token / HostexAccessToken) or when you need safe, intent-level API calls (read-only by default, optional write operations with explicit confirmation).\"\n---\n\n# Hostex API Skill (Node)\n\n## Auth (PAT)\n\n- Set env var: `HOSTEX_ACCESS_TOKEN`\n- Requests use header: `Hostex-Access-Token: <PAT>`\n- OpenAPI security scheme name: `HostexAccessToken`\n\n**Default recommendation:** use a **read-only** PAT.\n\n## Dates / timezone\n\n- All date params are `YYYY-MM-DD`\n- Interpret dates in **property timezone** (no UTC timestamps)\n\n## OpenAPI source of truth\n\nStable OpenAPI JSON:\n- https://hostex.io/open_api/v3/config.json\n\nUse `scripts/openapi-sync.mjs` to cache a local copy into `references/openapi.json`.\n\n## Quick commands (scripts)\n\nAll scripts expect `HOSTEX_ACCESS_TOKEN`.\n\n### Read-only (safe)\n\nList properties:\n```bash\nnode skills/hostex/scripts/hostex-read.mjs list-properties --limit 20\n```\n\nList reservations (by check-in range):\n```bash\nnode skills/hostex/scripts/hostex-read.mjs list-reservations --start-check-in-date 2026-02-01 --end-check-in-date 2026-02-28 --limit 20\n```\n\nList reservations (by reservation code):\n```bash\nnode skills/hostex/scripts/hostex-read.mjs list-reservations --reservation-code 0-1234567-abcdef\n```\n\nGet availability:\n```bash\nnode skills/hostex/scripts/hostex-read.mjs get-availabilities --start 2026-02-10 --end 2026-02-20 --property-id 123\n```\n\n### Writes (guarded)\n\nWrites are disabled unless:\n- `HOSTEX_ALLOW_WRITES=true`\n\nand you pass `--confirm`.\n\nSend message:\n```bash\nHOSTEX_ALLOW_WRITES=true node skills/hostex/scripts/hostex-write.mjs send-message --conversation-id 123 --text \"Hello!\" --confirm\n```\n\nUpdate listing prices (single range example):\n```bash\nHOSTEX_ALLOW_WRITES=true node skills/hostex/scripts/hostex-write.mjs update-listing-prices \\\n  --channel-type airbnb \\\n  --listing-id 456 \\\n  --start 2026-02-10 \\\n  --end 2026-02-15 \\\n  --price 199 \\\n  --confirm\n```\n\nUpdate listing prices (multi-range in one request):\n```bash\nHOSTEX_ALLOW_WRITES=true node skills/hostex/scripts/hostex-write.mjs update-listing-prices \\\n  --channel-type booking_site \\\n  --listing-id 100541-10072 \\\n  --prices \"2026-02-03..2026-02-05:599,2026-02-06..2026-02-07:699,2026-02-08..2026-02-09:599\" \\\n  --confirm\n```\n\nCreate reservation (Direct Booking) (example):\n```bash\nHOSTEX_ALLOW_WRITES=true node skills/hostex/scripts/hostex-write.mjs create-reservation \\\n  --property-id 123 \\\n  --custom-channel-id 77 \\\n  --check-in-date 2026-02-10 \\\n  --check-out-date 2026-02-12 \\\n  --guest-name \"Alice\" \\\n  --currency USD \\\n  --rate-amount 200 \\\n  --commission-amount 0 \\\n  --received-amount 200 \\\n  --income-method-id 3 \\\n  --confirm\n```\n\nUpdate property availabilities (close/open) (example):\n```bash\n# Close a property for a date range\nHOSTEX_ALLOW_WRITES=true node skills/hostex/scripts/hostex-write.mjs update-availabilities \\\n  --property-ids \"11322075\" \\\n  --available false \\\n  --start-date 2026-02-03 \\\n  --end-date 2027-02-02 \\\n  --confirm\n```\n\n## Operational guardrails (mandatory)\n\nWhen doing any write operation:\n1) **Summarize the change** (who/what/when/how much).\n2) Require the user to explicitly confirm (e.g. `CONFIRM`).\n3) Prefer `--dry-run` first if available.\n\n## Notes\n\n- Pagination: endpoints commonly accept `offset` + `limit` (limit max 100).\n- Never print tokens in logs; scripts redact secrets automatically.\n","tags":{"latest":"0.1.1"},"stats":{"comments":0,"downloads":2236,"installsAllTime":0,"installsCurrent":0,"stars":1,"versions":2},"createdAt":1770103689779,"updatedAt":1778486000320},"latestVersion":{"version":"0.1.1","createdAt":1770107375732,"changelog":"- Added support and documentation for updating listing prices with multiple date/price ranges in a single request.\n- Added support and example for updating property availabilities (close/open) via the script interface.","license":null},"metadata":null,"owner":{"handle":"ansonfreeman","userId":"s179j0gyd19sz6d3xyzt0pk4zx83hy6y","displayName":"Anson","image":"https://avatars.githubusercontent.com/u/7079435?v=4"},"moderation":null}