Table of Contents

Interface IApiKeyAdministrationService

Namespace
Tharga.Team
Assembly
Tharga.Team.dll

Service for managing and validating API keys.

public interface IApiKeyAdministrationService

Methods

CreateKeyAsync(string, string, AccessLevel, string[], string[], DateTime?, IReadOnlyList<Tag>, string)

Creates a new API key with the specified settings (advanced mode). tags are system-set key-value tags, settable only here (not from the UI) and immutable thereafter. createdBy records who created the key; null for keys created without a user context (e.g. auto-generated), surfaced as "System" in the UI.

Task<IApiKey> CreateKeyAsync(string teamKey, string name, AccessLevel accessLevel, string[] roles = null, string[] scopeOverrides = null, DateTime? expiryDate = null, IReadOnlyList<Tag> tags = null, string createdBy = null)

Parameters

teamKey string
name string
accessLevel AccessLevel
roles string[]
scopeOverrides string[]
expiryDate DateTime?
tags IReadOnlyList<Tag>
createdBy string

Returns

Task<IApiKey>

CreateSystemKeyAsync(string, string[], DateTime?, string)

Creates a new system-level API key with the specified explicit scope set.

Task<IApiKey> CreateSystemKeyAsync(string name, string[] scopes, DateTime? expiryDate = null, string createdBy = null)

Parameters

name string

Human-readable name for the key.

scopes string[]

Explicit scopes granted to this key. Not resolved through AccessLevel/roles.

expiryDate DateTime?

Optional expiry date.

createdBy string

Identity of the user creating the key (for audit).

Returns

Task<IApiKey>

DeleteKeyAsync(string, string)

Deletes an API key. Verifies team ownership.

Task DeleteKeyAsync(string teamKey, string key)

Parameters

teamKey string
key string

Returns

Task

DeleteSystemKeyAsync(string)

Deletes a system API key.

Task DeleteSystemKeyAsync(string key)

Parameters

key string

Returns

Task

GetByApiKeyAsync(string)

Looks up an API key by its raw value. Returns null if no match is found.

Task<IApiKey> GetByApiKeyAsync(string apiKey)

Parameters

apiKey string

Returns

Task<IApiKey>

GetKeysAsync(string)

Returns all API keys for the specified team, creating default keys if fewer than AutoKeyCount exist.

IAsyncEnumerable<IApiKey> GetKeysAsync(string teamKey)

Parameters

teamKey string

Returns

IAsyncEnumerable<IApiKey>

GetSystemKeysAsync()

Returns all system-level API keys (not bound to a team).

IAsyncEnumerable<IApiKey> GetSystemKeysAsync()

Returns

IAsyncEnumerable<IApiKey>

LockKeyAsync(string, string)

Locks an API key so it can no longer be used for authentication. Verifies team ownership.

Task LockKeyAsync(string teamKey, string key)

Parameters

teamKey string
key string

Returns

Task

LockSystemKeyAsync(string)

Locks a system API key so it can no longer authenticate.

Task LockSystemKeyAsync(string key)

Parameters

key string

Returns

Task

RefreshKeyAsync(string, string)

Generates a new API key value for an existing key entry. Returns the entity with the raw key visible once.

Task<IApiKey> RefreshKeyAsync(string teamKey, string key)

Parameters

teamKey string
key string

Returns

Task<IApiKey>

RefreshSystemKeyAsync(string)

Regenerates a system key's raw value. Returns the entity with the raw key visible once.

Task<IApiKey> RefreshSystemKeyAsync(string key)

Parameters

key string

Returns

Task<IApiKey>

SetRolesAsync(string, string, string[])

Sets the Roles (tenant roles) array on an existing team API key. Verifies team ownership. Pass null or an empty array to clear all roles.

Task SetRolesAsync(string teamKey, string key, string[] roles)

Parameters

teamKey string
key string
roles string[]

Returns

Task

SetScopeOverridesAsync(string, string, string[])

Sets the ScopeOverrides array on an existing team API key. Verifies team ownership. Pass null or an empty array to clear all overrides.

Task SetScopeOverridesAsync(string teamKey, string key, string[] scopes)

Parameters

teamKey string
key string
scopes string[]

Returns

Task