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

# Quick Start

> Create your PingBack account, set up your workspace, and handle your first customer conversation.

This guide walks you through registering, logging in, creating your workspace, and receiving your first customer message — all in under ten minutes.

<Steps>
  <Step title="Register an account">
    Send a `POST` request to create your PingBack account. You need an email address, your full name, and a password of at least 8 characters.

    ```bash theme={null}
    curl -X POST https://api.pingback.live/api/v1/auth/register \
      -H "Content-Type: application/json" \
      -d '{
        "email": "you@example.com",
        "full_name": "Ada Lovelace",
        "password": "supersecret123"
      }'
    ```

    **Response**

    ```json theme={null}
    {
      "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
      "token_type": "bearer"
    }
    ```

    <Note>
      Save the `access_token` from the response. You'll use it to authenticate every subsequent request.
    </Note>
  </Step>

  <Step title="Log in to get your Bearer token">
    If you already have an account, log in with your email and password to receive a fresh token.

    ```bash theme={null}
    curl -X POST https://api.pingback.live/api/v1/auth/login \
      -H "Content-Type: application/json" \
      -d '{
        "email": "you@example.com",
        "password": "supersecret123"
      }'
    ```

    **Response**

    ```json theme={null}
    {
      "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
      "token_type": "bearer"
    }
    ```

    Pass this token as a `Bearer` header on every API call:

    ```
    Authorization: Bearer <your_access_token>
    ```
  </Step>

  <Step title="Create your business workspace">
    Before you can receive conversations, you need a workspace. Call `POST /api/v1/auth/business/create` with your business details.

    ```bash theme={null}
    curl -X POST https://api.pingback.live/api/v1/auth/business/create \
      -H "Authorization: Bearer <your_access_token>" \
      -H "Content-Type: application/json" \
      -d '{
        "name": "Acme Support",
        "website": "https://acme.com",
        "industry": "E-commerce",
        "team_size": "1-10",
        "goal": "Improve customer response time"
      }'
    ```

    **Response**

    ```json theme={null}
    {
      "user": {
        "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "email": "you@example.com",
        "full_name": "Ada Lovelace",
        "is_verified": true,
        "is_google_account": false,
        "avatar_url": null
      },
      "business": {
        "id": "8e4a1b2c-3d5f-4e6a-9b7c-1d2e3f4a5b6c",
        "name": "Acme Support",
        "website": "https://acme.com",
        "industry": "E-commerce",
        "team_size": "1-10",
        "goal": "Improve customer response time",
        "created_at": "2026-04-05T10:00:00Z"
      },
      "onboarding_complete": true,
      "team_role": "owner"
    }
    ```

    <Note>
      Only `name` is required. Fields like `website`, `industry`, `team_size`, and `goal` are optional but help PingBack personalize your experience.
    </Note>
  </Step>

  <Step title="Embed the web widget or connect a channel">
    With your workspace ready, add a support channel so customers can reach you.

    **Web widget (fastest option)**

    Create a widget for your domain, then paste the generated script tag into your website's `<head>`:

    ```bash theme={null}
    curl -X POST https://api.pingback.live/api/v1/widget/create \
      -H "Authorization: Bearer <your_access_token>" \
      -H "Content-Type: application/json" \
      -d '{
        "domain": "acme.com",
        "name": "Acme Support",
        "welcome_heading": "Hi there!",
        "welcome_tagline": "Ask us anything — we usually reply in minutes.",
        "primary_color": "#7650FF"
      }'
    ```

    **Other channels**

    You can also connect WhatsApp, Telegram, Instagram, X, or email from **Settings → Channels** in the PingBack dashboard, or via the `POST /api/v1/channels` endpoint.
  </Step>

  <Step title="Send your first message">
    Test the full flow by sending a message as a customer. Use the Socket.IO `client_message` event from your widget, or create a conversation directly via the API:

    ```bash theme={null}
    curl -X POST https://api.pingback.live/api/v1/conversations/ \
      -H "Authorization: Bearer <your_access_token>" \
      -H "Content-Type: application/json" \
      -d '{
        "business_id": "8e4a1b2c-3d5f-4e6a-9b7c-1d2e3f4a5b6c",
        "initial_message": "Hello, I need help with my order."
      }'
    ```

    **Response**

    ```json theme={null}
    {
      "id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
      "business_id": "8e4a1b2c-3d5f-4e6a-9b7c-1d2e3f4a5b6c",
      "status": "open",
      "channel_type": "widget",
      "created_at": "2026-04-05T10:05:00Z",
      "messages": [
        {
          "id": "f6a7b8c9-d0e1-2345-fabc-456789012345",
          "sender_type": "agent",
          "content": "Hello, I need help with my order.",
          "attachments": [],
          "created_at": "2026-04-05T10:05:00Z"
        }
      ]
    }
    ```

    The conversation appears instantly in your PingBack inbox. Your team — and Theo, the AI assistant — can pick it up from there.
  </Step>
</Steps>

## Next steps

* [Authentication](/authentication) — learn how tokens work and how to handle expiry.
* [Channels](/channels/web-widget) — configure your web widget or connect a messaging channel.
* [Realtime & Socket.IO](/realtime/socketio) — receive live messages and typing indicators in your app.
