openapi: 3.2.0 info: title: Administration Product Option Groups API version: 1.0.0 servers: - url: https://rls.congacloud.com/api/revenue-admin/v1 security: - Bearer: [] tags: - name: ProductOptionGroups paths: /products/{ParentId}/option-groups: delete: tags: - ProductOptionGroups summary: Delete product option groups description: Delete product option groups parameters: - name: ParentId in: path description: '' required: true schema: type: string requestBody: description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ProductOptionGroup' example: - Id: Id of the record to delete text/json: schema: type: array items: $ref: '#/components/schemas/ProductOptionGroup' application/*+json: schema: type: array items: $ref: '#/components/schemas/ProductOptionGroup' responses: '200': description: OK get: tags: - ProductOptionGroups summary: Retrieve product option groups description: Retrieve product option groups parameters: - name: ParentId in: path description: '' required: true schema: type: string - name: filter in: query description: '' schema: type: array items: type: string - name: sort in: query description: '' schema: type: string - name: page in: query description: '' schema: type: integer format: int32 default: 1 - name: limit in: query description: '' schema: type: integer format: int32 default: 50 - name: includes in: query description: '' 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: - ProductOptionGroups summary: Update product option groups description: Update product option groups parameters: - name: ParentId in: path description: '' required: true schema: type: string requestBody: description: '' content: application/json: schema: type: array items: type: object additionalProperties: {} example: - Name: Name of the record IsGlobal: true IsLeaf: true IsPicklist: true Level: 0 MaxOptions: 1 MaxTotalQuantity: 1 MaxTotalQuantityExpression: Expression in string MinOptions: 0 OptionGroup: Id: OptionGroup-Id Name: OptionGroup-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: - ProductOptionGroups summary: Create product option groups description: Create product option groups parameters: - name: ParentId in: path description: '' required: true schema: type: string requestBody: description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ProductOptionGroup' text/json: schema: type: array items: $ref: '#/components/schemas/ProductOptionGroup' application/*+json: schema: type: array items: $ref: '#/components/schemas/ProductOptionGroup' responses: '200': description: OK /products/{ParentId}/option-groups/{Id}: delete: tags: - ProductOptionGroups summary: Delete a product option group description: Delete a product option group parameters: - name: ParentId in: path description: '' required: true schema: type: string - name: Id in: path description: '' required: true schema: type: string responses: '200': description: OK get: tags: - ProductOptionGroups summary: Retrieve a product option group description: Retrieve a product option group parameters: - name: ParentId in: path description: '' required: true schema: type: string - name: Id in: path description: '' required: true schema: type: string responses: '200': description: OK '204': description: No Content patch: tags: - ProductOptionGroups summary: Update a product option group description: Update a product option group parameters: - name: ParentId in: path description: '' required: true schema: type: string - name: Id in: path description: '' required: true schema: type: string requestBody: description: '' content: application/json: schema: type: object additionalProperties: {} example: Name: Name of the record IsGlobal: true IsLeaf: true IsPicklist: true Level: 0 MaxOptions: 1 MaxTotalQuantity: 1 MaxTotalQuantityExpression: Expression in string MinOptions: 0 OptionGroup: Id: OptionGroup-Id Name: OptionGroup-Name text/json: schema: type: object additionalProperties: {} application/*+json: schema: type: object additionalProperties: {} responses: '200': description: OK /products/{ParentId}/option-groups/{Id}/bulk: post: tags: - ProductOptionGroups summary: Add multiple existing OptionGroups as sub OptionGroups to Product Bundle description: Create product option groups parameters: - name: ParentId in: path description: '' required: true schema: type: string - name: Id in: path description: ProductOptionGroupId required: true schema: type: string requestBody: description: OptionGroups which we want to add under mentioned ProductOptionGroup content: application/json: schema: type: array items: $ref: '#/components/schemas/AddExistingOGUnderPOG' text/json: schema: type: array items: $ref: '#/components/schemas/AddExistingOGUnderPOG' application/*+json: schema: type: array items: $ref: '#/components/schemas/AddExistingOGUnderPOG' responses: '200': description: OK /products/{ParentId}/option-groups/{Id}/components: get: tags: - ProductOptionGroups summary: Fetch ProductOptionComponents description: Fetch ProductOptionComponents parameters: - name: ParentId in: path description: ParentId required: true schema: type: string - name: Id in: path description: Id required: true schema: type: string - name: priceListId in: header description: priceListId schema: type: string - name: page in: query description: page schema: type: integer format: int32 default: 1 - name: limit in: query description: limit schema: type: integer format: int32 default: 500 responses: '200': description: OK components: schemas: AddExistingOGUnderPOG: type: object properties: Sequence: type: - number - 'null' format: double OptionGroup: $ref: '#/components/schemas/LookupObject' additionalProperties: false ProductOptionGroup: 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' IsGlobal: type: - boolean - 'null' ContentType: type: - string - 'null' DetailPage: type: - string - 'null' IsHidden: type: - boolean - 'null' IsLeaf: type: - boolean - 'null' IsModifiable: type: - boolean - 'null' IsPicklist: type: - boolean - 'null' Level: type: - number - 'null' format: double MaxOptions: type: - number - 'null' format: double MaxTotalQuantity: type: - number - 'null' format: double MaxTotalQuantityExpression: type: - string - 'null' MinOptions: type: - number - 'null' format: double MinTotalQuantity: type: - number - 'null' format: double MinTotalQuantityExpression: type: - string - 'null' ModifiableType: type: - string - 'null' OptionGroup: $ref: '#/components/schemas/LookupObject' ParentOptionGroup: $ref: '#/components/schemas/LookupObject' ProductAttributeGroup: $ref: '#/components/schemas/LookupObject' Product: $ref: '#/components/schemas/LookupObject' RootOptionGroup: $ref: '#/components/schemas/LookupObject' RootSequence: type: - number - 'null' format: double Sequence: type: - number - 'null' format: double Type: type: - string - 'null' UniqueKey: type: - string - 'null' additionalProperties: {} example: Name: Name of the record IsGlobal: true IsLeaf: true IsPicklist: true Level: 0 MaxOptions: 1 MaxTotalQuantity: 1 MaxTotalQuantityExpression: Expression in string MinOptions: 0 OptionGroup: Id: OptionGroup-Id Name: OptionGroup-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