Skip to main content
Each Pidgeon desktop app (Post, Flock, Loft, Migrate, Conform) starts a local Bridge, an ASP.NET Core sidecar, on a fixed loopback port while the app runs. The desktop apps use this same API. There is no public hosted API today: every request in this reference is local to the machine running the app, on a loopback port reachable only while that app is open. Base URL: http://localhost:<port>, where the port depends on which app’s Bridge you’re calling: This reference documents the Post, Flock, and Loft routes. Migrate and Conform run Bridges too, but their routes aren’t documented here yet; drive them from the Migrate CLI and Conform CLI. The Pidgeon launcher has no Bridge of its own.
This reference documents the local Bridge HTTP contract for automation against a running desktop app. It has not been exhaustively cross-checked against every current Bridge route. If an example here 404s, prefer the CLI equivalent and treat the mismatch as a docs bug.

Authentication

The Bridge listens only on loopback, for the user signed into the app on that machine. Most routes need no token. Where a route is protected, include the app session’s credential: The free-versus-Pro boundary is enforced by the app and your Pidgeon account entitlements, not by an internet-facing permission model. A feature like AI Triage is a Post Pro feature even though its loopback route carries no separate auth.

Response Format

Usage limits

Because the Bridge runs locally, there’s no network-abuse rate limit to enforce. Usage limits follow your account’s plan and entitlements, for example Flock’s population caps in the desktop app’s Population panel. Where a response includes rate-limit headers, they reflect the entitlement-based cap for that endpoint.

Endpoint groups

Content type

All request and response bodies use JSON. Set Content-Type: application/json on all requests with a body.