# link.latr.developer.defs

> Published by [samclemente.me](https://lexicon.garden/identity/did:plc:qy5pluw2bsuq2x6albsgkvx3)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:qy5pluw2bsuq2x6albsgkvx3/link.latr.developer.defs)
- [Documentation](https://lexicon.garden/lexicon/did:plc:qy5pluw2bsuq2x6albsgkvx3/link.latr.developer.defs/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:qy5pluw2bsuq2x6albsgkvx3/link.latr.developer.defs/examples)

## Definitions

### `link.latr.developer.defs#key`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `keyId` | `string` | Yes |  |
| `label` | `string` | No |  |
| `createdAt` | `string` (datetime) | Yes |  |
| `revokedAt` | `string` (datetime) | No |  |

### `link.latr.developer.defs#usage`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `buckets` | `array` | Yes |  |
| `clientId` | `string` | Yes |  |
| `remaining` | `integer` | No |  |
| `usageDate` | `string` | Yes |  |
| `dailyLimit` | `integer` | No |  |

### `link.latr.developer.defs#client`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `kind` | `string` | Yes |  |
| `clientId` | `string` | Yes |  |
| `createdAt` | `string` (datetime) | Yes |  |
| `displayName` | `string` | No |  |

### `link.latr.developer.defs#createdKey`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `keyId` | `string` | Yes |  |
| `label` | `string` | No |  |
| `apiKey` | `string` | Yes |  |
| `clientId` | `string` | Yes |  |
| `createdAt` | `string` (datetime) | Yes |  |

### `link.latr.developer.defs#usageBucket`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `routeFamily` | `string` | Yes |  |
| `requestCount` | `integer` | Yes |  |

## Raw Schema

```json
{
  "id": "link.latr.developer.defs",
  "defs": {
    "key": {
      "type": "object",
      "required": [
        "keyId",
        "createdAt"
      ],
      "properties": {
        "keyId": {
          "type": "string",
          "maxLength": 128,
          "maxGraphemes": 128
        },
        "label": {
          "type": "string",
          "maxLength": 256,
          "maxGraphemes": 128
        },
        "createdAt": {
          "type": "string",
          "format": "datetime"
        },
        "revokedAt": {
          "type": "string",
          "format": "datetime"
        }
      }
    },
    "usage": {
      "type": "object",
      "required": [
        "clientId",
        "usageDate",
        "buckets"
      ],
      "properties": {
        "buckets": {
          "type": "array",
          "items": {
            "ref": "#usageBucket",
            "type": "ref"
          }
        },
        "clientId": {
          "type": "string",
          "maxLength": 128,
          "maxGraphemes": 128
        },
        "remaining": {
          "type": "integer",
          "minimum": 0
        },
        "usageDate": {
          "type": "string",
          "maxLength": 10,
          "maxGraphemes": 10
        },
        "dailyLimit": {
          "type": "integer",
          "minimum": 0
        }
      }
    },
    "client": {
      "type": "object",
      "required": [
        "clientId",
        "kind",
        "createdAt"
      ],
      "properties": {
        "kind": {
          "type": "string",
          "maxLength": 16,
          "knownValues": [
            "developer"
          ],
          "maxGraphemes": 16
        },
        "clientId": {
          "type": "string",
          "maxLength": 128,
          "maxGraphemes": 128
        },
        "createdAt": {
          "type": "string",
          "format": "datetime"
        },
        "displayName": {
          "type": "string",
          "maxLength": 256,
          "maxGraphemes": 128
        }
      }
    },
    "createdKey": {
      "type": "object",
      "required": [
        "keyId",
        "clientId",
        "apiKey",
        "createdAt"
      ],
      "properties": {
        "keyId": {
          "type": "string",
          "maxLength": 128,
          "maxGraphemes": 128
        },
        "label": {
          "type": "string",
          "maxLength": 256,
          "maxGraphemes": 128
        },
        "apiKey": {
          "type": "string",
          "maxLength": 512,
          "maxGraphemes": 512
        },
        "clientId": {
          "type": "string",
          "maxLength": 128,
          "maxGraphemes": 128
        },
        "createdAt": {
          "type": "string",
          "format": "datetime"
        }
      }
    },
    "usageBucket": {
      "type": "object",
      "required": [
        "routeFamily",
        "requestCount"
      ],
      "properties": {
        "routeFamily": {
          "type": "string",
          "maxLength": 256,
          "maxGraphemes": 256
        },
        "requestCount": {
          "type": "integer",
          "minimum": 0
        }
      }
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
