Mark Dovgalyuk

Writing

Minimalist black silhouette of three stacked layers, centered on an off-white background.

· 5 min read

Bullhorn's REST API Part 2: JPQL, Lucene, and pagination design

Bullhorn splits bulk reads across a relational JPQL engine and a Lucene index. The two order results differently, and that difference decides which pagination strategy works on each.

Black stylized bull head silhouette on an off-white background.

· 5 min read

Bullhorn's REST API Part 1: 3-legged OAuth and rotating refresh tokens

Bullhorn's API uses 3-legged OAuth, built for human-in-the-loop apps. Backend integrations have to design around that mismatch, plus the single-use refresh tokens Bullhorn issues and the failure modes that come with them.