Skip to content

airdress.device_join.*

The events in the airdress.device_join family. How to read a section, and what each audience means, is on the event reference page.

Owner info App stream Functions

An enrolled device approved a join request; the sealed root is in the slot. Does not tell the other devices which one approved.

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.
  • The app’s event stream, as device_join_approved: devices it concerns hear of it at once.
  • Functions bound to this operator’s events (source: operator).

Versions

  • Version 1: first carried by operator v0.1.133.

Data

FieldTypeRequiredDescription
airdressstringyes
approved_by_enrollmentstring (uuid)yes
atstringyes
request_idstring (uuid)yes
slot_idstring (uuid)yes
JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "An enrolled device approved a join request; the sealed root is in the slot. Does not tell the other devices which one approved.",
"properties": {
"airdress": {
"type": "string"
},
"approved_by_enrollment": {
"format": "uuid",
"type": "string"
},
"at": {
"type": "string"
},
"request_id": {
"format": "uuid",
"type": "string"
},
"slot_id": {
"format": "uuid",
"type": "string"
}
},
"required": [
"airdress",
"approved_by_enrollment",
"at",
"request_id",
"slot_id"
],
"title": "DeviceJoinApproved",
"type": "object"
}

airdress.device_join.approved_by_delegation

Section titled “airdress.device_join.approved_by_delegation”
Owner info App stream Functions

A join request was approved with a root-signed delegation: nothing was sealed, so there is no slot. Clears the prompt on the other devices, as the sealed approval does.

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.
  • The app’s event stream, as device_join_approved: devices it concerns hear of it at once.
  • Functions bound to this operator’s events (source: operator).

Versions

  • Version 1: first carried by operator v0.1.133.

Data

FieldTypeRequiredDescription
airdressstringyes
approved_by_enrollmentstring (uuid)yes
atstringyes
device_kindstringyes
request_idstring (uuid)yes
JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "A join request was approved with a root-signed delegation: nothing was sealed, so there is no slot. Clears the prompt on the other devices, as the sealed approval does.",
"properties": {
"airdress": {
"type": "string"
},
"approved_by_enrollment": {
"format": "uuid",
"type": "string"
},
"at": {
"type": "string"
},
"device_kind": {
"type": "string"
},
"request_id": {
"format": "uuid",
"type": "string"
}
},
"required": [
"airdress",
"approved_by_enrollment",
"at",
"device_kind",
"request_id"
],
"title": "DeviceJoinApprovedByDelegation",
"type": "object"
}
Owner info App stream Functions

A root reset on the airdress expired an open join request.

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.
  • The app’s event stream, as device_join_declined: devices it concerns hear of it at once.
  • Functions bound to this operator’s events (source: operator).

Versions

  • Version 1: first carried by operator v0.1.133.

Data

FieldTypeRequiredDescription
airdressstringyes
atstringyes
reasonstringyesAlways reset.
request_idstring (uuid)yes
JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "A root reset on the airdress expired an open join request.",
"properties": {
"airdress": {
"type": "string"
},
"at": {
"type": "string"
},
"reason": {
"description": "Always `reset`.",
"type": "string"
},
"request_id": {
"format": "uuid",
"type": "string"
}
},
"required": [
"airdress",
"at",
"reason",
"request_id"
],
"title": "DeviceJoinClearedByReset",
"type": "object"
}
Owner warn App stream Functions

An enrolled device declined a join request.

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.
  • The app’s event stream, as device_join_declined: devices it concerns hear of it at once.
  • Functions bound to this operator’s events (source: operator).

Versions

  • Version 1: first carried by operator v0.1.133.

Data

FieldTypeRequiredDescription
airdressstringyes
atstringyes
declined_by_enrollmentstring (uuid)yes
reasonstringyesAlways declined.
request_idstring (uuid)yes
JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "An enrolled device declined a join request.",
"properties": {
"airdress": {
"type": "string"
},
"at": {
"type": "string"
},
"declined_by_enrollment": {
"format": "uuid",
"type": "string"
},
"reason": {
"description": "Always `declined`.",
"type": "string"
},
"request_id": {
"format": "uuid",
"type": "string"
}
},
"required": [
"airdress",
"at",
"declined_by_enrollment",
"reason",
"request_id"
],
"title": "DeviceJoinDeclined",
"type": "object"
}
Owner warn Functions

