> ## Documentation Index
> Fetch the complete documentation index at: https://docs.revenuebase.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# FAQ

> Answers to common questions about RevenueBase data organization, delivery, updates, and troubleshooting.

export const RBCardGroup = ({cols = 3, children}) => <div className={`rb-grid-${cols}`}>{children}</div>;

export const RBCard = ({href, title, desc, icon, tag, children, stat}) => {
  const icons = {
    cloud: <svg width="20" height="20" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth="1.5">
        <path strokeLinecap="round" strokeLinejoin="round" d="M2.25 15a4.5 4.5 0 0 0 4.5 4.5H18a3.75 3.75 0 0 0 1.332-7.257 3 3 0 0 0-3.758-3.848 5.25 5.25 0 0 0-10.233 2.33A4.502 4.502 0 0 0 2.25 15Z" />
      </svg>,
    database: <svg width="20" height="20" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth="1.5">
        <path strokeLinecap="round" strokeLinejoin="round" d="M20.25 6.375c0 2.278-3.694 4.125-8.25 4.125S3.75 8.653 3.75 6.375m16.5 0c0-2.278-3.694-4.125-8.25-4.125S3.75 4.097 3.75 6.375m16.5 0v11.25c0 2.278-3.694 4.125-8.25 4.125s-8.25-1.847-8.25-4.125V6.375m16.5 5.625c0 2.278-3.694 4.125-8.25 4.125s-8.25-1.847-8.25-4.125" />
      </svg>,
    table: <svg width="20" height="20" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth="1.5">
        <path strokeLinecap="round" strokeLinejoin="round" d="M3.375 19.5h17.25m-17.25 0a1.125 1.125 0 0 1-1.125-1.125M3.375 19.5h7.5c.621 0 1.125-.504 1.125-1.125m-9.75 0V5.625m0 12.75v-1.5c0-.621.504-1.125 1.125-1.125m18.375 2.625V5.625m0 12.75c0 .621-.504 1.125-1.125 1.125m1.125-1.125v-1.5c0-.621-.504-1.125-1.125-1.125m0 3.75h-7.5A1.125 1.125 0 0 1 12 18.375m9.75-12.75c0-.621-.504-1.125-1.125-1.125H3.375c-.621 0-1.125.504-1.125 1.125m19.5 0v1.5c0 .621-.504 1.125-1.125 1.125M2.25 5.625v1.5c0 .621.504 1.125 1.125 1.125m0 0h17.25m-17.25 0h7.5c.621 0 1.125.504 1.125 1.125M3.375 8.25c-.621 0-1.125.504-1.125 1.125v1.5c0 .621.504 1.125 1.125 1.125m17.25-3.75h-7.5c-.621 0-1.125.504-1.125 1.125m8.625-1.125c.621 0 1.125.504 1.125 1.125v1.5c0 .621-.504 1.125-1.125 1.125m-17.25 0h7.5m-7.5 0c-.621 0-1.125.504-1.125 1.125v1.5c0 .621.504 1.125 1.125 1.125M12 10.875v-1.5m0 1.5c0 .621-.504 1.125-1.125 1.125M12 10.875c0 .621.504 1.125 1.125 1.125m-2.25 0c-.621 0-1.125.504-1.125 1.125v1.5c0 .621.504 1.125 1.125 1.125m2.25-2.25h-2.25m2.25 0h2.25" />
      </svg>,
    link: <svg width="20" height="20" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth="1.5">
        <path strokeLinecap="round" strokeLinejoin="round" d="M13.19 8.688a4.5 4.5 0 0 1 1.242 7.244l-4.5 4.5a4.5 4.5 0 0 1-6.364-6.364l1.757-1.757m13.35-.622 1.757-1.757a4.5 4.5 0 0 0-6.364-6.364l-4.5 4.5a4.5 4.5 0 0 0 1.242 7.244" />
      </svg>,
    clock: <svg width="20" height="20" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth="1.5">
        <path strokeLinecap="round" strokeLinejoin="round" d="M12 6v6h4.5m4.5 0a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z" />
      </svg>,
    'book-atlas': <svg width="20" height="20" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth="1.5">
        <path strokeLinecap="round" strokeLinejoin="round" d="M12 6.042A8.967 8.967 0 0 0 6 3.75c-1.052 0-2.062.18-3 .512v14.25A8.987 8.987 0 0 1 6 18c2.305 0 4.408.867 6 2.292m0-14.25a8.966 8.966 0 0 1 6-2.292c1.052 0 2.062.18 3 .512v14.25A8.987 8.987 0 0 0 18 18a8.967 8.967 0 0 0-6 2.292m0-14.25v14.25" />
      </svg>,
    fingerprint: <svg width="20" height="20" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth="1.5">
        <path strokeLinecap="round" strokeLinejoin="round" d="M7.864 4.243A7.5 7.5 0 0 1 19.5 10.5c0 2.92-.556 5.709-1.568 8.268M5.742 6.364A7.465 7.465 0 0 0 4.5 10.5a7.464 7.464 0 0 1-1.15 3.993m1.989 3.559A11.209 11.209 0 0 0 8.25 10.5a3.75 3.75 0 1 1 7.5 0c0 .527-.021 1.049-.064 1.565M12 10.5a14.94 14.94 0 0 1-3.6 9.75m6.633-4.596a18.666 18.666 0 0 1-2.485 5.33" />
      </svg>,
    'gauge-high': <svg width="20" height="20" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth="1.5">
        <path strokeLinecap="round" strokeLinejoin="round" d="M12 3v2.25m6.364.386-1.591 1.591M21 12h-2.25m-.386 6.364-1.591-1.591M12 18.75V21m-4.773-4.227-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0Z" />
      </svg>,
    wrench: <svg width="20" height="20" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth="1.5">
        <path strokeLinecap="round" strokeLinejoin="round" d="M11.42 15.17 17.25 21A2.652 2.652 0 0 0 21 17.25l-5.877-5.877M11.42 15.17l2.496-3.03c.317-.384.74-.626 1.208-.766M11.42 15.17l-4.655 5.653a2.548 2.548 0 1 1-3.586-3.586l6.837-5.63m5.108-.233c.55-.164 1.163-.188 1.743-.14a4.5 4.5 0 0 0 4.486-6.336l-3.276 3.277a3.004 3.004 0 0 1-2.25-2.25l3.276-3.276a4.5 4.5 0 0 0-6.336 4.486c.091 1.076-.071 2.264-.904 2.95l-.102.085m-1.745 1.437L5.909 7.5H4.5L3 3.75l1.5-1.5L8.25 3.75v1.409l4.26 4.26m-1.745 1.437 1.745-1.437m6.615 8.206L15.75 15.75M4.867 19.125h.008v.008h-.008v-.008Z" />
      </svg>,
    'magnifying-glass': <svg width="20" height="20" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth="1.5">
        <path strokeLinecap="round" strokeLinejoin="round" d="m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 15.803 7.5 7.5 0 0 0 15.803 15.803Z" />
      </svg>,
    envelope: <svg width="20" height="20" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth="1.5">
        <path strokeLinecap="round" strokeLinejoin="round" d="M21.75 6.75v10.5a2.25 2.25 0 0 1-2.25 2.25h-15a2.25 2.25 0 0 1-2.25-2.25V6.75m19.5 0A2.25 2.25 0 0 0 19.5 4.5h-15a2.25 2.25 0 0 0-2.25 2.25m19.5 0v.243a2.25 2.25 0 0 1-1.07 1.916l-7.5 4.615a2.25 2.25 0 0 1-2.36 0L3.32 8.91a2.25 2.25 0 0 1-1.07-1.916V6.75" />
      </svg>,
    building: <svg width="20" height="20" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth="1.5">
        <path strokeLinecap="round" strokeLinejoin="round" d="M2.25 21h19.5m-18-18v18m10.5-18v18m6-13.5V21M6.75 6.75h.75m-.75 3h.75m-.75 3h.75m3-6h.75m-.75 3h.75m-.75 3h.75M6.75 21v-3.375c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21M3 3h12m-.75 4.5H21m-3.75 3.75h.008v.008h-.008v-.008Zm0 3h.008v.008h-.008v-.008Zm0 3h.008v.008h-.008v-.008Z" />
      </svg>,
    user: <svg width="20" height="20" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth="1.5">
        <path strokeLinecap="round" strokeLinejoin="round" d="M15.75 6a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0ZM4.501 20.118a7.5 7.5 0 0 1 14.998 0A17.933 17.933 0 0 1 12 21.75c-2.676 0-5.216-.584-7.499-1.632Z" />
      </svg>,
    users: <svg width="20" height="20" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth="1.5">
        <path strokeLinecap="round" strokeLinejoin="round" d="M15 19.128a9.38 9.38 0 0 0 2.625.372 9.337 9.337 0 0 0 4.121-.952 4.125 4.125 0 0 0-7.533-2.493M15 19.128v-.003c0-1.113-.285-2.16-.786-3.07M15 19.128v.106A12.318 12.318 0 0 1 8.624 21c-2.331 0-4.512-.645-6.374-1.766l-.001-.109a6.375 6.375 0 0 1 11.964-3.07M12 6.375a3.375 3.375 0 1 1-6.75 0 3.375 3.375 0 0 1 6.75 0Zm8.25 2.25a2.625 2.625 0 1 1-5.25 0 2.625 2.625 0 0 1 5.25 0Z" />
      </svg>,
    'user-group': <svg width="20" height="20" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth="1.5">
        <path strokeLinecap="round" strokeLinejoin="round" d="M15 19.128a9.38 9.38 0 0 0 2.625.372 9.337 9.337 0 0 0 4.121-.952 4.125 4.125 0 0 0-7.533-2.493M15 19.128v-.003c0-1.113-.285-2.16-.786-3.07M15 19.128v.106A12.318 12.318 0 0 1 8.624 21c-2.331 0-4.512-.645-6.374-1.766l-.001-.109a6.375 6.375 0 0 1 11.964-3.07M12 6.375a3.375 3.375 0 1 1-6.75 0 3.375 3.375 0 0 1 6.75 0Zm8.25 2.25a2.625 2.625 0 1 1-5.25 0 2.625 2.625 0 0 1 5.25 0Z" />
      </svg>,
    'users-gear': <svg width="20" height="20" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth="1.5">
        <path strokeLinecap="round" strokeLinejoin="round" d="M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.325.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 0 1 1.37.49l1.296 2.247a1.125 1.125 0 0 1-.26 1.431l-1.003.827c-.293.241-.438.613-.43.992a7.723 7.723 0 0 1 0 .255c-.008.378.137.75.43.991l1.004.827c.424.35.534.955.26 1.43l-1.298 2.247a1.125 1.125 0 0 1-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.47 6.47 0 0 1-.22.128c-.331.183-.581.495-.644.869l-.213 1.281c-.09.543-.56.94-1.11.94h-2.594c-.55 0-1.019-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 0 1-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 0 1-1.369-.49l-1.297-2.247a1.125 1.125 0 0 1 .26-1.431l1.004-.827c.292-.24.437-.613.43-.991a6.932 6.932 0 0 1 0-.255c.007-.38-.138-.751-.43-.992l-1.004-.827a1.125 1.125 0 0 1-.26-1.43l1.297-2.247a1.125 1.125 0 0 1 1.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.086.22-.128.332-.183.582-.495.644-.869l.214-1.28Z" />
      </svg>,
    mobile: <svg width="20" height="20" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth="1.5">
        <path strokeLinecap="round" strokeLinejoin="round" d="M10.5 1.5H8.25A2.25 2.25 0 0 0 6 3.75v16.5a2.25 2.25 0 0 0 2.25 2.25h7.5A2.25 2.25 0 0 0 18 20.25V3.75a2.25 2.25 0 0 0-2.25-2.25H13.5m-3 0V3h3V1.5m-3 0h3m-3 18h3" />
      </svg>,
    calendar: <svg width="20" height="20" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth="1.5">
        <path strokeLinecap="round" strokeLinejoin="round" d="M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 0 1 2.25-2.25h13.5A2.25 2.25 0 0 1 21 7.5v11.25m-18 0A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75m-18 0v-7.5A2.25 2.25 0 0 1 5.25 9h13.5A2.25 2.25 0 0 1 21 11.25v7.5" />
      </svg>,
    'badge-check': <svg width="20" height="20" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth="1.5">
        <path strokeLinecap="round" strokeLinejoin="round" d="M9 12.75 11.25 15 15 9.75M21 12c0 1.268-.63 2.39-1.593 3.068a3.745 3.745 0 0 1-1.043 3.296 3.745 3.745 0 0 1-3.296 1.043A3.745 3.745 0 0 1 12 21c-1.268 0-2.39-.63-3.068-1.593a3.746 3.746 0 0 1-3.296-1.043 3.745 3.745 0 0 1-1.043-3.296A3.745 3.745 0 0 1 3 12c0-1.268.63-2.39 1.593-3.068a3.745 3.745 0 0 1 1.043-3.296 3.746 3.746 0 0 1 3.296-1.043A3.746 3.746 0 0 1 12 3c1.268 0 2.39.63 3.068 1.593a3.746 3.746 0 0 1 3.296 1.043 3.746 3.746 0 0 1 1.043 3.296A3.745 3.745 0 0 1 21 12Z" />
      </svg>,
    at: <svg width="20" height="20" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth="1.5">
        <path strokeLinecap="round" strokeLinejoin="round" d="M16.5 12a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm0 0c0 1.657 1.007 3 2.25 3S21 13.657 21 12a9 9 0 1 0-2.636 6.364M16.5 12V8.25" />
      </svg>,
    handshake: <svg width="20" height="20" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth="1.5">
        <path strokeLinecap="round" strokeLinejoin="round" d="M10.05 4.575a1.575 1.575 0 1 0-3.15 0v3m3.15-3v-1.5a1.575 1.575 0 0 1 3.15 0v1.5m-3.15 0 .075 5.925m3.075.75V4.575m0 0a1.575 1.575 0 0 1 3.15 0V15M6.9 7.575a1.575 1.575 0 1 0-3.15 0v8.175a6.75 6.75 0 0 0 6.75 6.75h2.018a5.25 5.25 0 0 0 3.712-1.538l1.732-1.732a5.25 5.25 0 0 0 1.538-3.712l.003-2.024a.668.668 0 0 1 .198-.471 1.575 1.575 0 1 0-2.228-2.228 3.818 3.818 0 0 0-1.12 2.687M6.9 7.575V12m6.27 4.318A4.49 4.49 0 0 1 16.35 15m.002 0h-.002" />
      </svg>,
    'microchip-ai': <svg width="20" height="20" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth="1.5">
        <path strokeLinecap="round" strokeLinejoin="round" d="M8.25 3v1.5M4.5 8.25H3m18 0h-1.5M4.5 12H3m18 0h-1.5m-15 3.75H3m18 0h-1.5M8.25 19.5V21M12 3v1.5m0 15V21m3.75-18v1.5m0 15V21m-9-1.5h10.5a2.25 2.25 0 0 0 2.25-2.25V6.75a2.25 2.25 0 0 0-2.25-2.25H6.75A2.25 2.25 0 0 0 4.5 6.75v10.5a2.25 2.25 0 0 0 2.25 2.25Zm.75-12h9v9h-9v-9Z" />
      </svg>,
    'shield-check': <svg width="20" height="20" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth="1.5">
        <path strokeLinecap="round" strokeLinejoin="round" d="M9 12.75 11.25 15 15 9.75m-3-7.036A11.959 11.959 0 0 1 3.598 6 11.99 11.99 0 0 0 3 9.749c0 5.592 3.824 10.29 9 11.623 5.176-1.332 9-6.03 9-11.622 0-1.31-.21-2.571-.598-3.751h-.152c-3.196 0-6.1-1.248-8.25-3.285Z" />
      </svg>,
    chain: <svg width="20" height="20" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth="1.5">
        <path strokeLinecap="round" strokeLinejoin="round" d="M13.19 8.688a4.5 4.5 0 0 1 1.242 7.244l-4.5 4.5a4.5 4.5 0 0 1-6.364-6.364l1.757-1.757m13.35-.622 1.757-1.757a4.5 4.5 0 0 0-6.364-6.364l-4.5 4.5a4.5 4.5 0 0 0 1.242 7.244" />
      </svg>,
    leaf: <svg width="20" height="20" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth="1.5">
        <path strokeLinecap="round" strokeLinejoin="round" d="M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0 3.181 3.183a8.25 8.25 0 0 0 13.803-3.7M4.031 9.865a8.25 8.25 0 0 1 13.803-3.7l3.181 3.182m0-4.991v4.99" />
      </svg>,
    'chart-line': <svg width="20" height="20" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth="1.5">
        <path strokeLinecap="round" strokeLinejoin="round" d="M3.75 3v11.25A2.25 2.25 0 0 0 6 16.5h2.25M3.75 3h-1.5m1.5 0h16.5m0 0h1.5m-1.5 0v11.25A2.25 2.25 0 0 1 18 16.5h-2.25m-7.5 0h7.5m-7.5 0-1 3m8.5-3 1 3m0 0 .5 1.5m-.5-1.5h-9.5m0 0-.5 1.5M9 11.25v1.5M12 9v3.75m3-6v6" />
      </svg>,
    code: <svg width="20" height="20" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth="1.5">
        <path strokeLinecap="round" strokeLinejoin="round" d="M17.25 6.75 22.5 12l-5.25 5.25m-10.5 0L1.5 12l5.25-5.25m7.5-3-4.5 16.5" />
      </svg>,
    headset: <svg width="20" height="20" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth="1.5">
        <path strokeLinecap="round" strokeLinejoin="round" d="M2.25 6.75c0 8.284 6.716 15 15 15h2.25a2.25 2.25 0 0 0 2.25-2.25v-1.372c0-.516-.351-.966-.852-1.091l-4.423-1.106c-.44-.11-.902.055-1.173.417l-.97 1.293c-.282.376-.769.542-1.21.38a12.035 12.035 0 0 1-7.143-7.143c-.162-.441.004-.928.38-1.21l1.293-.97c.363-.271.527-.734.417-1.173L6.963 3.102a1.125 1.125 0 0 0-1.091-.852H4.5A2.25 2.25 0 0 0 2.25 4.5v2.25Z" />
      </svg>,
    filter: <svg width="20" height="20" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth="1.5">
        <path strokeLinecap="round" strokeLinejoin="round" d="M12 3c2.755 0 5.455.232 8.083.678.533.09.917.556.917 1.096v1.044a2.25 2.25 0 0 1-.659 1.591l-5.432 5.432a2.25 2.25 0 0 0-.659 1.591v2.927a2.25 2.25 0 0 1-1.244 2.013L9.75 21v-6.568a2.25 2.25 0 0 0-.659-1.591L3.659 7.409A2.25 2.25 0 0 1 3 5.818V4.774c0-.54.384-1.006.917-1.096A48.32 48.32 0 0 1 12 3Z" />
      </svg>,
    'layer-group': <svg width="20" height="20" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth="1.5">
        <path strokeLinecap="round" strokeLinejoin="round" d="M6 6.878V6a2.25 2.25 0 0 1 2.25-2.25h7.5A2.25 2.25 0 0 1 18 6v.878m-12 0c.235-.083.487-.128.75-.128h10.5c.263 0 .515.045.75.128m-12 0A2.25 2.25 0 0 0 4.5 9v.878m13.5-3A2.25 2.25 0 0 1 19.5 9v.878m0 0a2.246 2.246 0 0 0-.75-.128H5.25c-.263 0-.515.045-.75.128m15 0A2.25 2.25 0 0 1 21 12v6a2.25 2.25 0 0 1-2.25 2.25H5.25A2.25 2.25 0 0 1 3 18v-6c0-.98.626-1.813 1.5-2.122" />
      </svg>,
    bookmark: <svg width="20" height="20" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth="1.5">
        <path strokeLinecap="round" strokeLinejoin="round" d="M17.593 3.322c1.1.128 1.907 1.077 1.907 2.185V21L12 17.25 4.5 21V5.507c0-1.108.806-2.057 1.907-2.185a48.507 48.507 0 0 1 11.186 0Z" />
      </svg>,
    'share-nodes': <svg width="20" height="20" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth="1.5">
        <path strokeLinecap="round" strokeLinejoin="round" d="M9 8.25H7.5a2.25 2.25 0 0 0-2.25 2.25v9a2.25 2.25 0 0 0 2.25 2.25h9a2.25 2.25 0 0 0 2.25-2.25v-9a2.25 2.25 0 0 0-2.25-2.25H15m0-3-3-3m0 0-3 3m3-3V15" />
      </svg>,
    'file-export': <svg width="20" height="20" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth="1.5">
        <path strokeLinecap="round" strokeLinejoin="round" d="M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12 12 16.5m0 0L7.5 12m4.5 4.5V3" />
      </svg>,
    'wand-magic-sparkles': <svg width="20" height="20" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth="1.5">
        <path strokeLinecap="round" strokeLinejoin="round" d="M9.813 15.904 9 18.75l-.813-2.846a4.5 4.5 0 0 0-3.09-3.09L2.25 12l2.846-.813a4.5 4.5 0 0 0 3.09-3.09L9 5.25l.813 2.846a4.5 4.5 0 0 0 3.09 3.09L15.75 12l-2.846.813a4.5 4.5 0 0 0-3.09 3.09ZM18.259 8.715 18 9.75l-.259-1.035a3.375 3.375 0 0 0-2.455-2.456L14.25 6l1.036-.259a3.375 3.375 0 0 0 2.455-2.456L18 2.25l.259 1.035a3.375 3.375 0 0 0 2.456 2.456L21.75 6l-1.035.259a3.375 3.375 0 0 0-2.456 2.456ZM16.894 20.567 16.5 21.75l-.394-1.183a2.25 2.25 0 0 0-1.423-1.423L13.5 18.75l1.183-.394a2.25 2.25 0 0 0 1.423-1.423l.394-1.183.394 1.183a2.25 2.25 0 0 0 1.423 1.423l1.183.394-1.183.394a2.25 2.25 0 0 0-1.423 1.423Z" />
      </svg>,
    'circle-question': <svg width="20" height="20" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth="1.5">
        <path strokeLinecap="round" strokeLinejoin="round" d="M9.879 7.519c1.171-1.025 3.071-1.025 4.242 0 1.172 1.025 1.172 2.687 0 3.712-.203.179-.43.326-.67.442-.745.361-1.45.999-1.45 1.827v.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9 5.25h.008v.008H12v-.008Z" />
      </svg>,
    stairs: <svg width="20" height="20" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth="1.5">
        <path strokeLinecap="round" strokeLinejoin="round" d="M2.25 18 9 11.25l4.306 4.306a11.95 11.95 0 0 1 5.814-5.518l2.74-1.22m0 0-5.94-2.281m5.94 2.28-2.28 5.941" />
      </svg>,
    'arrow-right': <svg width="20" height="20" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth="1.5">
        <path strokeLinecap="round" strokeLinejoin="round" d="M13.5 4.5 21 12m0 0-7.5 7.5M21 12H3" />
      </svg>,
    python: <svg width="20" height="20" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth="1.5">
        <path strokeLinecap="round" strokeLinejoin="round" d="M14.25 9.75 16.5 12l-2.25 2.25m-4.5 0L7.5 12l2.25-2.25M6 20.25h12A2.25 2.25 0 0 0 20.25 18V6A2.25 2.25 0 0 0 18 3.75H6A2.25 2.25 0 0 0 3.75 6v12A2.25 2.25 0 0 0 6 20.25Z" />
      </svg>,
    'code-branch': <svg width="20" height="20" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth="1.5">
        <path strokeLinecap="round" strokeLinejoin="round" d="M17.25 6.75 22.5 12l-5.25 5.25m-10.5 0L1.5 12l5.25-5.25m7.5-3-4.5 16.5" />
      </svg>
  };
  const resolvedIcon = typeof icon === 'string' ? icons[icon] : icon;
  const Tag = href ? 'a' : 'div';
  const linkProps = href ? {
    href
  } : {};
  return <Tag {...linkProps} className="rb-card">
      <span className="rb-ch rb-ch--tl" />
      <span className="rb-ch rb-ch--tr" />
      <span className="rb-ch rb-ch--bl" />
      <span className="rb-ch rb-ch--br" />
      <div className="rb-card-header">
        {resolvedIcon && <div className="rb-card-icon">{resolvedIcon}</div>}
        <div className="rb-card-name">{title}</div>
      </div>
      {desc && <p className="rb-card-desc">{desc}</p>}
      {children && <div className={stat ? 'rb-card-stat' : 'rb-card-desc'}>{children}</div>}
      {tag && <span className="rb-card-tag">{tag}</span>}
    </Tag>;
};

