FavoriteListsCreateInput
Input for creating a new favorite list.
This input type defines all the required and optional fields for creating a favorite list. At least one owner (companyId, contactId, or customerId) must be specified.
Required fields:
- name: Descriptive name for the list (max 64 characters)
- At least one owner ID (companyId, contactId, or customerId)
Optional fields:
- productIds or productSources: Products to include
- clusterIds or clusterSources: Clusters to include
- isDefault: Whether this is a default list
Validation rules:
- Name must be unique within owner scope
- Only one owner type can be specified
- Cannot mix internal IDs with external sources for same item type
- All referenced IDs must exist in the system
input FavoriteListsCreateInput {
productIds: [Int!]
productSources: [SourceInput!]
clusterIds: [Int!]
clusterSources: [SourceInput!]
isDefault: Boolean
name: String!
companyId: Int
companySource: SourceInput
contactId: Int
contactSource: SourceInput
customerId: Int
customerSource: SourceInput
}
Fields
FavoriteListsCreateInput.productIds
● [Int!]
list scalar
Array of unique product identifiers to include in the favorite list.
Each ID must be a positive integer representing a valid product in the system. Duplicate values are automatically removed during processing. Cannot be used together with productSources in the same request.
Validation constraints:
- Each ID must be a positive integer (minimum: 1)
- Array must contain unique values only
- Each ID must reference an existing product in the system
- Cannot be combined with productSources in the same request
Use cases:
- Adding products to shopping lists
- Building product catalogs
- Creating curated collections
- Inventory management
FavoriteListsCreateInput.productSources
● [SourceInput!]
list input
Array of product source identifiers for external system integration.
Use this when referencing products from external systems that are not directly managed in the internal catalog. Each source must contain a valid name and external ID combination. Cannot be used together with productIds in the same request - choose one approach.
Validation constraints:
- Each source must have a valid name and id field
- Array must contain unique combinations
- Cannot be combined with productIds in the same request
- Source names must match configured external systems
Use cases:
- Integration with external product catalogs
- Cross-platform product synchronization
- Third-party marketplace integration
FavoriteListsCreateInput.clusterIds
● [Int!]
list scalar
Array of unique cluster identifiers to include in the favorite list.
Each ID must be a positive integer representing a valid product cluster in the system. Duplicate values are automatically removed during processing. Cannot be used together with clusterSources in the same request.
Validation constraints:
- Each ID must be a positive integer (minimum: 1)
- Array must contain unique values only
- Each ID must reference an existing cluster in the system
- Cannot be combined with clusterSources in the same request
Use cases:
- Bulk product management
- Category-based organization
- Hierarchical product grouping
- Efficient inventory management
FavoriteListsCreateInput.clusterSources
● [SourceInput!]
list input
Array of cluster source identifiers for external system integration.
Use this when referencing product clusters from external systems that are not directly managed in the internal catalog. Each source must contain a valid name and external ID combination. Cannot be used together with clusterIds in the same request - choose one approach.
Validation constraints:
- Each source must have a valid name and id field
- Array must contain unique combinations
- Cannot be combined with clusterIds in the same request
- Source names must match configured external systems
Use cases:
- Integration with external cluster systems
- Cross-platform cluster synchronization
- Third-party category management
FavoriteListsCreateInput.isDefault
● Boolean
scalar
Specifies whether this favorite list should be marked as a default list.
Default lists have special significance in the system and may be automatically selected or prioritized in user interfaces. Only one default list per owner is typically allowed, and setting this to true may affect other default lists.
Validation constraints:
- Must be a boolean value (true or false)
- Default value: false
- Only one default list per owner is typically allowed
Use cases for default lists:
- Primary shopping list for customers
- Main product catalog for companies
- Default collection for sales representatives
FavoriteListsCreateInput.name
● String!
non-null scalar
A descriptive name for the favorite list.
The name should be meaningful and help users identify the purpose of the list. A URL-friendly slug will be automatically generated from this name.
Validation constraints:
- Required field (cannot be empty)
- Maximum length: 64 characters
- Must be unique within the owner's scope (company, contact, or customer)
- Supports Unicode characters for international use
- Cannot contain only whitespace
The name is used for:
- Display in user interfaces
- Automatic slug generation for URLs
- Search and filtering operations
- Uniqueness validation within owner scope
FavoriteListsCreateInput.companyId
● Int
scalar
The unique identifier of the company that owns this favorite list.
Cannot be used together with contactId, customerId, or their source equivalents. Only one ownership type is allowed per favorite list. Must reference an existing company in the system.
Validation constraints:
- Must be a positive integer (minimum: 1)
- Must reference an existing company in the system
- Mutually exclusive with contactId, customerId, and their source equivalents
- Cannot be changed after list creation
Use this for:
- Company-specific product catalogs
- B2B procurement lists
FavoriteListsCreateInput.companySource
● SourceInput
input
External system source identifier for the company that owns this favorite list.
Use this when referencing a company from an external system that is not directly managed in the internal system. Cannot be used together with companyId or other ownership fields (contactId, customerId, contactSource, customerSource). Must contain a valid name and external ID combination.
FavoriteListsCreateInput.contactId
● Int
scalar
The unique identifier of the contact that owns this favorite list.
Cannot be used together with companyId, customerId, or their source equivalents. Only one ownership type is allowed per favorite list. Must reference an existing contact in the system.
FavoriteListsCreateInput.contactSource
● SourceInput
input
External system source identifier for the contact that owns this favorite list.
Use this when referencing a contact from an external system that is not directly managed in the internal system. Cannot be used together with contactId or other ownership fields (companyId, customerId, companySource, customerSource). Must contain a valid name and external ID combination.