1. Store
Returning.AI
  • Getting Started
  • Bulk Operations
    • Bulk user updates
    • List bulk update jobs
      GET
    • Get bulk update job status
      GET
    • Get bulk update job details
      GET
    • Bulk update users from CSV
      POST
    • Bulk update premium currency from CSV
      POST
  • Chart Analysis
    • Create Analysis
      POST
    • Get Analysis
      GET
    • Update Analysis
      PATCH
    • Delete Analysis
      DELETE
    • List Analyses
      GET
    • Append Drawings
      POST
  • Rewards & Redemptions
    • Redemption lifecycle
    • Store catalog to redemptions
    • Update redemption order status or refund
      PUT
    • List redemption orders by user email
      POST
    • List redemption statuses
      POST
    • Get redemption status by ID
      POST
    • List redemption orders by community
      POST
    • Create redemption order status
      POST
    • Get redemption order status history
      POST
    • List redemption orders by custom-field identifier
      POST
  • Gamification
    • Leaderboards
      • 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
      • Mini-game State and History
      • List user streak logs
      • List mini-game logs by user email
      • Get current mini-game and streak state
      • Update user spin-wheel information
    • Referral
      • Referral Program Integration
      • Get referral programs
      • Get user's referral summary
    • Rolling Data
    • Match Predictions
      • Create match prediction
      • List match predictions
      • Get match prediction
      • Patch match prediction
      • Publish match prediction
      • Settle match prediction
      • Get settlement results
      • Void match prediction
      • Bulk update match predictions
      • Get bulk job status
      • Get bulk job results
    • Loyalty Points
      • Create loyalty points export
      • Get loyalty points export status
      • Get loyalty points export download link
    • Quizzes
      • Create quiz
      • List quizzes
      • Get quiz
      • Update quiz
      • Delete quiz
      • Add quiz question
      • Update quiz question
      • Delete quiz question
    • Get tier configuration
    • Get daily user XP and coin changes
    • Search user gamification logs
    • Get user activity stats
  • Messaging
    • Agent messaging workflow
    • Get Messages
    • Send Message
    • Reply Message
    • React Message
    • Upload message images
  • Users
    • User directory and provisioning
    • Get Users with Filters
    • Create New User
    • Get User Data
    • Manage User Account
    • Get User Milestones
    • Update User Data, Identifier, And Roles
  • 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
    • Channels
    • Leaderboard
    • Milestone
    • Socials
    • Store
  • Community Analytics
    • Get Loyalty Overview
    • Get Phone Verification Contacts
  • Store
    • Store journey
    • Store catalog
    • Purchase History
      • Archive or restore an order
      • 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
      • Create products in bulk
      • Create product with vouchers
      • Update products in bulk
      • Read product
      • Update product and append vouchers
      • Delete product
    • Redemption-transaction
      • Get redemption transaction detail
    • Get Store configuration
      GET
    • Update Store configuration
      PUT
  • Community
    • Community directory and appearance
    • 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
  • User Fields
    • User field definitions and history
    • User Field History
      • List Community User-Field History
      • List One Field Across Users
      • List One User Across Fields
      • List One User's One Field
      • Update A User Field Value
      • Deprecated Field-First History Write
      • Deprecated Field-First History Read
    • Create A User Field Definition
    • Get A User Field Definition
    • Update A User Field Definition
    • Delete A User Field Definition
    • List User Field Definitions
  • API Keys
    • API key lifecycle
    • 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
  • Legacy
    • Servers
      • Create server
      • List servers
      • Update server metadata
    • Bulk Operations
      • Bulk import users from CSV
    • Authentication
      • Register user with password
      • Verify user email
      • Log in user with password
      • Secure Auth
    • 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
      • Get user
      • 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
  • Community Logs
    • Retrieve and export community logs
  1. Store

Update Store configuration

PUT
https://sgtr-api.returning.ai/v1/stores
Store / Catalog

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 /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 the field-keyed detail map; 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
502STORE_DEPENDENCY_UNAVAILABLERetry after a short backoff; the Store dependency is unavailable.Yes, with backoff
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 configuration succeeded.
Bodyapplication/json

🟠400Bad Request
🟠401Unauthorized
🟠403Forbidden
🟠409Error
🔴500Server Error
🔴502Bad Gateway
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request PUT 'https://sgtr-api.returning.ai/v1/stores' \
--header 'Authorization: Bearer XXXXXX' \
--header 'Content-Type: application/json' \
--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"
      }
    ]
  }
}'
Response Response Example
200 - Success Example
{
  "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"
        }
      ]
    },
    "widgetID": "650906d314a3e564c56f3450"
  }
}
Modified at 2026-08-15 18:35:40
Previous
Get Store configuration
Next
Community directory and appearance
Built with