# Okapi install guide — ASP.NET Core

Okapi speaks the Sentry ingest wire format: this is the standard `Sentry.AspNetCore` SDK, pointed at your own Okapi instance instead of Sentry's.

The DSN in this generic guide is a placeholder. Get the real DSN from Project → Settings → DSN Keys. An agent with an admin Okapi MCP credential can also call `get_dsn`. Do not invent a DSN.

Do not run the Sentry wizard or any setup that signs in to Sentry's hosted service; nothing in this setup should contact it.

## 1. Install

```bash
dotnet add package Sentry.AspNetCore
```

## 2. Initialize

### `Program.cs`

```csharp
var builder = WebApplication.CreateBuilder(args);

builder.WebHost.UseSentry(options =>
{
    options.Dsn = "http://YOUR_PUBLIC_KEY@YOUR_OKAPI_HOST/YOUR_PROJECT_ID";
    options.Environment = "production";
});
```

Keep the existing host startup after UseSentry; leave the optional Sentry MSBuild upload and release features off. A short-lived process should call SentrySdk.Flush(TimeSpan.FromSeconds(2)); a running web host needs no flush.

## 3. Send a test event

```csharp
SentrySdk.CaptureException(new Exception("Okapi test event"));
```

## 4. Verify

Open the instance's dashboard → Issues. The test event should appear within a few seconds as a new issue. If the instance's MCP server exposes a `verify_installation` tool, call that instead of checking by hand — it reports the SDK name/version and whether only a synthetic test event has arrived yet.

## More

- Structured logs (same DSN, no separate shipper) and source map uploads: https://useokapi.app/docs/sdk-setup
- Connect over MCP once the SDK is wired up: https://useokapi.app/docs/mcp-agents
