---
title: "Upload avatar"
method: POST
path: "/api-regulated/v1/users/self/avatar"
tags: ["User"]
---

# Upload avatar

`POST /api-regulated/v1/users/self/avatar`

## Request

- Base URL: `https://api.currencyguard.com`
- URL: `https://api.currencyguard.com/api-regulated/v1/users/self/avatar`
- Auth: OAuth 2 (implicit, authorization URL `https://auth.currencyguard.com/oauth2/authorize`, scopes: `regulated.my-profile.canModifyMyAvatar`)

Upload an avatar for the authenticated user. Returns the updated user. Maximum file size is 500KB. The system will automatically determine user type and store the document appropriately.

**Required entitlement:** `regulated.my-profile.canModifyMyAvatar`  
_Entitles the regulated user to upload and delete their own avatar_

## Response `200`

Avatar uploaded successfully - returns updated user

## Other responses

- `400`: Invalid file — [`http/malformed-request`](/problems/http/malformed-request/)
- `401`: Not authenticated — [`security/authentication-failed`](/problems/security/authentication-failed/)
- `403`: User record not found — [`security/insufficient-permissions`](/problems/security/insufficient-permissions/)
- `413`: File too large - maximum size is 500KB — [`http/payload-too-large`](/problems/http/payload-too-large/)
- `415`: Unsupported file type - only images allowed — [`http/unsupported-media-type`](/problems/http/unsupported-media-type/)
- `500`: Server error — [`server/internal-error`](/problems/server/internal-error/)

---

[API](https://skmtc.dev/currencyguard/apis/currencyguard-trading-system-api-external.md) · [All operations](https://skmtc.dev/currencyguard/apis/currencyguard-trading-system-api-external/llms.txt) · [OpenAPI document](https://skmtc.dev/currencyguard/apis/currencyguard-trading-system-api-external/revisions/a1f3f854190d?raw)
