Identities
Temporary identity endpoints used for auto-login flows
Creates a temporary identity used for auto-login. This endpoint requires a Signed Fetch request per ADR-44. Requests signed by scenes are rejected.
Body
Responses
201
Identity created
application/json
identityIdstring · uuidRequired
Unique identity identifier
expirationstring · date-timeRequired
Identity expiration time (ISO 8601)
400
Invalid request or auth chain
application/json
401
Ephemeral key expired
application/json
403
Authorization mismatch or invalid signer
application/json
post/identities
POST /identities HTTP/1.1
Host: auth-api.decentraland.org
Content-Type: application/json
Accept: */*
Content-Length: 342
{
"identity": {
"expiration": "2024-01-01T12:10:00.000Z",
"ephemeralIdentity": {
"address": "0x1234567890123456789012345678901234567890",
"publicKey": "0x...",
"privateKey": "0x..."
},
"authChain": [
{
"type": "SIGNER",
"payload": "0x1234567890123456789012345678901234567890",
"signature": "0x..."
},
{
"type": "ECDSA_EPHEMERAL",
"payload": "...",
"signature": "0x..."
}
]
}
}{
"identityId": "123e4567-e89b-12d3-a456-426614174000",
"expiration": "2026-01-01T00:00:00.000Z"
}Retrieves an identity by ID for auto-login. The identity is deleted after a successful retrieval. The request must originate from the same IP (flexible matching) used when creating the identity.
Path parameters
idstring · uuidRequired
Identity ID
Responses
200
Identity retrieved
application/json
400
Invalid identity format
application/json
403
IP address mismatch
application/json
404
Identity not found
application/json
410
Identity expired
application/json
get/identities/{id}
GET /identities/{id} HTTP/1.1
Host: auth-api.decentraland.org
Accept: */*
{
"identity": {
"expiration": "2026-01-01T00:00:00.000Z",
"ephemeralIdentity": {
"address": "text",
"publicKey": "text",
"privateKey": "text"
},
"authChain": [
{
"type": "text",
"payload": "text",
"signature": "text"
}
]
}
}Last updated