# Pipeline Company enrichment APIs for AI agents. Prepaid balance at 3¢/credit. Min top-up $10. ## Start here (no API key yet) 1. GET https://app.lens.ly/api/v1/meta — full machine-readable onboarding map 2. POST https://app.lens.ly/api/v1/agents/register — body: {"email":"..."} — sends verification code 3. POST https://app.lens.ly/api/v1/agents/verify — body: {"email":"...","code":"..."} — returns api_key once 4. POST https://app.lens.ly/api/v1/billing/setup — Authorization: Bearer — returns setup_url 5. Human opens setup_url once (add card + buy credits). Auto-topup stays on. 6. Call enrichment APIs. On HTTP 402, follow payment.setup_url if present. ## Auth Header: x-api-key: sk_live_… OR Authorization: Bearer sk_live_… ## Useful endpoints - GET https://app.lens.ly/api/v1/billing — balance, has_payment_method, auto_topup - GET https://app.lens.ly/api/v1/credits — credit-equivalent balance - GET https://app.lens.ly/api/v1/tools — tool catalog (any valid API key) - POST https://app.lens.ly/api/v1/company/mobile-app — {"domains":["example.com"]} - POST https://app.lens.ly/api/v1/company/technologies — {"domains":["example.com"]} - Human docs (agents): https://app.lens.ly/docs/agents - Human docs: https://app.lens.ly/docs - Audiences docs: https://app.lens.ly/docs/api/audiences - Integrations docs: https://app.lens.ly/docs/api/integrations - Competitor reviews: https://app.lens.ly/docs/api/competitor-reviews ## Integrations (Instantly workspaces + CRM status) 1. GET https://app.lens.ly/api/v1/integrations — Instantly[] + hubspot/attio connected flags 2. POST https://app.lens.ly/api/v1/integrations/instantly — {"api_key":"…","name":"optional"} 3. GET https://app.lens.ly/api/v1/integrations/instantly/{id}/campaigns|lead-lists — destination pickers 4. PATCH https://app.lens.ly/api/v1/integrations/instantly/{id} — rename / is_default 5. On audiences launch/patch: delivery_instantly_account_id + campaign/list ids; delivery_hubspot_enabled / delivery_attio_enabled ## Audiences (review leads + more) Preferred path for competitor review audiences (G2, TrustRadius, Trustpilot): 1. GET https://app.lens.ly/api/v1/audiences/plays — catalog 2. GET https://app.lens.ly/api/v1/audiences/plays/competitor-reviews — required_inputs 3. POST https://app.lens.ly/api/v1/audiences/validate — dry-run source_params 4. POST https://app.lens.ly/api/v1/audiences — launch (play_slug: "competitor-reviews") 5. GET https://app.lens.ly/api/v1/audiences/{id} — poll status 6. GET https://app.lens.ly/api/v1/audiences/{id}/export?type=leads — CSV Example launch body: {"play_slug":"competitor-reviews","source_params":{"websites":"hubspot.com","max_rating":"3","find_work_email":true},"number_of_leads":100,"delivery_instantly_account_id":null,"delivery_hubspot_enabled":false} Do not use legacy POST /api/v1/reviews/resolve for new integrations. ## Notes - First payment requires opening a Stripe Checkout link once. After that, refills are off-session. - Do not send card PANs to this API. - Audience finds charge prepaid balance after successful finds (1 credit/person for competitor-reviews).