## Data organization & structure

<AccordionGroup>
  <Accordion title="How is the data organized?">
    RevenueBase uses three core identifiers to track people, organizations, and the relationship between them:

    * **`RBID_PER`** — Unique person identifier. This follows the person across job changes. When someone moves to a new company, their `RBID_PER` stays the same.
    * **`RBID_ORG`** — Unique organization identifier.
    * **`RBID_PAO`** — Unique person-at-organization identifier. This is essentially `RBID_PER` combined with `RBID_ORG`, so it changes when a person moves to a new company.

    If someone holds multiple current positions, they will have **multiple rows** in the contacts table — each with a unique `RBID_PAO`, but sharing the same `RBID_PER`.
  </Accordion>

  <Accordion title="Why are RBID_ORG and RBID_PAO sometimes missing?">
    These fields may be null when a person's LinkedIn profile doesn't link to an existing company page. The company name field on LinkedIn is free text — people can type anything and may skip linking to a recognized company page. Without that link, we can't resolve the organization to a canonical `RBID_ORG`.
  </Accordion>

  <Accordion title="What are sparse or 'junk' profiles?">
    Some profiles in the dataset contain minimal information — a name and loose company association, but limited detail on title, seniority, or work history. These come from source profiles that simply contain less data. In some cases they may be incomplete or low-quality.

    **The strongest indicator that a person genuinely belongs to an organization is a valid company email address.** If a sparse profile has a verified email at the company domain, treat it as reliable. If it has no verified email, treat the association with lower confidence. See [Data Freshness & Quality](/docs/data-features/data-freshness/data-freshness) for more on assessing record quality.
  </Accordion>
