openapi: 3.2.0 info: title: Administration Product Groups API version: 1.0.0 servers: - url: https://rls.congacloud.com/api/revenue-admin/v1 security: - Bearer: [] tags: - name: Product Groups paths: /product-groups: delete: tags: - Product Groups summary: Delete product groups description: Deletes one or more product group records. requestBody: description: The list of product groups to delete content: application/json: schema: type: array items: $ref: '#/components/schemas/ProductGroup' example: - Id: Id of the record to delete text/json: schema: type: array items: $ref: '#/components/schemas/ProductGroup' application/*+json: schema: type: array items: $ref: '#/components/schemas/ProductGroup' responses: '200': description: OK get: tags: - Product Groups summary: Retrieve product groups description: Retrieves list of product groups for a given product. parameters: - name: filter in: query description: Optional. The filter criteria schema: type: array items: type: string - name: sort in: query description: Optional. The sort criteria schema: type: string - name: page in: query description: Optional. The page number schema: type: integer format: int32 default: 1 - name: limit in: query description: Optional. The maximum number of records per page schema: type: integer format: int32 default: 50 - name: includes in: query description: Optional. The included related resources 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 Groups summary: Update product groups description: Updates one or more product groups. requestBody: description: The list of product groups with updated data content: application/json: schema: type: array items: type: object additionalProperties: {} example: - Name: Name of the record Description: Description of the record 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 Groups summary: Create product groups description: Creates one or more product groups with details provided in the request body. The API returns the IDs of the newly created product groups and their structure. requestBody: description: The list of product groups to create content: application/json: schema: type: array items: $ref: '#/components/schemas/ProductGroup' text/json: schema: type: array items: $ref: '#/components/schemas/ProductGroup' application/*+json: schema: type: array items: $ref: '#/components/schemas/ProductGroup' responses: '200': description: OK /product-groups/{Id}: delete: tags: - Product Groups summary: Delete a product group description: Deletes the product group where the product group ID matches the ID provided in the parameter. parameters: - name: Id in: path description: The ID of the product group to delete required: true schema: type: string responses: '200': description: OK get: tags: - Product Groups summary: Retrieve a product group description: 'Retrieves the details of a product group based on the product group ID provided in the parameters. The API returns the details of product group object, the fields mentioned in the parameters, and the products associated with the product group.' parameters: - name: Id in: path description: The ID of the product group required: true schema: type: string - name: includes in: query description: Optional. The included related resources schema: type: array items: type: string responses: '200': description: OK '204': description: No Content patch: tags: - Product Groups summary: Update a product group description: Updatesthe product group with details provided in the request parameter. The API returns the ID of the updated product group and its structure. parameters: - name: Id in: path description: The ID of the product group to update required: true schema: type: string requestBody: description: The updated data for the product group content: application/json: schema: type: object additionalProperties: {} example: Name: Name of the record Description: Description of the record text/json: schema: type: object additionalProperties: {} application/*+json: schema: type: object additionalProperties: {} responses: '200': description: OK /product-groups/{id}/attribute-matrices: get: tags: - Product Groups summary: Retrieve attribute matrix records description: Retrieves the attribute matrix records for a product group. parameters: - name: id in: path description: The identifier of the product group required: true schema: type: string responses: '200': description: OK '204': description: No Content /product-groups/{id}/attribute-rules: get: tags: - Product Groups summary: Retrieve attribute rule records description: Retrieves the attribute rule records for a product group. parameters: - name: id in: path description: The identifier of the product group required: true schema: type: string - name: page in: query description: The page number 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 responses: '200': description: OK '204': description: No Content /product-groups/{id}/constraint-rules: get: tags: - Product Groups summary: Retrieve constraint rule records description: Retrieves the constraint rule records for a product group. parameters: - name: id in: path description: The identifier of the product group required: true schema: type: string responses: '200': description: OK '204': description: No Content /product-groups/{id}/products: get: tags: - Product Groups summary: Retrieve products for a specific product group. description: Retrieves product for a specific product group. parameters: - name: id in: path description: The ID of the product group required: true schema: type: string - name: page in: query description: The page number schema: type: integer format: int32 default: 1 - name: limit in: query description: The maximum number of records to retrieve per page schema: type: integer format: int32 default: 50 responses: '200': description: OK /product-groups/{parentId}/product-group-members: delete: tags: - Product Groups summary: Delete product group members description: Deletes one or more product group members from a specified product based on the parameters and request body. parameters: - name: parentId in: path description: The ID of the parent product group required: true schema: type: string requestBody: description: The list of product group members to delete content: application/json: schema: type: array items: $ref: '#/components/schemas/ProductGroupMember' example: - Id: Id of the record to delete text/json: schema: type: array items: $ref: '#/components/schemas/ProductGroupMember' application/*+json: schema: type: array items: $ref: '#/components/schemas/ProductGroupMember' responses: '200': description: OK get: tags: - Product Groups summary: Retrieve a product group members list description: Retrieves a product group member for a product. parameters: - name: parentId in: path description: The ID of the parent product group required: true schema: type: string - name: filter in: query description: The filter conditions schema: type: array items: type: string - name: sort in: query description: The sort expression schema: type: string - name: page in: query description: The page number schema: type: integer format: int32 default: 1 - name: limit in: query description: The maximum number of records to retrieve per page schema: type: integer format: int32 default: 50 - name: includes in: query description: The related entities to include 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 Groups summary: Update product group members description: Updates one or more product group members associated with a specified product based on the field updates provided in the request body. The API returns the updated structure of the product group members. parameters: - name: parentId in: path description: The ID of the parent product group required: true schema: type: string requestBody: description: The list of updated product group members content: application/json: schema: type: array items: type: object additionalProperties: {} example: - Name: Name of the record Product: Id: Product-Id Name: Product-Name Sequence: 1 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 Groups summary: Create product group members description: Creates one or more product group members with product based on the product ID provided in the parameters and a list of product group members provided in the request body. parameters: - name: parentId in: path description: The ID of the parent product group required: true schema: type: string requestBody: description: The list of product group members to create content: application/json: schema: type: array items: $ref: '#/components/schemas/ProductGroupMember' text/json: schema: type: array items: $ref: '#/components/schemas/ProductGroupMember' application/*+json: schema: type: array items: $ref: '#/components/schemas/ProductGroupMember' responses: '201': description: Created /product-groups/{parentId}/product-group-members/{id}: delete: tags: - Product Groups summary: Delete a product group member description: Deletes a product group member from a product. parameters: - name: parentId in: path description: The ID of the parent product group required: true schema: type: string - name: id in: path description: The ID of the product group member to delete required: true schema: type: string responses: '200': description: OK get: tags: - Product Groups summary: Retrieve a product group member description: Retrieve a product group member parameters: - name: parentId in: path description: The ID of the parent product group required: true schema: type: string - name: id in: path description: The ID of the product group member to retrieve required: true schema: type: string responses: '200': description: OK '204': description: No Content patch: tags: - Product Groups summary: Update a product group member description: Updates a product group member for a given product. parameters: - name: parentId in: path description: The ID of the parent product group required: true schema: type: string - name: id in: path description: The ID of the product group member to update required: true schema: type: string requestBody: description: The updated product group member content: application/json: schema: type: object additionalProperties: {} example: Name: Name of the record Product: Id: Product-Id Name: Product-Name Sequence: 1 text/json: schema: type: object additionalProperties: {} application/*+json: schema: type: object additionalProperties: {} responses: '200': description: OK components: schemas: ProductGroupMember: 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' Product: $ref: '#/components/schemas/LookupObject' ProductGroup: $ref: '#/components/schemas/LookupObject' Ratio: type: - number - 'null' format: double Sequence: type: - number - 'null' format: double UniqueKey: type: - string - 'null' additionalProperties: {} example: Name: Name of the record Product: Id: Product-Id Name: Product-Name Sequence: 1 LookupObject: type: object properties: Id: type: - string - 'null' Name: type: - string - 'null' additionalProperties: false ProductGroup: 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' Description: type: - string - 'null' GroupType: type: - string - 'null' additionalProperties: {} example: Name: Name of the record Description: Description of the record securitySchemes: Bearer: type: apiKey description: Please insert JWT with Bearer into field name: Authorization in: header