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

# curl and direct HTTP

> Send logs and call MCP endpoints without SDKs

Use direct HTTP when you need minimal dependencies or custom transport behavior.

Copy your target `ALSHIVAL_RESOURCE` from the DevTools Resource Details page's **Resource URL** field (owned or shared), then post to `${ALSHIVAL_RESOURCE%/}/logs/`.

## Resource log ingestion

```bash theme={null}
curl -X POST \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $ALSHIVAL_API_KEY" \
  -d '{
    "logs": [
      {
        "level": "alert",
        "message": "database latency threshold exceeded",
        "ts": "2026-02-22T00:00:00+00:00",
        "extra": {"service": "postgres", "p95_ms": 822}
      }
    ]
  }' \
  "${ALSHIVAL_RESOURCE%/}/logs/"
```

## MCP: tools list

```bash theme={null}
curl -sS https://mcp.alshival.ai/mcp/ \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $ALSHIVAL_API_KEY" \
  -H "X-User-Username: $ALSHIVAL_USERNAME" \
  -d '{"jsonrpc":"2.0","id":"1","method":"tools/list","params":{}}'
```

## GitHub MCP: tools list

```bash theme={null}
curl -sS https://mcp.alshival.ai/github/ \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $ALSHIVAL_API_KEY" \
  -H "X-User-Username: $ALSHIVAL_USERNAME" \
  -d '{"jsonrpc":"2.0","id":"1","method":"tools/list","params":{}}'
```

## Required headers

* `X-API-Key`: required
* `X-User-Username`: recommended for user-scoped MCP access
* `X-User-Email`: optional alternative for identity
