> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.dumgum.com/llms.txt
> Use this file to discover all available pages before exploring further.

# User Suggestions

> Generate suggestions for the user based on the provided conversation history



## OpenAPI

````yaml POST /cs/v1/content_creation/suggestion
openapi: 3.1.0
info:
  title: DumGum
  version: '2.0'
servers:
  - url: https://api.dumgum.com
security:
  - bearerAuth: []
paths:
  /cs/v1/content_creation/suggestion:
    post:
      tags:
        - content-creation
      summary: Generate suggestions
      description: >-
        Generate suggestions for the user based on the provided conversation
        history
      operationId: content-creation-suggestion-generate
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IcebreakerSuggestionRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/SuggestionResponse'
components:
  schemas:
    IcebreakerSuggestionRequest:
      type: object
      properties:
        userProfile:
          $ref: '#/components/schemas/Profile'
          description: >-
            A user profile; this will represent the profile that will receive
            the generated suggestions.
        personaProfile:
          $ref: '#/components/schemas/Profile'
          description: >-
            A persona profile; this will represent the profile that supposed to
            receive the suggestions
        language:
          type: string
          description: The language used to generate the suggestions.
          enum:
            - EN
            - EN_GB
            - FR
            - FR_BE
            - RO
            - NL
            - ES
            - DE
            - DE_CH
            - DE_AT
            - IT
            - ES_LATAM
            - BG
            - HE
            - JA
            - NL_BE
            - EN_AU
            - PT_PT
            - PT_BR
            - SV_SE
            - DA_DK
            - FI_FI
            - PL_PL
            - LT_LT
            - NB_NO
            - NN_NO
            - SL_SI
            - HU
            - HU_HU
            - CS_CZ
            - EL_GR
            - EL_GR_LATIN
            - EL_GR_GREEK
            - HR_HR
            - TR_TR
            - EN_IE
            - AF_ZA
            - ZU_ZA
            - LV_LV
            - SK_SK
            - GA_IE
            - SR_RS
            - ET_EE
            - EN_CA
            - FR_CA
            - RU_RU
            - UA_UA
        messages:
          type: array
          description: A list of message describing the history of the conversation
          items:
            $ref: '#/components/schemas/MessageElement'
      required:
        - language
        - messages
        - personaProfile
        - userProfile
    SuggestionResponse:
      type: object
      description: Represents a list of suggestions generated by our platform.
      properties:
        suggestions:
          type: array
          description: A array of 3 suggestions as text.
          example: >-
            ['Lorem ipsum dolor sit amet.', 'Consectetur adipiscing elit.', 'Sed
            do eiusmod tempor incididunt ut labore et dolore magna aliqua.']
          items:
            type: string
      required:
        - suggestions
    Profile:
      type: object
      properties:
        id:
          type: string
          description: >-
            The profile's ID (must be the same as the `profileId` parameter
            passed to the endpoint).
        gender:
          type: string
          description: Gender of the profile owner.
          enum:
            - WOMAN
            - MAN
            - TRANS_MAN
            - TRANSMASCULINE
            - TRANS_WOMAN
            - TRANSFEMININE
        version:
          type: string
          description: >-
            An arbitrary string compared against the one stored in our profile
            database; any mismatch will trigger a profile data refresh.

            For example, you can use the latest update date as the version
            number.
          example: '2025-01-01T12:34:20Z'
        firstName:
          type: string
          description: >-
            First name of the profile owner.

            **You must provide either a first name or a nickname. At least one
            is required.**
        nickname:
          type: string
          description: >-
            Nickname of the profile owner.

            **You must provide either a first name or a nickname. At least one
            is required.**
        description:
          type: string
          description: Description of the profile.
        birthdate:
          type: string
          format: yyyy-MM-dd
          description: Birthdate of the profile owner, formatted as `yyyy-MM-dd`.
          example: '1990-05-14'
        countryCode:
          type: string
          description: >-
            Country code of the profile owner. **Must be a two-letter ISO 3166-1
            alpha-2 code.**
          example: FR
          maxLength: 2
          minLength: 2
        city:
          type: string
          description: >-
            City of the profile owner. You must provide a country code for this
            parameter to be used by our system. If no country code is provided,
            the city will be ignored.
          maxLength: 64
          minLength: 0
        postalCode:
          type: string
          description: >-
            Postal code of the profile owner. You must provide a country code
            for this parameter to be used by our system. If no country code is
            provided, the postal code will be ignored.
          maxLength: 64
          minLength: 0
        timeZone:
          type: string
          description: >-
            Time zone of the profile owner. See our [supported time zones
            list](/api-reference/content-creation/additional-resources/supported-time-zones).
          example: Europe/Paris
        features:
          $ref: '#/components/schemas/ContentCreationProfileFeatureSet'
          description: Features of the profile.
        personality:
          type: string
          description: Personality of the profile.
          enum:
            - SUPPORTIVE
            - TEASING
            - CONFIDENT
            - GEEKY
            - POETIC
            - HIGH_ENERGY
            - INTELLECTUAL
            - ROMANTIC
            - SARCASTIC
            - POSSESSIVE
            - NATURAL
            - APPRECIATIVE
            - PASSIONATE
        mainPictureUrl:
          type: string
          description: URL of the main picture. Must be HTTPS
          example: https://example.org/images/public.jpg
        pictures:
          type: array
          description: List of public picture URLs. All URLs must be HTTPS
          example:
            - https://example.org/images/public.jpg
          items:
            type: string
        privatePictures:
          type: array
          description: List of private picture URLs. All URLs must be HTTPS
          example:
            - https://example.org/images/private.jpg
          items:
            type: string
        expiresAt:
          type: string
          format: date-time
          description: >-
            An ISO-8601 formatted date. By default, set to one week after
            profile creation.

            Purges profile data when reached; fresh data is fetched on next use.

            Avoid setting durations shorter than 24 hours.

            Use the version parameter for user profile updates.
          example: '2025-01-01T12:34:20Z'
        children:
          type: array
          description: List of children the profile has.
          items:
            $ref: '#/components/schemas/Child'
        pets:
          type: array
          description: List of pets the profile has.
          items:
            $ref: '#/components/schemas/Pet'
      required:
        - gender
        - id
    MessageElement:
      type: object
      properties:
        id:
          type: string
          description: >-
            The unique identifier of the message. This is used by our system to
            deduplicate messages.
        sender:
          type: string
          description: >
            The sender of the message. Possible values are `USER` and `PERSONA`.

            - `USER` represents a user message ;

            - `PERSONA` represents a message sent by a persona (the profile for
            which we are going to generate content).
          enum:
            - USER
            - PERSONA
        date:
          type: string
          format: date-time
          description: Message timestamp in ISO-8601 format.
          example: '2023-04-25T10:00:00Z'
        pictureUrls:
          type: array
          description: >-
            The URL of the image associated with the message.

            This will be analyzed if the vision is enabled for the current
            request.
          items:
            type: string
            pattern: ^https?://.*
          pattern: ^https?://.*
        poke:
          type: boolean
          description: Flag the message as a poke, our chat models will react to it.
        gifts:
          type: array
          description: Flag the message as a gift, our chat models will react to it.
          items:
            $ref: '#/components/schemas/ConversationGift'
        sticker:
          type: string
          description: >-
            A text description of a sticker sent alongside the message. Our chat
            models will react to it naturally.
          maxLength: 160
          minLength: 0
        text:
          type: string
          description: >-
            Message's text content, can be `null` if the message does not
            contains text.
          maxLength: 512
          minLength: 0
      required:
        - date
        - id
        - sender
    ContentCreationProfileFeatureSet:
      type: object
      properties:
        ethnicity:
          type: string
          description: The ethnicity of the profile. Default is `null`.
          enum:
            - ASIAN
            - BLACK
            - CAUCASIAN
            - MIDDLE_EAST
            - HISPANIC_LATINO
            - INDIAN
            - MEDITERRANEAN
            - OTHER
            - UNCERTAIN
        height:
          type: integer
          format: int32
          description: >-
            Height in **metric** by default (cm). Set `unitSystem` to `IMPERIAL`
            for inches.
        weight:
          type: integer
          format: int32
          description: >-
            Weight in **metric** by default (kg). Set `unitSystem` to `IMPERIAL`
            for pounds.
        eyesColor:
          type: string
          description: The color of the eyes. Default is `null`.
          enum:
            - BLACK
            - BLUE_GREY
            - BLUE
            - BROWN
            - GREEN_BLUE
            - GREEN
            - GREY
            - OTHER
            - UNKNOWN
        hairColor:
          type: string
          description: The color of the hair. Default is `null`.
          enum:
            - BLACK
            - BLOND
            - BROWN
            - DARK_BLOND
            - GREY
            - RED
            - WHITE
            - OTHER
            - UNKNOWN
        hairLength:
          type: string
          description: The length of the hair. Default is `null`.
          enum:
            - AVERAGE
            - BALD
            - HALF_LONG
            - LONG
            - SHORT
            - VERY_LONG
            - VERY_SHORT
        maritalStatus:
          type: string
          description: The marital status of the profile. Default is `null`.
          enum:
            - SINGLE
            - SEPARATED
            - IN_RELATIONSHIP
            - MARRIED
            - DIVORCED
            - WIDOW
        job:
          type: string
          description: The job of the profile. Default is `null`.
          maxLength: 32
        working:
          type: boolean
          default: null
          description: >-
            Explicitly controls whether the profile is currently working. When
            set, this takes precedence over inferring the working status from
            the presence of the `job` attribute. Defaults to `null`, in which
            case the working status is determined by whether `job` is set.
        interests:
          type: array
          description: The interests of the profile. Default is an empty array.
          items:
            type: string
            enum:
              - TAILORING
              - BOOK_READING
              - TRAVELING
              - COOKING
              - GARDENING
              - PHOTOGRAPHY
              - PAINTING
              - MUSIC
              - MOVIES
              - CYCLING
              - HIKING
              - FITNESS
              - GAMING
              - DANCING
              - YOGA
              - SOFTWARE_DEVELOPMENT
              - DIY_PROJECTS
              - WRITING
              - LANGUAGES
              - ASTRONOMY
              - VOLUNTEERING
              - FISHING
              - BIRD_WATCHING
              - SPORTS
              - EDUCATION
              - ECONOMY
              - FOOD_DRINKING
              - CULINARY
              - TECHNOLOGY
              - MEDICAL
              - NATURE
              - CULTURE
              - ART
          uniqueItems: true
        bdsmInterests:
          type: array
          description: The BDSM interests of the profile. Default is an empty array.
          items:
            type: string
            enum:
              - BDSM_BLOOD_PLAY
              - BDSM_BONDAGE
              - BDSM_BREATH_PLAY
              - BDSM_BUTTOCKS
              - BDSM_DOMINATION
              - BDSM_EDGE_PLAY
              - BDSM_FIRE_PLAY
              - BDSM_FISTING
              - BDSM_FLOGGING
              - BDSM_GOLDEN_SHOWER
              - BDSM_HARD
              - BDSM_KINKSTER
              - BDSM_KNIFE_PLAY
              - BDSM_MASOCHIST
              - BDSM_NEEDLE_PLAY
              - BDSM_ORGASM_DENIAL
              - BDSM_PET_PLAY
              - BDSM_QUEENING_FACESITTING
              - BDSM_SADISM
              - BDSM_SOFT
              - BDSM_STRAP_ON_DILDO
              - BDSM_SUBMISSION
              - BDSM_SUSPENSION
              - BDSM_ZENTAI
          uniqueItems: true
        sexualInterests:
          type: array
          description: The sexual interests of the profile. Default is an empty array.
          items:
            type: string
            enum:
              - ANAL
              - VAGINAL
              - ORAL_GIVING
              - ORAL_RECEIVING
              - KISSING
              - CUDDLING
              - DOMINANCE
              - SUBMISSION
              - BDSM
              - ROLEPLAY
              - PUBLIC_SEX
              - GROUP_SEX
              - SWINGING
              - WATCHING
              - BEING_WATCHED
              - THREESOME
              - FOREPLAY
              - DIRTY_TALK
              - SENSUAL_MASSAGE
              - TOYS
              - LIGHT_BONDAGE
              - SPANKING
              - CHOKING
              - FEET
              - EXHIBITIONISM
              - VOYEURISM
          uniqueItems: true
        lookingFor:
          type: array
          description: The profile looking for genders. Default is an empty array.
          items:
            type: string
            enum:
              - MAN
              - WOMAN
          uniqueItems: true
        sexualOrientation:
          type: string
          description: The sexual orientation of the profile. Default is `null`.
          enum:
            - HETEROSEXUAL
            - GAY
            - LESBIAN
            - BISEXUAL
            - ASEXUAL
            - DEMISEXUAL
            - PANSEXUAL
            - QUEER
            - QUESTIONING
            - AROMANTIC
            - OMNISEXUAL
            - OTHER
        childrenCount:
          type: integer
          format: int32
          description: The number of children the profile has. Default is `null`.
        wantsChildren:
          type: string
          description: The preference for having children. Default is `null`.
          enum:
            - 'YES'
            - 'NO'
            - MAYBE
        surgeryStatus:
          type: string
          description: >-
            For Transgender profile only. The surgery status of the profile.
            Default is `null`.
          enum:
            - UNKNOWN
            - PRE_OP
            - POST_OP
            - NON_OP
            - PREFER_NOT_TO_SAY
        unitSystem:
          type: string
          default: METRIC
          description: The unit system used for the profile. Default is `METRIC`.
          enum:
            - IMPERIAL
            - METRIC
        livingWith:
          type: string
          description: >-
            Describes the user's current living situation. Default is `null` if
            unspecified.
          enum:
            - ALONE
            - KIDS
            - PARENTS
            - ROOMMATE
            - PARTNER
            - PARTNER_AND_KIDS
        education:
          type: string
          description: The education level of the profile. Default is `null`.
          enum:
            - NO_EDUCATION
            - PRIMARY_EDUCATION
            - HIGH_SCHOOL_DIPLOMA
            - ASSOCIATES_DEGREE
            - BACHELORS_DEGREE
            - MASTERS_DEGREE
            - DOCTORATE
        religion:
          type: string
          description: The religion of the profile. Default is `null`.
          enum:
            - NO_RELIGION
            - AGNOSTIC
            - CHRISTIAN
            - CATHOLIC
            - PROTESTANT
            - MUSLIM
            - JEWISH
            - HINDU
            - BUDDHIST
            - SPIRITUAL
            - OTHER
        smoking:
          type: string
          description: The smoking habits of the profile. Default is `null`.
          enum:
            - NEVER
            - OCCASIONALLY
            - REGULARLY
            - TRYING_TO_QUIT
            - VAPING
        bodyShape:
          type: string
          description: The body shape of the profile. Default is `null`.
          enum:
            - SLIM
            - ATHLETIC
            - AVERAGE
            - FEW_EXTRA_POUNDS
            - CURVY
            - FULL_PLUS_SIZE
            - MUSCULAR
        sports:
          type: array
          description: The sports practiced by the profile. Default is an empty array.
          items:
            type: string
            enum:
              - SOCCER
              - BASKETBALL
              - TENNIS
              - SWIMMING
              - RUNNING
              - CYCLING
              - GYM_CROSSFIT
              - YOGA
              - MARTIAL_ARTS
              - VOLLEYBALL
              - GOLF
              - SKIING_SNOWBOARDING
              - RUGBY
              - SURFING
          uniqueItems: true
        musicGenres:
          type: array
          description: >-
            The music genres preferred by the profile. Default is an empty
            array.
          items:
            type: string
            enum:
              - POP
              - ROCK
              - HIP_HOP_RAP
              - RNB_SOUL
              - ELECTRONIC_DANCE
              - CLASSICAL
              - JAZZ
              - COUNTRY
              - METAL
              - INDIE_FOLK
              - LATIN
              - REGGAE
              - TECHNO
          uniqueItems: true
    Child:
      type: object
      properties:
        name:
          type: string
          description: Name of the child.
          maxLength: 32
          minLength: 1
        gender:
          type: string
          description: Gender of the child.
          enum:
            - WOMAN
            - MAN
            - TRANS_MAN
            - TRANSMASCULINE
            - TRANS_WOMAN
            - TRANSFEMININE
        age:
          type: integer
          format: int32
          description: Age of the child.
    Pet:
      type: object
      properties:
        name:
          type: string
          description: Name of the pet.
          maxLength: 32
          minLength: 1
        sex:
          type: string
          description: Sex of the pet.
          enum:
            - MALE
            - FEMALE
        age:
          type: integer
          format: int32
          description: Age of the pet.
        breed:
          type: string
          description: Breed of the pet.
          maxLength: 32
          minLength: 1
        type:
          type: string
          description: Type of the pet.
          maxLength: 32
          minLength: 1
    ConversationGift:
      type: object
      properties:
        name:
          type: string
          description: The name of the gift.
          examples:
            - Champagne & Roses
            - Teddy Bear
        tier:
          type: string
          description: The value of the gift.
          enum:
            - LOW
            - MEDIUM
            - HIGH
            - VERY_HIGH
      required:
        - name
        - tier
  securitySchemes:
    bearerAuth:
      type: http
      description: >-
        Bearer authentication header of the form `Bearer <token>`, where
        `<token>` is an access key.


        Example: `Authorization: Bearer sk-proj-XXXXXXXXX`
      scheme: bearer
      bearerFormat: JWT | Access Key

````