# cloud.substratum.place.joinPackage

> Published by [official.fileorbit.cloud](https://lexicon.garden/identity/did:plc:s6kq5tsir7nbyrciloncz5b3)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:s6kq5tsir7nbyrciloncz5b3/cloud.substratum.place.joinPackage)
- [Documentation](https://lexicon.garden/lexicon/did:plc:s6kq5tsir7nbyrciloncz5b3/cloud.substratum.place.joinPackage/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:s6kq5tsir7nbyrciloncz5b3/cloud.substratum.place.joinPackage/examples)

## Definitions

### `cloud.substratum.place.joinPackage`

**Type**: `object`

Survivor join package published to their operator PDS containing the HPKE-wrapped mesh secrets (ADR 92).

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `reason` | `string` | Yes |  |
| `groupId` | `string` | Yes |  |
| `placeId` | `string` | Yes |  |
| `createdAt` | `string` (datetime) | Yes |  |
| `expiresAt` | `string` (datetime) | Yes |  |
| `hpkeKdfId` | `integer` | Yes | HPKE KDF ID (v1 is HKDF-SHA256: 0x0001). |
| `hpkeKemId` | `integer` | Yes | HPKE KEM ID (v1 is X-Wing: 0x647a). |
| `issuerDid` | `string` (did) | Yes |  |
| `ciphertext` | `string` | Yes | Base64 encoded ciphertext. |
| `hpkeAeadId` | `integer` | Yes | HPKE AEAD ID (v1 is ChaCha20-Poly1305: 0x0003). |
| `claimerPeerId` | `string` | Yes |  |
| `consumeBudget` | `integer` | Yes |  |
| `issuerPlaceId` | `string` | Yes |  |
| `kemEphemeralPublicKey` | `string` | Yes | Base64 encoded KEM ephemeral public key. |

## Raw Schema

```json
{
  "id": "cloud.substratum.place.joinPackage",
  "defs": {
    "main": {
      "type": "object",
      "required": [
        "placeId",
        "claimerPeerId",
        "issuerPlaceId",
        "issuerDid",
        "groupId",
        "expiresAt",
        "consumeBudget",
        "reason",
        "createdAt",
        "hpkeKemId",
        "hpkeKdfId",
        "hpkeAeadId",
        "kemEphemeralPublicKey",
        "ciphertext"
      ],
      "properties": {
        "reason": {
          "type": "string"
        },
        "groupId": {
          "type": "string"
        },
        "placeId": {
          "type": "string"
        },
        "createdAt": {
          "type": "string",
          "format": "datetime"
        },
        "expiresAt": {
          "type": "string",
          "format": "datetime"
        },
        "hpkeKdfId": {
          "type": "integer",
          "description": "HPKE KDF ID (v1 is HKDF-SHA256: 0x0001)."
        },
        "hpkeKemId": {
          "type": "integer",
          "description": "HPKE KEM ID (v1 is X-Wing: 0x647a)."
        },
        "issuerDid": {
          "type": "string",
          "format": "did"
        },
        "ciphertext": {
          "type": "string",
          "description": "Base64 encoded ciphertext."
        },
        "hpkeAeadId": {
          "type": "integer",
          "description": "HPKE AEAD ID (v1 is ChaCha20-Poly1305: 0x0003)."
        },
        "claimerPeerId": {
          "type": "string"
        },
        "consumeBudget": {
          "type": "integer"
        },
        "issuerPlaceId": {
          "type": "string"
        },
        "kemEphemeralPublicKey": {
          "type": "string",
          "description": "Base64 encoded KEM ephemeral public key."
        }
      },
      "description": "Survivor join package published to their operator PDS containing the HPKE-wrapped mesh secrets (ADR 92)."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
