# Getting Started

<p style="font-size: 18px; color: #888; margin-top: 0;">Make your first API call in minutes.</p>

<p>This guide walks you through everything you need to authenticate and send your first request to our API.</p>

<hr style="border: 0; border-top: 1px solid rgba(128, 128, 128, 0.2); margin: 32px 0;" />

<h2 style="margin-bottom: 8px;">Step 1 — Get your API Key</h2>

<p>All requests to our API require authentication. Your API key is available inside your <strong>Dashboard</strong>.</p>

<ol>
  <li>Don't have an account yet? <a href="https://lead.springbolt.app/join/workspace" style="color: #03C9B2;">Create one here</a></li>
  <li>Log into your <a href="https://lead.springbolt.app/login" style="color: #03C9B2;"><strong>Dashboard</strong></a></li>
  <li>Navigate to <strong>Settings → API Access</strong></li>
  <li>Copy your active API key</li>
</ol>

<div style="background: rgba(3,201,178,0.08); border-left: 4px solid #03C9B2; border-radius: 8px; padding: 16px 20px; margin: 24px 0;">
  <div style="display:flex; align-items:center; gap:8px; margin-bottom:6px;">
    <span style="font-size:16px;">⚠️</span>
    <strong style="color:#03C9B2; font-size:13px; letter-spacing:0.05em;">IMPORTANT</strong>
  </div>
  <p style="margin:0; font-size:14px;">Keep your API key secret. Never expose it in client-side code or public repositories.</p>
</div>

<hr style="border: 0; border-top: 1px solid rgba(128, 128, 128, 0.2); margin: 32px 0;" />

<h2 style="margin-bottom: 8px;">Step 2 — Authenticate your request</h2>

<p>We use <strong>Bearer Authentication</strong>. Include your API key in the <code>Authorization</code> header of every HTTP request:</p>

```bash
Authorization: Bearer YOUR_API_KEY
```

<hr style="border: 0; border-top: 1px solid rgba(128, 128, 128, 0.2); margin: 32px 0;" />

<h2 style="margin-bottom: 8px;">Step 3 — Make your first request</h2>

<p>The example below calls the <strong>Enrichment API</strong> to retrieve a full contact profile from a LinkedIn URL:</p>

```bash
curl --location --request POST 'https://api.lead.springbolt.app/lead/enrichment' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
  "linkedin_url": "https://www.linkedin.com/in/johndoe"
}'
```

<hr style="border: 0; border-top: 1px solid rgba(128, 128, 128, 0.2); margin: 32px 0;" />

<h2 style="margin-bottom: 16px;">Step 4 — Handle the response</h2>

<p>A successful request returns a <code>200 OK</code> with the resolved contact data. If something goes wrong, the API returns a structured error object. Always check the response status before processing the payload.</p>

<div style="display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-top: 24px;">

  <div style="background: rgba(3,201,178,0.08); border-left: 4px solid #03C9B2; border-radius: 8px; padding: 16px 20px;">
    <div style="display:flex; align-items:center; gap:8px; margin-bottom:6px;">
      <span style="font-size:16px;">✅</span>
      <strong style="color:#03C9B2; font-size:13px; letter-spacing:0.05em;">200 — SUCCESS</strong>
    </div>
    <p style="margin:0; font-size:14px;">The request was processed and the resolved data is returned in the response body.</p>
  </div>

  <div style="background: rgba(3,201,178,0.08); border-left: 4px solid #03C9B2; border-radius: 8px; padding: 16px 20px;">
    <div style="display:flex; align-items:center; gap:8px; margin-bottom:6px;">
      <span style="font-size:16px;">🔒</span>
      <strong style="color:#03C9B2; font-size:13px; letter-spacing:0.05em;">401 — UNAUTHORIZED</strong>
    </div>
    <p style="margin:0; font-size:14px;">Your API key is missing or invalid. Check your <code>Authorization</code> header.</p>
  </div>

  <div style="background: rgba(3,201,178,0.08); border-left: 4px solid #03C9B2; border-radius: 8px; padding: 16px 20px;">
    <div style="display:flex; align-items:center; gap:8px; margin-bottom:6px;">
      <span style="font-size:16px;">⚡</span>
      <strong style="color:#03C9B2; font-size:13px; letter-spacing:0.05em;">429 — RATE LIMITED</strong>
    </div>
    <p style="margin:0; font-size:14px;">You have exceeded the allowed request rate. Wait before retrying.</p>
  </div>

  <div style="background: rgba(3,201,178,0.08); border-left: 4px solid #03C9B2; border-radius: 8px; padding: 16px 20px;">
    <div style="display:flex; align-items:center; gap:8px; margin-bottom:6px;">
      <span style="font-size:16px;">🛠️</span>
      <strong style="color:#03C9B2; font-size:13px; letter-spacing:0.05em;">500 — SERVER ERROR</strong>
    </div>
    <p style="margin:0; font-size:14px;">Something went wrong on our end. If this persists, please contact support.</p>
  </div>

</div>

<hr style="border: 0; border-top: 1px solid rgba(128, 128, 128, 0.2); margin: 32px 0;" />

<h2 id="try-it-in-postman" style="margin-bottom: 8px;">Try it in Postman</h2>

<p>Fork our public collection and start making requests immediately with pre-configured examples for every endpoint.</p>

<a id="run-in-postman" href="https://www.postman.com/springboltgroup-9347064/springbolt-group-s-workspace" target="_blank" style="
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background-color: rgba(3,201,178,0.08);
  color: #03C9B2;
  border: 1px solid #03C9B2;
  padding: 6px 14px;
  border-radius: 5px;
  font-weight: 500;
  font-size: 13px;
  text-decoration: none;
  font-family: inherit;
">
  ▶ Run in Postman
</a>

<hr style="border: 0; border-top: 1px solid rgba(128, 128, 128, 0.2); margin: 32px 0;" />

<h2 id="next-steps" style="margin-bottom: 16px;">Next steps</h2>

<p>Now that you have made your first request, explore the rest of the API:</p>

<ul>
  <li><strong>Deanonymization</strong> — Identify anonymous visitors on your website</li>
  <li><strong>LinkedIn to Phone</strong> — Retrieve phone numbers from LinkedIn profiles</li>
  <li><strong>IP to Company</strong> — Resolve company data from an IP address</li>
  <li><strong>Keyword to Lead</strong> — Generate lead lists from keywords or topics</li>
</ul>
