# rip.pds.admin.defs

> Published by [pds.rip](https://lexicon.garden/identity/did:plc:w24v65i3bcsxk6mbbgfdukve)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:w24v65i3bcsxk6mbbgfdukve/rip.pds.admin.defs)
- [Documentation](https://lexicon.garden/lexicon/did:plc:w24v65i3bcsxk6mbbgfdukve/rip.pds.admin.defs/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:w24v65i3bcsxk6mbbgfdukve/rip.pds.admin.defs/examples)

## Definitions

### `rip.pds.admin.defs#accountView`

**Type**: `object`

An account as an operator sees it, which is an accountView plus who holds it.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `createdAt` | `string` (datetime) | Yes |  |
| `deletedAt` | `string` (datetime) | No |  |
| `did` | `string` (did) | Yes |  |
| `didMethod` | `string` | Yes |  |
| `expiresAt` | `string` (datetime) | No | Absent when the account never expires. |
| `extensions` | `integer` | No |  |
| `handle` | `string` (handle) | Yes |  |
| `handleDomain` | `string` | No |  |
| `origin` | `string` | Yes | Whether this server minted the identity or it arrived by migration. |
| `ownerDid` | `string` (did) | No | Who asked for this account. Absent for anything created before the invite gate. |
| `protected` | `boolean` | No |  |
| `retiredAt` | `string` (datetime) | No | When the identity was tombstoned or unpublished. |
| `status` | `string` | No |  |

### `rip.pds.admin.defs#eventView`

**Type**: `object`

One recorded lifecycle fact.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `createdAt` | `string` (datetime) | Yes |  |
| `detail` | `string` | No | The event's payload as JSON, for anything the fields above do not carry. |
| `did` | `string` (did) | No |  |
| `handle` | `string` | No | The handle that DID held, when it is still known. |
| `id` | `integer` | Yes |  |
| `source` | `string` | Yes | What observed it. |
| `type` | `string` | Yes |  |

### `rip.pds.admin.defs#limitsView`

**Type**: `object`

An operator's exception to the configured limits for one person.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `createdAt` | `string` (datetime) | Yes |  |
| `lifetimeDaysOverride` | `integer` | No | Maximum lifetime in days. Absent means the configured default. |
| `note` | `string` | No | Why, in the operator's own words. |
| `quotaOverride` | `integer` | No | Live accounts they may hold. Absent means the configured default. |
| `updatedAt` | `string` (datetime) | Yes |  |
| `updatedBy` | `string` (did) | No |  |

### `rip.pds.admin.defs#ownerView`

**Type**: `object`

Someone who holds or has held accounts on this server, as an operator sees them.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `deleted` | `integer` | Yes | Accounts of theirs that are gone, however they went. |
| `did` | `string` (did) | Yes |  |
| `firstSeenAt` | `string` (datetime) | No | Earliest of their first account and their first authenticated request. Absent when neither is known. |
| `handle` | `string` (handle) | No | The holder's own handle, resolved from their DID document. Not a handle they minted here. Absent when their identity could not be resolved, in which case the DID is the name. |
| `lastCreatedAt` | `string` (datetime) | No | When they last created an account. Absent when they hold none and never have. |
| `lastSeenAt` | `string` (datetime) | No | Their last authenticated request. Absent for anyone last seen before this was recorded. |
| `limits` | `ref` → `#limitsView` | No | The override itself. Absent when the configured defaults apply untouched, which is the common case: a record exists for everyone who has used this server, not only for exceptions. |
| `live` | `integer` | Yes | Accounts they hold right now. |
| `maxLifetimeDays` | `integer` | Yes | How far an account of theirs may be extended, after any override. |
| `quota` | `integer` | Yes | Live accounts they may hold at once, after any override. Zero means they may create nothing further. |
| `takenDown` | `integer` | Yes | Accounts of theirs the PDS currently considers taken down. |

## Raw Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "accountView": {
      "description": "An account as an operator sees it, which is an accountView plus who holds it.",
      "properties": {
        "createdAt": {
          "format": "datetime",
          "type": "string"
        },
        "deletedAt": {
          "format": "datetime",
          "type": "string"
        },
        "did": {
          "format": "did",
          "type": "string"
        },
        "didMethod": {
          "knownValues": [
            "plc",
            "web"
          ],
          "type": "string"
        },
        "expiresAt": {
          "description": "Absent when the account never expires.",
          "format": "datetime",
          "type": "string"
        },
        "extensions": {
          "type": "integer"
        },
        "handle": {
          "format": "handle",
          "type": "string"
        },
        "handleDomain": {
          "type": "string"
        },
        "origin": {
          "description": "Whether this server minted the identity or it arrived by migration.",
          "knownValues": [
            "minted",
            "imported"
          ],
          "type": "string"
        },
        "ownerDid": {
          "description": "Who asked for this account. Absent for anything created before the invite gate.",
          "format": "did",
          "type": "string"
        },
        "protected": {
          "type": "boolean"
        },
        "retiredAt": {
          "description": "When the identity was tombstoned or unpublished.",
          "format": "datetime",
          "type": "string"
        },
        "status": {
          "type": "string"
        }
      },
      "required": [
        "did",
        "handle",
        "didMethod",
        "origin",
        "createdAt"
      ],
      "type": "object"
    },
    "eventView": {
      "description": "One recorded lifecycle fact.",
      "properties": {
        "createdAt": {
          "format": "datetime",
          "type": "string"
        },
        "detail": {
          "description": "The event's payload as JSON, for anything the fields above do not carry.",
          "type": "string"
        },
        "did": {
          "format": "did",
          "type": "string"
        },
        "handle": {
          "description": "The handle that DID held, when it is still known.",
          "type": "string"
        },
        "id": {
          "type": "integer"
        },
        "source": {
          "description": "What observed it.",
          "knownValues": [
            "proxy",
            "firehose",
            "scheduler",
            "admin",
            "labeler"
          ],
          "type": "string"
        },
        "type": {
          "knownValues": [
            "account.created",
            "account.deleted",
            "account.takedown",
            "account.restored",
            "account.labeled",
            "handle.changed",
            "identity.retired"
          ],
          "type": "string"
        }
      },
      "required": [
        "id",
        "type",
        "source",
        "createdAt"
      ],
      "type": "object"
    },
    "limitsView": {
      "description": "An operator's exception to the configured limits for one person.",
      "properties": {
        "createdAt": {
          "format": "datetime",
          "type": "string"
        },
        "lifetimeDaysOverride": {
          "description": "Maximum lifetime in days. Absent means the configured default.",
          "type": "integer"
        },
        "note": {
          "description": "Why, in the operator's own words.",
          "maxLength": 500,
          "type": "string"
        },
        "quotaOverride": {
          "description": "Live accounts they may hold. Absent means the configured default.",
          "type": "integer"
        },
        "updatedAt": {
          "format": "datetime",
          "type": "string"
        },
        "updatedBy": {
          "format": "did",
          "type": "string"
        }
      },
      "required": [
        "createdAt",
        "updatedAt"
      ],
      "type": "object"
    },
    "ownerView": {
      "description": "Someone who holds or has held accounts on this server, as an operator sees them.",
      "properties": {
        "deleted": {
          "description": "Accounts of theirs that are gone, however they went.",
          "type": "integer"
        },
        "did": {
          "format": "did",
          "type": "string"
        },
        "firstSeenAt": {
          "description": "Earliest of their first account and their first authenticated request. Absent when neither is known.",
          "format": "datetime",
          "type": "string"
        },
        "handle": {
          "description": "The holder's own handle, resolved from their DID document. Not a handle they minted here. Absent when their identity could not be resolved, in which case the DID is the name.",
          "format": "handle",
          "type": "string"
        },
        "lastCreatedAt": {
          "description": "When they last created an account. Absent when they hold none and never have.",
          "format": "datetime",
          "type": "string"
        },
        "lastSeenAt": {
          "description": "Their last authenticated request. Absent for anyone last seen before this was recorded.",
          "format": "datetime",
          "type": "string"
        },
        "limits": {
          "description": "The override itself. Absent when the configured defaults apply untouched, which is the common case: a record exists for everyone who has used this server, not only for exceptions.",
          "ref": "#limitsView",
          "type": "ref"
        },
        "live": {
          "description": "Accounts they hold right now.",
          "type": "integer"
        },
        "maxLifetimeDays": {
          "description": "How far an account of theirs may be extended, after any override.",
          "type": "integer"
        },
        "quota": {
          "description": "Live accounts they may hold at once, after any override. Zero means they may create nothing further.",
          "type": "integer"
        },
        "takenDown": {
          "description": "Accounts of theirs the PDS currently considers taken down.",
          "type": "integer"
        }
      },
      "required": [
        "did",
        "live",
        "deleted",
        "takenDown",
        "quota",
        "maxLifetimeDays"
      ],
      "type": "object"
    }
  },
  "id": "rip.pds.admin.defs",
  "lexicon": 1
}
```
