# dev.knotless.minutes

> Published by [lexicons.knotless.dev](https://lexicon.garden/identity/did:plc:yqsg7znbbhfmj3a2nrpnaerk)

✓ This is the authoritative definition for this NSID.

## Description

The minutes a runner's steps took for one owner's public repositories, as that runner counts them.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:yqsg7znbbhfmj3a2nrpnaerk/dev.knotless.minutes)
- [Documentation](https://lexicon.garden/lexicon/did:plc:yqsg7znbbhfmj3a2nrpnaerk/dev.knotless.minutes/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:yqsg7znbbhfmj3a2nrpnaerk/dev.knotless.minutes/examples)

## Definitions

### `dev.knotless.minutes#freeing`

**Type**: `object`

Minutes that stop counting at a time.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `at` | `string` (datetime) | Yes | When they stop counting. |
| `minutes` | `integer` | Yes | How many. |

### `dev.knotless.minutes`

**Type**: `record`

Kept in the runner's account, keyed by the owner's DID, and written again as the owner's runs end, at most every few minutes. Counts the time steps ran, not the time a run waited for a job, over the last 30 days. Private repositories' minutes are not counted here. Readers trust only a runner the repository names.

**Key**: `any`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `allowance` | `integer` | No | The minutes in 30 days this runner gives the owner's runs before they go one at a time. Absent when there is no limit. |
| `freeing` | `array` | No | When minutes counted now leave the 30 days, soonest first, for the days ahead that have any. |
| `minutes` | `integer` | Yes | The minutes their steps took in the 30 days up to `updatedAt`, rounded down. |
| `owner` | `string` (did) | No | The account whose repositories' runs these are. |
| `updatedAt` | `string` (datetime) | Yes | When the runner last counted. |

## Raw Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "freeing": {
      "description": "Minutes that stop counting at a time.",
      "properties": {
        "at": {
          "description": "When they stop counting.",
          "format": "datetime",
          "type": "string"
        },
        "minutes": {
          "description": "How many.",
          "minimum": 0,
          "type": "integer"
        }
      },
      "required": [
        "at",
        "minutes"
      ],
      "type": "object"
    },
    "main": {
      "description": "Kept in the runner's account, keyed by the owner's DID, and written again as the owner's runs end, at most every few minutes. Counts the time steps ran, not the time a run waited for a job, over the last 30 days. Private repositories' minutes are not counted here. Readers trust only a runner the repository names.",
      "key": "any",
      "record": {
        "properties": {
          "allowance": {
            "description": "The minutes in 30 days this runner gives the owner's runs before they go one at a time. Absent when there is no limit.",
            "minimum": 1,
            "type": "integer"
          },
          "freeing": {
            "description": "When minutes counted now leave the 30 days, soonest first, for the days ahead that have any.",
            "items": {
              "ref": "#freeing",
              "type": "ref"
            },
            "maxLength": 30,
            "type": "array"
          },
          "minutes": {
            "description": "The minutes their steps took in the 30 days up to `updatedAt`, rounded down.",
            "minimum": 0,
            "type": "integer"
          },
          "owner": {
            "description": "The account whose repositories' runs these are.",
            "format": "did",
            "type": "string"
          },
          "updatedAt": {
            "description": "When the runner last counted.",
            "format": "datetime",
            "type": "string"
          }
        },
        "required": [
          "minutes",
          "updatedAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "description": "The minutes a runner's steps took for one owner's public repositories, as that runner counts them.",
  "id": "dev.knotless.minutes",
  "lexicon": 1
}
```
