{
"id": "lol.dids.defs",
"defs": {
"jobView": {
"type": "object",
"required": [
"id",
"uri",
"action",
"state",
"attempts",
"scheduledAt"
],
"properties": {
"id": {
"type": "integer"
},
"uri": {
"type": "string"
},
"state": {
"type": "string"
},
"action": {
"type": "string"
},
"attempts": {
"type": "integer"
},
"lastError": {
"type": "string"
},
"startedAt": {
"type": "string",
"format": "datetime"
},
"finishedAt": {
"type": "string",
"format": "datetime"
},
"scheduledAt": {
"type": "string",
"format": "datetime"
}
}
},
"tlsView": {
"type": "object",
"required": [
"status"
],
"properties": {
"status": {
"ref": "#tlsStatus",
"type": "ref"
},
"issuedAt": {
"type": "string",
"format": "datetime"
},
"expiresAt": {
"type": "string",
"format": "datetime"
},
"lastError": {
"type": "string"
}
}
},
"siteView": {
"type": "object",
"required": [
"domain",
"did",
"uri",
"cid",
"rev",
"activatedAt",
"sourceKind"
],
"properties": {
"cid": {
"type": "string",
"format": "cid"
},
"did": {
"type": "string",
"format": "did"
},
"rev": {
"type": "string"
},
"uri": {
"type": "string",
"format": "at-uri"
},
"tile": {
"ref": "#tileView",
"type": "ref"
},
"space": {
"type": "string",
"format": "at-uri",
"description": "Present for a site published from a space; attribution survives the plane."
},
"domain": {
"type": "string"
},
"sourceKind": {
"type": "string",
"knownValues": [
"inline",
"tile"
]
},
"activatedAt": {
"type": "string",
"format": "datetime"
}
}
},
"tileView": {
"type": "object",
"required": [
"uri",
"cid",
"did",
"name",
"state",
"indexedAt"
],
"properties": {
"cid": {
"type": "string",
"format": "cid"
},
"did": {
"type": "string",
"format": "did"
},
"uri": {
"type": "string",
"format": "at-uri"
},
"name": {
"type": "string"
},
"space": {
"type": "string",
"format": "at-uri",
"description": "Present for a space tile; never on the public surface."
},
"state": {
"type": "string",
"knownValues": [
"indexing",
"ready",
"incomplete",
"rejected",
"suspended",
"deleted"
]
},
"params": {
"type": "array",
"items": {
"ref": "lol.dids.sites.tile#param",
"type": "ref"
}
},
"iconUrl": {
"type": "string",
"format": "uri",
"description": "https://dids.lol/xrpc/lol.dids.sites.getTileIcon?cid={cid}; absent if the tile has no icon."
},
"indexedAt": {
"type": "string",
"format": "datetime"
},
"latestCid": {
"type": "string",
"format": "cid",
"description": "The newest indexed version at this URI, when it differs from cid."
},
"entryCount": {
"type": "integer"
},
"totalBytes": {
"type": "integer"
},
"description": {
"type": "string"
}
}
},
"spaceView": {
"type": "object",
"required": [
"uri",
"authority",
"skey",
"syncState",
"connectedAt"
],
"properties": {
"uri": {
"type": "string",
"format": "at-uri"
},
"skey": {
"type": "string"
},
"policy": {
"type": "string",
"knownValues": [
"public",
"member-list",
"managing-app",
"unknown"
]
},
"headRev": {
"type": "string"
},
"appAccess": {
"type": "string",
"knownValues": [
"open",
"allow-list",
"unknown"
]
},
"authority": {
"type": "string",
"format": "did"
},
"syncState": {
"ref": "#spaceSyncState",
"type": "ref"
},
"tileCount": {
"type": "integer"
},
"connectedAt": {
"type": "string",
"format": "datetime"
},
"domainCount": {
"type": "integer"
},
"lastCheckedAt": {
"type": "string",
"format": "datetime"
},
"lastNotifiedAt": {
"type": "string",
"format": "datetime"
},
"accessExpiresAt": {
"type": "string",
"format": "datetime",
"description": "When bard's current space credential expires; absent when bard holds none."
},
"accessGrantedBy": {
"type": "string",
"format": "did"
},
"queuedNotifications": {
"type": "integer",
"description": "Receipts waiting for a credential."
},
"registrationExpiresAt": {
"type": "string",
"format": "datetime"
}
}
},
"tlsStatus": {
"type": "string",
"knownValues": [
"none",
"pending",
"issued",
"renewing",
"failed"
]
},
"domainView": {
"type": "object",
"required": [
"domain",
"did",
"status",
"createdAt"
],
"properties": {
"did": {
"type": "string",
"format": "did"
},
"tls": {
"ref": "#tlsStatus",
"type": "ref"
},
"space": {
"type": "string",
"format": "at-uri",
"description": "The space the domain is registered to; absent for a DID-registered domain. The serving record is the space authority's."
},
"domain": {
"type": "string"
},
"status": {
"ref": "#domainStatus",
"type": "ref"
},
"tileCid": {
"type": "string",
"format": "cid"
},
"tileUri": {
"type": "string",
"format": "at-uri"
},
"activeCid": {
"type": "string",
"format": "cid"
},
"activeRev": {
"type": "string"
},
"activeUri": {
"type": "string",
"format": "at-uri"
},
"createdAt": {
"type": "string",
"format": "datetime"
},
"entryCount": {
"type": "integer"
},
"pendingCid": {
"type": "string",
"format": "cid",
"description": "A validated, prepared record awaiting its commit, if any."
},
"sourceKind": {
"type": "string",
"knownValues": [
"inline",
"tile"
]
},
"totalBytes": {
"type": "integer"
},
"verifiedAt": {
"type": "string",
"format": "datetime"
},
"activatedAt": {
"type": "string",
"format": "datetime"
},
"pendingState": {
"type": "string",
"knownValues": [
"preparing",
"pending-publication"
]
}
}
},
"indexState": {
"type": "string",
"knownValues": [
"preparing",
"pending-publication",
"expired",
"queued",
"fetching",
"materializing",
"active",
"superseded",
"rejected",
"failed"
]
},
"spaceEvent": {
"type": "object",
"required": [
"seq",
"space",
"kind",
"at"
],
"properties": {
"at": {
"type": "string",
"format": "datetime"
},
"cid": {
"type": "string",
"format": "cid"
},
"seq": {
"type": "integer"
},
"kind": {
"type": "string",
"knownValues": [
"record.created",
"record.updated",
"record.deleted",
"site.activated",
"site.deactivated",
"tile.ready",
"tile.incomplete",
"tile.deleted",
"access.granted",
"access.expired",
"registration.renewed",
"registration.lapsed",
"app-not-allowed",
"space.deleted"
]
},
"actor": {
"type": "string",
"format": "did"
},
"space": {
"type": "string",
"format": "at-uri"
},
"subject": {
"type": "string"
}
}
},
"blobFailure": {
"type": "object",
"required": [
"cid",
"role",
"sourceDid",
"error"
],
"properties": {
"cid": {
"type": "string",
"format": "cid"
},
"role": {
"type": "string",
"knownValues": [
"manifest",
"tile",
"parameter",
"notFound"
]
},
"error": {
"type": "string",
"description": "BlobUnavailable, CidMismatch, FetchFailed."
},
"sourceDid": {
"type": "string",
"format": "did"
}
}
},
"domainEvent": {
"type": "object",
"required": [
"event",
"createdAt"
],
"properties": {
"actor": {
"type": "string"
},
"event": {
"type": "string"
},
"detail": {
"type": "unknown"
},
"createdAt": {
"type": "string",
"format": "datetime"
}
}
},
"missingBlob": {
"type": "object",
"required": [
"cid",
"role",
"sourceDid"
],
"properties": {
"cid": {
"type": "string",
"format": "cid"
},
"role": {
"type": "string",
"knownValues": [
"manifest",
"tile",
"parameter",
"notFound"
]
},
"sourceDid": {
"type": "string",
"format": "did"
}
}
},
"domainStatus": {
"type": "string",
"knownValues": [
"pending",
"verifying",
"verified",
"active",
"failed",
"suspended",
"released"
]
},
"denylistEntry": {
"type": "object",
"required": [
"subject",
"kind",
"createdAt"
],
"properties": {
"kind": {
"type": "string",
"knownValues": [
"domain",
"did",
"uri",
"cid",
"pattern",
"space"
]
},
"actor": {
"type": "string"
},
"reason": {
"type": "string"
},
"subject": {
"type": "string"
},
"createdAt": {
"type": "string",
"format": "datetime"
}
}
},
"dnsInstruction": {
"type": "object",
"required": [
"type",
"name",
"value"
],
"properties": {
"ttl": {
"type": "integer"
},
"name": {
"type": "string",
"description": "Fully-qualified record name."
},
"type": {
"type": "string",
"knownValues": [
"TXT",
"CNAME",
"ALIAS",
"ANAME",
"A",
"AAAA"
]
},
"value": {
"type": "string"
},
"purpose": {
"type": "string",
"knownValues": [
"ownership",
"certificate",
"traffic"
]
},
"required": {
"type": "boolean"
}
}
},
"spaceSyncState": {
"type": "string",
"knownValues": [
"connecting",
"syncing",
"synced",
"credential-expired",
"registration-lapsed",
"app-not-allowed",
"authority-unreachable",
"deleted",
"disconnected"
]
},
"validationError": {
"type": "object",
"required": [
"name",
"message"
],
"properties": {
"name": {
"type": "string",
"description": "A DESIGN.md ยง3.8 error name, e.g. DuplicatePath, RedirectTargetNotFound, ParameterTypeMismatch."
},
"path": {
"type": "string",
"description": "JSON Pointer into the record, when the error concerns one field or entry."
},
"message": {
"type": "string"
}
}
},
"verificationView": {
"type": "object",
"required": [
"status",
"checks"
],
"properties": {
"checks": {
"type": "array",
"items": {
"ref": "#verificationCheck",
"type": "ref"
}
},
"status": {
"ref": "#domainStatus",
"type": "ref"
},
"lastCheckedAt": {
"type": "string",
"format": "datetime"
}
}
},
"preparationStatus": {
"type": "object",
"required": [
"state",
"cid",
"fetched",
"pending",
"failed"
],
"properties": {
"cid": {
"type": "string",
"format": "cid"
},
"state": {
"type": "string",
"knownValues": [
"preparing",
"pending-publication",
"expired"
]
},
"failed": {
"type": "array",
"items": {
"ref": "#blobFailure",
"type": "ref"
}
},
"fetched": {
"type": "integer"
},
"pending": {
"type": "integer"
},
"expiresAt": {
"type": "string",
"format": "datetime"
}
}
},
"verificationCheck": {
"type": "object",
"required": [
"name",
"passed",
"checkedAt"
],
"properties": {
"name": {
"type": "string",
"knownValues": [
"ownership",
"traffic",
"conflict"
]
},
"detail": {
"type": "string"
},
"passed": {
"type": "boolean"
},
"checkedAt": {
"type": "string",
"format": "datetime"
}
}
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}