From
bafyreiaozlj6yzlsj7kl5y5ooo2cpy5ivtjxrpucf3hcw7qecj2k4o5qqu
indexed 2026-10-23 07:24 UTC
View this version
To
bafyreieaf57nbtjbsovxudbuvqsxgzrlsdvcr2oe5v4qo5cwyxnypenlpe
indexed 2026-11-02 10:40 UTC
View this version
Compatibility
backward compatible No changes detected.
Changes
11
{22
"$type": "com.atproto.lexicon.schema",33
"defs": {44
"main": {5
"description": "Sign a parent account in to ILLI from the device without a screen: the device presents the parent's scoped deviceApp app password (which it keeps) and its attestation; the Service Agent Node opens the delegated session, joins the account to the service sphere on first use and returns the device-app session. Used at first connection and at every re-login.",5
"description": "Sign a parent account in to ILLI from the device without the PDN's OAuth sign-in and consent screen: the device presents the parent's scoped deviceApp app password (which it keeps) and its attestation; the Service Agent Node opens the delegated session, joins the account to the service sphere on first use and returns the device-app session. Used at first connection and at every re-login.",66
"errors": [77
{88
"name": "InvalidAppPassword"99
},1010
{1111
"name": "WrongScope"1212
},1313
{1414
"name": "InvalidAttestation"1515
},1616
{1717
"name": "DeviceRevoked"1818
},1919
{2020
"name": "ParentLimitReached"2121
},2222
{2323
"name": "ParentAlreadyLinked"2424
},2525
{2626
"name": "RateLimitExceeded"2727
}2828
],2929
"input": {3030
"encoding": "application/json",3131
"schema": {3232
"properties": {3333
"appPassword": {3434
"type": "string"3535
},3636
"attestation": {3737
"description": "Device attestation: production = an Android key-attestation statement whose certificate chain roots at Newnal's RKP CA and whose challenge is the nonce from account.getAttestationNonce, as a compact JWS with the x5c certificate chain; PoC = mock:device:<secret>.",3838
"type": "string"3939
},4040
"deviceId": {4141
"maxLength": 64,4242
"type": "string"4343
},4444
"did": {4545
"format": "did",4646
"type": "string"4747
},4848
"slot": {4949
"maximum": 2,5050
"minimum": 1,5151
"type": "integer"5252
}5353
},5454
"required": [5555
"deviceId",5656
"did",5757
"appPassword",5858
"attestation"5959
],6060
"type": "object"6161
}6262
},6363
"output": {6464
"encoding": "application/json",6565
"schema": {6666
"properties": {6767
"deviceStatus": {6868
"knownValues": [6969
"registered",7070
"awaitingLink",7171
"active",7272
"unlinked",7373
"retired"7474
],7575
"type": "string"7676
},7777
"did": {7878
"format": "did",7979
"type": "string"8080
},8181
"expiresAt": {8282
"format": "datetime",8383
"type": "string"8484
},8585
"handle": {8686
"format": "handle",8787
"type": "string"8888
},8989
"token": {9090
"description": "The device-app session token for native clients; web clients receive it as the illi_session cookie.",9191
"type": "string"9292
}9393
},9494
"required": [9595
"did",9696
"handle"9797
],9898
"type": "object"9999
}100100
},101101
"type": "procedure"102102
}103103
},104104
"id": "ai.newnal.illi.account.parent.signIn",105105
"lexicon": 1106106
}