Skip to main content

Agent not appearing in catalog

Check in this order.

1. Status​

draft and inactive agents are filtered from the public catalog.

curl https://api.fleapo.ai/agents/by-slug/<slug> | jq '.data.status'

Should be active or coming_soon for it to show up. Update via POST /agents/:id { status: 'active' }.

2. Frontend cache​

The marketplace UI uses React Query with staleTime: 60s on catalog. Hard refresh:

  • Chrome: ⌘+Shift+R.
  • DevTools → Application → Storage → Clear site data.

3. CDN cache​

Cloudflare Pages caches HTML. After a deploy, force purge:

npx wrangler pages deployment list
# Or via dashboard: Pages → project → Settings → Purge cache

4. Tag mismatch​

If you visited /agents?tag=<slug> and your agent doesn't have that tag, it won't appear. Drop the tag filter or attach the tag.

If you expect it on the homepage featured strip, featured: true must be set.

POST /agents/<id>
{ "featured": true }

The homepage's featured carousel filters on featured AND status === 'active'.

6. Search query​

The header search input filters the catalog client-side. If you have a query active, the agent must match it. Clear the search box.

7. The agent exists but no pricing tiers​

The detail page renders fine without pricing, but the catalog cards show a pricing badge. If pricing is missing the card may render unexpectedly. Create at least one tier.

8. Mock data is shadowing the live API​

Check src/data/agents.ts for a mock entry with the same slug. The live API takes precedence when present, but a stale mock might confuse you while debugging.

9. The build didn't pick up your changes​

Verify the deployed bundle has your changes:

  • Network tab → check the JS bundle hash matches the latest deploy.
  • View source → grep for a string you added recently.

10. The user doesn't have access​

If you're testing as an org_member and the agent is in a state visible only to admins (e.g. draft), the API returns it filtered. Sign in as platform_admin and try /admin/agents — if it appears there, the issue is status visibility.

11. Database write failed silently​

Confirm the row actually exists:

SELECT id, slug, status FROM agents WHERE slug = '<slug>';

If absent, the POST request returned an error envelope. Re-run with the response logged.

12. CORS / network failure swallowed the response​

DevTools → Network tab. If the catalog endpoint shows a CORS error, the request never reached the server. See CORS and cookies.