CredentialsStatusDto
Namespace: Meshmakers.Octo.Sdk.ServiceClient.AiServices
Snapshot of a tenant's Anthropic credential lease as returned by the AI Adapter.
Token ciphertext never crosses the wire — only the status + expiry metadata —
so an operator who can read this DTO still cannot extract the subscription.
CredentialsStatusDto.Status uses the same string values as the server-side
RtTokenLeaseStatusEnum (Active, NoLease, Revoked,
RefreshFailed); the client treats them as opaque to avoid coupling the
SDK release cadence to a server-side enum addition.
public sealed class CredentialsStatusDto
Inheritance Object → CredentialsStatusDto
Properties
Status
Lifecycle state of the lease. NoLease is the initial state before the
bastion CLI registers a subscription token — callers should treat that as
"register required" rather than an error.
public string Status { get; set; }
Property Value
AccessExpiresAt
UTC instant the access token expires, or null when no lease exists.
public Nullable<DateTime> AccessExpiresAt { get; set; }
Property Value
RefreshExpiresAt
UTC instant the refresh token expires, or null when no lease exists.
public Nullable<DateTime> RefreshExpiresAt { get; set; }
Property Value
Generation
Monotonic counter that bumps on every register / refresh. The refresh worker uses this as an optimistic-concurrency check; clients can surface it for audit-trail correlation.
public long Generation { get; set; }
Property Value
Constructors
CredentialsStatusDto()
public CredentialsStatusDto()