</AccordionGroup>

## Data delivery & access

<AccordionGroup>
  <Accordion title="What data delivery methods are available?">
    RevenueBase supports three delivery methods:

    * **Snowflake Data Sharing** — We share tables directly to your Snowflake account. No data movement required; query in place.
    * **AWS S3 bucket** — We deliver files to an S3 bucket (either one we provision for you, or your own). Access via AWS CLI.
    * **Gigasheet** — Browser-based spreadsheet UI for searching, filtering, and exporting data without code.

    Azure Blob Storage and Google Cloud Storage delivery are available on request. Contact your RevenueBase account representative to set up these delivery methods.

    For setup instructions, see the [Quickstart](/docs/getting-started/snowflake).
  </Accordion>

  <Accordion title="How do I access my AWS Account ID?">
    <iframe src="https://scribehow.com/embed/Accessing_Your_AWS_Account_ID__nhNyJoXKRky8G-VdcErFrw" width="800" height="679" allow="fullscreen" style={{ aspectRatio: "1 / 1", border: 0, minHeight: "480px" }} />
  </Accordion>

  <Accordion title="How do I access my Snowflake Account ID?">
    <iframe src="https://scribehow.com/embed/Accessing_Your_Snowflake_Account_ID__wKZQGdYPT4CLpce72ZjWAw" width="800" height="679" allow="fullscreen" style={{ aspectRatio: "1 / 1", border: 0, minHeight: "480px" }} />
  </Accordion>

  <Accordion title="What file formats are supported for S3 delivery?">
    RevenueBase supports sending dynamic feeds in three formats: **CSV**, **JSON**, and **Parquet**. When you get access to the data in S3, you get access to all three formats.

    * **CSV** — Best for spreadsheet tools, SQL imports, and lightweight pipelines
    * **JSON** — Best for programmatic ingestion and nested data structures
    * **Parquet** — Best for high-performance analytics and columnar query engines. Read more in <a href="https://parquet.apache.org/docs/" target="_blank" rel="noopener noreferrer">Parquet's official documentation</a>.
  </Accordion>

  <Accordion title="How do I access the Snowflake share?">
    Once we've provisioned the share:

    1. Navigate to **Data Sharing → Private Sharing** in the left panel of the Snowflake UI
    2. Click on the incoming share tabs (e.g., `RELEASES_EXT_SHARE` or `RELEASES_RAW_SHARE`)
    3. Click **Get Data** to add the shared database to your account

    This creates a `RELEASES` database in your Snowflake account containing the shared tables. See the [Quickstart](/docs/getting-started/snowflake) for detailed setup steps.
  </Accordion>

  <Accordion title="How do I get data feed credentials?">
    Feed credentials are separate from your API key. In the <a href="https://app.revenuebase.ai/dashboard" target="_blank" rel="noopener noreferrer">dashboard</a>, open **Settings** → **Data Feeds** to see connection details and credentials.
  </Accordion>

  <Accordion title="Will credentials and paths stay the same across deliveries?">
    Yes. For S3 deliveries, your bucket name and access credentials are permanent — they don't change between monthly releases.

    Each delivery creates a new date-stamped folder following this path structure:

    ```
    <delivery_date>/<dataset_name>/<file_format>/
    ```

    * `delivery_date` — Date of delivery in `YYYYMMDD` format
    * `dataset_name` — Depends on your subscription (e.g., `per`, `org`)
    * `file_format` — One of `json`, `csv`, or `parquet`

    Previous deliveries remain accessible at their original paths and are never overwritten.
  </Accordion>
