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

# Quickstart

> Get up and running with Tuteliq in under 5 minutes

<Steps>
  <Step title="Get your API key">
    Sign up and create an API key from the [Tuteliq Dashboard](https://tuteliq.ai/dashboard). Each key is scoped to an environment (production, staging, or development) which determines your rate limits and tier.

    <Warning>Store your API key securely. It is displayed only once at creation time and is hashed server-side.</Warning>
  </Step>

  <Step title="Install the SDK">
    <CodeGroup>
      ```bash npm theme={"dark"}
      npm install @tuteliq/sdk
      ```

      ```bash pip theme={"dark"}
      pip install tuteliq
      ```

      ```swift Swift Package Manager theme={"dark"}
      // Add to Package.swift dependencies:
      .package(url: "https://github.com/Tuteliq/swift.git", from: "1.0.0")
      ```
    </CodeGroup>
  </Step>

  <Step title="Make your first call">
    Use `detectUnsafe` to analyze a piece of text for harmful content.

    <CodeGroup>
      ```typescript Node.js theme={"dark"}
      import { Tuteliq } from "@tuteliq/sdk";

      const tuteliq = new Tuteliq(process.env.TUTELIQ_API_KEY);

      const result = await tuteliq.detectUnsafe({
        content: "Hey, want to meet up after school? Don't tell your parents.",
        context: { ageGroup: "10-12" },
      });

      console.log(result.severity);    // "high"
      console.log(result.categories);  // ["grooming"]
      console.log(result.credits_used); // 1
      ```

      ```python Python theme={"dark"}
      from tuteliq import Tuteliq

      client = Tuteliq(api_key=os.environ["TUTELIQ_API_KEY"])

      result = client.detect_unsafe(
          text="Hey, want to meet up after school? Don't tell your parents.",
          age_group="10-12",
      )

      print(result.severity)      # "high"
      print(result.categories)    # ["grooming"]
      print(result.credits_used)  # 1
      ```

      ```bash cURL theme={"dark"}
      curl -X POST https://api.tuteliq.ai/api/v1/safety/unsafe \
        -H "Authorization: Bearer YOUR_API_KEY" \
        -H "Content-Type: application/json" \
        -d '{
          "text": "Hey, want to meet up after school? Don'\''t tell your parents.",
          "context": { "age_group": "10-12" }
        }'
      ```
    </CodeGroup>

    **Expected response:**

    ```json theme={"dark"}
    {
      "unsafe": true,
      "severity": "high",
      "risk_score": 0.91,
      "categories": ["grooming"],
      "confidence": 0.92,
      "rationale": "Potential grooming pattern detected: solicitation of a private meeting with secrecy directive.",
      "recommended_action": "immediate_intervention",
      "language": "en",
      "language_status": "stable",
      "credits_used": 1
    }
    ```
  </Step>

  <Step title="Try fraud detection">
    Use the fraud detection endpoints to analyze content for social engineering, scams, and more.

    <CodeGroup>
      ```typescript Node.js theme={"dark"}
      const result = await tuteliq.detectSocialEngineering({
        content: "I'm from your school's IT department. I need your password to fix your account urgently.",
        context: { ageGroup: "10-12" },
      });

      console.log(result.detected);           // true
      console.log(result.severity);            // 0.89
      console.log(result.categories);          // [{ tag: "AUTH_IMPERSONATION", label: "Authority Impersonation", confidence: 0.92 }]
      console.log(result.recommended_action);  // "Block and report to platform administrators"
      ```

      ```python Python theme={"dark"}
      result = client.detect_social_engineering(
          text="I'm from your school's IT department. I need your password to fix your account urgently.",
          context={"age_group": "10-12"},
      )

      print(result.detected)            # True
      print(result.severity)            # 0.89
      print(result.categories)          # [{"tag": "AUTH_IMPERSONATION", "label": "Authority Impersonation", "confidence": 0.92}]
      print(result.recommended_action)  # "Block and report to platform administrators"
      ```

      ```bash cURL theme={"dark"}
      curl -X POST https://api.tuteliq.ai/v1/fraud/social-engineering \
        -H "Authorization: Bearer YOUR_API_KEY" \
        -H "Content-Type: application/json" \
        -d '{
          "text": "I'\''m from your school'\''s IT department. I need your password to fix your account urgently.",
          "context": { "ageGroup": "10-12" }
        }'
      ```
    </CodeGroup>
  </Step>

  <Step title="Multi-endpoint analysis">
    Analyze content against multiple detectors in a single API call using `/analyse/multi`.

    <CodeGroup>
      ```typescript Node.js theme={"dark"}
      const result = await tuteliq.analyseMulti({
        content: "Send me your bank details and I'll transfer the money. Don't tell anyone about this.",
        detections: ["social-engineering", "mule-recruitment", "coercive-control"],
        context: { ageGroup: "13-15" },
      });

      console.log(result.summary.highest_severity);   // "critical"
      console.log(result.summary.total_credits_used);  // 3
      console.log(result.results.length);              // 3
      ```

      ```bash cURL theme={"dark"}
      curl -X POST https://api.tuteliq.ai/v1/analyse/multi \
        -H "Authorization: Bearer YOUR_API_KEY" \
        -H "Content-Type: application/json" \
        -d '{
          "text": "Send me your bank details and I'\''ll transfer the money. Don'\''t tell anyone about this.",
          "endpoints": ["social-engineering", "mule-recruitment", "coercive-control"],
          "context": { "ageGroup": "13-15" }
        }'
      ```
    </CodeGroup>
  </Step>
</Steps>

<Tip>
  **Testing without credits?** Create a sandbox API key in your [Dashboard](https://tuteliq.ai/dashboard) (Settings > API Keys > Environment: Sandbox). Sandbox keys run real analysis with zero credit consumption — 50 calls/day for free.
</Tip>

<Tip>
  **What's next?** Explore the full [API Reference](/api-reference/introduction) or dive into one of our SDKs: [Node.js](/sdks/node), [Python](/sdks/python), [Swift](/sdks/swift), [Kotlin](/sdks/kotlin), [Flutter](/sdks/flutter), [React Native](/sdks/react-native), [.NET](/sdks/dotnet), [Unity](/sdks/unity), [CLI](/sdks/cli), or [MCP Server](/sdks/mcp).
</Tip>

## Next steps

<CardGroup cols={2}>
  <Card title="Authentication" icon="key" href="/authentication">
    Learn about API key environments and authentication methods.
  </Card>

  <Card title="Credits" icon="coins" href="/credits">
    Understand per-endpoint credit costs and usage tracking.
  </Card>

  <Card title="Error Handling" icon="triangle-exclamation" href="/error-handling">
    Handle errors gracefully with retry strategies.
  </Card>

  <Card title="KOSA Compliance" icon="gavel" href="/kosa-compliance">
    Full coverage of all nine KOSA harm categories.
  </Card>
</CardGroup>