An approval of a join request by delegation did not verify.

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

FieldTypeRequiredDescription
approverstring (uuid)yesThe approving device’s enrollment.
reasonstringyes
request_idstring (uuid)yes
JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "An approval of a join request by delegation did not verify.",
"properties": {
"approver": {
"description": "The approving device's enrollment.",
"format": "uuid",
"type": "string"
},
"reason": {
"type": "string"
},
"request_id": {
"format": "uuid",
"type": "string"
}
},
"required": [
"approver",
"reason",
"request_id"
],
"title": "DeviceJoinDelegationRefused",
"type": "object"
}
Owner info App stream Functions

A join request expired unanswered.

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.
  • The app’s event stream, as device_join_declined: devices it concerns hear of it at once.
  • Functions bound to this operator’s events (source: operator).

Versions

  • Version 1: first carried by operator v0.1.133.

Data

FieldTypeRequiredDescription
airdressstringyes
atstringyes
reasonstringyesAlways expired.
request_idstring (uuid)yes
JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "A join request expired unanswered.",
"properties": {
"airdress": {
"type": "string"
},
"at": {
"type": "string"
},
"reason": {
"description": "Always `expired`.",
"type": "string"
},
"request_id": {
"format": "uuid",
"type": "string"
}
},
"required": [
"airdress",
"at",
"reason",
"request_id"
],
"title": "DeviceJoinExpired",
"type": "object"
}
Owner info App stream Functions

A device with no credential here asked to join this airdress. A doorbell: the label and the id, never the key, the address or the account.

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.
  • The app’s event stream, as device_join_requested: devices it concerns hear of it at once.
  • Functions bound to this operator’s events (source: operator).

Versions

  • Version 1: first carried by operator v0.1.133.

Data

FieldTypeRequiredDescription
airdressstringyes
deliveredinteger (uint)yesStreams open when it was recorded.
device_classstring or nullnoagent when an agent device asks; absent for a person’s device.
device_labelstringyes
expires_atstringyes
renewsstring or nullnoThe agent enrollment this request renews.
request_idstring (uuid)yes
JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "A device with no credential here asked to join this airdress. A doorbell: the label and the id, never the key, the address or the account.",
"properties": {
"airdress": {
"type": "string"
},
"delivered": {
"description": "Streams open when it was recorded.",
"format": "uint",
"minimum": 0,
"type": "integer"
},
"device_class": {
"description": "`agent` when an agent device asks; absent for a person's device.",
"type": [
"string",
"null"
]
},
"device_label": {
"type": "string"
},
"expires_at": {
"type": "string"
},
"renews": {
"description": "The agent enrollment this request renews.",
"format": "uuid",
"type": [
"string",
"null"
]
},
"request_id": {
"format": "uuid",
"type": "string"
}
},
"required": [
"airdress",
"delivered",
"device_label",
"expires_at",
"request_id"
],
"title": "DeviceJoinRequested",
"type": "object"
}
Owner info App stream Functions

The device that asked took its join request back.

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.
  • The app’s event stream, as device_join_declined: devices it concerns hear of it at once.
  • Functions bound to this operator’s events (source: operator).

Versions

  • Version 1: first carried by operator v0.1.133.

Data

FieldTypeRequiredDescription
airdressstringyes
atstringyes
reasonstringyesAlways withdrawn.
request_idstring (uuid)yes
JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "The device that asked took its join request back.",
"properties": {
"airdress": {
"type": "string"
},
"at": {
"type": "string"
},
"reason": {
"description": "Always `withdrawn`.",
"type": "string"
},
"request_id": {
"format": "uuid",
"type": "string"
}
},
"required": [
"airdress",
"at",
"reason",
"request_id"
],
"title": "DeviceJoinWithdrawn",
"type": "object"
}