Returning.AIDevelopers
v1

API reference / Community / Appearance

.md

Update community bot profile

Change the name and avatar that your community's bot shows next to its messages.

Last updated 26 Sep 2026API v1

Method
PUT
Path
https://api.returning.ai/v1/community-bot
Permission
appearance
Retries
Safe to repeat; the same values give the same result

When to use this

  • You rebrand the bot so its messages carry your brand's name and logo.
  • You set the bot's look from your own admin tools instead of the dashboard.
  • You want to remove a custom avatar and go back to none.

Authentication#

Header
Authorization: Bearer <API_KEY>
Permission
appearanceShown in the dashboard as “Appearance”

Use a Community API key with appearance, and keep it on your server. The key decides the community, so never send a community ID. The published path lacks /v1: call PUT /v1/community-bot, because PUT /community-bot returns 404.

Behaviour#

Send only the fields you want to change; a field you leave out keeps its value. The bot's messages show the new name and avatar straight away, including for members who are online. Traders aren't notified.

avatar must point at an image file. Host it yourself, or use a URL from Upload message images. Send null to remove the avatar.

Request#

Headers#

Authorization#stringREQUIRED
Community API key with appearance.

RuleBearer <API_KEY>

Content-Type#stringREQUIRED
Request body format.

Ruleapplication/json

Body#

Send a JSON object with name, avatar or both. An empty object, or any other field, is rejected with 400.

name#stringOPTIONAL
The bot's display name. Leading and trailing spaces are removed.

Rule1-32 characters

Eg"Sample Broker Bot"

avatar#stringOPTIONAL
The bot's avatar image, or null to remove it. An https or http URL, or a path starting with /assets/files/, ending in .png, .jpg, .jpeg, .gif, .webp or .svg.

RuleImage URL or path, max 2048 chars; nullable

Eg"https://cdn.example.com/brand/bot-avatar.png"

curl --request PUT \
  --url https://api.returning.ai/v1/community-bot \
  --header 'Authorization: Bearer <API_KEY>' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Sample Broker Bot",
    "avatar": "https://cdn.example.com/brand/bot-avatar.png"
  }'

Response#

A 200 returns the whole bot profile after the change in data.

meta#objectALWAYS

Eg{"status": "success", "statusCode": 200}

status#stringALWAYS
Result of the request.

Rulesuccess

statusCode#integerALWAYS
The HTTP status, repeated.

Rule200

message#stringALWAYS
Human-readable summary. Do not branch on it.

Eg"Update community bot success."

data#objectALWAYS
The bot profile after the change.

Eg{ ... }

_id#string
The bot profile's ID.
communityID#string
Your community's ID.
name#string
The bot's display name. Bot until you set one.
avatar#string
The avatar image URL or path, or null.
createdAt#string
When the bot profile was created.
updatedAt#string
When the bot profile last changed.
{
  "meta": {
    "status": "success",
    "statusCode": 200
  },
  "message": "Update community bot success.",
  "data": {
    "_id": "66f000000000000000000a02",
    "communityID": "66f000000000000000000010",
    "name": "Sample Broker Bot",
    "avatar": "https://cdn.example.com/brand/bot-avatar.png",
    "createdAt": "2026-09-20T08:30:00.000Z",
    "updatedAt": "2026-09-26T08:30:00.000Z"
  }
}

Errors#

Every error carries meta.status and meta.statusCode, with the reason in detail. Key errors and field validation errors also carry meta.code; the empty-body 400 and the 500 and 502 errors don't.

Fix the request05

400Fix the request
The body is empty or isn't a JSON object (detail.body is Request body must be a non-empty object). Send name, avatar or both. This error has no meta.code.
400VALIDATION_FAILEDFix the request
A field breaks its rule, such as a name over 32 characters or an avatar that isn't an image URL, or the body has a field other than name and avatar. detail names it. Nothing changed.
401AUTH_API_KEY_REQUIREDFix the request
No key was sent. Send Authorization: Bearer <API_KEY>.
401AUTH_API_KEY_INVALIDFix the request
The key is unknown, expired or malformed. Use a current Community API key.
403AUTH_PERMISSION_REQUIREDFix the request
The key lacks appearance. Add the permission in Settings > Integration > API Keys.

Fix the data01

404Fix the data
The community that owns this key no longer exists. Contact Returning.AI support.

Retry with backoff03

500Retry with backoff
The change failed unexpectedly. Retry with backoff; sending the same values again is safe.
502Retry with backoff
The change couldn't be completed just now (Upstream service is temporarily unavailable.). Retry with backoff.
401AUTH_API_KEY_VALIDATION_FAILEDRetry with backoff
The key could not be checked just now. Retry with backoff; the key itself may be fine.
{
  "meta": {
    "status": "error",
    "statusCode": 400,
    "code": "VALIDATION_FAILED"
  },
  "message": "Validation failed",
  "detail": {
    "name": "name must be shorter than or equal to 32 characters"
  },
  "solution": "Please check the request and try again"
}

Next step#

Update community theme colorsPUT/v1/appearanceMatch the community's colours and logos to the bot's new look.