Common issues and how to fix them
The most common support questions, with the self-serve fix for each. If the fix below does not resolve the issue, click the floating "?" button in the bottom-right of any page inside the app to open a ticket, or email justin@fedgrade.com.
My Brief didn't arrive
Briefs are generated by a job that runs once a day, starting at 11:18 UTC. There is no per-workspace generation time and no timezone setting for it. If nothing has appeared well after that, walk this checklist:
- Check
/todayfirst. On the Free plan the Brief is in the app only — it is generated for you but never emailed, so an empty inbox is expected and/todayis where it lives. Pro and above also receive it by email. - Check your notification settings.
/settings/notificationscontrols which notification emails you receive and how often (real-time, hourly, daily or off). The Brief is generated regardless, so check/todaydirectly. - Check your tier. Free shows the top 3 items only — if the Brief looks short, that is by design. Pro and above show up to 10.
- Check the validation badge. If the sources for your persona could not support a Brief that day, it is delivered in an honest "insufficient evidence" state rather than with unsupported claims.
On Pro and above you can also re-synthesize on demand with the variant dropdown on /today. That is an AI generation, so it is not available on Free.
If none of the above explains it, open a ticket with the date and your workspace name.
Search returns nothing
Search runs over the indexed federal research library. Empty results almost always come from one of these causes:
- Filters too narrow. Clear the agency, source, signal, date-range, confidence and vendor filters one at a time. If results appear when one filter is dropped, that filter was over-restrictive.
- Query too specific. A long query with several quoted phrases will often return nothing. Remove the quotes around the most specific phrase and search again.
- Not in the library yet. Coverage tracks the sources that have been ingested. A miss can mean "not in the research library yet" rather than "doesn't exist".
Webhook deliveries are failing
Open /settings/webhooks and click Deliveries on the endpoint to see each attempt with its response code and the first part of the response body. The two most common causes:
- Signing secret rotated, receiver not updated. For 24 hours after a rotation every delivery is signed with both the new and the previous secret, so receivers have time to switch. If failures started about a day after a rotation, update the secret in your receiver and click Replay on the failed deliveries.
- Your endpoint returns an error for valid payloads. Any non-2xx response — including 4xx — counts as a failure and is retried on the schedule in Webhooks. Check your endpoint's logs, and make sure it accepts
application/jsonand the envelope described there.
After 10 consecutive failed deliveries (a running counter — no time window) the endpoint is disabled automatically. Re-enable it from /settings/webhooks with Enable.
API 429 rate limit
429 responses include a Retry-After header in seconds. Rate limits are per API key, per minute, and per route budget — the same on Enterprise and Government, with no daily cap:
- 60 requests/minute shared across
GET /api/v1/search,/notices,/opportunities,/forecasts,/entities/{id}and/agencies/{slug} - 10 requests/minute for
GET /api/v1/briefs - 30 requests/minute for
POST /api/v1/pwin
Every v1 response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset, so you can pace requests before you hit the limit. Use one key per integration, respect Retry-After, and back off; do not retry faster than the header suggests. /settings/api-keys shows each key's requests per endpoint over the last 24 hours, plus 7-, 30- and 90-day usage. See API keys.
Still stuck
Open a ticket with the floating "?" button inside the app, or email justin@fedgrade.com. Pick the Data concern category if a citation or source looks wrong, or use Report inaccuracy on the Brief itself.
Last updated 2026-09-21.