</AccordionGroup>

## Data updates & refresh

<AccordionGroup>
  <Accordion title="When is the data refreshed?">
    New data releases target the **1st of each month**. Depending on weekends, the actual date may shift by ±2–3 days. We send an email notification when new data is posted and ready.
  </Accordion>

  <Accordion title="What is the verification cadence?">
    Two verification cycles run in parallel:

    * **Profile verification** — 95% of profiles are re-verified every **90 days**. "Re-verified" means the source profile was accessible and we were able to confirm or update at least the core profile information (name, title, company, location). Check the `updated_at` field for the most recent verification date on any record.
    * **Email verification** — All email addresses are re-verified every **60 days**. Check the `email_last_verified_at` field. A valid email is a strong signal that the associated work experience is still current.

    See [Data Freshness & Quality](/docs/data-features/data-freshness/data-freshness) for the full explanation of how verification works.
  </Accordion>

  <Accordion title="Why are some profiles outdated or not recently updated?">
    Profiles may have older `updated_at` dates for several reasons:

    * **Source accessibility issues** — The profile returned a 404 or was temporarily unreachable during the verification pass. Profiles that remain inaccessible for one year are deprecated and removed from the dataset.
    * **Platform scraping protections** — LinkedIn periodically hides full profiles or experience sections from public view. This affects random profiles and can last days to months.
    * **Delayed updates by individuals** — People often change jobs weeks or months before updating their profiles. Someone who starts a new role in May might not update LinkedIn until September, and we'd capture that change in October or November.

    See [Data Freshness & Quality](/docs/data-features/data-freshness/data-freshness) for detailed guidance on working with these records.
  </Accordion>
