# ApiKeyRecord

> Tracon documentation. Tracon is a .NET package family that adds a control
> plane on Microsoft Agent Framework, published as NuGet packages that run
> inside your own ASP.NET Core application.
>
> Page: https://tracon.dev/http-api/schemas/apikeyrecord/
> Summary: OpenAPI request or response schema for ApiKeyRecord, including required fields, defaults, constraints, and linked nested types.

[← All HTTP schemas](/http-api/schemas/)

An API key's database-stored view, WHICH CARRIES NO RAW VALUE.

**Shape:** `object`

| Property | Required | Type | Description | Rules |
|---|---|---|---|---|
| `id` | yes | `string (uuid)` | The key identifier. | — |
| `tenantId` | yes | `string` | The tenant the key is bound to. On authentication, the tenant is resolved FROM HERE. | — |
| `name` | yes | `string` | The name for the operator to recognize the key by. | — |
| `keyPrefix` | yes | `string` | The raw value's first characters; used to distinguish the key in a list. | — |
| `scopes` | yes | array of [`ApiKeyScope`](/http-api/schemas/apikeyscope/) | The scope set. The effective authority is `role ∩ scope`. | — |
| `expiresAt` | no | `string (date-time)` | The expiration. Never expires if `null`. | — |
| `revokedAt` | no | `string (date-time)` | The revocation timestamp. The row is NOT DELETED; the audit trail is preserved through this field. | — |
| `lastUsedAt` | no | `string (date-time)` | The last-used time. Used to spot an unused key. | — |
| `createdAt` | yes | `string (date-time)` | The creation time (UTC). | — |
| `isActive` | no | `boolean` | `true` if the key is not revoked and has not expired. | — |
