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

# Quickstart

> Make your first API call in minutes

## Get started in three steps

Learn how to authenticate and make your first API request to Stover.

### Step 1: Get your API key

<AccordionGroup>
  <Accordion icon="key" title="Generate an API key">
    1. Log in to your [Stover Dashboard](https://dashboard.stover.app)
    2. Navigate to **Settings** > **API Keys**
    3. Click **Generate New Key**
    4. Copy your API key (it starts with `stover_pk_`)

    <Warning>Store your API key securely. It will only be shown once.</Warning>
  </Accordion>
</AccordionGroup>

### Step 2: Make your first request

<AccordionGroup>
  <Accordion icon="code" title="Create a contact">
    Use your API key to create a new contact:

    <CodeGroup>
      ```bash cURL theme={null}
      curl -X POST https://api.stover.app/v1/contacts \
        -H "Authorization: Bearer stover_pk_your_api_key" \
        -H "Content-Type: application/json" \
        -d '{
          "first_name": "Jane",
          "last_name": "Doe",
          "email": "jane@example.com",
          "company": "Acme Inc",
          "utm_source": "website",
          "utm_medium": "contact_form"
        }'
      ```

      ```javascript JavaScript theme={null}
      const response = await fetch('https://api.stover.app/v1/contacts', {
        method: 'POST',
        headers: {
          'Authorization': 'Bearer stover_pk_your_api_key',
          'Content-Type': 'application/json'
        },
        body: JSON.stringify({
          first_name: 'Jane',
          last_name: 'Doe',
          email: 'jane@example.com',
          company: 'Acme Inc',
          utm_source: 'website',
          utm_medium: 'contact_form'
        })
      });

      const data = await response.json();
      console.log(data);
      ```

      ```python Python theme={null}
      import requests

      response = requests.post(
          'https://api.stover.app/v1/contacts',
          headers={
              'Authorization': 'Bearer stover_pk_your_api_key',
              'Content-Type': 'application/json'
          },
          json={
              'first_name': 'Jane',
              'last_name': 'Doe',
              'email': 'jane@example.com',
              'company': 'Acme Inc',
              'utm_source': 'website',
              'utm_medium': 'contact_form'
          }
      )

      print(response.json())
      ```
    </CodeGroup>
  </Accordion>

  <Accordion icon="check" title="Response">
    A successful response returns the created contact:

    ```json theme={null}
    {
      "success": true,
      "data": {
        "id": "550e8400-e29b-41d4-a716-446655440000",
        "first_name": "Jane",
        "last_name": "Doe",
        "email": "jane@example.com",
        "company": "Acme Inc",
        "utm_source": "website",
        "utm_medium": "contact_form",
        "created_at": "2024-01-15T10:30:00Z"
      }
    }
    ```
  </Accordion>
</AccordionGroup>

### Step 3: Explore the API

<AccordionGroup>
  <Accordion icon="book" title="Read the documentation">
    Now that you've made your first request, explore the full API:

    * [Authentication](/authentication) - Learn about API key authentication and public mode
    * [Contacts API](/api-reference/contacts/create) - Create contacts with attribution tracking
    * [Posts API](/api-reference/posts/overview) - Publish to social media platforms
    * [Webhooks](/api-reference/webhooks/receive) - Receive external webhooks
  </Accordion>
</AccordionGroup>

## Next steps

<CardGroup cols={2}>
  <Card title="Authentication" icon="lock" href="/authentication">
    Learn about authenticated vs public modes.
  </Card>

  <Card title="Contacts API" icon="address-book" href="/api-reference/contacts/create">
    Full documentation for contact creation.
  </Card>

  <Card title="Posts API" icon="share-nodes" href="/api-reference/posts/overview">
    Publish content across platforms.
  </Card>

  <Card title="Error Handling" icon="triangle-exclamation" href="/api-reference/introduction#error-handling">
    Handle API errors gracefully.
  </Card>
</CardGroup>

<Note>
  **Need help?** Contact us at [support@stover.app](mailto:support@stover.app).
</Note>
