# space.highport.defs

> Published by [lexicons.highport.space](https://lexicon.garden/identity/did:plc:ciygg5hma4q7ah2kxaszkyob)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:ciygg5hma4q7ah2kxaszkyob/space.highport.defs)
- [Documentation](https://lexicon.garden/lexicon/did:plc:ciygg5hma4q7ah2kxaszkyob/space.highport.defs/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:ciygg5hma4q7ah2kxaszkyob/space.highport.defs/examples)

## Definitions

### `space.highport.defs#jobView`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `id` | `integer` | Yes |  |
| `uri` | `string` | Yes |  |
| `state` | `string` | Yes |  |
| `action` | `string` | Yes |  |
| `attempts` | `integer` | Yes |  |
| `lastError` | `string` | No |  |
| `startedAt` | `string` (datetime) | No |  |
| `finishedAt` | `string` (datetime) | No |  |
| `scheduledAt` | `string` (datetime) | Yes |  |

### `space.highport.defs#tlsView`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `status` | `ref` → `#tlsStatus` | Yes |  |
| `issuedAt` | `string` (datetime) | No |  |
| `expiresAt` | `string` (datetime) | No |  |
| `lastError` | `string` | No |  |

### `space.highport.defs#siteView`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `cid` | `string` (cid) | Yes |  |
| `did` | `string` (did) | Yes |  |
| `rev` | `string` | Yes |  |
| `uri` | `string` (at-uri) | Yes |  |
| `tile` | `ref` → `#tileView` | No |  |
| `space` | `string` (at-uri) | No | Present for a site published from a space. |
| `domain` | `string` | Yes |  |
| `sourceKind` | `string` | Yes |  |
| `activatedAt` | `string` (datetime) | Yes |  |

### `space.highport.defs#tileView`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `cid` | `string` (cid) | Yes |  |
| `did` | `string` (did) | Yes |  |
| `uri` | `string` (at-uri) | Yes |  |
| `name` | `string` | Yes |  |
| `space` | `string` (at-uri) | No | Present for a space tile. Never shown on the public surface. |
| `state` | `string` | Yes |  |
| `handle` | `string` (handle) | No | The author's handle, present only if it resolves back to did. Often absent, for example right after a handle change or when DNS is unreachable. Show did instead. |
| `params` | `array` | No |  |
| `iconUrl` | `string` (uri) | No | https://highport.space/xrpc/space.highport.sites.getTileIcon?cid={cid}; absent if the tile has no icon. |
| `indexedAt` | `string` (datetime) | Yes |  |
| `latestCid` | `string` (cid) | No | The newest indexed version at this URI, when it differs from cid. |
| `entryCount` | `integer` | No |  |
| `totalBytes` | `integer` | No |  |
| `description` | `string` | No |  |

### `space.highport.defs#spaceView`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `uri` | `string` (at-uri) | Yes |  |
| `skey` | `string` | Yes |  |
| `policy` | `string` | No |  |
| `headRev` | `string` | No |  |
| `appAccess` | `string` | No |  |
| `authority` | `string` (did) | Yes |  |
| `syncState` | `ref` → `#spaceSyncState` | Yes |  |
| `tileCount` | `integer` | No |  |
| `connectedAt` | `string` (datetime) | Yes |  |
| `domainCount` | `integer` | No |  |
| `lastCheckedAt` | `string` (datetime) | No |  |
| `lastNotifiedAt` | `string` (datetime) | No |  |
| `accessExpiresAt` | `string` (datetime) | No | When bard's current credential for the space expires. Absent if bard holds none. |
| `accessGrantedBy` | `string` (did) | No |  |
| `queuedNotifications` | `integer` | No | Notification receipts waiting for a credential. |
| `registrationExpiresAt` | `string` (datetime) | No |  |

### `space.highport.defs#tlsStatus`

**Type**: `string`

**Known Values**:
- `none`
- `pending`
- `issued`
- `renewing`
- `failed`

### `space.highport.defs#domainView`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `did` | `string` (did) | Yes |  |
| `tls` | `ref` → `#tlsStatus` | No |  |
| `space` | `string` (at-uri) | No | The space the domain is registered to. Absent for a domain registered to a DID. The record served is the space authority's. |
| `domain` | `string` | Yes |  |
| `status` | `ref` → `#domainStatus` | Yes |  |
| `tileCid` | `string` (cid) | No |  |
| `tileUri` | `string` (at-uri) | No |  |
| `activeCid` | `string` (cid) | No |  |
| `activeRev` | `string` | No |  |
| `activeUri` | `string` (at-uri) | No |  |
| `createdAt` | `string` (datetime) | Yes |  |
| `delegation` | `ref` → `#delegationView` | No | For a base: what its owner has enabled and granted. Absent on any other domain. |
| `entryCount` | `integer` | No |  |
| `pendingCid` | `string` (cid) | No | A validated record waiting to be committed, if there is one. |
| `sourceKind` | `string` | No |  |
| `totalBytes` | `integer` | No |  |
| `verifiedAt` | `string` (datetime) | No |  |
| `activatedAt` | `string` (datetime) | No |  |
| `pendingState` | `string` | No |  |
| `delegatedBase` | `string` | No | For a name reserved under a delegation base: that base. In this case did is the identity the name was reserved for, not the base's owner. |

### `space.highport.defs#indexState`

**Type**: `string`

**Known Values**:
- `preparing`
- `pending-publication`
- `expired`
- `queued`
- `fetching`
- `materializing`
- `active`
- `superseded`
- `rejected`
- `failed`

### `space.highport.defs#spaceEvent`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `at` | `string` (datetime) | Yes |  |
| `cid` | `string` (cid) | No |  |
| `seq` | `integer` | Yes |  |
| `kind` | `string` | Yes |  |
| `actor` | `string` (did) | No |  |
| `space` | `string` (at-uri) | Yes |  |
| `subject` | `string` | No |  |

### `space.highport.defs#blobFailure`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `cid` | `string` (cid) | Yes |  |
| `role` | `string` | Yes |  |
| `error` | `string` | Yes | One of BlobUnavailable, CidMismatch or FetchFailed. |
| `sourceDid` | `string` (did) | Yes |  |

### `space.highport.defs#domainEvent`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `actor` | `string` | No |  |
| `event` | `string` | Yes |  |
| `detail` | `unknown` | No |  |
| `createdAt` | `string` (datetime) | Yes |  |

### `space.highport.defs#missingBlob`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `cid` | `string` (cid) | Yes |  |
| `role` | `string` | Yes |  |
| `sourceDid` | `string` (did) | Yes |  |

### `space.highport.defs#domainStatus`

**Type**: `string`

**Known Values**:
- `pending`
- `verifying`
- `verified`
- `active`
- `failed`
- `suspended`
- `released`

### `space.highport.defs#denylistEntry`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `kind` | `string` | Yes |  |
| `actor` | `string` | No |  |
| `reason` | `string` | No |  |
| `subject` | `string` | Yes |  |
| `createdAt` | `string` (datetime) | Yes |  |

### `space.highport.defs#delegationView`

**Type**: `object`

What a base's owner has enabled and granted. Fields other than certMode are absent when they do not apply.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `state` | `ref` → `#delegationState` | No | Absent if the base has not enabled delegation. |
| `certMode` | `string` | Yes | How names under the base get certificates. Every base starts as per-name. |
| `maxNames` | `integer` | No | The most names the base can reserve. |
| `grantedAt` | `string` (datetime) | No | When the live wildcard grant was made. |
| `defaultTile` | `ref` → `#defaultTileView` | No | The tile served on names under this base whose subject has not published a site. Absent when the base has set none. |
| `probeHostname` | `string` | No | A random name under the base, used to prove the wildcard routes. |
| `challengeTarget` | `string` | No | Where the base's _acme-challenge CNAME must point, exactly as the certificate issuer writes it. Present only while a wildcard grant is live. |
| `wildcardObservedAt` | `string` (datetime) | No | When the base's wildcard certificate first appeared in certificate storage. |

### `space.highport.defs#dnsInstruction`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `ttl` | `integer` | No |  |
| `name` | `string` | Yes | Fully-qualified record name. |
| `type` | `string` | Yes |  |
| `value` | `string` | Yes |  |
| `purpose` | `string` | No |  |
| `required` | `boolean` | No |  |

### `space.highport.defs#malwareFinding`

**Type**: `object`

One malware detection. It is recorded before anything is denied or deleted, because quarantine destroys the sample.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `id` | `integer` | Yes | The finding's ID. The matching denylist entry's reason refers to it. |
| `cid` | `string` | Yes | The content address, or `-` for a detection at upload, when nothing was stored. |
| `did` | `string` (did) | No | The repository the bytes came from. For a tile resource, that is the tile's author, not the site owner. Absent for content bard authored. |
| `uri` | `string` (at-uri) | No | The record that referenced the content. |
| `path` | `string` | No | The manifest path the bytes were mapped to, which identifies the file. Absent when there is no path: the notFound resource, an upload refused before any record referenced it, or a rescan. |
| `class` | `string` | Yes | `unwanted` is a PUA match. Under the default policy, the response stops short of the publishing identity. |
| `domain` | `string` | No | The hostname the content would have been served at. |
| `source` | `string` | Yes | Where the detection happened. `rescan`: the content was clean on arrival and a newer signature caught it. `admin`: an operator asked for this CID to be scanned. |
| `foundAt` | `string` (datetime) | Yes |  |
| `signature` | `string` | Yes | The signature name, exactly as the scanner reported it. |
| `quarantinedAt` | `string` (datetime) | No | When the response finished. Absent while it is still underway: the content is denied but may still be served. |

### `space.highport.defs#spaceSyncState`

**Type**: `string`

**Known Values**:
- `connecting`
- `syncing`
- `synced`
- `credential-expired`
- `registration-lapsed`
- `app-not-allowed`
- `authority-unreachable`
- `deleted`
- `disconnected`

### `space.highport.defs#defaultTileView`

**Type**: `object`

A base's default tile: what unclaimed names under it serve. The binding pins a CID, so a later version of the tile does not change what they serve.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `cid` | `string` (cid) | Yes | The pinned version. |
| `uri` | `string` (at-uri) | Yes | The tile record's AT-URI. |
| `name` | `string` | No | The tile's declared name, as it was when this was read. |
| `setAt` | `string` (datetime) | No | When the base owner bound it. |
| `appliedTo` | `integer` | No | How many names under the base are serving it now. Names whose subject has published their own site are not counted. |

### `space.highport.defs#delegationState`

**Type**: `string`

Where a base's delegation stands. probing: the wildcard has not been shown to route yet. enabled: it has. routing-lapsed: the wildcard stopped routing for longer than the grace period, and names under the base are suspended until it routes again.

**Known Values**:
- `probing`
- `enabled`
- `routing-lapsed`

### `space.highport.defs#edgeReachStatus`

**Type**: `string`

Whether bard's edge routes a serving hostname to this deployment. unknown: not probed yet, which is not a fault. routed: the probe reached this deployment's bard-origin. foreign: something else answered. unreachable: nothing answered. other-deployment: a different bard deployment answered. unproven: the answer looked like this deployment's but failed the reachability challenge, so something may be imitating it.

**Known Values**:
- `unknown`
- `routed`
- `foreign`
- `unreachable`
- `other-deployment`
- `unproven`

### `space.highport.defs#validationError`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `name` | `string` | Yes | A validation error name, such as DuplicatePath, RedirectTargetNotFound or ParameterTypeMismatch. |
| `path` | `string` | No | JSON Pointer to the field or entry the error is about, if there is one. |
| `message` | `string` | Yes |  |

### `space.highport.defs#edgeReachability`

**Type**: `object`

What this deployment's edge answered for a hostname, probed over the network. A site can be indexed and active while the edge has nowhere to send it, and only this field shows that.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `detail` | `string` | No | What answered, as a status line or a transport error. Meant for people; do not branch on it. |
| `domain` | `string` | Yes | The hostname that was probed. |
| `status` | `ref` → `#edgeReachStatus` | Yes |  |
| `checkedAt` | `string` (datetime) | No | When the probe was made. Absent when status is unknown. |

### `space.highport.defs#verificationView`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `checks` | `array` | Yes |  |
| `status` | `ref` → `#domainStatus` | Yes |  |
| `lastCheckedAt` | `string` (datetime) | No |  |

### `space.highport.defs#preparationStatus`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `cid` | `string` (cid) | Yes |  |
| `state` | `string` | Yes |  |
| `failed` | `array` | Yes |  |
| `fetched` | `integer` | Yes |  |
| `pending` | `integer` | Yes |  |
| `expiresAt` | `string` (datetime) | No |  |

### `space.highport.defs#verificationCheck`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `name` | `string` | Yes |  |
| `detail` | `string` | No |  |
| `passed` | `boolean` | Yes |  |
| `checkedAt` | `string` (datetime) | Yes |  |

## Raw Schema

```json
{
  "id": "space.highport.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."
        },
        "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 shown on the public surface."
        },
        "state": {
          "type": "string",
          "knownValues": [
            "indexing",
            "ready",
            "incomplete",
            "rejected",
            "suspended",
            "deleted"
          ]
        },
        "handle": {
          "type": "string",
          "format": "handle",
          "description": "The author's handle, present only if it resolves back to did. Often absent, for example right after a handle change or when DNS is unreachable. Show did instead."
        },
        "params": {
          "type": "array",
          "items": {
            "ref": "space.highport.sites.tile#param",
            "type": "ref"
          }
        },
        "iconUrl": {
          "type": "string",
          "format": "uri",
          "description": "https://highport.space/xrpc/space.highport.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 credential for the space expires. Absent if bard holds none."
        },
        "accessGrantedBy": {
          "type": "string",
          "format": "did"
        },
        "queuedNotifications": {
          "type": "integer",
          "description": "Notification 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 domain registered to a DID. The record served 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"
        },
        "delegation": {
          "ref": "#delegationView",
          "type": "ref",
          "description": "For a base: what its owner has enabled and granted. Absent on any other domain."
        },
        "entryCount": {
          "type": "integer"
        },
        "pendingCid": {
          "type": "string",
          "format": "cid",
          "description": "A validated record waiting to be committed, if there is one."
        },
        "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"
          ]
        },
        "delegatedBase": {
          "type": "string",
          "description": "For a name reserved under a delegation base: that base. In this case did is the identity the name was reserved for, not the base's owner."
        }
      }
    },
    "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": "One of BlobUnavailable, CidMismatch or 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"
        }
      }
    },
    "delegationView": {
      "type": "object",
      "required": [
        "certMode"
      ],
      "properties": {
        "state": {
          "ref": "#delegationState",
          "type": "ref",
          "description": "Absent if the base has not enabled delegation."
        },
        "certMode": {
          "type": "string",
          "description": "How names under the base get certificates. Every base starts as per-name.",
          "knownValues": [
            "per-name",
            "wildcard"
          ]
        },
        "maxNames": {
          "type": "integer",
          "description": "The most names the base can reserve."
        },
        "grantedAt": {
          "type": "string",
          "format": "datetime",
          "description": "When the live wildcard grant was made."
        },
        "defaultTile": {
          "ref": "#defaultTileView",
          "type": "ref",
          "description": "The tile served on names under this base whose subject has not published a site. Absent when the base has set none."
        },
        "probeHostname": {
          "type": "string",
          "maxLength": 253,
          "description": "A random name under the base, used to prove the wildcard routes."
        },
        "challengeTarget": {
          "type": "string",
          "description": "Where the base's _acme-challenge CNAME must point, exactly as the certificate issuer writes it. Present only while a wildcard grant is live."
        },
        "wildcardObservedAt": {
          "type": "string",
          "format": "datetime",
          "description": "When the base's wildcard certificate first appeared in certificate storage."
        }
      },
      "description": "What a base's owner has enabled and granted. Fields other than certMode are absent when they do not apply."
    },
    "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"
        }
      }
    },
    "malwareFinding": {
      "type": "object",
      "required": [
        "id",
        "cid",
        "signature",
        "class",
        "source",
        "foundAt"
      ],
      "properties": {
        "id": {
          "type": "integer",
          "description": "The finding's ID. The matching denylist entry's reason refers to it."
        },
        "cid": {
          "type": "string",
          "description": "The content address, or `-` for a detection at upload, when nothing was stored."
        },
        "did": {
          "type": "string",
          "format": "did",
          "description": "The repository the bytes came from. For a tile resource, that is the tile's author, not the site owner. Absent for content bard authored."
        },
        "uri": {
          "type": "string",
          "format": "at-uri",
          "description": "The record that referenced the content."
        },
        "path": {
          "type": "string",
          "description": "The manifest path the bytes were mapped to, which identifies the file. Absent when there is no path: the notFound resource, an upload refused before any record referenced it, or a rescan."
        },
        "class": {
          "type": "string",
          "description": "`unwanted` is a PUA match. Under the default policy, the response stops short of the publishing identity.",
          "knownValues": [
            "malware",
            "unwanted"
          ]
        },
        "domain": {
          "type": "string",
          "description": "The hostname the content would have been served at."
        },
        "source": {
          "type": "string",
          "description": "Where the detection happened. `rescan`: the content was clean on arrival and a newer signature caught it. `admin`: an operator asked for this CID to be scanned.",
          "knownValues": [
            "fetch",
            "upload",
            "rescan",
            "admin"
          ]
        },
        "foundAt": {
          "type": "string",
          "format": "datetime"
        },
        "signature": {
          "type": "string",
          "description": "The signature name, exactly as the scanner reported it."
        },
        "quarantinedAt": {
          "type": "string",
          "format": "datetime",
          "description": "When the response finished. Absent while it is still underway: the content is denied but may still be served."
        }
      },
      "description": "One malware detection. It is recorded before anything is denied or deleted, because quarantine destroys the sample."
    },
    "spaceSyncState": {
      "type": "string",
      "knownValues": [
        "connecting",
        "syncing",
        "synced",
        "credential-expired",
        "registration-lapsed",
        "app-not-allowed",
        "authority-unreachable",
        "deleted",
        "disconnected"
      ]
    },
    "defaultTileView": {
      "type": "object",
      "required": [
        "uri",
        "cid"
      ],
      "properties": {
        "cid": {
          "type": "string",
          "format": "cid",
          "description": "The pinned version."
        },
        "uri": {
          "type": "string",
          "format": "at-uri",
          "description": "The tile record's AT-URI."
        },
        "name": {
          "type": "string",
          "description": "The tile's declared name, as it was when this was read."
        },
        "setAt": {
          "type": "string",
          "format": "datetime",
          "description": "When the base owner bound it."
        },
        "appliedTo": {
          "type": "integer",
          "description": "How many names under the base are serving it now. Names whose subject has published their own site are not counted."
        }
      },
      "description": "A base's default tile: what unclaimed names under it serve. The binding pins a CID, so a later version of the tile does not change what they serve."
    },
    "delegationState": {
      "type": "string",
      "description": "Where a base's delegation stands. probing: the wildcard has not been shown to route yet. enabled: it has. routing-lapsed: the wildcard stopped routing for longer than the grace period, and names under the base are suspended until it routes again.",
      "knownValues": [
        "probing",
        "enabled",
        "routing-lapsed"
      ]
    },
    "edgeReachStatus": {
      "type": "string",
      "description": "Whether bard's edge routes a serving hostname to this deployment. unknown: not probed yet, which is not a fault. routed: the probe reached this deployment's bard-origin. foreign: something else answered. unreachable: nothing answered. other-deployment: a different bard deployment answered. unproven: the answer looked like this deployment's but failed the reachability challenge, so something may be imitating it.",
      "knownValues": [
        "unknown",
        "routed",
        "foreign",
        "unreachable",
        "other-deployment",
        "unproven"
      ]
    },
    "validationError": {
      "type": "object",
      "required": [
        "name",
        "message"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "A validation error name, such as DuplicatePath, RedirectTargetNotFound or ParameterTypeMismatch."
        },
        "path": {
          "type": "string",
          "description": "JSON Pointer to the field or entry the error is about, if there is one."
        },
        "message": {
          "type": "string"
        }
      }
    },
    "edgeReachability": {
      "type": "object",
      "required": [
        "status",
        "domain"
      ],
      "properties": {
        "detail": {
          "type": "string",
          "description": "What answered, as a status line or a transport error. Meant for people; do not branch on it."
        },
        "domain": {
          "type": "string",
          "maxLength": 253,
          "description": "The hostname that was probed."
        },
        "status": {
          "ref": "#edgeReachStatus",
          "type": "ref"
        },
        "checkedAt": {
          "type": "string",
          "format": "datetime",
          "description": "When the probe was made. Absent when status is unknown."
        }
      },
      "description": "What this deployment's edge answered for a hostname, probed over the network. A site can be indexed and active while the edge has nowhere to send it, and only this field shows that."
    },
    "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",
            "certificate"
          ]
        },
        "detail": {
          "type": "string"
        },
        "passed": {
          "type": "boolean"
        },
        "checkedAt": {
          "type": "string",
          "format": "datetime"
        }
      }
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
