openapi: 3.2.0 info: title: Administration Incentive Rules API version: 1.0.0 servers: - url: https://rls.congacloud.com/api/revenue-admin/v1 security: - Bearer: [] tags: - name: Incentive Rules paths: /incentives/{ParentId}/rules: delete: tags: - Incentive Rules summary: Delete incentive rules description: Deletes one or more incentive rules from the collection. parameters: - name: ParentId in: path description: The identifier of the parent incentive required: true schema: type: string requestBody: description: The list of records to delete content: application/json: schema: type: array items: $ref: '#/components/schemas/IncentiveRule' example: - Id: Id of the record to delete text/json: schema: type: array items: $ref: '#/components/schemas/IncentiveRule' application/*+json: schema: type: array items: $ref: '#/components/schemas/IncentiveRule' responses: '200': description: OK get: tags: - Incentive Rules summary: Retrieve incentive rules description: Retrieves a collection of incentive rules based on the parent incentive. parameters: - name: ParentId in: path description: The identifier of the parent incentive 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: - Incentive Rules summary: Update incentive rules description: Updates one or more incentive rules in the collection. Parent reassignment is not allowed. parameters: - name: ParentId in: path description: The identifier of the parent incentive 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: IncentiveRuleName AdjustmentAppliesTo: Base Price AdjustmentChargeType: Adjustment BenefitType: Price Only Criteria: null Description: IncentiveRule Description Dimension1: Id: Dimension1Id Name: DimensionName1 Dimension1ValueType: value Dimension2: null Dimension2ValueType: null Dimension3: null Dimension3ValueType: null Dimension4: null Dimension4ValueType: null Dimension5: null Dimension5ValueType: null Dimension6: null Dimension6ValueType: null EffectiveDate: '2024-09-08' ExpirationDate: '2029-09-08' ForEveryXCriteriaDimension: null ForEveryXCriteriaDimensionType: null ForEveryXCriteriaDimensionValue: null FutureBenefitValidityOffset: null FutureBenefitValidityType: null IsActive: true ProductCriteria: null ProductCriteriaOper: null ProductFamilyCriteria: null ProductFamilyCriteriaOper: null ProductGroupCriteria: null ProductGroupCriteriaOper: null RegionCriteria: null RegionCriteriaOper: null RateType: Single Rate RateTableTierType: null TierMetricType: null TierMetricRollupDuration: No Rollup MetricValueSource: null 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: - Incentive Rules summary: Create incentive rules description: Adds one or more incentive rules to the collection. The parent incentive is automatically filled. parameters: - name: ParentId in: path description: The identifier of the parent incentive required: true schema: type: string requestBody: description: The list of incentive rules to add to the collection content: application/json: schema: type: array items: $ref: '#/components/schemas/IncentiveRule' text/json: schema: type: array items: $ref: '#/components/schemas/IncentiveRule' application/*+json: schema: type: array items: $ref: '#/components/schemas/IncentiveRule' responses: '200': description: OK /incentives/{ParentId}/rules/{Id}: delete: tags: - Incentive Rules summary: Delete an incentive rule description: Deletes a single incentive rule document based on the identifier and parent incentive. parameters: - name: ParentId in: path description: The identifier of the parent incentive required: true schema: type: string - name: Id in: path description: The identifier of the incentive rule required: true schema: type: string responses: '200': description: OK get: tags: - Incentive Rules summary: Retrieve an incentive rule description: Retrieves a single incentive rule document based on the identifier and parent incentive. parameters: - name: ParentId in: path description: The identifier of the parent incentive required: true schema: type: string - name: Id in: path description: The identifier of the incentive rule required: true schema: type: string responses: '200': description: OK '204': description: No Content patch: tags: - Incentive Rules summary: Update an incentive rule description: Updates a single incentive rule document based on the identifier and parent incentive. parameters: - name: ParentId in: path description: The identifier of the parent incentive required: true schema: type: string - name: Id in: path description: The identifier of the incentive rule required: true schema: type: string requestBody: description: The updated state of the incentive rule content: application/json: schema: type: object additionalProperties: {} example: Name: IncentiveRuleName AdjustmentAppliesTo: Base Price AdjustmentChargeType: Adjustment BenefitType: Price Only Criteria: null Description: IncentiveRule Description Dimension1: Id: Dimension1Id Name: DimensionName1 Dimension1ValueType: value Dimension2: null Dimension2ValueType: null Dimension3: null Dimension3ValueType: null Dimension4: null Dimension4ValueType: null Dimension5: null Dimension5ValueType: null Dimension6: null Dimension6ValueType: null EffectiveDate: '2024-09-08' ExpirationDate: '2029-09-08' ForEveryXCriteriaDimension: null ForEveryXCriteriaDimensionType: null ForEveryXCriteriaDimensionValue: null FutureBenefitValidityOffset: null FutureBenefitValidityType: null IsActive: true ProductCriteria: null ProductCriteriaOper: null ProductFamilyCriteria: null ProductFamilyCriteriaOper: null ProductGroupCriteria: null ProductGroupCriteriaOper: null RegionCriteria: null RegionCriteriaOper: null RateType: Single Rate RateTableTierType: null TierMetricType: null TierMetricRollupDuration: No Rollup MetricValueSource: null text/json: schema: type: object additionalProperties: {} application/*+json: schema: type: object additionalProperties: {} responses: '200': description: OK components: schemas: IncentiveRule: 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' AdjustmentAppliesTo: type: - string - 'null' AdjustmentChargeType: type: - string - 'null' BenefitType: type: - string - 'null' Criteria: type: - string - 'null' Description: type: - string - 'null' Dimension1: $ref: '#/components/schemas/LookupObject' Dimension1ValueType: type: - string - 'null' Dimension2: $ref: '#/components/schemas/LookupObject' Dimension2ValueType: type: - string - 'null' Dimension3: $ref: '#/components/schemas/LookupObject' Dimension3ValueType: type: - string - 'null' Dimension4: $ref: '#/components/schemas/LookupObject' Dimension4ValueType: type: - string - 'null' Dimension5: $ref: '#/components/schemas/LookupObject' Dimension5ValueType: type: - string - 'null' Dimension6: $ref: '#/components/schemas/LookupObject' Dimension6ValueType: type: - string - 'null' EffectiveDate: type: - string - 'null' format: date-time ExpirationDate: type: - string - 'null' format: date-time ForEveryXCriteriaDimension: $ref: '#/components/schemas/LookupObject' ForEveryXCriteriaDimensionType: type: - string - 'null' ForEveryXCriteriaDimensionValue: type: - number - 'null' format: double FutureBenefitValidityOffset: type: - number - 'null' format: double FutureBenefitValidityType: type: - string - 'null' IsActive: type: - boolean - 'null' MetricValueSourceAggregator: type: - string - 'null' ProductCriteria: type: - array - 'null' items: type: string ProductCriteriaOper: type: - string - 'null' ProductFamilyCriteria: type: - array - 'null' items: type: string ProductFamilyCriteriaOper: type: - array - 'null' items: type: string ProductGroupCriteria: type: - array - 'null' items: type: string ProductGroupCriteriaOper: type: - string - 'null' RegionCriteria: type: - array - 'null' items: type: string RegionCriteriaOper: type: - string - 'null' RateType: type: - string - 'null' RateTableTierType: type: - string - 'null' TierMetricType: type: - string - 'null' TierMetricRollupDuration: type: - string - 'null' MetricValueSource: type: - string - 'null' Incentive: $ref: '#/components/schemas/LookupObject' additionalProperties: {} example: Name: IncentiveRuleName AdjustmentAppliesTo: Base Price AdjustmentChargeType: Adjustment BenefitType: Price Only Criteria: null Description: IncentiveRule Description Dimension1: Id: Dimension1Id Name: DimensionName1 Dimension1ValueType: value Dimension2: null Dimension2ValueType: null Dimension3: null Dimension3ValueType: null Dimension4: null Dimension4ValueType: null Dimension5: null Dimension5ValueType: null Dimension6: null Dimension6ValueType: null EffectiveDate: '2024-09-08' ExpirationDate: '2029-09-08' ForEveryXCriteriaDimension: null ForEveryXCriteriaDimensionType: null ForEveryXCriteriaDimensionValue: null FutureBenefitValidityOffset: null FutureBenefitValidityType: null IsActive: true ProductCriteria: null ProductCriteriaOper: null ProductFamilyCriteria: null ProductFamilyCriteriaOper: null ProductGroupCriteria: null ProductGroupCriteriaOper: null RegionCriteria: null RegionCriteriaOper: null RateType: Single Rate RateTableTierType: null TierMetricType: null TierMetricRollupDuration: No Rollup MetricValueSource: null 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