openapi: 3.2.0 info: title: Administration Product Option Components API version: 1.0.0 servers: - url: https://rls.congacloud.com/api/revenue-admin/v1 security: - Bearer: [] tags: - name: Product Option Components paths: /product-option-group/{ParentId}/products: delete: tags: - Product Option Components summary: Delete product option components description: Deletes products from a bundle or removes options from an option group associated with the bundle. parameters: - name: ParentId in: path description: The identifier of the parent product option group required: true schema: type: string requestBody: description: The list of records to delete content: application/json: schema: type: array items: $ref: '#/components/schemas/ProductOptionComponent' example: - Id: Id of the record to delete text/json: schema: type: array items: $ref: '#/components/schemas/ProductOptionComponent' application/*+json: schema: type: array items: $ref: '#/components/schemas/ProductOptionComponent' responses: '200': description: OK get: tags: - Product Option Components summary: Retrieve product option components description: Retrieves a list of all option groups and options associated with the bundle product ID provided in parameters. The options associated with the sub-bundle of the given product are not retrieved. parameters: - name: ParentId in: path description: The identifier of the parent product option group required: true schema: type: string - name: filter in: query description: An optional array of filters schema: type: array items: type: string - name: sort in: query description: An optional sort criteria schema: type: string - name: page in: query description: The page number for pagination schema: type: integer format: int32 default: 1 - name: limit in: query description: The maximum number of records per page schema: type: integer format: int32 default: 50 - name: includes in: query description: An optional array of included fields schema: type: array items: type: string - name: field in: query description: Pass Comma separated mulitple fields schema: type: array items: type: string - name: filterExpression in: query description: '' schema: type: string responses: '200': description: OK '204': description: No Content patch: tags: - Product Option Components summary: Update product option components description: Updates one or more product option components. parameters: - name: ParentId in: path description: The identifier of the parent product option group required: true schema: type: string requestBody: description: The list of records to be updated content: application/json: schema: type: array items: type: object additionalProperties: {} example: - Name: Name of the product AllowCloning: true AutoUpdateQuantity: true MaxQuantity: 10 MinQuantity: 1 IsModifiable: true ParentProduct: Id: ParentProduct-Id Name: ParentProduct-Name ComponentProduct: Id: ComponentProduct-Id Name: ComponentProduct-Name Id: Id of the record text/json: schema: type: array items: type: object additionalProperties: {} application/*+json: schema: type: array items: type: object additionalProperties: {} responses: '200': description: OK post: tags: - Product Option Components summary: Create product option components description: Creates one or more standalone products and bundles to a bundle. Also adds options to an option group that is already associated with the bundle. parameters: - name: ParentId in: path description: The identifier of the parent product option group required: true schema: type: string requestBody: description: The list of product option components to add to the collection content: application/json: schema: type: array items: $ref: '#/components/schemas/ProductOptionComponent' text/json: schema: type: array items: $ref: '#/components/schemas/ProductOptionComponent' application/*+json: schema: type: array items: $ref: '#/components/schemas/ProductOptionComponent' responses: '200': description: OK /product-option-group/{ParentId}/products/{Id}: delete: tags: - Product Option Components summary: Delete product option component description: Deletes a single product option component document based on the identifier and parent product option group. parameters: - name: ParentId in: path description: The identifier of the parent product option group required: true schema: type: string - name: Id in: path description: The identifier of the product option component required: true schema: type: string responses: '200': description: OK get: tags: - Product Option Components summary: Retrieve product option component description: Retrieves a single product option component document based on the identifier and parent product option group. parameters: - name: ParentId in: path description: The identifier of the parent product option group required: true schema: type: string - name: Id in: path description: The identifier of the product option component required: true schema: type: string responses: '200': description: OK '204': description: No Content patch: tags: - Product Option Components summary: Update a product option component description: Updates a single product option component document based on the identifier and parent product option group. parameters: - name: ParentId in: path description: The identifier of the parent product option group required: true schema: type: string - name: Id in: path description: The identifier of the product option component required: true schema: type: string requestBody: description: The updated state of the product option component content: application/json: schema: type: object additionalProperties: {} example: Name: Name of the product AllowCloning: true AutoUpdateQuantity: true MaxQuantity: 10 MinQuantity: 1 IsModifiable: true ParentProduct: Id: ParentProduct-Id Name: ParentProduct-Name ComponentProduct: Id: ComponentProduct-Id Name: ComponentProduct-Name text/json: schema: type: object additionalProperties: {} application/*+json: schema: type: object additionalProperties: {} responses: '200': description: OK components: schemas: ProductOptionComponent: type: object properties: Id: type: - string - 'null' Name: type: - string - 'null' CreatedBy: $ref: '#/components/schemas/LookupObject' CreatedDate: type: string format: date-time ModifiedBy: $ref: '#/components/schemas/LookupObject' ModifiedDate: type: string format: date-time ExternalId: type: - string - 'null' ETag: type: - string - 'null' AllowCloning: type: - boolean - 'null' AutoUpdateQuantity: type: - boolean - 'null' ComponentProduct: $ref: '#/components/schemas/LookupObject' ConfigType: type: - string - 'null' IsDefault: type: - boolean - 'null' DefaultQuantity: type: - number - 'null' format: double DefaultQuantityExpression: type: - string - 'null' InclusionCriteria: type: - string - 'null' MaxQuantity: type: - number - 'null' format: double MaxQuantityExpression: type: - string - 'null' MinQuantity: type: - number - 'null' format: double MinQuantityExpression: type: - string - 'null' IsModifiable: type: - boolean - 'null' ParentProduct: $ref: '#/components/schemas/LookupObject' ProductOptionGroup: $ref: '#/components/schemas/LookupObject' RelationshipType: type: - string - 'null' IsRequired: type: - boolean - 'null' Sequence: type: - number - 'null' format: double UniqueKey: type: - string - 'null' additionalProperties: {} example: Name: Name of the product AllowCloning: true AutoUpdateQuantity: true MaxQuantity: 10 MinQuantity: 1 IsModifiable: true ParentProduct: Id: ParentProduct-Id Name: ParentProduct-Name ComponentProduct: Id: ComponentProduct-Id Name: ComponentProduct-Name LookupObject: type: object properties: Id: type: - string - 'null' Name: type: - string - 'null' additionalProperties: false securitySchemes: Bearer: type: apiKey description: Please insert JWT with Bearer into field name: Authorization in: header