---
title: "POST /v1/apps/{appId}/topics"
method: POST
path: "/v1/apps/{appId}/topics"
---

# POST /v1/apps/{appId}/topics

`POST /v1/apps/{appId}/topics`

## Path parameters

- `appId` number, required

## Request body

- CreateTopicDto
  - `name` string, required
  - `identifier` string, required

## Response `200`

- TopicEntity
  - `id` number, required
  - `appId` number, required
  - `identifier` string, nullable, required
  - `name` string, nullable, required
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, nullable, required
  - `deletedAt` string, date-time, nullable, required
  - `app` AppEntity, required
    - `id` number, required
    - `clientId` number, required
    - `apiKey` string, required
    - `notificationEnabled` boolean, required
    - `name` string, required
    - `url` string, required
    - `channelProviders` AppChannelProviderEntity[], required
      - `id` number, required
      - `app` AppEntity, required — recursive
      - `channel` object, required
      - `provider` ProviderEntity, required
        - `identifier` object, required
        - `name` string, required
        - `description` string, nullable, required
        - `integrationMessage` string, required
        - `icon` string, nullable, required
        - `channel` object, required
        - `configOptions` ProviderConfigOptionEntity[], required
          - `id` number, required
          - `provider` ProviderEntity, required — recursive
          - `config` string, required
          - `required` boolean, required
          - `description` string, required
        - `isActive` boolean, required
        - `createdAt` string, date-time, required
        - `updatedAt` string, date-time, required
        - `deletedAt` string, date-time, required
      - `configs` AppChannelProviderConfigEntity[], required
        - `id` number, required
        - `appChannelProvider` AppChannelProviderEntity, required — recursive
        - `config` string, required
        - `value` string, required
        - `isEncrypted` boolean, required
        - `appChannelProviderId` number
      - `enabled` boolean, required
      - `deliveryOrder` number, required
      - `selectionCondition` string, nullable
      - `notificationCount` number
      - `instanceName` string, nullable
    - `type` object, required
    - `subdomain` string, nullable, required
    - `apiSecret` string, required
    - `gcmKey` string, nullable, required
    - `senderId` string, nullable, required
    - `domain` string, nullable, required
    - `welcomeMessage` string, required
    - `customEvents` string, nullable, required
    - `optInType` object, required
    - `prePrompt` number, required
    - `serviceWorkerPath` string, nullable, required
    - `xPos` number, required
    - `yPos` number, required
    - `defaultPosition` string, required
    - `posTop` number, nullable, required
    - `posBottom` number, nullable, required
    - `posLeft` number, nullable, required
    - `posRight` number, nullable, required
    - `promptDelay` number, required
    - `bgcolor` string, nullable, required
    - `fcolor` string, nullable, required
    - `confirmationButtonText` string, required
    - `declineButtonText` string, required
    - `lastCheckedForCodeIntegration` string, date-time, required
    - `disableUserActivityTrackingByDefault` number, required
    - `disableLocationIpTracking` number, required
    - `websiteType` object, required
    - `siteOnboardingCompleted` number, required
    - `panelUiStyle` string, required
    - `widgetType` string, nullable, required
    - `bellIconDivId` string, nullable, required
    - `websiteIcon` string, nullable, required
    - `onBoardingStepsCompleted` object, nullable, required
    - `playSound` number, required
    - `vapidPrivateKey` string, required
    - `vapidPublicKey` string, required
    - `hideBranding` boolean, required
    - `enableUserSignatureVerification` boolean, required
    - `enableWebPush` boolean, required
    - `rsaPublicKey` string, nullable, required
    - `rtmProvider` object, required
    - `secureAuth` boolean, required
    - `deletedAt` string, date-time
    - `inAppCodeIntegration` boolean, required
    - `webPushCodeIntegration` boolean, required
    - `isDefault` boolean
    - `isProduction` boolean
    - `order` number
  - `subscriptions` TopicSubscriptionEntity[], required
    - `id` number, required
    - `topic_id` number, required
    - `topic` TopicEntity, required — recursive
    - `user_id` number, required
    - `user` UserEntity, required
      - `id` number, required
      - `siteId` number, required
      - `identifier` string, required
      - `profileDatas` UserProfileDataEntity[]
        - `id` number, required
        - `user` UserEntity, required — recursive
        - `attribute` string, required
        - `value` string, required
        - `createdAt` string, date-time, required
        - `updatedAt` string, date-time, required
        - `deletedAt` string, date-time, required
      - `preferences` UserPreferenceEntity[]
        - `id` number, required
        - `user` UserEntity, required — recursive
        - `category` CategoryEntity, required
          - `id` number, required
          - `app` AppEntity, required
            - `id` number, required
            - `clientId` number, required
            - `apiKey` string, required
            - `notificationEnabled` boolean, required
            - `name` string, required
            - `url` string, required
            - `channelProviders` AppChannelProviderEntity[], required
              - …
            - `type` object, required
            - `subdomain` string, nullable, required
            - `apiSecret` string, required
            - `gcmKey` string, nullable, required
            - `senderId` string, nullable, required
            - `domain` string, nullable, required
            - `welcomeMessage` string, required
            - `customEvents` string, nullable, required
            - `optInType` object, required
            - `prePrompt` number, required
            - `serviceWorkerPath` string, nullable, required
            - `xPos` number, required
            - `yPos` number, required
            - `defaultPosition` string, required
            - `posTop` number, nullable, required
            - `posBottom` number, nullable, required
            - `posLeft` number, nullable, required
            - `posRight` number, nullable, required
            - `promptDelay` number, required
            - `bgcolor` string, nullable, required
            - `fcolor` string, nullable, required
            - `confirmationButtonText` string, required
            - `declineButtonText` string, required
            - `lastCheckedForCodeIntegration` string, date-time, required
            - `disableUserActivityTrackingByDefault` number, required
            - `disableLocationIpTracking` number, required
            - `websiteType` object, required
            - `siteOnboardingCompleted` number, required
            - `panelUiStyle` string, required
            - `widgetType` string, nullable, required
            - `bellIconDivId` string, nullable, required
            - `websiteIcon` string, nullable, required
            - `onBoardingStepsCompleted` object, nullable, required
            - `playSound` number, required
            - `vapidPrivateKey` string, required
            - `vapidPublicKey` string, required
            - `hideBranding` boolean, required
            - `enableUserSignatureVerification` boolean, required
            - `enableWebPush` boolean, required
            - `rsaPublicKey` string, nullable, required
            - `rtmProvider` object, required
            - `secureAuth` boolean, required
            - `deletedAt` string, date-time
            - `inAppCodeIntegration` boolean, required
            - `webPushCodeIntegration` boolean, required
            - `isDefault` boolean
            - `isProduction` boolean
            - `order` number
          - `name` string, required
          - `identifier` string, required
          - `createdAt` string, date-time, required
          - `updatedAt` string, date-time, required
          - `deletedAt` string, date-time, required
          - `hideInPreferenceManager` boolean, required
          - `hideInInApp` boolean, required
        - `channel` object, required
        - `enabled` boolean, required
        - `createdAt` string, date-time, required
        - `updatedAt` string, date-time, required
      - `startedAt` number, required
      - `lastMessageFetched` number, required
      - `isWebPushChannelActive` boolean, required
      - `createdAt` string, date-time, required
      - `deletedAt` string, date-time, required
      - `lastActivityAt` string, date-time, required
    - `channel` string, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `subscribed_at` string, date-time, required

---

[API](https://skmtc.net/engagespot/apis/engagespot-api.md) · [All operations](https://skmtc.net/engagespot/apis/engagespot-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/engagespot/engagespot-api/revisions/33fd027f0b5f/schema)