</AccordionGroup>

## Company data & verification

<AccordionGroup>
  <Accordion title="How is 'claimed page' status calculated?">
    We detect whether a LinkedIn company page appears to be actively managed by checking for custom content such as a logo, website address, company size, and description.

    This method is not 100% accurate. Some pages may have extensive information (phone numbers, addresses, founding dates) but still appear unclaimed. The challenge is that checking pages without being logged in doesn't show LinkedIn's unclaimed banner, so our system relies on indirect signals. We're actively improving the accuracy of this detection.
  </Accordion>

  <Accordion title="Why do logo URLs return 403 errors?">
    LinkedIn periodically rotates logo URLs to protect their assets. Updated URLs are included in each monthly data refresh, though they may eventually face the same issue.

    The most reliable solution is to **build a logo cache on your end** and populate it incrementally with each delivery. This way you maintain persistent access regardless of URL rotation.
  </Accordion>
</AccordionGroup>

## API

<AccordionGroup>
  <Accordion title="How do I get an API key?">
    Sign in to the <a href="https://app.revenuebase.ai/dashboard" target="_blank" rel="noopener noreferrer">RevenueBase dashboard</a>, go to **Settings** → **API Keys**, and click **Create API key**. Copy and store the key securely. You can view and copy your API key anytime from **Settings** → **API Keys** in the dashboard.
  </Accordion>

  <Accordion title="Why do I get 401 Unauthorized?">
    Check that you are sending the key in the **x-key** header (not `Authorization`). Ensure the key is correct and has not been revoked.
  </Accordion>

  <Accordion title="Why do I get 429 Too Many Requests?">
    You have exceeded the rate limit. Wait for the window to reset or implement exponential backoff. See [Rate limits and error codes](/api-reference/rate-limits).
  </Accordion>

  <Accordion title="What does 422 Validation Error mean?">
    The request body or parameters failed validation. The response `detail` array lists each invalid field and message. Fix those fields and retry.
  </Accordion>
