1. Store
Returning.AI
  • Getting Started
  • Users
    • Get user
      GET
    • Get Users with Filters
      POST
    • Create New User
      POST
    • Get User Data
      POST
    • Manage User Account
      POST
    • List mini-game logs by user email
      POST
    • Get user's current Mini Games and Streak stats
      POST
    • Get User Milestones
      POST
    • Update User Data, Identifier, And Roles
      POST
    • Update User XP and Currency
      POST
  • Messaging
    • Agent messaging workflow
    • Get Messages
      GET
    • Send Message
      POST
    • Reply Message
      POST
    • React Message
      POST
    • Upload message images
      POST
  • Gamification
    • Leaderboards
      • List leaderboards with pagination
      • Create a new leaderboard
      • Update an existing leaderboard
      • Get a single leaderboard by ID
      • Delete a leaderboard
    • Streaks & Mini Games
      • List user streak logs
      • Update user spin-wheel information
    • Referral
      • Get referral programs
      • Get user's referral summary
    • Rolling Data
      • Get Daily Calculation Data
      • Get Rolling Calculation Data
    • Match Predictions
    • Get tiers and XP settings
      GET
    • Get daily user gamification history
      POST
    • Search user gamification logs
      POST
    • Get user activity stats
      POST
  • Rewards & Redemptions
    • Update redemption order status or refund
    • List redemption orders by user email
    • List redemption statuses
    • Get redemption status by ID
    • List redemption orders by community
    • Create redemption order status
    • Get redemption order status history
  • Chart Analysis
    • Create Analysis
    • Get Analysis
    • Update Analysis
    • Delete Analysis
    • List Analyses
    • Append Drawings
  • Bulk Operations
    • List bulk update jobs
    • Get bulk update job status
    • Get bulk update job details
    • Bulk update users from CSV
    • Bulk update premium currency from CSV
  • Channels
    • Iframe
    • List integration channels
  • Events
    • Outgoing webhooks
      • Encryption
      • User Joins Server
      • User Visits server
      • New Message Posted Anywhere
      • New Message Posted To channel
      • Purchased Store Item
    • Incoming webhooks
      • API Keys & Encryption
      • Send message into channels
      • Update Custom User Fields
      • Update In-game currency
  • Widgets
    • Authenticated Widgets
    • Public widgets
  • Community Analytics
    • Get Loyalty Overview
    • Get Phone Verification Contacts
  • Store
    • Purchase History
      • Update redemption instructions or voucher details
    • Categories
      • List Store categories
      • Create Store category
      • Get Store category by ID
      • Update Store category
      • Delete Store category
    • Products
      • List products
      • Update products in bulk
      • Create products in bulk
      • Create product with vouchers
      • Read product
      • Update product and append vouchers
      • Delete product
    • Redemption-transaction
      • Get redemption transaction detail
    • Get Store configuration
      GET
    • Update Store configuration
      PUT
  • Community
    • Appearance
      • Update community theme colors
      • Update community bot profile
      • Update community URL metadata
      • Update community name and URL
    • Community Users
      • Get community users
      • Get user
    • Create community
  • API Keys
    • Community API Keys
      • Create API key
      • Read API keys
      • Delete API key
      • Update API key
    • User API Keys
      • List user API keys
      • Create user API key
      • Update user API key
      • Delete user API key
      • Get current API key information
  • User Fields
    • User Field History
      • Get all user field histories in a community
      • Get user field histories for a specific field
      • Get user field histories for a specific user
      • Get user field histories of specific user field and user
      • Update A User Field Value
      • Deprecated Field-First History Write
      • Deprecated Field-First History Read
    • Get A User Field Definition
    • Update A User Field Definition
    • Create A User Field Definition
    • Delete A User Field Definition
    • List User Field Definitions
    • Delete user field
    • Update user field
    • Get specific user field
  • Legacy
    • Servers
      • Create server
      • List servers
      • Update server metadata
    • Bulk Operations
      • Bulk import users from CSV
    • Authentication
      • Secure Auth
      • Register user with password
      • Verify user email
      • Log in user with password
    • Badges
      • List badges
      • Create badge
      • Update badge
      • Delete badge
      • Remove badge from user
      • Award badge to user
    • Messaging
    • Roles & Permissions
      • List server roles
      • Create role
      • Update role
      • Delete role
      • List user roles
      • Add role to user
      • Remove role from user
    • Users
      • Upload user avatar
    • Channels
      • Create channel
      • Update channel
      • Delete channel
    • API Keys
      • List integration API keys
      • Create integration API key
      • Delete integration API key
      • Update integration API key
  • Schemas
    • Sample Schemas
    • Schemas
    • Outgoing webhooks
    • Analysis
    • Pet
    • Category
    • Tag
    • ValidationError
    • NotFoundError
    • InternalServerError
    • NotImplementedError
    • CreateUserFieldHistoryResponse
    • CreateUserFieldHistorySuccessResponse
    • UserFieldHistoryItem
    • GetUserFieldHistoriesResponse
    • UserFieldHistoriesValidationError
    • UserFieldHistoriesMetaWithValidation
    • UserFieldHistoriesMetaWithPagination
    • GetUserFieldHistoriesSuccessResponse
    • CreateUserFieldResponse
    • CreateUserFieldSuccessResponse
    • DeleteUserFieldResponse
    • DeleteUserFieldSuccessResponse
    • UserFieldCreator
    • GetUserFieldResponse
    • GetUserFieldSuccessResponse
    • ValidationErrorItem
    • GetUserFieldsMetaResponse
    • CreatorInfo
    • UserFieldResponse
    • GetUserFieldsSuccessResponse
    • UpdateUserFieldResponse
    • UpdateUserFieldPayload
    • UpdateUserFieldSuccessResponse
    • MetaResponse
    • GetUserResponse
    • GetUserSuccessResponse
    • Purchased store item
    • ErrorResponse
    • New message posted to channel
    • UpdateAnalysisRequest
    • User visits server
    • AppendDrawingsRequest
    • User join server
    • CreateAnalysisResponse
    • GetAnalysisResponse
    • UpdateAnalysisResponse
    • AppendDrawingsResponse
    • AnalysisMetadata
    • Expiry
    • Levels
    • LevelEntry
    • Drawing
    • HorizontalLineDrawing
    • LineDrawing
    • RectangleDrawing
    • ParallelDrawing
    • FibonacciRetracementDrawing
    • Coordinate
    • DrawingStyle
    • AnalysisDetail
    • AnalysisSummary
    • CreateAnalysisRequest
    • ListAnalysesResponse
    • StandardApiError
    • StandardSuccessEnvelope
    • PurchasedStoreItemEvent
    • ChannelMessagePostedEvent
    • UserVisitedCommunityEvent
    • UserJoinedCommunityEvent
  1. Store

