Skip to main content
POST
/
api
/
v1
/
agents
/
{id}
/
avatar
Upload agent avatar from base64 image data
curl --request POST \
  --url https://mcp.echozero.app/api/v1/agents/{id}/avatar \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "imageData": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAB..."
}
'
{
  "success": true,
  "data": {
    "agentId": "<string>",
    "avatarUrl": "<string>",
    "imageUrl": "<string>"
  }
}

Authorizations

Authorization
string
header
required

User JWT access token issued by POST /api/auth/verify or POST /api/auth/social/verify. Routes that accept both auth modes declare api-key and bearer-jwt security schemes.

Headers

x-signature
string

HMAC-SHA256 signature: HMAC-SHA256(secretKey, timestamp + METHOD + path + body). Optional -- when omitted, HMAC verification is skipped.

x-timestamp
string

Request timestamp in epoch milliseconds. Required when x-signature is provided. Rejected if drift exceeds 5 minutes.

Path Parameters

id
string
required

Body

application/json
imageData
string
required

Base64 image bytes. Data URLs such as data:image/png;base64,... are also accepted.

Example:

"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAB..."

mimeType
string

Required when imageData is raw base64. Ignored when imageData is a data URL.

Example:

"image/png"

Response

Uploaded agent avatar URL.

success
boolean
required
Example:

true

data
object
required

Endpoint-specific payload