Create Configuration Object
/pdc/config
Request
There are no request parameters for this operation.
- application/json
object-
attributeSpecMaps: array
attributeSpecMaps
-
balanceElements: array
balanceElements
-
businessProfiles: array
businessProfiles
-
customAnalyzerRules: array
customAnalyzerRules
-
deliverables: array
deliverables
-
dynamicQuotaSelectors: array
dynamicQuotaSelectors
-
geoZoneModel: array
geoZoneModel
-
holidayCalendar: array
holidayCalendar
-
itemTypeSelectors: array
itemTypeSelectors
-
policyLabels: array
policyLabels
-
policySpecifications: array
policySpecifications
-
priceTagConfigs: array
priceTagConfigs
-
productSpecCharacteristicTemplates: array
productSpecCharacteristicTemplates
-
rumConfigurations: array
rumConfigurations
-
standardZoneModel: array
standardZoneModel
-
taxCodes: array
taxCodes
-
taxExemptionCodes: array
taxExemptionCodes
-
valueMap: array
valueMap
-
zoneResultConfiguration: array
zoneResultConfiguration
object-
leftOperand: object
ARumExpressionJXB
-
operation: string
Allowed Values:
[ "ADD", "DIVIDE", "MULTIPLY", "SUBTRACT" ] -
rightOperand: object
ARumExpressionJXB
object-
code: string
-
consumptionRule: string
Allowed Values:
[ "EARLIEST_EXPIRATION", "EARLIEST_EXPIRATION_EARLIEST_START", "EARLIEST_EXPIRATION_LATEST_START", "EARLIEST_START", "EARLIEST_START_EARLIEST_EXPIRATION", "EARLIEST_START_LATEST_EXPIRATION", "LATEST_EXPIRATION", "LATEST_EXPIRATION_EARLIEST_START", "LATEST_EXPIRATION_LATEST_START", "LATEST_START", "LATEST_START_EARLIEST_EXPIRATION", "LATEST_START_LATEST_EXPIRATION", "NONE" ]Specify the order in which sub-balances of a balance element are consumed. -
counter: boolean
-
description: string
-
expiryNotification: boolean
-
externalID: string
-
foldable: boolean
-
internalId: string
-
name: string
-
newName: string
-
numericCode: integer
(int64)
-
obsolete: boolean
-
priceListName: string
-
roundingRules: array
roundingRules
-
symbol: string
-
transientElement: boolean
object-
applyToChildEvents: boolean
-
eventName: string
-
precision: integer
-
processingStage: string
Allowed Values:
[ "ALTERATION", "AR", "CHARGING", "TAXATION" ] -
roundingMode: string
Allowed Values:
[ "DOWN", "DOWN_ALT", "EVEN", "FLOOR", "FLOOR_ALT", "NEAREST", "UP" ]Specifies how a RUM quantity is rounded. -
toleranceMax: number
(double)
-
toleranceMin: number
(double)
-
tolerancePercentage: number
(double)
object-
leftOperand: object
CustomRuleExpressionJXB
-
operator: string
Allowed Values:
[ "AND", "EQUAL_TO", "GREATER_THAN", "GREATER_THAN_EQUAL", "INTERSECT", "IN_LIST", "LESS_THAN", "LESS_THAN_EQUAL", "NOT", "NOT_EQUAL_TO", "OR", "REGEX" ] -
rightOperand: object
CustomRuleExpressionJXB
-
seperator: string
object-
lhsFieldIdentifier: object
FieldIdentifierJXB
-
operator: string
Allowed Values:
[ "AND", "EQUAL_TO", "GREATER_THAN", "GREATER_THAN_EQUAL", "INTERSECT", "IN_LIST", "LESS_THAN", "LESS_THAN_EQUAL", "NOT", "NOT_EQUAL_TO", "OR", "REGEX" ] -
rhsFieldIdentifier: object
FieldIdentifierJXB
-
seperator: string
object-
lhsFieldKind: string
Allowed Values:
[ "CUSTOMER_SPEC_FIELD", "EVENT_SPEC_FIELD", "PRODUCT_SPEC_FIELD", "PROFILE_SPEC_FIELD" ] -
lhsFieldName: string
-
operator: string
Allowed Values:
[ "AND", "EQUAL_TO", "GREATER_THAN", "GREATER_THAN_EQUAL", "INTERSECT", "IN_LIST", "LESS_THAN", "LESS_THAN_EQUAL", "NOT", "NOT_EQUAL_TO", "OR", "REGEX" ] -
rhsFieldKind: string
Allowed Values:
[ "CUSTOMER_SPEC_FIELD", "EVENT_SPEC_FIELD", "PRODUCT_SPEC_FIELD", "PROFILE_SPEC_FIELD" ] -
rhsFieldName: string
-
seperator: string
object-
fieldKind: string
Allowed Values:
[ "CUSTOMER_SPEC_FIELD", "EVENT_SPEC_FIELD", "PRODUCT_SPEC_FIELD", "PROFILE_SPEC_FIELD" ] -
fieldName: string
-
fieldValue: string
-
operator: string
Allowed Values:
[ "AND", "EQUAL_TO", "GREATER_THAN", "GREATER_THAN_EQUAL", "INTERSECT", "IN_LIST", "LESS_THAN", "LESS_THAN_EQUAL", "NOT", "NOT_EQUAL_TO", "OR", "REGEX" ] -
seperator: string
object-
fieldSelector: object
FieldSelectorJXB
-
qualifier: string
Allowed Values:
[ "ORIGINATING", "TERMINATING" ]
object-
conditionFieldKind: string
Allowed Values:
[ "CUSTOMER_SPEC_FIELD", "EVENT_SPEC_FIELD", "PRODUCT_SPEC_FIELD", "PROFILE_SPEC_FIELD" ] -
conditionFieldName: string
-
operator: string
Allowed Values:
[ "AND", "EQUAL_TO", "GREATER_THAN", "GREATER_THAN_EQUAL", "INTERSECT", "IN_LIST", "LESS_THAN", "LESS_THAN_EQUAL", "NOT", "NOT_EQUAL_TO", "OR", "REGEX" ] -
selectorFieldKind: string
Allowed Values:
[ "CUSTOMER_SPEC_FIELD", "EVENT_SPEC_FIELD", "PRODUCT_SPEC_FIELD", "PROFILE_SPEC_FIELD" ] -
selectorFieldName: string
object-
deliverableType: string
Allowed Values:
[ "PRODUCT", "SERVICE" ] -
description: string
-
entitlement: object
EntitlementJXB
-
externalID: string
-
internalId: string
-
name: string
-
newName: string
-
obsolete: boolean
-
permittedName: string
-
permittedType: string
Allowed Values:
[ "CUSTOMER", "PRODUCT" ] -
priceListName: string
-
productType: string
Allowed Values:
[ "ADMINISTRATIVE", "PHYSICAL_GOODS" ] -
revenueBasisItem: object
RevenueBasisItemJXB
-
revenueGlid: string
object-
allowanceValidityMode: string
Allowed Values:
[ "ALWAYS", "CURRENT_BILLING", "CURRENT_RECURRING", "MULTIPLE_BILLING", "MULTIPLE_RECURRING", "NEXT_BILLING" ] -
allowanceValidityPeriod: integer
-
allowanceValue: number
(double)
-
description: string
-
entitlementType: string
Allowed Values:
[ "ALLOWANCE_ONE_TIME", "ALLOWANCE_RECURRING", "FEATURE" ] -
featureValue: string
-
name: string
-
resourceBalElemNumCode: integer
(int64)
-
revenueBasisItem: object
RevenueBasisItemJXB
-
subscriptionCycle: string
Allowed Values:
[ "ANNUAL", "BIMONTHLY", "MONTHLY", "QUARTERLY", "SEMI_ANNUAL" ]
object-
amount: number
(double)
-
currencyBalElemNumCode: integer
(int64)
-
milestoneType: string
Allowed Values:
[ "FUTURE", "IMMEDIATE" ] -
quantity: number
(double)
-
scalable: boolean
-
timeUnit: string
Allowed Values:
[ "DAY", "MONTH", "YEAR" ] -
timeValue: integer
-
type: string
Allowed Values:
[ "RATE_BASED", "VALUE_BASED" ]
object-
key: string
-
unit: string
Allowed Values:
[ "BYTES", "DAYS", "GBYTES", "HOURS", "KBYTES", "MBYTES", "MINUTES", "NONE", "SECONDS" ] -
value: number
(double)
object-
dynamicQuotaBinaryExpression: object
DynamicQuotaBinaryExpressionJXB
-
operator: string
Allowed Values:
[ "EQUAL_TO", "GREATER_THAN", "GREATER_THAN_EQUAL", "LESS_THAN", "LESS_THAN_EQUAL", "NOT_EQUAL_TO" ] -
value: number
(double)
object-
dynamicQuotaBinaryOperator: string
Allowed Values:
[ "ADD", "DIVIDE", "MULTIPLY", "SUBTRACT" ] -
leftOperand: object
DynamicQuotaBinaryOperandExpressionJXB
-
rightOperand: object
DynamicQuotaBinaryOperandExpressionJXB
object-
fieldKind: string
Allowed Values:
[ "CUSTOMER_SPEC_FIELD", "EVENT_SPEC_FIELD", "PRODUCT_SPEC_FIELD", "PROFILE_SPEC_FIELD" ] -
fieldName: string
-
fieldValue: string
-
operator: string
Allowed Values:
[ "CONTAINS", "EQUAL_TO", "GREATER_THAN", "GREATER_THAN_EQUAL", "IN_LIST", "LESS_THAN", "LESS_THAN_EQUAL", "NOT_EQUAL_TO" ] -
separator: string
object-
dynamicQuotaBinaryExpression: object
DynamicQuotaBinaryExpressionJXB
-
dynamicQuotaNumberExpression: object
DynamicQuotaNumberExpressionJXB
-
fieldName: string
-
unit: string
Allowed Values:
[ "BYTES", "DAYS", "GBYTES", "HOURS", "KBYTES", "MBYTES", "MINUTES", "NONE", "SECONDS" ]
object-
day: integer
(int32)
-
month: string
Allowed Values:
[ "APR", "AUG", "DEC", "FEB", "JAN", "JUL", "JUN", "MAR", "MAY", "NOV", "OCT", "SEP" ] -
name: string
-
year: integer
(int32)
object-
applicableToAllBalImpact: boolean
-
applicableToAllChildEvents: boolean
-
applicableToAllChildServices: boolean
-
applicableToName: string
-
description: string
-
eventSpecName: string
-
externalID: string
-
internalId: string
-
itemGroup: string
-
itemSpec: array
itemSpec
-
name: string
-
newName: string
-
obsolete: boolean
-
priceListName: string
-
rule: array
rule
object-
aggregationType: string
Allowed Values:
[ "CUMULATIVE_NONPRECREATE", "CUMULATIVE_PRECREATE", "INDIVIDUAL_NONPRECREATE" ] -
category: string
-
default: boolean
-
description: string
-
externalID: string
-
internalId: string
-
name: string
-
newName: string
-
obsolete: boolean
-
priceListName: string
-
type: string
object-
fieldKind: string
Allowed Values:
[ "CHARGING_RESULT_SPEC", "CUSTOMER_SPEC_FIELD", "EVENT_SPEC_FIELD", "PRODUCT_SPEC_FIELD", "PROFILE_SPEC_FIELD" ] -
fieldName: string
-
fieldValue: string
-
operation: string
Allowed Values:
[ "EQUAL_TO", "GREATER_THAN", "GREATER_THAN_EQUAL", "IN_LIST", "LESS_THAN", "LESS_THAN_EQUAL", "NOT_EQUAL_TO", "REGEX" ] -
separator: string
object-
balanceElementNumCode: string
-
CounterRanges: array
CounterRanges
-
label: string
-
unit: string
Allowed Values:
[ "BYTE", "DAY", "GIGABYTE", "HOUR", "KILOBYTE", "MEGABYTE", "MINUTE", "MONTH", "NONE", "SECOND" ]Measures the RUM quantity.
object-
permittedNames: array
permittedNames
-
resourceId: integer
(int64)
-
resourceUnitType: string
Allowed Values:
[ "BYTE", "KILOBYTE", "MEGABYTE", "GIGABYTE", "DAY", "HOUR", "MINUTE", "SECOND", "AMOUNT_USED", "FIXED_CHARGE", "ANY" ] -
ruleType: string
Allowed Values:
[ "ANY", "LIST", "RANGE" ] -
ruleValue: string
object-
description: string
-
externalID: string
-
internalId: string
-
name: string
-
newName: string
-
obsolete: boolean
-
priceListName: string
-
pricingObjectType: string
Allowed Values:
[ "ALL", "ALTERATION_EXCLUSION", "ALTERATION_OFFERING", "ALTERATION_RATE_PLAN", "ALTERATION_RATE_PLAN_SELECTOR", "APN_MAP", "BEST_PRICING", "BUNDLED_PRODUCT_OFFERING", "BUNDLE_DEPENDENCY", "BUNDLE_TRANSITION", "CHARGE_OFFERING", "CHARGE_RATE_PLAN", "CHARGE_RATE_PLAN_SELECTOR", "CHARGE_SELECTOR_SPEC", "DISTRIBUTION_OFFERING", "DISTRIBUTION_RATE_PLAN", "GENERIC_SELECTOR", "HOLIDAY_CALENDAR", "NONE", "PACKAGE_EXCLUSION", "PACKAGE_LIST", "PACKAGE_OBJ", "PACKAGE_TRANSITION", "PRICE_MODEL", "PRICE_MODEL_SELECTOR", "REPLACEMENT_POP_MODEL", "ROLLOVER_RATE_PLAN", "SUBSCRIPTION_TERMS", "SUBSCRIPTION_TERMS_AUTO_RENEW", "TAX_EXEMPTION_SELECTOR", "TAX_SELECTOR", "TIME_MODEL", "TRIGGER_SPEC", "USC_MAP" ] -
productSpecCharacteristics: array
productSpecCharacteristics
array-
Array of:
object ProductSpecCharacteristicJXB
Key-value pair for defining special characteristics in a product.
object-
name(required): string
Title:
product spec char nameName of the special characteristic. -
value(required): array
product spec char values
Title:
product spec char valuesList of special characteristics added for a given name.
arrayproduct spec char valuesobject-
description: string
-
externalID: string
-
internalId: string
-
name: string
-
newName: string
-
obsolete: boolean
-
priceListName: string
-
rumCode: string
-
rumRounding: string
Allowed Values:
[ "HALF_DOWN", "HALF_UP", "NONE", "ROUND_DOWN", "ROUND_UP" ] -
rumType: string
Allowed Values:
[ "CONDITIONAL", "PARTIAL", "WHOLE" ] -
unit: string
Allowed Values:
[ "BYTE", "DAY", "GIGABYTE", "HOUR", "KILOBYTE", "MEGABYTE", "MINUTE", "MONTH", "NONE", "SECOND" ]Measures the RUM quantity.
object-
code: string
-
description: string
-
externalID: string
-
glIdName: string
-
internalId: string
-
name: string
-
newName: string
-
obsolete: boolean
-
priceListName: string
-
taxCodeValidityPeriods: array
taxCodeValidityPeriods
-
taxPackageType: string
Allowed Values:
[ "CUSTOM", "VERTEX_COMMTAX_21", "VERTEX_QUANTUM" ]
object-
description: string
-
percent: number
(double)
-
salesIndicator: string
Allowed Values:
[ "RESALE", "SALE" ] -
taxJurisdictionLevel: string
Allowed Values:
[ "CITY", "COUNTY", "FEDERAL", "LOCATION", "STATE" ] -
taxJurisdictions: array
taxJurisdictions
-
taxRuleType: string
Allowed Values:
[ "INCLUSIVE", "NCS", "NCT", "STANDARD", "TAX" ] -
transSubType_ServiceCode: integer
-
transType_CategoryCode_Rate: integer
object-
jurisdiction: string
Allowed Values:
[ "CITY", "COUNTY", "FEDERAL", "LOCATION", "STATE" ] -
percent: number
(double)
-
validFrom: string
-
validTo: string
object-
description: string
-
externalID: string
-
internalId: string
-
name: string
-
newName: string
-
obsolete: boolean
-
priceListName: string
-
result: string
-
resultType: string
Allowed Values:
[ "BASE_RESULT", "DERIVED_RESULT" ]
Response
201 Response
400 Response
500 Response
Examples
This example shows how to create a balance element by submitting a POST request on the REST resource using cURL. For more information about cURL, see Use cURL.
The -d option specifies the file to attach as the request body.
curl -X POST 'http://hostname:port/pdc/config' -H 'Content-Type: application/json’ -d @balanceElement.json
where:
-
hostname is the URL for the PDC REST server.
-
port is the port for the PDC REST server.
-
balanceElement.json is the JSON file that specifies the details of the balance element to create.
Example of Request Body
{
"balanceElements": [
{
"name": "FM3",
"description": "FM3",
"priceListName": "Default",
"obsolete": false,
"code": "FMN3",
"numericCode": 100215,
"symbol": "FMN3",
"transientElement": false,
"foldable": true,
"counter": false,
"accumulator": false,
"expiryNotification": true,
"postExpiryNotification": true,
"roundingRules": [
{
"precision": 5,
"toleranceMin": 0,
"toleranceMax": 0,
"tolerancePercentage": 0,
"roundingMode": "NEAREST",
"processingStage": "CHARGING"
},
{
"precision": 5,
"toleranceMin": 0,
"toleranceMax": 0,
"tolerancePercentage": 0,
"roundingMode": "NEAREST",
"processingStage": "ALTERATION"
},
{
"precision": 5,
"toleranceMin": 0,
"toleranceMax": 0,
"tolerancePercentage": 0,
"roundingMode": "NEAREST",
"processingStage": "TAXATION"
},
{
"precision": 5,
"toleranceMin": 0,
"toleranceMax": 0,
"tolerancePercentage": 0,
"roundingMode": "NEAREST",
"processingStage": "AR"
}
],
"consumptionRule": "NONE"
}
]
}
Example of Response Body
If successful, the response code 201 is returned with the following response body, containing the changeSetStatusReport in JSON format:
{
"changeSetStatusReport": {
"changeSets": [
{
"changeSetId": "42304",
"changeSetName": "ieChangeSetMon Apr 13 03:43:29 PDT 2026",
"changeSetStatus": "PENDING",
"transformations": [
{
"jobId": 42351,
"jobStatus": "DISPATCHED",
"type": "BRE"
},
{
"jobId": 42357,
"jobStatus": "DISPATCHED",
"type": "ECE"
},
{
"jobId": 42363,
"jobStatus": "DISPATCHED",
"type": "RRE"
}
]
}
]
}
}