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¶
- Explicit deployment configuration. Requires deployment URL before sending tokens.
- One method per endpoint.
- Predictable transport. Built cleanly over
System.Net.Http.HttpClient; integrates directly into ASP.NET Core dependency injection. - Conservative writes. Limits automatic retries to safe reads.
- Schema-aware. Validates documented constraints; preserves unknown fields in responses.
- Raw requests.
OkatanaClient.Transportsupports unmapped v1 routes.
Documentation¶
See Installation, Configuration, and Quickstart. For production integration behavior, read Errors, Retries and rate limits, and Security.