{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/brevo/main/json-schema/brevo-reward-get-reward-information-response-200-schema.json", "title": "Reward_getRewardInformation_Response_200", "x-generated": "2026-10-12", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/brevo-reward-api-openapi.yml#/components/schemas/Reward_getRewardInformation_Response_200", "type": "object", "properties": { "attributionPerConsumer": { "type": "integer", "description": "Maximum number of times a consumer can be attributed this reward" }, "balanceDefinitionId": { "type": "string", "format": "uuid", "description": "Unique identifier for the balance definition" }, "code": { "type": "string", "description": "Unique code for the reward" }, "codeCount": { "type": "integer", "format": "int64", "description": "Total number of codes generated" }, "codeGeneratorId": { "type": "string", "format": "uuid", "description": "Unique identifier for the code generator" }, "codePoolId": { "type": "string", "format": "uuid", "description": "Unique identifier for the code pool" }, "config": { "type": "string", "description": "Configuration settings for the reward" }, "createdAt": { "type": "string", "format": "date-time", "description": "Timestamp when the reward was created" }, "disabledAt": { "type": "string", "format": "date-time", "description": "Disabled date of the reward" }, "endDate": { "type": "string", "format": "date-time", "description": "End date of the reward validity" }, "expirationDate": { "type": "string", "format": "date-time", "description": "Expiration date of the reward" }, "expirationModifier": { "$ref": "#/$defs/LoyaltyOfferProgramsPidRewardsRidGetResponsesContentApplicationJsonSchemaExpirationModifier", "default": "noModification", "description": "Select startOfPeriod to configure rewards expiry on start of day/week/month/year. Select endOfPeriod to configure reward expiry on end of day/week/month/year, else select noModification" }, "expirationUnit": { "type": "string", "description": "Unit of time for the rewards's availability (e.g., day/week/month/year)." }, "expirationValue": { "type": "integer", "description": "Number of days/weeks/month/year for reward expiry" }, "generator": { "$ref": "#/$defs/LoyaltyOfferProgramsPidRewardsRidGetResponsesContentApplicationJsonSchemaGenerator", "description": "object" }, "id": { "type": "string", "format": "uuid", "description": "Unique identifier for the reward" }, "limits": { "type": "array", "items": { "$ref": "#/$defs/LoyaltyOfferProgramsPidRewardsRidGetResponsesContentApplicationJsonSchemaLimitsItems" }, "description": "Attribution / Redeem Limits for the reward" }, "loyaltyProgramId": { "type": "string", "format": "uuid", "description": "Id of the loyalty program to which the current reward belongs to" }, "meta": { "type": "object", "additionalProperties": { "description": "Any type" }, "description": "Additional data for reward definition" }, "name": { "type": "string", "description": "Name of the reward" }, "products": { "type": "array", "items": { "$ref": "#/$defs/LoyaltyOfferProgramsPidRewardsRidGetResponsesContentApplicationJsonSchemaProductsItems" }, "description": "Selected products for reward definition" }, "publicDescription": { "type": "string", "description": "Public description for the reward" }, "publicImage": { "type": "string", "description": "Public Image for the reward" }, "publicName": { "type": "string", "description": "Public name for the reward" }, "redeemPerConsumer": { "type": "integer", "description": "Defines the redeem limit for the consumer" }, "redeemRules": { "type": "array", "items": { "type": "string" }, "description": "Rules defined to redeem a reward" }, "rewardConfigs": { "$ref": "#/$defs/LoyaltyOfferProgramsPidRewardsRidGetResponsesContentApplicationJsonSchemaRewardConfigs", "description": "object" }, "rule": { "$ref": "#/$defs/LoyaltyOfferProgramsPidRewardsRidGetResponsesContentApplicationJsonSchemaRule", "description": "Rule to define the reward" }, "startDate": { "type": "string", "format": "date-time", "description": "Start date of attribution of the reward" }, "subtractBalanceDefinitionId": { "type": "string", "description": "Id of the selected balance while redeeming / attributing a reward" }, "subtractBalanceStrategy": { "type": "string", "description": "Strategy of the Balance while redeeming / attributing a reward" }, "subtractBalanceValue": { "type": "integer", "description": "Amount of balance to be selected while redeeming / attributing a reward" }, "subtractTotalBalance": { "type": "boolean", "description": "Value to indicate to subtract full balance or not" }, "totalAttribution": { "type": "integer", "description": "Defines the limit to which a consumer can attribute a reward" }, "totalRedeem": { "type": "integer", "description": "Defines the limit to which a consumer can redeem a reward" }, "triggerId": { "type": "string", "description": "Id of the Rule to be updated for that reward" }, "unit": { "type": "string", "description": "Selected unit of the balance" }, "updatedAt": { "type": "string", "description": "Timestamp for when this reward was last updated." }, "value": { "type": "number", "format": "double", "description": "Value of metric in selected config for reward definition" }, "valueType": { "type": "string", "description": "Type of config selected for reward definition" } }, "$defs": { "LoyaltyOfferProgramsPidRewardsRidGetResponsesContentApplicationJsonSchemaExpirationModifier": { "type": "string", "enum": [ "startOfPeriod", "endOfPeriod", "noModification" ], "default": "noModification", "description": "Select startOfPeriod to configure rewards expiry on start of day/week/month/year. Select endOfPeriod to configure reward expiry on end of day/week/month/year, else select noModification", "title": "LoyaltyOfferProgramsPidRewardsRidGetResponsesContentApplicationJsonSchemaExpirationModifier" }, "LoyaltyOfferProgramsPidRewardsRidGetResponsesContentApplicationJsonSchemaGenerator": { "type": "object", "properties": { "createdAt": { "type": "string", "description": "Timestamp when the reward was created" }, "description": { "type": "string", "description": "Public facing description of the reward" }, "id": { "type": "string", "format": "uuid", "description": "Unique identifier for the reward" }, "name": { "type": "string", "description": "Name of the reward" }, "pattern": { "type": "string", "description": "Generated pattern" }, "updatedAt": { "type": "string", "format": "date-time", "description": "Timestamp when the reward was created" } }, "description": "object", "title": "LoyaltyOfferProgramsPidRewardsRidGetResponsesContentApplicationJsonSchemaGenerator" }, "LoyaltyOfferProgramsPidRewardsRidGetResponsesContentApplicationJsonSchemaLimitsItems": { "type": "object", "properties": { "createdAt": { "type": "string", "format": "date-time", "description": "Timestamp when the reward limit was created" }, "durationUnit": { "type": "string", "description": "Unit of time for the reward limit's availability (e.g., day/week/month/year)." }, "durationValue": { "type": "integer", "description": "Number of days/weeks/month/year for reward limit" }, "limitValue": { "type": "integer", "description": "Value of the limit" }, "rewardLimitId": { "type": "string", "description": "Unique identifier for the reward limit" }, "slidingSchedule": { "type": "boolean", "description": "Select true to calculate all redeems/attributions from the previous value of selected durationUnit to the current time" }, "type": { "type": "string", "description": "Type of reward" }, "updatedAt": { "type": "string", "format": "date-time", "description": "Timestamp when the reward limit was created" } }, "title": "LoyaltyOfferProgramsPidRewardsRidGetResponsesContentApplicationJsonSchemaLimitsItems" }, "LoyaltyOfferProgramsPidRewardsRidGetResponsesContentApplicationJsonSchemaProductsItems": { "type": "object", "properties": { "createdAt": { "type": "string", "description": "Timestamp when the product was created" }, "imageRef": { "type": "string", "description": "URL of the product image" }, "productId": { "type": "string", "description": "Unique identifier for the product" }, "value": { "type": "string", "description": "string" } }, "title": "LoyaltyOfferProgramsPidRewardsRidGetResponsesContentApplicationJsonSchemaProductsItems" }, "LoyaltyOfferProgramsPidRewardsRidGetResponsesContentApplicationJsonSchemaRewardConfigs": { "type": "object", "properties": { "attribution": { "type": "string", "description": "Attribution config of the reward" }, "code": { "type": "string", "description": "Code config of the reward" }, "value": { "type": "string", "description": "Value config of the reward" } }, "description": "object", "title": "LoyaltyOfferProgramsPidRewardsRidGetResponsesContentApplicationJsonSchemaRewardConfigs" }, "LoyaltyOfferProgramsPidRewardsRidGetResponsesContentApplicationJsonSchemaRule": { "type": "object", "properties": { "condition": { "$ref": "#/$defs/ruleConditionResponse", "description": "Selected rule condition" }, "createdAt": { "type": "string", "description": "Timestamp when the rule was created" }, "description": { "type": "string", "description": "Description of the rule" }, "event": { "$ref": "#/$defs/LoyaltyOfferProgramsPidRewardsRidGetResponsesContentApplicationJsonSchemaRuleEvent", "description": "Selected event in the rule" }, "isInternal": { "type": "boolean", "description": "Metric to identify if it's an internal rule or not" }, "loyaltyProgramId": { "type": "string", "description": "Loyalty Program id to which current rule is associated" }, "loyaltyVersionId": { "type": "integer", "description": "Loyalty Version id to which current rule is associated" }, "meta": { "type": "object", "additionalProperties": { "description": "Any type" }, "description": "Additional data to define the rule" }, "name": { "type": "string", "description": "Rule name" }, "results": { "type": "array", "items": { "$ref": "#/$defs/LoyaltyOfferProgramsPidRewardsRidGetResponsesContentApplicationJsonSchemaRuleResultsItems" }, "description": "Results of the rule definition" }, "ruleId": { "type": "string", "description": "Unique identifier for the rule" }, "ruleType": { "type": "string", "description": "Type of the rule" }, "updatedAt": { "type": "string", "description": "Timestamp when the rule was updated" } }, "description": "Rule to define the reward", "title": "LoyaltyOfferProgramsPidRewardsRidGetResponsesContentApplicationJsonSchemaRule" }, "LoyaltyOfferProgramsPidRewardsRidGetResponsesContentApplicationJsonSchemaRuleEvent": { "type": "object", "properties": { "name": { "type": "string", "description": "Name of the event" }, "source": { "type": "string", "description": "Source of the event" } }, "description": "Selected event in the rule", "title": "LoyaltyOfferProgramsPidRewardsRidGetResponsesContentApplicationJsonSchemaRuleEvent" }, "LoyaltyOfferProgramsPidRewardsRidGetResponsesContentApplicationJsonSchemaRuleResultsItems": { "type": "object", "properties": { "action": { "type": "string", "description": "Action for the defined rule" }, "parameters": { "type": "array", "items": { "$ref": "#/$defs/LoyaltyOfferProgramsPidRewardsRidGetResponsesContentApplicationJsonSchemaRuleResultsItemsParametersItems" }, "description": "Parameters to define the reward" }, "service": { "type": "string", "description": "Selected service to define the reward" } }, "title": "LoyaltyOfferProgramsPidRewardsRidGetResponsesContentApplicationJsonSchemaRuleResultsItems" }, "LoyaltyOfferProgramsPidRewardsRidGetResponsesContentApplicationJsonSchemaRuleResultsItemsParametersItems": { "type": "object", "properties": { "name": { "type": "string", "description": "Name of the rule" }, "value": { "$ref": "#/$defs/valueResponse", "description": "Selected value of the parameter to define the rule" } }, "title": "LoyaltyOfferProgramsPidRewardsRidGetResponsesContentApplicationJsonSchemaRuleResultsItemsParametersItems" }, "nodeResponse": { "type": "object", "properties": { "args": { "type": "array", "items": { "$ref": "#/$defs/nodeResponse" }, "description": "array[object]" }, "array": { "type": "array", "items": { "$ref": "#/$defs/nodeResponse" }, "description": "Array values for rule definition" }, "boolean": { "type": "boolean", "description": "Boolean values for rule definition" }, "description": { "type": "string", "description": "Description for rule definition" }, "float": { "type": "number", "format": "double", "description": "Float values for rule definition" }, "int": { "type": "integer", "format": "int64", "description": "int64" }, "op": { "type": "string", "description": "Operator selected for rule definition" }, "string": { "type": "string", "description": "Boolean values for rule definition" } }, "title": "nodeResponse" }, "ruleConditionResponse": { "type": "object", "properties": { "and": { "type": "array", "items": { "$ref": "#/$defs/ruleConditionResponse" }, "description": "Metric to indicate AND between rules" }, "lhs": { "$ref": "#/$defs/valueResponse", "description": "Condition of the rule" }, "op": { "type": "string", "description": "Selected operator for the rule" }, "or": { "type": "array", "items": { "$ref": "#/$defs/ruleConditionResponse" }, "description": "Metric to indicate OR between rules" }, "rhs": { "$ref": "#/$defs/valueResponse", "description": "Action of the rule" } }, "title": "ruleConditionResponse" }, "valueResponse": { "type": "object", "properties": { "array": { "type": "array", "items": { "$ref": "#/$defs/valueResponse" }, "description": "Array values to define the rule" }, "boolean": { "type": "boolean", "description": "Boolean values for rule definition" }, "contactProperty": { "type": "string", "description": "string" }, "date": { "type": "string", "description": "Selected date for rule definition" }, "eventProperty": { "type": "string", "description": "Selected event property for rule definition" }, "expression": { "$ref": "#/$defs/nodeResponse", "description": "Created expression for rule definition" }, "number": { "type": "number", "format": "double", "description": "Boolean values for rule definition" }, "string": { "type": "string", "description": "String values for rule definition" } }, "title": "valueResponse" } } }