swagger: '2.0'
info:
  title: Prsnt Main API Documentation
  description: Prsnt Main API
  version: v1
host: api.prsnt.dev.devebs.net
schemes:
  - http
  - https
basePath: /api
consumes:
  - application/json
produces:
  - application/json
securityDefinitions:
  Bearer:
    type: apiKey
    name: Authorization
    in: header
security:
  - Bearer: []
paths:
  /attachments/:
    post:
      operationId: attachments_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Attachment'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/Attachment'
      tags:
        - attachments
    parameters: []
  /attachments/list/:
    get:
      operationId: attachments_list_list
      description: ''
      parameters:
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/Attachment'
      tags:
        - attachments
    parameters: []
  /attachments/{id}/:
    get:
      operationId: attachments_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Attachment'
      tags:
        - attachments
    put:
      operationId: attachments_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Attachment'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Attachment'
      tags:
        - attachments
    patch:
      operationId: attachments_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Attachment'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Attachment'
      tags:
        - attachments
    delete:
      operationId: attachments_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - attachments
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this attachment.
        required: true
        type: integer
  /brands/list/:
    get:
      operationId: brands_list_list
      description: ''
      parameters:
        - name: title
          in: query
          description: ''
          required: false
          type: string
        - name: description
          in: query
          description: ''
          required: false
          type: string
        - name: title_en
          in: query
          description: ''
          required: false
          type: string
        - name: title_ro
          in: query
          description: ''
          required: false
          type: string
        - name: title_ru
          in: query
          description: ''
          required: false
          type: string
        - name: description_en
          in: query
          description: ''
          required: false
          type: string
        - name: description_ro
          in: query
          description: ''
          required: false
          type: string
        - name: description_ru
          in: query
          description: ''
          required: false
          type: string
        - name: preference
          in: query
          description: Multiple values may be separated by commas.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/Brand'
      tags:
        - brands
    parameters: []
  /brands/sync/:
    post:
      operationId: brands_sync_create
      description: ''
      parameters: []
      responses:
        '201':
          description: ''
      tags:
        - brands
    parameters: []
  /brands/{id}/:
    get:
      operationId: brands_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Brand'
      tags:
        - brands
    delete:
      operationId: brands_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - brands
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this brand.
        required: true
        type: integer
  /campaign-deep-links/register/{token}:
    post:
      operationId: campaign-deep-links_register_create
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ReturnSuccess'
      tags:
        - campaign-deep-links
    parameters:
      - name: token
        in: path
        required: true
        type: string
  /campaign-web-deep-links/gifts/{id}/card-info/:
    get:
      operationId: campaign-web-deep-links_gifts_card_info
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/WebGiftCardInfo'
      tags:
        - campaign-web-deep-links
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this gift.
        required: true
        type: integer
  /campaign-web-deep-links/gifts/{id}/redeem-access-token/:
    post:
      operationId: campaign-web-deep-links_gifts_redeem_access_token
      description: ''
      parameters: []
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/WebRedeemGiftAccessToken'
      tags:
        - campaign-web-deep-links
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this gift.
        required: true
        type: integer
  /campaign-web-deep-links/gifts/{id}/redeem-token-reset-request/:
    post:
      operationId: campaign-web-deep-links_gifts_redeem_token_reset_request
      description: ''
      parameters: []
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/ReturnSuccess'
      tags:
        - campaign-web-deep-links
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this gift.
        required: true
        type: integer
  /campaign-web-deep-links/gifts/{id}/redeem/:
    post:
      operationId: campaign-web-deep-links_gifts_redeem
      description: ''
      parameters: []
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/CampaignWebDeepLinkRedeemGift'
      tags:
        - campaign-web-deep-links
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this gift.
        required: true
        type: integer
  /campaign-web-deep-links/gifts/{id}/unwrap/:
    post:
      operationId: campaign-web-deep-links_gifts_unwrap
      description: ''
      parameters: []
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/CampaignWebDeepLinkGift'
      tags:
        - campaign-web-deep-links
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this gift.
        required: true
        type: integer
  /campaign-web-deep-links/register:
    post:
      operationId: campaign-web-deep-links_register_create
      description: ''
      parameters: []
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/CampaignWebDeepLinkRegister'
      tags:
        - campaign-web-deep-links
    parameters: []
  /campaigns/:
    get:
      operationId: campaigns_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/Campaign'
      tags:
        - campaigns
    parameters: []
  /campaigns/{campaign_id}/network-cards/:
    get:
      operationId: campaigns_network-cards_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/CampaignNetworkCard'
      tags:
        - campaigns
    parameters:
      - name: campaign_id
        in: path
        required: true
        type: string
  /campaigns/{campaign_id}/network-cards/{id}/verify/:
    post:
      operationId: campaigns_network-cards_verify
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/PhoneNumber'
      responses:
        '201':
          description: ''
          schema:
            type: object
            properties: {}
      tags:
        - campaigns
    parameters:
      - name: campaign_id
        in: path
        required: true
        type: string
      - name: id
        in: path
        description: A unique integer value identifying this network card.
        required: true
        type: integer
  /campaigns/{id}/:
    get:
      operationId: campaigns_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Campaign'
      tags:
        - campaigns
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this campaign.
        required: true
        type: integer
  /campaigns/{id}/reward/:
    post:
      operationId: campaigns_reward
      description: ''
      parameters: []
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/ReturnGift'
      tags:
        - campaigns
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this campaign.
        required: true
        type: integer
  /categories/:
    post:
      operationId: categories_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Category'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/Category'
      tags:
        - categories
    parameters: []
  /categories/list/:
    get:
      operationId: categories_list_list
      description: ''
      parameters:
        - name: parent__isnull
          in: query
          description: ''
          required: false
          type: string
        - name: preference
          in: query
          description: Multiple values may be separated by commas.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/Category'
      tags:
        - categories
    parameters: []
  /categories/{id}/:
    get:
      operationId: categories_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Category'
      tags:
        - categories
    put:
      operationId: categories_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Category'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Category'
      tags:
        - categories
    patch:
      operationId: categories_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Category'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Category'
      tags:
        - categories
    delete:
      operationId: categories_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - categories
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this category.
        required: true
        type: integer
  /categories/{id}/children/list/:
    get:
      operationId: categories_children_list_list
      description: ''
      parameters:
        - name: parent__isnull
          in: query
          description: ''
          required: false
          type: string
        - name: preference
          in: query
          description: Multiple values may be separated by commas.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/Category'
      tags:
        - categories
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this category.
        required: true
        type: integer
  /categories/{id}/products/featured/list/:
    get:
      operationId: categories_products_featured_list_list
      description: ''
      parameters:
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/Product'
      tags:
        - categories
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this product.
        required: true
        type: integer
  /categories/{id}/products/list/:
    get:
      operationId: categories_products_list_list
      description: ''
      parameters:
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/Product'
      tags:
        - categories
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this product.
        required: true
        type: integer
  /cohorts/:
    get:
      operationId: cohorts_list
      description: ''
      parameters:
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/Cohort'
      tags:
        - cohorts
    post:
      operationId: cohorts_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/CohortCreate'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/CohortCreate'
      tags:
        - cohorts
    parameters: []
  /cohorts/stats/:
    get:
      operationId: cohorts_stats
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/CohortStats'
      tags:
        - cohorts
    parameters: []
  /cohorts/users/:
    get:
      operationId: cohorts_users_list
      description: ''
      parameters:
        - name: gender
          in: query
          description: ''
          required: false
          type: string
        - name: location
          in: query
          description: ''
          required: false
          type: string
        - name: notifications
          in: query
          description: ''
          required: false
          type: string
        - name: interests
          in: query
          description: ''
          required: false
          type: string
        - name: companies
          in: query
          description: ''
          required: false
          type: string
        - name: favourite_brands
          in: query
          description: ''
          required: false
          type: string
        - name: date_joined
          in: query
          description: ''
          required: false
          type: string
        - name: birthday
          in: query
          description: ''
          required: false
          type: string
        - name: revenue_monthly
          in: query
          description: ''
          required: false
          type: string
        - name: revenue
          in: query
          description: ''
          required: false
          type: string
        - name: paid_gifts_last_12_months
          in: query
          description: ''
          required: false
          type: string
        - name: free_gifts_count
          in: query
          description: ''
          required: false
          type: string
        - name: invites
          in: query
          description: ''
          required: false
          type: string
        - name: close_friends
          in: query
          description: ''
          required: false
          type: string
        - name: special_days
          in: query
          description: ''
          required: false
          type: string
        - name: sessions
          in: query
          description: ''
          required: false
          type: string
        - name: has_favorites_products
          in: query
          description: ''
          required: false
          type: string
        - name: campaign_id
          in: query
          description: ''
          required: false
          type: string
        - name: campaign_joined
          in: query
          description: ''
          required: false
          type: string
        - name: campaign_sent_go_go
          in: query
          description: ''
          required: false
          type: string
        - name: campaign_free_gifts_sent
          in: query
          description: ''
          required: false
          type: string
        - name: campaign_paid_gifts_sent
          in: query
          description: ''
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ElasticUser'
      tags:
        - cohorts
    parameters: []
  /cohorts/{id}/:
    get:
      operationId: cohorts_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Cohort'
      tags:
        - cohorts
    put:
      operationId: cohorts_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/CohortCreate'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/CohortCreate'
      tags:
        - cohorts
    patch:
      operationId: cohorts_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/CohortCreate'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/CohortCreate'
      tags:
        - cohorts
    delete:
      operationId: cohorts_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - cohorts
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this cohort.
        required: true
        type: integer
  /cohorts/{id}/gifts/:
    get:
      operationId: cohorts_gifts
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/CohortGift'
      tags:
        - cohorts
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this cohort.
        required: true
        type: integer
  /cohorts/{id}/resync/:
    post:
      operationId: cohorts_resync
      description: ''
      parameters: []
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/CohortNotificationCreate'
      tags:
        - cohorts
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this cohort.
        required: true
        type: integer
  /cohorts/{id}/send_gift/:
    post:
      operationId: cohorts_send_gift
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/CohortOrderCreate'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ReturnSuccess'
      tags:
        - cohorts
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this cohort.
        required: true
        type: integer
  /cohorts/{id}/send_notification/:
    post:
      operationId: cohorts_send_notification
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/CohortNotificationCreate'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ReturnSuccess'
      tags:
        - cohorts
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this cohort.
        required: true
        type: integer
  /comments/:
    post:
      operationId: comments_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Comment'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/Comment'
      tags:
        - comments
    parameters: []
  /comments/list/:
    get:
      operationId: comments_list_list
      description: ''
      parameters:
        - name: type
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/Comment'
      tags:
        - comments
    parameters: []
  /comments/{id}/:
    get:
      operationId: comments_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Comment'
      tags:
        - comments
    put:
      operationId: comments_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Comment'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Comment'
      tags:
        - comments
    patch:
      operationId: comments_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Comment'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Comment'
      tags:
        - comments
    delete:
      operationId: comments_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - comments
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this comment.
        required: true
        type: integer
  /commons/dashboard/modules/:
    get:
      operationId: commons_dashboard_modules_list
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
      tags:
        - commons
    parameters: []
  /commons/health/:
    get:
      operationId: commons_health_list
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
      tags:
        - commons
    parameters: []
  /commons/testing/:
    get:
      operationId: commons_testing_list
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
      tags:
        - commons
    parameters: []
  /companies/:
    get:
      operationId: companies_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ReturnCompany'
      tags:
        - companies
    parameters: []
  /companies/clients/:
    get:
      operationId: companies_clients_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: group
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ReturnContact'
      tags:
        - companies
    post:
      operationId: companies_clients_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/CreateContact'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/ReturnContact'
      tags:
        - companies
    parameters: []
  /companies/clients/groups/:
    get:
      operationId: companies_clients_groups_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ContactGroup'
      tags:
        - companies
    post:
      operationId: companies_clients_groups_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ContactGroup'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/ContactGroup'
      tags:
        - companies
    parameters: []
  /companies/clients/groups/{id}/:
    get:
      operationId: companies_clients_groups_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ContactGroup'
      tags:
        - companies
    put:
      operationId: companies_clients_groups_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ContactGroup'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ContactGroup'
      tags:
        - companies
    patch:
      operationId: companies_clients_groups_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ContactGroup'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ContactGroup'
      tags:
        - companies
    delete:
      operationId: companies_clients_groups_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - companies
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this contact group.
        required: true
        type: integer
  /companies/clients/import-example/:
    get:
      operationId: companies_clients_import_example
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            type: array
            items:
              $ref: '#/definitions/ReturnSuccess'
      tags:
        - companies
    parameters: []
  /companies/clients/import/:
    post:
      operationId: companies_clients_import_contacts
      description: |-
        Input format:
            fist_name, last_name, email, phone, group_name,
            fist_name, last_name, email, , group_name,
            ...
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/CompanyItemImport'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/ReturnSuccess'
      tags:
        - companies
    parameters: []
  /companies/clients/send-gift/:
    post:
      operationId: companies_clients_send_gift
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/SendCompanyGift'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/ReturnCompanyGift'
      tags:
        - companies
    parameters: []
  /companies/clients/{id}/:
    get:
      operationId: companies_clients_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ReturnContact'
      tags:
        - companies
    put:
      operationId: companies_clients_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/CreateContact'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ReturnContact'
      tags:
        - companies
    patch:
      operationId: companies_clients_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/CreateContact'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ReturnContact'
      tags:
        - companies
    delete:
      operationId: companies_clients_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - companies
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this contact.
        required: true
        type: integer
  /companies/employees/:
    get:
      operationId: companies_employees_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: group
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ReturnContact'
      tags:
        - companies
    post:
      operationId: companies_employees_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/CreateContact'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/ReturnContact'
      tags:
        - companies
    parameters: []
  /companies/employees/groups/:
    get:
      operationId: companies_employees_groups_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ContactGroup'
      tags:
        - companies
    post:
      operationId: companies_employees_groups_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ContactGroup'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/ContactGroup'
      tags:
        - companies
    parameters: []
  /companies/employees/groups/{id}/:
    get:
      operationId: companies_employees_groups_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ContactGroup'
      tags:
        - companies
    put:
      operationId: companies_employees_groups_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ContactGroup'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ContactGroup'
      tags:
        - companies
    patch:
      operationId: companies_employees_groups_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ContactGroup'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ContactGroup'
      tags:
        - companies
    delete:
      operationId: companies_employees_groups_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - companies
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this contact group.
        required: true
        type: integer
  /companies/employees/import-example/:
    get:
      operationId: companies_employees_import_example
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            type: array
            items:
              $ref: '#/definitions/ReturnSuccess'
      tags:
        - companies
    parameters: []
  /companies/employees/import/:
    post:
      operationId: companies_employees_import_contacts
      description: |-
        Input format:
            fist_name, last_name, email, phone, group_name,
            fist_name, last_name, email, , group_name,
            ...
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/CompanyItemImport'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/ReturnSuccess'
      tags:
        - companies
    parameters: []
  /companies/employees/send-gift/:
    post:
      operationId: companies_employees_send_gift
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/SendCompanyGift'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/ReturnCompanyGift'
      tags:
        - companies
    parameters: []
  /companies/employees/{id}/:
    get:
      operationId: companies_employees_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ReturnContact'
      tags:
        - companies
    put:
      operationId: companies_employees_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/CreateContact'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ReturnContact'
      tags:
        - companies
    patch:
      operationId: companies_employees_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/CreateContact'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ReturnContact'
      tags:
        - companies
    delete:
      operationId: companies_employees_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - companies
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this contact.
        required: true
        type: integer
  /companies/monthly-report/:
    get:
      operationId: companies_get_monthly_report
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ReturnCompany'
      tags:
        - companies
    parameters: []
  /companies/orders/:
    get:
      operationId: companies_orders
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: date_from
          in: query
          description: ''
          required: false
          type: string
        - name: date_to
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/CompanyOrder'
      tags:
        - companies
    parameters: []
  /companies/orders/list/:
    get:
      operationId: companies_orders_orders_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: date_from
          in: query
          description: ''
          required: false
          type: string
        - name: date_to
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
      responses:
        '200':
          description: ''
          schema:
            type: array
            items:
              $ref: '#/definitions/CompanyOrder'
      tags:
        - companies
    parameters: []
  /companies/orders/stats/:
    get:
      operationId: companies_orders_orders_stats
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/CompanyOrderStats'
      tags:
        - companies
    parameters: []
  /companies/orders/{operation_id}/invoice/:
    get:
      operationId: companies_orders_invoice
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/OrderInvoice'
      tags:
        - companies
    parameters:
      - name: operation_id
        in: path
        required: true
        type: string
  /companies/products/:
    get:
      operationId: companies_products_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: in_business_panel
          in: query
          description: ''
          required: false
          type: string
        - name: brand_id
          in: query
          description: ''
          required: false
          type: string
        - name: is_active
          in: query
          description: ''
          required: false
          type: string
        - name: featured
          in: query
          description: ''
          required: false
          type: string
        - name: is_free
          in: query
          description: ''
          required: false
          type: string
        - name: in_gamification
          in: query
          description: ''
          required: false
          type: string
        - name: in_main_catalog
          in: query
          description: ''
          required: false
          type: string
        - name: preference
          in: query
          description: Multiple values may be separated by commas.
          required: false
          type: string
        - name: category_id
          in: query
          description: ''
          required: false
          type: number
        - name: price__range
          in: query
          description: ''
          required: false
          type: string
        - name: age__range
          in: query
          description: ''
          required: false
          type: string
        - name: types
          in: query
          description: ''
          required: false
          type: string
        - name: genders
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ShortProduct'
      tags:
        - companies
    parameters: []
  /companies/products/all/:
    get:
      operationId: companies_products_all_list
      description: ''
      parameters:
        - name: preference
          in: query
          description: Multiple values may be separated by commas.
          required: false
          type: string
        - name: price_from
          in: query
          description: ''
          required: false
          type: number
        - name: price_to
          in: query
          description: ''
          required: false
          type: number
        - name: types
          in: query
          description: ''
          required: false
          type: string
        - name: price_range
          in: query
          description: ''
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
        - name: parent_category
          in: query
          required: false
          type: integer
        - name: is_active
          in: query
          required: false
          type: boolean
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ListGroupedProducts'
      tags:
        - companies
    parameters: []
  /companies/products/{id}/:
    get:
      operationId: companies_products_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ShortProduct'
      tags:
        - companies
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this product.
        required: true
        type: integer
  /companies/{id}/:
    get:
      operationId: companies_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ReturnCompany'
      tags:
        - companies
    put:
      operationId: companies_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/CompanyCreate'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ReturnCompany'
      tags:
        - companies
    patch:
      operationId: companies_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/CompanyCreate'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ReturnCompany'
      tags:
        - companies
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this company.
        required: true
        type: integer
  /contacts/:
    post:
      operationId: contacts_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Contact'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/Contact'
      tags:
        - contacts
    parameters: []
  /contacts/synchronize/:
    put:
      operationId: contacts_synchronize_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/SynchronizeContact'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/SynchronizeContact'
      tags:
        - contacts
    parameters: []
  /contacts/{id}/:
    get:
      operationId: contacts_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Contact'
      tags:
        - contacts
    put:
      operationId: contacts_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Contact'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Contact'
      tags:
        - contacts
    patch:
      operationId: contacts_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Contact'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Contact'
      tags:
        - contacts
    delete:
      operationId: contacts_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - contacts
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this contact.
        required: true
        type: integer
  /contacts/{phone}/verify/:
    get:
      operationId: contacts_verify_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Contact'
      tags:
        - contacts
    parameters:
      - name: phone
        in: path
        required: true
        type: string
  /coupons/:
    get:
      operationId: coupons_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: campaign
          in: query
          description: ''
          required: false
          type: string
        - name: batch
          in: query
          description: ''
          required: false
          type: string
        - name: product
          in: query
          description: ''
          required: false
          type: string
        - name: usage_count
          in: query
          description: ''
          required: false
          type: number
        - name: created_by
          in: query
          description: ''
          required: false
          type: string
        - name: preference
          in: query
          description: Multiple values may be separated by commas.
          required: false
          type: string
        - name: created_at_from
          in: query
          description: ''
          required: false
          type: string
        - name: created_at_to
          in: query
          description: ''
          required: false
          type: string
        - name: ids
          in: query
          description: Multiple values may be separated by commas.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ReturnCoupon'
      tags:
        - coupons
    post:
      operationId: coupons_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Coupon'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/DetailsCoupon'
      tags:
        - coupons
    parameters: []
  /coupons/bulk-create/:
    post:
      operationId: coupons_bulk_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/CouponBulkCreate'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/ManagementCouponBatchJob'
      tags:
        - coupons
    parameters: []
  /coupons/bulk-delete/:
    delete:
      operationId: coupons_bulk_delete
      description: ''
      parameters:
        - name: campaign
          in: query
          description: ''
          required: false
          type: string
        - name: batch
          in: query
          description: ''
          required: false
          type: string
        - name: product
          in: query
          description: ''
          required: false
          type: string
        - name: usage_count
          in: query
          description: ''
          required: false
          type: number
        - name: created_by
          in: query
          description: ''
          required: false
          type: string
        - name: preference
          in: query
          description: ''
          required: false
          type: string
        - name: created_at_from
          in: query
          description: ''
          required: false
          type: string
        - name: created_at_to
          in: query
          description: ''
          required: false
          type: string
        - name: ids
          in: query
          description: ''
          required: false
          type: string
      responses:
        '204':
          description: ''
      tags:
        - coupons
    parameters: []
  /coupons/bulk-update/:
    patch:
      operationId: coupons_bulk_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ManagementCouponUpdate'
        - name: campaign
          in: query
          description: ''
          required: false
          type: string
        - name: batch
          in: query
          description: ''
          required: false
          type: string
        - name: product
          in: query
          description: ''
          required: false
          type: string
        - name: usage_count
          in: query
          description: ''
          required: false
          type: number
        - name: created_by
          in: query
          description: ''
          required: false
          type: string
        - name: preference
          in: query
          description: ''
          required: false
          type: string
        - name: created_at_from
          in: query
          description: ''
          required: false
          type: string
        - name: created_at_to
          in: query
          description: ''
          required: false
          type: string
        - name: ids
          in: query
          description: ''
          required: false
          type: string
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementCouponBatchJob'
      tags:
        - coupons
    parameters: []
  /coupons/import-example/:
    post:
      operationId: coupons_import_coupon_example
      description: ''
      parameters: []
      responses:
        '200':
          description: XLSX file will be returned.
      tags:
        - coupons
    parameters: []
  /coupons/import/:
    post:
      operationId: coupons_import_coupon
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ImportCoupon'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/ManagementCouponBatchJob'
      tags:
        - coupons
    parameters: []
  /coupons/use/:
    post:
      operationId: coupons_use
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/CouponCode'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/CouponUse'
      tags:
        - coupons
    parameters: []
  /coupons/{id}/:
    get:
      operationId: coupons_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/DetailsCoupon'
      tags:
        - coupons
    put:
      operationId: coupons_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Coupon'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/DetailsCoupon'
      tags:
        - coupons
    patch:
      operationId: coupons_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Coupon'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/DetailsCoupon'
      tags:
        - coupons
    delete:
      operationId: coupons_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - coupons
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this coupon.
        required: true
        type: integer
  /coupons/{id}/users/:
    get:
      operationId: coupons_users
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/CouponUser'
      tags:
        - coupons
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this coupon.
        required: true
        type: integer
  /events/:
    get:
      operationId: events_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: user
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ListEvent'
      tags:
        - events
    post:
      operationId: events_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Event'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/ListEvent'
      tags:
        - events
    parameters: []
  /events/monthly/:
    get:
      operationId: events_monthly_read
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: user
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
      responses:
        '200':
          description: ''
          schema:
            type: array
            items:
              $ref: '#/definitions/ListEvent'
      tags:
        - events
    parameters: []
  /events/my/:
    get:
      operationId: events_my_read
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: user
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ListEvent'
      tags:
        - events
    parameters: []
  /events/recent/:
    get:
      operationId: events_recent
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: user
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ListEvent'
      tags:
        - events
    parameters: []
  /events/today/:
    get:
      operationId: events_today
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: user
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ListEvent'
      tags:
        - events
    parameters: []
  /events/{id}/:
    get:
      operationId: events_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ListEvent'
      tags:
        - events
    put:
      operationId: events_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Event'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ListEvent'
      tags:
        - events
    patch:
      operationId: events_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Event'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ListEvent'
      tags:
        - events
    delete:
      operationId: events_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - events
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this event.
        required: true
        type: integer
  /exports/entities/list/:
    get:
      operationId: list_entities
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
      tags:
        - exports
    parameters: []
  /exports/{entity}/:
    get:
      operationId: retrieve_entity
      description: To filter through entity data check this endpoint (`/exports/entities/list/`)
        for available entity fields.
      parameters:
        - name: fields
          in: query
          required: false
          type: string
          minLength: 1
        - name: limit
          in: query
          required: false
          type: integer
          default: 1000
        - name: page
          in: query
          required: false
          type: integer
          default: 1
      responses:
        '200':
          description: ''
      tags:
        - exports
    parameters:
      - name: entity
        in: path
        required: true
        type: string
  /exports/{entity}/{formatted}/:
    get:
      operationId: export_entity_data
      description: |-
        Available formatted types: json, csv.
        To filter through entity data check this endpoint (`/exports/entities/list/`) for available entity fields.
      parameters:
        - name: fields
          in: query
          required: false
          type: string
          minLength: 1
        - name: limit
          in: query
          required: false
          type: integer
          default: 1000
        - name: page
          in: query
          required: false
          type: integer
          default: 1
      responses:
        '200':
          description: ''
      tags:
        - exports
    parameters:
      - name: entity
        in: path
        required: true
        type: string
      - name: formatted
        in: path
        required: true
        type: string
  /faqs/:
    post:
      operationId: faqs_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Faq'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/Faq'
      tags:
        - faqs
    parameters: []
  /faqs/categories/:
    post:
      operationId: faqs_categories_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/FaqCategory'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/FaqCategory'
      tags:
        - faqs
    parameters: []
  /faqs/categories/list/:
    get:
      operationId: faqs_categories_list_list
      description: ''
      parameters:
        - name: title
          in: query
          description: ''
          required: false
          type: string
        - name: description
          in: query
          description: ''
          required: false
          type: string
        - name: title_ro
          in: query
          description: ''
          required: false
          type: string
        - name: description_ro
          in: query
          description: ''
          required: false
          type: string
        - name: title_ru
          in: query
          description: ''
          required: false
          type: string
        - name: description_ru
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/FaqCategory'
      tags:
        - faqs
    parameters: []
  /faqs/categories/{id}/:
    get:
      operationId: faqs_categories_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/FaqCategory'
      tags:
        - faqs
    put:
      operationId: faqs_categories_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/FaqCategory'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/FaqCategory'
      tags:
        - faqs
    patch:
      operationId: faqs_categories_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/FaqCategory'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/FaqCategory'
      tags:
        - faqs
    delete:
      operationId: faqs_categories_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - faqs
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this faq category.
        required: true
        type: integer
  /faqs/list/:
    get:
      operationId: faqs_list_list
      description: ''
      parameters:
        - name: title
          in: query
          description: ''
          required: false
          type: string
        - name: description
          in: query
          description: ''
          required: false
          type: string
        - name: title_ro
          in: query
          description: ''
          required: false
          type: string
        - name: description_ro
          in: query
          description: ''
          required: false
          type: string
        - name: title_ru
          in: query
          description: ''
          required: false
          type: string
        - name: description_ru
          in: query
          description: ''
          required: false
          type: string
        - name: category_id
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
      responses:
        '200':
          description: ''
          schema:
            type: array
            items:
              $ref: '#/definitions/Faq'
      tags:
        - faqs
    parameters: []
  /faqs/{id}/:
    get:
      operationId: faqs_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Faq'
      tags:
        - faqs
    put:
      operationId: faqs_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Faq'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Faq'
      tags:
        - faqs
    patch:
      operationId: faqs_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Faq'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Faq'
      tags:
        - faqs
    delete:
      operationId: faqs_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - faqs
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this faq.
        required: true
        type: integer
  /favourites/:
    post:
      operationId: favourites_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Favourite'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/Favourite'
      tags:
        - favourites
    parameters: []
  /favourites/list/:
    get:
      operationId: favourites_list_list
      description: ''
      parameters:
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/Favourite'
      tags:
        - favourites
    parameters: []
  /favourites/{id}/:
    get:
      operationId: favourites_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Favourite'
      tags:
        - favourites
    put:
      operationId: favourites_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Favourite'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Favourite'
      tags:
        - favourites
    patch:
      operationId: favourites_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Favourite'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Favourite'
      tags:
        - favourites
    delete:
      operationId: favourites_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - favourites
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this favourite.
        required: true
        type: integer
  /friends/:
    get:
      operationId: friends_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: friend_type
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ListFriendUserSerializer'
      tags:
        - friends
    post:
      operationId: friends_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Friend'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/Friend'
      tags:
        - friends
    parameters: []
  /friends/list/:
    get:
      operationId: friends_friends_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: friend_type
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
      responses:
        '200':
          description: ''
          schema:
            type: array
            items:
              $ref: '#/definitions/ListFriendUserSerializer'
      tags:
        - friends
    parameters: []
  /friends/suggested/:
    get:
      operationId: friends_suggested_list
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            type: array
            items:
              $ref: '#/definitions/ListFriendUserSerializer'
      tags:
        - friends
    parameters: []
  /friends/suggested/{id}/:
    delete:
      operationId: friends_suggested_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - friends
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this user.
        required: true
        type: integer
  /friends/{id}/:
    delete:
      operationId: friends_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - friends
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this user.
        required: true
        type: integer
  /gamification/levels/:
    get:
      operationId: gamification_levels_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/Level'
      tags:
        - gamification
    post:
      operationId: gamification_levels_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Level'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/Level'
      tags:
        - gamification
    parameters: []
  /gamification/levels/receive-product/:
    post:
      operationId: gamification_levels_receive_product
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ReceiveProduct'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/Level'
      tags:
        - gamification
    parameters: []
  /gamification/levels/sync-progress/:
    post:
      operationId: gamification_levels_sync_progress
      description: ''
      parameters: []
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/ReturnSuccess'
      tags:
        - gamification
    parameters: []
  /gamification/levels/{id}/:
    get:
      operationId: gamification_levels_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Level'
      tags:
        - gamification
    put:
      operationId: gamification_levels_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Level'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Level'
      tags:
        - gamification
    patch:
      operationId: gamification_levels_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Level'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Level'
      tags:
        - gamification
    delete:
      operationId: gamification_levels_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - gamification
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this level.
        required: true
        type: integer
  /gamification/levels/{id}/register-user/:
    post:
      operationId: gamification_levels_register_user
      description: ''
      parameters: []
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/Level'
      tags:
        - gamification
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this level.
        required: true
        type: integer
  /gifts/:
    get:
      operationId: gifts_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: unwrapped
          in: query
          description: ''
          required: false
          type: string
        - name: redeemed
          in: query
          description: ''
          required: false
          type: string
        - name: archived
          in: query
          description: ''
          required: false
          type: string
        - name: operation_id
          in: query
          description: ''
          required: false
          type: string
        - name: expired
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ReturnGift'
      tags:
        - gifts
    post:
      operationId: gifts_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ReturnGift'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/ReturnGift'
      tags:
        - gifts
    parameters: []
  /gifts/automation/:
    get:
      operationId: gifts_automation_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: group_by
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ReturnAutomaticGift'
      tags:
        - gifts
    post:
      operationId: gifts_automation_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/AutomaticGift'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/ReturnAutomaticGift'
      tags:
        - gifts
    parameters: []
  /gifts/automation/{id}/:
    get:
      operationId: gifts_automation_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ReturnAutomaticGift'
      tags:
        - gifts
    put:
      operationId: gifts_automation_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/AutomaticGift'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ReturnAutomaticGift'
      tags:
        - gifts
    patch:
      operationId: gifts_automation_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/AutomaticGift'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ReturnAutomaticGift'
      tags:
        - gifts
    delete:
      operationId: gifts_automation_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - gifts
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this automatic gift.
        required: true
        type: integer
  /gifts/list/:
    get:
      operationId: gifts_aux_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: unwrapped
          in: query
          description: ''
          required: false
          type: string
        - name: redeemed
          in: query
          description: ''
          required: false
          type: string
        - name: archived
          in: query
          description: ''
          required: false
          type: string
        - name: operation_id
          in: query
          description: ''
          required: false
          type: string
        - name: expired
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ReturnGift'
      tags:
        - gifts
    parameters: []
  /gifts/received/list/:
    get:
      operationId: gifts_received_list_read
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: unwrapped
          in: query
          description: ''
          required: false
          type: string
        - name: redeemed
          in: query
          description: ''
          required: false
          type: string
        - name: archived
          in: query
          description: ''
          required: false
          type: string
        - name: operation_id
          in: query
          description: ''
          required: false
          type: string
        - name: expired
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ReturnGift'
      tags:
        - gifts
    parameters: []
  /gifts/redeem-in-browser/:
    get:
      operationId: gifts_redeem_in_browser
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: unwrapped
          in: query
          description: ''
          required: false
          type: string
        - name: redeemed
          in: query
          description: ''
          required: false
          type: string
        - name: archived
          in: query
          description: ''
          required: false
          type: string
        - name: operation_id
          in: query
          description: ''
          required: false
          type: string
        - name: expired
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/UpsertGiftAttachment'
      tags:
        - gifts
    parameters: []
  /gifts/sent/list/:
    get:
      operationId: gifts_sent_sent
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: unwrapped
          in: query
          description: ''
          required: false
          type: string
        - name: redeemed
          in: query
          description: ''
          required: false
          type: string
        - name: archived
          in: query
          description: ''
          required: false
          type: string
        - name: operation_id
          in: query
          description: ''
          required: false
          type: string
        - name: expired
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ReturnGift'
      tags:
        - gifts
    parameters: []
  /gifts/{gift_id}/comments/:
    get:
      operationId: gifts_comments_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/GiftComment'
      tags:
        - gifts
    post:
      operationId: gifts_comments_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/GiftComment'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/GiftComment'
      tags:
        - gifts
    parameters:
      - name: gift_id
        in: path
        required: true
        type: string
  /gifts/{gift_id}/comments/{id}/read/:
    post:
      operationId: gifts_comments_read
      description: ''
      parameters: []
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/GiftComment'
      tags:
        - gifts
    parameters:
      - name: gift_id
        in: path
        required: true
        type: string
      - name: id
        in: path
        description: A unique integer value identifying this comment.
        required: true
        type: integer
  /gifts/{id}/:
    get:
      operationId: gifts_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Gift'
      tags:
        - gifts
    put:
      operationId: gifts_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ReturnGift'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ReturnGift'
      tags:
        - gifts
    patch:
      operationId: gifts_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ReturnGift'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ReturnGift'
      tags:
        - gifts
    delete:
      operationId: gifts_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - gifts
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this gift.
        required: true
        type: integer
  /gifts/{id}/attachment/:
    post:
      operationId: gifts_attachment_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/UpsertGiftAttachment'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/UpsertGiftAttachment'
      tags:
        - gifts
    put:
      operationId: gifts_attachment_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/UpsertGiftAttachment'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/UpsertGiftAttachment'
      tags:
        - gifts
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this gift.
        required: true
        type: integer
  /gifts/{id}/reaction/:
    post:
      operationId: gifts_reactions_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Reaction'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/Reaction'
      tags:
        - gifts
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this gift.
        required: true
        type: integer
  /gifts/{id}/reaction/list/:
    get:
      operationId: gifts_reaction_reactions
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Reaction'
      tags:
        - gifts
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this gift.
        required: true
        type: integer
  /gifts/{id}/redeem/:
    patch:
      operationId: gifts_redeem
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ReturnGift'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ReturnGift'
      tags:
        - gifts
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this gift.
        required: true
        type: integer
  /invites/:
    post:
      operationId: invites_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Invite'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/Invite'
      tags:
        - invites
    parameters: []
  /invites/list/:
    get:
      operationId: invites_list_list
      description: ''
      parameters:
        - name: type
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/Invite'
      tags:
        - invites
    parameters: []
  /invites/{id}/:
    get:
      operationId: invites_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Invite'
      tags:
        - invites
    put:
      operationId: invites_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Invite'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Invite'
      tags:
        - invites
    patch:
      operationId: invites_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Invite'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Invite'
      tags:
        - invites
    delete:
      operationId: invites_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - invites
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this invite.
        required: true
        type: integer
  /management/campaign-deep-links/:
    get:
      operationId: management_campaign-deep-links_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: campaign
          in: query
          description: ''
          required: false
          type: string
        - name: batch
          in: query
          description: ''
          required: false
          type: string
        - name: usage_count
          in: query
          description: ''
          required: false
          type: number
        - name: created_by
          in: query
          description: ''
          required: false
          type: string
        - name: preference
          in: query
          description: Multiple values may be separated by commas.
          required: false
          type: string
        - name: created_at_from
          in: query
          description: ''
          required: false
          type: string
        - name: created_at_to
          in: query
          description: ''
          required: false
          type: string
        - name: ids
          in: query
          description: Multiple values may be separated by commas.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ManagementCampaignDeepLink'
      tags:
        - management
    post:
      operationId: management_campaign-deep-links_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ManagementCampaignDeepLinkCreate'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/ManagementCampaignDeepLink'
      tags:
        - management
    parameters: []
  /management/campaign-deep-links/bulk-create/:
    post:
      operationId: management_campaign-deep-links_bulk_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ManagementCampaignDeepLinkBulkCreate'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/ManagementCampaignDeepLinkBatchJob'
      tags:
        - management
    parameters: []
  /management/campaign-deep-links/bulk-delete/:
    delete:
      operationId: management_campaign-deep-links_bulk_delete
      description: ''
      parameters:
        - name: campaign
          in: query
          description: ''
          required: false
          type: string
        - name: batch
          in: query
          description: ''
          required: false
          type: string
        - name: usage_count
          in: query
          description: ''
          required: false
          type: number
        - name: created_by
          in: query
          description: ''
          required: false
          type: string
        - name: preference
          in: query
          description: ''
          required: false
          type: string
        - name: created_at_from
          in: query
          description: ''
          required: false
          type: string
        - name: created_at_to
          in: query
          description: ''
          required: false
          type: string
        - name: ids
          in: query
          description: ''
          required: false
          type: string
      responses:
        '204':
          description: ''
      tags:
        - management
    parameters: []
  /management/campaign-deep-links/bulk-update/:
    patch:
      operationId: management_campaign-deep-links_bulk_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ManagementCampaignDeepLinkUpdate'
        - name: campaign
          in: query
          description: ''
          required: false
          type: string
        - name: batch
          in: query
          description: ''
          required: false
          type: string
        - name: usage_count
          in: query
          description: ''
          required: false
          type: number
        - name: created_by
          in: query
          description: ''
          required: false
          type: string
        - name: preference
          in: query
          description: ''
          required: false
          type: string
        - name: created_at_from
          in: query
          description: ''
          required: false
          type: string
        - name: created_at_to
          in: query
          description: ''
          required: false
          type: string
        - name: ids
          in: query
          description: ''
          required: false
          type: string
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementCampaignDeepLinkBatchJob'
      tags:
        - management
    parameters: []
  /management/campaign-deep-links/{id}/:
    get:
      operationId: management_campaign-deep-links_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementCampaignDeepLink'
      tags:
        - management
    put:
      operationId: management_campaign-deep-links_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ManagementCampaignDeepLinkCreate'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementCampaignDeepLink'
      tags:
        - management
    patch:
      operationId: management_campaign-deep-links_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ManagementCampaignDeepLinkCreate'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementCampaignDeepLink'
      tags:
        - management
    delete:
      operationId: management_campaign-deep-links_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - management
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this campaign deep link.
        required: true
        type: integer
  /management/campaign-deeplink-batch-job/:
    get:
      operationId: management_campaign-deeplink-batch-job_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ManagementCampaignDeepLinkBatchJob'
      tags:
        - management
    parameters: []
  /management/campaign-deeplink-batch-job/{id}/:
    get:
      operationId: management_campaign-deeplink-batch-job_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementCampaignDeepLinkBatchJob'
      tags:
        - management
    delete:
      operationId: management_campaign-deeplink-batch-job_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - management
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this campaign deep link batch
          job.
        required: true
        type: integer
  /management/campaign-deeplink-batch-job/{id}/cancel/:
    post:
      operationId: management_campaign-deeplink-batch-job_cancel
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ReturnSuccess'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/ReturnSuccess'
      tags:
        - management
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this campaign deep link batch
          job.
        required: true
        type: integer
  /management/campaign-deeplink-batch-job/{id}/stop/:
    post:
      operationId: management_campaign-deeplink-batch-job_stop
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ReturnSuccess'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/ReturnSuccess'
      tags:
        - management
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this campaign deep link batch
          job.
        required: true
        type: integer
  /management/campaign-deeplink-batches/:
    get:
      operationId: management_campaign-deeplink-batches_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: campaign
          in: query
          description: ''
          required: false
          type: string
        - name: created_by
          in: query
          description: ''
          required: false
          type: string
        - name: preference
          in: query
          description: Multiple values may be separated by commas.
          required: false
          type: string
        - name: created_at_from
          in: query
          description: ''
          required: false
          type: string
        - name: created_at_to
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ManagementCampaignDeepLinkBatch'
      tags:
        - management
    parameters: []
  /management/campaign-deeplink-batches/{id}/:
    get:
      operationId: management_campaign-deeplink-batches_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementCampaignDeepLinkBatch'
      tags:
        - management
    put:
      operationId: management_campaign-deeplink-batches_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ManagementCampaignDeepLinkBatchCreate'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementCampaignDeepLinkBatch'
      tags:
        - management
    patch:
      operationId: management_campaign-deeplink-batches_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ManagementCampaignDeepLinkBatchCreate'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementCampaignDeepLinkBatch'
      tags:
        - management
    delete:
      operationId: management_campaign-deeplink-batches_delete
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementCampaignDeepLinkBatchJob'
      tags:
        - management
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this campaign deep link batch.
        required: true
        type: integer
  /management/campaign-deeplink-usage-logs/:
    get:
      operationId: management_campaign-deeplink-usage-logs_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: campaign
          in: query
          description: ''
          required: false
          type: string
        - name: campaign_deeplink
          in: query
          description: ''
          required: false
          type: string
        - name: user
          in: query
          description: ''
          required: false
          type: string
        - name: preference
          in: query
          description: Multiple values may be separated by commas.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ManagementCampaignDeepLinkUsageLog'
      tags:
        - management
    post:
      operationId: management_campaign-deeplink-usage-logs_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ManagementCampaignDeepLinkUsageLogCreate'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/ManagementCampaignDeepLinkUsageLog'
      tags:
        - management
    parameters: []
  /management/campaign-deeplink-usage-logs/{id}/:
    get:
      operationId: management_campaign-deeplink-usage-logs_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementCampaignDeepLinkUsageLog'
      tags:
        - management
    put:
      operationId: management_campaign-deeplink-usage-logs_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ManagementCampaignDeepLinkUsageLogCreate'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementCampaignDeepLinkUsageLog'
      tags:
        - management
    patch:
      operationId: management_campaign-deeplink-usage-logs_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ManagementCampaignDeepLinkUsageLogCreate'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementCampaignDeepLinkUsageLog'
      tags:
        - management
    delete:
      operationId: management_campaign-deeplink-usage-logs_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - management
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this campaign deep link usage
          log.
        required: true
        type: integer
  /management/campaign-schedulers/:
    get:
      operationId: management_campaign-schedulers_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: campaign
          in: query
          description: ''
          required: false
          type: string
        - name: action
          in: query
          description: ''
          required: false
          type: string
        - name: status
          in: query
          description: ''
          required: false
          type: string
        - name: preference
          in: query
          description: Multiple values may be separated by commas.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ManagementCampaignSchedulerBase'
      tags:
        - management
    post:
      operationId: management_campaign-schedulers_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ManagementCampaignSchedulerCreate'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/ManagementCampaignSchedulerBase'
      tags:
        - management
    parameters: []
  /management/campaign-schedulers/{id}/:
    get:
      operationId: management_campaign-schedulers_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementCampaignSchedulerBase'
      tags:
        - management
    put:
      operationId: management_campaign-schedulers_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ManagementCampaignSchedulerCreate'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementCampaignSchedulerBase'
      tags:
        - management
    patch:
      operationId: management_campaign-schedulers_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ManagementCampaignSchedulerCreate'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementCampaignSchedulerBase'
      tags:
        - management
    delete:
      operationId: management_campaign-schedulers_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - management
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this campaign scheduler.
        required: true
        type: integer
  /management/campaign-tiers/:
    get:
      operationId: management_campaign-tiers_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: campaign
          in: query
          description: ''
          required: false
          type: string
        - name: has_parent
          in: query
          description: ''
          required: false
          type: string
        - name: parent
          in: query
          description: ''
          required: false
          type: string
        - name: preference
          in: query
          description: Multiple values may be separated by commas.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ManagementCampaignTier'
      tags:
        - management
    post:
      operationId: management_campaign-tiers_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ManagementCampaignTierCreate'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/ManagementCampaignTier'
      tags:
        - management
    parameters: []
  /management/campaign-tiers/{id}/:
    get:
      operationId: management_campaign-tiers_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementCampaignTier'
      tags:
        - management
    put:
      operationId: management_campaign-tiers_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ManagementCampaignTierCreate'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementCampaignTier'
      tags:
        - management
    patch:
      operationId: management_campaign-tiers_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ManagementCampaignTierCreate'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementCampaignTier'
      tags:
        - management
    delete:
      operationId: management_campaign-tiers_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - management
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this campaign tier.
        required: true
        type: integer
  /management/campaigns/:
    get:
      operationId: management_campaigns_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: preference
          in: query
          description: Multiple values may be separated by commas.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ManagementCampaign'
      tags:
        - management
    post:
      operationId: management_campaigns_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ManagementCampaignCreate'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/ManagementCampaign'
      tags:
        - management
    parameters: []
  /management/campaigns/{id}/:
    get:
      operationId: management_campaigns_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementCampaign'
      tags:
        - management
    put:
      operationId: management_campaigns_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ManagementCampaignCreate'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementCampaign'
      tags:
        - management
    patch:
      operationId: management_campaigns_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ManagementCampaignCreate'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementCampaign'
      tags:
        - management
    delete:
      operationId: management_campaigns_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - management
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this campaign.
        required: true
        type: integer
  /management/coupon-batch-jobs/:
    get:
      operationId: management_coupon-batch-jobs_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ManagementCouponBatchJob'
      tags:
        - management
    parameters: []
  /management/coupon-batch-jobs/{id}/:
    get:
      operationId: management_coupon-batch-jobs_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementCouponBatchJob'
      tags:
        - management
    delete:
      operationId: management_coupon-batch-jobs_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - management
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this coupon batch job.
        required: true
        type: integer
  /management/coupon-batch-jobs/{id}/cancel/:
    post:
      operationId: management_coupon-batch-jobs_cancel
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ReturnSuccess'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/ReturnSuccess'
      tags:
        - management
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this coupon batch job.
        required: true
        type: integer
  /management/coupon-batch-jobs/{id}/stop/:
    post:
      operationId: management_coupon-batch-jobs_stop
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ReturnSuccess'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/ReturnSuccess'
      tags:
        - management
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this coupon batch job.
        required: true
        type: integer
  /management/coupon-batches/:
    get:
      operationId: management_coupon-batches_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: campaign
          in: query
          description: ''
          required: false
          type: string
        - name: created_by
          in: query
          description: ''
          required: false
          type: string
        - name: preference
          in: query
          description: Multiple values may be separated by commas.
          required: false
          type: string
        - name: created_at_from
          in: query
          description: ''
          required: false
          type: string
        - name: created_at_to
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ManagementCouponBatch'
      tags:
        - management
    parameters: []
  /management/coupon-batches/{id}/:
    get:
      operationId: management_coupon-batches_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementCouponBatch'
      tags:
        - management
    put:
      operationId: management_coupon-batches_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ManagementCouponBatchCreate'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementCouponBatch'
      tags:
        - management
    patch:
      operationId: management_coupon-batches_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ManagementCouponBatchCreate'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementCouponBatch'
      tags:
        - management
    delete:
      operationId: management_coupon-batches_delete
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementCouponBatchJob'
      tags:
        - management
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this coupon batch.
        required: true
        type: integer
  /management/coupon-usage-logs/:
    get:
      operationId: management_coupon-usage-logs_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: coupon
          in: query
          description: ''
          required: false
          type: string
        - name: campaign
          in: query
          description: ''
          required: false
          type: string
        - name: user
          in: query
          description: ''
          required: false
          type: string
        - name: preference
          in: query
          description: Multiple values may be separated by commas.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ManagementCouponUsageLog'
      tags:
        - management
    post:
      operationId: management_coupon-usage-logs_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ManagementCouponUsageLogCreate'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/ManagementCouponUsageLog'
      tags:
        - management
    parameters: []
  /management/coupon-usage-logs/{id}/:
    get:
      operationId: management_coupon-usage-logs_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementCouponUsageLog'
      tags:
        - management
    put:
      operationId: management_coupon-usage-logs_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ManagementCouponUsageLogCreate'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementCouponUsageLog'
      tags:
        - management
    patch:
      operationId: management_coupon-usage-logs_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ManagementCouponUsageLogCreate'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementCouponUsageLog'
      tags:
        - management
    delete:
      operationId: management_coupon-usage-logs_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - management
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this coupon usage log.
        required: true
        type: integer
  /management/gift-comments/:
    get:
      operationId: management_gift-comments_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: user
          in: query
          description: ''
          required: false
          type: string
        - name: gift
          in: query
          description: ''
          required: false
          type: string
        - name: read
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ManagementGiftComment'
      tags:
        - management
    parameters: []
  /management/gift-comments/{id}/:
    get:
      operationId: management_gift-comments_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementGiftComment'
      tags:
        - management
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this comment.
        required: true
        type: integer
  /management/gift-reactions/:
    get:
      operationId: management_gift-reactions_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: user
          in: query
          description: ''
          required: false
          type: string
        - name: gift
          in: query
          description: ''
          required: false
          type: string
        - name: read
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ManagementReaction'
      tags:
        - management
    parameters: []
  /management/gift-reactions/{id}/:
    get:
      operationId: management_gift-reactions_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementReaction'
      tags:
        - management
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this reaction.
        required: true
        type: integer
  /management/network-cards/:
    get:
      operationId: management_network-cards_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: campaign
          in: query
          description: ''
          required: false
          type: string
        - name: product
          in: query
          description: ''
          required: false
          type: string
        - name: campaign_tier
          in: query
          description: ''
          required: false
          type: string
        - name: preference
          in: query
          description: Multiple values may be separated by commas.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ManagementNetworkCard'
      tags:
        - management
    post:
      operationId: management_network-cards_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ManagementNetworkCardCreate'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/ManagementNetworkCard'
      tags:
        - management
    parameters: []
  /management/network-cards/{id}/:
    get:
      operationId: management_network-cards_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementNetworkCard'
      tags:
        - management
    put:
      operationId: management_network-cards_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ManagementNetworkCardCreate'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementNetworkCard'
      tags:
        - management
    patch:
      operationId: management_network-cards_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ManagementNetworkCardCreate'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementNetworkCard'
      tags:
        - management
    delete:
      operationId: management_network-cards_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - management
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this network card.
        required: true
        type: integer
  /management/product-cards/:
    get:
      operationId: management_product-cards_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ProductCard'
      tags:
        - management
    parameters: []
  /management/product-cards/import-example/:
    post:
      operationId: management_product-cards_import_example
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ProductCardImportSample'
      responses:
        '200':
          description: XLSX file will be returned.
      tags:
        - management
    parameters: []
  /management/product-cards/import-phone-numbers/:
    post:
      operationId: management_product-cards_import_phone_numbers
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ProductCardImport'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/ReturnSuccess'
      tags:
        - management
    parameters: []
  /management/products/:
    get:
      operationId: management_products_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: available
          in: query
          description: ''
          required: false
          type: string
        - name: in_business_panel
          in: query
          description: ''
          required: false
          type: string
        - name: brand_id
          in: query
          description: ''
          required: false
          type: string
        - name: is_active
          in: query
          description: ''
          required: false
          type: string
        - name: featured
          in: query
          description: ''
          required: false
          type: string
        - name: is_free
          in: query
          description: ''
          required: false
          type: string
        - name: in_gamification
          in: query
          description: ''
          required: false
          type: string
        - name: in_main_catalog
          in: query
          description: ''
          required: false
          type: string
        - name: preference
          in: query
          description: Multiple values may be separated by commas.
          required: false
          type: string
        - name: category_id
          in: query
          description: ''
          required: false
          type: number
        - name: price__range
          in: query
          description: ''
          required: false
          type: string
        - name: age__range
          in: query
          description: ''
          required: false
          type: string
        - name: types
          in: query
          description: ''
          required: false
          type: string
        - name: genders
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ManagementProduct'
      tags:
        - management
    post:
      operationId: management_products_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Product'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/ManagementProduct'
      tags:
        - management
    parameters: []
  /management/products/{id}/:
    get:
      operationId: management_products_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementProduct'
      tags:
        - management
    put:
      operationId: management_products_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Product'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementProduct'
      tags:
        - management
    patch:
      operationId: management_products_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Product'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementProduct'
      tags:
        - management
    delete:
      operationId: management_products_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - management
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this product.
        required: true
        type: integer
  /management/user-campaigns/:
    get:
      operationId: management_user-campaigns_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: user
          in: query
          description: ''
          required: false
          type: string
        - name: campaign
          in: query
          description: ''
          required: false
          type: string
        - name: campaign_tier
          in: query
          description: ''
          required: false
          type: string
        - name: source
          in: query
          description: ''
          required: false
          type: string
        - name: preference
          in: query
          description: Multiple values may be separated by commas.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ManagementUserCampaign'
      tags:
        - management
    post:
      operationId: management_user-campaigns_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ManagementUserCampaignCreate'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/ManagementUserCampaignCreate'
      tags:
        - management
    parameters: []
  /management/user-campaigns/{id}/:
    get:
      operationId: management_user-campaigns_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementUserCampaign'
      tags:
        - management
    put:
      operationId: management_user-campaigns_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ManagementUserCampaignCreate'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementUserCampaignCreate'
      tags:
        - management
    patch:
      operationId: management_user-campaigns_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ManagementUserCampaignCreate'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementUserCampaignCreate'
      tags:
        - management
    delete:
      operationId: management_user-campaigns_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - management
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this user campaign.
        required: true
        type: integer
  /network-cards/:
    get:
      operationId: network-cards_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
      responses:
        '200':
          description: ''
          schema:
            type: array
            items:
              $ref: '#/definitions/NetworkCard'
      tags:
        - network-cards
    parameters: []
  /nomenclatures/keys/:
    get:
      operationId: nomenclatures_keys_list
      description: ''
      parameters:
        - name: type
          in: query
          description: ''
          required: false
          type: string
        - name: is_active
          in: query
          description: ''
          required: false
          type: string
        - name: campaign
          in: query
          description: ''
          required: false
          type: string
        - name: campaign_tier
          in: query
          description: ''
          required: false
          type: string
        - name: code_name
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/NomenclatureKey'
      tags:
        - nomenclatures
    post:
      operationId: nomenclatures_keys_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/NomenclatureKey'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/NomenclatureKey'
      tags:
        - nomenclatures
    parameters: []
  /nomenclatures/keys/list/:
    get:
      operationId: nomenclatures_keys_list_list
      description: ''
      parameters:
        - name: type
          in: query
          description: ''
          required: false
          type: string
        - name: is_active
          in: query
          description: ''
          required: false
          type: string
        - name: campaign
          in: query
          description: ''
          required: false
          type: string
        - name: campaign_tier
          in: query
          description: ''
          required: false
          type: string
        - name: code_name
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
      responses:
        '200':
          description: ''
          schema:
            type: array
            items:
              $ref: '#/definitions/NomenclatureKey'
      tags:
        - nomenclatures
    post:
      operationId: nomenclatures_keys_list_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/NomenclatureKey'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/NomenclatureKey'
      tags:
        - nomenclatures
    parameters: []
  /nomenclatures/{entity}/:
    post:
      operationId: nomenclatures_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/NomenclatureDegreeOfKinship'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/NomenclatureDegreeOfKinship'
      tags:
        - nomenclatures
    parameters:
      - name: entity
        in: path
        required: true
        type: string
  /nomenclatures/{entity}/list/:
    get:
      operationId: nomenclatures_list_list
      description: ''
      parameters:
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/NomenclatureDegreeOfKinship'
      tags:
        - nomenclatures
    parameters:
      - name: entity
        in: path
        required: true
        type: string
  /nomenclatures/{entity}/{id}/:
    get:
      operationId: nomenclatures_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/NomenclatureDegreeOfKinship'
      tags:
        - nomenclatures
    put:
      operationId: nomenclatures_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/NomenclatureDegreeOfKinship'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/NomenclatureDegreeOfKinship'
      tags:
        - nomenclatures
    patch:
      operationId: nomenclatures_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/NomenclatureDegreeOfKinship'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/NomenclatureDegreeOfKinship'
      tags:
        - nomenclatures
    delete:
      operationId: nomenclatures_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - nomenclatures
    parameters:
      - name: entity
        in: path
        required: true
        type: string
      - name: id
        in: path
        description: A unique integer value identifying this nomenclature degree of
          kinship.
        required: true
        type: integer
  /notifications/list/:
    get:
      operationId: notifications_list_list
      description: ''
      parameters:
        - name: target_id
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/Notification'
      tags:
        - notifications
    parameters: []
  /notifications/read/:
    patch:
      operationId: notifications_read_partial_update
      description: |-
        Only unread notifications can be updated , otherwise an error will be thrown
        ---
        - **notifications_id** in body `/api/notifications/reads/`
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - notifications
    parameters: []
  /notifications/trigger/featured/gifts/:
    post:
      operationId: notifications_trigger_featured_gifts_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/TriggerFeaturedGiftsNotification'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/TriggerFeaturedGiftsNotification'
      tags:
        - notifications
    parameters: []
  /notifications/unsubscribe/{user_hash}:
    get:
      operationId: notifications_unsubscribe_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
      tags:
        - notifications
    parameters:
      - name: user_hash
        in: path
        required: true
        type: string
  /notifications/{id}/:
    get:
      operationId: notifications_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Notification'
      tags:
        - notifications
    put:
      operationId: notifications_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Notification'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Notification'
      tags:
        - notifications
    patch:
      operationId: notifications_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Notification'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Notification'
      tags:
        - notifications
    delete:
      operationId: notifications_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - notifications
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this notification.
        required: true
        type: integer
  /orders/:
    post:
      operationId: orders_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/CreateOrder'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/CreateOrder'
      tags:
        - orders
    parameters: []
  /orders/list/:
    get:
      operationId: orders_list_list
      description: ''
      parameters:
        - name: system
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/Order'
      tags:
        - orders
    parameters: []
  /orders/schedule/:
    post:
      operationId: orders_schedule_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/CreateOrderSchedule'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/CreateOrderSchedule'
      tags:
        - orders
    parameters: []
  /orders/search/:
    get:
      operationId: orders_search_list
      description: ''
      parameters:
        - name: status
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ListOrder'
      tags:
        - orders
    parameters: []
  /orders/setup-keys/:
    get:
      operationId: orders_setup-keys_list
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            type: array
            items:
              $ref: '#/definitions/SetupKeys'
      tags:
        - orders
    parameters: []
  /orders/setup-payment-intent/:
    post:
      operationId: orders_setup-payment-intent_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/SetupPaymentMethod'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/SetupPaymentMethod'
      tags:
        - orders
    parameters: []
  /orders/{id}/:
    get:
      operationId: orders_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Order'
      tags:
        - orders
    put:
      operationId: orders_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Order'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Order'
      tags:
        - orders
    patch:
      operationId: orders_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Order'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Order'
      tags:
        - orders
    delete:
      operationId: orders_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - orders
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this order.
        required: true
        type: integer
  /orders/{id}/check-balance/:
    get:
      operationId: orders_check-balance_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Order'
      tags:
        - orders
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this order.
        required: true
        type: integer
  /orders/{id}/gift/:
    get:
      operationId: orders_gift_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Gift'
      tags:
        - orders
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this gift.
        required: true
        type: integer
  /orders/{id}/pay/:
    post:
      operationId: orders_pay_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/CreateOrderPayment'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/CreateOrderPayment'
      tags:
        - orders
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this order.
        required: true
        type: integer
  /payment-methods/:
    get:
      operationId: payment-methods_list
      description: ''
      parameters:
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/CreatePaymentMethod'
      tags:
        - payment-methods
    post:
      operationId: payment-methods_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/CreatePaymentMethod'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/CreatePaymentMethod'
      tags:
        - payment-methods
    parameters: []
  /payment-methods/list/:
    get:
      operationId: payment-methods_list_list
      description: ''
      parameters:
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/PaymentMethod'
      tags:
        - payment-methods
    parameters: []
  /payment-methods/set-default/:
    post:
      operationId: payment-methods_set-default_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/PaymentMethod'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/PaymentMethod'
      tags:
        - payment-methods
    parameters: []
  /payment-methods/{id}/:
    delete:
      operationId: payment-methods_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - payment-methods
    parameters:
      - name: id
        in: path
        description: A unique value identifying this payment method.
        required: true
        type: string
  /products/:
    post:
      operationId: products_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Product'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/Product'
      tags:
        - products
    parameters: []
  /products/all/:
    get:
      operationId: products_all_list
      description: ''
      parameters:
        - name: preference
          in: query
          description: Multiple values may be separated by commas.
          required: false
          type: string
        - name: price_from
          in: query
          description: ''
          required: false
          type: number
        - name: price_to
          in: query
          description: ''
          required: false
          type: number
        - name: types
          in: query
          description: ''
          required: false
          type: string
        - name: price_range
          in: query
          description: ''
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
        - name: parent_category
          in: query
          required: false
          type: integer
        - name: is_active
          in: query
          required: false
          type: boolean
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ListGroupedProducts'
      tags:
        - products
    parameters: []
  /products/favourite/list/:
    get:
      operationId: products_favourite_list_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: in_business_panel
          in: query
          description: ''
          required: false
          type: string
        - name: brand_id
          in: query
          description: ''
          required: false
          type: string
        - name: is_active
          in: query
          description: ''
          required: false
          type: string
        - name: featured
          in: query
          description: ''
          required: false
          type: string
        - name: is_free
          in: query
          description: ''
          required: false
          type: string
        - name: in_gamification
          in: query
          description: ''
          required: false
          type: string
        - name: in_main_catalog
          in: query
          description: ''
          required: false
          type: string
        - name: preference
          in: query
          description: Multiple values may be separated by commas.
          required: false
          type: string
        - name: category_id
          in: query
          description: ''
          required: false
          type: number
        - name: price__range
          in: query
          description: ''
          required: false
          type: string
        - name: age__range
          in: query
          description: ''
          required: false
          type: string
        - name: types
          in: query
          description: ''
          required: false
          type: string
        - name: genders
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ListProduct'
      tags:
        - products
    parameters: []
  /products/featured/list/:
    get:
      operationId: products_featured_list_list
      description: ''
      parameters:
        - name: title
          in: query
          description: ''
          required: false
          type: string
        - name: price
          in: query
          description: ''
          required: false
          type: number
        - name: is_active
          in: query
          description: ''
          required: false
          type: string
        - name: kinship__code_name
          in: query
          description: ''
          required: false
          type: string
        - name: kinship__id
          in: query
          description: ''
          required: false
          type: number
        - name: categories__title
          in: query
          description: ''
          required: false
          type: string
        - name: categories__id
          in: query
          description: ''
          required: false
          type: number
        - name: brand__id
          in: query
          description: ''
          required: false
          type: number
        - name: brand__title
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/Product'
      tags:
        - products
    parameters: []
  /products/list/:
    get:
      operationId: products_list_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: in_business_panel
          in: query
          description: ''
          required: false
          type: string
        - name: brand_id
          in: query
          description: ''
          required: false
          type: string
        - name: is_active
          in: query
          description: ''
          required: false
          type: string
        - name: featured
          in: query
          description: ''
          required: false
          type: string
        - name: is_free
          in: query
          description: ''
          required: false
          type: string
        - name: in_gamification
          in: query
          description: ''
          required: false
          type: string
        - name: in_main_catalog
          in: query
          description: ''
          required: false
          type: string
        - name: preference
          in: query
          description: Multiple values may be separated by commas.
          required: false
          type: string
        - name: category_id
          in: query
          description: ''
          required: false
          type: number
        - name: price__range
          in: query
          description: ''
          required: false
          type: string
        - name: age__range
          in: query
          description: ''
          required: false
          type: string
        - name: types
          in: query
          description: ''
          required: false
          type: string
        - name: genders
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ListProduct'
      tags:
        - products
    parameters: []
  /products/recommended/list/:
    get:
      operationId: products_recommended_list_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: in_business_panel
          in: query
          description: ''
          required: false
          type: string
        - name: brand_id
          in: query
          description: ''
          required: false
          type: string
        - name: is_active
          in: query
          description: ''
          required: false
          type: string
        - name: featured
          in: query
          description: ''
          required: false
          type: string
        - name: is_free
          in: query
          description: ''
          required: false
          type: string
        - name: in_gamification
          in: query
          description: ''
          required: false
          type: string
        - name: in_main_catalog
          in: query
          description: ''
          required: false
          type: string
        - name: preference
          in: query
          description: Multiple values may be separated by commas.
          required: false
          type: string
        - name: category_id
          in: query
          description: ''
          required: false
          type: number
        - name: price__range
          in: query
          description: ''
          required: false
          type: string
        - name: age__range
          in: query
          description: ''
          required: false
          type: string
        - name: types
          in: query
          description: ''
          required: false
          type: string
        - name: genders
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ListProduct'
      tags:
        - products
    parameters: []
  /products/stats/:
    get:
      operationId: products_stats_list
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
      tags:
        - products
    parameters: []
  /products/tags/:
    get:
      operationId: products_tags_list
      description: ''
      parameters:
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/TagList'
      tags:
        - products
    parameters: []
  /products/{id}/:
    get:
      operationId: products_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Product'
      tags:
        - products
    put:
      operationId: products_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Product'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Product'
      tags:
        - products
    patch:
      operationId: products_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Product'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Product'
      tags:
        - products
    delete:
      operationId: products_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - products
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this product.
        required: true
        type: integer
  /products/{id}/favourite/:
    put:
      operationId: products_favourite_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/UpsertProductFavourite'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/UpsertProductFavourite'
      tags:
        - products
    patch:
      operationId: products_favourite_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/UpsertProductFavourite'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/UpsertProductFavourite'
      tags:
        - products
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this product.
        required: true
        type: integer
  /products/{id}/related/list/:
    get:
      operationId: products_related_list_list
      description: ''
      parameters:
        - name: title
          in: query
          description: ''
          required: false
          type: string
        - name: price
          in: query
          description: ''
          required: false
          type: number
        - name: is_active
          in: query
          description: ''
          required: false
          type: string
        - name: kinship__code_name
          in: query
          description: ''
          required: false
          type: string
        - name: kinship__id
          in: query
          description: ''
          required: false
          type: number
        - name: categories__title
          in: query
          description: ''
          required: false
          type: string
        - name: categories__id
          in: query
          description: ''
          required: false
          type: number
        - name: brand__id
          in: query
          description: ''
          required: false
          type: number
        - name: brand__title
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/Product'
      tags:
        - products
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this product.
        required: true
        type: integer
  /products/{id}/to-business:
    post:
      operationId: products_to-business_create
      description: ''
      parameters: []
      responses:
        '201':
          description: ''
      tags:
        - products
    parameters:
      - name: id
        in: path
        required: true
        type: string
  /reactions/:
    get:
      operationId: reactions_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/Reaction'
      tags:
        - reactions
    parameters: []
  /reactions/read/:
    post:
      operationId: reactions_read
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ReactionsRead'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/ReturnSuccess'
      tags:
        - reactions
    parameters: []
  /settings/:
    post:
      operationId: settings_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Setting'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/Setting'
      tags:
        - settings
    parameters: []
  /settings/bulk/:
    patch:
      operationId: settings_bulk_partial_update
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
      tags:
        - settings
    parameters: []
  /settings/list/:
    get:
      operationId: settings_list_list
      description: ''
      parameters:
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
      responses:
        '200':
          description: ''
          schema:
            type: array
            items:
              $ref: '#/definitions/Setting'
      tags:
        - settings
    parameters: []
  /settings/{id}/:
    get:
      operationId: settings_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Setting'
      tags:
        - settings
    put:
      operationId: settings_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Setting'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Setting'
      tags:
        - settings
    patch:
      operationId: settings_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Setting'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Setting'
      tags:
        - settings
    delete:
      operationId: settings_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - settings
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this setting.
        required: true
        type: integer
  /stats/dashboard/:
    get:
      operationId: stats_dashboard_list
      description: ''
      parameters:
        - name: date_from
          in: query
          required: false
          type: string
          format: date
        - name: date_to
          in: query
          required: false
          type: string
          format: date
      responses:
        '200':
          description: ''
          schema:
            type: array
            items:
              $ref: '#/definitions/Dashboard'
      tags:
        - stats
    parameters: []
  /stats/dashboard/revenue-chart/:
    get:
      operationId: stats_dashboard_revenue_chart
      description: ''
      parameters:
        - name: date_from
          in: query
          required: false
          type: string
          format: date
        - name: date_to
          in: query
          required: false
          type: string
          format: date
      responses:
        '200':
          description: ''
          schema:
            type: array
            items:
              $ref: '#/definitions/RevenueChart'
      tags:
        - stats
    parameters: []
  /stats/profile/:
    get:
      operationId: stats_profile_list
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
      tags:
        - stats
    parameters: []
  /tags/:
    get:
      operationId: tags_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: preference
          in: query
          description: Multiple values may be separated by commas.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/Tag'
      tags:
        - tags
    post:
      operationId: tags_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Tag'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/Tag'
      tags:
        - tags
    parameters: []
  /tags/{id}/:
    get:
      operationId: tags_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Tag'
      tags:
        - tags
    put:
      operationId: tags_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Tag'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Tag'
      tags:
        - tags
    patch:
      operationId: tags_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Tag'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Tag'
      tags:
        - tags
    delete:
      operationId: tags_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - tags
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this tag.
        required: true
        type: integer
  /transactions/:
    get:
      operationId: transactions_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/PaymentTransactionSerializer'
      tags:
        - transactions
    post:
      operationId: transactions_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/PaymentTransactionSerializer'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/PaymentTransactionSerializer'
      tags:
        - transactions
    parameters: []
  /transactions/stripe/payment-intents/:
    post:
      operationId: transactions_stripe_payment-intents_create
      description: ''
      parameters: []
      responses:
        '201':
          description: ''
      tags:
        - transactions
    parameters: []
  /transactions/stripe/payment-intents/secure/:
    post:
      operationId: transactions_stripe_payment-intents_secure_create
      description: ''
      parameters: []
      responses:
        '201':
          description: ''
      tags:
        - transactions
    parameters: []
  /transactions/stripe/{identifier}/:
    get:
      operationId: transactions_stripe_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/PaymentTransactionSerializer'
      tags:
        - transactions
    parameters:
      - name: identifier
        in: path
        required: true
        type: string
  /transactions/{id}/:
    get:
      operationId: transactions_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/PaymentTransactionSerializer'
      tags:
        - transactions
    put:
      operationId: transactions_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/PaymentTransactionSerializer'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/PaymentTransactionSerializer'
      tags:
        - transactions
    patch:
      operationId: transactions_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/PaymentTransactionSerializer'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/PaymentTransactionSerializer'
      tags:
        - transactions
    delete:
      operationId: transactions_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - transactions
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this transaction.
        required: true
        type: integer
  /users/:
    post:
      operationId: users_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Register'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/Register'
      tags:
        - users
    parameters: []
  /users/blocked/list/:
    get:
      operationId: users_blocked_list_list
      description: ''
      parameters:
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/BlockedUser'
      tags:
        - users
    parameters: []
  /users/bulk-delete/:
    post:
      operationId: users_bulk-delete_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/BulkDeleteUser'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/BulkDeleteUser'
      tags:
        - users
    parameters: []
  /users/deletion-logs/:
    get:
      operationId: users_deletion-logs_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/UserDeleteLog'
      tags:
        - users
    parameters: []
  /users/deletion-logs/{id}/confirm/:
    post:
      operationId: users_deletion-logs_confirm
      description: ''
      parameters: []
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/ReturnSuccess'
      tags:
        - users
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this user delete logs.
        required: true
        type: integer
  /users/discount/:
    get:
      operationId: users_discount_list
      description: ''
      parameters:
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/UserDiscount'
      tags:
        - users
    parameters: []
  /users/discount/invite/:
    post:
      operationId: users_discount_invite
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/UserDiscountsInvite'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/UserDiscountsInvite'
      tags:
        - users
    parameters: []
  /users/discount/{id}/activate/:
    get:
      operationId: users_discount_activate
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/UserDiscount'
      tags:
        - users
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this user discount.
        required: true
        type: integer
  /users/intercom-secrets/:
    get:
      operationId: users_intercom-secrets_list
      description: ''
      parameters:
        - name: platform
          in: query
          required: true
          type: string
          enum:
            - ios
            - android
      responses:
        '200':
          description: ''
          schema:
            type: array
            items:
              type: object
              properties: {}
      tags:
        - users
    parameters: []
  /users/list/:
    get:
      operationId: users_list_list
      description: ''
      parameters:
        - name: id
          in: query
          description: ''
          required: false
          type: number
        - name: is_superuser
          in: query
          description: ''
          required: false
          type: string
        - name: is_staff
          in: query
          description: ''
          required: false
          type: string
        - name: is_active
          in: query
          description: ''
          required: false
          type: string
        - name: terms_agreement
          in: query
          description: ''
          required: false
          type: string
        - name: privacy_agreement
          in: query
          description: ''
          required: false
          type: string
        - name: email_verified
          in: query
          description: ''
          required: false
          type: string
        - name: state
          in: query
          description: ''
          required: false
          type: string
        - name: first_name
          in: query
          description: ''
          required: false
          type: string
        - name: last_name
          in: query
          description: ''
          required: false
          type: string
        - name: email
          in: query
          description: ''
          required: false
          type: string
        - name: phone
          in: query
          description: ''
          required: false
          type: string
        - name: invited_by
          in: query
          description: ''
          required: false
          type: number
        - name: preference
          in: query
          description: ''
          required: false
          type: string
        - name: is_business_account
          in: query
          description: ''
          required: false
          type: string
        - name: date_joined
          in: query
          description: ''
          required: false
          type: string
        - name: is_suspended
          in: query
          description: ''
          required: false
          type: string
        - name: has_delete_request
          in: query
          description: ''
          required: false
          type: string
        - name: ordering
          in: query
          description: Which field from to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: Search in name, username, email, phone.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ElasticUser'
      tags:
        - users
    parameters: []
  /users/login/:
    post:
      operationId: users_login_create
      description: ''
      parameters: []
      responses:
        '201':
          description: ''
      tags:
        - users
    parameters: []
  /users/logout/:
    post:
      operationId: users_logout_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ReturnSuccess'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/ReturnSuccess'
      tags:
        - users
    parameters: []
  /users/management/devices/:
    get:
      operationId: users_management_devices_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: phone
          in: query
          description: ''
          required: false
          type: string
        - name: email
          in: query
          description: ''
          required: false
          type: string
        - name: expires_at
          in: query
          description: ''
          required: false
          type: string
        - name: expires_at__isnull
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/Device'
      tags:
        - users
    parameters: []
  /users/management/devices/bulk-delete/:
    delete:
      operationId: users_management_devices_bulk_delete
      description: ''
      parameters:
        - name: ids
          in: query
          required: false
          type: array
          items:
            type: integer
      responses:
        '204':
          description: ''
      tags:
        - users
    parameters: []
  /users/management/devices/{id}/:
    get:
      operationId: users_management_devices_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Device'
      tags:
        - users
    delete:
      operationId: users_management_devices_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - users
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this device id.
        required: true
        type: integer
  /users/management/waitlist/:
    get:
      operationId: users_management_waitlist_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/Waitlist'
      tags:
        - users
    parameters: []
  /users/management/waitlist/bulk-delete/:
    delete:
      operationId: users_management_waitlist_bulk_delete
      description: ''
      parameters:
        - name: count
          in: query
          required: true
          type: integer
          minimum: 0
      responses:
        '204':
          description: ''
      tags:
        - users
    parameters: []
  /users/management/waitlist/{id}/:
    delete:
      operationId: users_management_waitlist_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - users
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this waitlist.
        required: true
        type: integer
  /users/phone/update/:
    post:
      operationId: users_phone_update_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/UpdatePhone'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/UpdatePhone'
      tags:
        - users
    parameters: []
  /users/profile/:
    get:
      operationId: users_profile_list
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/UpdateProfileUser'
      tags:
        - users
    patch:
      operationId: users_profile_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/UpdateProfileUser'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/UpdateProfileUser'
      tags:
        - users
    delete:
      operationId: users_profile_delete
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/DeleteAccount'
      responses:
        '204':
          description: ''
      tags:
        - users
    parameters: []
  /users/profile/confirm/:
    get:
      operationId: users_profile_confirm_list
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
      tags:
        - users
    parameters: []
  /users/profile/confirm/work-email/:
    get:
      operationId: users_profile_confirm_work-email_list
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
      tags:
        - users
    parameters: []
  /users/profile/restore/:
    post:
      operationId: users_profile_restore_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/RestoreProfileUser'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/RestoreProfileUser'
      tags:
        - users
    parameters: []
  /users/profile/verify/:
    get:
      operationId: users_profile_verify_list
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/UpdateProfileUser'
      tags:
        - users
    patch:
      operationId: users_profile_verify_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/UpdateProfileUser'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/UpdateProfileUser'
      tags:
        - users
    delete:
      operationId: users_profile_verify_delete
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/DeleteAccount'
      responses:
        '204':
          description: ''
      tags:
        - users
    parameters: []
  /users/profile/verify/work-email/:
    get:
      operationId: users_profile_verify_work-email_list
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/UpdateProfileUser'
      tags:
        - users
    patch:
      operationId: users_profile_verify_work-email_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/UpdateProfileUser'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/UpdateProfileUser'
      tags:
        - users
    delete:
      operationId: users_profile_verify_work-email_delete
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/DeleteAccount'
      responses:
        '204':
          description: ''
      tags:
        - users
    parameters: []
  /users/register/:
    post:
      operationId: users_register_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/Register'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/Register'
      tags:
        - users
    parameters: []
  /users/set-password/:
    post:
      operationId: users_set-password_create
      description: ''
      parameters: []
      responses:
        '201':
          description: ''
      tags:
        - users
    parameters: []
  /users/settings/bulk/:
    patch:
      operationId: users_settings_bulk_partial_update
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
      tags:
        - users
    parameters: []
  /users/settings/list/:
    get:
      operationId: users_settings_list_list
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            type: array
            items:
              $ref: '#/definitions/UserSetting'
      tags:
        - users
    parameters: []
  /users/settings/{id}/:
    get:
      operationId: users_settings_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/UserSetting'
      tags:
        - users
    put:
      operationId: users_settings_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/UserSetting'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/UserSetting'
      tags:
        - users
    patch:
      operationId: users_settings_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/UserSetting'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/UserSetting'
      tags:
        - users
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this user setting.
        required: true
        type: integer
  /users/stats/:
    get:
      operationId: users_stats_list
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
      tags:
        - users
    parameters: []
  /users/verify/username/:
    post:
      operationId: users_verify_username_create
      description: ''
      parameters: []
      responses:
        '201':
          description: ''
      tags:
        - users
    parameters: []
  /users/waitlist/check/:
    post:
      operationId: users_waitlist_check_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/CreateWaitlist'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/CreateWaitlist'
      tags:
        - users
    parameters: []
  /users/{code}/device/:
    get:
      operationId: users_device_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/Device'
      tags:
        - users
    parameters:
      - name: code
        in: path
        required: true
        type: string
  /users/{id}/:
    get:
      operationId: users_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementUpdateUser'
      tags:
        - users
    put:
      operationId: users_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ManagementUpdateUser'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementUpdateUser'
      tags:
        - users
    patch:
      operationId: users_partial_update
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/ManagementUpdateUser'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/ManagementUpdateUser'
      tags:
        - users
    delete:
      operationId: users_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - users
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this user.
        required: true
        type: integer
  /users/{id}/block/:
    post:
      operationId: users_block_create
      description: ''
      parameters:
        - name: data
          in: body
          required: true
          schema:
            $ref: '#/definitions/BlockedUser'
      responses:
        '201':
          description: ''
          schema:
            $ref: '#/definitions/BlockedUser'
      tags:
        - users
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this user block.
        required: true
        type: integer
  /users/{id}/gifts/list/:
    get:
      operationId: users_gifts_list_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ReturnGift'
      tags:
        - users
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this gift.
        required: true
        type: integer
  /users/{id}/gifts/received/list/:
    get:
      operationId: users_gifts_received_list_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ReturnGift'
      tags:
        - users
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this gift.
        required: true
        type: integer
  /users/{id}/gifts/sent/list/:
    get:
      operationId: users_gifts_sent_list_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ReturnGift'
      tags:
        - users
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this gift.
        required: true
        type: integer
  /users/{id}/invites/list/:
    get:
      operationId: users_invites_list_list
      description: ''
      parameters:
        - name: type
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/Invite'
      tags:
        - users
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this invite.
        required: true
        type: integer
  /users/{id}/notifications/list/:
    get:
      operationId: users_notifications_list_list
      description: ''
      parameters:
        - name: target_id
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/Notification'
      tags:
        - users
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this notification.
        required: true
        type: integer
  /users/{id}/products/favourites/list/:
    get:
      operationId: users_products_favourites_list_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: in_business_panel
          in: query
          description: ''
          required: false
          type: string
        - name: brand_id
          in: query
          description: ''
          required: false
          type: string
        - name: is_active
          in: query
          description: ''
          required: false
          type: string
        - name: featured
          in: query
          description: ''
          required: false
          type: string
        - name: is_free
          in: query
          description: ''
          required: false
          type: string
        - name: in_gamification
          in: query
          description: ''
          required: false
          type: string
        - name: in_main_catalog
          in: query
          description: ''
          required: false
          type: string
        - name: preference
          in: query
          description: Multiple values may be separated by commas.
          required: false
          type: string
        - name: category_id
          in: query
          description: ''
          required: false
          type: number
        - name: price__range
          in: query
          description: ''
          required: false
          type: string
        - name: age__range
          in: query
          description: ''
          required: false
          type: string
        - name: types
          in: query
          description: ''
          required: false
          type: string
        - name: genders
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ListProduct'
      tags:
        - users
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this product.
        required: true
        type: integer
  /users/{id}/products/recommended/list/:
    get:
      operationId: users_products_recommended_list_list
      description: ''
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          type: string
        - name: in_business_panel
          in: query
          description: ''
          required: false
          type: string
        - name: brand_id
          in: query
          description: ''
          required: false
          type: string
        - name: is_active
          in: query
          description: ''
          required: false
          type: string
        - name: featured
          in: query
          description: ''
          required: false
          type: string
        - name: is_free
          in: query
          description: ''
          required: false
          type: string
        - name: in_gamification
          in: query
          description: ''
          required: false
          type: string
        - name: in_main_catalog
          in: query
          description: ''
          required: false
          type: string
        - name: preference
          in: query
          description: Multiple values may be separated by commas.
          required: false
          type: string
        - name: category_id
          in: query
          description: ''
          required: false
          type: number
        - name: price__range
          in: query
          description: ''
          required: false
          type: string
        - name: age__range
          in: query
          description: ''
          required: false
          type: string
        - name: types
          in: query
          description: ''
          required: false
          type: string
        - name: genders
          in: query
          description: ''
          required: false
          type: string
        - name: search
          in: query
          description: A search term.
          required: false
          type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          type: integer
        - name: per_page
          in: query
          description: Number of results to return per page.
          required: false
          type: integer
      responses:
        '200':
          description: ''
          schema:
            required:
              - count
              - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  $ref: '#/definitions/ListProduct'
      tags:
        - users
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this product.
        required: true
        type: integer
  /users/{id}/unblock/:
    delete:
      operationId: users_unblock_delete
      description: ''
      parameters: []
      responses:
        '204':
          description: ''
      tags:
        - users
    parameters:
      - name: id
        in: path
        description: A unique integer value identifying this user block.
        required: true
        type: integer
  /users/{phone}/verify/:
    get:
      operationId: users_verify_read
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/VerifyUser'
      tags:
        - users
    parameters:
      - name: phone
        in: path
        required: true
        type: string
