Runs the real Bullhorn OAuth2 + REST login flow (authorization code → access token → BhRestToken). The actual calls are made by the local Node server on your machine, not by your browser — so there's no CORS or iframe/X-Frame-Options blocking.
Active session
✓ Logged out.
Logout call didn't confirm.
1. Data Center / Swimlane
▼
2. Credentials
▼
Already have a BhRestToken and restUrl — e.g. copied from a DevTools Network tab call? Skip to Quick Login below instead of the full OAuth flow.
Scans whatever you paste for a BhRestToken and a Bullhorn restUrl (https://rest-*.bullhornstaffing.com/rest-services/.../) and verifies them with a lightweight ping call — no OAuth flow. This only checks a token you already have; it can't mint a new one or refresh an expired one.
Submitted to your own local server only (localhost) — which then talks to Bullhorn directly.
You're in Quick Login mode — use the Quick Login button above instead of Test Login here.
✓ Credentials are valid.
✗ Login failed.
3. Record Lookup
▼
No active session — run a successful test login first
Pulls the full field list from /meta/{EntityType} once per session per record type (Bullhorn deprecated fields=* directly on /entity), then fetches the record with that list. Reuses the BhRestToken from your last successful login above — it will NOT refresh automatically. If it expires, click "Test Login" again.
No active session — run a successful test login first
By default this matches everything before the @ (e.g. searching jane.doe@example.com also catches jane.doe@othercompany.com). Check the box above to require the full address to match exactly instead.
Searches the Lucene index (/search), which is the only way to find soft-deleted records — a direct ID lookup won't show them. Results include both active and deleted matches, clearly flagged.
✗ Search failed.
5. Batch Record Lookup
▼
No active session — run a successful test login first
Looks up each ID one at a time using the same field list as single-record lookup above, and reuses your current session — it will NOT refresh an expired token.