1. Categories
Returning.AI
  • Getting Started
  • Authentication
    • Register user with password
      POST
    • Verify user email
      POST
    • Log in user with password
      POST
    • Secure Auth
      GET
  • 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
  • Messaging
    • Message Actions
      • Direct Channel
        • private DM channel
          • Reply Message
          • Send Message
          • React Message
        • public channel
          • Reply Message
          • Send Message
          • React Message
      • Forum Channel
        • Send Message
        • Reply Message
        • React Message
      • Text Channel
        • Reply Message
        • Send Message
        • React Message
      • Iframe Channel
        • Reply Message
        • Send Message
        • React Message
    • 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
    • Get tiers and XP settings
    • Get daily user gamification history
    • List user gamification logs
    • Get user activity stats
  • Rewards & Redemptions
    • Update redemption order status
    • 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
  • Store
    • Purchase History
      • Update purchase history redemption instructions or voucher details
    • Categories
      • List store categories
        GET
      • Create store category
        POST
      • Get store category by ID
        GET
      • Update store category
        PUT
      • Delete store category
        DELETE
    • Products
      • List products
      • Create products in bulk
      • Create product with vouchers
      • Update products in bulk
      • Read product
      • Update product and append vouchers
      • Delete product
    • Get store configuration
      GET
    • Update store configuration
      PUT
  • Community Analytics
    • Get Loyalty Overview
  • 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
      • Create user field history for specific user
      • Create user field history
      • Get user field histories
    • Get Specific User Field
    • Update Custom User Field
    • Create user field
    • Delete Custom User Field
    • Get all user fields for a community
    • 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
    • Badges
      • List badges
      • Create badge
      • Update badge
      • Delete badge
      • Remove badge from user
      • Award badge to user
    • Messaging
      • Reply to message
      • Send message
      • React to message
    • 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. Categories

Create store category

POST
/categories
Creates one store category for the API-key community and returns the created public category.
Use this when a partner integration needs to create a new storefront category or category shelf.
Authentication:
Bearer API key in Authorization header
API key must have the store permission
Community is resolved from the API key token; do not pass communityID
Returns 401 if the key is missing, invalid, expired, or lacks access
Side effects:
Creates one category in the store service
Publishes the store category create event
Duplicate category names in the same community return 409
Rate limits:
Standard API rate limits apply
Constraints:
name is required and must be non-empty
viewType is optional and must be full or preview; the default is full
displayOrder is optional and must be an integer greater than or equal to 0
Use roleNames, tagNames, usernames, and defaultPurchaseStatusName in partner-facing requests
Do not send communityID; it is resolved from the API key
Public responses expose roles, tags, and users as string arrays only; backend-internal IDs are not returned
Public responses expose permission combinations through combination[].values
defaultPurchaseStatus is returned as a status name string or null, never as an object
i18n controls category name translations and defaults to disabled with an empty translation list
Example - create:
// Creates a category using readable role, tag, user, and purchase-status names.
{
  "name": "Premium Rewards",
  "coverImage": "https://example.com/category.png",
  "shouldShowCover": true,
  "isArchived": false,
  "viewType": "full",
  "displayOrder": 0,
  "categoryPermission": [
    {
      "type": "role",
      "permission": {
        "roleNames": [
          "VIP Member"
        ],
        "tagNames": [
          "Early Access"
        ],
        "usernames": [
          "alex"
        ],
        "combination": [],
        "isSelectAll": false
      },
      "purchaseLimit": {
        "isEnabled": true,
        "quantity": 1,
        "intervalCount": 1,
        "intervalUnit": "months"
      },
      "accessLevel": "full-access",
      "isEnabled": true
    }
  ],
  "defaultPurchaseStatusName": "Pending",
  "i18n": {
    "isTranslationEnabled": false,
    "nameTranslations": []
  }
}
Related endpoints:
GET /categories - list store categories
GET /categories/{categoryID} - read a single store category
PUT /categories/{categoryID} - update a store category
DELETE /categories/{categoryID} - delete a store category

Request

Header Params

Body Params application/jsonRequired

Examples

Responses

🟢201Created
application/json
Created store category. Public response fields use readable strings and hide backend-internal IDs.
Bodyapplication/json

🟠400Bad Request
🟠401Unauthorized
🟠403Forbidden
🟠409
🔴500Server Error
🔴502Bad Gateway
Request Request Example
Shell
JavaScript
Java
Swift
curl --location 'https://adss-integration.returning.ai/apis/categories' \
--header 'Authorization: Bearer XXXXXX' \
--header 'Content-Type: application/json' \
--data '{
    "name": "Premium Rewards",
    "coverImage": "https://example.com/category.png",
    "shouldShowCover": true,
    "isArchived": false,
    "viewType": "full",
    "displayOrder": 0,
    "categoryPermission": [
        {
            "type": "role",
            "permission": {
                "roleNames": [
                    "VIP Member"
                ],
                "tagNames": [
                    "Early Access"
                ],
                "usernames": [
                    "alex"
                ],
                "combination": [],
                "isSelectAll": false
            },
            "purchaseLimit": {
                "isEnabled": true,
                "quantity": 1,
                "intervalCount": 1,
                "intervalUnit": "months"
            },
            "accessLevel": "full-access",
            "isEnabled": true
        }
    ],
    "defaultPurchaseStatusName": "Pending",
    "i18n": {
        "isTranslationEnabled": false,
        "nameTranslations": []
    }
}'
Response Response Example
201 - Success Example
{
    "meta": {
        "status": "success",
        "statusCode": 201
    },
    "message": "Create category success.",
    "data": {
        "_id": "67bc22b591b5284096627c6c",
        "communityID": "6502c97314a3e564c5bbfa84",
        "name": "Premium Rewards",
        "coverImage": "https://example.com/category.png",
        "shouldShowCover": true,
        "isArchived": false,
        "viewType": "full",
        "displayOrder": 0,
        "categoryPermission": [
            {
                "type": "role",
                "permission": {
                    "roles": [
                        "VIP Member"
                    ],
                    "tags": [
                        "Early Access"
                    ],
                    "users": [
                        "alex"
                    ],
                    "combination": [],
                    "isSelectAll": false
                },
                "purchaseLimit": {
                    "isEnabled": true,
                    "quantity": 1,
                    "intervalCount": 1,
                    "intervalUnit": "months"
                },
                "accessLevel": "full-access",
                "isEnabled": true
            }
        ],
        "defaultPurchaseStatus": "Pending",
        "i18n": {
            "isTranslationEnabled": false,
            "nameTranslations": []
        },
        "createdAt": "2025-02-24T07:41:41.053Z",
        "updatedAt": "2026-05-25T05:15:38.547Z"
    }
}
Modified at 2026-06-11 10:14:56
Previous
List store categories
Next
Get store category by ID
Built with