ai.newnal.illi.account.requestPDNCreationGrant

illi-service.newnal.id

Documentation

Issue a 60-second creation grant (a service-auth JWT for the PDN's ai.newnal.pdn.server.createAttestedAccount) to an attested ILLI client. In the PoC a device needs no attestation; in production the manufacturing-key or platform attestation is mandatory.

main procedure

Issue a 60-second creation grant (a service-auth JWT for the PDN's ai.newnal.pdn.server.createAttestedAccount) to an attested ILLI client. In the PoC a device needs no attestation; in production the manufacturing-key or platform attestation is mandatory.

Input

Encodingapplication/json
attestation string Optional

Client attestation bound to a nonce from account.getAttestationNonce: device = Android key attestation rooted at Newnal's RKP CA; familyApp = Play Integrity / App Attest; PoC = mock:<client>:<secret>.

client string Required

No description available.

deviceId string Optional

No description available.

maxLength: 64 bytes

Output

Encodingapplication/json
expiresAt stringdatetime Required

An RFC 3339 formatted timestamp.

grant string Required

No description available.

pdnDid stringdid Required

A decentralized identifier (DID).

pdnUrl stringuri Required

A valid URI.

Errors

InvalidAttestation
DeviceRevoked
RateLimitExceeded
Try It

Requests are sent directly from your browser. Some servers may block requests due to CORS.

Base URL for XRPC calls (e.g., https://bsky.social)
Enter valid JSON for the request body
View raw schema
{
  "description": "Issue a 60-second creation grant (a service-auth JWT for the PDN's ai.newnal.pdn.server.createAttestedAccount) to an attested ILLI client. In the PoC a device needs no attestation; in production the manufacturing-key or platform attestation is mandatory.",
  "errors": [
    {
      "name": "InvalidAttestation"
    },
    {
      "name": "DeviceRevoked"
    },
    {
      "name": "RateLimitExceeded"
    }
  ],
  "input": {
    "encoding": "application/json",
    "schema": {
      "properties": {
        "attestation": {
          "description": "Client attestation bound to a nonce from account.getAttestationNonce: device = Android key attestation rooted at Newnal's RKP CA; familyApp = Play Integrity / App Attest; PoC = mock:<client>:<secret>.",
          "type": "string"
        },
        "client": {
          "knownValues": [
            "device",
            "familyApp"
          ],
          "type": "string"
        },
        "deviceId": {
          "maxLength": 64,
          "type": "string"
        }
      },
      "required": [
        "client"
      ],
      "type": "object"
    }
  },
  "output": {
    "encoding": "application/json",
    "schema": {
      "properties": {
        "expiresAt": {
          "format": "datetime",
          "type": "string"
        },
        "grant": {
          "type": "string"
        },
        "pdnDid": {
          "format": "did",
          "type": "string"
        },
        "pdnUrl": {
          "format": "uri",
          "type": "string"
        }
      },
      "required": [
        "grant",
        "pdnUrl",
        "pdnDid",
        "expiresAt"
      ],
      "type": "object"
    }
  },
  "type": "procedure"
}

Lexicon Garden

@