Update Store configuration

PUT
/v1/stores

What this endpoint does#

Replace the community's Store and widget settings, then confirm that every submitted value was saved.
INFO
Workflow
Update settings → read Store settings

Quick start#

Use the environment selected by Try it. The example values are synthetic.

Authentication and permission#

SendPermissionCommunity scope
Authorization: Bearer <apiKey>storeCommunity scope is derived from the key; do not send a community identifier.

Complete examples#

{
  "isEnabled": true,
  "title": "Agent Test Store",
  "description": "<p>Synthetic Store documentation example.</p>",
  "cover": {
    "isEnabled": false,
    "light": "",
    "dark": ""
  },
  "currency": {
    "isEnabled": false,
    "name": "Coins",
    "light": "",
    "dark": ""
  },
  "widget": {
    "isEnabled": true,
    "allowedDomains": [
      "store-agent.example.invalid"
    ],
    "accessMode": "development",
    "testUsers": [],
    "testRoles": [],
    "size": {
      "mode": "dynamic",
      "width": 400,
      "height": 400
    },
    "appearance": {
      "light": {
        "name": "agent-light",
        "palette": {
          "accent": "#167A5A"
        }
      },
      "dark": {
        "name": "agent-dark",
        "palette": {
          "accent": "#62D2A2"
        }
      },
      "useCommunityTheme": false
    },
    "callToAction": {
      "isEnabled": false,
      "text": "",
      "link": ""
    },
    "userIdentifierFields": [
      {
        "id": "email",
        "field": "email",
        "label": "Email",
        "type": "default",
        "dataAttribute": "data-email"
      }
    ]
  }
}

Success and readback#

Branch on: meta.code = STORE_CONFIGURATION_UPDATED
{
  "meta": {
    "status": "success",
    "statusCode": 200,
    "code": "STORE_CONFIGURATION_UPDATED"
  },
  "message": "Update Store configuration successfully",
  "data": {
    "isEnabled": true,
    "title": "Agent Test Store",
    "description": "<p>Synthetic Store documentation example.</p>",
    "cover": {
      "isEnabled": false,
      "light": "",
      "dark": ""
    },
    "currency": {
      "isEnabled": false,
      "name": "Coins",
      "light": "",
      "dark": ""
    },
    "widget": {
      "isEnabled": true,
      "allowedDomains": [
        "store-agent.example.invalid"
      ],
      "accessMode": "development",
      "testUsers": [],
      "testRoles": [],
      "size": {
        "mode": "dynamic",
        "width": 400,
        "height": 400
      },
      "appearance": {
        "light": {
          "name": "agent-light",
          "palette": {
            "accent": "#167A5A"
          }
        },
        "dark": {
          "name": "agent-dark",
          "palette": {
            "accent": "#62D2A2"
          }
        },
        "useCommunityTheme": false
      },
      "callToAction": {
        "isEnabled": false,
        "text": "",
        "link": ""
      },
      "userIdentifierFields": [
        {
          "id": "email",
          "field": "email",
          "label": "Email",
          "type": "default",
          "dataAttribute": "data-email"
        }
      ]
    }
  }
}
CHECK
Readback
Read back with GET /v1/stores and verify every submitted setting persisted.

