Skip to Content

PATCH /api/v1/users/me

Update the current authenticated user’s profile. All fields are optional — only provided fields are updated. If the email is changed, emailVerified is reset to false and a verification email is sent.

Authentication: Required

Cache: None

Request Body

FieldTypeRequiredDescription
emailstringNoEmail address (must be valid format)
telegramstringNoTelegram handle (max 100 chars)
discordstringNoDiscord username (max 100 chars)
notifyOnOfferReceivedbooleanNoEnable offer received notifications
notifyOnListingSoldbooleanNoEnable listing sold notifications
minOfferThresholdnumber | nullNoMinimum offer amount to trigger notification (0+, or null to disable)

Sample Request

curl -X PATCH -H "Authorization: Bearer YOUR_JWT_TOKEN" \ -H "Content-Type: application/json" \ https://api.grails.app/api/v1/users/me \ -d '{ "email": "user@example.com", "telegram": "@myhandle", "notifyOnOfferReceived": true, "minOfferThreshold": 0.05 }'

Response

// 200 OK { "success": true, "data": { "id": 1, "address": "0x1234567890abcdef1234567890abcdef12345678", "email": "user@example.com", "emailVerified": false, "telegram": "@myhandle", "discord": null, "notifyOnOfferReceived": true, "notifyOnListingSold": true, "minOfferThreshold": 0.05, "updatedAt": "2026-04-07T12:00:00.000Z" }, "meta": { "timestamp": "2026-04-07T12:00:00.000Z", "version": "1.0.0" } }

Error Responses

StatusCodeDescription
400VALIDATION_ERRORInvalid request body
400NO_UPDATESNo fields provided to update
401UNAUTHORIZEDMissing or invalid token
404USER_NOT_FOUNDUser not found
500INTERNAL_ERRORFailed to update profile
Last updated on