AIAdapterOutput
A configured AI adapter — an LLM provider or ML backend the tenant can run inference against. The API key is withheld; everything else is readable.
Unique identifier
Tenant this adapter belongs to
nameString!Display name
enabledBoolean!Whether this adapter is enabled
Capabilities this adapter supports
hasApiKeyBoolean!Whether a non-empty API key is stored. The key itself is never returned — not even masked, since a mask a client could send back would be indistinguishable from the real thing. Always false for adapter types that do not authenticate (XGBOOST).
credentialsUpdatedAtStringWhen the stored API key last changed (ISO8601). Null when no key is set, and also null for a key last written before the platform recorded this — so null means "unknown", never "never changed". Deliberately a timestamp and not a hash: it says when the credential changed, never what it is, so it lets an operator spot an unexpected rotation without disclosing anything.
The adapter's stored configuration with the credential left out, so an editor can show what an adapter is actually set to instead of making an operator retype it.
createdAtString!Creation timestamp (ISO8601)
updatedAtString!Last update timestamp (ISO8601)
View exact SDL
"""
A configured AI adapter — an LLM provider or ML backend the tenant can run inference against. The API key is withheld; everything else is readable.
"""
type AIAdapterOutput @iac_resource(name: "ai_adapter") @iac_ops(create: "createAIAdapter", read: "getAIAdapter", update: "updateAIAdapter", delete: "deleteAIAdapter") {
"""Unique identifier"""
id: AIAdapterID! @iac_identity(assignedBy: SERVER) @iac_computed
"""Tenant this adapter belongs to"""
tenantId: TenantID! @iac_computed
"""Display name"""
name: String!
"""Whether this adapter is enabled"""
enabled: Boolean!
"""Capabilities this adapter supports"""
capabilities: AIAdapterCapabilities! @iac_computed
"""
Whether a non-empty API key is stored. The key itself is never returned — not even masked, since a mask a client could send back would be indistinguishable from the real thing. Always false for adapter types that do not authenticate (XGBOOST).
"""
hasApiKey: Boolean! @iac_computed
"""
When the stored API key last changed (ISO8601). Null when no key is set, and also null for a key last written before the platform recorded this — so null means "unknown", never "never changed". Deliberately a timestamp and not a hash: it says when the credential changed, never what it is, so it lets an operator spot an unexpected rotation without disclosing anything.
"""
credentialsUpdatedAt: String @iac_computed
"""
The adapter's stored configuration with the credential left out, so an editor can show what an adapter is actually set to instead of making an operator retype it.
"""
configuration: AIAdapterConfiguration! @iac_validate(with: ["ai-adapter-configuration"])
"""Creation timestamp (ISO8601)"""
createdAt: String! @iac_computed
"""Last update timestamp (ISO8601)"""
updatedAt: String! @iac_computed
}One stable address across all schema views. Follow a field’s type to explore connections between domains.