Create or update a usage specification
put
https://{FusionAppsHost}/crmRestApi/atcProductCatalog/11.13.18.05/tmf-api/usageManagement/v2/usageSpecification/{id}
Creates or updates the usage specification with the specified ID.
Request
Path Parameters
-
id(required): string
The ID of the resource item.
Supported Media Types
- application/json
Root Schema : UsageSpecificationOracle
Title:
UsageSpecificationOracleMatch All
Show Source
-
object
UsageSpecification
Title:
UsageSpecificationDiscriminator:{ "propertyName":"@type", "mapping":{ "UsageSpecification":"#/components/schemas/UsageSpecification", "UsageSpecificationOracle":"#/components/schemas/UsageSpecificationOracle" } }The Usage Specification resource represents a set of usage characteristics and relationships. -
object
type
Nested Schema : UsageSpecification
Type:
objectTitle:
UsageSpecificationDiscriminator: @type
Discriminator Values
The Usage Specification resource represents a set of usage characteristics and relationships.
Show Source
-
@baseType: string
The base type of the usage specification.
-
@schemaLocation: string
The URI of the schema that defines the usage specification.
-
@type(required): string
The class type of the usage specification.
-
description: string
A string. A narrative that explains in detail what the usage specification is.
-
href: string
The hyperlink reference to the usage specification.
-
id: string
Maximum Length:
30The ID of the usage specification. -
lastUpdate: string
(date-time)
The date and time when the usage specification was last updated.
-
lifecycleStatus: string
Indicates the current lifecycle status of the usage specification.
-
name(required): string
A string. Name of the usage specification.
-
usageSpecCharacteristic: array
usageSpecCharacteristic
A list of usage specification characteristics associated with the usage specification.
-
usageSpecRelationship: array
usageSpecRelationship
A list of usage specification relationships associated with the usage specification.
-
validFor: object
TimePeriod
Title:
TimePeriodThe period for which the productOffering is valid. -
version: string
The usage specification version.
Nested Schema : type
Type:
Show Source
object-
applicationName: string
The name of the application associated with the usage specification.
-
created: string
(date-time)
The date and time when the usage specification was created.
-
createdBy: string
The user who created the usage specification.
-
externalId: string
The external ID associated with the usage specification.
-
lastUpdatedBy: string
The user who last updated the usage specification.
-
meteringRule(required): array
meteringRule
A list of metering rules associated with the usage specification.
-
project: object
ProjectRef
Title:
ProjectRefThe project reference resource. -
requestSpecification: array
requestSpecification
A list of request specifications associated with the usage specification.
-
usageCode: string
The usage code associated with the usage specification.
-
versionState: number
The version state of the usage specification.
Nested Schema : meteringRule
Type:
arrayA list of metering rules associated with the usage specification.
Show Source
-
Array of:
object MeteringRule
Title:
MeteringRuleThe metering rule resource.
Nested Schema : ProjectRef
Type:
objectTitle:
ProjectRefThe project reference resource.
Show Source
-
href: string
The hyperlink reference to the project reference.
-
id(required): string
The ID of the project reference.
-
name: string
The name of the project reference.
-
version: string
The version of the project.
Nested Schema : requestSpecification
Type:
arrayA list of request specifications associated with the usage specification.
Show Source
-
Array of:
object RequestSpecificationRefOracle
Title:
RequestSpecificationRefOracleA list of request level specification references (RequestSpecificationRef [*]). A list of request level specifications related to this usage specification, and which will need to be satisfiable for corresponding usage instances.
Nested Schema : MeteringRule
Type:
objectTitle:
MeteringRuleThe metering rule resource.
Show Source
-
@baseType: string
The base type of the metering rule.
-
@schemaLocation: string
The URI of the schema that defines the metering rule.
-
@type(required): string
The class type of the metering rule.
-
description: string
A string. Description of the metering rule.
-
id(required): string
The ID of the metering rule.
-
meteringExpression: array
meteringExpression
A list of metering expressions associated with the metering rule.
-
name: string
The name of the metering rule.
-
roundingMethod: string
The rounding applicable to the metering rule.
-
stringExpression: string
The metering Expression applicable to the metering rule.
-
unitOfMeasure: string
The unit of Measure of Usage.
-
validFor: object
TimePeriodOracle
Title:
TimePeriodOracleThe validity period of the related party.
Nested Schema : meteringExpression
Type:
arrayA list of metering expressions associated with the metering rule.
Show Source
-
Array of:
object MeteringExpression
Title:
MeteringExpressionThe metering expression resource.
Nested Schema : TimePeriodOracle
Type:
objectTitle:
TimePeriodOracleThe validity period of the related party.
Show Source
-
endDateTime: string
(date-time)
The end date and time of the time period.
-
startDateTime: string
(date-time)
The start date and time of the time period.
Nested Schema : MeteringExpression
Type:
objectTitle:
MeteringExpressionThe metering expression resource.
Show Source
-
@baseType: string
The base type of the metering expression.
-
@schemaLocation: string
The URI of the schema that defines the metering expression.
-
@type(required): string
The class type of the metering expression.
-
expressionType(required): string
Allowed Values:
[ "UNARY", "BINARY", "NUMERIC", "CHARACTERISTIC" ]The type or classification of the metering expression. Valid values are UNARY, BINARY, NUMERIC, and CHARACTERISTIC. -
id(required): string
The ID of the metering expression.
-
meteringExpressionRelationship: object
meteringExpressionRelationship
A list of metering expression relationships associated with the metering expression.
-
operator: string
Allowed Values:
[ "NOT EQUALS", "MULTIPLY", "ADD", "DIVIDE", "NOT", "EQUALS", "SUBTRACT" ]The operator of the expression. Valid values are NOT EQUALS, MULTIPLY, ADD, DIVIDE, NOT, EQUALS, and SUBTRACT. -
value:
value
A discrete value that the relationship can take on.
Nested Schema : meteringExpressionRelationship
Type:
objectA list of metering expression relationships associated with the metering expression.
Show Source
-
Array of:
object MeteringExpressionRelationship
Title:
MeteringExpressionRelationshipThe metering expression relationship resource.
Nested Schema : value
A discrete value that the relationship can take on.
Match One Schema
Show Source
Nested Schema : MeteringExpressionRelationship
Type:
objectTitle:
MeteringExpressionRelationshipThe metering expression relationship resource.
Show Source
-
@baseType: string
The base type of the metering expression relationship.
-
@schemaLocation: string
The URI of the schema that defines the metering expression relationship.
-
@type(required): string
The class type of the metering expression relationship.
-
id(required): string
The ID of the metering expression relationship.
-
name: string
The name of the metering expression relationship.
-
relationshipType(required): string
Allowed Values:
[ "LEFT_HAND_SIDE", "RIGHT_HAND_SIDE" ]The type or classification of the metering expression relationship. Valid values are LEFT_HAND_SIDE, and RIGHT_HAND_SIDE.
Nested Schema : value-oneOf[1]
Type:
objectNested Schema : RequestSpecificationRefOracle
Type:
objectTitle:
RequestSpecificationRefOracleA list of request level specification references (RequestSpecificationRef [*]). A list of request level specifications related to this usage specification, and which will need to be satisfiable for corresponding usage instances.
Show Source
-
@baseType: string
The base type of the request specification reference.
-
@referredType(required): string
A string. The actual type of the target instance when needed for disambiguation.
-
@schemaLocation: string
The URI of the schema that defines the request specification reference.
-
@type(required): string
The class type of the request specification reference.
-
href: string
A string. The hyperlink to access a request specification.
-
id(required): string
The ID of the request specification reference.
-
name: string
A string. The name given to the target request specification instance.
-
specType(required): string
Allowed Values:
[ "INITIATE", "UPDATE", "TERMINATE", "EVENT", "OFFLINE" ]The type or classification of the request specification reference. Valid values are INITIATE, UPDATE, TERMINATE, EVENT, and OFFLINE. -
version: string
A string. Version of the target request Specification.
Response
Supported Media Types
- application/json
200 Response
The usage specification was created or updated successfully.
Root Schema : UsageSpecificationOracle
Title:
UsageSpecificationOracleMatch All
Show Source
-
object
UsageSpecification
Title:
UsageSpecificationDiscriminator:{ "propertyName":"@type", "mapping":{ "UsageSpecification":"#/components/schemas/UsageSpecification", "UsageSpecificationOracle":"#/components/schemas/UsageSpecificationOracle" } }The Usage Specification resource represents a set of usage characteristics and relationships. -
object
type
Nested Schema : UsageSpecification
Type:
objectTitle:
UsageSpecificationDiscriminator: @type
Discriminator Values
The Usage Specification resource represents a set of usage characteristics and relationships.
Show Source
-
@baseType: string
The base type of the usage specification.
-
@schemaLocation: string
The URI of the schema that defines the usage specification.
-
@type(required): string
The class type of the usage specification.
-
description: string
A string. A narrative that explains in detail what the usage specification is.
-
href: string
The hyperlink reference to the usage specification.
-
id: string
Maximum Length:
30The ID of the usage specification. -
lastUpdate: string
(date-time)
The date and time when the usage specification was last updated.
-
lifecycleStatus: string
Indicates the current lifecycle status of the usage specification.
-
name(required): string
A string. Name of the usage specification.
-
usageSpecCharacteristic: array
usageSpecCharacteristic
A list of usage specification characteristics associated with the usage specification.
-
usageSpecRelationship: array
usageSpecRelationship
A list of usage specification relationships associated with the usage specification.
-
validFor: object
TimePeriod
Title:
TimePeriodThe period for which the productOffering is valid. -
version: string
The usage specification version.
Nested Schema : type
Type:
Show Source
object-
applicationName: string
The name of the application associated with the usage specification.
-
created: string
(date-time)
The date and time when the usage specification was created.
-
createdBy: string
The user who created the usage specification.
-
externalId: string
The external ID associated with the usage specification.
-
lastUpdatedBy: string
The user who last updated the usage specification.
-
meteringRule(required): array
meteringRule
A list of metering rules associated with the usage specification.
-
project: object
ProjectRef
Title:
ProjectRefThe project reference resource. -
requestSpecification: array
requestSpecification
A list of request specifications associated with the usage specification.
-
usageCode: string
The usage code associated with the usage specification.
-
versionState: number
The version state of the usage specification.
Nested Schema : meteringRule
Type:
arrayA list of metering rules associated with the usage specification.
Show Source
-
Array of:
object MeteringRule
Title:
MeteringRuleThe metering rule resource.
Nested Schema : ProjectRef
Type:
objectTitle:
ProjectRefThe project reference resource.
Show Source
-
href: string
The hyperlink reference to the project reference.
-
id(required): string
The ID of the project reference.
-
name: string
The name of the project reference.
-
version: string
The version of the project.
Nested Schema : requestSpecification
Type:
arrayA list of request specifications associated with the usage specification.
Show Source
-
Array of:
object RequestSpecificationRefOracle
Title:
RequestSpecificationRefOracleA list of request level specification references (RequestSpecificationRef [*]). A list of request level specifications related to this usage specification, and which will need to be satisfiable for corresponding usage instances.
Nested Schema : MeteringRule
Type:
objectTitle:
MeteringRuleThe metering rule resource.
Show Source
-
@baseType: string
The base type of the metering rule.
-
@schemaLocation: string
The URI of the schema that defines the metering rule.
-
@type(required): string
The class type of the metering rule.
-
description: string
A string. Description of the metering rule.
-
id(required): string
The ID of the metering rule.
-
meteringExpression: array
meteringExpression
A list of metering expressions associated with the metering rule.
-
name: string
The name of the metering rule.
-
roundingMethod: string
The rounding applicable to the metering rule.
-
stringExpression: string
The metering Expression applicable to the metering rule.
-
unitOfMeasure: string
The unit of Measure of Usage.
-
validFor: object
TimePeriodOracle
Title:
TimePeriodOracleThe validity period of the related party.
Nested Schema : meteringExpression
Type:
arrayA list of metering expressions associated with the metering rule.
Show Source
-
Array of:
object MeteringExpression
Title:
MeteringExpressionThe metering expression resource.
Nested Schema : TimePeriodOracle
Type:
objectTitle:
TimePeriodOracleThe validity period of the related party.
Show Source
-
endDateTime: string
(date-time)
The end date and time of the time period.
-
startDateTime: string
(date-time)
The start date and time of the time period.
Nested Schema : MeteringExpression
Type:
objectTitle:
MeteringExpressionThe metering expression resource.
Show Source
-
@baseType: string
The base type of the metering expression.
-
@schemaLocation: string
The URI of the schema that defines the metering expression.
-
@type(required): string
The class type of the metering expression.
-
expressionType(required): string
Allowed Values:
[ "UNARY", "BINARY", "NUMERIC", "CHARACTERISTIC" ]The type or classification of the metering expression. Valid values are UNARY, BINARY, NUMERIC, and CHARACTERISTIC. -
id(required): string
The ID of the metering expression.
-
meteringExpressionRelationship: object
meteringExpressionRelationship
A list of metering expression relationships associated with the metering expression.
-
operator: string
Allowed Values:
[ "NOT EQUALS", "MULTIPLY", "ADD", "DIVIDE", "NOT", "EQUALS", "SUBTRACT" ]The operator of the expression. Valid values are NOT EQUALS, MULTIPLY, ADD, DIVIDE, NOT, EQUALS, and SUBTRACT. -
value:
value
A discrete value that the relationship can take on.
Nested Schema : meteringExpressionRelationship
Type:
objectA list of metering expression relationships associated with the metering expression.
Show Source
-
Array of:
object MeteringExpressionRelationship
Title:
MeteringExpressionRelationshipThe metering expression relationship resource.
Nested Schema : value
A discrete value that the relationship can take on.
Match One Schema
Show Source
Nested Schema : MeteringExpressionRelationship
Type:
objectTitle:
MeteringExpressionRelationshipThe metering expression relationship resource.
Show Source
-
@baseType: string
The base type of the metering expression relationship.
-
@schemaLocation: string
The URI of the schema that defines the metering expression relationship.
-
@type(required): string
The class type of the metering expression relationship.
-
id(required): string
The ID of the metering expression relationship.
-
name: string
The name of the metering expression relationship.
-
relationshipType(required): string
Allowed Values:
[ "LEFT_HAND_SIDE", "RIGHT_HAND_SIDE" ]The type or classification of the metering expression relationship. Valid values are LEFT_HAND_SIDE, and RIGHT_HAND_SIDE.
Nested Schema : value-oneOf[1]
Type:
objectNested Schema : RequestSpecificationRefOracle
Type:
objectTitle:
RequestSpecificationRefOracleA list of request level specification references (RequestSpecificationRef [*]). A list of request level specifications related to this usage specification, and which will need to be satisfiable for corresponding usage instances.
Show Source
-
@baseType: string
The base type of the request specification reference.
-
@referredType(required): string
A string. The actual type of the target instance when needed for disambiguation.
-
@schemaLocation: string
The URI of the schema that defines the request specification reference.
-
@type(required): string
The class type of the request specification reference.
-
href: string
A string. The hyperlink to access a request specification.
-
id(required): string
The ID of the request specification reference.
-
name: string
A string. The name given to the target request specification instance.
-
specType(required): string
Allowed Values:
[ "INITIATE", "UPDATE", "TERMINATE", "EVENT", "OFFLINE" ]The type or classification of the request specification reference. Valid values are INITIATE, UPDATE, TERMINATE, EVENT, and OFFLINE. -
version: string
A string. Version of the target request Specification.
400 Response
Your request couldn't be processed because it contains missing or invalid information, such as a validation error on an input field, a missing required value, and so forth.
Root Schema : Error
Type:
objectTitle:
ErrorThe error resource.
Show Source
-
@schemaLocation: string
The URI of the schema that defines the error.
-
@type: string
The class type of a REST resource.
-
code(required): string
Application related code (as defined in the API or from a common list).
-
message: string
The text that provides more details and corrective actions related to the error. This can be shown to a client user.
-
reason(required): string
The text that explains the reason for error. This can be shown to a client user.
-
referenceError: string
The URL pointing to documentation describing the error.
-
status: string
The status of the error.
401 Response
Your request isn't authorized. The authentication credentials included with this request are missing or invalid.
Root Schema : Error
Type:
objectTitle:
ErrorThe error resource.
Show Source
-
@schemaLocation: string
The URI of the schema that defines the error.
-
@type: string
The class type of a REST resource.
-
code(required): string
Application related code (as defined in the API or from a common list).
-
message: string
The text that provides more details and corrective actions related to the error. This can be shown to a client user.
-
reason(required): string
The text that explains the reason for error. This can be shown to a client user.
-
referenceError: string
The URL pointing to documentation describing the error.
-
status: string
The status of the error.
404 Response
The resource with the specified URI couldn't be found.
Root Schema : Error
Type:
objectTitle:
ErrorThe error resource.
Show Source
-
@schemaLocation: string
The URI of the schema that defines the error.
-
@type: string
The class type of a REST resource.
-
code(required): string
Application related code (as defined in the API or from a common list).
-
message: string
The text that provides more details and corrective actions related to the error. This can be shown to a client user.
-
reason(required): string
The text that explains the reason for error. This can be shown to a client user.
-
referenceError: string
The URL pointing to documentation describing the error.
-
status: string
The status of the error.
405 Response
HTTP action specified in the request (DELETE, GET, POST, PUT) isn't supported for this request URI.
Root Schema : Error
Type:
objectTitle:
ErrorThe error resource.
Show Source
-
@schemaLocation: string
The URI of the schema that defines the error.
-
@type: string
The class type of a REST resource.
-
code(required): string
Application related code (as defined in the API or from a common list).
-
message: string
The text that provides more details and corrective actions related to the error. This can be shown to a client user.
-
reason(required): string
The text that explains the reason for error. This can be shown to a client user.
-
referenceError: string
The URL pointing to documentation describing the error.
-
status: string
The status of the error.
500 Response
The server encountered something unexpected that prevented it from completing the request.
Root Schema : Error
Type:
objectTitle:
ErrorThe error resource.
Show Source
-
@schemaLocation: string
The URI of the schema that defines the error.
-
@type: string
The class type of a REST resource.
-
code(required): string
Application related code (as defined in the API or from a common list).
-
message: string
The text that provides more details and corrective actions related to the error. This can be shown to a client user.
-
reason(required): string
The text that explains the reason for error. This can be shown to a client user.
-
referenceError: string
The URL pointing to documentation describing the error.
-
status: string
The status of the error.
Examples
The following example shows how to create or update (update if available and create if not available) a usage specification by submitting a PUT request on the REST resource using cURL. In this example, we will add a metering rule to an existing usage specification.
curl -u username:password -X PUT https://{FusionAppsHost}/crmRestApi/atcProductCatalog/11.13.18.05/tmf-api/usageManagement/v2/usageSpecification/Usage_Spec_4356
Example of Request Body
The following shows an example of the request body.
{
"id": "DBE_UsageSpec_GPRS",
"name": "EventDelayedSessionTelcoGprs",
"description": "UsageSpec for DBE models for EventDelayedSessionTelcoGprs",
"href": "https://{FusionAppsHost}/crmRestApi/atcProductCatalog/11.13.18.05/tmf-api/usageManagement/v2/usageSpecification/DBE_UsageSpec_GPRS",
"lifecycleStatus": "In design",
"@type": "UsageSpecificationOracle",
"@baseType": "UsageSpecification",
"created": "2025-01-20T13:24:14.000Z",
"createdBy": "booth",
"lastUpdate": "2025-02-17T10:50:05.218Z",
"lastUpdatedBy": "booth",
"version": "1.0",
"versionState": 0,
"project": {
"id": "DBE_RI_ProdModel_PreSeed_PSP",
"name": "DBE RI Product Model Preseed",
"href": "https://{FusionAppsHost}/crmRestApi/atcProductCatalog/11.13.18.05/productCatalogManagement/v1/project/DBE_RI_ProdModel_PreSeed_PSP",
"version": "1.0",
"@referredType": "ProjectOracle"
},
"meteringRule": [
{
"id": "Occurrence",
"name": "Occurrence",
"description": "Occurrence",
"roundingMethod": "UP",
"stringExpression": "(1)",
"unitOfMeasure": "None",
"@type": "MeteringRuleOracle",
"meteringExpression": [
{
"id": "contentType",
"expressionType": "NUMERIC",
"value": "1",
"@type": "MeteringExpressionOracle"
}
]
},
{
"id": "Volume",
"name": "Volume",
"description": "Volume",
"roundingMethod": "UP",
"stringExpression": "(1)",
"unitOfMeasure": "None",
"@type": "MeteringRuleOracle",
"meteringExpression": [
{
"id": "contentType",
"expressionType": "NUMERIC",
"value": "1",
"@type": "MeteringExpressionOracle"
}
]
},
{
"id": "Duration",
"name": "Duration",
"description": "Duration",
"roundingMethod": "UP",
"stringExpression": "(1)",
"unitOfMeasure": "None",
"@type": "MeteringRuleOracle",
"meteringExpression": [
{
"id": "contentType",
"expressionType": "NUMERIC",
"value": "1",
"@type": "MeteringExpressionOracle"
}
]
}
]
}Example of Response Body
The following example shows the contents of the response body in JSON format:
{
"id": "DBE_UsageSpec_GPRS",
"name": "EventDelayedSessionTelcoGprs",
"description": "UsageSpec for DBE models for EventDelayedSessionTelcoGprs",
"href": "https://{FusionAppsHost}/crmRestApi/atcProductCatalog/11.13.18.05/tmf-api/usageManagement/v2/usageSpecification/DBE_UsageSpec_GPRS",
"lifecycleStatus": "In design",
"@type": "UsageSpecificationOracle",
"@baseType": "UsageSpecification",
"created": "2025-01-20T13:24:14.000Z",
"createdBy": "booth",
"lastUpdate": "2025-02-17T10:50:26.004Z",
"lastUpdatedBy": "booth",
"version": "1.0",
"project": {
"id": "DBE_RI_ProdModel_PreSeed_PSP",
"name": "DBE RI Product Model Preseed",
"href": "https://{FusionAppsHost}/crmRestApi/atcProductCatalog/11.13.18.05/productCatalogManagement/v1/project/DBE_RI_ProdModel_PreSeed_PSP",
"version": "1.0",
"@referredType": "ProjectOracle"
},
"meteringRule": [
{
"id": "Occurrence",
"name": "Occurrence",
"description": "Occurrence",
"roundingMethod": "UP",
"stringExpression": "(1)",
"unitOfMeasure": "None",
"@type": "MeteringRuleOracle",
"meteringExpression": [
{
"id": "contentType",
"expressionType": "NUMERIC",
"value": "1",
"@type": "MeteringExpressionOracle"
}
]
},
{
"id": "Volume",
"name": "Volume",
"description": "Volume",
"roundingMethod": "UP",
"stringExpression": "(1)",
"unitOfMeasure": "None",
"@type": "MeteringRuleOracle",
"meteringExpression": [
{
"id": "contentType",
"expressionType": "NUMERIC",
"value": "1",
"@type": "MeteringExpressionOracle"
}
]
},
{
"id": "Duration",
"name": "Duration",
"description": "Duration",
"roundingMethod": "UP",
"stringExpression": "(1)",
"unitOfMeasure": "None",
"@type": "MeteringRuleOracle",
"meteringExpression": [
{
"id": "contentType",
"expressionType": "NUMERIC",
"value": "1",
"@type": "MeteringExpressionOracle"
}
]
}
]
}