Api design
6 posts
The same role posted twice is one job
A role mirrored to Greenhouse and LinkedIn is one posting, not two. What deduplication has to decide, and what the API lets you see.
7 min read
Why every job carries its company
Most jobs APIs hand you an employer name and leave you to resolve it. Here is what changes when the company object is already attached.
6 min read
This API tells you when you're wrong
A bad parameter is a 400 that names it, never a silent drop. Why strict validation is the kindest thing an API can do with your quota.
8 min read
Every /v1/jobs query is a full scan
Text search got an index. Every other filter still scans — so narrowing returns faster without running faster. Which knobs are connected to anything.
8 min read
The JSON string that never shipped
employment_type almost went live as JSON text inside JSON. The post explaining why we couldn't fix it is what convinced us to fix it.
6 min read
Your key crosses the wire exactly once
We store a SHA-256 hash of your API key and nothing else. What that buys, what it costs, and the CORS trap that breaks browser auth.
8 min read