--- title: ABM Engine emoji: 🎯 colorFrom: blue colorTo: green sdk: docker app_port: 7860 pinned: false --- # FortyDN ABM Engine Outbound-intelligence service: account store + Apify enrichment + ICP scoring + vector memory + optional Neo4j graph mirror. **Stack**: FastAPI on Hugging Face Space · Aiven OpenSearch 3.6 (store, search, k-NN vectors) · Apify actors (owner's own scrapers) · BetterDB Neo4j (optional mirror) · Upstash Redis (optional cache) · Supabase JWKS identity. ## Endpoints (under /api/v1) | Route | Purpose | |---|---| | GET /health | component report (open) | | POST /accounts | upsert account (domain-keyed) | | GET /accounts?q= | search with filters | | GET /accounts/{id} | account + contacts + events | | POST /enrich | run Apify actor → normalize → score → embed → mirror | | POST /signals/score | rescore an account | | POST /memory, /memory/batch | remember texts (384-dim embeddings) | | POST /memory/search | k-NN recall | | GET /graph/overview | Neo4j mirror status | ## Secrets (Space settings) `OS_URL`, `OS_USER`, `OS_PASSWORD` (Aiven OpenSearch) · `APIFY_TOKEN` · `SUPABASE_URL` · optional `BETTERDB_URL`+`BETTERDB_TOKEN` or `NEO4J_URI`+`NEO4J_USER`+`NEO4J_PASSWORD` · optional `UPSTASH_REDIS_REST_URL`+`UPSTASH_REDIS_REST_TOKEN` · optional `API_KEY` (service calls) · `LICENSE_ENFORCEMENT=true` at go-live.