# space.highport.manage.setDelegationDefaultTile

> 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.manage.setDelegationDefaultTile)
- [Documentation](https://lexicon.garden/lexicon/did:plc:ciygg5hma4q7ah2kxaszkyob/space.highport.manage.setDelegationDefaultTile/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:ciygg5hma4q7ah2kxaszkyob/space.highport.manage.setDelegationDefaultTile/examples)

## Definitions

### `space.highport.manage.setDelegationDefaultTile`

**Type**: `procedure`

Set or clear the tile served on every name reserved under a delegation base whose subject has not yet published a site. The tile is pinned by CID and takes no parameters, so a tile with a required parameter is refused. It never answers /.well-known/atproto-did, which keeps returning the DID the name is reserved for. The base owner pays for the traffic. The caller must own the base, which must have delegation enabled.

#### Input

**Encoding**: `application/json`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `domain` | `string` | Yes | The base: a domain registered to the caller, with delegation enabled. |
| `tile` | `ref` → `com.atproto.repo.strongRef` | No | The tile to serve, pinning the exact version. Absent clears the default, and the names go back to answering only /.well-known/atproto-did. |

#### Output

**Encoding**: `application/json`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `defaultTile` | `ref` → `space.highport.defs#defaultTileView` | No | The stored binding. Absent when the default was cleared. |
| `domain` | `string` | Yes |  |
| `queued` | `integer` | Yes | How many reserved names the change was queued for. Names whose subject has already published are not included; their own site keeps serving. |

#### Errors

- **InvalidDomain**: Not a syntactically valid domain.
- **NotBaseOwner**: No verified or active registration of that domain belongs to the caller.
- **DelegationNotEnabled**: The domain is not a delegation base. Enable delegation before setting a default tile.
- **DefaultTilesUnsupported**: This deployment does not offer default tiles.
- **TileNotFound**: No tile is known at that URI and CID. A tile is bindable once this service has indexed it.
- **TileNotReady**: The tile is known but not ready: it is still indexing, its resources are incomplete, or it has been suspended.
- **TileNotPublic**: The tile belongs to a space. A space's tiles are private to it and cannot be served on a reserved name.
- **TileRequiresParameters**: The tile declares a required parameter. A default tile is bound with no parameters and nothing can supply one, so only a tile whose parameters are all optional can be a default. The error message names the parameters.
- **TileClaimsReservedPath**: The tile's content defines an entry at /.well-known/atproto-did. That path resolves the handle of the identity the name is reserved for, and a default tile may not answer it.

## Raw Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Set or clear the tile served on every name reserved under a delegation base whose subject has not yet published a site. The tile is pinned by CID and takes no parameters, so a tile with a required parameter is refused. It never answers /.well-known/atproto-did, which keeps returning the DID the name is reserved for. The base owner pays for the traffic. The caller must own the base, which must have delegation enabled.",
      "errors": [
        {
          "description": "Not a syntactically valid domain.",
          "name": "InvalidDomain"
        },
        {
          "description": "No verified or active registration of that domain belongs to the caller.",
          "name": "NotBaseOwner"
        },
        {
          "description": "The domain is not a delegation base. Enable delegation before setting a default tile.",
          "name": "DelegationNotEnabled"
        },
        {
          "description": "This deployment does not offer default tiles.",
          "name": "DefaultTilesUnsupported"
        },
        {
          "description": "No tile is known at that URI and CID. A tile is bindable once this service has indexed it.",
          "name": "TileNotFound"
        },
        {
          "description": "The tile is known but not ready: it is still indexing, its resources are incomplete, or it has been suspended.",
          "name": "TileNotReady"
        },
        {
          "description": "The tile belongs to a space. A space's tiles are private to it and cannot be served on a reserved name.",
          "name": "TileNotPublic"
        },
        {
          "description": "The tile declares a required parameter. A default tile is bound with no parameters and nothing can supply one, so only a tile whose parameters are all optional can be a default. The error message names the parameters.",
          "name": "TileRequiresParameters"
        },
        {
          "description": "The tile's content defines an entry at /.well-known/atproto-did. That path resolves the handle of the identity the name is reserved for, and a default tile may not answer it.",
          "name": "TileClaimsReservedPath"
        }
      ],
      "input": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "domain": {
              "description": "The base: a domain registered to the caller, with delegation enabled.",
              "maxLength": 253,
              "type": "string"
            },
            "tile": {
              "description": "The tile to serve, pinning the exact version. Absent clears the default, and the names go back to answering only /.well-known/atproto-did.",
              "ref": "com.atproto.repo.strongRef",
              "type": "ref"
            }
          },
          "required": [
            "domain"
          ],
          "type": "object"
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "defaultTile": {
              "description": "The stored binding. Absent when the default was cleared.",
              "ref": "space.highport.defs#defaultTileView",
              "type": "ref"
            },
            "domain": {
              "type": "string"
            },
            "queued": {
              "description": "How many reserved names the change was queued for. Names whose subject has already published are not included; their own site keeps serving.",
              "type": "integer"
            }
          },
          "required": [
            "domain",
            "queued"
          ],
          "type": "object"
        }
      },
      "type": "procedure"
    }
  },
  "id": "space.highport.manage.setDelegationDefaultTile",
  "lexicon": 1
}
```