</AccordionGroup>

## Troubleshooting

### Data feeds

<AccordionGroup>
  <Accordion title="I can't connect to the data feed.">
    Verify host, port, and TLS settings. Ensure you are using the feed username and password, not the API key. Check firewall and network rules.
  </Accordion>

  <Accordion title="A table or column is missing.">
    Table and schema access depend on your plan. Confirm the table name and schema (e.g., `public`) and check the [Tables & Schemas](/docs/data-feeds/overview) and table pages ([Person](/docs/data-features/data-tables/person), [Organization](/docs/data-features/data-tables/organization), [Insight](/docs/data-features/data-tables/insight)).
  </Accordion>

  <Accordion title="InvalidAccessPointAlias error (S3)">
    This error typically occurs when using the **AWS Console** instead of the **AWS CLI**, or when the region is misconfigured.

    * Use the **AWS CLI** — the Console web UI does not support `--request-payer` and will return access errors
    * Confirm you're targeting the correct region in your CLI command
    * Verify your AWS account has been linked to the RevenueBase bucket

    If the issue persists, contact **[support@revenuebase.ai](mailto:support@revenuebase.ai)**.
  </Accordion>

  <Accordion title="Access Denied or bucket not found (S3)">
    * Double-check that you're including `--request-payer requester` in your CLI command
    * Verify your AWS credentials are configured correctly (`aws configure`)
    * Ensure the bucket alias or ARN is copied exactly as provided — typos in the access point name are common
  </Accordion>

  <Accordion title="Snowflake share not visible">
    * Confirm your Snowflake account locator and region match what was provided to RevenueBase during onboarding. See <a href="https://docs.snowflake.com/en/user-guide/admin-account-identifier" target="_blank" rel="noopener noreferrer">Snowflake's account identifier documentation</a> for where to find this.
    * Check the **Data Sharing** area in the Snowflake UI for the RevenueBase incoming share
    * If you recently onboarded, allow up to 24 hours for the share to propagate
  </Accordion>

  <Accordion title="Missing RBID_ORG or RBID_PAO fields">
    These fields may be null when a person's LinkedIn profile doesn't link to a company page. The company name on LinkedIn is free text, so some profiles will not have a resolvable organization ID. A valid company email is the strongest indicator that the person-organization association is accurate.
  </Accordion>
