> ## Documentation Index
> Fetch the complete documentation index at: https://resq-dependabot-github-actions-github-actions-478e18be3d.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Make your first authenticated call to the ResQ Tactical OS APIs in five minutes.

ResQ exposes two HTTPS APIs:

| API                | Base URL                             | Stack               |
| ------------------ | ------------------------------------ | ------------------- |
| Infrastructure API | `https://api.resq.software`          | Rust + Axum         |
| Coordination API   | `https://coordination.resq.software` | TypeScript + Elysia |

<Note>
  If you are running a self-hosted deployment, swap the base URLs above for your
  own. The request shapes are identical.
</Note>

## Steps

<Steps>
  <Step title="Confirm the service is up">
    Hit `/health` on the Infrastructure API. No auth required.

    <CodeGroup>
      ```bash curl theme={null}
      curl https://api.resq.software/health
      ```

      ```ts TypeScript theme={null}
      const res = await fetch("https://api.resq.software/health");
      console.log(await res.json());
      ```

      ```python Python theme={null}
      import httpx
      print(httpx.get("https://api.resq.software/health").json())
      ```
    </CodeGroup>

    A healthy response looks like:

    ```json theme={null}
    {
      "status": "ok",
      "pinata": true,
      "gemini": true,
      "spoon_os": "0.1.0"
    }
    ```
  </Step>

  <Step title="Get a JWT">
    The Infrastructure API uses bearer JWTs. Trade credentials for a token at
    `POST /login`.

    <CodeGroup>
      ```bash curl theme={null}
      curl -X POST https://api.resq.software/login \
        -H "Content-Type: application/json" \
        -d '{"username":"YOUR_USERNAME","password":"YOUR_PASSWORD"}'
      ```

      ```ts TypeScript theme={null}
      const res = await fetch("https://api.resq.software/login", {
        method: "POST",
        headers: { "Content-Type": "application/json" },
        body: JSON.stringify({ username, password }),
      });
      const { token, expires_at } = await res.json();
      ```
    </CodeGroup>

    The response carries a token and a Unix expiry:

    ```json theme={null}
    {
      "token": "eyJhbGciOi...",
      "expires_at": 1746345600
    }
    ```

    Store the token securely. See [Authentication](/authentication) for refresh
    and rotation guidance.
  </Step>

  <Step title="Call an authenticated endpoint">
    Send the token as a `Bearer` header.

    <CodeGroup>
      ```bash curl theme={null}
      curl https://api.resq.software/evidence \
        -H "Authorization: Bearer $RESQ_TOKEN"
      ```

      ```ts TypeScript theme={null}
      const res = await fetch("https://api.resq.software/evidence", {
        headers: { Authorization: `Bearer ${token}` },
      });
      ```
    </CodeGroup>
  </Step>

  <Step title="Stream telemetry from the Coordination API">
    The Coordination API exposes Prometheus metrics and Server-Sent Events for
    real-time fleet state.

    ```bash theme={null}
    curl -N https://coordination.resq.software/events
    ```

    Each line is a JSON event: telemetry frames, mission state changes, and
    HITL approvals.
  </Step>

  <Step title="Pick an SDK">
    Skip writing a client — install one of the official SDKs instead.

    <CardGroup cols={2}>
      <Card title="TypeScript" icon="js" href="/sdks/typescript">
        `@resq-sw/http`, `@resq-sw/security`, UI components.
      </Card>

      <Card title="Python" icon="python" href="/sdks/python">
        `resq-mcp` (FastMCP server) and `resq-dsa`.
      </Card>

      <Card title="Rust" icon="rust" href="/sdks/rust">
        Unified `resq` CLI plus seven TUI tools.
      </Card>

      <Card title=".NET" icon="hashtag" href="/sdks/dotnet">
        Typed clients, Protobuf contracts, sim harnesses.
      </Card>
    </CardGroup>
  </Step>
</Steps>

## Next

<CardGroup cols={3}>
  <Card title="Authentication" icon="key" href="/authentication">
    JWT lifecycle, scopes, and rotation.
  </Card>

  <Card title="Errors" icon="triangle-exclamation" href="/errors">
    Error envelope and status codes.
  </Card>

  <Card title="API reference" icon="code" href="/api-reference/introduction">
    Every endpoint, request, and response.
  </Card>
</CardGroup>
