# airdress.revoked_grants.*

{/* Generated by scripts/generate-event-reference.mjs from https://schemas.airdress.co/operator/events/v1.json (operator v0.1.138).
    Do not edit by hand: run `pnpm generate:event-reference` and commit the result. */}

The events in the `airdress.revoked_grants` family. How to read a section, and what
each audience means, is on the [event reference](/events/) page.

## `airdress.revoked_grants.cursor_refused`

Owner warn

The hub refused the feed cursor; the whole window is read again.

**Audience: owner.** About the airdress as a whole. Only the owner receives it: the owner's devices and the owner's subscriptions.

**Where it goes**

- **The operator's journal**, as one log line at this level, and **the event log**, where `airdress events tail` reads it.
- **Subscriptions** that name it, within its audience.
- Not functions bound to this operator's events: it is kept off that path as too frequent or too internal. A subscription with a function target still receives it.

**Versions**

- Version 1: first carried by operator v0.1.138.

**Data**

It carries no fields.

<details>
<summary>JSON Schema</summary>

```json
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "description": "The hub refused the feed cursor; the whole window is read again.",
  "title": "RevokedGrantsCursorRefused",
  "type": "object"
}
```

</details>

## `airdress.revoked_grants.feed_refused`

Owner error

The hub refused the grants token, so revoked grants are not reaching this operator. Written on every poll until a new token is configured.

**Audience: owner.** About the airdress as a whole. Only the owner receives it: the owner's devices and the owner's subscriptions.

**Where it goes**

- **The operator's journal**, as one log line at this level, and **the event log**, where `airdress events tail` reads it.
- **Subscriptions** that name it, within its audience.
- Not functions bound to this operator's events: it is kept off that path as too frequent or too internal. A subscription with a function target still receives it.

**Versions**

- Version 1: first carried by operator v0.1.138.

**Data**

| Field | Type | Required | Description |
| ----- | ---- | -------- | ----------- |
| `status` | integer (uint16) | yes |  |

<details>
<summary>JSON Schema</summary>

```json
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "description": "The hub refused the grants token, so revoked grants are not reaching this operator. Written on every poll until a new token is configured.",
  "properties": {
    "status": {
      "format": "uint16",
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "status"
  ],
  "title": "RevokedGrantsFeedRefused",
  "type": "object"
}
```

</details>

## `airdress.revoked_grants.feed_unavailable`

Owner warn

The revoked-grant feed could not be read (`outcome`: unreachable or malformed). Access tokens are still accepted until they expire. Written on every poll while it lasts.

**Audience: owner.** About the airdress as a whole. Only the owner receives it: the owner's devices and the owner's subscriptions.

**Where it goes**

- **The operator's journal**, as one log line at this level, and **the event log**, where `airdress events tail` reads it.
- **Subscriptions** that name it, within its audience.
- Not functions bound to this operator's events: it is kept off that path as too frequent or too internal. A subscription with a function target still receives it.

**Versions**

- Version 1: first carried by operator v0.1.138.

**Data**

| Field | Type | Required | Description |
| ----- | ---- | -------- | ----------- |
| `outcome` | string | yes |  |

<details>
<summary>JSON Schema</summary>

```json
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "description": "The revoked-grant feed could not be read (`outcome`: unreachable or malformed). Access tokens are still accepted until they expire. Written on every poll while it lasts.",
  "properties": {
    "outcome": {
      "type": "string"
    }
  },
  "required": [
    "outcome"
  ],
  "title": "RevokedGrantsFeedUnavailable",
  "type": "object"
}
```

</details>

## `airdress.revoked_grants.learned`

Owner info Functions

Grants revoked at the hub were learned; their access tokens are refused from now on. `new` were not held before, `known` are held now.

**Audience: owner.** About the airdress as a whole. Only the owner receives it: the owner's devices and the owner's subscriptions.

**Where it goes**

- **The operator's journal**, as one log line at this level, and **the event log**, where `airdress events tail` reads it.
- **Subscriptions** that name it, within its audience.
- **Functions bound to this operator's events** (`source: operator`).

**Versions**

- Version 1: first carried by operator v0.1.138.

**Data**

| Field | Type | Required | Description |
| ----- | ---- | -------- | ----------- |
| `known` | integer (uint) | yes |  |
| `new` | integer (uint) | yes |  |

<details>
<summary>JSON Schema</summary>

```json
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "description": "Grants revoked at the hub were learned; their access tokens are refused from now on. `new` were not held before, `known` are held now.",
  "properties": {
    "known": {
      "format": "uint",
      "minimum": 0,
      "type": "integer"
    },
    "new": {
      "format": "uint",
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "known",
    "new"
  ],
  "title": "RevokedGrantsLearned",
  "type": "object"
}
```

</details>

## `airdress.revoked_grants.not_polled`

Owner warn Functions

A hub issuer is configured but no grants token is, so grants revoked at the hub are not refused here until their access tokens expire.

**Audience: owner.** About the airdress as a whole. Only the owner receives it: the owner's devices and the owner's subscriptions.

**Where it goes**

- **The operator's journal**, as one log line at this level, and **the event log**, where `airdress events tail` reads it.
- **Subscriptions** that name it, within its audience.
- **Functions bound to this operator's events** (`source: operator`).

**Versions**

- Version 1: first carried by operator v0.1.138.

**Data**

It carries no fields.

<details>
<summary>JSON Schema</summary>

```json
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "description": "A hub issuer is configured but no grants token is, so grants revoked at the hub are not refused here until their access tokens expire.",
  "title": "RevokedGrantsNotPolled",
  "type": "object"
}
```

</details>

## `airdress.revoked_grants.stream_ended`

Owner info Functions

A response opened with an access token was ended because its grant was revoked at the hub.

**Audience: owner.** About the airdress as a whole. Only the owner receives it: the owner's devices and the owner's subscriptions.

**Where it goes**

- **The operator's journal**, as one log line at this level, and **the event log**, where `airdress events tail` reads it.
- **Subscriptions** that name it, within its audience.
- **Functions bound to this operator's events** (`source: operator`).

**Versions**

- Version 1: first carried by operator v0.1.138.

**Data**

It carries no fields.

<details>
<summary>JSON Schema</summary>

```json
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "description": "A response opened with an access token was ended because its grant was revoked at the hub.",
  "title": "RevokedGrantsStreamEnded",
  "type": "object"
}
```

</details>