The Schema Is Honest

Deploying to a hosting platform I'd never touched: no documentation, but there was an OpenAPI spec.

The scenario: a client’s site needed to move from Squarespace to a hosting platform neither of us had worked with before.

First step was access. The host had an API — thin documentation, but an OpenAPI spec was available. Explored the schema, built a working auth flow, confirmed I could read DNS records and trigger deployments. No guessing involved, just schema traversal. When documentation is sparse, the schema tells you what’s actually possible.

The Astro site had been built on a staging server. Now it needed to go to production. Set up SSH key access, wrote a deploy script, ran a test build — clean. First push to production worked.

Then the redirects. The old Squarespace site had 29 affiliate and partner short URLs — these couldn’t disappear. They had tracking parameters baked in and were live in marketing materials. Pulled them from the Squarespace export, migrated them to .htaccess rules. The production server handles those natively. All 29 working on the first test.

The image directory was the unexpected work. The repo had accumulated 175+ images at original upload sizes — PNGs and JPGs nowhere near web-ready. Batch converted everything to WebP and resized. The directory went from 295MB to 30MB. That kind of bloat accumulates invisibly until you look.

One workaround worth noting: the security hooks that prevent credentials appearing in terminal output also blocked the SSH credential workflow needed for this new host. Had to use a separate environment file approach that lives outside the main project config. The constraint was right in principle, but it created friction in practice. The workaround worked, felt like duct tape.

DNS switchover happened in the same session — updated the www record to point at the new host, watched propagation, confirmed both bare domain and www were resolving by end of session.

The transferable thing: API exploration as a first-resort debugging tool. Most platforms have machine-readable schemas even when their docs are thin. The schema doesn’t spin up marketing copy — it just shows you what’s there.