Developers
Read-only JSON access to stored opportunities, your organization's shared pipeline, and workflow status. Keys belong to one organization, are hashed at rest, can be limited by scope, and can be revoked at any time by a Company Admin.
Each key belongs to one organization, is stored only as a hash, can be revoked at any time, and is read-only. Organization keys are issued by WeBuiltGov on request from your Company Admin (the full key is shown once). Send it on every request:
curl -H "x-hedy-app-key: hak_..." https://www.webuiltgov.com/api/partner/pipeline
Self-service keys created in the app under Company OS → Partner API keys start with wbg_ and use the x-webuiltgov-key header instead. That screen is being enabled; until it is, keys come from WeBuiltGov.
Missing or malformed key: 401 key_required. Revoked or unknown key: 401 key_invalid. Key without the resource's scope: 403 scope_missing. Any method other than GET: 405 read_only. Keys never allow writes.
| Path | Scope | Returns |
|---|---|---|
GET /api/partner | none | API index and resource list |
GET /api/partner/opportunities | opportunities:read | Stored SAM.gov, Grants.gov, and Utah local notices. Filters: q, naics (prefix), state, source (sam, grants, utah). |
GET /api/partner/pipeline | pipeline:read | Your organization's shared board: item, pipeline, stage, status, deadline, official source link. |
GET /api/partner/workflows | workflows:read | Per tracked project: go/no-go, estimate, package, award, fulfillment status, open tasks. |
Every list takes limit (1-100, default 50) and offset, and returns total and nextOffset. Responses carry retrievedAt.
/api/opportunities, /api/forecasts, /api/awards, /api/sources, and /api/intel (views agency-spend, competitors, recipient, sbir) are public JSON built from official sources. They are not a substitute for reading the original notice, and WeBuiltGov never submits a bid.
Partner routes are rate limited per caller. An organization can hold 10 active keys.