> ## Documentation Index
> Fetch the complete documentation index at: https://docs.x-mart.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Este endpoint permite registrar o editar una lista en el sistema

> This endpoint allows you to register or edit a list in the system. Important: Each submitted request is processed as a new configuration, so if a product, category, modifier, etc. is not sent all your configuration will be deleted



## OpenAPI

````yaml PUT /v3/lists/{listId}
openapi: 3.0.1
info:
  title: Api V3 documentación
  description: >-
    A sample API that uses a plant store as an example to demonstrate features
    in the OpenAPI specification
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.artisn.desarrollo-redbrand.com/api
  - url: https://api.kfc-group.desarrollo-redbrand.com
  - url: https://{apiId}.execute-api.{region}.amazonaws.com/{stage}
    description: API Gateway (PRIVATE; invocación típica vía VPC endpoint).
    variables:
      apiId:
        default: '{api-id}'
        description: ID del API REST desplegado.
      region:
        default: us-east-1
      stage:
        default: dev
        description: Mismo valor que parámetro EnvironmentName del stack.
security:
  - bearerAuth: []
paths:
  /v3/lists/{listId}:
    put:
      summary: Register or edit a list
      description: >-
        This endpoint allows you to register or edit a list in the system.
        Important: Each submitted request is processed as a new configuration,
        so if a product, category, modifier, etc. is not sent all your
        configuration will be deleted
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                list:
                  type: object
                  description: General information of the list to be created
                  properties:
                    ecommerceChannelId:
                      type: integer
                      description: >-
                        Unified sales channel identifier, refers to the
                        standardized channel identifier.
                    channelReferenceName:
                      type: string
                      description: >-
                        Unique reference name, used for search and association
                        of the standardized channel.
                    listId:
                      type: string
                      description: >-
                        Unique identifier of the list. Ex: pickup-menu,
                        daily-menu, ...
                    listName:
                      type: string
                      description: 'Name that identifies the list. Ex: ''menu app'''
                    vendorId:
                      type: string
                      description: Unique brand identifier, provided by Trade.
                    storeId:
                      type: string
                      description: >-
                        Unique identifier of the store, refers to the storeId
                        parameter of the creation of stores and sales channels.
                        The 'replicate_in_all' value allows the current list to
                        be replicated for all stores
                    channelId:
                      type: string
                      description: >-
                        Unique identifier of the sales channel, refers to the
                        channelId parameter of the creation of stores and sales
                        channels.
                    schedules:
                      type: array
                      description: Allows you to apply a schedule to the list.
                      items:
                        type: object
                        properties:
                          day:
                            type: string
                          startDate:
                            type: string
                          endDate:
                            type: string
                          startTime:
                            type: string
                          endTime:
                            type: string
                categories:
                  type: array
                  description: >-
                    Permite definir las categorías de productos, así como su
                    organización en la lista.
                  items:
                    type: object
                    properties:
                      categoryId:
                        type: string
                      categoryName:
                        type: string
                      displayInList:
                        type: boolean
                      featured:
                        type: boolean
                      crossSellingCategory:
                        type: boolean
                      position:
                        type: integer
                      images:
                        type: array
                        items:
                          type: object
                          properties:
                            imageCategoryId:
                              type: string
                            fileUrl:
                              type: string
                      childCategories:
                        type: array
                        items:
                          type: object
                          properties:
                            categoryId:
                              type: string
                            categoryName:
                              type: string
                      productListing:
                        type: array
                        items:
                          type: object
                          properties:
                            productId:
                              type: string
                            position:
                              type: integer
                      schedules:
                        type: array
                        items:
                          type: object
                          properties:
                            day:
                              type: string
                            startDate:
                              type: string
                            endDate:
                              type: string
                            startTime:
                              type: string
                            endTime:
                              type: string
                products:
                  type: array
                  description: >-
                    Permite definir los productos o items, así como su
                    organización en la lista.
                  items:
                    type: object
                    properties:
                      productId:
                        type: string
                      name:
                        type: string
                      description:
                        type: string
                      standardTime:
                        type: boolean
                      featured:
                        type: boolean
                      priceInfo:
                        type: object
                        properties:
                          price:
                            type: number
                          salePrice:
                            type: number
                      productModifiers:
                        type: array
                        items:
                          type: object
                          properties:
                            modifierId:
                              type: string
                            position:
                              type: integer
                      schedules:
                        type: array
                        items:
                          type: object
                          properties:
                            day:
                              type: string
                            startDate:
                              type: string
                            endDate:
                              type: string
                            startTime:
                              type: string
                            endTime:
                              type: string
                      images:
                        type: array
                        items:
                          type: object
                          properties:
                            imageCategoryId:
                              type: string
                            fileUrl:
                              type: string
                modifierGroups:
                  type: array
                  description: >-
                    Permite definir un listado de modificadores que se
                    utilizarán en la lista.
                  items:
                    type: object
                    properties:
                      modifierId:
                        type: string
                      modifier:
                        type: string
                      minOptions:
                        type: integer
                      maxOptions:
                        type: integer
                      visible:
                        type: boolean
                      position:
                        type: integer
                      type:
                        type: string
                      modifierOptions:
                        type: array
                        items:
                          type: object
                          properties:
                            optionId:
                              type: string
                            productId:
                              type: string
                            default:
                              type: boolean
                            position:
                              type: integer
                scheduledActivities:
                  type: array
                  description: >-
                    Permite programar la activación e inactivación de productos
                    en una fecha futura.
                  items:
                    type: object
                    properties:
                      productId:
                        type: string
                      scheduledActiveStatus:
                        type: string
                        format: date-time
                      scheduledInactiveStatus:
                        type: string
                        format: date-time
      responses:
        '200':
          description: Lista registrada o editada exitosamente.
          content:
            application/json:
              schema:
                type: object
                properties:
                  listId:
                    type: string
                  name:
                    type: string
                  active:
                    type: boolean
        '400':
          description: Solicitud incorrecta
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
      security:
        - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````