{
"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
}