# 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#eventView`

**Type**: `object`

One recorded lifecycle fact.

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

### `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 |
|----------|------|----------|-------------|
| `did` | `string` (did) | Yes |  |
| `live` | `integer` | Yes | Accounts they hold right now. |
| `quota` | `integer` | Yes | Live accounts they may hold at once, after any override. Zero means they may create nothing further. |
| `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. |
| `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. |
| `deleted` | `integer` | Yes | Accounts of theirs that are gone, however they went. |
| `takenDown` | `integer` | Yes | Accounts of theirs the PDS currently considers taken down. |
| `lastSeenAt` | `string` (datetime) | No | Their last authenticated request. Absent for anyone last seen before this was recorded. |
| `firstSeenAt` | `string` (datetime) | No | Earliest of their first account and their first authenticated request. Absent when neither is known. |
| `lastCreatedAt` | `string` (datetime) | No | When they last created an account. Absent when they hold none and never have. |
| `maxLifetimeDays` | `integer` | Yes | How far an account of theirs may be extended, after any override. |

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

**Type**: `object`

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

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

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

## Raw Schema

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