definitions:
  Attachment:
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      file_name:
        title: File name
        type: string
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      name:
        title: Name
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      url:
        title: Url
        type: string
        maxLength: 512
        minLength: 1
        x-nullable: true
      mime_type:
        title: Mime type
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      size:
        title: Size
        type: string
        format: decimal
      width:
        title: Width
        type: string
        format: decimal
      height:
        title: Height
        type: string
        format: decimal
      type:
        title: Type
        type: string
        enum:
          - IMAGE
          - VIDEO
          - OTHER
      data:
        title: Data
        type: object
        x-nullable: true
      subtype:
        title: Subtype
        type: string
        enum:
          - SENDER
          - RECEIVER
  CategoryParent:
    required:
      - title
      - level
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      products_count:
        title: Products count
        type: integer
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      order:
        title: Order
        type: integer
        readOnly: true
      title:
        title: Title
        type: string
        maxLength: 250
        minLength: 1
      title_en:
        title: Title [en]
        type: string
        maxLength: 250
        x-nullable: true
      title_ru:
        title: Title [ru]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      title_ro:
        title: Title [ro]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      description:
        title: Description
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      description_en:
        title: Description [en]
        type: string
        maxLength: 250
        x-nullable: true
      description_ru:
        title: Description [ru]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      description_ro:
        title: Description [ro]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      short_description:
        title: Short description
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      short_description_en:
        title: Short description [en]
        type: string
        maxLength: 250
        x-nullable: true
      short_description_ru:
        title: Short description [ru]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      short_description_ro:
        title: Short description [ro]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      slug:
        title: Slug
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      level:
        title: Level
        type: integer
        maximum: 2147483647
        minimum: -2147483648
      is_active:
        title: Is active
        type: boolean
      age_limit:
        title: Age limit
        type: integer
        maximum: 2147483647
        minimum: -2147483648
        x-nullable: true
      age_from:
        title: Age from
        type: integer
        maximum: 2147483647
        minimum: 0
        x-nullable: true
      age_to:
        title: Age to
        type: integer
        maximum: 2147483647
        minimum: 0
        x-nullable: true
      image:
        title: Image
        type: integer
        x-nullable: true
      related_products:
        type: array
        items:
          type: integer
        uniqueItems: true
  Category:
    required:
      - title
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      parent:
        $ref: '#/definitions/CategoryParent'
      parent_id:
        title: Parent id
        type: integer
      image:
        $ref: '#/definitions/Attachment'
      image_id:
        title: Image id
        type: integer
      level:
        title: Level
        type: integer
        default: 0
      order_above_category_id:
        title: Order above category id
        type: integer
      order_below_category_id:
        title: Order below category id
        type: integer
      related_products:
        type: array
        items:
          type: integer
        uniqueItems: true
      products_count:
        title: Products count
        type: integer
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      order:
        title: Order
        type: integer
        readOnly: true
      title:
        title: Title
        type: string
        maxLength: 250
        minLength: 1
      title_en:
        title: Title [en]
        type: string
        maxLength: 250
        x-nullable: true
      title_ru:
        title: Title [ru]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      title_ro:
        title: Title [ro]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      description:
        title: Description
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      description_en:
        title: Description [en]
        type: string
        maxLength: 250
        x-nullable: true
      description_ru:
        title: Description [ru]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      description_ro:
        title: Description [ro]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      short_description:
        title: Short description
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      short_description_en:
        title: Short description [en]
        type: string
        maxLength: 250
        x-nullable: true
      short_description_ru:
        title: Short description [ru]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      short_description_ro:
        title: Short description [ro]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      slug:
        title: Slug
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      is_active:
        title: Is active
        type: boolean
      age_limit:
        title: Age limit
        type: integer
        maximum: 2147483647
        minimum: -2147483648
        x-nullable: true
      age_from:
        title: Age from
        type: integer
        maximum: 2147483647
        minimum: 0
        x-nullable: true
      age_to:
        title: Age to
        type: integer
        maximum: 2147483647
        minimum: 0
        x-nullable: true
  Brand:
    required:
      - title
      - category_id
      - identifier
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      title:
        title: Title
        type: string
        minLength: 1
      category:
        $ref: '#/definitions/Category'
      category_id:
        title: Category id
        type: integer
      image:
        $ref: '#/definitions/Attachment'
      image_id:
        title: Image id
        type: integer
      expiry:
        title: Expiry
        type: string
        readOnly: true
        minLength: 1
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      title_en:
        title: Title [en]
        type: string
        maxLength: 250
        x-nullable: true
      title_ru:
        title: Title [ru]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      title_ro:
        title: Title [ro]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      description:
        title: Description
        type: string
        minLength: 1
        x-nullable: true
      description_en:
        title: Description [en]
        type: string
        x-nullable: true
      description_ru:
        title: Description [ru]
        type: string
        minLength: 1
        x-nullable: true
      description_ro:
        title: Description [ro]
        type: string
        minLength: 1
        x-nullable: true
      identifier:
        title: Identifier
        type: string
        maxLength: 250
        minLength: 1
      data:
        title: Data
        type: object
        x-nullable: true
      fixed_prices:
        type: array
        items:
          title: Fixed prices
          type: string
          format: decimal
        x-nullable: true
      price_limits:
        title: Price limits
        type: object
        x-nullable: true
      delivery_methods:
        type: array
        items:
          title: Delivery methods
          type: string
          maxLength: 250
          minLength: 1
      transaction_types:
        type: array
        items:
          title: Transaction types
          type: string
          maxLength: 250
          minLength: 1
  ReturnSuccess:
    required:
      - message
    type: object
    properties:
      success:
        title: Success
        type: boolean
        default: true
      message:
        title: Message
        type: string
        minLength: 1
  WebGiftCardInfo:
    type: object
    properties:
      order_data:
        title: Order data
        type: object
        readOnly: true
      brand_data:
        title: Brand data
        type: object
        readOnly: true
      unwrapped:
        title: Unwrapped
        type: boolean
      redeemed:
        title: Redeemed
        type: boolean
      id:
        title: ID
        type: integer
        readOnly: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
  WebRedeemGiftAccessToken:
    required:
      - access
    type: object
    properties:
      access:
        title: Access
        type: string
        minLength: 1
  AttachmentShort:
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      name:
        title: Name
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      url:
        title: Url
        type: string
        maxLength: 512
        minLength: 1
        x-nullable: true
      size:
        title: Size
        type: string
        format: decimal
      width:
        title: Width
        type: string
        format: decimal
      height:
        title: Height
        type: string
        format: decimal
  BrandShort:
    required:
      - identifier
      - image
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      title:
        title: Title
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      description:
        title: Description
        type: string
        minLength: 1
        x-nullable: true
      identifier:
        title: Identifier
        type: string
        maxLength: 250
        minLength: 1
      image:
        $ref: '#/definitions/AttachmentShort'
  ShortProduct:
    required:
      - price
      - images
      - brand
      - types
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      title:
        title: Title
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      slug:
        title: Slug
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      cost:
        title: Cost
        type: string
        readOnly: true
      description:
        title: Description
        type: string
        maxLength: 500
        minLength: 1
        x-nullable: true
      short_description:
        title: Short description
        type: string
        maxLength: 500
        minLength: 1
        x-nullable: true
      price:
        title: Price
        type: number
      images:
        type: array
        items:
          $ref: '#/definitions/AttachmentShort'
      featured_image:
        title: Featured image
        type: string
        readOnly: true
      brand:
        $ref: '#/definitions/BrandShort'
      fee:
        title: Fee
        type: string
        readOnly: true
      types:
        type: array
        items:
          title: Types
          type: string
          enum:
            - STORE
            - DELIVERY
            - OTHER
      expiring_months:
        title: Expiring months
        type: integer
        maximum: 250
        minimum: 0
  CampaignWebDeepLinkRedeemGift:
    type: object
    properties:
      redeem_access_token_lifetime_seconds:
        title: Redeem access token lifetime seconds
        type: string
        readOnly: true
      product:
        $ref: '#/definitions/ShortProduct'
      unwrapped:
        title: Unwrapped
        type: boolean
      redeemed:
        title: Redeemed
        type: boolean
      id:
        title: ID
        type: integer
        readOnly: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
  CampaignWebDeepLinkGift:
    type: object
    properties:
      product:
        $ref: '#/definitions/ShortProduct'
      unwrapped:
        title: Unwrapped
        type: boolean
      redeemed:
        title: Redeemed
        type: boolean
      id:
        title: ID
        type: integer
        readOnly: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
  CampaignGift:
    type: object
    properties:
      unwrapped:
        title: Unwrapped
        type: boolean
      redeemed:
        title: Redeemed
        type: boolean
      id:
        title: ID
        type: integer
        readOnly: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
  ExternalLink:
    required:
      - url
    type: object
    properties:
      id:
        title: Id
        type: string
        default: b585e90a-884c-49e8-8ab1-4dabb5407efa
        minLength: 1
      url:
        title: Url
        type: string
        format: uri
        minLength: 1
      text:
        title: Text
        type: string
        minLength: 1
      code_name:
        title: Code name
        type: string
        enum:
          - partner_link
        default: partner_link
  WebRedirectBanner:
    type: object
    properties:
      enabled:
        title: Enabled
        type: boolean
        default: false
      title:
        title: Title
        type: string
        minLength: 1
      text:
        title: Text
        type: string
        minLength: 1
  CampaignDeepLinkAdditionalData:
    type: object
    properties:
      web_title:
        title: Web title
        type: string
        minLength: 1
      web_description:
        title: Web description
        type: string
        minLength: 1
      web_image_url:
        title: Web image url
        type: string
        format: uri
        minLength: 1
      web_logo_url:
        title: Web logo url
        type: string
        format: uri
        minLength: 1
      web_color:
        title: Web color
        type: string
        minLength: 1
      web_gradient_color:
        title: Web gradient color
        type: string
        minLength: 1
      web_external_links:
        type: array
        items:
          $ref: '#/definitions/ExternalLink'
      gift_wrapping_image:
        title: Gift wrapping image
        type: string
        format: uri
        minLength: 1
      web_redirect_banner:
        $ref: '#/definitions/WebRedirectBanner'
      gift_unwrap_enabled:
        title: Gift unwrap enabled
        type: boolean
        default: false
  WebCampaignDeepLinkBatch:
    type: object
    properties:
      additional_data:
        $ref: '#/definitions/CampaignDeepLinkAdditionalData'
      web_redeem_access_token_lifetime_seconds:
        title: Web redeem access token lifetime seconds
        type: integer
        readOnly: true
      web_redeem_token_resets_allowed_count:
        title: Web redeem token resets allowed count
        type: integer
        maximum: 2147483647
        minimum: 0
  CampaignWebDeepLinkRegister:
    required:
      - campaign
    type: object
    properties:
      campaign:
        title: Campaign
        type: integer
      reward_gift:
        $ref: '#/definitions/CampaignGift'
      campaign_deeplink_batch:
        $ref: '#/definitions/WebCampaignDeepLinkBatch'
      web_redeem_token_reset_request_count:
        title: Web redeem token reset request count
        type: integer
        readOnly: true
      web_redeem_token_issuance_count:
        title: Web redeem token issuance count
        type: integer
        readOnly: true
      web_redeem_token_issuance_limit:
        title: Web redeem token issuance limit
        type: integer
        readOnly: true
      web_redeem_access_token:
        title: Web redeem access token
        type: string
        readOnly: true
        minLength: 1
      id:
        title: ID
        type: integer
        readOnly: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
  CampaignTierShort:
    required:
      - promo_image
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      tier:
        title: Tier
        type: integer
        maximum: 2147483647
        minimum: 0
        x-nullable: true
      description:
        title: Description
        type: string
        minLength: 1
        x-nullable: true
      description_ro:
        title: Description [ro]
        type: string
        minLength: 1
        x-nullable: true
      description_ru:
        title: Description [ru]
        type: string
        minLength: 1
        x-nullable: true
      description_en:
        title: Description [en]
        type: string
        x-nullable: true
      parent:
        title: Parent
        type: integer
        x-nullable: true
      promo_image:
        $ref: '#/definitions/AttachmentShort'
      promo_description:
        title: Promo description
        type: string
        minLength: 1
        x-nullable: true
      promo_description_ro:
        title: Promo description [ro]
        type: string
        minLength: 1
        x-nullable: true
      promo_description_ru:
        title: Promo description [ru]
        type: string
        minLength: 1
        x-nullable: true
      promo_description_en:
        title: Promo description [en]
        type: string
        x-nullable: true
    x-nullable: true
  UserCampaign:
    required:
      - reward_gift
      - campaign_tier
      - previous_campaign_tier
    type: object
    properties:
      reward_gift:
        $ref: '#/definitions/CampaignGift'
      campaign_tier:
        $ref: '#/definitions/CampaignTierShort'
      time_left:
        title: Time left
        type: string
        readOnly: true
        x-nullable: true
      source:
        title: Source
        type: string
        readOnly: true
        minLength: 1
      previous_campaign_tier:
        $ref: '#/definitions/CampaignTierShort'
      id:
        title: ID
        type: integer
        readOnly: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
    x-nullable: true
  ShortUser:
    required:
      - email
      - username
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      email:
        title: Email
        type: string
        format: email
        maxLength: 250
        minLength: 1
      first_name:
        title: First name
        type: string
        maxLength: 250
        minLength: 1
      last_name:
        title: Last name
        type: string
        maxLength: 250
        minLength: 1
      username:
        title: Username
        description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
          only.
        type: string
        pattern: ^[\w.@+-]+$
        maxLength: 150
        minLength: 1
      phone:
        title: Phone
        type: string
        maxLength: 50
        minLength: 1
        x-nullable: true
      gender:
        title: Gender
        type: string
        enum:
          - MALE
          - FEMALE
          - NON_BINARY
          - PREFER_NOT_TO_SAY
          - OTHER
    x-nullable: true
  ShortContact:
    required:
      - phone
      - target
    type: object
    properties:
      first_name:
        title: First name
        type: string
        maxLength: 250
        x-nullable: true
      last_name:
        title: Last name
        type: string
        maxLength: 250
        x-nullable: true
      phone:
        title: Phone
        type: string
        minLength: 1
      email:
        title: Email
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      photo_url:
        title: Photo url
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      birthday:
        title: Birthday
        type: string
        format: date-time
        x-nullable: true
      target:
        $ref: '#/definitions/ShortUser'
    x-nullable: true
  CampaignNetworkCard:
    required:
      - product
      - contact
      - video
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      product:
        $ref: '#/definitions/ShortProduct'
      contact:
        $ref: '#/definitions/ShortContact'
      campaign_name:
        title: Campaign name
        type: string
        readOnly: true
        minLength: 1
      video:
        $ref: '#/definitions/Attachment'
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      title:
        title: Title
        type: string
        maxLength: 225
        minLength: 1
        x-nullable: true
      image_url:
        title: Image url
        type: string
        format: uri
        maxLength: 200
        minLength: 1
        x-nullable: true
      is_paid:
        title: Is paid
        type: boolean
    x-nullable: true
  Campaign:
    required:
      - name
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      user_campaign:
        $ref: '#/definitions/UserCampaign'
      brand_images:
        type: array
        items:
          type: string
          x-nullable: true
        default: []
      video:
        $ref: '#/definitions/Attachment'
      network_cards:
        $ref: '#/definitions/CampaignNetworkCard'
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      name:
        title: Name
        type: string
        maxLength: 225
        minLength: 1
      name_en:
        title: Name [en]
        type: string
        maxLength: 225
        x-nullable: true
      name_ru:
        title: Name [ru]
        type: string
        maxLength: 225
        minLength: 1
        x-nullable: true
      name_ro:
        title: Name [ro]
        type: string
        maxLength: 225
        minLength: 1
        x-nullable: true
      description:
        title: Description
        type: string
        minLength: 1
        x-nullable: true
      description_en:
        title: Description [en]
        type: string
        x-nullable: true
      description_ru:
        title: Description [ru]
        type: string
        minLength: 1
        x-nullable: true
      description_ro:
        title: Description [ro]
        type: string
        minLength: 1
        x-nullable: true
      is_active:
        title: Is active
        type: boolean
      cta_image:
        title: Cta image
        type: string
        format: uri
        maxLength: 200
        minLength: 1
        x-nullable: true
      start_at:
        title: Start at
        type: string
        format: date-time
        x-nullable: true
      end_at:
        title: End at
        type: string
        format: date-time
        x-nullable: true
      reward_gift_validity_duration:
        title: Reward gift validity duration
        type: number
        x-nullable: true
      reentry_wait_duration:
        title: Reentry wait duration
        type: number
        x-nullable: true
      reward_gift_expiration_warning_period:
        title: Reward gift expiration warning period
        type: number
        x-nullable: true
      product:
        title: Product
        description: Reward
        type: integer
        x-nullable: true
  PhoneNumber:
    required:
      - phone_number
    type: object
    properties:
      phone_number:
        title: Phone number
        type: string
        minLength: 1
  ShortOrder:
    required:
      - cost
      - paid
      - fee
      - price
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      url:
        title: Url
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      cost:
        title: Cost
        type: number
      paid:
        title: Paid
        type: number
      fee:
        title: Fee
        type: number
      discount:
        title: Discount
        type: string
        readOnly: true
      source:
        title: Source
        type: string
        enum:
          - admin_panel
          - business_panel
          - coupon
          - gamification
          - network_card
          - app
      price:
        title: Price
        type: number
  ReturnUser:
    required:
      - email
      - username
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      email:
        title: Email
        type: string
        format: email
        maxLength: 250
        minLength: 1
      name:
        title: Name
        type: string
        readOnly: true
        minLength: 1
      first_name:
        title: First name
        type: string
        maxLength: 250
        minLength: 1
      last_name:
        title: Last name
        type: string
        maxLength: 250
        minLength: 1
      username:
        title: Username
        description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
          only.
        type: string
        pattern: ^[\w.@+-]+$
        maxLength: 150
        minLength: 1
      preference:
        title: Preference
        type: string
        enum:
          - FULLNAME
          - USERNAME
      phone:
        title: Phone
        type: string
        maxLength: 50
        minLength: 1
        x-nullable: true
      gender:
        title: Gender
        type: string
        enum:
          - MALE
          - FEMALE
          - NON_BINARY
          - PREFER_NOT_TO_SAY
          - OTHER
      birthday:
        title: Birthday
        type: string
        format: date
        x-nullable: true
      photo_url:
        title: Photo url
        type: string
        readOnly: true
        minLength: 1
      is_friend:
        title: Is friend
        type: string
        readOnly: true
  SimpleUser:
    required:
      - email
      - username
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      email:
        title: Email
        type: string
        format: email
        maxLength: 250
        minLength: 1
      name:
        title: Name
        type: string
        readOnly: true
        minLength: 1
      first_name:
        title: First name
        type: string
        maxLength: 250
        minLength: 1
      last_name:
        title: Last name
        type: string
        maxLength: 250
        minLength: 1
      username:
        title: Username
        description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
          only.
        type: string
        pattern: ^[\w.@+-]+$
        maxLength: 150
        minLength: 1
      preference:
        title: Preference
        type: string
        enum:
          - FULLNAME
          - USERNAME
      phone:
        title: Phone
        type: string
        maxLength: 50
        minLength: 1
        x-nullable: true
      gender:
        title: Gender
        type: string
        enum:
          - MALE
          - FEMALE
          - NON_BINARY
          - PREFER_NOT_TO_SAY
          - OTHER
  ContactGroup:
    required:
      - name
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      contacts_count:
        title: Contacts count
        type: integer
        readOnly: true
        default: 0
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      name:
        title: Name
        type: string
        maxLength: 225
        minLength: 1
      description:
        title: Description
        type: string
        x-nullable: true
      group_type:
        title: Group type
        type: string
        enum:
          - company
          - team
        readOnly: true
        default: company
      company:
        title: Company
        type: integer
        readOnly: true
  ReturnContact:
    required:
      - group
      - phone
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      user:
        $ref: '#/definitions/SimpleUser'
      target:
        $ref: '#/definitions/SimpleUser'
      group:
        $ref: '#/definitions/ContactGroup'
      name:
        title: Name
        type: string
        readOnly: true
        minLength: 1
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      first_name:
        title: First name
        type: string
        maxLength: 250
        x-nullable: true
      last_name:
        title: Last name
        type: string
        maxLength: 250
        x-nullable: true
      phone:
        title: Phone
        type: string
        maxLength: 50
        x-nullable: true
      email:
        title: Email
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      photo_url:
        title: Photo url
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      birthday:
        title: Birthday
        type: string
        format: date-time
        x-nullable: true
      send_birthday_gift:
        title: Send birthday gift
        type: boolean
      send_special_day_gift:
        title: Send special day gift
        type: boolean
      phone_label:
        title: Phone label
        type: string
        enum:
          - assistant
          - callback
          - car
          - companyMain
          - faxHome
          - faxOther
          - faxWork
          - home
          - iPhone
          - isdn
          - main
          - mms
          - mobile
          - pager
          - radio
          - school
          - telex
          - ttyTtd
          - work
          - workMobile
          - workPager
          - other
          - custom
      company_client:
        title: Company client
        type: integer
        readOnly: true
      company_employee:
        title: Company employee
        type: integer
        readOnly: true
  CommentShort:
    type: object
    properties:
      comment:
        title: Comment
        type: string
        minLength: 1
        x-nullable: true
      read:
        title: Read
        type: boolean
  Reaction:
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      user:
        $ref: '#/definitions/ReturnUser'
      attachment:
        $ref: '#/definitions/AttachmentShort'
      attachment_id:
        title: Attachment id
        type: integer
      timestamp:
        title: Timestamp
        type: string
        format: date-time
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
      read:
        title: Read
        type: boolean
      comment:
        title: Comment
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      gift:
        title: Gift
        type: integer
        readOnly: true
  ReturnGift:
    required:
      - product
      - order
      - target
      - contact
      - attachments
      - comments
      - reactions
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      product:
        $ref: '#/definitions/ShortProduct'
      order:
        $ref: '#/definitions/ShortOrder'
      user:
        title: User
        type: string
        readOnly: true
      target:
        $ref: '#/definitions/ReturnUser'
      contact:
        $ref: '#/definitions/ReturnContact'
      attachments:
        type: array
        items:
          $ref: '#/definitions/AttachmentShort'
      comments:
        type: array
        items:
          $ref: '#/definitions/CommentShort'
      reactions:
        type: array
        items:
          $ref: '#/definitions/Reaction'
      timestamp:
        title: Timestamp
        type: string
        format: date-time
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
      unwrapped:
        title: Unwrapped
        type: boolean
      unwrapped_timestamp:
        title: Unwrapped timestamp
        type: string
        format: date-time
        readOnly: true
      redeemed:
        title: Redeemed
        type: boolean
      redeemed_timestamp:
        title: Redeemed timestamp
        type: string
        format: date-time
        readOnly: true
      archived:
        title: Archived
        type: boolean
      archived_timestamp:
        title: Archived timestamp
        type: string
        format: date-time
        x-nullable: true
      expired:
        title: Expired
        type: boolean
      expiring_timestamp:
        title: Expiring timestamp
        type: string
        format: date-time
        x-nullable: true
      free:
        title: Free
        type: boolean
      data:
        title: Data
        type: object
        x-nullable: true
      status:
        title: Status
        type: string
        enum:
          - ACTIVE
          - PENDING
          - FAILED
          - SUCCESS
          - OTHER
      operation_id:
        title: Operation id
        type: string
        format: uuid
        x-nullable: true
      image_url:
        title: Image url
        type: string
        format: uri
        maxLength: 200
        minLength: 1
        x-nullable: true
      cost:
        title: Cost
        type: string
        format: decimal
      coupon:
        title: Coupon
        type: integer
        x-nullable: true
      cohort:
        title: Cohort
        type: integer
        x-nullable: true
      product_card:
        title: Product card
        type: integer
        x-nullable: true
      product_characteristic_choices:
        type: array
        items:
          type: integer
        uniqueItems: true
  CharacteristicTypeChoice:
    required:
      - value
      - price
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      value:
        title: Value
        type: string
        maxLength: 225
        minLength: 1
      price:
        title: Price
        type: number
      available:
        title: Available
        type: boolean
  CharacteristicType:
    required:
      - choices
      - characteristic_title
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      choices:
        type: array
        items:
          $ref: '#/definitions/CharacteristicTypeChoice'
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      characteristic_title:
        title: Characteristic title
        type: string
        maxLength: 225
        minLength: 1
      representation_type:
        title: Representation type
        type: string
        enum:
          - horizontal_list
          - vertical_list
          - dropdown
  NomenclatureDegreeOfKinship:
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      title:
        title: Title
        type: string
        maxLength: 255
        minLength: 1
        x-nullable: true
      title_en:
        title: Title [en]
        type: string
        maxLength: 255
        x-nullable: true
      title_ru:
        title: Title [ru]
        type: string
        maxLength: 255
        minLength: 1
        x-nullable: true
      title_ro:
        title: Title [ro]
        type: string
        maxLength: 255
        minLength: 1
        x-nullable: true
      description:
        title: Description
        type: string
        x-nullable: true
      code_name:
        title: Code name
        type: string
        enum:
          - BROTHER
          - BROTHER-IN-LAW
          - WIFE
          - HUSBAND
          - DAUGHTER
          - GRANDPARENTS
          - OTHER
  NomenclatureCurrency:
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      code_name:
        title: Code name
        type: string
        maxLength: 50
        minLength: 1
        x-nullable: true
      title:
        title: Title
        type: string
        maxLength: 255
        minLength: 1
        x-nullable: true
      title_en:
        title: Title [en]
        type: string
        maxLength: 255
        x-nullable: true
      title_ru:
        title: Title [ru]
        type: string
        maxLength: 255
        minLength: 1
        x-nullable: true
      title_ro:
        title: Title [ro]
        type: string
        maxLength: 255
        minLength: 1
        x-nullable: true
      description:
        title: Description
        type: string
        x-nullable: true
  Tag:
    required:
      - title
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      title:
        title: Title
        type: string
        minLength: 1
      description:
        title: Description
        type: string
        minLength: 1
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      title_en:
        title: Title [en]
        type: string
        maxLength: 250
        x-nullable: true
      title_ru:
        title: Title [ru]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      title_ro:
        title: Title [ro]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      short_description:
        title: Short description
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      slug:
        title: Slug
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
  Product:
    required:
      - title
      - types
      - genders
      - brand_id
      - categories_id
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      characteristic_types:
        type: array
        items:
          $ref: '#/definitions/CharacteristicType'
      title:
        title: Title
        type: string
        minLength: 1
      types:
        type: array
        items:
          type: string
          enum:
            - STORE
            - DELIVERY
            - OTHER
          default: STORE
      genders:
        type: array
        items:
          type: string
          enum:
            - HER
            - HIM
            - THEM
          default: THEM
      fee:
        title: Fee
        type: string
        readOnly: true
      price:
        title: Price
        type: number
      cost:
        title: Cost
        type: string
        readOnly: true
      is_favorite:
        title: Is favorite
        type: string
        readOnly: true
      featured_image:
        title: Featured image
        type: string
        readOnly: true
      images:
        type: array
        items:
          $ref: '#/definitions/Attachment'
      brand:
        $ref: '#/definitions/Brand'
      brand_id:
        title: Brand id
        type: integer
      categories:
        type: array
        items:
          $ref: '#/definitions/Category'
        readOnly: true
      categories_id:
        type: array
        items:
          type: integer
        uniqueItems: true
      kinship:
        $ref: '#/definitions/NomenclatureDegreeOfKinship'
      kinship_id:
        title: Kinship id
        type: integer
      currency:
        $ref: '#/definitions/NomenclatureCurrency'
      currency_id:
        title: Currency id
        type: integer
      tags:
        type: array
        items:
          $ref: '#/definitions/Tag'
        readOnly: true
      tags_id:
        type: array
        items:
          type: integer
        uniqueItems: true
      order_above_product_id:
        title: Order above product id
        type: integer
      order_below_product_id:
        title: Order below product id
        type: integer
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      order:
        title: Order
        type: integer
        readOnly: true
      title_en:
        title: Title [en]
        type: string
        maxLength: 250
        x-nullable: true
      title_ru:
        title: Title [ru]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      title_ro:
        title: Title [ro]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      description:
        title: Description
        type: string
        maxLength: 500
        minLength: 1
        x-nullable: true
      description_en:
        title: Description [en]
        type: string
        maxLength: 500
        x-nullable: true
      description_ru:
        title: Description [ru]
        type: string
        maxLength: 500
        minLength: 1
        x-nullable: true
      description_ro:
        title: Description [ro]
        type: string
        maxLength: 500
        minLength: 1
        x-nullable: true
      short_description:
        title: Short description
        type: string
        maxLength: 500
        minLength: 1
        x-nullable: true
      short_description_en:
        title: Short description [en]
        type: string
        maxLength: 500
        x-nullable: true
      short_description_ru:
        title: Short description [ru]
        type: string
        maxLength: 500
        minLength: 1
        x-nullable: true
      short_description_ro:
        title: Short description [ro]
        type: string
        maxLength: 500
        minLength: 1
        x-nullable: true
      slug:
        title: Slug
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      age_limit:
        title: Age limit
        type: integer
        maximum: 2147483647
        minimum: -2147483648
        x-nullable: true
      discount_price:
        title: Discount price
        type: number
        minimum: 0
        x-nullable: true
      is_discount:
        title: Is discount
        type: boolean
        x-nullable: true
      is_active:
        title: Is active
        type: boolean
      featured:
        title: Featured
        type: boolean
      in_main_catalog:
        title: In main catalog
        type: boolean
      in_business_panel:
        title: In business panel
        type: boolean
      in_gamification:
        title: In gamification
        type: boolean
      is_free:
        title: Is free
        type: boolean
      nsfw:
        title: Nsfw
        type: boolean
      data:
        title: Data
        type: object
        x-nullable: true
      metadata:
        title: Metadata
        type: object
        x-nullable: true
      parameters:
        title: Parameters
        type: object
        x-nullable: true
      expiring_months:
        title: Expiring months
        type: integer
        maximum: 250
        minimum: 0
      migrated:
        title: Migrated
        type: boolean
      available:
        title: Available
        type: boolean
      user:
        title: User
        type: integer
        x-nullable: true
      allowed_to_users:
        type: array
        items:
          type: integer
        uniqueItems: true
  CohortUser:
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      first_name:
        title: First name
        type: string
        maxLength: 250
        minLength: 1
      last_name:
        title: Last name
        type: string
        maxLength: 250
        minLength: 1
      birthday:
        title: Birthday
        type: string
        format: date
        x-nullable: true
      phone:
        title: Phone
        type: string
        maxLength: 50
        minLength: 1
        x-nullable: true
  Cohort:
    required:
      - user
      - users_count
      - gifts_count
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      user:
        $ref: '#/definitions/CohortUser'
      users_count:
        title: Users count
        type: integer
      gifts_count:
        title: Gifts count
        type: integer
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      title:
        title: Title
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      title_en:
        title: Title [en]
        type: string
        maxLength: 250
        x-nullable: true
      title_ru:
        title: Title [ru]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      title_ro:
        title: Title [ro]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      description:
        title: Description
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      description_en:
        title: Description [en]
        type: string
        maxLength: 250
        x-nullable: true
      description_ru:
        title: Description [ru]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      description_ro:
        title: Description [ro]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      query_params:
        title: Query params
        type: object
        x-nullable: true
      sync_start_at:
        title: Sync start at
        type: string
        format: date-time
        x-nullable: true
      sync_complete_at:
        title: Sync complete at
        type: string
        format: date-time
        x-nullable: true
      parameters:
        title: Parameters
        type: object
        x-nullable: true
      status:
        title: Status
        type: string
        enum:
          - sync_start
          - sync_complete
          - sync_failed
  CohortCreate:
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      title:
        title: Title
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      description:
        title: Description
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      parameters:
        title: Parameters
        type: object
        x-nullable: true
      query_params:
        title: Query params
        type: object
        x-nullable: true
      status:
        title: Status
        type: string
        enum:
          - sync_start
          - sync_complete
          - sync_failed
        readOnly: true
  CohortStats:
    type: object
    properties:
      cohorts_count:
        title: Cohorts count
        type: integer
        default: 0
      total_users_count:
        title: Total users count
        type: integer
        default: 0
  ElasticUser:
    required:
      - username
      - email
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      username:
        title: Username
        description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
          only.
        type: string
        pattern: ^[\w.@+-]+$
        maxLength: 150
        minLength: 1
      name:
        title: Name
        type: string
        readOnly: true
      first_name:
        title: First name
        type: string
        maxLength: 250
        minLength: 1
      last_name:
        title: Last name
        type: string
        maxLength: 250
        minLength: 1
      email:
        title: Email
        type: string
        format: email
        maxLength: 250
        minLength: 1
      phone:
        title: Phone
        type: string
        readOnly: true
      preference:
        title: Preference
        type: string
        enum:
          - FULLNAME
          - USERNAME
      referral_code:
        title: Referral code
        type: string
        format: uuid
        readOnly: true
      is_superuser:
        title: Superuser status
        description: Designates that this user has all permissions without explicitly
          assigning them.
        type: boolean
      is_staff:
        title: Staff status
        description: Designates whether the user can log into this admin site.
        type: boolean
      is_active:
        title: Active
        description: Designates whether this user should be treated as active. Unselect
          this instead of deleting accounts.
        type: boolean
      terms_agreement:
        title: Terms agreement
        type: boolean
      privacy_agreement:
        title: Privacy agreement
        type: boolean
      email_verified:
        title: Email verified
        type: boolean
      state:
        title: State
        type: boolean
      date_joined:
        title: Date joined
        type: string
        format: date-time
      last_login:
        title: Last login
        type: string
        format: date-time
        x-nullable: true
      birthday:
        title: Birthday
        type: string
        format: date
        x-nullable: true
      photo:
        title: Photo
        type: string
        readOnly: true
      addresses:
        title: Addresses
        type: string
        readOnly: true
      interests:
        title: Interests
        type: string
        readOnly: true
      invited_by:
        title: Invited by
        type: string
        readOnly: true
      invited:
        title: Invited
        type: string
        readOnly: true
      stats:
        title: Stats
        type: string
        readOnly: true
      is_suspended:
        title: Is suspended
        type: boolean
      has_delete_request:
        title: Has delete request
        type: string
        readOnly: true
      companies:
        title: Companies
        type: string
        readOnly: true
      flags:
        title: Flags
        type: string
        readOnly: true
      manual_review:
        title: Manual review
        type: boolean
      referral_source:
        title: Referral source
        type: string
        maxLength: 254
        minLength: 1
        x-nullable: true
      referral_user:
        title: Referral user
        type: string
        readOnly: true
      has_favorites_products:
        title: Has favorites products
        type: string
        readOnly: true
      campaigns:
        title: Campaigns
        type: string
        readOnly: true
      last_active:
        title: Last active
        type: string
        format: date-time
        x-nullable: true
  CohortGift:
    required:
      - operation_id
      - targets_count
      - total_price
      - date
    type: object
    properties:
      operation_id:
        title: Operation id
        type: string
        format: uuid
      user:
        title: User
        type: string
        readOnly: true
      product:
        title: Product
        type: string
        readOnly: true
      order:
        title: Order
        type: string
        readOnly: true
      targets_count:
        title: Targets count
        type: integer
      total_price:
        title: Total price
        type: integer
      date:
        title: Date
        type: string
        format: date-time
  CohortNotificationCreate:
    required:
      - title
      - body
    type: object
    properties:
      title:
        title: Title
        type: string
        minLength: 1
      body:
        title: Body
        type: string
        minLength: 1
      types:
        type: array
        items:
          type: string
          enum:
            - EMAIL
            - PUSH
        default:
          - PUSH
      action_name:
        title: Action name
        type: string
        minLength: 1
      action_link:
        title: Action link
        type: string
        format: uri
        minLength: 1
  CohortOrderCreate:
    required:
      - product_id
    type: object
    properties:
      product_id:
        title: Product id
        type: integer
      comment_id:
        title: Comment id
        type: integer
      video_id:
        title: Video id
        type: integer
      product_characteristic_choices:
        type: array
        items:
          type: integer
        uniqueItems: true
  CommentUser:
    required:
      - email
      - username
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      name:
        title: Name
        type: string
        readOnly: true
      email:
        title: Email
        type: string
        format: email
        maxLength: 250
        minLength: 1
      first_name:
        title: First name
        type: string
        maxLength: 250
        minLength: 1
      last_name:
        title: Last name
        type: string
        maxLength: 250
        minLength: 1
      preference:
        title: Preference
        type: string
        enum:
          - FULLNAME
          - USERNAME
      photo_url:
        title: Photo url
        type: string
        readOnly: true
        minLength: 1
      username:
        title: Username
        description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
          only.
        type: string
        pattern: ^[\w.@+-]+$
        maxLength: 150
        minLength: 1
      gender:
        title: Gender
        type: string
        enum:
          - MALE
          - FEMALE
          - NON_BINARY
          - PREFER_NOT_TO_SAY
          - OTHER
  Comment:
    required:
      - comment
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      comment:
        title: Comment
        type: string
        minLength: 1
      type:
        title: Type
        type: string
        enum:
          - SENDER
          - RECEIVER
          - OTHER
        default: SENDER
      user:
        $ref: '#/definitions/CommentUser'
      user_id:
        title: User id
        type: integer
        x-nullable: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      read:
        title: Read
        type: boolean
  CompanyAddress:
    type: object
    properties:
      city:
        title: City
        type: string
        maxLength: 225
        minLength: 1
        x-nullable: true
      region:
        title: Region
        type: string
        maxLength: 225
        minLength: 1
        x-nullable: true
      country:
        title: Country
        type: string
        maxLength: 225
        minLength: 1
        x-nullable: true
      subregion:
        title: Subregion
        type: string
        maxLength: 225
        minLength: 1
        x-nullable: true
      zip_code:
        title: Zip code
        type: string
        maxLength: 15
        x-nullable: true
      line_1:
        title: Line 1
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
  ReturnCompany:
    required:
      - address
      - name
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      address:
        $ref: '#/definitions/CompanyAddress'
      can_send_gift:
        title: Can send gift
        type: string
        readOnly: true
      owner:
        title: Owner
        type: string
        readOnly: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      name:
        title: Name
        type: string
        maxLength: 225
        minLength: 1
      fee:
        title: Fee
        type: number
  CreateContact:
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      group:
        title: Group
        type: string
        minLength: 1
        x-nullable: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      first_name:
        title: First name
        type: string
        maxLength: 250
        x-nullable: true
      last_name:
        title: Last name
        type: string
        maxLength: 250
        x-nullable: true
      phone:
        title: Phone
        type: string
        maxLength: 50
        x-nullable: true
      email:
        title: Email
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      photo_url:
        title: Photo url
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      birthday:
        title: Birthday
        type: string
        format: date-time
        x-nullable: true
      send_birthday_gift:
        title: Send birthday gift
        type: boolean
      send_special_day_gift:
        title: Send special day gift
        type: boolean
      phone_label:
        title: Phone label
        type: string
        enum:
          - assistant
          - callback
          - car
          - companyMain
          - faxHome
          - faxOther
          - faxWork
          - home
          - iPhone
          - isdn
          - main
          - mms
          - mobile
          - pager
          - radio
          - school
          - telex
          - ttyTtd
          - work
          - workMobile
          - workPager
          - other
          - custom
      user:
        title: User
        type: integer
        readOnly: true
      target:
        title: Target
        type: integer
        readOnly: true
      company_client:
        title: Company client
        type: integer
        readOnly: true
      company_employee:
        title: Company employee
        type: integer
        readOnly: true
  CompanyItemImport:
    required:
      - file_url
    type: object
    properties:
      file_url:
        title: File url
        type: string
        format: uri
        minLength: 1
  MultipleProductsSend:
    required:
      - product
    type: object
    properties:
      product:
        title: Product
        type: integer
      product_characteristic_choices:
        type: array
        items:
          type: integer
        uniqueItems: true
  SendCompanyGift:
    required:
      - products
    type: object
    properties:
      comment:
        title: Comment
        type: string
        minLength: 1
      video:
        title: Video
        type: integer
        x-nullable: true
      contacts:
        type: array
        items:
          type: integer
        uniqueItems: true
      payment_method:
        title: Payment method
        type: string
        minLength: 1
      notification_method:
        title: Notification method
        type: string
        enum:
          - PUSH
          - EMAIL
      products:
        type: array
        items:
          $ref: '#/definitions/MultipleProductsSend'
  ReturnCompanyGift:
    required:
      - payment_intent
      - public_key
    type: object
    properties:
      success:
        title: Success
        type: boolean
        default: true
      payment_intent:
        title: Payment intent
        type: object
      public_key:
        title: Public key
        type: string
        minLength: 1
  CompanyOrder:
    required:
      - date
      - gifts_count
      - employees_count
      - clients_count
      - total_cost
      - total_fee
      - groups
      - total_paid
    type: object
    properties:
      date:
        title: Date
        type: string
        format: date-time
      operation_id:
        title: Operation id
        type: string
        format: uuid
        x-nullable: true
      gifts_count:
        title: Gifts count
        type: integer
      employees_count:
        title: Employees count
        type: integer
      clients_count:
        title: Clients count
        type: integer
      total_cost:
        title: Total cost
        type: number
      total_fee:
        title: Total fee
        type: number
      groups:
        title: Groups
        type: string
        minLength: 1
      total_paid:
        title: Total paid
        type: number
      products:
        title: Products
        type: string
        readOnly: true
  CompanyOrderStats:
    required:
      - send
      - spend
      - employees
      - customers
    type: object
    properties:
      send:
        title: Send
        type: integer
      spend:
        title: Spend
        type: integer
      employees:
        title: Employees
        type: integer
      customers:
        title: Customers
        type: integer
  OrderInvoice:
    required:
      - comment
      - video
      - contact_type
      - contacts_count
      - subtotal
      - service_charge
      - total
      - date
    type: object
    properties:
      comment:
        $ref: '#/definitions/CommentShort'
      video:
        $ref: '#/definitions/AttachmentShort'
      contact_type:
        title: Contact type
        type: string
        minLength: 1
      contacts:
        title: Contacts
        type: string
        readOnly: true
      products:
        title: Products
        type: string
        readOnly: true
      contacts_count:
        title: Contacts count
        type: integer
      subtotal:
        title: Subtotal
        type: number
      service_charge:
        title: Service charge
        type: number
      total:
        title: Total
        type: number
      date:
        title: Date
        type: string
        format: date-time
  ListSubCategories:
    required:
      - title
      - image
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      title:
        title: Title
        type: string
        maxLength: 250
        minLength: 1
      image:
        $ref: '#/definitions/AttachmentShort'
      products:
        title: Products
        type: string
        readOnly: true
      products_count:
        title: Products count
        type: integer
        default: 0
  ListGroupedProducts:
    required:
      - title
      - image
      - sub_categories
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      title:
        title: Title
        type: string
        maxLength: 250
        minLength: 1
      slug:
        title: Slug
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      image:
        $ref: '#/definitions/AttachmentShort'
      sub_categories:
        type: array
        items:
          $ref: '#/definitions/ListSubCategories'
  CompanyAddressCreate:
    type: object
    properties:
      city:
        title: City
        type: string
        maxLength: 225
        minLength: 1
        x-nullable: true
      region:
        title: Region
        type: string
        maxLength: 225
        minLength: 1
        x-nullable: true
      country:
        title: Country
        type: string
        maxLength: 225
        minLength: 1
        x-nullable: true
      subregion:
        title: Subregion
        type: string
        maxLength: 225
        minLength: 1
        x-nullable: true
      zip_code:
        title: Zip code
        type: string
        maxLength: 15
        x-nullable: true
      line_1:
        title: Line 1
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
  CompanyCreate:
    required:
      - address
      - name
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      address:
        $ref: '#/definitions/CompanyAddressCreate'
      can_send_gift:
        title: Can send gift
        type: string
        readOnly: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      name:
        title: Name
        type: string
        maxLength: 225
        minLength: 1
      fee:
        title: Fee
        type: number
  Contact:
    required:
      - phone
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      phone:
        title: Phone
        type: string
        minLength: 1
      user:
        $ref: '#/definitions/ReturnUser'
      target:
        $ref: '#/definitions/ReturnUser'
      name:
        title: Name
        type: string
        readOnly: true
        minLength: 1
      registered:
        title: Registered
        type: boolean
        readOnly: true
      invited:
        title: Invited
        type: boolean
        readOnly: true
      in_networking:
        title: In networking
        type: boolean
        readOnly: true
      is_country_supported:
        title: Is country supported
        type: boolean
        readOnly: true
      is_blocked:
        title: Is blocked
        type: string
        readOnly: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
      first_name:
        title: First name
        type: string
        maxLength: 250
        x-nullable: true
      last_name:
        title: Last name
        type: string
        maxLength: 250
        x-nullable: true
      email:
        title: Email
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      photo_url:
        title: Photo url
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      birthday:
        title: Birthday
        type: string
        format: date-time
        x-nullable: true
      send_birthday_gift:
        title: Send birthday gift
        type: boolean
      send_special_day_gift:
        title: Send special day gift
        type: boolean
      phone_label:
        title: Phone label
        type: string
        enum:
          - assistant
          - callback
          - car
          - companyMain
          - faxHome
          - faxOther
          - faxWork
          - home
          - iPhone
          - isdn
          - main
          - mms
          - mobile
          - pager
          - radio
          - school
          - telex
          - ttyTtd
          - work
          - workMobile
          - workPager
          - other
          - custom
      company_client:
        title: Company client
        type: integer
        readOnly: true
      company_employee:
        title: Company employee
        type: integer
        readOnly: true
      group:
        title: Group
        type: integer
        x-nullable: true
  SynchronizeContact:
    required:
      - contacts
    type: object
    properties:
      contacts:
        type: array
        items:
          $ref: '#/definitions/Contact'
  ReturnCoupon:
    required:
      - product
      - created_by
      - wrapping_image
      - campaign
      - message
      - from_first_name
      - from_last_name
      - from_photo
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      users_count:
        title: Users count
        type: integer
        readOnly: true
        default: 0
      product:
        $ref: '#/definitions/ShortProduct'
      created_by:
        $ref: '#/definitions/SimpleUser'
      wrapping_image:
        $ref: '#/definitions/AttachmentShort'
      campaign:
        $ref: '#/definitions/Campaign'
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      name:
        title: Name
        type: string
        maxLength: 225
        minLength: 1
        x-nullable: true
      message:
        title: Message
        type: string
        maxLength: 225
        minLength: 1
      from_first_name:
        title: From first name
        type: string
        maxLength: 225
        minLength: 1
      from_last_name:
        title: From last name
        type: string
        maxLength: 225
        minLength: 1
      from_photo:
        title: From photo
        type: string
        format: uri
        maxLength: 200
        minLength: 1
      coupon_type:
        title: Coupon type
        type: string
        enum:
          - campaign
          - gift
          - gift_campaign
      max_usage:
        title: Max usage
        type: integer
        maximum: 2147483647
        minimum: -2147483648
        x-nullable: true
      usage_count:
        title: Usage count
        type: integer
        readOnly: true
      total_amount:
        title: Total amount
        type: number
        minimum: 1
        x-nullable: true
      used_amount:
        title: Used amount
        type: number
        readOnly: true
      code:
        title: Code
        type: string
        readOnly: true
        minLength: 1
      gift_validity_duration:
        title: Gift validity duration
        type: number
      batch:
        title: Batch
        type: integer
        x-nullable: true
  Coupon:
    required:
      - message
      - from_first_name
      - from_last_name
      - from_photo
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      users_count:
        title: Users count
        type: integer
        readOnly: true
        default: 0
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      name:
        title: Name
        type: string
        maxLength: 225
        minLength: 1
        x-nullable: true
      message:
        title: Message
        type: string
        maxLength: 225
        minLength: 1
      from_first_name:
        title: From first name
        type: string
        maxLength: 225
        minLength: 1
      from_last_name:
        title: From last name
        type: string
        maxLength: 225
        minLength: 1
      from_photo:
        title: From photo
        type: string
        format: uri
        maxLength: 200
        minLength: 1
      coupon_type:
        title: Coupon type
        type: string
        enum:
          - campaign
          - gift
          - gift_campaign
      max_usage:
        title: Max usage
        type: integer
        maximum: 2147483647
        minimum: -2147483648
        x-nullable: true
      usage_count:
        title: Usage count
        type: integer
        readOnly: true
      total_amount:
        title: Total amount
        type: number
        minimum: 1
        x-nullable: true
      used_amount:
        title: Used amount
        type: number
        readOnly: true
      code:
        title: Code
        type: string
        readOnly: true
        minLength: 1
      gift_validity_duration:
        title: Gift validity duration
        type: number
      created_by:
        title: Created by
        type: integer
        readOnly: true
      wrapping_image:
        title: Wrapping image
        type: integer
        x-nullable: true
      campaign:
        title: Campaign
        type: integer
        x-nullable: true
      product:
        title: Product
        type: integer
        x-nullable: true
      batch:
        title: Batch
        type: integer
        x-nullable: true
  DetailsCoupon:
    required:
      - product
      - created_by
      - wrapping_image
      - campaign
      - message
      - from_first_name
      - from_last_name
      - from_photo
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      users_count:
        title: Users count
        type: integer
        readOnly: true
        default: 0
      product:
        $ref: '#/definitions/Product'
      created_by:
        $ref: '#/definitions/SimpleUser'
      wrapping_image:
        $ref: '#/definitions/AttachmentShort'
      campaign:
        $ref: '#/definitions/Campaign'
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      name:
        title: Name
        type: string
        maxLength: 225
        minLength: 1
        x-nullable: true
      message:
        title: Message
        type: string
        maxLength: 225
        minLength: 1
      from_first_name:
        title: From first name
        type: string
        maxLength: 225
        minLength: 1
      from_last_name:
        title: From last name
        type: string
        maxLength: 225
        minLength: 1
      from_photo:
        title: From photo
        type: string
        format: uri
        maxLength: 200
        minLength: 1
      coupon_type:
        title: Coupon type
        type: string
        enum:
          - campaign
          - gift
          - gift_campaign
      max_usage:
        title: Max usage
        type: integer
        maximum: 2147483647
        minimum: -2147483648
        x-nullable: true
      usage_count:
        title: Usage count
        type: integer
        readOnly: true
      total_amount:
        title: Total amount
        type: number
        minimum: 1
        x-nullable: true
      used_amount:
        title: Used amount
        type: number
        readOnly: true
      code:
        title: Code
        type: string
        readOnly: true
        minLength: 1
      gift_validity_duration:
        title: Gift validity duration
        type: number
      batch:
        title: Batch
        type: integer
        x-nullable: true
  CouponBulkCreate:
    required:
      - batch_name
      - message
      - from_first_name
      - from_last_name
      - from_photo
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      users_count:
        title: Users count
        type: integer
        readOnly: true
        default: 0
      batch_size:
        title: Batch size
        type: integer
        default: 0
        minimum: 0
      export_file:
        title: Export file
        type: boolean
        default: false
      batch_name:
        title: Batch name
        type: string
        minLength: 1
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      name:
        title: Name
        type: string
        maxLength: 225
        minLength: 1
        x-nullable: true
      message:
        title: Message
        type: string
        maxLength: 225
        minLength: 1
      from_first_name:
        title: From first name
        type: string
        maxLength: 225
        minLength: 1
      from_last_name:
        title: From last name
        type: string
        maxLength: 225
        minLength: 1
      from_photo:
        title: From photo
        type: string
        format: uri
        maxLength: 200
        minLength: 1
      coupon_type:
        title: Coupon type
        type: string
        enum:
          - campaign
          - gift
          - gift_campaign
      max_usage:
        title: Max usage
        type: integer
        maximum: 2147483647
        minimum: -2147483648
        x-nullable: true
      usage_count:
        title: Usage count
        type: integer
        readOnly: true
      total_amount:
        title: Total amount
        type: number
        minimum: 1
        x-nullable: true
      used_amount:
        title: Used amount
        type: number
        readOnly: true
      code:
        title: Code
        type: string
        readOnly: true
        minLength: 1
      gift_validity_duration:
        title: Gift validity duration
        type: number
      created_by:
        title: Created by
        type: integer
        readOnly: true
      wrapping_image:
        title: Wrapping image
        type: integer
        x-nullable: true
      campaign:
        title: Campaign
        type: integer
        x-nullable: true
      product:
        title: Product
        type: integer
        x-nullable: true
      batch:
        title: Batch
        type: integer
        x-nullable: true
  ManagementCouponBatchJob:
    required:
      - created_by
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      file:
        $ref: '#/definitions/AttachmentShort'
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      additional_data:
        title: Additional data
        type: object
        x-nullable: true
      completed_count:
        title: Completed count
        type: integer
        readOnly: true
      total_count:
        title: Total count
        type: integer
        readOnly: true
      skipped_count:
        title: Skipped count
        type: integer
        readOnly: true
      task_id:
        title: Task id
        type: string
        readOnly: true
        minLength: 1
      last_error:
        title: Last error
        type: string
        maxLength: 255
        minLength: 1
        x-nullable: true
      status:
        title: Status
        type: string
        enum:
          - stopped
          - cancelled
          - in_process
          - pending
          - finished
      job_type:
        title: Job type
        type: string
        enum:
          - bulk_create
          - bulk_update
          - bulk_delete
          - import
      created_by:
        title: Created by
        type: integer
      batch:
        title: Batch
        type: integer
        x-nullable: true
  ManagementCouponUpdate:
    required:
      - message
      - from_first_name
      - from_last_name
      - from_photo
    type: object
    properties:
      name:
        title: Name
        type: string
        maxLength: 225
        minLength: 1
        x-nullable: true
      message:
        title: Message
        type: string
        maxLength: 225
        minLength: 1
      from_first_name:
        title: From first name
        type: string
        maxLength: 225
        minLength: 1
      from_last_name:
        title: From last name
        type: string
        maxLength: 225
        minLength: 1
      from_photo:
        title: From photo
        type: string
        format: uri
        maxLength: 200
        minLength: 1
      max_usage:
        title: Max usage
        type: integer
        maximum: 2147483647
        minimum: -2147483648
        x-nullable: true
      total_amount:
        title: Total amount
        type: number
        minimum: 1
        x-nullable: true
      gift_validity_duration:
        title: Gift validity duration
        type: number
      wrapping_image:
        title: Wrapping image
        type: integer
        x-nullable: true
      product:
        title: Product
        type: integer
        x-nullable: true
  ImportCoupon:
    required:
      - coupon
      - file_url
      - batch
    type: object
    properties:
      coupon:
        title: Coupon
        type: string
        minLength: 1
      file_url:
        title: File url
        type: string
        minLength: 1
      batch:
        title: Batch
        type: string
        minLength: 1
  CouponCode:
    required:
      - code
    type: object
    properties:
      code:
        title: Code
        type: string
        minLength: 1
  CouponUse:
    required:
      - message
    type: object
    properties:
      success:
        title: Success
        type: boolean
        default: true
      message:
        title: Message
        type: string
        minLength: 1
      coupon_type:
        title: Coupon type
        type: string
        enum:
          - campaign
          - gift
          - gift_campaign
        default: gift
      gift_id:
        title: Gift id
        type: integer
        x-nullable: true
      campaign_id:
        title: Campaign id
        type: integer
        x-nullable: true
  CouponUser:
    required:
      - username
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      first_name:
        title: First name
        type: string
        maxLength: 250
        minLength: 1
      last_name:
        title: Last name
        type: string
        maxLength: 250
        minLength: 1
      username:
        title: Username
        description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
          only.
        type: string
        pattern: ^[\w.@+-]+$
        maxLength: 150
        minLength: 1
      birthday:
        title: Birthday
        type: string
        format: date
        x-nullable: true
      phone:
        title: Phone
        type: string
        maxLength: 50
        minLength: 1
        x-nullable: true
  ListEvent:
    required:
      - user
      - target
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      user:
        $ref: '#/definitions/ReturnUser'
      target:
        $ref: '#/definitions/ReturnUser'
      timestamp:
        title: Timestamp
        type: string
        format: date-time
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
      title:
        title: Title
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      description:
        title: Description
        type: string
        maxLength: 250
        x-nullable: true
      type:
        title: Type
        type: string
        enum:
          - BIRTHDAY
          - SPECIAL_DAY
          - ANNIVERSARY
          - OTHER
          - WEDDING_ANNIVERSARY
          - CHILDS_BIRTHDAY
          - SPOUSES_BIRTHDAY
          - PETS_BIRTHDAY
          - HIGH_SCHOOL_GRADUATION
          - COLLEGE_OR_UNIVERSITY_GRADUATION
          - WORK_ANNIVERSARY
          - BUSINESS_MILESTONE
          - BABY_SHOWER
          - BRIDAL_SHOWER
          - BAR_OR_BAT_MITZVAH
          - CHRISTENING
          - RAMADAN
          - CHRISTMAS
          - HANUKKAH
          - EASTER
          - DIWALI
      timer:
        title: Timer
        type: string
        format: date
      user_progress:
        title: User progress
        type: integer
        x-nullable: true
      parent:
        title: Parent
        type: integer
        x-nullable: true
  Event:
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      title:
        title: Title
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      description:
        title: Description
        type: string
        maxLength: 250
        x-nullable: true
      type:
        title: Type
        type: string
        enum:
          - BIRTHDAY
          - SPECIAL_DAY
          - ANNIVERSARY
          - OTHER
          - WEDDING_ANNIVERSARY
          - CHILDS_BIRTHDAY
          - SPOUSES_BIRTHDAY
          - PETS_BIRTHDAY
          - HIGH_SCHOOL_GRADUATION
          - COLLEGE_OR_UNIVERSITY_GRADUATION
          - WORK_ANNIVERSARY
          - BUSINESS_MILESTONE
          - BABY_SHOWER
          - BRIDAL_SHOWER
          - BAR_OR_BAT_MITZVAH
          - CHRISTENING
          - RAMADAN
          - CHRISTMAS
          - HANUKKAH
          - EASTER
          - DIWALI
      timer:
        title: Timer
        type: string
        format: date
      user_progress:
        title: User progress
        type: integer
        x-nullable: true
      target:
        title: Target
        type: integer
        x-nullable: true
      parent:
        title: Parent
        type: integer
        x-nullable: true
  FaqCategory:
    required:
      - title
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
      title:
        title: Title
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      title_en:
        title: Title [en]
        type: string
        maxLength: 250
        x-nullable: true
      title_ru:
        title: Title [ru]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      title_ro:
        title: Title [ro]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      description:
        title: Description
        type: string
        minLength: 1
        x-nullable: true
      description_en:
        title: Description [en]
        type: string
        x-nullable: true
      description_ru:
        title: Description [ru]
        type: string
        minLength: 1
        x-nullable: true
      description_ro:
        title: Description [ro]
        type: string
        minLength: 1
        x-nullable: true
      short_description:
        title: Short description
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      slug:
        title: Slug
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      level:
        title: Level
        type: integer
        maximum: 2147483647
        minimum: -2147483648
      parent:
        title: Parent
        type: integer
        x-nullable: true
  Faq:
    required:
      - title
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      category:
        $ref: '#/definitions/FaqCategory'
      category_id:
        title: Category id
        type: integer
      timestamp:
        title: Timestamp
        type: string
        format: date-time
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
      title:
        title: Title
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      title_en:
        title: Title [en]
        type: string
        maxLength: 250
        x-nullable: true
      title_ru:
        title: Title [ru]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      title_ro:
        title: Title [ro]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      description:
        title: Description
        type: string
        minLength: 1
        x-nullable: true
      description_en:
        title: Description [en]
        type: string
        x-nullable: true
      description_ru:
        title: Description [ru]
        type: string
        minLength: 1
        x-nullable: true
      description_ro:
        title: Description [ro]
        type: string
        minLength: 1
        x-nullable: true
      data:
        title: Data
        type: object
  Favourite:
    required:
      - user
      - product
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
      user_progress:
        title: User progress
        type: integer
        x-nullable: true
      user:
        title: User
        type: integer
        x-nullable: true
      product:
        title: Product
        type: integer
        x-nullable: true
  ListFriendUserSerializer:
    required:
      - username
      - email
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      first_name:
        title: First name
        type: string
        maxLength: 250
        minLength: 1
      last_name:
        title: Last name
        type: string
        maxLength: 250
        minLength: 1
      username:
        title: Username
        description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
          only.
        type: string
        pattern: ^[\w.@+-]+$
        maxLength: 150
        minLength: 1
      phone:
        title: Phone
        type: string
        maxLength: 50
        minLength: 1
        x-nullable: true
      email:
        title: Email
        type: string
        format: email
        maxLength: 250
        minLength: 1
      photo_url:
        title: Photo url
        type: string
        readOnly: true
        minLength: 1
      gender:
        title: Gender
        type: string
        enum:
          - MALE
          - FEMALE
          - NON_BINARY
          - PREFER_NOT_TO_SAY
          - OTHER
      mutual_friends:
        title: Mutual friends
        type: integer
        readOnly: true
  FriendContactSerializer:
    required:
      - phone
      - user
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
      first_name:
        title: First name
        type: string
        maxLength: 250
        x-nullable: true
      last_name:
        title: Last name
        type: string
        maxLength: 250
        x-nullable: true
      phone:
        title: Phone
        type: string
        maxLength: 50
        x-nullable: true
      email:
        title: Email
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      photo_url:
        title: Photo url
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      birthday:
        title: Birthday
        type: string
        format: date-time
        x-nullable: true
      send_birthday_gift:
        title: Send birthday gift
        type: boolean
      send_special_day_gift:
        title: Send special day gift
        type: boolean
      phone_label:
        title: Phone label
        type: string
        enum:
          - assistant
          - callback
          - car
          - companyMain
          - faxHome
          - faxOther
          - faxWork
          - home
          - iPhone
          - isdn
          - main
          - mms
          - mobile
          - pager
          - radio
          - school
          - telex
          - ttyTtd
          - work
          - workMobile
          - workPager
          - other
          - custom
      user:
        title: User
        type: integer
        x-nullable: true
      target:
        title: Target
        type: integer
        x-nullable: true
      company_client:
        title: Company client
        type: integer
        x-nullable: true
      company_employee:
        title: Company employee
        type: integer
        x-nullable: true
      group:
        title: Group
        type: integer
        x-nullable: true
  FriendUserSerializer:
    required:
      - username
      - email
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      is_superuser:
        title: Superuser status
        description: Designates that this user has all permissions without explicitly
          assigning them.
        type: boolean
      username:
        title: Username
        description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
          only.
        type: string
        pattern: ^[\w.@+-]+$
        maxLength: 150
        minLength: 1
      is_staff:
        title: Staff status
        description: Designates whether the user can log into this admin site.
        type: boolean
      is_active:
        title: Active
        description: Designates whether this user should be treated as active. Unselect
          this instead of deleting accounts.
        type: boolean
      date_joined:
        title: Date joined
        type: string
        format: date-time
      first_name:
        title: First name
        type: string
        maxLength: 250
        minLength: 1
      last_name:
        title: Last name
        type: string
        maxLength: 250
        minLength: 1
      email:
        title: Email
        type: string
        format: email
        maxLength: 250
        minLength: 1
      work_email:
        title: Work email
        type: string
        format: email
        maxLength: 250
        minLength: 1
        x-nullable: true
      phone:
        title: Phone
        type: string
        maxLength: 50
        minLength: 1
        x-nullable: true
      last_login:
        title: Last login
        type: string
        format: date-time
        x-nullable: true
      last_active:
        title: Last active
        type: string
        format: date-time
        x-nullable: true
      phone_updated_at:
        title: Phone updated at
        type: string
        format: date-time
      terms_agreement:
        title: Terms agreement
        type: boolean
      privacy_agreement:
        title: Privacy agreement
        type: boolean
      birthday:
        title: Birthday
        type: string
        format: date
        x-nullable: true
      email_verified:
        title: Email verified
        type: boolean
      work_email_verified:
        title: Work email verified
        type: boolean
      state:
        title: State
        type: boolean
      timezone:
        title: Timezone
        type: string
        maxLength: 250
        minLength: 1
      tokens:
        type: array
        items:
          title: Tokens
          type: string
          maxLength: 512
          minLength: 1
      referral_code:
        title: Referral code
        type: string
        format: uuid
        readOnly: true
      referral_source:
        title: Referral source
        type: string
        maxLength: 254
        minLength: 1
        x-nullable: true
      bio:
        title: Bio
        type: string
        maxLength: 1000
        x-nullable: true
      modules_permissions:
        title: Modules permissions
        type: object
        x-nullable: true
      default_payment_method:
        title: Default payment method
        type: string
        maxLength: 225
        minLength: 1
        x-nullable: true
      is_suspended:
        title: Is suspended
        type: boolean
      user_ip:
        title: User ip
        type: string
        maxLength: 225
        minLength: 1
        x-nullable: true
      user_agent:
        title: User agent
        type: string
        maxLength: 225
        minLength: 1
        x-nullable: true
      calendar_is_active:
        title: Calendar is active
        type: boolean
      manual_review:
        title: Manual review
        type: boolean
      gender:
        title: Gender
        type: string
        enum:
          - MALE
          - FEMALE
          - NON_BINARY
          - PREFER_NOT_TO_SAY
          - OTHER
      preference:
        title: Preference
        type: string
        enum:
          - FULLNAME
          - USERNAME
      api_access_level:
        title: Api access level
        type: string
        enum:
          - FULL_ACCESS
          - CAMPAIGNS
      address:
        title: Address
        type: integer
        x-nullable: true
      photo:
        title: Photo
        type: integer
        x-nullable: true
      referral_user:
        title: Referral user
        type: integer
        x-nullable: true
      groups:
        description: The groups this user belongs to. A user will get all permissions
          granted to each of their groups.
        type: array
        items:
          description: The groups this user belongs to. A user will get all permissions
            granted to each of their groups.
          type: integer
        uniqueItems: true
      user_permissions:
        description: Specific permissions for this user.
        type: array
        items:
          description: Specific permissions for this user.
          type: integer
        uniqueItems: true
      addresses:
        type: array
        items:
          type: integer
        uniqueItems: true
      interests:
        type: array
        items:
          type: integer
        uniqueItems: true
      flags:
        type: array
        items:
          type: string
        uniqueItems: true
      blocked_users:
        type: array
        items:
          type: integer
        readOnly: true
        uniqueItems: true
  Friend:
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      contact:
        $ref: '#/definitions/FriendContactSerializer'
      contact_id:
        title: Contact id
        type: integer
        x-nullable: true
      user:
        $ref: '#/definitions/FriendUserSerializer'
      target:
        $ref: '#/definitions/FriendUserSerializer'
      target_id:
        title: Target id
        type: integer
        x-nullable: true
      is_in_phonebook:
        title: Is in phonebook
        type: boolean
        readOnly: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
      rejected:
        title: Rejected
        type: string
        format: date-time
        x-nullable: true
      viewed:
        title: Viewed
        type: string
        format: date-time
        x-nullable: true
  UserProgress:
    type: object
    properties:
      value:
        title: Value
        type: integer
        maximum: 2147483647
        minimum: -2147483648
      received:
        title: Received
        type: boolean
      is_completed:
        title: Is completed
        type: boolean
        readOnly: true
    x-nullable: true
  NomenclatureKeyShort:
    type: object
    properties:
      image:
        $ref: '#/definitions/AttachmentShort'
      title:
        title: Title
        type: string
        maxLength: 255
        minLength: 1
        x-nullable: true
      title_en:
        title: Title [en]
        type: string
        maxLength: 255
        x-nullable: true
      title_ro:
        title: Title [ro]
        type: string
        maxLength: 255
        x-nullable: true
      title_ru:
        title: Title [ru]
        type: string
        maxLength: 255
        x-nullable: true
      description:
        title: Description
        type: string
        x-nullable: true
      description_en:
        title: Description [en]
        type: string
        x-nullable: true
      description_ro:
        title: Description [ro]
        type: string
        x-nullable: true
      description_ru:
        title: Description [ru]
        type: string
        x-nullable: true
      id:
        title: ID
        type: integer
        readOnly: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
  Level:
    required:
      - value
      - title
      - description
      - image_url
    type: object
    properties:
      user_progress:
        $ref: '#/definitions/UserProgress'
      value:
        title: Value
        type: integer
        maximum: 2147483647
        minimum: -2147483648
      level_type:
        title: Level type
        type: string
        enum:
          - users_referred
          - product_liked
          - special_day_added
          - friend_invited
      title:
        title: Title
        type: string
        maxLength: 225
        minLength: 1
      description:
        title: Description
        type: string
        minLength: 1
      nomenclature_keys:
        type: array
        items:
          $ref: '#/definitions/NomenclatureKeyShort'
        readOnly: true
      image_url:
        title: Image url
        type: string
        format: uri
        maxLength: 200
        minLength: 1
      id:
        title: ID
        type: integer
        readOnly: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
  ReceiveProduct:
    required:
      - level
      - product
    type: object
    properties:
      level:
        title: Level
        type: integer
      product:
        title: Product
        type: integer
  ReturnAutomaticGift:
    required:
      - product
      - product_characteristic_choices
      - video
      - title
      - description
      - message
      - trigger
      - contact_type
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      product:
        $ref: '#/definitions/ShortProduct'
      product_characteristic_choices:
        type: array
        items:
          $ref: '#/definitions/CharacteristicTypeChoice'
      video:
        $ref: '#/definitions/AttachmentShort'
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      title:
        title: Title
        type: string
        maxLength: 225
        minLength: 1
      description:
        title: Description
        type: string
        minLength: 1
      message:
        title: Message
        type: string
        minLength: 1
      timer:
        title: Timer
        type: string
        format: date-time
        x-nullable: true
      trigger:
        title: Trigger
        type: string
        enum:
          - birthday
          - special_day
          - other
      contact_type:
        title: Contact type
        type: string
        enum:
          - employees
          - clients
      payment_method:
        title: Payment method
        type: string
        maxLength: 100
        minLength: 1
        x-nullable: true
      active:
        title: Active
        type: boolean
      user:
        title: User
        description: owner
        type: integer
        readOnly: true
  AutomaticGift:
    required:
      - title
      - description
      - message
      - trigger
      - contact_type
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      title:
        title: Title
        type: string
        maxLength: 225
        minLength: 1
      description:
        title: Description
        type: string
        minLength: 1
      message:
        title: Message
        type: string
        minLength: 1
      timer:
        title: Timer
        type: string
        format: date-time
        x-nullable: true
      trigger:
        title: Trigger
        type: string
        enum:
          - birthday
          - special_day
          - other
      contact_type:
        title: Contact type
        type: string
        enum:
          - employees
          - clients
      payment_method:
        title: Payment method
        type: string
        maxLength: 100
        minLength: 1
        x-nullable: true
      active:
        title: Active
        type: boolean
      user:
        title: User
        description: owner
        type: integer
        readOnly: true
      product:
        title: Product
        type: integer
        x-nullable: true
      video:
        title: Video
        type: integer
        x-nullable: true
      product_characteristic_choices:
        type: array
        items:
          type: integer
        uniqueItems: true
  UpsertGiftAttachment:
    required:
      - attachment_id
    type: object
    properties:
      attachment_id:
        title: Attachment id
        type: integer
  GiftComment:
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      comment:
        title: Comment
        type: string
        minLength: 1
        x-nullable: true
      user:
        title: User
        type: integer
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      read:
        title: Read
        type: boolean
        readOnly: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
  OrderContactSerializer:
    required:
      - phone
      - user
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
      first_name:
        title: First name
        type: string
        maxLength: 250
        x-nullable: true
      last_name:
        title: Last name
        type: string
        maxLength: 250
        x-nullable: true
      phone:
        title: Phone
        type: string
        maxLength: 50
        x-nullable: true
      email:
        title: Email
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      photo_url:
        title: Photo url
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      birthday:
        title: Birthday
        type: string
        format: date-time
        x-nullable: true
      send_birthday_gift:
        title: Send birthday gift
        type: boolean
      send_special_day_gift:
        title: Send special day gift
        type: boolean
      phone_label:
        title: Phone label
        type: string
        enum:
          - assistant
          - callback
          - car
          - companyMain
          - faxHome
          - faxOther
          - faxWork
          - home
          - iPhone
          - isdn
          - main
          - mms
          - mobile
          - pager
          - radio
          - school
          - telex
          - ttyTtd
          - work
          - workMobile
          - workPager
          - other
          - custom
      user:
        title: User
        type: integer
        x-nullable: true
      target:
        title: Target
        type: integer
        x-nullable: true
      company_client:
        title: Company client
        type: integer
        x-nullable: true
      company_employee:
        title: Company employee
        type: integer
        x-nullable: true
      group:
        title: Group
        type: integer
        x-nullable: true
  ReturnOrder:
    required:
      - cost
      - paid
      - fee
      - user
      - target
      - contact
      - comment
      - video
      - price
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      url:
        title: Url
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      cost:
        title: Cost
        type: number
      paid:
        title: Paid
        type: number
      fee:
        title: Fee
        type: number
      user:
        $ref: '#/definitions/SimpleUser'
      target:
        $ref: '#/definitions/SimpleUser'
      contact:
        $ref: '#/definitions/OrderContactSerializer'
      comment:
        $ref: '#/definitions/CommentShort'
      video:
        $ref: '#/definitions/AttachmentShort'
      source:
        title: Source
        type: string
        enum:
          - admin_panel
          - business_panel
          - coupon
          - gamification
          - network_card
          - app
      price:
        title: Price
        type: number
  Gift:
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      attachments:
        type: array
        items:
          $ref: '#/definitions/Attachment'
        readOnly: true
      comments:
        type: array
        items:
          $ref: '#/definitions/Comment'
        readOnly: true
      product:
        $ref: '#/definitions/Product'
      order:
        $ref: '#/definitions/ReturnOrder'
      user:
        $ref: '#/definitions/ReturnUser'
      target:
        $ref: '#/definitions/ReturnUser'
      contact:
        $ref: '#/definitions/Contact'
      video:
        $ref: '#/definitions/Attachment'
      comment:
        $ref: '#/definitions/Comment'
      reactions:
        type: array
        items:
          $ref: '#/definitions/Reaction'
        readOnly: true
      target_id:
        title: Target id
        type: integer
        x-nullable: true
      contact_id:
        title: Contact id
        type: integer
        x-nullable: true
      user_id:
        title: User id
        type: integer
        x-nullable: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
      unwrapped:
        title: Unwrapped
        type: boolean
      unwrapped_timestamp:
        title: Unwrapped timestamp
        type: string
        format: date-time
        x-nullable: true
      redeemed:
        title: Redeemed
        type: boolean
      redeemed_timestamp:
        title: Redeemed timestamp
        type: string
        format: date-time
        x-nullable: true
      archived:
        title: Archived
        type: boolean
      archived_timestamp:
        title: Archived timestamp
        type: string
        format: date-time
        x-nullable: true
      expired:
        title: Expired
        type: boolean
      expiring_timestamp:
        title: Expiring timestamp
        type: string
        format: date-time
        x-nullable: true
      free:
        title: Free
        type: boolean
      data:
        title: Data
        type: object
        x-nullable: true
      status:
        title: Status
        type: string
        enum:
          - ACTIVE
          - PENDING
          - FAILED
          - SUCCESS
          - OTHER
      operation_id:
        title: Operation id
        type: string
        format: uuid
        x-nullable: true
      image_url:
        title: Image url
        type: string
        format: uri
        maxLength: 200
        minLength: 1
        x-nullable: true
      cost:
        title: Cost
        type: string
        format: decimal
      coupon:
        title: Coupon
        type: integer
        x-nullable: true
      cohort:
        title: Cohort
        type: integer
        x-nullable: true
      product_card:
        title: Product card
        type: integer
        x-nullable: true
      product_characteristic_choices:
        type: array
        items:
          type: integer
        uniqueItems: true
  Invite:
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      contact:
        $ref: '#/definitions/FriendContactSerializer'
      contact_id:
        title: Contact id
        type: integer
        x-nullable: true
      user:
        $ref: '#/definitions/FriendUserSerializer'
      user_id:
        title: User id
        type: integer
        x-nullable: true
      target:
        $ref: '#/definitions/FriendUserSerializer'
      target_id:
        title: Target id
        type: integer
        x-nullable: true
      data:
        title: Data
        type: object
        readOnly: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
      status:
        title: Status
        type: string
        enum:
          - PENDING
          - ACCEPTED
          - DENIED
          - OTHER
      type:
        title: Type
        type: string
        enum:
          - REFERRAL
          - OTHER
      phone:
        title: Phone
        type: string
        maxLength: 50
        x-nullable: true
      email:
        title: Email
        type: string
        format: email
        maxLength: 250
        x-nullable: true
      user_ip:
        title: User ip
        type: string
        maxLength: 50
        x-nullable: true
      user_progress:
        title: User progress
        type: integer
        x-nullable: true
  ManagementCampaignShort:
    required:
      - name
    type: object
    properties:
      name:
        title: Name
        type: string
        maxLength: 225
        minLength: 1
      id:
        title: ID
        type: integer
        readOnly: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
  ManagementCampaignDeepLink:
    required:
      - campaign
      - created_by
      - deeplink
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      campaign:
        $ref: '#/definitions/ManagementCampaignShort'
      created_by:
        $ref: '#/definitions/ShortUser'
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      additional_data:
        title: Additional data
        type: object
        x-nullable: true
      max_usage:
        title: Max usage
        type: integer
        maximum: 2147483647
        minimum: 0
      usage_count:
        title: Usage count
        type: integer
        maximum: 2147483647
        minimum: 0
      deeplink:
        title: Deeplink
        type: string
        format: uri
        maxLength: 200
        minLength: 1
      note:
        title: Note
        type: string
        maxLength: 54
        minLength: 1
        x-nullable: true
      reason:
        title: Reason
        type: string
        readOnly: true
        minLength: 1
      batch:
        title: Batch
        type: integer
        x-nullable: true
  ManagementCampaignDeepLinkCreate:
    required:
      - campaign
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      max_usage:
        title: Max usage
        type: integer
        default: 0
        minimum: 0
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      additional_data:
        title: Additional data
        type: object
        x-nullable: true
      note:
        title: Note
        type: string
        maxLength: 54
        minLength: 1
        x-nullable: true
      reason:
        title: Reason
        type: string
        readOnly: true
        minLength: 1
      campaign:
        title: Campaign
        type: integer
      batch:
        title: Batch
        type: integer
        x-nullable: true
  ManagementCampaignDeepLinkBulkCreate:
    required:
      - batch_name
      - campaign
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      max_usage:
        title: Max usage
        type: integer
        default: 0
        minimum: 0
      batch_size:
        title: Batch size
        type: integer
        default: 0
        minimum: 0
      export_file:
        title: Export file
        type: boolean
        default: false
      batch_name:
        title: Batch name
        type: string
        minLength: 1
      additional_data:
        $ref: '#/definitions/CampaignDeepLinkAdditionalData'
      web_redeem_token_resets_allowed_count:
        title: Web redeem token resets allowed count
        type: integer
        default: 0
        minimum: 0
      web_redeem_access_token_lifetime:
        title: Web redeem access token lifetime
        type: number
      reason:
        title: Reason
        type: string
        enum:
          - web_register_in_campaign
          - mobile_register_in_campaign
        default: mobile_register_in_campaign
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      note:
        title: Note
        type: string
        maxLength: 54
        minLength: 1
        x-nullable: true
      campaign:
        title: Campaign
        type: integer
      batch:
        title: Batch
        type: integer
        x-nullable: true
  ManagementCampaignDeepLinkBatchJob:
    required:
      - created_by
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      file:
        $ref: '#/definitions/AttachmentShort'
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      completed_count:
        title: Completed count
        type: integer
        readOnly: true
      total_count:
        title: Total count
        type: integer
        readOnly: true
      task_id:
        title: Task id
        type: string
        readOnly: true
        minLength: 1
      last_error:
        title: Last error
        type: string
        maxLength: 255
        minLength: 1
        x-nullable: true
      status:
        title: Status
        type: string
        enum:
          - stopped
          - cancelled
          - in_process
          - pending
          - finished
      job_type:
        title: Job type
        type: string
        enum:
          - bulk_create
          - bulk_update
          - bulk_delete
      created_by:
        title: Created by
        type: integer
      batch:
        title: Batch
        type: integer
        x-nullable: true
  ManagementCampaignDeepLinkUpdate:
    type: object
    properties:
      max_usage:
        title: Max usage
        type: integer
        maximum: 2147483647
        minimum: 0
      note:
        title: Note
        type: string
        maxLength: 54
        minLength: 1
        x-nullable: true
  ManagementCampaignDeepLinkBatch:
    required:
      - additional_data
      - created_by
      - campaign
      - name
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      additional_data:
        $ref: '#/definitions/CampaignDeepLinkAdditionalData'
      created_by:
        $ref: '#/definitions/ShortUser'
      campaign:
        $ref: '#/definitions/ManagementCampaignShort'
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      name:
        title: Name
        type: string
        maxLength: 255
        minLength: 1
      web_redeem_token_resets_allowed_count:
        title: Web redeem token resets allowed count
        type: integer
        maximum: 2147483647
        minimum: 0
      web_redeem_access_token_lifetime:
        title: Web redeem access token lifetime
        type: number
        x-nullable: true
      reason:
        title: Reason
        type: string
        readOnly: true
        minLength: 1
  ManagementCampaignDeepLinkBatchCreate:
    required:
      - additional_data
      - name
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      additional_data:
        $ref: '#/definitions/CampaignDeepLinkAdditionalData'
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      name:
        title: Name
        type: string
        maxLength: 255
        minLength: 1
      web_redeem_token_resets_allowed_count:
        title: Web redeem token resets allowed count
        type: integer
        maximum: 2147483647
        minimum: 0
      web_redeem_access_token_lifetime:
        title: Web redeem access token lifetime
        type: number
        x-nullable: true
      reason:
        title: Reason
        type: string
        readOnly: true
        minLength: 1
      campaign:
        title: Campaign
        type: integer
        x-nullable: true
      created_by:
        title: Created by
        type: integer
        x-nullable: true
  ManagementCampaignDeepLinkUsageLog:
    required:
      - campaign_deeplink
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      username:
        title: Username
        type: string
        format: email
        maxLength: 254
        minLength: 1
        x-nullable: true
      email:
        title: Email
        type: string
        format: email
        maxLength: 254
        minLength: 1
        x-nullable: true
      phone:
        title: Phone
        type: string
        maxLength: 50
        minLength: 1
        x-nullable: true
      client_ip:
        title: Client ip
        type: string
        maxLength: 225
        minLength: 1
        x-nullable: true
      user_agent:
        title: User agent
        type: string
        minLength: 1
        x-nullable: true
      campaign_deeplink:
        title: Campaign deeplink
        type: integer
      campaign:
        title: Campaign
        type: integer
        x-nullable: true
      user:
        title: User
        type: integer
        x-nullable: true
  ManagementCampaignDeepLinkUsageLogCreate:
    required:
      - campaign_deeplink
    type: object
    properties:
      campaign_deeplink:
        title: Campaign deeplink
        type: integer
      user:
        title: User
        type: integer
        x-nullable: true
  ManagementCampaignSchedulerBase:
    required:
      - action
      - campaign
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      schedule_at:
        title: Schedule at
        type: string
        format: date-time
        x-nullable: true
      action:
        title: Action
        type: string
        enum:
          - activate
          - deactivate
      task_id:
        title: Task id
        type: string
        readOnly: true
        minLength: 1
      status:
        title: Status
        type: string
        readOnly: true
        minLength: 1
      campaign:
        title: Campaign
        type: integer
  ManagementCampaignSchedulerCreate:
    required:
      - campaign
      - action
    type: object
    properties:
      campaign:
        title: Campaign
        type: integer
      action:
        title: Action
        type: string
        enum:
          - activate
          - deactivate
      schedule_at:
        title: Schedule at
        type: string
        format: date-time
        x-nullable: true
  ManagementCampaignTierShort:
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      tier:
        title: Tier
        type: integer
        maximum: 2147483647
        minimum: 0
        x-nullable: true
    x-nullable: true
  ManagementCampaignNextTierShort:
    required:
      - campaign
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      campaign:
        title: Campaign
        type: integer
    x-nullable: true
  ManagementCampaignTier:
    required:
      - promo_image
      - campaign
      - parent
      - next_tier
    type: object
    properties:
      description:
        title: Description
        type: string
        minLength: 1
        x-nullable: true
      description_ro:
        title: Description [ro]
        type: string
        minLength: 1
        x-nullable: true
      description_ru:
        title: Description [ru]
        type: string
        minLength: 1
        x-nullable: true
      description_en:
        title: Description [en]
        type: string
        x-nullable: true
      promo_description:
        title: Promo description
        type: string
        minLength: 1
        x-nullable: true
      promo_description_ro:
        title: Promo description [ro]
        type: string
        minLength: 1
        x-nullable: true
      promo_description_ru:
        title: Promo description [ru]
        type: string
        minLength: 1
        x-nullable: true
      promo_description_en:
        title: Promo description [en]
        type: string
        x-nullable: true
      promo_image:
        $ref: '#/definitions/AttachmentShort'
      tier:
        title: Tier
        type: integer
        maximum: 2147483647
        minimum: 0
        x-nullable: true
      campaign:
        title: Campaign
        type: integer
      campaign_name:
        title: Campaign name
        type: string
        readOnly: true
        minLength: 1
      reward_product:
        title: Reward product
        type: integer
        x-nullable: true
      parent:
        $ref: '#/definitions/ManagementCampaignTierShort'
      next_tier:
        $ref: '#/definitions/ManagementCampaignNextTierShort'
      id:
        title: ID
        type: integer
        readOnly: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
  ManagementCampaignTierCreate:
    required:
      - campaign
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      description:
        title: Description
        type: string
        minLength: 1
        x-nullable: true
      description_en:
        title: Description [en]
        type: string
        x-nullable: true
      description_ru:
        title: Description [ru]
        type: string
        minLength: 1
        x-nullable: true
      description_ro:
        title: Description [ro]
        type: string
        minLength: 1
        x-nullable: true
      tier:
        title: Tier
        type: integer
        maximum: 2147483647
        minimum: 0
        x-nullable: true
      promo_description:
        title: Promo description
        type: string
        minLength: 1
        x-nullable: true
      promo_description_en:
        title: Promo description [en]
        type: string
        x-nullable: true
      promo_description_ru:
        title: Promo description [ru]
        type: string
        minLength: 1
        x-nullable: true
      promo_description_ro:
        title: Promo description [ro]
        type: string
        minLength: 1
        x-nullable: true
      campaign:
        title: Campaign
        type: integer
      parent:
        title: Parent
        type: integer
        x-nullable: true
      next_tier:
        title: Next tier
        type: integer
        x-nullable: true
      promo_image:
        title: Promo image
        type: integer
        x-nullable: true
      reward_product:
        title: Reward product
        type: integer
        x-nullable: true
  ManagementCampaign:
    required:
      - name
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      video:
        $ref: '#/definitions/Attachment'
      default_reward_gift_validity_duration:
        title: Default reward gift validity duration
        type: number
        readOnly: true
      default_reward_gift_expiration_warning_period:
        title: Default reward gift expiration warning period
        type: number
        readOnly: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      name:
        title: Name
        type: string
        maxLength: 225
        minLength: 1
      name_en:
        title: Name [en]
        type: string
        maxLength: 225
        x-nullable: true
      name_ru:
        title: Name [ru]
        type: string
        maxLength: 225
        minLength: 1
        x-nullable: true
      name_ro:
        title: Name [ro]
        type: string
        maxLength: 225
        minLength: 1
        x-nullable: true
      description:
        title: Description
        type: string
        minLength: 1
        x-nullable: true
      description_en:
        title: Description [en]
        type: string
        x-nullable: true
      description_ru:
        title: Description [ru]
        type: string
        minLength: 1
        x-nullable: true
      description_ro:
        title: Description [ro]
        type: string
        minLength: 1
        x-nullable: true
      is_active:
        title: Is active
        type: boolean
      users_limit:
        title: Users limit
        type: integer
        maximum: 2147483647
        minimum: 0
      users_count:
        title: Users count
        type: integer
        readOnly: true
      cta_image:
        title: Cta image
        type: string
        format: uri
        maxLength: 200
        minLength: 1
        x-nullable: true
      user_participation_duration:
        title: User participation duration
        type: number
      start_at:
        title: Start at
        type: string
        format: date-time
        x-nullable: true
      end_at:
        title: End at
        type: string
        format: date-time
        x-nullable: true
      reward_gift_validity_duration:
        title: Reward gift validity duration
        type: number
        x-nullable: true
      reentry_wait_duration:
        title: Reentry wait duration
        type: number
        x-nullable: true
      reward_gift_expiration_warning_period:
        title: Reward gift expiration warning period
        type: number
        x-nullable: true
      product:
        title: Product
        description: Reward
        type: integer
        x-nullable: true
  ManagementCampaignCreate:
    required:
      - name
      - product
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      name:
        title: Name
        type: string
        maxLength: 225
        minLength: 1
      name_en:
        title: Name [en]
        type: string
        maxLength: 225
        x-nullable: true
      name_ru:
        title: Name [ru]
        type: string
        maxLength: 225
        minLength: 1
        x-nullable: true
      name_ro:
        title: Name [ro]
        type: string
        maxLength: 225
        minLength: 1
        x-nullable: true
      description:
        title: Description
        type: string
        minLength: 1
        x-nullable: true
      description_en:
        title: Description [en]
        type: string
        x-nullable: true
      description_ru:
        title: Description [ru]
        type: string
        minLength: 1
        x-nullable: true
      description_ro:
        title: Description [ro]
        type: string
        minLength: 1
        x-nullable: true
      is_active:
        title: Is active
        type: boolean
      users_limit:
        title: Users limit
        type: integer
        maximum: 2147483647
        minimum: 0
      users_count:
        title: Users count
        type: integer
        readOnly: true
      cta_image:
        title: Cta image
        type: string
        format: uri
        maxLength: 200
        minLength: 1
        x-nullable: true
      user_participation_duration:
        title: User participation duration
        type: number
      start_at:
        title: Start at
        type: string
        format: date-time
        x-nullable: true
      end_at:
        title: End at
        type: string
        format: date-time
        x-nullable: true
      reward_gift_validity_duration:
        title: Reward gift validity duration
        type: number
        x-nullable: true
      reentry_wait_duration:
        title: Reentry wait duration
        type: number
        x-nullable: true
      reward_gift_expiration_warning_period:
        title: Reward gift expiration warning period
        type: number
        x-nullable: true
      video:
        title: Video
        type: integer
        x-nullable: true
      product:
        title: Product
        description: Reward
        type: integer
  ManagementCouponBatch:
    required:
      - campaign
      - created_by
      - name
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      campaign:
        $ref: '#/definitions/ManagementCampaignShort'
      created_by:
        $ref: '#/definitions/ShortUser'
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      name:
        title: Name
        type: string
        maxLength: 225
        minLength: 1
      batch_type:
        title: Batch type
        type: string
        enum:
          - campaign
          - gift
          - gift_campaign
  ManagementCouponBatchCreate:
    required:
      - name
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      name:
        title: Name
        type: string
        maxLength: 225
        minLength: 1
      batch_type:
        title: Batch type
        type: string
        enum:
          - campaign
          - gift
          - gift_campaign
      campaign:
        title: Campaign
        type: integer
        x-nullable: true
      created_by:
        title: Created by
        type: integer
        x-nullable: true
  ManagementCouponUsageLog:
    required:
      - coupon
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      username:
        title: Username
        type: string
        format: email
        maxLength: 254
        minLength: 1
        x-nullable: true
      email:
        title: Email
        type: string
        format: email
        maxLength: 254
        minLength: 1
        x-nullable: true
      phone:
        title: Phone
        type: string
        maxLength: 50
        minLength: 1
        x-nullable: true
      user_ip:
        title: User ip
        type: string
        maxLength: 225
        minLength: 1
        x-nullable: true
      coupon:
        title: Coupon
        type: integer
      campaign:
        title: Campaign
        type: integer
        x-nullable: true
      user:
        title: User
        type: integer
        x-nullable: true
  ManagementCouponUsageLogCreate:
    required:
      - coupon
    type: object
    properties:
      coupon:
        title: Coupon
        type: integer
      campaign:
        title: Campaign
        type: integer
        x-nullable: true
      user:
        title: User
        type: integer
        x-nullable: true
  ManagementGiftComment:
    required:
      - user
    type: object
    properties:
      user:
        $ref: '#/definitions/ShortUser'
      comment:
        title: Comment
        type: string
        minLength: 1
        x-nullable: true
  ManagementReaction:
    required:
      - user
      - attachment
    type: object
    properties:
      user:
        $ref: '#/definitions/ShortUser'
      comment:
        title: Comment
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      attachment:
        $ref: '#/definitions/AttachmentShort'
  ManagementNetworkCard:
    required:
      - product
      - contact
      - video
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      product:
        $ref: '#/definitions/ShortProduct'
      contact:
        $ref: '#/definitions/ShortContact'
      campaign_name:
        title: Campaign name
        type: string
        readOnly: true
        minLength: 1
      video:
        $ref: '#/definitions/Attachment'
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      title:
        title: Title
        type: string
        maxLength: 225
        minLength: 1
        x-nullable: true
      image_url:
        title: Image url
        type: string
        format: uri
        maxLength: 200
        minLength: 1
        x-nullable: true
      is_active:
        title: Is active
        type: boolean
      gift_validity_duration:
        title: Gift validity duration
        type: number
      is_paid:
        title: Is paid
        type: boolean
      campaign:
        title: Campaign
        type: integer
        x-nullable: true
      campaign_tier:
        title: Campaign tier
        type: integer
        x-nullable: true
  ManagementNetworkCardCreate:
    required:
      - product
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      title:
        title: Title
        type: string
        maxLength: 225
        minLength: 1
        x-nullable: true
      image_url:
        title: Image url
        type: string
        format: uri
        maxLength: 200
        minLength: 1
        x-nullable: true
      is_active:
        title: Is active
        type: boolean
      gift_validity_duration:
        title: Gift validity duration
        type: number
      is_paid:
        title: Is paid
        type: boolean
      product:
        title: Product
        type: integer
        x-nullable: true
      campaign:
        title: Campaign
        type: integer
        x-nullable: true
      campaign_tier:
        title: Campaign tier
        type: integer
        x-nullable: true
      video:
        title: Video
        type: integer
        x-nullable: true
  ShortGift:
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      unwrapped:
        title: Unwrapped
        type: boolean
      unwrapped_timestamp:
        title: Unwrapped timestamp
        type: string
        format: date-time
        x-nullable: true
      redeemed:
        title: Redeemed
        type: boolean
      redeemed_timestamp:
        title: Redeemed timestamp
        type: string
        format: date-time
        x-nullable: true
      archived:
        title: Archived
        type: boolean
      archived_timestamp:
        title: Archived timestamp
        type: string
        format: date-time
        x-nullable: true
      expired:
        title: Expired
        type: boolean
      expiring_timestamp:
        title: Expiring timestamp
        type: string
        format: date-time
        x-nullable: true
      free:
        title: Free
        type: boolean
      data:
        title: Data
        type: object
        x-nullable: true
      status:
        title: Status
        type: string
        enum:
          - ACTIVE
          - PENDING
          - FAILED
          - SUCCESS
          - OTHER
      operation_id:
        title: Operation id
        type: string
        format: uuid
        x-nullable: true
      image_url:
        title: Image url
        type: string
        format: uri
        maxLength: 200
        minLength: 1
        x-nullable: true
      cost:
        title: Cost
        type: string
        format: decimal
      product:
        title: Product
        type: integer
        x-nullable: true
      coupon:
        title: Coupon
        type: integer
        x-nullable: true
      order:
        title: Order
        type: integer
        x-nullable: true
      user:
        title: User
        type: integer
        x-nullable: true
      target:
        title: Target
        type: integer
        x-nullable: true
      cohort:
        title: Cohort
        type: integer
        x-nullable: true
      contact:
        title: Contact
        type: integer
        x-nullable: true
      product_card:
        title: Product card
        type: integer
        x-nullable: true
      product_characteristic_choices:
        type: array
        items:
          type: integer
        uniqueItems: true
      attachments:
        type: array
        items:
          type: integer
        uniqueItems: true
      comments:
        type: array
        items:
          type: integer
        uniqueItems: true
  ProductCard:
    required:
      - product
      - gift
      - card_url
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      product:
        $ref: '#/definitions/ShortProduct'
      gift:
        $ref: '#/definitions/ShortGift'
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      card_url:
        title: Card url
        type: string
        format: uri
        maxLength: 200
        minLength: 1
      is_used:
        title: Is used
        type: boolean
  ProductCardImportSample:
    type: object
    properties:
      product:
        title: Product
        type: integer
        x-nullable: true
  ProductCardImport:
    required:
      - file_url
    type: object
    properties:
      file_url:
        title: File url
        type: string
        format: uri
        minLength: 1
      product:
        title: Product
        type: integer
        x-nullable: true
  ManagementProduct:
    required:
      - is_favorite
      - types
      - genders
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      featured_image:
        title: Featured image
        type: string
        readOnly: true
      images:
        $ref: '#/definitions/AttachmentShort'
      categories:
        type: array
        items:
          $ref: '#/definitions/Category'
        readOnly: true
      tags:
        type: array
        items:
          $ref: '#/definitions/Tag'
        readOnly: true
      brand:
        $ref: '#/definitions/BrandShort'
      currency:
        $ref: '#/definitions/NomenclatureCurrency'
      kinship:
        $ref: '#/definitions/NomenclatureDegreeOfKinship'
      cost:
        title: Cost
        type: string
        readOnly: true
      price:
        title: Price
        type: number
        readOnly: true
      characteristic_types:
        type: array
        items:
          $ref: '#/definitions/CharacteristicType'
        readOnly: true
      fee:
        title: Fee
        type: string
        readOnly: true
      is_favorite:
        title: Is favorite
        type: boolean
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      order:
        title: Order
        type: integer
        readOnly: true
      title:
        title: Title
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      title_en:
        title: Title [en]
        type: string
        maxLength: 250
        x-nullable: true
      title_ru:
        title: Title [ru]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      title_ro:
        title: Title [ro]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      description:
        title: Description
        type: string
        maxLength: 500
        minLength: 1
        x-nullable: true
      description_en:
        title: Description [en]
        type: string
        maxLength: 500
        x-nullable: true
      description_ru:
        title: Description [ru]
        type: string
        maxLength: 500
        minLength: 1
        x-nullable: true
      description_ro:
        title: Description [ro]
        type: string
        maxLength: 500
        minLength: 1
        x-nullable: true
      short_description:
        title: Short description
        type: string
        maxLength: 500
        minLength: 1
        x-nullable: true
      short_description_en:
        title: Short description [en]
        type: string
        maxLength: 500
        x-nullable: true
      short_description_ru:
        title: Short description [ru]
        type: string
        maxLength: 500
        minLength: 1
        x-nullable: true
      short_description_ro:
        title: Short description [ro]
        type: string
        maxLength: 500
        minLength: 1
        x-nullable: true
      slug:
        title: Slug
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      age_limit:
        title: Age limit
        type: integer
        maximum: 2147483647
        minimum: -2147483648
        x-nullable: true
      discount_price:
        title: Discount price
        type: number
        minimum: 0
        x-nullable: true
      is_discount:
        title: Is discount
        type: boolean
        x-nullable: true
      is_active:
        title: Is active
        type: boolean
      featured:
        title: Featured
        type: boolean
      in_main_catalog:
        title: In main catalog
        type: boolean
      in_business_panel:
        title: In business panel
        type: boolean
      in_gamification:
        title: In gamification
        type: boolean
      is_free:
        title: Is free
        type: boolean
      nsfw:
        title: Nsfw
        type: boolean
      data:
        title: Data
        type: object
        x-nullable: true
      metadata:
        title: Metadata
        type: object
        x-nullable: true
      parameters:
        title: Parameters
        type: object
        x-nullable: true
      expiring_months:
        title: Expiring months
        type: integer
        maximum: 250
        minimum: 0
      migrated:
        title: Migrated
        type: boolean
      available:
        title: Available
        type: boolean
      types:
        type: array
        items:
          title: Types
          type: string
          enum:
            - STORE
            - DELIVERY
            - OTHER
      genders:
        type: array
        items:
          title: Genders
          type: string
          enum:
            - HER
            - HIM
            - THEM
      user:
        title: User
        type: integer
        x-nullable: true
      allowed_to_users:
        type: array
        items:
          type: integer
        uniqueItems: true
  ManagementUserCampaign:
    required:
      - user
      - referral_user
      - campaign_tier
      - campaign
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      user:
        $ref: '#/definitions/ShortUser'
      referral_user:
        $ref: '#/definitions/ShortUser'
      campaign_tier:
        $ref: '#/definitions/ManagementCampaignTierShort'
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      source:
        title: Source
        type: string
        readOnly: true
        minLength: 1
      user_participation_expires_at:
        title: User participation expires at
        type: string
        format: date-time
        x-nullable: true
      action:
        title: Action
        type: string
        readOnly: true
        minLength: 1
      campaign:
        title: Campaign
        type: integer
      reward_gift:
        title: Reward gift
        type: integer
        x-nullable: true
      previous_campaign_tier:
        title: Previous campaign tier
        type: integer
        x-nullable: true
      campaign_deeplink:
        title: Campaign deeplink
        type: integer
        x-nullable: true
      coupon:
        title: Coupon
        type: integer
        readOnly: true
  ManagementUserCampaignCreate:
    required:
      - user
      - campaign_tier
      - campaign
    type: object
    properties:
      user:
        title: User
        type: integer
      campaign_tier:
        title: Campaign tier
        type: integer
      campaign:
        title: Campaign
        type: integer
      user_participation_expires_at:
        title: User participation expires at
        type: string
        format: date-time
        x-nullable: true
  NetworkCard:
    required:
      - product
      - contact
      - video
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      product:
        $ref: '#/definitions/ShortProduct'
      contact:
        $ref: '#/definitions/ShortContact'
      campaign_name:
        title: Campaign name
        type: string
        readOnly: true
        minLength: 1
      video:
        $ref: '#/definitions/Attachment'
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      title:
        title: Title
        type: string
        maxLength: 225
        minLength: 1
        x-nullable: true
      image_url:
        title: Image url
        type: string
        format: uri
        maxLength: 200
        minLength: 1
        x-nullable: true
      is_active:
        title: Is active
        type: boolean
      gift_validity_duration:
        title: Gift validity duration
        type: number
      is_paid:
        title: Is paid
        type: boolean
      campaign:
        title: Campaign
        type: integer
        x-nullable: true
      campaign_tier:
        title: Campaign tier
        type: integer
        x-nullable: true
  NomenclatureKey:
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      attachments:
        type: array
        items:
          $ref: '#/definitions/Attachment'
        readOnly: true
      attachments_id:
        type: array
        items:
          type: integer
        uniqueItems: true
      image:
        $ref: '#/definitions/Attachment'
      image_id:
        title: Image id
        type: integer
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      code_name:
        title: Code name
        type: string
        maxLength: 50
        minLength: 1
        x-nullable: true
      title:
        title: Title
        type: string
        maxLength: 255
        minLength: 1
        x-nullable: true
      title_en:
        title: Title [en]
        type: string
        maxLength: 255
        x-nullable: true
      title_ru:
        title: Title [ru]
        type: string
        maxLength: 255
        x-nullable: true
      title_ro:
        title: Title [ro]
        type: string
        maxLength: 255
        x-nullable: true
      description:
        title: Description
        type: string
        x-nullable: true
      description_en:
        title: Description [en]
        type: string
        x-nullable: true
      description_ru:
        title: Description [ru]
        type: string
        x-nullable: true
      description_ro:
        title: Description [ro]
        type: string
        x-nullable: true
      action:
        title: Action
        type: string
        maxLength: 255
        minLength: 1
        x-nullable: true
      link:
        title: Link
        type: string
        maxLength: 255
        minLength: 1
        x-nullable: true
      type:
        title: Type
        type: string
        maxLength: 255
        minLength: 1
        x-nullable: true
      is_active:
        title: Is active
        type: boolean
      campaign:
        title: Campaign
        type: integer
        x-nullable: true
      campaign_tier:
        title: Campaign tier
        type: integer
        x-nullable: true
  Notification:
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
      title:
        title: Title
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      title_en:
        title: Title [en]
        type: string
        maxLength: 250
        x-nullable: true
      title_ru:
        title: Title [ru]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      title_ro:
        title: Title [ro]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      description:
        title: Description
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      description_en:
        title: Description [en]
        type: string
        maxLength: 250
        x-nullable: true
      description_ru:
        title: Description [ru]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      description_ro:
        title: Description [ro]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      body:
        title: Body
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      body_en:
        title: Body [en]
        type: string
        maxLength: 250
        x-nullable: true
      body_ru:
        title: Body [ru]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      body_ro:
        title: Body [ro]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      reference:
        title: Reference
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      recipient:
        title: Recipient
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      data:
        title: Data
        type: object
        x-nullable: true
      metadata:
        title: Metadata
        type: object
        x-nullable: true
      parameters:
        title: Parameters
        type: object
        x-nullable: true
      read:
        title: Read
        type: boolean
      actioned:
        title: Actioned
        type: boolean
      type:
        title: Type
        type: string
        enum:
          - SMS
          - EMAIL
          - PUSH
          - OTHER
      send_error:
        title: Send error
        type: string
        minLength: 1
        x-nullable: true
      delivery_status:
        title: Delivery status
        type: string
        enum:
          - SENT
          - FAILED
      code_name:
        title: Code name
        type: string
        enum:
          - CODE_NAME_INVITATION_SIGN_UP
          - CODE_NAME_GIFT_RECEIVED
          - CODE_NAME_GIFT_THANK_YOU
          - CODE_NAME_EVENT_BIRTHDAY
          - CODE_NAME_ACCOUNT_PRO
          - CODE_NAME_GIFT_UNOPENED
          - CODE_NAME_GIFT_UNREDEEMED
          - CODE_NAME_GIFT_WRAPPED
          - CODE_NAME_USER_INACTIVITY
          - CODE_NAME_SPECIAL_DAY
          - CODE_NAME_FRIEND_NEW
          - CODE_NAME_USER_WELCOME
          - CODE_NAME_USER_VERIFY
          - CODE_NAME_USER_HOW_TO_USE
          - CODE_NAME_NEW_BRANDS_PRODUCTS
          - CODE_NAME_GAMIFICATION_USER_PROGRESS
          - CODE_NAME_GAMIFICATION_LEVEL_UP
          - CODE_NAME_FULL_EXPERIENCE
          - CODE_NAME_FEEDBACK
          - CODE_NAME_UNREGISTERED
          - CODE_NAME_WORK_EMAIL
          - CODE_NAME_INVITATION_4BIZ
          - CODE_NAME_GET_REWARD
          - CODE_NAME_GIFT_COMMENT
          - CODE_NAME_INVITATION_TO_DISCOUNTS
          - CODE_NAME_COHORTS_DASHBOARD_NOTIFICATION
          - CODE_NAME_GIFT_FROM_COUPON_RECEIVED
          - CODE_NAME_GIFT_EXPIRATION_WARNING
          - CODE_NAME_APP_INVITATION
          - WORK_EMAIL_UNREGISTERED
          - UNKNOWN
      user:
        title: User
        type: integer
        x-nullable: true
      target:
        title: Target
        type: integer
        x-nullable: true
      attachments:
        type: array
        items:
          type: integer
        uniqueItems: true
  TriggerFeaturedGiftsNotification:
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
      title:
        title: Title
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      title_en:
        title: Title [en]
        type: string
        maxLength: 250
        x-nullable: true
      title_ru:
        title: Title [ru]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      title_ro:
        title: Title [ro]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      description:
        title: Description
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      description_en:
        title: Description [en]
        type: string
        maxLength: 250
        x-nullable: true
      description_ru:
        title: Description [ru]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      description_ro:
        title: Description [ro]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      body:
        title: Body
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      body_en:
        title: Body [en]
        type: string
        maxLength: 250
        x-nullable: true
      body_ru:
        title: Body [ru]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      body_ro:
        title: Body [ro]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      reference:
        title: Reference
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      recipient:
        title: Recipient
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      data:
        title: Data
        type: object
        x-nullable: true
      metadata:
        title: Metadata
        type: object
        x-nullable: true
      parameters:
        title: Parameters
        type: object
        x-nullable: true
      read:
        title: Read
        type: boolean
      actioned:
        title: Actioned
        type: boolean
      type:
        title: Type
        type: string
        enum:
          - SMS
          - EMAIL
          - PUSH
          - OTHER
      send_error:
        title: Send error
        type: string
        minLength: 1
        x-nullable: true
      delivery_status:
        title: Delivery status
        type: string
        enum:
          - SENT
          - FAILED
      code_name:
        title: Code name
        type: string
        enum:
          - CODE_NAME_INVITATION_SIGN_UP
          - CODE_NAME_GIFT_RECEIVED
          - CODE_NAME_GIFT_THANK_YOU
          - CODE_NAME_EVENT_BIRTHDAY
          - CODE_NAME_ACCOUNT_PRO
          - CODE_NAME_GIFT_UNOPENED
          - CODE_NAME_GIFT_UNREDEEMED
          - CODE_NAME_GIFT_WRAPPED
          - CODE_NAME_USER_INACTIVITY
          - CODE_NAME_SPECIAL_DAY
          - CODE_NAME_FRIEND_NEW
          - CODE_NAME_USER_WELCOME
          - CODE_NAME_USER_VERIFY
          - CODE_NAME_USER_HOW_TO_USE
          - CODE_NAME_NEW_BRANDS_PRODUCTS
          - CODE_NAME_GAMIFICATION_USER_PROGRESS
          - CODE_NAME_GAMIFICATION_LEVEL_UP
          - CODE_NAME_FULL_EXPERIENCE
          - CODE_NAME_FEEDBACK
          - CODE_NAME_UNREGISTERED
          - CODE_NAME_WORK_EMAIL
          - CODE_NAME_INVITATION_4BIZ
          - CODE_NAME_GET_REWARD
          - CODE_NAME_GIFT_COMMENT
          - CODE_NAME_INVITATION_TO_DISCOUNTS
          - CODE_NAME_COHORTS_DASHBOARD_NOTIFICATION
          - CODE_NAME_GIFT_FROM_COUPON_RECEIVED
          - CODE_NAME_GIFT_EXPIRATION_WARNING
          - CODE_NAME_APP_INVITATION
          - WORK_EMAIL_UNREGISTERED
          - UNKNOWN
      user:
        title: User
        type: integer
        x-nullable: true
      target:
        title: Target
        type: integer
        x-nullable: true
      attachments:
        type: array
        items:
          type: integer
        uniqueItems: true
  CreateOrder:
    required:
      - product
    type: object
    properties:
      product:
        title: Product
        type: integer
      phone:
        title: Phone
        type: string
        minLength: 1
      payment_method:
        title: Payment method
        type: string
        maxLength: 100
        minLength: 1
        x-nullable: true
      video:
        title: Video
        type: integer
        x-nullable: true
      comment:
        title: Comment
        type: string
        minLength: 1
        x-nullable: true
      product_characteristic_choices:
        type: array
        items:
          type: integer
        uniqueItems: true
      payment_type:
        title: Payment type
        type: string
        enum:
          - stripe
          - mobile
          - free
          - paypal
        default: stripe
      network_card:
        title: Network card
        type: integer
        x-nullable: true
      email:
        title: Email
        type: string
        format: email
        minLength: 1
  Order:
    required:
      - product_id
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      product:
        $ref: '#/definitions/ShortProduct'
      product_id:
        title: Product id
        type: integer
      user:
        $ref: '#/definitions/ReturnUser'
      target:
        $ref: '#/definitions/ReturnUser'
      target_id:
        title: Target id
        type: integer
      contact:
        $ref: '#/definitions/ReturnContact'
      contact_id:
        title: Contact id
        type: integer
      comment:
        $ref: '#/definitions/CommentShort'
      comment_id:
        title: Comment id
        type: integer
        x-nullable: true
      video:
        $ref: '#/definitions/AttachmentShort'
      video_id:
        title: Video id
        type: integer
        x-nullable: true
      paid:
        title: Paid
        type: number
      cost:
        title: Cost
        type: number
      price:
        title: Price
        type: number
        readOnly: true
      discount:
        title: Discount
        type: number
      profit:
        title: Profit
        type: number
      fee:
        title: Fee
        type: number
      timestamp:
        title: Timestamp
        type: string
        format: date-time
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
      url:
        title: Url
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      data:
        title: Data
        type: object
        x-nullable: true
      status:
        title: Status
        type: string
        enum:
          - PENDING
          - FAILED
          - SUCCESS
          - OTHER
      system:
        title: System
        type: boolean
      source:
        title: Source
        type: string
        enum:
          - admin_panel
          - business_panel
          - coupon
          - gamification
          - network_card
          - app
      operation_id:
        title: Operation id
        type: string
        format: uuid
        x-nullable: true
      payment_method:
        title: Payment method
        type: string
        maxLength: 100
        minLength: 1
        x-nullable: true
      notification_method:
        title: Notification method
        type: string
        enum:
          - SMS
          - EMAIL
          - PUSH
          - OTHER
        x-nullable: true
      coupon:
        title: Coupon
        type: integer
        x-nullable: true
      network_card:
        title: Network card
        type: integer
        x-nullable: true
      campaign:
        title: Campaign
        type: integer
        x-nullable: true
      transactions:
        type: array
        items:
          type: integer
        uniqueItems: true
      product_characteristic_choices:
        type: array
        items:
          type: integer
        uniqueItems: true
  Role:
    required:
      - name
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      name:
        title: Name
        type: string
        maxLength: 150
        minLength: 1
  UserSetting:
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      code_name:
        title: Code name
        type: string
        maxLength: 50
        minLength: 1
        x-nullable: true
      value:
        title: Value
        type: string
        maxLength: 255
        minLength: 1
      values:
        type: array
        items:
          title: Values
          type: string
          maxLength: 64
          minLength: 1
      period:
        title: Period
        type: string
        enum:
          - YEARS
          - MONTHS
          - DAYS
          - HOURS
          - MINUTES
          - SECONDS
          - MICROSECONDS
      state:
        title: State
        type: boolean
  NomenclatureCity:
    required:
      - name
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      name:
        title: Name
        type: string
        maxLength: 200
        minLength: 1
  NomenclatureSubRegion:
    required:
      - name
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      name:
        title: Name
        type: string
        maxLength: 200
        minLength: 1
  NomenclatureRegion:
    required:
      - name
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      name:
        title: Name
        type: string
        maxLength: 200
        minLength: 1
  NomenclatureCountry:
    required:
      - name
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      name:
        title: Name
        type: string
        maxLength: 200
        minLength: 1
      phone:
        title: Phone
        type: string
        maxLength: 20
        x-nullable: true
  Address:
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      city:
        $ref: '#/definitions/NomenclatureCity'
      city_id:
        title: City id
        type: integer
        x-nullable: true
      subregion:
        $ref: '#/definitions/NomenclatureSubRegion'
      subregion_id:
        title: Subregion id
        type: integer
        x-nullable: true
      region:
        $ref: '#/definitions/NomenclatureRegion'
      region_id:
        title: Region id
        type: integer
        x-nullable: true
      country:
        $ref: '#/definitions/NomenclatureCountry'
      country_id:
        title: Country id
        type: integer
        x-nullable: true
      zip_code:
        title: Zip code
        type: string
        x-nullable: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      line_1:
        title: Line 1
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      description:
        title: Description
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      type:
        title: Type
        type: string
        enum:
          - OTHER
      user:
        title: User
        type: integer
        x-nullable: true
  Company:
    required:
      - address
      - name
      - owner
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      address:
        $ref: '#/definitions/CompanyAddress'
      can_send_gift:
        title: Can send gift
        type: string
        readOnly: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      name:
        title: Name
        type: string
        maxLength: 225
        minLength: 1
      fee:
        title: Fee
        type: number
      owner:
        title: Owner
        type: integer
  User:
    required:
      - email
      - username
      - favourites_ids
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      email:
        title: Email
        type: string
        format: email
        maxLength: 250
        minLength: 1
      email_verified:
        title: Email verified
        type: boolean
        readOnly: true
      username:
        title: Username
        description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
          only.
        type: string
        pattern: ^[\w.@+-]+$
        maxLength: 150
        minLength: 1
      first_name:
        title: First name
        type: string
        maxLength: 250
        minLength: 1
      last_name:
        title: Last name
        type: string
        maxLength: 250
        minLength: 1
      birthday:
        title: Birthday
        type: string
        format: date
        x-nullable: true
      phone:
        title: Phone
        type: string
        maxLength: 50
        minLength: 1
        x-nullable: true
      bio:
        title: Bio
        type: string
        maxLength: 1000
        x-nullable: true
      photo:
        $ref: '#/definitions/Attachment'
      roles:
        type: array
        items:
          $ref: '#/definitions/Role'
        readOnly: true
      interests:
        type: array
        items:
          $ref: '#/definitions/Tag'
        readOnly: true
      preference:
        title: Preference
        type: string
        enum:
          - FULLNAME
          - USERNAME
        readOnly: true
        default: USERNAME
      settings:
        type: array
        items:
          $ref: '#/definitions/UserSetting'
        readOnly: true
      favourites_ids:
        type: array
        items:
          type: integer
      referral_code:
        title: Referral code
        type: string
        format: uuid
        readOnly: true
      tokens:
        type: array
        items:
          type: string
          minLength: 1
        readOnly: true
      address:
        $ref: '#/definitions/Address'
      roles_id:
        type: array
        items:
          type: integer
        uniqueItems: true
      gender:
        title: Gender
        type: string
        enum:
          - MALE
          - FEMALE
          - NON_BINARY
          - PREFER_NOT_TO_SAY
          - OTHER
        default: OTHER
      modules_permissions:
        title: Modules permissions
        type: object
        x-nullable: true
      is_superuser:
        title: Superuser status
        description: Designates that this user has all permissions without explicitly
          assigning them.
        type: boolean
      is_suspended:
        title: Is suspended
        type: boolean
      calendar_is_active:
        title: Calendar is active
        type: boolean
      company:
        $ref: '#/definitions/Company'
      campaign_is_active:
        title: Campaign is active
        type: string
        readOnly: true
      api_access_level:
        title: Api access level
        type: string
        enum:
          - FULL_ACCESS
          - CAMPAIGNS
      phone_lock_countdown:
        title: Phone lock countdown
        type: string
        readOnly: true
  CreateOrderSchedule:
    required:
      - product_id
      - users_id
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      product:
        title: Product
        type: integer
        x-nullable: true
      product_id:
        title: Product id
        type: integer
      user:
        $ref: '#/definitions/ReturnUser'
      target:
        $ref: '#/definitions/ReturnUser'
      target_id:
        title: Target id
        type: integer
      contact:
        $ref: '#/definitions/ReturnContact'
      contact_id:
        title: Contact id
        type: integer
      comment:
        $ref: '#/definitions/CommentShort'
      comment_id:
        title: Comment id
        type: integer
        x-nullable: true
      video:
        $ref: '#/definitions/AttachmentShort'
      video_id:
        title: Video id
        type: integer
        x-nullable: true
      paid:
        title: Paid
        type: number
      cost:
        title: Cost
        type: number
      price:
        title: Price
        type: number
        readOnly: true
      discount:
        title: Discount
        type: number
      profit:
        title: Profit
        type: number
      fee:
        title: Fee
        type: number
      users:
        type: array
        items:
          $ref: '#/definitions/User'
        readOnly: true
      users_id:
        type: array
        items:
          type: integer
        uniqueItems: true
      gift_validity_duration:
        title: Gift validity duration
        type: number
        x-nullable: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
      url:
        title: Url
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      data:
        title: Data
        type: object
        x-nullable: true
      status:
        title: Status
        type: string
        enum:
          - PENDING
          - FAILED
          - SUCCESS
          - OTHER
      system:
        title: System
        type: boolean
      source:
        title: Source
        type: string
        enum:
          - admin_panel
          - business_panel
          - coupon
          - gamification
          - network_card
          - app
      operation_id:
        title: Operation id
        type: string
        format: uuid
        x-nullable: true
      payment_method:
        title: Payment method
        type: string
        maxLength: 100
        minLength: 1
        x-nullable: true
      notification_method:
        title: Notification method
        type: string
        enum:
          - SMS
          - EMAIL
          - PUSH
          - OTHER
        x-nullable: true
      coupon:
        title: Coupon
        type: integer
        x-nullable: true
      network_card:
        title: Network card
        type: integer
        x-nullable: true
      campaign:
        title: Campaign
        type: integer
        x-nullable: true
      transactions:
        type: array
        items:
          type: integer
        uniqueItems: true
      product_characteristic_choices:
        type: array
        items:
          type: integer
        uniqueItems: true
  ListOrder:
    required:
      - product
      - user
      - target
      - paid
      - cost
      - profit
      - discount
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      product:
        $ref: '#/definitions/ShortProduct'
      user:
        $ref: '#/definitions/SimpleUser'
      target:
        $ref: '#/definitions/SimpleUser'
      paid:
        title: Paid
        type: number
      cost:
        title: Cost
        type: number
      profit:
        title: Profit
        type: number
      discount:
        title: Discount
        type: number
      timestamp:
        title: Timestamp
        type: string
        format: date-time
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
      url:
        title: Url
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      price:
        title: Price
        type: string
        format: decimal
      fee:
        title: Fee
        type: string
        format: decimal
      data:
        title: Data
        type: object
        x-nullable: true
      status:
        title: Status
        type: string
        enum:
          - PENDING
          - FAILED
          - SUCCESS
          - OTHER
      system:
        title: System
        type: boolean
      source:
        title: Source
        type: string
        enum:
          - admin_panel
          - business_panel
          - coupon
          - gamification
          - network_card
          - app
      operation_id:
        title: Operation id
        type: string
        format: uuid
        x-nullable: true
      payment_method:
        title: Payment method
        type: string
        maxLength: 100
        minLength: 1
        x-nullable: true
      notification_method:
        title: Notification method
        type: string
        enum:
          - SMS
          - EMAIL
          - PUSH
          - OTHER
        x-nullable: true
      coupon:
        title: Coupon
        type: integer
        x-nullable: true
      comment:
        title: Comment
        type: integer
        x-nullable: true
      network_card:
        title: Network card
        type: integer
        x-nullable: true
      campaign:
        title: Campaign
        type: integer
        x-nullable: true
      contact:
        title: Contact
        type: integer
        x-nullable: true
      video:
        title: Video
        type: integer
        x-nullable: true
  SetupKeys:
    required:
      - public_key
      - client_secret
    type: object
    properties:
      public_key:
        title: Public key
        type: string
        minLength: 1
      client_secret:
        title: Client secret
        type: string
        minLength: 1
  SetupPaymentMethod:
    type: object
    properties:
      payment_method:
        title: Payment method
        type: string
        minLength: 1
  PaymentTransactionSerializer:
    required:
      - identifier
      - reference
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
      amount:
        title: Amount
        type: string
        format: decimal
      identifier:
        title: Identifier
        type: string
        maxLength: 250
        minLength: 1
      reference:
        title: Reference
        type: string
        maxLength: 250
        minLength: 1
      data:
        title: Data
        type: object
        x-nullable: true
      type:
        title: Type
        type: string
        enum:
          - CAPTURE
          - REFUND
          - OTHER
      status:
        title: Status
        type: string
        enum:
          - SUCCEEDED
          - CANCELED
          - FAILED
          - OTHER
      customer:
        title: Customer
        type: integer
        x-nullable: true
  CreateOrderPayment:
    required:
      - payment_method_id
      - order_id
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      payment_method_id:
        title: Payment method id
        type: string
        minLength: 1
      order:
        $ref: '#/definitions/Order'
      order_id:
        title: Order id
        type: integer
      transactions:
        type: array
        items:
          $ref: '#/definitions/PaymentTransactionSerializer'
        readOnly: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
      url:
        title: Url
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      paid:
        title: Paid
        type: string
        format: decimal
      price:
        title: Price
        type: string
        format: decimal
      cost:
        title: Cost
        type: string
        format: decimal
      fee:
        title: Fee
        type: string
        format: decimal
      data:
        title: Data
        type: object
        x-nullable: true
      status:
        title: Status
        type: string
        enum:
          - PENDING
          - FAILED
          - SUCCESS
          - OTHER
      system:
        title: System
        type: boolean
      source:
        title: Source
        type: string
        enum:
          - admin_panel
          - business_panel
          - coupon
          - gamification
          - network_card
          - app
      operation_id:
        title: Operation id
        type: string
        format: uuid
        x-nullable: true
      payment_method:
        title: Payment method
        type: string
        maxLength: 100
        minLength: 1
        x-nullable: true
      notification_method:
        title: Notification method
        type: string
        enum:
          - SMS
          - EMAIL
          - PUSH
          - OTHER
        x-nullable: true
      product:
        title: Product
        type: integer
        x-nullable: true
      coupon:
        title: Coupon
        type: integer
        x-nullable: true
      user:
        title: User
        type: integer
        x-nullable: true
      comment:
        title: Comment
        type: integer
        x-nullable: true
      network_card:
        title: Network card
        type: integer
        x-nullable: true
      campaign:
        title: Campaign
        type: integer
        x-nullable: true
      target:
        title: Target
        type: integer
        x-nullable: true
      contact:
        title: Contact
        type: integer
        x-nullable: true
      video:
        title: Video
        type: integer
        x-nullable: true
      product_characteristic_choices:
        type: array
        items:
          type: integer
        uniqueItems: true
  CreatePaymentMethod:
    required:
      - id
    type: object
    properties:
      id:
        title: Id
        type: string
        maxLength: 254
        minLength: 1
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      fingerprint:
        title: Fingerprint
        type: string
        maxLength: 254
        minLength: 1
        x-nullable: true
      user:
        title: User
        type: integer
        x-nullable: true
  PaymentMethod:
    required:
      - payment_method
    type: object
    properties:
      payment_method:
        title: Payment method
        description: Payment method id
        type: string
        minLength: 1
  ProductCategory:
    required:
      - title
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      products_count:
        title: Products count
        type: integer
      order:
        title: Order
        type: integer
        readOnly: true
      image:
        $ref: '#/definitions/Attachment'
      short_description:
        title: Short description
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      slug:
        title: Slug
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      title:
        title: Title
        type: string
        maxLength: 250
        minLength: 1
      title_en:
        title: Title [en]
        type: string
        maxLength: 250
        x-nullable: true
      title_ro:
        title: Title [ro]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      title_ru:
        title: Title [ru]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      description:
        title: Description
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      description_en:
        title: Description [en]
        type: string
        maxLength: 250
        x-nullable: true
      description_ro:
        title: Description [ro]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      description_ru:
        title: Description [ru]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
  ListProduct:
    required:
      - is_favorite
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      featured_image:
        title: Featured image
        type: string
        readOnly: true
      images:
        $ref: '#/definitions/AttachmentShort'
      brand:
        $ref: '#/definitions/BrandShort'
      expiring_months:
        title: Expiring months
        type: integer
        maximum: 250
        minimum: 0
      is_favorite:
        title: Is favorite
        type: boolean
      short_description:
        title: Short description
        type: string
        maxLength: 500
        minLength: 1
        x-nullable: true
      slug:
        title: Slug
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      price:
        title: Price
        type: number
        readOnly: true
      discount_price:
        title: Discount price
        type: number
        minimum: 0
        x-nullable: true
      is_discount:
        title: Is discount
        type: boolean
        x-nullable: true
      fee:
        title: Fee
        type: string
        readOnly: true
      characteristic_types:
        type: array
        items:
          $ref: '#/definitions/CharacteristicType'
        readOnly: true
      categories:
        type: array
        items:
          $ref: '#/definitions/ProductCategory'
        readOnly: true
      available:
        title: Available
        type: boolean
      title:
        title: Title
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      title_en:
        title: Title [en]
        type: string
        maxLength: 250
        x-nullable: true
      title_ro:
        title: Title [ro]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      title_ru:
        title: Title [ru]
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      description:
        title: Description
        type: string
        maxLength: 500
        minLength: 1
        x-nullable: true
      description_en:
        title: Description [en]
        type: string
        maxLength: 500
        x-nullable: true
      description_ro:
        title: Description [ro]
        type: string
        maxLength: 500
        minLength: 1
        x-nullable: true
      description_ru:
        title: Description [ru]
        type: string
        maxLength: 500
        minLength: 1
        x-nullable: true
  TagList:
    required:
      - tags
    type: object
    properties:
      tags:
        type: array
        items:
          type: string
          minLength: 1
  UpsertProductFavourite:
    required:
      - user
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      product:
        $ref: '#/definitions/Product'
      product_id:
        title: Product id
        type: integer
        x-nullable: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
      user_progress:
        title: User progress
        type: integer
        x-nullable: true
      user:
        title: User
        type: integer
        x-nullable: true
  ReactionsRead:
    required:
      - reactions
    type: object
    properties:
      reactions:
        type: array
        items:
          type: integer
        uniqueItems: true
  Setting:
    required:
      - code_name
      - values
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      code_name:
        title: Code name
        type: string
        minLength: 1
      period:
        title: Period
        type: string
        enum:
          - YEARS
          - MONTHS
          - DAYS
          - HOURS
          - MINUTES
          - SECONDS
          - MICROSECONDS
        default: HOURS
      values:
        type: array
        items:
          type: string
          minLength: 1
      value:
        title: Value
        type: string
        readOnly: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      title:
        title: Title
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      description:
        title: Description
        type: string
        maxLength: 250
        minLength: 1
        x-nullable: true
      value_type:
        title: Value type
        type: string
        enum:
          - number
          - string
          - boolean
          - product_select
          - user_select
        x-nullable: true
  Dashboard:
    required:
      - total_users
      - sign_ups
      - dop_offs
      - free_gifts_sent
      - avg_spend_per_user
      - total_revenue
      - not_redeemed_gifts
      - total_gifts
    type: object
    properties:
      total_users:
        title: Total users
        type: integer
      sign_ups:
        title: Sign ups
        type: integer
      dop_offs:
        title: Dop offs
        type: integer
      free_gifts_sent:
        title: Free gifts sent
        type: integer
      avg_spend_per_user:
        title: Avg spend per user
        type: integer
      total_revenue:
        title: Total revenue
        type: integer
      not_redeemed_gifts:
        title: Not redeemed gifts
        type: integer
      total_gifts:
        title: Total gifts
        type: integer
  RevenueChart:
    required:
      - date
      - value
    type: object
    properties:
      date:
        title: Date
        type: string
        format: date
      value:
        title: Value
        type: number
  Register:
    required:
      - email
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      phone:
        title: Phone
        type: string
        minLength: 1
      email:
        title: Email
        type: string
        format: email
        minLength: 1
      username:
        title: Username
        type: string
        minLength: 1
        x-nullable: true
      first_name:
        title: First name
        type: string
        minLength: 3
      last_name:
        title: Last name
        type: string
        minLength: 3
      birthday:
        title: Birthday
        type: string
        format: date
      invite:
        title: Invite
        type: string
        minLength: 1
      gender:
        title: Gender
        type: string
        enum:
          - MALE
          - FEMALE
          - NON_BINARY
          - PREFER_NOT_TO_SAY
          - OTHER
        default: OTHER
      company_name:
        title: Company name
        type: string
        minLength: 1
      referral_user:
        title: Referral user
        type: integer
      referral_source:
        title: Referral source
        type: string
        maxLength: 254
        minLength: 1
        x-nullable: true
  BlockedUser:
    type: object
    properties:
      target:
        $ref: '#/definitions/User'
      target_id:
        title: Target id
        type: integer
      user:
        $ref: '#/definitions/User'
      user_id:
        title: User id
        type: integer
  BulkDeleteUser:
    required:
      - users
    type: object
    properties:
      users:
        type: array
        items:
          type: integer
        uniqueItems: true
  UserDeleteLog:
    required:
      - user
      - reason
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      user:
        $ref: '#/definitions/User'
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      username:
        title: Username
        type: string
        format: email
        maxLength: 254
        minLength: 1
        x-nullable: true
      email:
        title: Email
        type: string
        format: email
        maxLength: 254
        minLength: 1
        x-nullable: true
      phone:
        title: Phone
        type: string
        maxLength: 50
        x-nullable: true
      reason:
        title: Reason
        type: string
        maxLength: 225
        minLength: 1
      info:
        title: Info
        type: string
        x-nullable: true
      user_ip:
        title: User ip
        type: string
        maxLength: 225
        minLength: 1
        x-nullable: true
      user_agent:
        title: User agent
        type: string
        maxLength: 225
        minLength: 1
        x-nullable: true
      confirmed_at:
        title: Confirmed at
        type: string
        format: date-time
        x-nullable: true
  DiscountShortUser:
    required:
      - username
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      username:
        title: Username
        description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
          only.
        type: string
        pattern: ^[\w.@+-]+$
        maxLength: 150
        minLength: 1
      first_name:
        title: First name
        type: string
        maxLength: 250
        minLength: 1
      last_name:
        title: Last name
        type: string
        maxLength: 250
        minLength: 1
      phone:
        title: Phone
        type: string
        maxLength: 50
        minLength: 1
        x-nullable: true
      photo_url:
        title: Photo url
        type: string
        readOnly: true
    x-nullable: true
  UserDiscount:
    required:
      - target
      - user
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      target:
        $ref: '#/definitions/DiscountShortUser'
      timestamp:
        title: Timestamp
        type: string
        format: date-time
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
      is_active:
        title: Is active
        type: boolean
      user:
        title: User
        type: integer
  UserDiscountsInvite:
    required:
      - users
    type: object
    properties:
      users:
        type: array
        items:
          type: integer
        uniqueItems: true
      body:
        title: Body
        type: string
        x-nullable: true
  Device:
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      email:
        title: Email
        type: string
        format: email
        maxLength: 250
        minLength: 1
        x-nullable: true
      phone:
        title: Phone
        type: string
        maxLength: 50
        minLength: 1
        x-nullable: true
      user_data:
        title: User data
        type: string
        readOnly: true
      removal_countdown:
        title: Removal countdown
        type: integer
        readOnly: true
        x-nullable: true
      expires_at:
        title: Expires at
        type: string
        format: date-time
        x-nullable: true
  Waitlist:
    required:
      - code
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      timestamp:
        title: Timestamp
        type: string
        format: date-time
        readOnly: true
      edited_timestamp:
        title: Edited timestamp
        type: string
        format: date-time
        readOnly: true
      date_deleted:
        title: Date deleted
        type: string
        format: date-time
        x-nullable: true
      code:
        title: Code
        type: string
        maxLength: 255
        minLength: 1
      phone:
        title: Phone
        type: string
        maxLength: 50
        minLength: 1
        x-nullable: true
      tokens:
        type: array
        items:
          title: Tokens
          type: string
          maxLength: 512
          minLength: 1
  UpdatePhone:
    required:
      - token
    type: object
    properties:
      token:
        title: Token
        type: string
        minLength: 1
  UpdateProfileUser:
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      is_friend:
        title: Is friend
        type: string
        readOnly: true
      email:
        title: Email
        type: string
        minLength: 1
      email_verified:
        title: Email verified
        type: boolean
        readOnly: true
      username:
        title: Username
        type: string
        minLength: 1
      first_name:
        title: First name
        type: string
        maxLength: 250
        minLength: 1
      last_name:
        title: Last name
        type: string
        maxLength: 250
        minLength: 1
      phone:
        title: Phone
        type: string
        minLength: 1
      photo:
        $ref: '#/definitions/Attachment'
      photo_id:
        title: Photo id
        type: integer
        x-nullable: true
      roles:
        type: array
        items:
          $ref: '#/definitions/Role'
        readOnly: true
      invite:
        $ref: '#/definitions/Invite'
      interests:
        type: array
        items:
          $ref: '#/definitions/Tag'
      settings:
        type: array
        items:
          $ref: '#/definitions/UserSetting'
        readOnly: true
      favourites_ids:
        type: array
        items:
          type: integer
        readOnly: true
      preference:
        title: Preference
        type: string
        enum:
          - FULLNAME
          - USERNAME
        default: USERNAME
      referral_code:
        title: Referral code
        type: string
        format: uuid
        readOnly: true
      tokens:
        type: array
        items:
          type: string
          minLength: 1
      bio:
        title: Bio
        type: string
        maxLength: 1000
        x-nullable: true
      birthday:
        title: Birthday
        type: string
        format: date
        x-nullable: true
      address:
        $ref: '#/definitions/Address'
      roles_id:
        type: array
        items:
          type: integer
        uniqueItems: true
      gender:
        title: Gender
        type: string
        enum:
          - MALE
          - FEMALE
          - NON_BINARY
          - PREFER_NOT_TO_SAY
          - OTHER
        default: OTHER
      date_joined:
        title: Date joined
        type: string
        format: date-time
      modules_permissions:
        title: Modules permissions
        type: object
        x-nullable: true
      is_superuser:
        title: Superuser status
        description: Designates that this user has all permissions without explicitly
          assigning them.
        type: boolean
      is_suspended:
        title: Is suspended
        type: boolean
      stats:
        title: Stats
        type: string
        readOnly: true
      is_blocked:
        title: Is blocked
        type: string
        readOnly: true
      is_active:
        title: Active
        description: Designates whether this user should be treated as active. Unselect
          this instead of deleting accounts.
        type: boolean
      company:
        $ref: '#/definitions/Company'
      last_login:
        title: Last login
        type: string
        format: date-time
        readOnly: true
      calendar_is_active:
        title: Calendar is active
        type: boolean
        readOnly: true
      api_access_level:
        title: Api access level
        type: string
        enum:
          - FULL_ACCESS
          - CAMPAIGNS
  DeleteAccount:
    required:
      - reason
    type: object
    properties:
      reason:
        title: Reason
        type: string
        maxLength: 225
        minLength: 1
      info:
        title: Info
        type: string
        x-nullable: true
      confirmed:
        title: Confirmed
        type: boolean
        default: false
  RestoreProfileUser:
    required:
      - password
      - username
    type: object
    properties:
      password:
        title: Password
        type: string
        minLength: 1
      username:
        title: Username
        type: string
        minLength: 1
  CreateWaitlist:
    required:
      - code
    type: object
    properties:
      code:
        title: Code
        type: string
        maxLength: 255
        minLength: 1
      phone:
        title: Phone
        type: string
        maxLength: 50
        minLength: 1
        x-nullable: true
      tokens:
        type: array
        items:
          title: Tokens
          type: string
          maxLength: 512
          minLength: 1
  ManagementUpdateUser:
    type: object
    properties:
      id:
        title: ID
        type: integer
        readOnly: true
      is_friend:
        title: Is friend
        type: string
        readOnly: true
      email:
        title: Email
        type: string
        minLength: 1
      email_verified:
        title: Email verified
        type: boolean
        readOnly: true
      username:
        title: Username
        type: string
        minLength: 1
      first_name:
        title: First name
        type: string
        maxLength: 250
        minLength: 1
      last_name:
        title: Last name
        type: string
        maxLength: 250
        minLength: 1
      phone:
        title: Phone
        type: string
        minLength: 1
      photo:
        $ref: '#/definitions/Attachment'
      photo_id:
        title: Photo id
        type: integer
        x-nullable: true
      roles:
        type: array
        items:
          $ref: '#/definitions/Role'
        readOnly: true
      invite:
        $ref: '#/definitions/Invite'
      interests:
        type: array
        items:
          $ref: '#/definitions/Tag'
      settings:
        type: array
        items:
          $ref: '#/definitions/UserSetting'
        readOnly: true
      favourites_ids:
        type: array
        items:
          type: integer
        readOnly: true
      preference:
        title: Preference
        type: string
        enum:
          - FULLNAME
          - USERNAME
        default: USERNAME
      referral_code:
        title: Referral code
        type: string
        format: uuid
        readOnly: true
      tokens:
        type: array
        items:
          type: string
          minLength: 1
      bio:
        title: Bio
        type: string
        maxLength: 1000
        x-nullable: true
      birthday:
        title: Birthday
        type: string
        format: date
        x-nullable: true
      address:
        $ref: '#/definitions/Address'
      roles_id:
        type: array
        items:
          type: integer
        uniqueItems: true
      gender:
        title: Gender
        type: string
        enum:
          - MALE
          - FEMALE
          - NON_BINARY
          - PREFER_NOT_TO_SAY
          - OTHER
        default: OTHER
      date_joined:
        title: Date joined
        type: string
        format: date-time
      modules_permissions:
        title: Modules permissions
        type: object
        x-nullable: true
      is_superuser:
        title: Superuser status
        description: Designates that this user has all permissions without explicitly
          assigning them.
        type: boolean
      is_suspended:
        title: Is suspended
        type: boolean
      stats:
        title: Stats
        type: string
        readOnly: true
      is_blocked:
        title: Is blocked
        type: string
        readOnly: true
      is_active:
        title: Active
        description: Designates whether this user should be treated as active. Unselect
          this instead of deleting accounts.
        type: boolean
      company:
        $ref: '#/definitions/Company'
      last_login:
        title: Last login
        type: string
        format: date-time
        readOnly: true
      calendar_is_active:
        title: Calendar is active
        type: boolean
        readOnly: true
      api_access_level:
        title: Api access level
        type: string
        enum:
          - FULL_ACCESS
          - CAMPAIGNS
  VerifyUser:
    type: object
    properties:
      name:
        title: Name
        type: string
        readOnly: true
      photo_url:
        title: Photo url
        type: string
        readOnly: true
        minLength: 1
