{"openapi":"3.1.0","info":{"title":"Loyalty","version":"1.0.0"},"paths":{"/loyalty/config/programs":{"get":{"operationId":"getLPList","summary":"Get loyalty program list","description":"Returns list of loyalty programs","tags":["program"],"parameters":[{"name":"limit","in":"query","description":"Number of documents per page","required":false,"schema":{"type":"integer"}},{"name":"offset","in":"query","description":"Index of the first document in the page","required":false,"schema":{"type":"integer"}},{"name":"sort_field","in":"query","description":"Sort documents by field","required":false,"schema":{"$ref":"#/components/schemas/LoyaltyConfigProgramsGetParametersSortField"}},{"name":"sort","in":"query","description":"Sort order","required":false,"schema":{"$ref":"#/components/schemas/LoyaltyConfigProgramsGetParametersSort"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Loyalty Program page","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Program_getLPList_Response_200"}}}},"400":{"description":"Invalid `sort_field` parameter value.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"401":{"description":"Request Authentication Failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"404":{"description":"Loyalty program not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}}},"post":{"operationId":"createNewLP","summary":"Create loyalty program","description":"Creates loyalty program","tags":["program"],"parameters":[{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully created loyalty program.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/loyaltyProgram"}}}},"401":{"description":"Request Authentication Failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"409":{"description":"Loyalty program name already exists.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}},"requestBody":{"description":"Payload for creating a new loyalty program.","content":{"application/json":{"schema":{"type":"object","properties":{"description":{"type":"string","description":"Optional description of the loyalty program (max 256 chars)."},"documentId":{"type":"string","description":"Optional unique document ID."},"meta":{"type":"object","additionalProperties":{"description":"Any type"},"description":"Optional metadata related to the loyalty program."},"name":{"type":"string","description":"Required name of the loyalty program (max 128 chars)."}},"required":["name"]}}}}}},"/loyalty/config/programs/{pid}":{"get":{"operationId":"getLoyaltyProgramInfo","summary":"Get loyalty program Info","description":"Returns loyalty program","tags":["program"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program ID. A unique identifier for the loyalty program.","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved loyalty program.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/loyaltyProgram"}}}},"401":{"description":"Request Authentication Failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"404":{"description":"Loyalty program not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}}},"put":{"operationId":"updateLoyaltyProgram","summary":"Update loyalty program","description":"Updates loyalty program","tags":["program"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program ID. A unique identifier for the loyalty program.","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully updated loyalty program.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/loyaltyProgram"}}}},"401":{"description":"Request Authentication Failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"404":{"description":"Loyalty program not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"409":{"description":"Loyalty program name already exists.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}},"requestBody":{"description":"Update Loyalty Program Payload","content":{"application/json":{"schema":{"type":"object","properties":{"description":{"type":"string","description":"Loyalty Program description"},"meta":{"$ref":"#/components/schemas/LoyaltyConfigProgramsPidPutRequestBodyContentApplicationJsonSchemaMeta","description":"Loyalty Program meta data"},"name":{"type":"string","description":"Loyalty Program name"}},"required":["name"]}}}}},"patch":{"operationId":"partiallyUpdateLoyaltyProgram","summary":"Partially update loyalty program","description":"Partially updates loyalty program","tags":["program"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program ID. A unique identifier for the loyalty program.","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully updated loyalty program.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/loyaltyProgram"}}}},"401":{"description":"Request Authentication Failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"404":{"description":"Loyalty program not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"409":{"description":"Loyalty program name already exists.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}},"requestBody":{"description":"Loyalty Program Payload","content":{"application/json":{"schema":{"type":"object","properties":{"description":{"type":"string","description":"Loyalty Program description"},"meta":{"$ref":"#/components/schemas/LoyaltyConfigProgramsPidPatchRequestBodyContentApplicationJsonSchemaMeta","description":"Loyalty Program meta data"},"name":{"type":"string","description":"Loyalty Program name"}}}}}}},"delete":{"operationId":"deleteLoyaltyProgram","summary":"Delete Loyalty Program","description":"Deletes Loyalty Program","tags":["program"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program ID. A unique identifier for the loyalty program.","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Successfully deleted loyalty program.","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"401":{"description":"Request Authentication Failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"404":{"description":"Loyalty program not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}}}},"/loyalty/config/programs/{pid}/publish":{"post":{"operationId":"publishLoyaltyProgram","summary":"Publish loyalty program","description":"Publishes loyalty program","tags":["program"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program ID. A unique identifier for the loyalty program.","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully published loyalty program.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Program_publishLoyaltyProgram_Response_200"}}}},"401":{"description":"Request Authentication Failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"404":{"description":"Loyalty program not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}}}},"/loyalty/config/programs/{pid}/subscriptions":{"post":{"operationId":"subscribeToLoyaltyProgram","summary":"Create subscription","description":"Subscribes to a loyalty program","tags":["program"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program ID. A unique identifier for the loyalty program.","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully created subscription.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Program_subscribeToLoyaltyProgram_Response_200"}}}},"400":{"description":"Loyalty subscription ID is already assigned to a contact.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"401":{"description":"Request Authentication Failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"404":{"description":"Invalid contact ID.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}},"requestBody":{"description":"Create Subscription Payload","content":{"application/json":{"schema":{"type":"object","properties":{"contactId":{"type":"integer","format":"int64","description":"Required contact ID; must be greater than 0."},"loyaltySubscriptionId":{"type":"string","description":"Optional subscription ID (max length 64)."},"creationDate":{"type":"string","format":"date-time","description":"Optional creation date in ISO 8601 format (YYYY-MM-DDThh:mm:ss.ffffff+HH:MM). Must be in the past."},"meta":{"type":"object","additionalProperties":{"description":"Any type"},"description":"Optional metadata associated with the subscription."}},"required":["contactId"]}}}}}},"/loyalty/config/programs/{pid}/subscription-members":{"post":{"operationId":"subscribeMemberToASubscription","summary":"Create subscription member","description":"Add member to a subscription","tags":["program"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program ID. A unique identifier for the loyalty program.","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully added subscription member.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Program_subscribeMemberToASubscription_Response_200"}}}},"401":{"description":"Request Authentication Failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"404":{"description":"Cannot validate loyalty program and organization ID.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"409":{"description":"Owner contact cannot be added as a member.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}},"requestBody":{"description":"Payload for adding a subscription member.","content":{"application/json":{"schema":{"type":"object","properties":{"contactId":{"type":"integer","description":"Required if LoyaltySubscriptionId is not provided, must be greater than 0"},"loyaltySubscriptionId":{"type":"string","description":"Required if ContactId is not provided, max length 64"},"memberContactIds":{"type":"array","items":{"type":"integer"},"description":"Required, each item must be greater than or equal to 1"}},"required":["memberContactIds"]}}}}},"delete":{"operationId":"deleteContactMembers","summary":"Delete subscription member","description":"Deletes member from a subscription","tags":["program"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program ID. A unique identifier for the loyalty program.","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"memberContactIds","in":"query","description":"Comma-separated list of member contact IDs to delete from the subscription.","required":true,"schema":{"type":"string"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Successfully deleted subscription member.","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"400":{"description":"Missing `memberContactIds` parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"401":{"description":"Request Authentication Failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"404":{"description":"Contact subscription not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}}}},"/loyalty/config/programs/{pid}/contact/{cid}":{"delete":{"operationId":"deleteContactSubscription","summary":"Delete subscription","description":"Delete subscription for a contact","tags":["program"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program ID. A unique identifier for the loyalty program.","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"cid","in":"path","description":"Contact ID.","required":true,"schema":{"type":"integer"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Successfully deleted subscription.","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"400":{"description":"Invalid loyalty program or contact ID.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"401":{"description":"Request Authentication Failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"404":{"description":"Subscription not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Cannot delete subscription.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}}}},"/loyalty/config/programs/{pid}/account-info":{"get":{"operationId":"getParameterSubscriptionInfo","summary":"Get Subscription Data","description":"Get Information of balances, tiers, rewards and subscription members for a subscription","tags":["program"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program ID. A unique identifier for the loyalty program.","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"contactId","in":"query","description":"The contact ID to filter by.","required":false,"schema":{"type":"string"}},{"name":"params","in":"query","description":"A list of filter parameters for querying the subscription info.","required":false,"schema":{"type":"string"}},{"name":"loyaltySubscriptionId","in":"query","description":"The loyalty subscription ID to filter by.","required":false,"schema":{"type":"string"}},{"name":"includeInternal","in":"query","description":"Include balances tied to internal definitions.","required":false,"schema":{"type":"boolean"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved subscription info.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Program_getParameterSubscriptionInfo_Response_200"}}}},"400":{"description":"Either `contactId` or `loyaltySubscriptionId` is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"401":{"description":"Request Authentication Failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}}}},"/loyalty/offer/programs/{pid}/code-pools/{cpid}/codes-count":{"get":{"operationId":"getCodeCount","summary":"Get code count","description":"Get code count","tags":["reward"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program ID","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"cpid","in":"path","description":"Code Pool ID","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Code count successfully fetched","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Reward_getCodeCount_Response_200"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"401":{"description":"Request Authentication Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}}}},"/loyalty/offer/programs/{pid}/vouchers":{"get":{"operationId":"getVoucherForAContact","summary":"Get voucher for a contact","description":"Get voucher for a contact","tags":["reward"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program ID","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"limit","in":"query","description":"Page size","required":false,"schema":{"type":"integer","default":25}},{"name":"offset","in":"query","description":"Pagination offset","required":false,"schema":{"type":"integer","default":0}},{"name":"sort","in":"query","description":"Sort order","required":false,"schema":{"$ref":"#/components/schemas/LoyaltyOfferProgramsPidVouchersGetParametersSort","default":"desc"}},{"name":"sortField","in":"query","description":"Sort field","required":false,"schema":{"$ref":"#/components/schemas/LoyaltyOfferProgramsPidVouchersGetParametersSortField","default":"updatedAt"}},{"name":"contactId","in":"query","description":"Contact ID","required":true,"schema":{"type":"integer"}},{"name":"metadata_key_value","in":"query","description":"Metadata value for a Key filter","required":false,"schema":{"type":"string"}},{"name":"rewardId","in":"query","description":"Reward ID","required":false,"schema":{"type":"string"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Voucher list successfully retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Reward_getVoucherForAContact_Response_200"}}}},"401":{"description":"Request Authentication Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}}}},"/loyalty/offer/programs/{pid}/offers":{"get":{"operationId":"getRewardPageApi","summary":"Get Reward Page API","description":"Returns a reward page","tags":["reward"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program ID","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"limit","in":"query","description":"Page size","required":false,"schema":{"type":"integer","default":25}},{"name":"offset","in":"query","description":"Pagination offset","required":false,"schema":{"type":"integer","default":0}},{"name":"state","in":"query","description":"State of the reward","required":false,"schema":{"type":"string","default":"all"}},{"name":"version","in":"query","description":"Version","required":false,"schema":{"$ref":"#/components/schemas/LoyaltyOfferProgramsPidOffersGetParametersVersion","default":"draft"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Reward list successfully retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Reward_getRewardPageApi_Response_200"}}}},"401":{"description":"Request Authentication Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"424":{"description":"Failed Dependency","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}}},"post":{"operationId":"createReward","summary":"Create a reward","description":"Creates a new reward in the loyalty program.","tags":["reward"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program ID","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Reward successfully created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Reward_createReward_Response_200"}}}},"401":{"description":"Request Authentication Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Internal name of the reward"},"publicDescription":{"type":"string","description":"Public facing description of the reward"},"publicImage":{"type":"string","format":"uri","description":"URL of the public image for the reward"},"publicName":{"type":"string","description":"Public facing name of the reward"}},"required":["name"]}}}}}},"/loyalty/offer/programs/{pid}/rewards/{rid}":{"get":{"operationId":"getRewardInformation","summary":"Get reward information","description":"Returns reward information.","tags":["reward"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program ID","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"rid","in":"path","description":"Reward ID","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"version","in":"query","description":"Version","required":false,"schema":{"$ref":"#/components/schemas/LoyaltyOfferProgramsPidRewardsRidGetParametersVersion","default":"draft"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful retrieval of reward data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Reward_getRewardInformation_Response_200"}}}},"401":{"description":"Request Authentication Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"424":{"description":"Failed Dependency","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}}}},"/loyalty/offer/programs/{pid}/rewards/attribute":{"post":{"operationId":"createVoucher","summary":"Create a voucher","description":"Create a voucher and attribute it to a specific membership.","tags":["reward"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program ID","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Voucher successfully created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Reward_createVoucher_Response_200"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"string"}}}},"401":{"description":"Request Authentication Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"Code generated to attribute reward to a contact"},"contactId":{"type":"integer","format":"int64","description":"Contact to attribute the reward"},"expirationDate":{"type":"string","description":"Reward expiration date"},"loyaltySubscriptionId":{"type":"string","description":"One of contactId or loyaltySubscriptionId is required"},"meta":{"type":"object","additionalProperties":{"description":"Any type"},"description":"Offer meta information (key/value object)"},"rewardId":{"type":"string","format":"uuid","description":"Reward id"},"value":{"type":"number","format":"double","description":"Value of the selected reward config"},"validFrom":{"type":"string","description":"Date from which the voucher becomes valid. Accepts RFC 3339 or DD/MM/YYYY HH:MM AM/PM format. Converted to UTC using the organization's timezone."}},"required":["rewardId"]}}}}}},"/loyalty/offer/programs/{pid}/rewards/redeem":{"post":{"operationId":"redeemVoucher","summary":"Create redeem voucher request","description":"Creates a request to redeem a voucher.","tags":["reward"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program ID","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Redeem request successfully created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/redeem"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"401":{"description":"Request Authentication Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"412":{"description":"Precondition Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"417":{"description":"Expectation Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"attributedRewardId":{"type":"string","format":"uuid","description":"Unique identifier for the attributed reward"},"code":{"type":"string","description":"Redemption code for the reward"},"contactId":{"type":"integer","format":"int64","description":"Unique identifier for the contact"},"loyaltySubscriptionId":{"type":"string","description":"Identifier for the loyalty subscription"},"meta":{"type":"object","additionalProperties":{"description":"Any type"},"description":"Additional metadata associated with the redeem request"},"order":{"$ref":"#/components/schemas/LoyaltyOfferProgramsPidRewardsRedeemPostRequestBodyContentApplicationJsonSchemaOrder","description":"Order details for the redemption"},"rewardId":{"type":"string","format":"uuid","description":"Unique identifier for the reward"},"ttl":{"type":"integer","description":"Time to live in seconds for the redemption request"},"autoComplete":{"type":"boolean","description":"Whether the redemption should be automatically completed"}}}}}}}},"/loyalty/offer/programs/{pid}/rewards/redeem/{tid}/complete":{"post":{"operationId":"completeRedeemTransaction","summary":"Complete redeem voucher request","description":"Completes voucher redeem request.","tags":["reward"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program ID","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"tid","in":"path","description":"Redeem transaction ID","required":true,"schema":{"type":"string"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Voucher Redeem completed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/redeem"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"401":{"description":"Request Authentication Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"412":{"description":"Precondition Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"417":{"description":"Expectation Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}}}},"/loyalty/offer/programs/{pid}/rewards/revoke":{"delete":{"operationId":"revokeVouchers","summary":"Revoke vouchers","description":"Revoke attributed vouchers.","tags":["reward"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program ID","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"attributedRewardIds","in":"query","description":"Reward Attribution IDs (comma seperated)","required":false,"schema":{"type":"string"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Successful revocation of voucher","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}}}},"/loyalty/offer/programs/{pid}/rewards/validate":{"post":{"operationId":"validateReward","summary":"Validate a reward","description":"Validates a reward.","tags":["reward"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program ID","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Reward successfully validated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Reward_validateReward_Response_200"}}}},"401":{"description":"Request Authentication Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"424":{"description":"Failed Dependency","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"attributedRewardId":{"type":"string","format":"uuid","description":"Unique identifier for the attributed reward"},"code":{"type":"string","description":"Validation code for the reward"},"contactId":{"type":"integer","format":"int64","description":"Unique identifier for the contact"},"loyaltySubscriptionId":{"type":"string","description":"Identifier for the loyalty subscription"},"pointOfSellId":{"type":"string","description":"Identifier for the point of sale"},"rewardId":{"type":"string","format":"uuid","description":"Unique identifier for the reward"}}}}}}}},"/loyalty/balance/programs/{pid}/balance-definitions":{"get":{"operationId":"getBalanceDefinitionList","summary":"Get balance definition list","description":"Returns balance definition page","tags":["balance"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program Id","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"limit","in":"query","description":"Limit the number of records returned","required":false,"schema":{"type":"integer","default":200}},{"name":"offset","in":"query","description":"Offset to paginate records","required":false,"schema":{"type":"integer","default":0}},{"name":"sortField","in":"query","description":"Field to sort by","required":false,"schema":{"$ref":"#/components/schemas/LoyaltyBalanceProgramsPidBalanceDefinitionsGetParametersSortField","default":"updated_at"}},{"name":"sort","in":"query","description":"Sort direction","required":false,"schema":{"$ref":"#/components/schemas/LoyaltyBalanceProgramsPidBalanceDefinitionsGetParametersSort","default":"desc"}},{"name":"version","in":"query","description":"Version","required":false,"schema":{"$ref":"#/components/schemas/LoyaltyBalanceProgramsPidBalanceDefinitionsGetParametersVersion","default":"draft"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful retrieval of balance definition page","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Balance_getBalanceDefinitionList_Response_200"}}}},"401":{"description":"Request Authentication Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}}},"post":{"operationId":"createBalanceDefinition","summary":"Create balance definition","description":"Creates balance definition and returns information","tags":["balance"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program Id","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful creation of balance definition","content":{"application/json":{"schema":{"$ref":"#/components/schemas/balanceDefinition"}}}},"401":{"description":"Request Authentication Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"404":{"description":"No content","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}},"requestBody":{"description":"Create Balance Definition Payload","content":{"application/json":{"schema":{"type":"object","properties":{"balanceAvailabilityDurationModifier":{"$ref":"#/components/schemas/LoyaltyBalanceProgramsPidBalanceDefinitionsPostRequestBodyContentApplicationJsonSchemaBalanceAvailabilityDurationModifier","description":"Defines when the balance expires within the selected duration."},"balanceAvailabilityDurationUnit":{"$ref":"#/components/schemas/LoyaltyBalanceProgramsPidBalanceDefinitionsPostRequestBodyContentApplicationJsonSchemaBalanceAvailabilityDurationUnit","description":"Unit of time for balance validity."},"balanceAvailabilityDurationValue":{"type":"integer","description":"Number of time units before the balance expires."},"balanceExpirationDate":{"type":"string","format":"date","description":"Fixed expiration date (`dd/mm` format) as an alternative to duration-based expiry."},"balanceOptionAmountOvertakingStrategy":{"$ref":"#/components/schemas/LoyaltyBalanceProgramsPidBalanceDefinitionsPostRequestBodyContentApplicationJsonSchemaBalanceOptionAmountOvertakingStrategy","description":"Defines whether partial credit is allowed when reaching max balance."},"balanceOptionCreditRounding":{"$ref":"#/components/schemas/LoyaltyBalanceProgramsPidBalanceDefinitionsPostRequestBodyContentApplicationJsonSchemaBalanceOptionCreditRounding","description":"Defines rounding strategy for credit transactions."},"balanceOptionDebitRounding":{"$ref":"#/components/schemas/LoyaltyBalanceProgramsPidBalanceDefinitionsPostRequestBodyContentApplicationJsonSchemaBalanceOptionDebitRounding","description":"Defines rounding strategy for debit transactions."},"description":{"type":"string","description":"Short description of the balance definition."},"imageRef":{"type":"string","description":"URL of an optional image reference."},"maxAmount":{"type":"number","format":"double","description":"Maximum allowable balance amount."},"maxCreditAmountLimit":{"type":"number","format":"double","description":"Maximum credit allowed per operation."},"maxDebitAmountLimit":{"type":"number","format":"double","description":"Maximum debit allowed per operation."},"meta":{"$ref":"#/components/schemas/LoyaltyBalanceProgramsPidBalanceDefinitionsPostRequestBodyContentApplicationJsonSchemaMeta","description":"Additional metadata for the balance definition."},"minAmount":{"type":"number","format":"double","description":"Minimum allowable balance amount."},"name":{"type":"string","description":"Name of the balance definition."},"unit":{"$ref":"#/components/schemas/LoyaltyBalanceProgramsPidBalanceDefinitionsPostRequestBodyContentApplicationJsonSchemaUnit","description":"Unit of balance measurement."}},"required":["name","unit"]}}}}}},"/loyalty/balance/programs/{pid}/balance-definitions/{bdid}":{"get":{"operationId":"getBalanceDefinition","summary":"Get balance definition","description":"Returns balance definition","tags":["balance"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program Id","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"bdid","in":"path","description":"Balance Definition Id","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"version","in":"query","description":"Version","required":false,"schema":{"$ref":"#/components/schemas/LoyaltyBalanceProgramsPidBalanceDefinitionsBdidGetParametersVersion","default":"draft"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful retrieval of balance definition","content":{"application/json":{"schema":{"$ref":"#/components/schemas/balanceDefinition"}}}},"401":{"description":"Request Authentication Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"404":{"description":"not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}}},"put":{"operationId":"updateBalanceDefinition","summary":"Update balance definition","description":"Updates Balance definition","tags":["balance"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program Id","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"bdid","in":"path","description":"Balance Definition Id","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful update of balance definition","content":{"application/json":{"schema":{"$ref":"#/components/schemas/balanceDefinition"}}}},"401":{"description":"Request Authentication Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"404":{"description":"balance definition doesn't exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"424":{"description":"Failed Dependency Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}},"requestBody":{"description":"Create Balance Definition Payload","content":{"application/json":{"schema":{"type":"object","properties":{"balanceAvailabilityDurationModifier":{"$ref":"#/components/schemas/LoyaltyBalanceProgramsPidBalanceDefinitionsBdidPutRequestBodyContentApplicationJsonSchemaBalanceAvailabilityDurationModifier","description":"Defines when the balance expires within the selected duration."},"balanceAvailabilityDurationUnit":{"$ref":"#/components/schemas/LoyaltyBalanceProgramsPidBalanceDefinitionsBdidPutRequestBodyContentApplicationJsonSchemaBalanceAvailabilityDurationUnit","description":"Unit of time for balance validity."},"balanceAvailabilityDurationValue":{"type":"integer","description":"Number of time units before the balance expires."},"balanceExpirationDate":{"type":"string","description":"Expiration date (`dd/mm` format) or empty if not applicable."},"balanceOptionAmountOvertakingStrategy":{"$ref":"#/components/schemas/LoyaltyBalanceProgramsPidBalanceDefinitionsBdidPutRequestBodyContentApplicationJsonSchemaBalanceOptionAmountOvertakingStrategy","description":"Defines whether partial credit is allowed when reaching max balance."},"balanceOptionCreditRounding":{"$ref":"#/components/schemas/LoyaltyBalanceProgramsPidBalanceDefinitionsBdidPutRequestBodyContentApplicationJsonSchemaBalanceOptionCreditRounding","description":"Rounding strategy for credit transactions."},"balanceOptionDebitRounding":{"$ref":"#/components/schemas/LoyaltyBalanceProgramsPidBalanceDefinitionsBdidPutRequestBodyContentApplicationJsonSchemaBalanceOptionDebitRounding","description":"Rounding strategy for debit transactions."},"description":{"type":"string","description":"Short description of the balance definition."},"imageRef":{"type":"string","description":"URL of an optional image reference."},"maxAmount":{"type":"number","format":"double","description":"Maximum allowable balance amount."},"maxCreditAmountLimit":{"type":"number","format":"double","description":"Maximum credit allowed per operation."},"maxDebitAmountLimit":{"type":"number","format":"double","description":"Maximum debit allowed per operation."},"meta":{"$ref":"#/components/schemas/LoyaltyBalanceProgramsPidBalanceDefinitionsBdidPutRequestBodyContentApplicationJsonSchemaMeta","description":"Optional metadata for the balance definition."},"minAmount":{"type":"number","format":"double","description":"Minimum allowable balance amount."},"name":{"type":"string","description":"Name of the balance definition."},"unit":{"$ref":"#/components/schemas/LoyaltyBalanceProgramsPidBalanceDefinitionsBdidPutRequestBodyContentApplicationJsonSchemaUnit","description":"Unit of balance measurement."}},"required":["name","unit"]}}}}},"delete":{"operationId":"deleteBalanceDefinition","summary":"Delete balance definition","description":"Delete Balance definition","tags":["balance"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program Id","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"bdid","in":"path","description":"Balance Definition Id","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Successful deletion of balance definition","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"401":{"description":"Request Authentication Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}}}},"/loyalty/balance/programs/{pid}/balance-definitions/{bdid}/limits":{"post":{"operationId":"createBalanceLimit","summary":"Create balance limits","description":"Creates balance limit and sends the created UUID along with the data","tags":["balance"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program Id","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"bdid","in":"path","description":"Balance Definition Id","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful creation of balance limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/balanceLimit"}}}},"401":{"description":"Request Authentication Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"424":{"description":"Failed Dependency Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}},"requestBody":{"description":"Balance Definition Payload","content":{"application/json":{"schema":{"type":"object","properties":{"constraintType":{"$ref":"#/components/schemas/LoyaltyBalanceProgramsPidBalanceDefinitionsBdidLimitsPostRequestBodyContentApplicationJsonSchemaConstraintType","description":"Defines whether the limit applies to transaction count or amount."},"durationUnit":{"$ref":"#/components/schemas/LoyaltyBalanceProgramsPidBalanceDefinitionsBdidLimitsPostRequestBodyContentApplicationJsonSchemaDurationUnit","description":"Unit of time for which the limit is applicable."},"durationValue":{"type":"integer","description":"Number of time units for the balance limit."},"slidingSchedule":{"type":"boolean","description":"Determines if the limit resets on a rolling schedule."},"transactionType":{"$ref":"#/components/schemas/LoyaltyBalanceProgramsPidBalanceDefinitionsBdidLimitsPostRequestBodyContentApplicationJsonSchemaTransactionType","description":"Specifies whether the limit applies to credit or debit transactions."},"value":{"type":"integer","description":"Maximum allowed value for the specified constraint type."}},"required":["constraintType","durationUnit","durationValue","transactionType","value"]}}}}}},"/loyalty/balance/programs/{pid}/balance-definitions/{bdid}/limits/{blid}":{"get":{"operationId":"getBalanceLimit","summary":"Get balance limits","description":"Fetches balance limits and send the created UUID along with the data","tags":["balance"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program Id","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"bdid","in":"path","description":"Balance Definition Id","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"blid","in":"path","description":"Balance Limit Id","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"version","in":"query","description":"Version","required":false,"schema":{"$ref":"#/components/schemas/LoyaltyBalanceProgramsPidBalanceDefinitionsBdidLimitsBlidGetParametersVersion","default":"draft"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful retrieval of balance limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/balanceLimit"}}}},"401":{"description":"Request Authentication Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"404":{"description":"balance limit not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}}},"delete":{"operationId":"deleteBalanceLimit","summary":"Delete balance limit","description":"Delete balance limit","tags":["balance"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program Id","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"bdid","in":"path","description":"Balance Definition Id","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"blid","in":"path","description":"Balance Limit Id","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Successful deletion of balance definition","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"401":{"description":"Request Authentication Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"404":{"description":"not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}}},"put":{"operationId":"updateBalanceLimit","summary":"Updates balance limit","description":"Updates balance limit","tags":["balance"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program Id","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"bdid","in":"path","description":"Balance Definition Id","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"blid","in":"path","description":"Balance Limit Id","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful update of balance limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/balanceLimit"}}}},"401":{"description":"Request Authentication Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"404":{"description":"not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}},"requestBody":{"description":"Balance Limits Payload","content":{"application/json":{"schema":{"type":"object","properties":{"constraintType":{"$ref":"#/components/schemas/LoyaltyBalanceProgramsPidBalanceDefinitionsBdidLimitsBlidPutRequestBodyContentApplicationJsonSchemaConstraintType","description":"Defines whether the limit applies to transaction count or amount."},"durationUnit":{"$ref":"#/components/schemas/LoyaltyBalanceProgramsPidBalanceDefinitionsBdidLimitsBlidPutRequestBodyContentApplicationJsonSchemaDurationUnit","description":"Unit of time for which the limit is applicable."},"durationValue":{"type":"integer","description":"Number of time units for the balance limit."},"slidingSchedule":{"type":"boolean","description":"Determines if the limit resets on a rolling schedule."},"transactionType":{"$ref":"#/components/schemas/LoyaltyBalanceProgramsPidBalanceDefinitionsBdidLimitsBlidPutRequestBodyContentApplicationJsonSchemaTransactionType","description":"Specifies whether the limit applies to credit or debit transactions."},"value":{"type":"integer","description":"Maximum allowed value for the specified constraint type."}},"required":["constraintType","durationUnit","durationValue","transactionType","value"]}}}}}},"/loyalty/balance/programs/{pid}/subscriptions/{cid}/balances":{"get":{"operationId":"getSubscriptionBalances","summary":"Get subscription balances","description":"Returns subscription balances","tags":["balance"],"parameters":[{"name":"cid","in":"path","description":"Contact Id","required":true,"schema":{"type":"string","format":"int"}},{"name":"pid","in":"path","description":"Loyalty Program Id","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"includeInternal","in":"query","description":"Include balances tied to internal definitions.","required":false,"schema":{"type":"boolean"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful retrieval of contact balance","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Balance_getSubscriptionBalances_Response_200"}}}},"401":{"description":"Request Authentication Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"404":{"description":"not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}}},"post":{"operationId":"createSubscriptionBalances","summary":"Create subscription balances","description":"Creates a balance for a contact","tags":["balance"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program Id","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"cid","in":"path","description":"Contact Id","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful creation of balance","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Balance_createSubscriptionBalances_Response_200"}}}},"401":{"description":"Request Authentication Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"404":{"description":"No content","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}},"requestBody":{"description":"Create Balance Payload","content":{"application/json":{"schema":{"type":"object","properties":{"balanceDefinitionId":{"type":"string","description":"Unique identifier (UUID) of the balance definition associated with the new balance."}},"required":["balanceDefinitionId"]}}}}}},"/loyalty/balance/programs/{pid}/contact-balances":{"get":{"operationId":"getContactBalances","summary":"Get balance list","description":"Returns contact balances for a given balance definition across all subscriptions.","tags":["balance"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program Id","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"includeInternal","in":"query","description":"Include balances tied to internal definitions.","required":false,"schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Limit the number of records returned","required":false,"schema":{"type":"integer"}},{"name":"offset","in":"query","description":"Skip a number of records","required":false,"schema":{"type":"integer"}},{"name":"sort","in":"query","description":"Sort order","required":false,"schema":{"$ref":"#/components/schemas/LoyaltyBalanceProgramsPidContactBalancesGetParametersSort"}},{"name":"sortField","in":"query","description":"Field to sort by","required":false,"schema":{"$ref":"#/components/schemas/LoyaltyBalanceProgramsPidContactBalancesGetParametersSortField"}},{"name":"balanceDefinitionId","in":"query","description":"Balance Definition ID (required)","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful retrieval of contact balance","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Balance_getContactBalances_Response_200"}}}},"401":{"description":"Request Authentication Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"404":{"description":"subscription data not found for some contacts","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}}}},"/loyalty/balance/programs/{pid}/transactions":{"post":{"operationId":"beginTransaction","summary":"Create new transaction","description":"Creates new transaction and returns information","tags":["balance"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program Id","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Transaction created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/transaction"}}}},"401":{"description":"Request Authentication Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"404":{"description":"Transaction not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}},"requestBody":{"description":"Transaction Payload","content":{"application/json":{"schema":{"type":"object","properties":{"amount":{"type":"number","format":"double","description":"Transaction amount. A positive value creates a credit transaction and a negative value creates a debit transaction (unless transactionType is explicitly provided)."},"transactionType":{"$ref":"#/components/schemas/LoyaltyBalanceProgramsPidTransactionsPostRequestBodyContentApplicationJsonSchemaTransactionType","description":"Explicit transaction type. If not provided, the type is inferred from the sign of the amount (positive = credit, negative = debit)."},"balanceDefinitionId":{"type":"string","format":"uuid","description":"Unique identifier (UUID) of the associated balance definition."},"contactId":{"type":"integer","format":"int64","description":"Unique identifier of the contact involved in the transaction. Required unless `LoyaltySubscriptionId` is provided."},"LoyaltySubscriptionId":{"type":"string","description":"Unique identifier for the loyalty subscription. Required unless `contactId` is provided."},"meta":{"type":"object","additionalProperties":{"description":"Any type"},"description":"Optional metadata associated with the transaction."},"ttl":{"type":"integer","description":"Time-to-live for the transaction in seconds. Must be at least 10 seconds if provided."},"eventTime":{"type":"string","format":"date-time","description":"Timestamp specifying when the transaction event occurred (ISO 8601 / RFC 3339 format)."},"autoComplete":{"type":"boolean","description":"Whether the transaction should be automatically completed."},"balanceExpiryInMinutes":{"type":"integer","description":"Expiry time for the balance in minutes. Must be greater than 0 if provided. Only applicable when autoComplete is true."}},"required":["amount","balanceDefinitionId"]}}}}}},"/loyalty/balance/programs/{pid}/transactions/{tid}/complete":{"post":{"operationId":"completeTransaction","summary":"Complete transaction","description":"Completes transaction","tags":["balance"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program Id","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"tid","in":"path","description":"Transaction Id","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Transaction information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/transaction"}}}},"401":{"description":"Request Authentication Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"404":{"description":"transaction not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}}}},"/loyalty/balance/programs/{pid}/transactions/{tid}/cancel":{"post":{"operationId":"cancelTransaction","summary":"Cancel transaction","description":"Cancels transaction","tags":["balance"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program Id","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"tid","in":"path","description":"Transaction Id","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Transaction information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/transaction"}}}},"401":{"description":"Request Authentication Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"404":{"description":"transaction not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}}}},"/loyalty/balance/programs/{pid}/create-order":{"post":{"operationId":"createBalanceOrder","summary":"Create balance order","description":"Returns created order","tags":["balance"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program Id","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful creation of order","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Balance_createBalanceOrder_Response_200"}}}},"401":{"description":"Request Authentication Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}},"requestBody":{"description":"Order Payload","content":{"application/json":{"schema":{"type":"object","properties":{"amount":{"type":"number","format":"double","description":"Order amount (must be non-zero)."},"balanceDefinitionId":{"type":"string","description":"Unique identifier (UUID) of the associated balance definition."},"contactId":{"type":"integer","description":"Unique identifier of the contact placing the order (must be ≥ 1)."},"dueAt":{"type":"string","description":"RFC3339 timestamp specifying when the order is due."},"expiresAt":{"type":"string","description":"Optional RFC3339 timestamp defining order expiration."},"meta":{"type":"object","additionalProperties":{"description":"Any type"},"description":"Optional metadata associated with the order."},"source":{"$ref":"#/components/schemas/LoyaltyBalanceProgramsPidCreateOrderPostRequestBodyContentApplicationJsonSchemaSource","description":"Specifies the origin of the order."}},"required":["amount","balanceDefinitionId","contactId","dueAt","source"]}}}}}},"/loyalty/balance/programs/{pid}/active-balance":{"get":{"operationId":"getActiveBalancesApi","summary":"Get Active Balances API","description":"Returns Active Balances","tags":["balance"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program Id","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"limit","in":"query","description":"Limit","required":false,"schema":{"type":"integer"}},{"name":"offset","in":"query","description":"Offset","required":false,"schema":{"type":"integer"}},{"name":"sortField","in":"query","description":"Sort Field","required":false,"schema":{"$ref":"#/components/schemas/LoyaltyBalanceProgramsPidActiveBalanceGetParametersSortField"}},{"name":"sort","in":"query","description":"Sort Order","required":false,"schema":{"$ref":"#/components/schemas/LoyaltyBalanceProgramsPidActiveBalanceGetParametersSort"}},{"name":"contactId","in":"query","description":"Contact ID","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"balanceDefinitionId","in":"query","description":"Balance Definition ID","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"includeInternal","in":"query","description":"Include balances tied to internal definitions.","required":false,"schema":{"type":"boolean"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful retrieval of active balances","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Balance_getActiveBalancesApi_Response_200"}}}},"401":{"description":"Request Authentication Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"404":{"description":"subscription not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}}}},"/loyalty/balance/programs/{pid}/transaction-history":{"get":{"operationId":"getTransactionHistoryApi","summary":"Get Transaction History API","description":"Returns transaction history","tags":["balance"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program Id","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"limit","in":"query","description":"Limit the number of records returned","required":false,"schema":{"type":"integer"}},{"name":"offset","in":"query","description":"Page number to retrieve","required":false,"schema":{"type":"integer"}},{"name":"sortField","in":"query","description":"Field to sort by","required":false,"schema":{"$ref":"#/components/schemas/LoyaltyBalanceProgramsPidTransactionHistoryGetParametersSortField","default":"createdAt"}},{"name":"sort","in":"query","description":"Sort order","required":false,"schema":{"$ref":"#/components/schemas/LoyaltyBalanceProgramsPidTransactionHistoryGetParametersSort"}},{"name":"contactId","in":"query","description":"Contact ID","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"balanceDefinitionId","in":"query","description":"Balance Definition ID","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"status","in":"query","description":"Transaction status filter","required":false,"schema":{"$ref":"#/components/schemas/LoyaltyBalanceProgramsPidTransactionHistoryGetParametersStatus"}},{"name":"transactionType","in":"query","description":"Transaction type filter","required":false,"schema":{"$ref":"#/components/schemas/LoyaltyBalanceProgramsPidTransactionHistoryGetParametersTransactionType"}},{"name":"loyaltySubscriptionId","in":"query","description":"Loyalty Subscription ID filter","required":false,"schema":{"type":"string"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful retrieval of transaction history","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Balance_getTransactionHistoryApi_Response_200"}}}},"401":{"description":"Request Authentication Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"404":{"description":"subscription not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}}}},"/loyalty/tier/programs/{pid}/tier-groups":{"post":{"operationId":"createTierGroup","summary":"Create a tier group","description":"Creates a new tier group in a loyalty program. *(The changes will take effect with the next publication of the loyalty program)*","tags":["tier"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program ID","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Tier group successfully created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tierGroup"}}}},"400":{"description":"Request is malformed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"401":{"description":"Request Authentication Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}},"requestBody":{"description":"Tier group creation payload","content":{"application/json":{"schema":{"type":"object","properties":{"downgradeStrategy":{"$ref":"#/components/schemas/LoyaltyTierProgramsPidTierGroupsPostRequestBodyContentApplicationJsonSchemaDowngradeStrategy","default":"real_time","description":"Select real_time to downgrade tier on real time balance updates. Select membership_anniversary to downgrade tier on subscription anniversary. Select tier_anniversary to downgrade tier on tier anniversary."},"name":{"type":"string","description":"Name of the tier group"},"meta":{"$ref":"#/components/schemas/LoyaltyTierProgramsPidTierGroupsPostRequestBodyContentApplicationJsonSchemaMeta","description":"Additional metadata for the tier group."},"tierOrder":{"type":"array","items":{"type":"string"},"description":"Order of the tiers in the group in ascending order"},"upgradeStrategy":{"$ref":"#/components/schemas/LoyaltyTierProgramsPidTierGroupsPostRequestBodyContentApplicationJsonSchemaUpgradeStrategy","default":"real_time","description":"Select real_time to upgrade tier on real time balance updates. Select membership_anniversary to upgrade tier on subscription anniversary. Select tier_anniversary to upgrade tier on tier anniversary."},"upgradeSchedule":{"$ref":"#/components/schemas/LoyaltyTierProgramsPidTierGroupsPostRequestBodyContentApplicationJsonSchemaUpgradeSchedule","description":"Schedule configuration for tier upgrades. Required when upgradeStrategy is set to a schedule-based strategy."},"downgradeSchedule":{"$ref":"#/components/schemas/LoyaltyTierProgramsPidTierGroupsPostRequestBodyContentApplicationJsonSchemaDowngradeSchedule","description":"Schedule configuration for tier downgrades. Required when downgradeStrategy is set to a schedule-based strategy."}},"required":["name"]}}}}},"get":{"operationId":"getListOfTierGroups","summary":"List tier groups","description":"Returns the list of tier groups defined within the loyalty program.","tags":["tier"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program ID","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"version","in":"query","description":"Select 'active' to retrieve list of all tier groups which are live for clients. Select draft to retrieve list of all non deleted tier groups.","required":false,"schema":{"$ref":"#/components/schemas/LoyaltyTierProgramsPidTierGroupsGetParametersVersion","default":"draft"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Tier group list successfully retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Tier_getListOfTierGroups_Response_200"}}}},"401":{"description":"Request authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}}}},"/loyalty/tier/programs/{pid}/tier-groups/{gid}":{"put":{"operationId":"updateTierGroup","summary":"Update tier group","description":"Updates a tier group from a loyalty program. *(The changes will take effect with the next publication of the loyalty program)*","tags":["tier"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program ID","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"gid","in":"path","description":"Tier group ID","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Tier group successfully updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tierGroup"}}}},"401":{"description":"Request authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}},"requestBody":{"description":"Tier group update payload","content":{"application/json":{"schema":{"type":"object","properties":{"downgradeStrategy":{"$ref":"#/components/schemas/LoyaltyTierProgramsPidTierGroupsGidPutRequestBodyContentApplicationJsonSchemaDowngradeStrategy","description":"Select real_time to downgrade tier on real time balance updates. Select membership_anniversary to downgrade tier on subscription anniversary. Select tier_anniversary to downgrade tier on tier anniversary."},"name":{"type":"string","description":"Name of the tier group"},"meta":{"$ref":"#/components/schemas/LoyaltyTierProgramsPidTierGroupsGidPutRequestBodyContentApplicationJsonSchemaMeta","description":"Additional metadata for the tier group."},"tierOrder":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Order of the tiers in the group in ascending order"},"upgradeStrategy":{"$ref":"#/components/schemas/LoyaltyTierProgramsPidTierGroupsGidPutRequestBodyContentApplicationJsonSchemaUpgradeStrategy","description":"Select real_time to upgrade tier on real time balance updates. Select membership_anniversary to upgrade tier on subscription anniversary. Select tier_anniversary to upgrade tier on tier anniversary."}},"required":["downgradeStrategy","name","tierOrder","upgradeStrategy"]}}}}},"delete":{"operationId":"deleteTierGroup","summary":"Delete tier group","description":"Deletes a tier group from a loyalty program. *(The changes will take effect with the next publication of the loyalty program)*","tags":["tier"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program ID","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"gid","in":"path","description":"Tier group ID","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Tier group successfully deleted","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"401":{"description":"Request Authentication Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}}},"get":{"operationId":"getTierGroup","summary":"Get tier group","description":"Returns tier group information.","tags":["tier"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program ID","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"gid","in":"path","description":"Tier group ID","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"version","in":"query","description":"Select active to retrieve active version of tier group. Select draft to retrieve latest changes in tier group.","required":false,"schema":{"$ref":"#/components/schemas/LoyaltyTierProgramsPidTierGroupsGidGetParametersVersion","default":"draft"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Tier group information successfully retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tierGroup"}}}},"401":{"description":"Request Authentication Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}}}},"/loyalty/tier/programs/{pid}/tiers":{"get":{"operationId":"getLoyaltyProgramTier","summary":"List tiers","description":"Returns the list of tiers defined within the loyalty program.","tags":["tier"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program ID","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"version","in":"query","description":"Select 'active' to retrieve list of all tiers which are live for clients. Select draft to retrieve list of all non deleted tiers.","required":false,"schema":{"$ref":"#/components/schemas/LoyaltyTierProgramsPidTiersGetParametersVersion","default":"draft"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Tier list successfully retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Tier_getLoyaltyProgramTier_Response_200"}}}},"401":{"description":"Request Authentication Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}}}},"/loyalty/tier/programs/{pid}/tier-groups/{gid}/tiers":{"post":{"operationId":"createTierForTierGroup","summary":"Create a tier","description":"Creates a new tier in a loyalty program tier group. *(The changes will take effect with the next publication of the loyalty program)*","tags":["tier"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program ID","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"gid","in":"path","description":"Tier group ID","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Tier successfully created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tier"}}}},"401":{"description":"Request Authentication Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"accessConditions":{"type":"array","items":{"$ref":"#/components/schemas/LoyaltyTierProgramsPidTierGroupsGidTiersPostRequestBodyContentApplicationJsonSchemaAccessConditionsItems"}},"imageRef":{"type":"string","description":"Image of the tier"},"name":{"type":"string","description":"Name of the tier to be created"},"tierRewards":{"type":"array","items":{"$ref":"#/components/schemas/LoyaltyTierProgramsPidTierGroupsGidTiersPostRequestBodyContentApplicationJsonSchemaTierRewardsItems"}}},"required":["accessConditions","name"]}}}}}},"/loyalty/tier/programs/{pid}/tiers/{tid}":{"delete":{"operationId":"deleteTier","summary":"Delete tier","description":"Deletes a tier from a loyalty program tier group. *(The changes will take effect with the next publication of the loyalty program)*","tags":["tier"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program ID","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"tid","in":"path","description":"Tier ID","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Tier successfully deleted","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"401":{"description":"Request Authentication Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}}},"put":{"operationId":"updateTier","summary":"Update tier","description":"Modifies an existing tier for the specified tier group *(The changes will take effect with the next publication of the loyalty program)*","tags":["tier"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program ID","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"tid","in":"path","description":"Tier ID","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Tier successfully updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tier"}}}},"401":{"description":"Request Authentication Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"accessConditions":{"type":"array","items":{"$ref":"#/components/schemas/LoyaltyTierProgramsPidTiersTidPutRequestBodyContentApplicationJsonSchemaAccessConditionsItems"}},"imageRef":{"type":"string","description":"Image of the tier"},"name":{"type":"string","description":"Name of the tier to be created"},"tierRewards":{"type":"array","items":{"$ref":"#/components/schemas/LoyaltyTierProgramsPidTiersTidPutRequestBodyContentApplicationJsonSchemaTierRewardsItems"}}},"required":["accessConditions","name","tierRewards"]}}}}}},"/loyalty/tier/programs/{pid}/contacts/{cid}/tiers/{tid}":{"post":{"operationId":"addSubscriptionToTier","summary":"Assign a tier","description":"Manually assigns a tier to a specific membership.","tags":["tier"],"parameters":[{"name":"pid","in":"path","description":"Loyalty Program ID","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"cid","in":"path","description":"Contact ID","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"tid","in":"path","description":"Tier ID","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"api-key","in":"header","description":"The API key should be passed in the request headers as `api-key` for authentication.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Tier successfully assigned to membership","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Tier_addSubscriptionToTier_Response_200"}}}},"401":{"description":"Request Authentication Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"403":{"description":"Cannot Authenticate Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"422":{"description":"Validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"424":{"description":"Failed Dependency","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}},"500":{"description":"Internal error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorModel"}}}}}}}},"servers":[{"url":"https://api.brevo.com/v3","description":"https://api.brevo.com/v3"}],"components":{"schemas":{"LoyaltyConfigProgramsGetParametersSortField":{"type":"string","enum":["name","created_at","updated_at"],"title":"LoyaltyConfigProgramsGetParametersSortField"},"LoyaltyConfigProgramsGetParametersSort":{"type":"string","enum":["asc","desc"],"title":"LoyaltyConfigProgramsGetParametersSort"},"LoyaltyProgramState":{"type":"string","enum":["inactive","active","draft"],"description":"Current state of the loyalty program.","title":"LoyaltyProgramState"},"loyaltyProgram":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Loyalty Program unique identifier."},"name":{"type":"string","description":"Loyalty Program name."},"description":{"type":"string","description":"Loyalty Program description."},"meta":{"type":"object","additionalProperties":{"description":"Any type"},"description":"Loyalty Program metadata."},"state":{"$ref":"#/components/schemas/LoyaltyProgramState","description":"Current state of the loyalty program."},"subscriptionPoolId":{"type":"string","format":"uuid","description":"Loyalty Program subscription pool ID."},"subscriptionGeneratorId":{"type":"string","format":"uuid","description":"Loyalty Program subscription generator ID."},"pattern":{"type":"string","description":"Subscription code pattern."},"codeCount":{"type":"integer","format":"int64","description":"Number of available subscription codes."},"documentId":{"type":"string","format":"uuid","description":"Associated document identifier."},"birthdayAttribute":{"type":"string","description":"Contact attribute name used for birthday tracking."},"createdAt":{"type":"string","format":"date-time","description":"Timestamp when the loyalty program was created."},"updatedAt":{"type":"string","format":"date-time","description":"Timestamp when the loyalty program was last modified."}},"title":"loyaltyProgram"},"Program_getLPList_Response_200":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/loyaltyProgram"},"description":"Loyalty Program list"}},"title":"Program_getLPList_Response_200"},"errorModel":{"type":"object","properties":{"code":{"type":"string","description":"Error code displayed in case of a failure"},"message":{"type":"string","description":"Readable message associated to the failure"}},"required":["message"],"title":"errorModel"},"LoyaltyConfigProgramsPidPutRequestBodyContentApplicationJsonSchemaMeta":{"type":"object","properties":{},"description":"Loyalty Program meta data","title":"LoyaltyConfigProgramsPidPutRequestBodyContentApplicationJsonSchemaMeta"},"LoyaltyConfigProgramsPidPatchRequestBodyContentApplicationJsonSchemaMeta":{"type":"object","properties":{},"description":"Loyalty Program meta data","title":"LoyaltyConfigProgramsPidPatchRequestBodyContentApplicationJsonSchemaMeta"},"Program_publishLoyaltyProgram_Response_200":{"type":"object","properties":{},"description":"Empty response body","title":"Program_publishLoyaltyProgram_Response_200"},"Program_subscribeToLoyaltyProgram_Response_200":{"type":"object","properties":{"organizationId":{"type":"integer","format":"int64","description":"Unique identifier of the organization."},"loyaltyProgramId":{"type":"string","format":"uuid","description":"Unique identifier of the loyalty program."},"versionId":{"type":"integer","description":"Version number of the subscription."},"contactId":{"type":"integer","format":"int64","description":"Unique identifier of the contact."},"loyaltySubscriptionId":{"type":"string","description":"Unique identifier of the subscription."},"meta":{"type":"object","additionalProperties":{"description":"Any type"},"description":"Metadata associated with the subscription."},"createdAt":{"type":"string","format":"date-time","description":"Timestamp when the subscription was created."},"updatedAt":{"type":"string","format":"date-time","description":"Timestamp when the subscription was last updated."}},"title":"Program_subscribeToLoyaltyProgram_Response_200"},"Program_subscribeMemberToASubscription_Response_200":{"type":"object","properties":{"organizationId":{"type":"integer","format":"int64","description":"Unique identifier of the organization."},"ownerContactId":{"type":"integer","format":"int64","description":"Unique identifier of the subscription owner."},"memberContactIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"List of unique member contact IDs."},"createdAt":{"type":"string","format":"date-time","description":"Timestamp when the subscription member was created."},"updatedAt":{"type":"string","format":"date-time","description":"Timestamp when the subscription member was last updated."}},"title":"Program_subscribeMemberToASubscription_Response_200"},"LoyaltyConfigProgramsPidAccountInfoGetResponsesContentApplicationJsonSchemaBalanceBalancesItems":{"type":"object","properties":{"balanceDefinitionId":{"type":"string","description":"Unique identifier for the balance definition)."},"value":{"type":"number","format":"double","description":"The amount of the balance."}},"title":"LoyaltyConfigProgramsPidAccountInfoGetResponsesContentApplicationJsonSchemaBalanceBalancesItems"},"LoyaltyConfigProgramsPidAccountInfoGetResponsesContentApplicationJsonSchemaBalance":{"type":"object","properties":{"balances":{"type":"array","items":{"$ref":"#/components/schemas/LoyaltyConfigProgramsPidAccountInfoGetResponsesContentApplicationJsonSchemaBalanceBalancesItems"},"description":"List of balance details associated with the contact."},"contactId":{"type":"integer","description":"Unique identifier of the contact."},"loyaltyProgramId":{"type":"string","description":"Unique identifier of the loyalty program."}},"description":"Balance details for the subscription.","title":"LoyaltyConfigProgramsPidAccountInfoGetResponsesContentApplicationJsonSchemaBalance"},"LoyaltyConfigProgramsPidAccountInfoGetResponsesContentApplicationJsonSchemaMembersItems":{"type":"object","properties":{"createdAt":{"type":"string","description":"Timestamp when the member was created."},"memberContactId":{"type":"integer","description":"Unique identifier of the member."},"updatedAt":{"type":"string","description":"Timestamp when the member was last updated."}},"title":"LoyaltyConfigProgramsPidAccountInfoGetResponsesContentApplicationJsonSchemaMembersItems"},"LoyaltyConfigProgramsPidAccountInfoGetResponsesContentApplicationJsonSchemaRewardItems":{"type":"object","properties":{"code":{"type":"string","description":"Reward code assigned to the contact."},"contactId":{"type":"integer","description":"Unique identifier of the contact."},"createdAt":{"type":"string","description":"Timestamp when the reward was created."},"expirationDate":{"type":"string","description":"Expiration date of the reward."},"id":{"type":"string","description":"Unique identifier of the reward."},"loyaltyProgramId":{"type":"string","description":"Unique identifier of the loyalty program."},"meta":{"type":"object","additionalProperties":{"description":"Any type"},"description":"Additional metadata related to the reward."},"rewardId":{"type":"string","description":"Unique identifier of the reward definition."},"updatedAt":{"type":"string","format":"date-time","description":"Timestamp when the reward was last updated."},"validFrom":{"type":"string","format":"date-time","description":"Date from which the voucher becomes valid."}},"title":"LoyaltyConfigProgramsPidAccountInfoGetResponsesContentApplicationJsonSchemaRewardItems"},"LoyaltyConfigProgramsPidAccountInfoGetResponsesContentApplicationJsonSchemaTierItems":{"type":"object","properties":{"contactId":{"type":"integer","description":"Unique identifier of the contact."},"createdAt":{"type":"string","description":"Timestamp when the tier was assigned."},"groupId":{"type":"string","description":"Unique identifier of the group associated with the tier."},"loyaltyProgramId":{"type":"string","description":"Unique identifier of the loyalty program."},"meta":{"type":"object","additionalProperties":{"description":"Any type"},"description":"Additional metadata related to the tier."},"tierId":{"type":"string","description":"Unique identifier of the tier."},"updatedAt":{"type":"string","description":"Timestamp when the tier was last updated"}},"title":"LoyaltyConfigProgramsPidAccountInfoGetResponsesContentApplicationJsonSchemaTierItems"},"Program_getParameterSubscriptionInfo_Response_200":{"type":"object","properties":{"balance":{"$ref":"#/components/schemas/LoyaltyConfigProgramsPidAccountInfoGetResponsesContentApplicationJsonSchemaBalance","description":"Balance details for the subscription."},"members":{"type":"array","items":{"$ref":"#/components/schemas/LoyaltyConfigProgramsPidAccountInfoGetResponsesContentApplicationJsonSchemaMembersItems"},"description":"List of members associated with the subscription."},"reward":{"type":"array","items":{"$ref":"#/components/schemas/LoyaltyConfigProgramsPidAccountInfoGetResponsesContentApplicationJsonSchemaRewardItems"},"description":"List of rewards associated with the subscription."},"tier":{"type":"array","items":{"$ref":"#/components/schemas/LoyaltyConfigProgramsPidAccountInfoGetResponsesContentApplicationJsonSchemaTierItems"},"description":"List of tier assignments for the subscription."}},"title":"Program_getParameterSubscriptionInfo_Response_200"},"Reward_getCodeCount_Response_200":{"type":"object","properties":{"count":{"type":"integer","format":"int64","description":"Number of codes"}},"title":"Reward_getCodeCount_Response_200"},"LoyaltyOfferProgramsPidVouchersGetParametersSort":{"type":"string","enum":["asc","desc"],"default":"desc","title":"LoyaltyOfferProgramsPidVouchersGetParametersSort"},"LoyaltyOfferProgramsPidVouchersGetParametersSortField":{"type":"string","enum":["updatedAt","createdAt"],"default":"updatedAt","title":"LoyaltyOfferProgramsPidVouchersGetParametersSortField"},"LoyaltyOfferProgramsPidVouchersGetResponsesContentApplicationJsonSchemaContactRewardsItems":{"type":"object","properties":{"code":{"type":"string","description":"Generated code"},"consumedAt":{"type":"string","description":"Timestamp when the reward limit was consumed"},"createdAt":{"type":"string","description":"Timestamp when the reward limit was created"},"expirationDate":{"type":"string","description":"Reward expiration date"},"id":{"type":"string","description":"Unique identifier for the contact"},"meta":{"type":"object","additionalProperties":{"description":"Any type"},"description":"Additional data for the reward"},"rewardId":{"type":"string","description":"Unique identifier for the reward"},"unit":{"type":"string","description":"Unit of the balance selected in the reward definition"},"updatedAt":{"type":"string","description":"Timestamp when the reward limit was updated"},"value":{"type":"number","format":"double","description":"Value of the selected reward config"},"validFrom":{"type":"string","format":"date-time","description":"Date from which the voucher becomes valid"}},"title":"LoyaltyOfferProgramsPidVouchersGetResponsesContentApplicationJsonSchemaContactRewardsItems"},"Reward_getVoucherForAContact_Response_200":{"type":"object","properties":{"contactId":{"type":"integer","format":"int64","description":"Contact id associated with the current reward"},"contactRewards":{"type":"array","items":{"$ref":"#/components/schemas/LoyaltyOfferProgramsPidVouchersGetResponsesContentApplicationJsonSchemaContactRewardsItems"},"description":"List of all the rewards for current contact"},"count":{"type":"integer","description":"Count of the rewards associated with the current contact"},"loyaltyProgramId":{"type":"string","description":"Loyalty Program Id for the contact"},"loyaltySubscriptionId":{"type":"string","description":"Loyalty Subscription Id for the contact"}},"title":"Reward_getVoucherForAContact_Response_200"},"LoyaltyOfferProgramsPidOffersGetParametersVersion":{"type":"string","enum":["active","draft"],"default":"draft","title":"LoyaltyOfferProgramsPidOffersGetParametersVersion"},"LoyaltyOfferProgramsPidOffersGetResponsesContentApplicationJsonSchemaItemsItems":{"type":"object","properties":{"createdAt":{"type":"string","format":"date-time","description":"Timestamp for when this reward was created"},"endDate":{"type":"string","format":"date-time","description":"Timestamp for when this reward attribution ended"},"id":{"type":"string","format":"uuid","description":"Unique identifier for the reward"},"loyaltyProgramId":{"type":"string","format":"uuid","description":"Loyalty Program to which current reward is associated"},"name":{"type":"string","description":"Name of the reward"},"publicImage":{"type":"string","description":"Public image of the reward"},"startDate":{"type":"string","format":"date-time","description":"Timestamp for when this reward attribution started"},"state":{"type":"string","description":"State of the reward"},"updatedAt":{"type":"string","format":"date-time","description":"Timestamp for when this reward attribution was updated"}},"title":"LoyaltyOfferProgramsPidOffersGetResponsesContentApplicationJsonSchemaItemsItems"},"Reward_getRewardPageApi_Response_200":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/LoyaltyOfferProgramsPidOffersGetResponsesContentApplicationJsonSchemaItemsItems"},"description":"Items for the current reward"},"totalCount":{"type":"integer","description":"Count of the associated parameter in current reward"}},"title":"Reward_getRewardPageApi_Response_200"},"Reward_createReward_Response_200":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier for the reward"},"loyaltyProgramId":{"type":"string","format":"uuid","description":"Loyalty program to which the reward belongs"},"name":{"type":"string","description":"Name of the reward"},"publicDescription":{"type":"string","description":"Public description of the reward"},"publicImage":{"type":"string","description":"Public image URL of the reward"},"publicName":{"type":"string","description":"Public name of the reward"},"createdAt":{"type":"string","format":"date-time","description":"Timestamp when the reward was created"},"updatedAt":{"type":"string","format":"date-time","description":"Timestamp when the reward was last updated"}},"title":"Reward_createReward_Response_200"},"LoyaltyOfferProgramsPidRewardsRidGetParametersVersion":{"type":"string","enum":["active","draft"],"default":"draft","title":"LoyaltyOfferProgramsPidRewardsRidGetParametersVersion"},"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"},"nodeResponse":{"type":"object","properties":{"args":{"type":"array","items":{"$ref":"#/components/schemas/nodeResponse"},"description":"array[object]"},"array":{"type":"array","items":{"$ref":"#/components/schemas/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"},"valueResponse":{"type":"object","properties":{"array":{"type":"array","items":{"$ref":"#/components/schemas/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":"#/components/schemas/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"},"ruleConditionResponse":{"type":"object","properties":{"and":{"type":"array","items":{"$ref":"#/components/schemas/ruleConditionResponse"},"description":"Metric to indicate AND between rules"},"lhs":{"$ref":"#/components/schemas/valueResponse","description":"Condition of the rule"},"op":{"type":"string","description":"Selected operator for the rule"},"or":{"type":"array","items":{"$ref":"#/components/schemas/ruleConditionResponse"},"description":"Metric to indicate OR between rules"},"rhs":{"$ref":"#/components/schemas/valueResponse","description":"Action of the rule"}},"title":"ruleConditionResponse"},"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"},"LoyaltyOfferProgramsPidRewardsRidGetResponsesContentApplicationJsonSchemaRuleResultsItemsParametersItems":{"type":"object","properties":{"name":{"type":"string","description":"Name of the rule"},"value":{"$ref":"#/components/schemas/valueResponse","description":"Selected value of the parameter to define the rule"}},"title":"LoyaltyOfferProgramsPidRewardsRidGetResponsesContentApplicationJsonSchemaRuleResultsItemsParametersItems"},"LoyaltyOfferProgramsPidRewardsRidGetResponsesContentApplicationJsonSchemaRuleResultsItems":{"type":"object","properties":{"action":{"type":"string","description":"Action for the defined rule"},"parameters":{"type":"array","items":{"$ref":"#/components/schemas/LoyaltyOfferProgramsPidRewardsRidGetResponsesContentApplicationJsonSchemaRuleResultsItemsParametersItems"},"description":"Parameters to define the reward"},"service":{"type":"string","description":"Selected service to define the reward"}},"title":"LoyaltyOfferProgramsPidRewardsRidGetResponsesContentApplicationJsonSchemaRuleResultsItems"},"LoyaltyOfferProgramsPidRewardsRidGetResponsesContentApplicationJsonSchemaRule":{"type":"object","properties":{"condition":{"$ref":"#/components/schemas/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":"#/components/schemas/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":"#/components/schemas/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"},"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":"#/components/schemas/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":"#/components/schemas/LoyaltyOfferProgramsPidRewardsRidGetResponsesContentApplicationJsonSchemaGenerator","description":"object"},"id":{"type":"string","format":"uuid","description":"Unique identifier for the reward"},"limits":{"type":"array","items":{"$ref":"#/components/schemas/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":"#/components/schemas/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":"#/components/schemas/LoyaltyOfferProgramsPidRewardsRidGetResponsesContentApplicationJsonSchemaRewardConfigs","description":"object"},"rule":{"$ref":"#/components/schemas/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"}},"title":"Reward_getRewardInformation_Response_200"},"Reward_createVoucher_Response_200":{"type":"object","properties":{"code":{"type":"string","description":"Generated code"},"consumedAt":{"type":"string","description":"Timestamp for when this reward was consumed"},"contactId":{"type":"integer","format":"int64","description":"Id of the contact that attributed the reward"},"createdAt":{"type":"string","format":"date-time","description":"Timestamp for when this reward was created"},"expirationDate":{"type":"string","format":"date-time","description":"Expiration date of the reward"},"id":{"type":"string","format":"uuid","description":"Unique identifier"},"loyaltyProgramId":{"type":"string","description":"Loyalty Program Id to which attributed reward belongs"},"meta":{"type":"object","additionalProperties":{"description":"Any type"},"description":"Additional data to define the reward"},"rewardId":{"type":"string","description":"Unique identifier for the reward"},"updatedAt":{"type":"string","format":"date-time","description":"Timestamp for when this reward was updated"},"value":{"type":"number","format":"double","description":"Value of the selected reward config"},"validFrom":{"type":"string","format":"date-time","description":"Date from which the voucher becomes valid"}},"title":"Reward_createVoucher_Response_200"},"LoyaltyOfferProgramsPidRewardsRedeemPostRequestBodyContentApplicationJsonSchemaOrderBilling":{"type":"object","properties":{"address":{"type":"string","description":"Address of the user"},"city":{"type":"string","description":"City of the user"},"countryCode":{"type":"string","description":"Country code of the user"},"paymentMethod":{"type":"string","description":"Payment method opted by the user"},"phone":{"type":"integer","format":"int64","description":"Phone number of the user"},"postCode":{"type":"integer","format":"int64","description":"Postal Code of user's location"},"region":{"type":"string","description":"Region where user resides"}},"description":"Billing information for the order","title":"LoyaltyOfferProgramsPidRewardsRedeemPostRequestBodyContentApplicationJsonSchemaOrderBilling"},"LoyaltyOfferProgramsPidRewardsRedeemPostRequestBodyContentApplicationJsonSchemaOrderIdentifiers":{"type":"object","properties":{"ext_id":{"type":"string","description":"External identifier for the order"},"loyalty_subscription_id":{"type":"string","description":"Identifier for the loyalty subscription"}},"description":"Additional identifiers for the order","title":"LoyaltyOfferProgramsPidRewardsRedeemPostRequestBodyContentApplicationJsonSchemaOrderIdentifiers"},"LoyaltyOfferProgramsPidRewardsRedeemPostRequestBodyContentApplicationJsonSchemaOrderProductsItems":{"type":"object","properties":{"category":{"type":"array","items":{"type":"string"},"description":"List of categories the product belongs to"},"price":{"type":"number","format":"double","description":"Price of the product"},"productId":{"type":"string","description":"Unique identifier for the product"},"quantity":{"type":"number","format":"double","description":"Quantity of the product"},"variantId":{"type":"string","description":"Identifier for the product variant"}},"title":"LoyaltyOfferProgramsPidRewardsRedeemPostRequestBodyContentApplicationJsonSchemaOrderProductsItems"},"LoyaltyOfferProgramsPidRewardsRedeemPostRequestBodyContentApplicationJsonSchemaOrder":{"type":"object","properties":{"amount":{"type":"number","format":"double","description":"Total amount of the order"},"billing":{"$ref":"#/components/schemas/LoyaltyOfferProgramsPidRewardsRedeemPostRequestBodyContentApplicationJsonSchemaOrderBilling","description":"Billing information for the order"},"contact_id":{"type":"integer","format":"int64","description":"Unique identifier for the contact"},"coupons":{"type":"array","items":{"type":"string"},"description":"List of coupon codes applied to the order"},"createdAt":{"type":"string","format":"date-time","description":"Timestamp when the order was created"},"email":{"type":"string","format":"email","description":"Email address associated with the order"},"id":{"type":"string","description":"Unique identifier for the order"},"identifiers":{"$ref":"#/components/schemas/LoyaltyOfferProgramsPidRewardsRedeemPostRequestBodyContentApplicationJsonSchemaOrderIdentifiers","description":"Additional identifiers for the order"},"products":{"type":"array","items":{"$ref":"#/components/schemas/LoyaltyOfferProgramsPidRewardsRedeemPostRequestBodyContentApplicationJsonSchemaOrderProductsItems"},"description":"List of products in the order"},"status":{"type":"string","description":"Current status of the order"},"storeId":{"type":"string","description":"Identifier for the store where the order was placed"},"updatedAt":{"type":"string","format":"date-time","description":"Timestamp when the order was last updated"}},"description":"Order details for the redemption","title":"LoyaltyOfferProgramsPidRewardsRedeemPostRequestBodyContentApplicationJsonSchemaOrder"},"redeem":{"type":"object","properties":{"cancelledAt":{"type":"string","format":"date-time","description":"Timestamp when the redemption was cancelled"},"completedAt":{"type":"string","format":"date-time","description":"Timestamp when the redemption was completed"},"contactId":{"type":"integer","format":"int64","description":"Unique identifier for the contact"},"createdAt":{"type":"string","format":"date-time","description":"Timestamp when the redemption was created"},"debitTransactionId":{"type":"string","format":"uuid","description":"Unique identifier for the debit transaction"},"expiresAt":{"type":"string","format":"date-time","description":"Timestamp when the redemption expires"},"id":{"type":"string","format":"uuid","description":"Unique identifier for the redemption"},"loyaltyProgramId":{"type":"string","format":"uuid","description":"Unique identifier for the loyalty program"},"meta":{"type":"object","additionalProperties":{"description":"Any type"},"description":"Additional metadata associated with the redemption"},"rejectReason":{"type":"string","description":"Reason for rejection if the redemption was rejected"},"rejectedAt":{"type":"string","format":"date-time","description":"Timestamp when the redemption was rejected"},"rewardAttributionId":{"type":"string","format":"uuid","description":"Unique identifier for the reward attribution"},"status":{"type":"string","description":"Current status of the redemption"},"updatedAt":{"type":"string","format":"date-time","description":"Timestamp when the redemption was last updated"}},"title":"redeem"},"Reward_validateReward_Response_200":{"type":"object","properties":{"authorize":{"type":"boolean","description":"Boolean value to authorize a reward or not"}},"title":"Reward_validateReward_Response_200"},"LoyaltyBalanceProgramsPidBalanceDefinitionsGetParametersSortField":{"type":"string","enum":["name","created_at","updated_at"],"default":"updated_at","title":"LoyaltyBalanceProgramsPidBalanceDefinitionsGetParametersSortField"},"LoyaltyBalanceProgramsPidBalanceDefinitionsGetParametersSort":{"type":"string","enum":["asc","desc"],"default":"desc","title":"LoyaltyBalanceProgramsPidBalanceDefinitionsGetParametersSort"},"LoyaltyBalanceProgramsPidBalanceDefinitionsGetParametersVersion":{"type":"string","enum":["active","draft"],"default":"draft","title":"LoyaltyBalanceProgramsPidBalanceDefinitionsGetParametersVersion"},"BalanceDefinitionUnit":{"type":"string","enum":["POINTS","EUR","USD","MXN","GBP","INR","CAD","SGD","RON","JPY","MYR","CLP","PEN","MAD","AUD","CHF","BRL"],"description":"Unit of balance measurement.","title":"BalanceDefinitionUnit"},"BalanceDefinitionBalanceOptionAmountOvertakingStrategy":{"type":"string","enum":["strict","partial"],"description":"Partial enables partial credit of balance if maximum balance limit is reached. Strict enables rejection of a transaction if it will breach the max balance limit.","title":"BalanceDefinitionBalanceOptionAmountOvertakingStrategy"},"BalanceDefinitionBalanceOptionCreditRounding":{"type":"string","enum":["lower","upper","natural"],"description":"Rounding strategy for credit transactions.","title":"BalanceDefinitionBalanceOptionCreditRounding"},"BalanceDefinitionBalanceOptionDebitRounding":{"type":"string","enum":["lower","upper","natural"],"description":"Rounding strategy for debit transactions.","title":"BalanceDefinitionBalanceOptionDebitRounding"},"BalanceDefinitionBalanceAvailabilityDurationUnit":{"type":"string","enum":["day","week","month","year"],"description":"Unit of time for the balance availability duration.","title":"BalanceDefinitionBalanceAvailabilityDurationUnit"},"BalanceDefinitionBalanceAvailabilityDurationModifier":{"type":"string","enum":["noModification","startOfPeriod","endOfPeriod"],"description":"Modifier for balance availability duration. startOfPeriod causes expiry at the start of the period, endOfPeriod at the end. noModification uses the exact duration from the credit date.","title":"BalanceDefinitionBalanceAvailabilityDurationModifier"},"balanceDefinition":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier for the balance definition."},"name":{"type":"string","description":"Name of the balance definition."},"description":{"type":"string","description":"Short description of the balance definition."},"imageRef":{"type":"string","format":"uri","description":"Optional image reference URL."},"meta":{"type":"object","additionalProperties":{"description":"Any type"},"description":"Additional metadata for the balance definition."},"unit":{"$ref":"#/components/schemas/BalanceDefinitionUnit","description":"Unit of balance measurement."},"minAmount":{"type":"number","format":"double","description":"Minimum allowable balance."},"maxAmount":{"type":"number","format":"double","description":"Maximum allowable balance."},"maxCreditAmountLimit":{"type":"number","format":"double","description":"Maximum credit allowed per operation."},"maxDebitAmountLimit":{"type":"number","format":"double","description":"Maximum debit allowed per operation."},"balanceOptionAmountOvertakingStrategy":{"$ref":"#/components/schemas/BalanceDefinitionBalanceOptionAmountOvertakingStrategy","description":"Partial enables partial credit of balance if maximum balance limit is reached. Strict enables rejection of a transaction if it will breach the max balance limit."},"balanceOptionCreditRounding":{"$ref":"#/components/schemas/BalanceDefinitionBalanceOptionCreditRounding","description":"Rounding strategy for credit transactions."},"balanceOptionDebitRounding":{"$ref":"#/components/schemas/BalanceDefinitionBalanceOptionDebitRounding","description":"Rounding strategy for debit transactions."},"balanceAvailabilityDurationValue":{"type":"integer","description":"Number of time units before the balance expires."},"balanceAvailabilityDurationUnit":{"$ref":"#/components/schemas/BalanceDefinitionBalanceAvailabilityDurationUnit","description":"Unit of time for the balance availability duration."},"balanceAvailabilityDurationModifier":{"$ref":"#/components/schemas/BalanceDefinitionBalanceAvailabilityDurationModifier","description":"Modifier for balance availability duration. startOfPeriod causes expiry at the start of the period, endOfPeriod at the end. noModification uses the exact duration from the credit date."},"balanceExpirationDate":{"type":"string","description":"Fixed expiration date in dd/mm format. The balance expires when this date next appears in the calendar. Only one of balanceExpirationDate or balance availability duration fields can be used."},"createdAt":{"type":"string","format":"date-time","description":"Timestamp of balance definition creation."},"updatedAt":{"type":"string","format":"date-time","description":"Timestamp of the last update."},"deletedAt":{"type":"string","format":"date-time","description":"Timestamp of balance definition deletion (nullable)."}},"title":"balanceDefinition"},"Balance_getBalanceDefinitionList_Response_200":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/balanceDefinition"},"description":"list of balance definitions"}},"title":"Balance_getBalanceDefinitionList_Response_200"},"LoyaltyBalanceProgramsPidBalanceDefinitionsPostRequestBodyContentApplicationJsonSchemaBalanceAvailabilityDurationModifier":{"type":"string","enum":["noModification","startOfPeriod","endOfPeriod"],"description":"Defines when the balance expires within the selected duration.","title":"LoyaltyBalanceProgramsPidBalanceDefinitionsPostRequestBodyContentApplicationJsonSchemaBalanceAvailabilityDurationModifier"},"LoyaltyBalanceProgramsPidBalanceDefinitionsPostRequestBodyContentApplicationJsonSchemaBalanceAvailabilityDurationUnit":{"type":"string","enum":["day","week","month","year"],"description":"Unit of time for balance validity.","title":"LoyaltyBalanceProgramsPidBalanceDefinitionsPostRequestBodyContentApplicationJsonSchemaBalanceAvailabilityDurationUnit"},"LoyaltyBalanceProgramsPidBalanceDefinitionsPostRequestBodyContentApplicationJsonSchemaBalanceOptionAmountOvertakingStrategy":{"type":"string","enum":["strict","partial"],"description":"Defines whether partial credit is allowed when reaching max balance.","title":"LoyaltyBalanceProgramsPidBalanceDefinitionsPostRequestBodyContentApplicationJsonSchemaBalanceOptionAmountOvertakingStrategy"},"LoyaltyBalanceProgramsPidBalanceDefinitionsPostRequestBodyContentApplicationJsonSchemaBalanceOptionCreditRounding":{"type":"string","enum":["lower","upper","natural"],"description":"Defines rounding strategy for credit transactions.","title":"LoyaltyBalanceProgramsPidBalanceDefinitionsPostRequestBodyContentApplicationJsonSchemaBalanceOptionCreditRounding"},"LoyaltyBalanceProgramsPidBalanceDefinitionsPostRequestBodyContentApplicationJsonSchemaBalanceOptionDebitRounding":{"type":"string","enum":["lower","upper","natural"],"description":"Defines rounding strategy for debit transactions.","title":"LoyaltyBalanceProgramsPidBalanceDefinitionsPostRequestBodyContentApplicationJsonSchemaBalanceOptionDebitRounding"},"LoyaltyBalanceProgramsPidBalanceDefinitionsPostRequestBodyContentApplicationJsonSchemaMeta":{"type":"object","properties":{"isInternal":{"type":"boolean","description":"Indicates whether the balance definition is internal."}},"description":"Additional metadata for the balance definition.","title":"LoyaltyBalanceProgramsPidBalanceDefinitionsPostRequestBodyContentApplicationJsonSchemaMeta"},"LoyaltyBalanceProgramsPidBalanceDefinitionsPostRequestBodyContentApplicationJsonSchemaUnit":{"type":"string","enum":["POINTS","EUR","USD","MXN","GBP","INR","CAD","SGD","RON","JPY","MYR","CLP","PEN","MAD","AUD","CHF","BRL"],"description":"Unit of balance measurement.","title":"LoyaltyBalanceProgramsPidBalanceDefinitionsPostRequestBodyContentApplicationJsonSchemaUnit"},"LoyaltyBalanceProgramsPidBalanceDefinitionsBdidGetParametersVersion":{"type":"string","enum":["active","draft"],"default":"draft","title":"LoyaltyBalanceProgramsPidBalanceDefinitionsBdidGetParametersVersion"},"LoyaltyBalanceProgramsPidBalanceDefinitionsBdidPutRequestBodyContentApplicationJsonSchemaBalanceAvailabilityDurationModifier":{"type":"string","enum":["noModification","startOfPeriod","endOfPeriod"],"description":"Defines when the balance expires within the selected duration.","title":"LoyaltyBalanceProgramsPidBalanceDefinitionsBdidPutRequestBodyContentApplicationJsonSchemaBalanceAvailabilityDurationModifier"},"LoyaltyBalanceProgramsPidBalanceDefinitionsBdidPutRequestBodyContentApplicationJsonSchemaBalanceAvailabilityDurationUnit":{"type":"string","enum":["day","week","month","year"],"description":"Unit of time for balance validity.","title":"LoyaltyBalanceProgramsPidBalanceDefinitionsBdidPutRequestBodyContentApplicationJsonSchemaBalanceAvailabilityDurationUnit"},"LoyaltyBalanceProgramsPidBalanceDefinitionsBdidPutRequestBodyContentApplicationJsonSchemaBalanceOptionAmountOvertakingStrategy":{"type":"string","enum":["strict","partial"],"description":"Defines whether partial credit is allowed when reaching max balance.","title":"LoyaltyBalanceProgramsPidBalanceDefinitionsBdidPutRequestBodyContentApplicationJsonSchemaBalanceOptionAmountOvertakingStrategy"},"LoyaltyBalanceProgramsPidBalanceDefinitionsBdidPutRequestBodyContentApplicationJsonSchemaBalanceOptionCreditRounding":{"type":"string","enum":["lower","upper","natural"],"description":"Rounding strategy for credit transactions.","title":"LoyaltyBalanceProgramsPidBalanceDefinitionsBdidPutRequestBodyContentApplicationJsonSchemaBalanceOptionCreditRounding"},"LoyaltyBalanceProgramsPidBalanceDefinitionsBdidPutRequestBodyContentApplicationJsonSchemaBalanceOptionDebitRounding":{"type":"string","enum":["lower","upper","natural"],"description":"Rounding strategy for debit transactions.","title":"LoyaltyBalanceProgramsPidBalanceDefinitionsBdidPutRequestBodyContentApplicationJsonSchemaBalanceOptionDebitRounding"},"LoyaltyBalanceProgramsPidBalanceDefinitionsBdidPutRequestBodyContentApplicationJsonSchemaMeta":{"type":"object","properties":{"isInternal":{"type":"boolean","description":"Indicates whether the balance definition is internal."}},"description":"Optional metadata for the balance definition.","title":"LoyaltyBalanceProgramsPidBalanceDefinitionsBdidPutRequestBodyContentApplicationJsonSchemaMeta"},"LoyaltyBalanceProgramsPidBalanceDefinitionsBdidPutRequestBodyContentApplicationJsonSchemaUnit":{"type":"string","enum":["POINTS","EUR","USD","MXN","GBP","INR","CAD","SGD","RON","JPY","MYR","CLP","PEN","MAD","AUD","CHF","BRL"],"description":"Unit of balance measurement.","title":"LoyaltyBalanceProgramsPidBalanceDefinitionsBdidPutRequestBodyContentApplicationJsonSchemaUnit"},"LoyaltyBalanceProgramsPidBalanceDefinitionsBdidLimitsPostRequestBodyContentApplicationJsonSchemaConstraintType":{"type":"string","enum":["transaction","amount"],"description":"Defines whether the limit applies to transaction count or amount.","title":"LoyaltyBalanceProgramsPidBalanceDefinitionsBdidLimitsPostRequestBodyContentApplicationJsonSchemaConstraintType"},"LoyaltyBalanceProgramsPidBalanceDefinitionsBdidLimitsPostRequestBodyContentApplicationJsonSchemaDurationUnit":{"type":"string","enum":["day","week","month","year"],"description":"Unit of time for which the limit is applicable.","title":"LoyaltyBalanceProgramsPidBalanceDefinitionsBdidLimitsPostRequestBodyContentApplicationJsonSchemaDurationUnit"},"LoyaltyBalanceProgramsPidBalanceDefinitionsBdidLimitsPostRequestBodyContentApplicationJsonSchemaTransactionType":{"type":"string","enum":["credit","debit"],"description":"Specifies whether the limit applies to credit or debit transactions.","title":"LoyaltyBalanceProgramsPidBalanceDefinitionsBdidLimitsPostRequestBodyContentApplicationJsonSchemaTransactionType"},"BalanceLimitTransactionType":{"type":"string","enum":["credit","debit"],"description":"Specifies whether the limit applies to credit or debit transactions.","title":"BalanceLimitTransactionType"},"BalanceLimitConstraintType":{"type":"string","enum":["transaction","amount"],"description":"Defines the type of constraint (transaction count or amount).","title":"BalanceLimitConstraintType"},"BalanceLimitDurationUnit":{"type":"string","enum":["hour","day","week","month","year"],"description":"Time unit for the balance limit.","title":"BalanceLimitDurationUnit"},"balanceLimit":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier for the balance limit."},"balanceDefinitionId":{"type":"string","format":"uuid","description":"Balance definition ID."},"transactionType":{"$ref":"#/components/schemas/BalanceLimitTransactionType","description":"Specifies whether the limit applies to credit or debit transactions."},"constraintType":{"$ref":"#/components/schemas/BalanceLimitConstraintType","description":"Defines the type of constraint (transaction count or amount)."},"durationValue":{"type":"integer","description":"Number of time units the balance limit applies to."},"durationUnit":{"$ref":"#/components/schemas/BalanceLimitDurationUnit","description":"Time unit for the balance limit."},"value":{"type":"number","format":"double","description":"The maximum allowed value for the defined constraint."},"slidingSchedule":{"type":"boolean","description":"Indicates if the limit resets periodically based on a sliding schedule."},"createdAt":{"type":"string","format":"date-time","description":"Timestamp of when the balance limit was created."},"updatedAt":{"type":"string","format":"date-time","description":"Timestamp of the last update to the balance limit."}},"title":"balanceLimit"},"LoyaltyBalanceProgramsPidBalanceDefinitionsBdidLimitsBlidGetParametersVersion":{"type":"string","enum":["active","draft"],"default":"draft","title":"LoyaltyBalanceProgramsPidBalanceDefinitionsBdidLimitsBlidGetParametersVersion"},"LoyaltyBalanceProgramsPidBalanceDefinitionsBdidLimitsBlidPutRequestBodyContentApplicationJsonSchemaConstraintType":{"type":"string","enum":["transaction","amount"],"description":"Defines whether the limit applies to transaction count or amount.","title":"LoyaltyBalanceProgramsPidBalanceDefinitionsBdidLimitsBlidPutRequestBodyContentApplicationJsonSchemaConstraintType"},"LoyaltyBalanceProgramsPidBalanceDefinitionsBdidLimitsBlidPutRequestBodyContentApplicationJsonSchemaDurationUnit":{"type":"string","enum":["day","week","month","year"],"description":"Unit of time for which the limit is applicable.","title":"LoyaltyBalanceProgramsPidBalanceDefinitionsBdidLimitsBlidPutRequestBodyContentApplicationJsonSchemaDurationUnit"},"LoyaltyBalanceProgramsPidBalanceDefinitionsBdidLimitsBlidPutRequestBodyContentApplicationJsonSchemaTransactionType":{"type":"string","enum":["credit","debit"],"description":"Specifies whether the limit applies to credit or debit transactions.","title":"LoyaltyBalanceProgramsPidBalanceDefinitionsBdidLimitsBlidPutRequestBodyContentApplicationJsonSchemaTransactionType"},"LoyaltyBalanceProgramsPidSubscriptionsCidBalancesGetResponsesContentApplicationJsonSchemaBalanceItems":{"type":"object","properties":{"balanceDefinitionId":{"type":"string","format":"uuid","description":"Balance definition ID."},"value":{"type":"string","title":"float","description":"Aggregate balance value for this definition."}},"title":"LoyaltyBalanceProgramsPidSubscriptionsCidBalancesGetResponsesContentApplicationJsonSchemaBalanceItems"},"Balance_getSubscriptionBalances_Response_200":{"type":"object","properties":{"loyaltyProgramId":{"type":"string","format":"uuid","description":"Unique identifier of the loyalty program."},"contactId":{"type":"integer","format":"int64","description":"Unique identifier of the contact."},"balance":{"type":"array","items":{"$ref":"#/components/schemas/LoyaltyBalanceProgramsPidSubscriptionsCidBalancesGetResponsesContentApplicationJsonSchemaBalanceItems"},"description":"Aggregate balance per balance definition."}},"title":"Balance_getSubscriptionBalances_Response_200"},"Balance_createSubscriptionBalances_Response_200":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier for the balance."},"amount":{"type":"string","title":"float","description":"The current amount available in the balance."},"loyaltyProgramId":{"type":"string","format":"uuid","description":"Loyalty program ID."},"organizationId":{"type":"integer","format":"int64","description":"Organization ID."},"contactId":{"type":"integer","format":"int64","description":"Contact ID."},"balanceDefinitionId":{"type":"string","format":"uuid","description":"Balance definition ID."},"createdAt":{"type":"string","format":"date-time","description":"Timestamp of when the balance was created."},"expiresAt":{"type":"string","format":"date-time","description":"Expiration timestamp of the balance."},"consumedAt":{"type":"string","format":"date-time","description":"Timestamp of when the balance was last consumed."}},"title":"Balance_createSubscriptionBalances_Response_200"},"LoyaltyBalanceProgramsPidContactBalancesGetParametersSort":{"type":"string","enum":["asc","desc"],"title":"LoyaltyBalanceProgramsPidContactBalancesGetParametersSort"},"LoyaltyBalanceProgramsPidContactBalancesGetParametersSortField":{"type":"string","enum":["updatedAt","value"],"title":"LoyaltyBalanceProgramsPidContactBalancesGetParametersSortField"},"LoyaltyBalanceProgramsPidContactBalancesGetResponsesContentApplicationJsonSchemaBalancesItems":{"type":"object","properties":{"contactId":{"type":"integer"},"loyaltySubscriptionId":{"type":"string"},"updatedAt":{"type":"string"},"value":{"type":"number","format":"double"}},"title":"LoyaltyBalanceProgramsPidContactBalancesGetResponsesContentApplicationJsonSchemaBalancesItems"},"Balance_getContactBalances_Response_200":{"type":"object","properties":{"balanceDefinitionId":{"type":"string"},"balances":{"type":"array","items":{"$ref":"#/components/schemas/LoyaltyBalanceProgramsPidContactBalancesGetResponsesContentApplicationJsonSchemaBalancesItems"}},"count":{"type":"integer"},"loyaltyProgramId":{"type":"string"}},"title":"Balance_getContactBalances_Response_200"},"LoyaltyBalanceProgramsPidTransactionsPostRequestBodyContentApplicationJsonSchemaTransactionType":{"type":"string","enum":["credit","debit"],"description":"Explicit transaction type. If not provided, the type is inferred from the sign of the amount (positive = credit, negative = debit).","title":"LoyaltyBalanceProgramsPidTransactionsPostRequestBodyContentApplicationJsonSchemaTransactionType"},"TransactionTransactionType":{"type":"string","enum":["credit","debit"],"description":"The type of the transaction.","title":"TransactionTransactionType"},"TransactionStatus":{"type":"string","enum":["pending","complete","rejected","cancelled","expired"],"description":"The current status of the transaction.","title":"TransactionStatus"},"transaction":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier (UUID) of the transaction."},"amount":{"type":"string","title":"float","description":"The transaction amount."},"transactionType":{"$ref":"#/components/schemas/TransactionTransactionType","description":"The type of the transaction."},"meta":{"type":"object","additionalProperties":{"description":"Any type"},"description":"Optional metadata associated with the transaction."},"status":{"$ref":"#/components/schemas/TransactionStatus","description":"The current status of the transaction."},"loyaltyProgramId":{"type":"string","format":"uuid","description":"Unique identifier (UUID) of the associated loyalty program."},"balanceDefinitionId":{"type":"string","format":"uuid","description":"Unique identifier (UUID) of the associated balance definition."},"contactId":{"type":"integer","format":"int64","description":"Unique identifier of the contact associated with the transaction."},"eventTime":{"type":"string","format":"date-time","description":"Optional timestamp indicating when the transaction event occurred (ISO 8601 format)."},"rejectReason":{"type":"string","description":"Reason for rejection if the transaction was declined (nullable)."},"rejectedAt":{"type":"string","format":"date-time","description":"Timestamp when the transaction was rejected (nullable)."},"expirationDate":{"type":"string","format":"date-time","description":"Expiry date of the transaction (nullable)."},"completedAt":{"type":"string","format":"date-time","description":"Timestamp when the transaction was completed (nullable)."},"cancelledAt":{"type":"string","format":"date-time","description":"Timestamp when the transaction was canceled (nullable)."},"createdAt":{"type":"string","format":"date-time","description":"Timestamp when the transaction was created."},"updatedAt":{"type":"string","format":"date-time","description":"Timestamp when the transaction was last updated."}},"description":"Represents a transaction involving a balance, including status and timestamps.","title":"transaction"},"LoyaltyBalanceProgramsPidCreateOrderPostRequestBodyContentApplicationJsonSchemaSource":{"type":"string","enum":["engine","user"],"description":"Specifies the origin of the order.","title":"LoyaltyBalanceProgramsPidCreateOrderPostRequestBodyContentApplicationJsonSchemaSource"},"Balance_createBalanceOrder_Response_200":{"type":"object","properties":{"amount":{"type":"number","format":"double","description":"Order amount (must not be zero)."},"balanceDefinitionId":{"type":"string","description":"Optional unique identifier (UUID) of the associated balance definition."},"contactId":{"type":"integer","description":"Unique identifier of the contact placing the order (must be ≥ 1)."},"createdAt":{"type":"string","description":"RFC3339 timestamp indicating when the order was created."},"dueAt":{"type":"string","description":"RFC3339 timestamp specifying when the order is due in the future."},"expiresAt":{"type":"string","description":"Optional RFC3339 timestamp defining order expiration in the future."},"id":{"type":"string","description":"Unique identifier for the balance order."},"loyaltyProgramId":{"type":"string","description":"Unique identifier of the loyalty program associated with the order."},"meta":{"type":"object","additionalProperties":{"description":"Any type"},"description":"Optional metadata associated with the order."},"processedAt":{"type":"string","description":"Optional RFC3339 timestamp indicating when the order was processed."},"transactionid":{"type":"string","description":"Optional reference to the associated transaction ID."},"updatedAt":{"type":"string","description":"RFC3339 timestamp indicating the last update to the order."}},"required":["amount","contactId","createdAt","dueAt","loyaltyProgramId","updatedAt"],"description":"Represents an order linked to a balance definition, including amount, due date, and transaction details.","title":"Balance_createBalanceOrder_Response_200"},"LoyaltyBalanceProgramsPidActiveBalanceGetParametersSortField":{"type":"string","enum":["createdAt"],"title":"LoyaltyBalanceProgramsPidActiveBalanceGetParametersSortField"},"LoyaltyBalanceProgramsPidActiveBalanceGetParametersSort":{"type":"string","enum":["asc","desc"],"title":"LoyaltyBalanceProgramsPidActiveBalanceGetParametersSort"},"LoyaltyBalanceProgramsPidActiveBalanceGetResponsesContentApplicationJsonSchemaActiveBalancesItems":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the balance entry."},"amount":{"type":"string","title":"float","description":"Current balance amount."},"createdAt":{"type":"string","format":"date-time","description":"Timestamp when the balance was created."},"expiresAt":{"type":"string","format":"date-time","description":"Timestamp when the balance expires (if applicable)."}},"title":"LoyaltyBalanceProgramsPidActiveBalanceGetResponsesContentApplicationJsonSchemaActiveBalancesItems"},"Balance_getActiveBalancesApi_Response_200":{"type":"object","properties":{"count":{"type":"integer","format":"int64","description":"Total number of active balances."},"loyaltyProgramId":{"type":"string","format":"uuid","description":"Unique identifier of the loyalty program."},"contactId":{"type":"integer","format":"int64","description":"Unique identifier of the contact."},"balanceDefinitionId":{"type":"string","format":"uuid","description":"Unique identifier of the balance definition."},"activeBalances":{"type":"array","items":{"$ref":"#/components/schemas/LoyaltyBalanceProgramsPidActiveBalanceGetResponsesContentApplicationJsonSchemaActiveBalancesItems"},"description":"List of active balances."}},"description":"Active balance response for a specific contact and balance definition.","title":"Balance_getActiveBalancesApi_Response_200"},"LoyaltyBalanceProgramsPidTransactionHistoryGetParametersSortField":{"type":"string","enum":["createdAt"],"default":"createdAt","title":"LoyaltyBalanceProgramsPidTransactionHistoryGetParametersSortField"},"LoyaltyBalanceProgramsPidTransactionHistoryGetParametersSort":{"type":"string","enum":["asc","desc"],"title":"LoyaltyBalanceProgramsPidTransactionHistoryGetParametersSort"},"LoyaltyBalanceProgramsPidTransactionHistoryGetParametersStatus":{"type":"string","enum":["draft","completed","rejected","cancelled","expired"],"title":"LoyaltyBalanceProgramsPidTransactionHistoryGetParametersStatus"},"LoyaltyBalanceProgramsPidTransactionHistoryGetParametersTransactionType":{"type":"string","enum":["credit","debit"],"title":"LoyaltyBalanceProgramsPidTransactionHistoryGetParametersTransactionType"},"LoyaltyBalanceProgramsPidTransactionHistoryGetResponsesContentApplicationJsonSchemaTransactionHistoryItemsTransactionType":{"type":"string","enum":["credit","debit"],"description":"The type of the transaction.","title":"LoyaltyBalanceProgramsPidTransactionHistoryGetResponsesContentApplicationJsonSchemaTransactionHistoryItemsTransactionType"},"LoyaltyBalanceProgramsPidTransactionHistoryGetResponsesContentApplicationJsonSchemaTransactionHistoryItems":{"type":"object","properties":{"amount":{"type":"string","title":"float","description":"The transaction amount."},"transactionType":{"$ref":"#/components/schemas/LoyaltyBalanceProgramsPidTransactionHistoryGetResponsesContentApplicationJsonSchemaTransactionHistoryItemsTransactionType","description":"The type of the transaction."},"balanceExpirationDate":{"type":"string","description":"Expiration date of the balance associated with this transaction."},"cancelledAt":{"type":"string","description":"Timestamp when the transaction was canceled, if applicable."},"completedAt":{"type":"string","description":"Timestamp when the transaction was successfully completed."},"createdAt":{"type":"string","description":"Timestamp when the transaction was initiated."},"id":{"type":"string","description":"Unique identifier of the transaction."},"meta":{"type":"object","additionalProperties":{"description":"Any type"},"description":"Optional metadata associated with the transaction."},"rejectReason":{"type":"string","description":"Reason for rejection, if the transaction was declined."},"rejectedAt":{"type":"string","description":"Timestamp when the transaction was rejected."},"status":{"type":"string","description":"Current status of the transaction (e.g., pending, completed, rejected)."}},"description":"Represents a record of a past transaction, including status and key timestamps.","title":"LoyaltyBalanceProgramsPidTransactionHistoryGetResponsesContentApplicationJsonSchemaTransactionHistoryItems"},"Balance_getTransactionHistoryApi_Response_200":{"type":"object","properties":{"balanceDefinitionId":{"type":"string","description":"Unique identifier of the associated balance definition."},"contactId":{"type":"integer","description":"Unique identifier of the contact related to the transactions."},"count":{"type":"integer","description":"Total number of transactions in the history."},"loyaltyProgramId":{"type":"string","description":"Unique identifier of the associated loyalty program."},"transactionHistory":{"type":"array","items":{"$ref":"#/components/schemas/LoyaltyBalanceProgramsPidTransactionHistoryGetResponsesContentApplicationJsonSchemaTransactionHistoryItems"},"description":"List of past transactions associated with the balance."}},"description":"Response containing transaction history details for a specific balance and contact.","title":"Balance_getTransactionHistoryApi_Response_200"},"LoyaltyTierProgramsPidTierGroupsPostRequestBodyContentApplicationJsonSchemaDowngradeStrategy":{"type":"string","enum":["real_time","membership_anniversary","tier_anniversary"],"default":"real_time","description":"Select real_time to downgrade tier on real time balance updates. Select membership_anniversary to downgrade tier on subscription anniversary. Select tier_anniversary to downgrade tier on tier anniversary.","title":"LoyaltyTierProgramsPidTierGroupsPostRequestBodyContentApplicationJsonSchemaDowngradeStrategy"},"LoyaltyTierProgramsPidTierGroupsPostRequestBodyContentApplicationJsonSchemaMeta":{"type":"object","properties":{"isInternal":{"type":"boolean","description":"Indicates whether the tier group is internal."}},"description":"Additional metadata for the tier group.","title":"LoyaltyTierProgramsPidTierGroupsPostRequestBodyContentApplicationJsonSchemaMeta"},"LoyaltyTierProgramsPidTierGroupsPostRequestBodyContentApplicationJsonSchemaUpgradeStrategy":{"type":"string","enum":["real_time","membership_anniversary","tier_anniversary"],"default":"real_time","description":"Select real_time to upgrade tier on real time balance updates. Select membership_anniversary to upgrade tier on subscription anniversary. Select tier_anniversary to upgrade tier on tier anniversary.","title":"LoyaltyTierProgramsPidTierGroupsPostRequestBodyContentApplicationJsonSchemaUpgradeStrategy"},"LoyaltyTierProgramsPidTierGroupsPostRequestBodyContentApplicationJsonSchemaUpgradeScheduleDurationUnit":{"type":"string","enum":["day","week","month","year"],"description":"Duration unit for the schedule.","title":"LoyaltyTierProgramsPidTierGroupsPostRequestBodyContentApplicationJsonSchemaUpgradeScheduleDurationUnit"},"LoyaltyTierProgramsPidTierGroupsPostRequestBodyContentApplicationJsonSchemaUpgradeScheduleDurationModifier":{"type":"string","enum":["start_of_period","end_of_period"],"description":"Modifier for the duration.","title":"LoyaltyTierProgramsPidTierGroupsPostRequestBodyContentApplicationJsonSchemaUpgradeScheduleDurationModifier"},"LoyaltyTierProgramsPidTierGroupsPostRequestBodyContentApplicationJsonSchemaUpgradeSchedule":{"type":"object","properties":{"durationValue":{"type":"integer","description":"Duration value for the schedule."},"durationUnit":{"$ref":"#/components/schemas/LoyaltyTierProgramsPidTierGroupsPostRequestBodyContentApplicationJsonSchemaUpgradeScheduleDurationUnit","description":"Duration unit for the schedule."},"durationModifier":{"$ref":"#/components/schemas/LoyaltyTierProgramsPidTierGroupsPostRequestBodyContentApplicationJsonSchemaUpgradeScheduleDurationModifier","description":"Modifier for the duration."},"scheduledDate":{"type":"string","description":"Scheduled date in DD/MM format."}},"description":"Schedule configuration for tier upgrades. Required when upgradeStrategy is set to a schedule-based strategy.","title":"LoyaltyTierProgramsPidTierGroupsPostRequestBodyContentApplicationJsonSchemaUpgradeSchedule"},"LoyaltyTierProgramsPidTierGroupsPostRequestBodyContentApplicationJsonSchemaDowngradeScheduleDurationUnit":{"type":"string","enum":["day","week","month","year"],"description":"Duration unit for the schedule.","title":"LoyaltyTierProgramsPidTierGroupsPostRequestBodyContentApplicationJsonSchemaDowngradeScheduleDurationUnit"},"LoyaltyTierProgramsPidTierGroupsPostRequestBodyContentApplicationJsonSchemaDowngradeScheduleDurationModifier":{"type":"string","enum":["start_of_period","end_of_period"],"description":"Modifier for the duration.","title":"LoyaltyTierProgramsPidTierGroupsPostRequestBodyContentApplicationJsonSchemaDowngradeScheduleDurationModifier"},"LoyaltyTierProgramsPidTierGroupsPostRequestBodyContentApplicationJsonSchemaDowngradeSchedule":{"type":"object","properties":{"durationValue":{"type":"integer","description":"Duration value for the schedule."},"durationUnit":{"$ref":"#/components/schemas/LoyaltyTierProgramsPidTierGroupsPostRequestBodyContentApplicationJsonSchemaDowngradeScheduleDurationUnit","description":"Duration unit for the schedule."},"durationModifier":{"$ref":"#/components/schemas/LoyaltyTierProgramsPidTierGroupsPostRequestBodyContentApplicationJsonSchemaDowngradeScheduleDurationModifier","description":"Modifier for the duration."},"scheduledDate":{"type":"string","description":"Scheduled date in DD/MM format."}},"description":"Schedule configuration for tier downgrades. Required when downgradeStrategy is set to a schedule-based strategy.","title":"LoyaltyTierProgramsPidTierGroupsPostRequestBodyContentApplicationJsonSchemaDowngradeSchedule"},"TierGroupDowngradeStrategy":{"type":"string","enum":["real_time","membership_anniversary","tier_anniversary"],"default":"real_time","description":"Select real_time to downgrade tier on real time balance updates. Select membership_anniversary to downgrade tier on subscription anniversary. Select tier_anniversary to downgrade tier on tier anniversary.","title":"TierGroupDowngradeStrategy"},"TierGroupUpgradeStrategy":{"type":"string","enum":["real_time","membership_anniversary","tier_anniversary"],"default":"real_time","description":"Select real_time to upgrade tier on real time balance updates. Select membership_anniversary to upgrade tier on subscription anniversary. Select tier_anniversary to upgrade tier on tier anniversary.","title":"TierGroupUpgradeStrategy"},"TierGroupUpgradeScheduleDurationUnit":{"type":"string","enum":["day","week","month","year"],"description":"Duration unit for the schedule.","title":"TierGroupUpgradeScheduleDurationUnit"},"TierGroupUpgradeScheduleDurationModifier":{"type":"string","enum":["start_of_period","end_of_period"],"description":"Modifier for the duration.","title":"TierGroupUpgradeScheduleDurationModifier"},"TierGroupUpgradeSchedule":{"type":"object","properties":{"strategy":{"type":"string","description":"Schedule strategy type."},"durationValue":{"type":"integer","description":"Duration value for the schedule."},"durationUnit":{"$ref":"#/components/schemas/TierGroupUpgradeScheduleDurationUnit","description":"Duration unit for the schedule."},"durationModifier":{"$ref":"#/components/schemas/TierGroupUpgradeScheduleDurationModifier","description":"Modifier for the duration."},"scheduledDate":{"type":"string","description":"Scheduled date in DD/MM format."}},"description":"Schedule configuration for tier upgrades.","title":"TierGroupUpgradeSchedule"},"TierGroupDowngradeScheduleDurationUnit":{"type":"string","enum":["day","week","month","year"],"description":"Duration unit for the schedule.","title":"TierGroupDowngradeScheduleDurationUnit"},"TierGroupDowngradeScheduleDurationModifier":{"type":"string","enum":["start_of_period","end_of_period"],"description":"Modifier for the duration.","title":"TierGroupDowngradeScheduleDurationModifier"},"TierGroupDowngradeSchedule":{"type":"object","properties":{"strategy":{"type":"string","description":"Schedule strategy type."},"durationValue":{"type":"integer","description":"Duration value for the schedule."},"durationUnit":{"$ref":"#/components/schemas/TierGroupDowngradeScheduleDurationUnit","description":"Duration unit for the schedule."},"durationModifier":{"$ref":"#/components/schemas/TierGroupDowngradeScheduleDurationModifier","description":"Modifier for the duration."},"scheduledDate":{"type":"string","description":"Scheduled date in DD/MM format."}},"description":"Schedule configuration for tier downgrades.","title":"TierGroupDowngradeSchedule"},"tierGroup":{"type":"object","properties":{"createdAt":{"type":"string","format":"date-time","description":"Timestamp when the tier group was created"},"downgradeStrategy":{"$ref":"#/components/schemas/TierGroupDowngradeStrategy","default":"real_time","description":"Select real_time to downgrade tier on real time balance updates. Select membership_anniversary to downgrade tier on subscription anniversary. Select tier_anniversary to downgrade tier on tier anniversary."},"id":{"type":"string","format":"uuid","description":"Tier group unique identifier"},"loyaltyProgramId":{"type":"string","format":"uuid","description":"Associated loyalty program Id"},"name":{"type":"string","description":"Tier group name"},"tierOrder":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Order of the tiers in the group in ascending order"},"updatedAt":{"type":"string","format":"date-time","description":"Timestamp when the tier group was last updated"},"upgradeStrategy":{"$ref":"#/components/schemas/TierGroupUpgradeStrategy","default":"real_time","description":"Select real_time to upgrade tier on real time balance updates. Select membership_anniversary to upgrade tier on subscription anniversary. Select tier_anniversary to upgrade tier on tier anniversary."},"upgradeSchedule":{"$ref":"#/components/schemas/TierGroupUpgradeSchedule","description":"Schedule configuration for tier upgrades."},"downgradeSchedule":{"$ref":"#/components/schemas/TierGroupDowngradeSchedule","description":"Schedule configuration for tier downgrades."}},"title":"tierGroup"},"LoyaltyTierProgramsPidTierGroupsGetParametersVersion":{"type":"string","enum":["active","draft"],"default":"draft","title":"LoyaltyTierProgramsPidTierGroupsGetParametersVersion"},"Tier_getListOfTierGroups_Response_200":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/tierGroup"}}},"title":"Tier_getListOfTierGroups_Response_200"},"LoyaltyTierProgramsPidTierGroupsGidPutRequestBodyContentApplicationJsonSchemaDowngradeStrategy":{"type":"string","enum":["real_time","membership_anniversary","tier_anniversary"],"default":"real_time","description":"Select real_time to downgrade tier on real time balance updates. Select membership_anniversary to downgrade tier on subscription anniversary. Select tier_anniversary to downgrade tier on tier anniversary.","title":"LoyaltyTierProgramsPidTierGroupsGidPutRequestBodyContentApplicationJsonSchemaDowngradeStrategy"},"LoyaltyTierProgramsPidTierGroupsGidPutRequestBodyContentApplicationJsonSchemaMeta":{"type":"object","properties":{"isInternal":{"type":"boolean","description":"Indicates whether the tier group is internal."}},"description":"Additional metadata for the tier group.","title":"LoyaltyTierProgramsPidTierGroupsGidPutRequestBodyContentApplicationJsonSchemaMeta"},"LoyaltyTierProgramsPidTierGroupsGidPutRequestBodyContentApplicationJsonSchemaUpgradeStrategy":{"type":"string","enum":["real_time","membership_anniversary","tier_anniversary"],"default":"real_time","description":"Select real_time to upgrade tier on real time balance updates. Select membership_anniversary to upgrade tier on subscription anniversary. Select tier_anniversary to upgrade tier on tier anniversary.","title":"LoyaltyTierProgramsPidTierGroupsGidPutRequestBodyContentApplicationJsonSchemaUpgradeStrategy"},"LoyaltyTierProgramsPidTierGroupsGidGetParametersVersion":{"type":"string","enum":["active","draft"],"default":"draft","title":"LoyaltyTierProgramsPidTierGroupsGidGetParametersVersion"},"LoyaltyTierProgramsPidTiersGetParametersVersion":{"type":"string","enum":["active","draft"],"default":"draft","title":"LoyaltyTierProgramsPidTiersGetParametersVersion"},"TierAccessConditionsItems":{"type":"object","properties":{"balanceDefinitionId":{"type":"string","format":"uuid","description":"Balance definition identifier"},"createdAt":{"type":"string","format":"date-time"},"minimumValue":{"type":"integer","description":"Minimum value required to access this tier"},"updatedAt":{"type":"string","format":"date-time"}},"title":"TierAccessConditionsItems"},"TierTierRewardsItems":{"type":"object","properties":{"createdAt":{"type":"string","format":"date-time"},"rewardId":{"type":"string","format":"uuid","description":"Reward to be attributed on tier assignment"},"updatedAt":{"type":"string","format":"date-time"}},"title":"TierTierRewardsItems"},"tier":{"type":"object","properties":{"accessConditions":{"type":"array","items":{"$ref":"#/components/schemas/TierAccessConditionsItems"},"description":"Conditions required to access this tier"},"createdAt":{"type":"string","format":"date-time"},"groupId":{"type":"string","format":"uuid","description":"Associated group Id"},"imageRef":{"type":"string","description":"Tier image reference"},"loyaltyProgramId":{"type":"string","format":"uuid","description":"Associated loyalty program Id"},"name":{"type":"string","description":"Tier name"},"tierId":{"type":"string","format":"uuid","description":"Tier id"},"tierRewards":{"type":"array","items":{"$ref":"#/components/schemas/TierTierRewardsItems"},"description":"Rewards associated with this tier"},"updatedAt":{"type":"string","format":"date-time"}},"title":"tier"},"Tier_getLoyaltyProgramTier_Response_200":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/tier"}}},"title":"Tier_getLoyaltyProgramTier_Response_200"},"LoyaltyTierProgramsPidTierGroupsGidTiersPostRequestBodyContentApplicationJsonSchemaAccessConditionsItems":{"type":"object","properties":{"balanceDefinitionId":{"type":"string","format":"uuid","description":"Balance definition identifier for accessing the tier"},"minimumValue":{"type":"integer","description":"Minimum value required to access the tier"}},"title":"LoyaltyTierProgramsPidTierGroupsGidTiersPostRequestBodyContentApplicationJsonSchemaAccessConditionsItems"},"LoyaltyTierProgramsPidTierGroupsGidTiersPostRequestBodyContentApplicationJsonSchemaTierRewardsItems":{"type":"object","properties":{"rewardId":{"type":"string","format":"uuid","description":"Reward unique identifier"}},"title":"LoyaltyTierProgramsPidTierGroupsGidTiersPostRequestBodyContentApplicationJsonSchemaTierRewardsItems"},"LoyaltyTierProgramsPidTiersTidPutRequestBodyContentApplicationJsonSchemaAccessConditionsItems":{"type":"object","properties":{"balanceDefinitionId":{"type":"string","format":"uuid","description":"Balance definition identifier for accessing the tier"},"minimumValue":{"type":"integer","description":"Minimum value required to access the tier"}},"title":"LoyaltyTierProgramsPidTiersTidPutRequestBodyContentApplicationJsonSchemaAccessConditionsItems"},"LoyaltyTierProgramsPidTiersTidPutRequestBodyContentApplicationJsonSchemaTierRewardsItems":{"type":"object","properties":{"rewardId":{"type":"string","format":"uuid","description":"Reward unique identifier"}},"title":"LoyaltyTierProgramsPidTiersTidPutRequestBodyContentApplicationJsonSchemaTierRewardsItems"},"Tier_addSubscriptionToTier_Response_200":{"type":"object","properties":{"contactId":{"type":"integer","description":"Contact to which the tier is assigned"},"createdAt":{"type":"string","format":"date-time"},"groupId":{"type":"string","format":"uuid","description":"Group Id to which the tier is associated"},"id":{"type":"string","format":"uuid","description":"Unique identifier for the assigned tier"},"loyaltyProgramId":{"type":"string","format":"uuid","description":"Associated loyalty program Id"},"meta":{"type":"object","additionalProperties":{"description":"Any type"},"description":"object"},"updatedAt":{"type":"string","format":"date-time"}},"title":"Tier_addSubscriptionToTier_Response_200"}},"securitySchemes":{"api-key":{"type":"apiKey","in":"header","name":"api-key","description":"The API key should be passed in the request headers as `api-key` for authentication."}}}}