AlterLabAlterLab
PricingComparePlaygroundBlogDocsChangelog
    AlterLabAlterLab
    PricingComparePlaygroundBlogDocsChangelog
    IntroductionQuickstartInstallationYour First Request
    REST APIJob PollingAPI KeysSessions APINew
    OverviewPythonNode.js
    JavaScript RenderingOutput FormatsPDF & OCRCachingWebhooksJSON Schema FilteringWebSocket Real-TimeBring Your Own ProxyProAuthenticated ScrapingNewWeb CrawlingBatch ScrapingSchedulerChange DetectionCloud Storage ExportSpend LimitsOrganizations & TeamsAlerts & Notifications
    Structured ExtractionAIE-commerce ScrapingNews MonitoringPrice MonitoringMulti-Page CrawlingMonitoring DashboardAI Agent / MCPMCPData Pipeline to Cloud
    PricingRate LimitsError Codes
    From FirecrawlFrom ApifyFrom ScrapingBee / ScraperAPIFirecrawl v0 API ReferenceLegacy
    PlaygroundPricingStatus
    API Reference
    Auto-generated

    Auth

    API reference for auth endpoints.

    Auto-generated

    This page was generated from the OpenAPI spec. Runmake generate-docs to refresh after spec changes.

    DELETE /api/v1/auth/account

    DELETE
    /api/v1/auth/account

    Delete Account

    Parameters

    NameTypeRequiredDescription
    passwordstringOptionalpassword
    confirmbooleanOptionalConfirmDefault: False

    Request Example

    Bash
    curl -X DELETE https://api.alterlab.io/api/v1/auth/account \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json"

    Response Example

    JSON
    {
      "status": "ok"
    }

    POST /api/v1/auth/add-password

    POST
    /api/v1/auth/add-password

    Add Password

    Parameters

    NameTypeRequiredDescription
    passwordstring
    Required
    Password

    Request Example

    Bash
    curl -X POST https://api.alterlab.io/api/v1/auth/add-password \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "password": "example_password"
      }'

    Response Example

    JSON
    {
      "message": "example"
    }

    POST /api/v1/auth/change-password

    POST
    /api/v1/auth/change-password

    Change Password

    Parameters

    NameTypeRequiredDescription
    current_passwordstring
    Required
    Current Password
    new_passwordstring
    Required
    New Password

    Request Example

    Bash
    curl -X POST https://api.alterlab.io/api/v1/auth/change-password \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "current_password": "example_current_password",
        "new_password": "example_new_password"
      }'

    Response Example

    JSON
    {
      "status": "ok"
    }

    POST /api/v1/auth/check-email

    POST
    /api/v1/auth/check-email

    Check Email

    Parameters

    NameTypeRequiredDescription
    emailstring
    Required
    Email

    Request Example

    Bash
    curl -X POST https://api.alterlab.io/api/v1/auth/check-email \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "email": "example_email"
      }'

    Response Example

    JSON
    {
      "exists": true,
      "has_password": true
    }

    GET /api/v1/auth/check-email-exists

    GET
    /api/v1/auth/check-email-exists

    Check Email Provider

    Parameters

    NameTypeRequiredDescription
    emailstring
    Required
    email

    Request Example

    Bash
    curl -X GET 'https://api.alterlab.io/api/v1/auth/check-email-exists?email=<email>' \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json"

    Response Example

    JSON
    {
      "status": "ok"
    }

    POST /api/v1/auth/complete-signup

    POST
    /api/v1/auth/complete-signup

    Complete Signup

    Parameters

    NameTypeRequiredDescription
    emailstring
    Required
    Email
    codestring
    Required
    Code
    device_fingerprintobjectOptionalDevice fingerprint data collected from client.
    attributionobjectOptionalFirst-touch attribution data captured at signup. All fields are optional strings — the frontend sends whatever it has. Values are sanitized (HTML stripped, max 500 chars each).
    anonymous_idstringOptionalanonymous_id

    Request Example

    Bash
    curl -X POST https://api.alterlab.io/api/v1/auth/complete-signup \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "email": "example_email",
        "code": "example_code"
      }'

    Response Example

    JSON
    {
      "status": "ok"
    }

    POST /api/v1/auth/forgot-password

    POST
    /api/v1/auth/forgot-password

    Forgot Password

    Parameters

    NameTypeRequiredDescription
    emailstring
    Required
    Email

    Request Example

    Bash
    curl -X POST https://api.alterlab.io/api/v1/auth/forgot-password \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "email": "example_email"
      }'

    Response Example

    JSON
    {
      "message": "example"
    }

    POST /api/v1/auth/initiate-signup

    POST
    /api/v1/auth/initiate-signup

    Initiate Signup

    Parameters

    NameTypeRequiredDescription
    emailstring
    Required
    Email
    passwordstring
    Required
    Password
    namestringOptionalname
    device_fingerprintobjectOptionalDevice fingerprint data collected from client.
    attributionobjectOptionalFirst-touch attribution data captured at signup. All fields are optional strings — the frontend sends whatever it has. Values are sanitized (HTML stripped, max 500 chars each).

    Request Example

    Bash
    curl -X POST https://api.alterlab.io/api/v1/auth/initiate-signup \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "email": "example_email",
        "password": "example_password"
      }'

    Response Example

    JSON
    {
      "message": "example",
      "email": "example",
      "expires_in_minutes": 0
    }

    GET /api/v1/auth/linked-accounts

    GET
    /api/v1/auth/linked-accounts

    Get Linked Accounts

    Request Example

    Bash
    curl -X GET https://api.alterlab.io/api/v1/auth/linked-accounts \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json"

    Response Example

    JSON
    {
      "accounts": [],
      "primary_method": "example",
      "has_password": true
    }

    POST /api/v1/auth/linked-accounts/callback

    POST
    /api/v1/auth/linked-accounts/callback

    Complete Link

    Parameters

    NameTypeRequiredDescription
    statestring
    Required
    State
    providerstring
    Required
    Provider
    provider_account_idstring
    Required
    Provider Account Id
    provider_emailstringOptionalprovider_email
    display_namestringOptionaldisplay_name
    avatar_urlstringOptionalavatar_url

    Request Example

    Bash
    curl -X POST https://api.alterlab.io/api/v1/auth/linked-accounts/callback \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "state": "example_state",
        "provider": "example_provider",
        "provider_account_id": "example_provider_account_id"
      }'

    Response Example

    JSON
    {
      "status": "ok"
    }

    POST /api/v1/auth/linked-accounts/complete

    POST
    /api/v1/auth/linked-accounts/complete

    Complete Link Public

    Parameters

    NameTypeRequiredDescription
    statestring
    Required
    State
    providerstring
    Required
    Provider
    provider_account_idstring
    Required
    Provider Account Id
    provider_emailstringOptionalprovider_email
    display_namestringOptionaldisplay_name
    avatar_urlstringOptionalavatar_url

    Request Example

    Bash
    curl -X POST https://api.alterlab.io/api/v1/auth/linked-accounts/complete \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "state": "example_state",
        "provider": "example_provider",
        "provider_account_id": "example_provider_account_id"
      }'

    Response Example

    JSON
    {
      "status": "ok"
    }

    POST /api/v1/auth/linked-accounts/initiate

    POST
    /api/v1/auth/linked-accounts/initiate

    Initiate Link

    Parameters

    NameTypeRequiredDescription
    providerstring
    Required
    Provider

    Request Example

    Bash
    curl -X POST https://api.alterlab.io/api/v1/auth/linked-accounts/initiate \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "provider": "example_provider"
      }'

    Response Example

    JSON
    {
      "auth_url": "example",
      "state": "example"
    }

    DELETE /api/v1/auth/linked-accounts/{provider}

    DELETE
    /api/v1/auth/linked-accounts/{provider}

    Unlink Account

    Parameters

    NameTypeRequiredDescription
    providerstring
    Required
    provider

    Request Example

    Bash
    curl -X DELETE https://api.alterlab.io/api/v1/auth/linked-accounts/<provider> \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json"

    Response Example

    JSON
    {
      "message": "example",
      "remaining_methods": 0
    }

    POST /api/v1/auth/login

    POST
    /api/v1/auth/login

    Login

    Parameters

    NameTypeRequiredDescription
    emailstring
    Required
    Email
    passwordstring
    Required
    Password

    Request Example

    Bash
    curl -X POST https://api.alterlab.io/api/v1/auth/login \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "email": "example_email",
        "password": "example_password"
      }'

    Response Example

    JSON
    {
      "id": "example",
      "email": "example",
      "name": "example",
      "email_verified": true,
      "is_admin": true,
      "session_token": "example"
    }

    GET /api/v1/auth/login-history

    GET
    /api/v1/auth/login-history

    Get Login History

    Parameters

    NameTypeRequiredDescription
    limitintegerOptionallimitDefault: 10

    Request Example

    Bash
    curl -X GET https://api.alterlab.io/api/v1/auth/login-history \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json"

    Response Example

    JSON
    {
      "status": "ok"
    }

    GET /api/v1/auth/me

    GET
    /api/v1/auth/me

    Get Current User

    Request Example

    Bash
    curl -X GET https://api.alterlab.io/api/v1/auth/me \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json"

    Response Example

    JSON
    {
      "id": "example",
      "email": "example",
      "name": "example",
      "avatar_url": "example",
      "created_at": "example",
      "subscription_tier": "example"
    }

    POST /api/v1/auth/oauth-signin

    POST
    /api/v1/auth/oauth-signin

    Oauth Signin

    Parameters

    NameTypeRequiredDescription
    emailstring
    Required
    Email
    namestringOptionalname
    providerstring
    Required
    Provider
    provider_account_idstring
    Required
    Provider Account Id
    avatar_urlstringOptionalavatar_url
    device_fingerprintobjectOptionalDevice fingerprint data collected from client.
    attributionobjectOptionalFirst-touch attribution data captured at signup. All fields are optional strings — the frontend sends whatever it has. Values are sanitized (HTML stripped, max 500 chars each).
    anonymous_idstringOptionalanonymous_id

    Request Example

    Bash
    curl -X POST https://api.alterlab.io/api/v1/auth/oauth-signin \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "email": "example_email",
        "provider": "example_provider",
        "provider_account_id": "example_provider_account_id"
      }'

    Response Example

    JSON
    {
      "id": "example",
      "email": "example",
      "name": "example",
      "email_verified": true,
      "is_admin": true,
      "session_token": "example"
    }

    POST /api/v1/auth/onboarding-event

    POST
    /api/v1/auth/onboarding-event

    Record Onboarding Event

    Parameters

    NameTypeRequiredDescription
    event"completed" | "skipped"
    Required
    Event
    at_stepintegerOptionalat_step

    Request Example

    Bash
    curl -X POST https://api.alterlab.io/api/v1/auth/onboarding-event \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "event": "..."
      }'

    Response Example

    JSON
    {
      "status": "ok"
    }

    GET /api/v1/auth/profile

    GET
    /api/v1/auth/profile

    Get Profile

    Request Example

    Bash
    curl -X GET https://api.alterlab.io/api/v1/auth/profile \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json"

    Response Example

    JSON
    {
      "id": "example",
      "email": "example",
      "name": "example",
      "avatar_url": "example",
      "created_at": "example",
      "subscription_tier": "example"
    }

    PATCH /api/v1/auth/profile

    PATCH
    /api/v1/auth/profile

    Update Profile

    Parameters

    NameTypeRequiredDescription
    namestringOptionalname
    emailstringOptionalemail

    Request Example

    Bash
    curl -X PATCH https://api.alterlab.io/api/v1/auth/profile \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json"

    Response Example

    JSON
    {
      "id": "example",
      "email": "example",
      "name": "example",
      "avatar_url": "example",
      "created_at": "example",
      "subscription_tier": "example"
    }

    POST /api/v1/auth/reset-password

    POST
    /api/v1/auth/reset-password

    Reset Password

    Parameters

    NameTypeRequiredDescription
    tokenstring
    Required
    Token
    new_passwordstring
    Required
    New Password

    Request Example

    Bash
    curl -X POST https://api.alterlab.io/api/v1/auth/reset-password \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "token": "example_token",
        "new_password": "example_new_password"
      }'

    Response Example

    JSON
    {
      "message": "example"
    }

    GET /api/v1/auth/security-overview

    GET
    /api/v1/auth/security-overview

    Get Security Overview

    Request Example

    Bash
    curl -X GET https://api.alterlab.io/api/v1/auth/security-overview \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json"

    Response Example

    JSON
    {
      "primary_method": "example",
      "has_password": true,
      "linked_providers": [],
      "can_add_password": true,
      "email_verified": true
    }

    POST /api/v1/auth/send-verification-code

    POST
    /api/v1/auth/send-verification-code

    Send Verification Code

    Parameters

    NameTypeRequiredDescription
    emailstring
    Required
    Email

    Request Example

    Bash
    curl -X POST https://api.alterlab.io/api/v1/auth/send-verification-code \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "email": "example_email"
      }'

    Response Example

    JSON
    {
      "status": "ok"
    }

    GET /api/v1/auth/sessions

    GET
    /api/v1/auth/sessions

    Get Sessions

    Request Example

    Bash
    curl -X GET https://api.alterlab.io/api/v1/auth/sessions \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json"

    Response Example

    JSON
    {
      "status": "ok"
    }

    DELETE /api/v1/auth/sessions

    DELETE
    /api/v1/auth/sessions

    Revoke All Sessions

    Request Example

    Bash
    curl -X DELETE https://api.alterlab.io/api/v1/auth/sessions \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json"

    Response Example

    JSON
    {
      "status": "ok"
    }

    GET /api/v1/auth/sessions/validate

    GET
    /api/v1/auth/sessions/validate

    Validate Session

    Request Example

    Bash
    curl -X GET https://api.alterlab.io/api/v1/auth/sessions/validate \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json"

    Response Example

    JSON
    {
      "status": "ok"
    }

    DELETE /api/v1/auth/sessions/{session_id}

    DELETE
    /api/v1/auth/sessions/{session_id}

    Revoke Session

    Parameters

    NameTypeRequiredDescription
    session_idstring
    Required
    session_id

    Request Example

    Bash
    curl -X DELETE https://api.alterlab.io/api/v1/auth/sessions/<session_id> \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json"

    Response Example

    JSON
    {
      "status": "ok"
    }

    PATCH /api/v1/auth/sessions/{session_id}/activity

    PATCH
    /api/v1/auth/sessions/{session_id}/activity

    Update Session Activity

    Parameters

    NameTypeRequiredDescription
    session_idstring
    Required
    session_id

    Request Example

    Bash
    curl -X PATCH https://api.alterlab.io/api/v1/auth/sessions/<session_id>/activity \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json"

    Response Example

    JSON
    {
      "status": "ok"
    }

    POST /api/v1/auth/signup

    POST
    /api/v1/auth/signup

    Signup

    Request Example

    Bash
    curl -X POST https://api.alterlab.io/api/v1/auth/signup \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json"

    Response Example

    JSON
    {
      "status": "ok"
    }

    POST /api/v1/auth/unlock-welcome-bonus

    POST
    /api/v1/auth/unlock-welcome-bonus

    Unlock Welcome Bonus

    Request Example

    Bash
    curl -X POST https://api.alterlab.io/api/v1/auth/unlock-welcome-bonus \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json"

    Response Example

    JSON
    {
      "status": "ok"
    }

    POST /api/v1/auth/verify-code

    POST
    /api/v1/auth/verify-code

    Verify Code

    Parameters

    NameTypeRequiredDescription
    emailstring
    Required
    Email
    codestring
    Required
    Code

    Request Example

    Bash
    curl -X POST https://api.alterlab.io/api/v1/auth/verify-code \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "email": "example_email",
        "code": "example_code"
      }'

    Response Example

    JSON
    {
      "success": true,
      "message": "example",
      "credits_awarded": 0
    }

    POST /api/v1/auth/welcome-shown

    POST
    /api/v1/auth/welcome-shown

    Mark Welcome Shown

    Request Example

    Bash
    curl -X POST https://api.alterlab.io/api/v1/auth/welcome-shown \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json"

    Response Example

    JSON
    {
      "status": "ok"
    }

    GET /api/v1/auth/welcome-status

    GET
    /api/v1/auth/welcome-status

    Get Welcome Status

    Request Example

    Bash
    curl -X GET https://api.alterlab.io/api/v1/auth/welcome-status \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json"

    Response Example

    JSON
    {
      "reduced": true,
      "full_bonus": 0,
      "received": 0,
      "remaining": 0,
      "sibling_accounts": [],
      "can_unlock": true
    }
    Last updated: March 2026

    On this page