Errors and recovery#

Branch on meta.code, never message text.
HTTPMachine codeWhat the caller should doRetry?
400VALIDATION_FAILEDRepair errors[]; no settings persist.No, fix first
401AUTH_API_KEY_REQUIREDAdd the Authorization header.No, fix first
401AUTH_API_KEY_INVALIDReplace or rotate the key.No, fix first
401AUTH_API_KEY_VALIDATION_FAILEDAuthentication could not be completed.Yes, with backoff
403AUTH_PERMISSION_REQUIREDRequest the store permission; no resource data is returned.No, fix first
409STORE_RESOURCE_CONFLICTRe-read current settings before retrying.After reconciliation
500INTERNAL_ERRORRetry with exponential backoff and the same request context, then escalate.Yes, with backoff

Retry safety#

WARNING
Exact retry
The same complete body is idempotent. Re-read before retrying a conflict.

Gotchas#

Avoid this mistake

Next steps#

Read Store configuration
Continue with the next operation in the connected Store lifecycle.

Request

Header Params

Body Params application/jsonRequired

Examples

Responses

🟢200OK
application/json
Update store config success.
Bodyapplication/json

🟠400Bad Request
🟠401Unauthorized
🟠403Forbidden
🔴500Server Error
🔴502Bad Gateway
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request PUT 'https://api.returning.ai/v1/stores' \
--header 'Authorization: Bearer XXXXXX' \
--header 'Content-Type: application/json' \
--data '{
    "isEnabled": true,
    "title": "Rewards Store",
    "description": "<p>Redeem community rewards.</p>",
    "cover": {
        "isEnabled": false,
        "light": "",
        "dark": ""
    },
    "currency": {
        "isEnabled": false,
        "name": "Coins",
        "light": "",
        "dark": ""
    },
    "widget": {
        "isEnabled": true,
        "allowedDomains": [
            "example.com"
        ],
        "accessMode": "development",
        "testUsers": [],
        "testRoles": [],
        "size": {
            "mode": "dynamic",
            "width": 400,
            "height": 400
        },
        "appearance": {
            "light": {
                "name": "white-smoke",
                "palette": {}
            },
            "dark": {
                "name": "black-beauty",
                "palette": {}
            },
            "useCommunityTheme": false
        },
        "callToAction": {
            "isEnabled": false,
            "text": "",
            "link": ""
        },
        "userIdentifierFields": []
    }
}'
Response Response Example
200 - Success Example
{
    "meta": {
        "status": "success",
        "statusCode": 200
    },
    "message": "Update store config success.",
    "data": {
        "_id": "650a619360e8475d8ce4b2d4",
        "communityID": "6502c9e514a3e564c5c09c0a",
        "isEnabled": true,
        "title": "The Concept Trading update",
        "description": "<p>Redeem community rewards.</p>",
        "cover": {
            "isEnabled": false,
            "light": "",
            "dark": ""
        },
        "currency": {
            "isEnabled": false,
            "name": "Coins",
            "light": "",
            "dark": ""
        },
        "i18n": {
            "isTranslationEnabled": false,
            "titleTranslations": [],
            "descriptionTranslations": [],
            "translationPrompt": "",
            "translationIgnoreList": []
        },
        "widget": {
            "isEnabled": true,
            "allowedDomains": [],
            "accessMode": "live",
            "testUsers": [],
            "testRoles": [],
            "size": {
                "mode": "dynamic",
                "width": 400,
                "height": 400
            },
            "appearance": {
                "light": {
                    "name": "violet-dream",
                    "palette": {}
                },
                "dark": {
                    "name": "black-beauty",
                    "palette": {
                        "accent": "rgb(3, 169, 244)",
                        "text": "rgb(0, 150, 218)",
                        "background": "rgb(3, 23, 38)",
                        "divider": "rgb(19, 71, 95)",
                        "shadow": "rgba(26, 38, 43, .5)"
                    }
                },
                "useCommunityTheme": false
            },
            "callToAction": {
                "isEnabled": false,
                "text": "",
                "link": ""
            },
            "userIdentifierFields": [],
            "apiKey": "9d644e64ce43b0cfd4b428b03fb0f962f0f093078b2b618fbf1aaf7d8b668b06",
            "createdAt": "2026-04-15T12:41:45.223Z",
            "updatedAt": "2026-04-15T12:42:22.024Z",
            "__v": 0
        },
        "createdAt": "2026-04-15T12:41:45.223Z",
        "updatedAt": "2026-04-15T12:42:22.024Z",
        "__v": 0
    }
}
Modified at 2026-08-08 01:52:35
Previous
Get Store configuration
Next
Update community theme colors
Built with