Skip to content

Okatana C# SDK

Okatana .NET 8 SDK for the Okatana External API v1. Designed for server-to-server integrations, scheduled jobs, CI/CD automation, operational tooling, and application backends.

Explicit Okatana host required

The client requires an explicit API deployment URL. https://okatana.newfoundcodes.com is the documentation site, not a default API host.

SDK features

Provides five service objects: organizations, projects, boards, tickets, and documents. Features include schema-based request validation, immutable/fluent request objects, modern HttpClient integration, normalized bearer authentication, JSON response decoding, C# async enumeration for pagination, typed models, and status-specific exceptions.

Service methods map directly to routes, return typed models, and preserve unknown response fields via JsonExtensionData.

Typical client lifecycle

using Newfoundcodes.Okatana;

var client = new OkatanaClient(new OkatanaClientOptions
{
    BaseUrl = Environment.GetEnvironmentVariable("OKATANA_URL"),
    ApiKey = Environment.GetEnvironmentVariable("OKATANA_API_KEY")
});

var projects = await client.Organizations.ListProjectsAsync(Environment.GetEnvironmentVariable("OKATANA_ORG"));

BaseUrl normalizes to /api/v1. Origin and full API base are both valid:

https://okatana.internal.example      -> https://okatana.internal.example/api/v1
https://okatana.internal.example/api/v1 -> unchanged

Design principles

  1. Explicit deployment configuration. Requires deployment URL before sending tokens.
  2. One method per endpoint.
  3. Predictable transport. Built cleanly over System.Net.Http.HttpClient; integrates directly into ASP.NET Core dependency injection.
  4. Conservative writes. Limits automatic retries to safe reads.
  5. Schema-aware. Validates documented constraints; preserves unknown fields in responses.
  6. Raw requests. OkatanaClient.Transport supports unmapped v1 routes.

Documentation

See Installation, Configuration, and Quickstart. For production integration behavior, read Errors, Retries and rate limits, and Security.