Skip to content

Low-level request API

Typed methods should be the default. OkatanaClient.RequestAsync<T> exists for a compatible API extension that is available on a deployment before the SDK adds a first-class method.

var response = await client.RequestAsync<JsonElement>(new OkatanaRawRequest
{
    Method = HttpMethod.Get,
    Path = "custom-extension",
    Query = new Dictionary<string, string?> { ["limit"] = "25" }
});

The raw path is resolved under the configured /api/v1 base. An absolute URL is accepted only when it remains on the same configured origin and API base path. Authentication, Accept/User-Agent headers, timeouts, retries, JSON parsing, and structured HTTP errors still apply.

The raw API does not perform endpoint-specific request validation and does not unwrap data. The generic type must match the actual JSON shape. Promote frequently used raw calls into typed SDK methods rather than spreading ad hoc JSON contracts throughout an application.