</AccordionGroup>

### Gigasheet

<AccordionGroup>
  <Accordion title="Can multiple users log in with the same email?">
    No. This breaks the system. Each user must have their own individual email account on a business domain. If you have multiple business domains, you must use the email your account was originally created with — otherwise you won't have the correct account permissions.
  </Accordion>

  <Accordion title="Who do I contact for Gigasheet UI issues?">
    Contact **[support@gigasheet.com](mailto:support@gigasheet.com)** for slow load times, exports not working, or adding/removing users.
  </Accordion>

  <Accordion title="Who do I contact for data or use-case questions?">
    Contact your **RevenueBase Account Manager** or **[support@revenuebase.ai](mailto:support@revenuebase.ai)** for questions about your data or how to use the platform.
  </Accordion>
</AccordionGroup>

## Still have questions?

<RBCardGroup cols={2}>
  <RBCard title="Data Freshness & Quality" icon="chart-line" href="/docs/data-features/data-freshness/data-freshness" desc="How verification works, why records become stale, and how to assess quality programmatically." />

  <RBCard title="API Reference & Playground" icon="code" href="/api-reference/overview" desc="Full API documentation, endpoint reference, and interactive playground." />

  <RBCard title="Get Support" icon="headset" href="mailto:support@revenuebase.ai" desc="Email support@revenuebase.ai for help from the RevenueBase team." />
</RBCardGroup>
