{"openapi":"3.0.1","info":{"title":"Employee credit","description":"Bluestone Employee credit API\n <b><h1>Deprecated endpoints:</h1></b><table border=\"1px;\"><tr><th style=\"text-align: center; vertical-align: middle;\"><b><h3>Uri</b></h3></th><th><b>Method</b></th><th><b><h3>Since</h3></b></th><th><b><h3>End of life</h3></b></th></tr></table>","version":"1-apps"},"servers":[{"url":"api.test.bluestonepim.com/employee-credit"}],"tags":[{"name":"Technical","description":"To get technical information."},{"name":"Credit Order","description":"To manage credit order."},{"name":"Credit Period","description":"To manage credit period."},{"name":"Credit Policy","description":"To manage credit policy."},{"name":"Customer profile links","description":"To manage customer profile links."},{"name":"Settings","description":"To manage settings."}],"paths":{"/technical/version":{"get":{"tags":["Technical"],"summary":"Show service version.","operationId":"presentVersion","responses":{"200":{"description":"Show service version."},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oauth2":[]}]}},"/creditOrders/status/bulk/read":{"post":{"tags":["Credit Order"],"summary":"Bulk get credit status.","operationId":"bulkGetCreditStatus","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkGetCreditStatusRequest"}}},"required":true},"responses":{"200":{"description":"List of credit status described.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BulkGetCreditStatusResponse"}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error"}},"security":[{"oauth2":[]}]}},"/creditOrders/{id}":{"get":{"tags":["Credit Order"],"summary":"Get a Credit order by ID.","operationId":"getCreditOrderById","parameters":[{"name":"id","in":"path","description":"Credit order id.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Credit order described","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditOrderResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"A given ID is not found"},"500":{"description":"Internal server error"}},"security":[{"oauth2":[]}]}},"/creditOrders":{"get":{"tags":["Credit Order"],"summary":"Get a list of Credit Order.","operationId":"getCreditOrderList","parameters":[{"name":"dateFrom","in":"query","description":"Date from.","schema":{"type":"string","format":"date-time","example":"2019-07-25T00:00:00Z"}},{"name":"dateTo","in":"query","description":"Date to.","schema":{"type":"string","format":"date-time","example":"2019-07-25T00:00:00Z"}},{"name":"customerProfileId","in":"query","description":"Customer profile id.","schema":{"type":"string"}},{"name":"customerUserId","in":"query","description":"Customer user id.","schema":{"type":"string"}},{"name":"status","in":"query","description":"Credit order status.","schema":{"type":"string","enum":["REGISTERED","CANCELLED"]}},{"name":"policyId","in":"query","description":"Policy id.","schema":{"type":"string"}},{"name":"sortField","in":"query","description":"Sort field.","schema":{"type":"string","default":"timeOfPurchase","enum":["id","customerUserId","customerProfileId","policyId","processId","credit","timeOfPurchase","status"]}},{"name":"sort","in":"query","description":"Sort direction.","schema":{"type":"string","default":"desc","enum":["asc","desc"]}},{"name":"page","in":"query","description":"Number of page.","schema":{"minimum":0,"type":"integer","format":"int32","default":0}},{"name":"pageSize","in":"query","description":"Size of page.","schema":{"maximum":1000,"minimum":1,"type":"integer","format":"int32","default":10}}],"responses":{"200":{"description":"Credit orders described","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListCreditOrderResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Invalid request"},"500":{"description":"Internal server error"}},"security":[{"oauth2":[]}]}},"/creditOrders/status/profile/{profileId}/user/{customerUserId}":{"get":{"tags":["Credit Order"],"summary":"Get credit status of a user under the given customer profile.","operationId":"getProfileCreditStatus","parameters":[{"name":"profileId","in":"path","description":"Profile ID.","required":true,"schema":{"type":"string"}},{"name":"customerUserId","in":"path","description":"Customer User ID.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Credit status described","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditStatusResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error"}},"security":[{"oauth2":[]}]}},"/creditOrders/validate":{"post":{"tags":["Credit Order"],"summary":"Validate user credit order.","operationId":"validateUserCredit","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidateCreditRequest"}}},"required":true},"responses":{"200":{"description":"Available credit describe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidateCreditResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Credit not found"},"500":{"description":"Internal server error"}},"security":[{"oauth2":[]}]}},"/creditPeriods/{id}":{"get":{"tags":["Credit Period"],"summary":"Get a Credit period by ID.","operationId":"getCreditOrderById_1","parameters":[{"name":"id","in":"path","description":"Period ID.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Credit period described","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditPeriodResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"A given ID is not found"},"500":{"description":"Internal server error"}},"security":[{"oauth2":[]}]}},"/creditPeriods":{"get":{"tags":["Credit Period"],"summary":"Get a list of Credit Period.","operationId":"getCreditPeriodList","parameters":[{"name":"status","in":"query","description":"Credit period status.","schema":{"type":"string","enum":["ACTIVE","HISTORICAL","CONVERTING"]}},{"name":"policyId","in":"query","description":"Policy id.","schema":{"type":"string"}},{"name":"customerProfileId","in":"query","description":"Customer profile id.","schema":{"type":"string"}},{"name":"customerUserId","in":"query","description":"Customer user id.","schema":{"type":"string"}},{"name":"sortField","in":"query","description":"Sort field.","schema":{"type":"string","default":"createdAt","enum":["createdAt","startDate","endDate"]}},{"name":"sort","in":"query","description":"Sort direction.","schema":{"type":"string","default":"asc","enum":["asc","desc"]}},{"name":"page","in":"query","description":"Number of page.","schema":{"minimum":0,"type":"integer","format":"int32","default":0}},{"name":"pageSize","in":"query","description":"Size of page.","schema":{"maximum":1000,"minimum":1,"type":"integer","format":"int32","default":20}}],"responses":{"200":{"description":"List credit periods successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListCreditPeriodResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oauth2":[]}]}},"/creditPeriods/override":{"post":{"tags":["Credit Period"],"summary":"Override a credit period.","operationId":"overrideCreditPeriod","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OverridePeriodRequest"}}},"required":true},"responses":{"200":{"description":"Override successfully"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found policy"},"422":{"description":"Unprocessable entity"},"500":{"description":"Internal server error"}},"security":[{"oauth2":[]}]}},"/creditPeriods/reset":{"post":{"tags":["Credit Period"],"summary":"Reset a credit period.","operationId":"resetCreditPeriod","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResetPeriodRequest"}}},"required":true},"responses":{"200":{"description":"Reset successfully"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error"}},"security":[{"oauth2":[]}]}},"/creditPolicies":{"get":{"tags":["Credit Policy"],"summary":"Get a list of credit policy.","operationId":"getCreditPolicyList","parameters":[{"name":"name","in":"query","description":"Policy name.","schema":{"type":"string"}},{"name":"customerProfileId","in":"query","description":"Customer profile id.","schema":{"type":"string"}},{"name":"status","in":"query","description":"Policy status.","schema":{"type":"string","enum":["ACTIVE","INACTIVE","ARCHIVED"]}},{"name":"customerProfileName","in":"query","description":"Customer profile name.","schema":{"type":"string"}},{"name":"type","in":"query","description":"Policy type.","schema":{"type":"string","enum":["GLOBAL","CUSTOM"]}},{"name":"sortField","in":"query","description":"Sort field.","schema":{"type":"string","default":"name","enum":["id","name","startDate","credit","modifiedAt","modifiedBy"]}},{"name":"sort","in":"query","description":"Sort direction.","schema":{"type":"string","default":"asc","enum":["asc","desc"]}},{"name":"page","in":"query","description":"Number of page.","schema":{"minimum":0,"type":"integer","format":"int32","default":0}},{"name":"pageSize","in":"query","description":"Size of page.","schema":{"maximum":1000,"minimum":1,"type":"integer","format":"int32","default":10}}],"responses":{"200":{"description":"Credit policy described","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListCreditPolicyResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error"}},"security":[{"oauth2":[]}]},"post":{"tags":["Credit Policy"],"summary":"Create a credit policy.","operationId":"createCreditPolicy","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePolicyRequest"}}},"required":true},"responses":{"201":{"description":"Policy has been created","headers":{"Resource-ID":{"style":"simple","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditPolicyResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"The submitted data is invalid"},"500":{"description":"Internal server error"}},"security":[{"oauth2":[]}]}},"/creditPolicies/{id}":{"get":{"tags":["Credit Policy"],"summary":"Get a credit policy by ID.","operationId":"getCreditPolicyById","parameters":[{"name":"id","in":"path","description":"Policy id.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Credit policy described","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditPolicyResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"A given ID is not found"}},"security":[{"oauth2":[]}]},"put":{"tags":["Credit Policy"],"summary":"Update a credit policy.","operationId":"updateCreditPolicy","parameters":[{"name":"id","in":"path","description":"Policy id.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePolicyRequest"}}},"required":true},"responses":{"200":{"description":"Policy has been updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditPolicyResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Policy not found"},"422":{"description":"The submitted data is invalid"},"500":{"description":"Internal server error"}},"security":[{"oauth2":[]}]},"delete":{"tags":["Credit Policy"],"summary":"Archive a credit policy.","operationId":"deleteCreditPolicy","parameters":[{"name":"id","in":"path","description":"Policy id.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Incorrect Id or not found"},"500":{"description":"Internal server error"}},"security":[{"oauth2":[]}]}},"/creditPolicies/{id}/profiles":{"get":{"tags":["Credit Policy"],"summary":"List credit policy profiles.","operationId":"listCreditPoliciesProfiles","parameters":[{"name":"id","in":"path","description":"Policy id.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"List credit policy profiles success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListCreditPolicyProfileResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error"}},"security":[{"oauth2":[]}]}},"/customerProfiles/{id}/defaultPolicy":{"get":{"tags":["Customer profile links"],"summary":"Get default policy from profile","operationId":"getDefaultPolicy","parameters":[{"name":"id","in":"path","description":"Customer profile id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Get default policy successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditPolicyResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Default policy not found in the profile"}},"security":[{"oauth2":[]}]},"post":{"tags":["Customer profile links"],"summary":"Set default policy for customer profile.","operationId":"setDefaultPolicyForProfile","parameters":[{"name":"id","in":"path","description":"Customer profile id.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssociatePolicyRequest"}}},"required":true},"responses":{"200":{"description":"Set default successfully"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"The data is invalid"}},"security":[{"oauth2":[]}]}},"/customerProfiles/{id}/policies":{"get":{"tags":["Customer profile links"],"summary":"Get all policies from profile.","operationId":"getProfilePolicies","parameters":[{"name":"id","in":"path","description":"Customer profile id.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Get all policies successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListCustomerProfilePolicyResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Profile not found"}},"security":[{"oauth2":[]}]}},"/customerProfiles/{id}/userCustomPolicies":{"get":{"tags":["Customer profile links"],"summary":"Get user custom policies.","operationId":"getUserCustomPolicies","parameters":[{"name":"id","in":"path","description":"Customer profile id.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Number of page.","schema":{"minimum":0,"type":"integer","format":"int32","default":0}},{"name":"pageSize","in":"query","description":"Size of page.","schema":{"maximum":50,"minimum":1,"type":"integer","format":"int32","default":5}}],"responses":{"200":{"description":"Get user custom policies successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditPolicyResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Customer profile not found"}},"security":[{"oauth2":[]}]}},"/customerProfiles/{id}/users/{userId}/customPolicy":{"post":{"tags":["Customer profile links"],"summary":"Set custom policy for customer user.","operationId":"linkCustomPolicy","parameters":[{"name":"id","in":"path","description":"Customer profile id.","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"Customer user id.","required":true,"schema":{"type":"string"}},{"name":"skipValidation","in":"query","description":"Validate user belong to profile flag.","schema":{"type":"boolean"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssociatePolicyRequest"}}},"required":true},"responses":{"200":{"description":"Set successfully"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"The data is invalid"}},"security":[{"oauth2":[]}]},"delete":{"tags":["Customer profile links"],"summary":"Unlink custom policy from user.","operationId":"unlinkCustomUserPolicy","parameters":[{"name":"id","in":"path","description":"Customer profile id.","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"Customer user id.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Unlink custom policy from user successfully"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Custom policy not found in the user"}},"security":[{"oauth2":[]}]}},"/customerProfiles/{id}/policies/{policyId}":{"post":{"tags":["Customer profile links"],"summary":"Link a policy to customer profile.","operationId":"linkPolicyToProfile","parameters":[{"name":"id","in":"path","description":"Customer profile id.","required":true,"schema":{"type":"string"}},{"name":"policyId","in":"path","description":"Policy id.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Link successfully"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"The data is invalid"}},"security":[{"oauth2":[]}]},"delete":{"tags":["Customer profile links"],"summary":"Unlink a policy to customer profile.","operationId":"unlinkPolicyFromProfile","parameters":[{"name":"id","in":"path","description":"Customer profile id.","required":true,"schema":{"type":"string"}},{"name":"policyId","in":"path","description":"Policy id.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Link Successful"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Incorrect Id or not found"},"422":{"description":"Unprocessable"}},"security":[{"oauth2":[]}]}},"/settings":{"get":{"tags":["Settings"],"summary":"Get a setting.","operationId":"getSetting","responses":{"200":{"description":"Get setting successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettingResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Setting not found"}},"security":[{"oauth2":[]}]},"post":{"tags":["Settings"],"summary":"Create or update setting for advance feature. Only available for users with system role PM_ADMIN.","operationId":"saveSetting","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettingRequest"}}},"required":true},"responses":{"200":{"description":"Create or update setting successfully","headers":{"Resource-ID":{"style":"simple","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettingResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oauth2":[]}],"x-bluestone-system-role":{"role":["PM_ADMIN"],"s2sAllowed":false}},"delete":{"tags":["Settings"],"summary":"Remove a setting.","operationId":"removeSetting","responses":{"200":{"description":"Remove setting successfully"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Setting not found"}},"security":[{"oauth2":[]}]}}},"components":{"schemas":{"ErrorResponse":{"type":"object","properties":{"status":{"title":"Error status code.","type":"integer","format":"int32"},"error":{"title":"General error description.","type":"string"},"errorDetails":{"title":"List of errors details.","type":"array","items":{"$ref":"#/components/schemas/ErrorDetails"}},"requestId":{"title":"Request ID used for logging.","type":"string"},"timestamp":{"title":"Error timestamp.","type":"integer","format":"int64"},"quotaLimitExceededDetails":{"title":"Additional entity id list related to error","type":"array","items":{"$ref":"#/components/schemas/QuotaLimitExceededDetails"}}}},"ErrorDetails":{"type":"object","properties":{"message":{"title":"Error message.","type":"string"},"field":{"title":"Error related field.","type":"string"},"rejectedValue":{"title":"Invalid value causing error.","type":"string"}}},"QuotaLimitExceededDetails":{"type":"object","properties":{"quota":{"title":"Quota name.","type":"string"},"message":{"title":"Quota limit message.","type":"string"},"limit":{"title":"Quota limit.","type":"integer","format":"int32"},"entityId":{"title":"Id of the entity that caused the quota limit to be exceeded.","type":"string","nullable":true},"entityType":{"title":"Type of the entity that caused the quota limit to be exceeded.","type":"string","nullable":true}}},"BulkGetCreditStatusResponse":{"type":"object","properties":{"profileId":{"title":"Profile id.","type":"string"},"userId":{"title":"User id.","type":"string"},"status":{"$ref":"#/components/schemas/CreditStatusResponse"}}},"CreditAmountResult":{"type":"object","properties":{"id":{"title":"Id of credit amount.","type":"string"},"creditLimit":{"title":"Credit limit.","type":"number","format":"double"},"remainingCredit":{"title":"Remaining credit.","type":"number","format":"double"},"originalCreditLimit":{"title":"Original credit limit.","type":"number","format":"double"},"entityType":{"$ref":"#/components/schemas/EntityType"},"entityIds":{"title":"Entity ids.","type":"array","items":{"type":"string"}},"text":{"title":"Description text.","type":"string"},"rollOver":{"$ref":"#/components/schemas/RollOver"},"environmentalBonus":{"$ref":"#/components/schemas/EnvironmentalBonus"},"environmentalBonusLimit":{"title":"Environmental bonus limit.","type":"number","format":"double"},"remainingEnvironmentalBonus":{"title":"Remaining environmental bonus.","type":"number","format":"double"},"originalEnvironmentalBonus":{"title":"Original environmental bonus.","type":"number","format":"double"}}},"CreditBalance":{"title":"Policy.","type":"object","properties":{"id":{"title":"Id.","type":"string"},"name":{"title":"Credit policy name.","type":"string"},"status":{"$ref":"#/components/schemas/CreditPolicyStatus"},"type":{"title":"Type","type":"string"},"startDate":{"title":"Start date.","type":"string","format":"date-time"},"durationInMonths":{"title":"Duration in months.","type":"integer","format":"int32"},"creditAmounts":{"title":"List of credit amount result.","type":"array","items":{"$ref":"#/components/schemas/CreditAmountResult"}},"creditLimit":{"title":"Credit limit.","type":"number","format":"double"},"remainingCredit":{"title":"Remaining credit.","type":"number","format":"double"},"originalCreditLimit":{"title":"Original credit limit.","type":"number","format":"double"},"environmentalBonusLimit":{"title":"Environmental bonus limit.","type":"number","format":"double"},"remainingEnvironmentalBonus":{"title":"Remaining credit.","type":"number","format":"double"},"originalEnvironmentalBonus":{"title":"Original environmental bonus.","type":"number","format":"double"},"periodId":{"title":"Period id.","type":"string"},"periodStartDate":{"title":"Period start date.","type":"string","format":"date-time"},"periodEndDate":{"title":"Period end date.","type":"string","format":"date-time"},"useRollOverStartValue":{"title":"Is use roll over start value.","type":"boolean"},"startPeriodOnCreateUser":{"title":"Whether to set start period when creating the user.","type":"boolean","default":false},"isCustomPolicy":{"title":"Is custom policy.","type":"boolean"}}},"CreditPolicyStatus":{"title":"Credit policy status.","type":"string","enum":["ACTIVE","INACTIVE","ARCHIVED"]},"CreditStatusResponse":{"type":"object","properties":{"policy":{"$ref":"#/components/schemas/CreditBalance"},"available":{"title":"Is available.","type":"boolean"}}},"EntityType":{"title":"Entity type.","type":"string","enum":["GLOBAL","CATEGORY"]},"EnvironmentalBonus":{"type":"object","properties":{"enable":{"title":"Is enable environmental bonus.","type":"boolean"},"bonusPerMonth":{"title":"Bonus per month.","type":"number","format":"double"},"bonusMaxValue":{"title":"Bonus max value.","type":"number","format":"double"}}},"RollOver":{"type":"object","properties":{"enable":{"title":"Is enable rollover.","type":"boolean"},"maxValue":{"title":"Max value.","type":"number","format":"double"},"newMaximumCredit":{"title":"New maximum credit.","type":"number","format":"double"},"startValue":{"title":"Start value.","type":"number","format":"double"}}},"BulkGetCreditStatusRequest":{"required":["requests"],"type":"object","properties":{"requests":{"title":"List of requests.","maxItems":1000,"minItems":0,"type":"array","items":{"$ref":"#/components/schemas/GetCreditStatusRequest"}}}},"GetCreditStatusRequest":{"required":["profileId","userId"],"type":"object","properties":{"profileId":{"title":"Profile ID.","type":"string"},"userId":{"title":"User ID.","type":"string"}}},"CreditOrderResponse":{"type":"object","properties":{"id":{"title":"Credit order id.","type":"string"},"policyId":{"title":"Policy id.","type":"string"},"processId":{"title":"Process id.","type":"string"},"customerUserId":{"title":"Customer user id.","type":"string"},"customerProfileId":{"title":"Customer profile id.","type":"string"},"customerGroupId":{"title":"Customer group id.","type":"string"},"timeOfPurchase":{"title":"Time of purchase.","type":"string","format":"date-time"},"status":{"$ref":"#/components/schemas/CreditStatus"},"periodId":{"title":"Period id.","type":"string"}}},"CreditStatus":{"title":"Credit status.","type":"string","enum":["REGISTERED","CANCELLED"]},"ListCreditOrderResponse":{"type":"object","properties":{"data":{"title":"List of credit orders.","type":"array","items":{"$ref":"#/components/schemas/CreditOrderResponse"}},"total":{"title":"Total number of credit orders.","type":"integer","format":"int64"}}},"ValidateCreditResponse":{"type":"object","properties":{"valid":{"title":"Used to indicate that user can or cannot use the credit.","type":"boolean"},"useRollOverStartValue":{"title":"Use roll over stat value.","type":"boolean"},"message":{"title":"Validate message.","type":"string"}}},"ValidateCreditRequest":{"required":["credit","customerProfileId","customerUserId"],"type":"object","properties":{"customerUserId":{"title":"Customer user id.","type":"string"},"customerProfileId":{"title":"Customer profile id.","type":"string"},"credit":{"title":"Credit.","type":"object","additionalProperties":{"title":"Credit.","type":"number"}},"environmentalBonus":{"title":"Environmental bonus.","type":"object","additionalProperties":{"title":"Environmental bonus.","type":"number"}}}},"CreditAmount":{"type":"object","properties":{"id":{"title":"Id.","type":"string"},"modifiedAt":{"title":"Modified at.","type":"string","format":"date-time"},"modifiedBy":{"title":"Modified by.","type":"string"},"createdAt":{"title":"Created at.","type":"string","format":"date-time"},"createdBy":{"title":"Created by.","type":"string"},"organizationId":{"title":"Organization id.","type":"string"},"policyId":{"title":"Policy Id.","type":"string"},"text":{"title":"Text.","type":"string"},"creditLimit":{"title":"Credit limit.","type":"number","format":"double"},"entityType":{"title":"Entity type.","type":"string","enum":["GLOBAL","CATEGORY"]},"entityIds":{"title":"List of entity Id.","type":"array","items":{"title":"List of entity Id.","type":"string"}},"rollOver":{"$ref":"#/components/schemas/RollOver"},"environmentalBonus":{"$ref":"#/components/schemas/EnvironmentalBonus"}}},"CreditPeriod":{"type":"object","properties":{"id":{"title":"Id.","type":"string"},"modifiedAt":{"title":"Modified at.","type":"string","format":"date-time"},"modifiedBy":{"title":"Modified by.","type":"string"},"createdAt":{"title":"Created at.","type":"string","format":"date-time"},"createdBy":{"title":"Created by.","type":"string"},"organizationId":{"title":"Organization id.","type":"string"},"status":{"title":"Status.","type":"string"},"policyId":{"title":"Policy Id.","type":"string"},"creditLimit":{"title":"Credit limit.","type":"number"},"customerProfileId":{"title":"Customer profile Id.","type":"string"},"customerUserId":{"title":"Customer user Id.","type":"string"},"startDate":{"title":"Start date","type":"string"},"endDate":{"title":"End date.","type":"string"},"customCreditAmount":{"title":"Custom credit amount.","type":"object","additionalProperties":{"$ref":"#/components/schemas/CustomCreditAmount"}},"originalCreditAmount":{"title":"Credit amount.","type":"object","additionalProperties":{"$ref":"#/components/schemas/OriginalCreditAmount"}},"environmentalBonus":{"title":"Environmental bonus.","type":"object","additionalProperties":{"$ref":"#/components/schemas/EnvironmentalBonusLimit"}},"originalEnvironmentalBonus":{"title":"Original environmental bonus.","type":"object","additionalProperties":{"$ref":"#/components/schemas/OriginalEnvironmentalBonus"}},"useRollOverStartValue":{"title":"Use roll over start value.","type":"boolean"},"active":{"title":"Is active.","type":"boolean"},"onActiveDateRange":{"title":"Is on active data rage.","type":"boolean"}}},"CreditPeriodResponse":{"type":"object","properties":{"id":{"title":"Period id.","type":"string"},"status":{"title":"Period status.","type":"string"},"policyId":{"title":"Policy id.","type":"string"},"creditLimit":{"title":"Credit limit.","type":"number","format":"double"},"customerProfileId":{"title":"Customer profile id.","type":"string"},"customerUserId":{"title":"Customer user id.","type":"string"},"creditAmounts":{"title":"List of credit amounts.","type":"array","items":{"$ref":"#/components/schemas/CreditAmount"}},"startDate":{"title":"Start date","type":"string","format":"date-time"},"endDate":{"title":"End date","type":"string","format":"date-time"},"createdAt":{"title":"Created at","type":"string","format":"date-time"},"createdBy":{"title":"Created by","type":"string"},"modifiedAt":{"title":"Modified at","type":"string","format":"date-time"},"modifiedBy":{"title":"Modified at","type":"string"},"creditLimitAndCreditAmounts":{"$ref":"#/components/schemas/CreditPeriod"}}},"CustomCreditAmount":{"title":"Custom Credit Amount.","type":"object","properties":{"creditLimit":{"title":"Credit limit.","type":"number","format":"double"}}},"EnvironmentalBonusLimit":{"title":"Environmental bonus.","type":"object","properties":{"value":{"title":"Environmental bonus limit value.","type":"number","format":"double"}}},"OriginalCreditAmount":{"title":"Credit amount.","type":"object","properties":{"creditLimit":{"title":"Credit limit.","type":"number","format":"double"}}},"OriginalEnvironmentalBonus":{"title":"Original environmental bonus.","type":"object","properties":{"value":{"title":"Original environmental bonus value.","type":"number","format":"double"}}},"ListCreditPeriodResponse":{"type":"object","properties":{"data":{"title":"List of credit periods.","type":"array","items":{"$ref":"#/components/schemas/CreditPeriodResponse"}},"total":{"title":"Total number of credit periods.","type":"integer","format":"int64"}}},"OverridePeriodRequest":{"required":["customerProfileId","customerUserId","policyId","startDate"],"type":"object","properties":{"policyId":{"title":"Policy id.","type":"string"},"customerProfileId":{"title":"Customer profile id.","type":"string"},"customerUserId":{"title":"Customer user id.","type":"string"},"startDate":{"title":"Start date of the period. (ignore time).","type":"string","format":"date-time","example":"2021-06-18T00:00:00Z"},"customCreditAmount":{"title":"Custom Credit Amount.","type":"object","additionalProperties":{"$ref":"#/components/schemas/CustomCreditAmount"}},"environmentalBonus":{"title":"Environmental bonus.","type":"object","additionalProperties":{"$ref":"#/components/schemas/EnvironmentalBonusLimit"}},"requestBy":{"title":"Request by.","type":"string"}}},"ResetPeriodRequest":{"required":["customerProfileId","customerUserId","policyId"],"type":"object","properties":{"customerProfileId":{"title":"Customer profile id.","type":"string"},"customerUserId":{"title":"Customer user id.","type":"string"},"policyId":{"title":"Policy id.","type":"string"},"requestBy":{"title":"Request by.","type":"string"}}},"CreditAmountResponse":{"type":"object","properties":{"id":{"title":"Id of credit amount.","type":"string"},"creditLimit":{"title":"Credit limit.","type":"number","format":"double"},"entityType":{"$ref":"#/components/schemas/EntityType"},"entityIds":{"title":"Entity ids.","type":"array","items":{"type":"string"}},"text":{"title":"Description text.","type":"string"},"rollOver":{"$ref":"#/components/schemas/RollOver"},"environmentalBonus":{"$ref":"#/components/schemas/EnvironmentalBonus"}}},"CreditPolicyResponse":{"type":"object","properties":{"id":{"title":"Policy id.","type":"string"},"name":{"title":"Policy name.","type":"string"},"status":{"title":"Policy status.","type":"string","enum":["ACTIVE","INACTIVE","ARCHIVED"]},"type":{"title":"Policy type.","type":"string","enum":["GLOBAL","CUSTOM"]},"credit":{"title":"Credit.","type":"number","format":"double"},"startDate":{"title":"Start date.","type":"string","format":"date-time"},"durationInMonths":{"title":"Duration in months.","type":"integer","format":"int32"},"creditAmounts":{"title":"List of credit amounts.","type":"array","items":{"$ref":"#/components/schemas/CreditAmountResponse"}},"startPeriodOnCreateUser":{"title":"Whether to set start period when creating the user.","type":"boolean","default":false},"createdAt":{"title":"Created at.","type":"string","format":"date-time"},"createdBy":{"title":"Created by.","type":"string"},"modifiedAt":{"title":"Modified at.","type":"string","format":"date-time"},"modifiedBy":{"title":"Modified by.","type":"string"}}},"CreatePolicyRequest":{"required":["creditAmounts","durationInMonths","name","startDate","status","type"],"type":"object","properties":{"name":{"title":"Policy name.","type":"string"},"status":{"$ref":"#/components/schemas/CreditPolicyStatusRequest"},"type":{"title":"Policy type.","type":"string","default":"GLOBAL","enum":["GLOBAL","CUSTOM"]},"startDate":{"title":"Policy start date.","type":"string","format":"date-time","example":"2019-07-25T00:00:00Z"},"durationInMonths":{"title":"Duration in months","minimum":1,"type":"integer","format":"int32","default":12},"creditAmounts":{"title":"List of credit amount.","type":"array","items":{"$ref":"#/components/schemas/CreditAmountRequest"}},"startPeriodOnCreateUser":{"title":"Whether to set start period when creating the user.","type":"boolean","default":false}}},"CreditAmountRequest":{"title":"Credit amount.","required":["creditLimit"],"type":"object","properties":{"text":{"title":"Description text.","type":"string"},"creditLimit":{"title":"Credit limit.","minimum":0,"type":"number","format":"double","default":0},"entityType":{"$ref":"#/components/schemas/EntityType"},"entityIds":{"title":"Entity ids.","type":"array","items":{"title":"Entity ids.","type":"string"}},"rollOver":{"$ref":"#/components/schemas/RollOver"},"environmentalBonus":{"$ref":"#/components/schemas/EnvironmentalBonus"}}},"CreditPolicyStatusRequest":{"title":"Policy status.","type":"string","default":"ACTIVE","enum":["ACTIVE","INACTIVE","ARCHIVED"]},"ListCreditPolicyResponse":{"type":"object","properties":{"data":{"title":"List of credit policies.","type":"array","items":{"$ref":"#/components/schemas/CreditPolicyResponse"}},"total":{"title":"Total number of credit policies.","type":"integer","format":"int64"}}},"CreditPolicyProfileResponse":{"type":"object","properties":{"id":{"title":"Profile id.","type":"string"},"name":{"title":"Profile name.","type":"string"},"number":{"title":"Profile number.","type":"string"},"email":{"title":"Profile email.","type":"string"},"phone":{"title":"Profile phone.","type":"string"}}},"ListCreditPolicyProfileResponse":{"type":"object","properties":{"data":{"title":"List of credit policy profiles.","type":"array","items":{"$ref":"#/components/schemas/CreditPolicyProfileResponse"}},"total":{"title":"Total number of items.","type":"integer","format":"int64"}}},"UpdateCreditAmountRequest":{"required":["creditLimit"],"type":"object","properties":{"text":{"title":"Description text.","type":"string"},"creditLimit":{"title":"Credit limit.","minimum":0,"type":"number","format":"double","default":0},"entityType":{"$ref":"#/components/schemas/EntityType"},"entityIds":{"title":"Entity ids.","type":"array","items":{"title":"Entity ids.","type":"string"}},"rollOver":{"$ref":"#/components/schemas/RollOver"},"environmentalBonus":{"$ref":"#/components/schemas/EnvironmentalBonus"},"id":{"title":"Credit amount id.","type":"string"}}},"UpdatePolicyRequest":{"required":["creditAmounts","durationInMonths","startDate","status","type"],"type":"object","properties":{"name":{"title":"Policy name.","type":"string"},"status":{"title":"Policy status.","type":"string","enum":["ACTIVE","INACTIVE","ARCHIVED"]},"type":{"title":"Policy type.","type":"string","enum":["GLOBAL","CUSTOM"]},"startDate":{"title":"Start date.","type":"string","format":"date-time","example":"2019-07-25T00:00:00Z"},"durationInMonths":{"title":"Duration in months.","minimum":1,"type":"integer","format":"int32"},"creditAmounts":{"title":"Credit amounts.","type":"array","items":{"$ref":"#/components/schemas/UpdateCreditAmountRequest"}},"startPeriodOnCreateUser":{"title":"Whether to set start period when creating the user.","type":"boolean","default":false}}},"CustomerProfilePolicyResponse":{"type":"object","properties":{"id":{"title":"Id.","type":"string"},"modifiedAt":{"title":"Modified at.","type":"string","format":"date-time"},"modifiedBy":{"title":"Modified by.","type":"string"},"createdAt":{"title":"Created at.","type":"string","format":"date-time"},"createdBy":{"title":"Created by.","type":"string"},"organizationId":{"title":"Organization id.","type":"string"},"policyId":{"title":"Policy id.","type":"string"},"profileId":{"title":"Profile id.","type":"string"},"defaultPolicy":{"title":"Is default policy.","type":"boolean"},"policyName":{"title":"Policy name.","type":"string"},"policyStatus":{"title":"Policy status.","type":"string"}}},"ListCustomerProfilePolicyResponse":{"type":"object","properties":{"data":{"title":"List of customer profile policies.","type":"array","items":{"$ref":"#/components/schemas/CustomerProfilePolicyResponse"}},"total":{"title":"Total number of customer profile policies.","type":"integer","format":"int64"}}},"AssociatePolicyRequest":{"type":"object","properties":{"policyId":{"title":"Policy ID.","type":"string"}}},"SettingResponse":{"type":"object","properties":{"enableAdvanceFeatures":{"title":"Enable advance features.","type":"boolean"},"organizationId":{"title":"Organization id.","type":"string"},"createdAt":{"title":"Created at.","type":"string"},"createdBy":{"title":"Created by.","type":"string"},"modifiedAt":{"title":"Modified at.","type":"string"},"modifiedBy":{"title":"Modified by.","type":"string"}}},"SettingRequest":{"type":"object","properties":{"enableAdvanceFeatures":{"title":"Enable advance features.","type":"boolean"}}}},"securitySchemes":{"oauth2":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://idp.test.bluestonepim.com/op/token","scopes":{"openid profile systemRoles permissions organization email name nickname":"All needed scopes."}}}}}},"x-amazon-apigateway-api-key-source":"AUTHORIZER"}