Update a usage specification
patch
https://{FusionAppsHost}/crmRestApi/atcProductCatalog/11.13.18.05/tmf-api/usageManagement/v2/usageSpecification/{id}
Request
Path Parameters
-
id(required): string
The unique identifier 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
Immediate base (class) type of the Usage Specification
-
@schemaLocation: string
A link to the schema describing this Usage Specification
-
@type: string
Class type of the Usage Specification
-
description: string
A string. A narrative that explains in detail what the usage specification is.
-
href: string
A string. Reference of the usage specification.
-
id: string
Maximum Length:
30A string. Unique identifier of the usage specification. -
lastUpdate: string
(date-time)
A date time (DateTime). Date and time of the last update of the Usage specification.
-
lifecycleStatus: string
A string. Used to indicate the current lifecycle status of the usage specification.
-
name(required): string
A string. Name of the usage specification.
-
usageSpecCharacteristic: array
usageSpecCharacteristic
-
usageSpecRelationship: array
usageSpecRelationship
-
validFor: object
TimePeriod
Title:
TimePeriodThe period for which the productOffering is valid -
version: string
A string. usage specification version.
Nested Schema : type
Type:
Show Source
object-
applicationName: string
name of the external application
-
created: string
(date-time)
Date and time of creation
-
createdBy: string
name of the person who created
-
externalId: string
id of the external application
-
lastUpdatedBy: string
name of the person who updated
-
meteringRule(required): array
meteringRule
-
project: object
ProjectRef
Title:
ProjectRefProject Reference -
requestSpecification: array
requestSpecification
-
usageCode: string
Code to Usage specification
-
versionState: number
Version state of the Usage Specification
Nested Schema : meteringRule
Type:
Show Source
array-
Array of:
object MeteringRule
Title:
MeteringRuleA metering rule
Nested Schema : ProjectRef
Type:
objectTitle:
ProjectRefProject Reference
Show Source
-
href: string
Unique reference of the project
-
id(required): string
Unique identifier of the project
-
name: string
Name of the project
-
version: string
Version of the project
Nested Schema : requestSpecification
Type:
Show Source
array-
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:
MeteringRuleA metering rule
Show Source
-
@baseType: string
The immediate base class type of the Metering Rule
-
@schemaLocation: string
A link to the schema describing this Metering Rule entity
-
@type: string
the class type of the Metering Rule
-
description: string
A string. Description of the metering rule.
-
id(required): string
A string. Unique identifier of the metering rule.
-
meteringExpression: array
meteringExpression
-
name: string
A string. The name given to the metering rule
-
roundingMethod: string
Rounding applicable to the metering rule
-
stringExpression: string
Metering Expression applicable to the metering rule
-
unitOfMeasure: string
Unit of Measure of Usage
-
validFor: object
TimePeriodOracle
Title:
TimePeriodOracleValidity period of the related party
Nested Schema : meteringExpression
Type:
Show Source
array-
Array of:
object MeteringExpression
Title:
MeteringExpressionA metering expression
Nested Schema : TimePeriodOracle
Type:
objectTitle:
TimePeriodOracleValidity period of the related party
Show Source
-
endDateTime: string
(date-time)
An instant of time, ending at the TimePeriod.
-
startDateTime: string
(date-time)
An instant of time, starting at the TimePeriod
Nested Schema : MeteringExpression
Type:
objectTitle:
MeteringExpressionA metering expression
Show Source
-
@baseType: string
The immediate base class type of the Metering Expression
-
@schemaLocation: string
A link to the schema describing this Metering Expression entity
-
@type: string
the class type of the Metering Expression
-
expressionType(required): string
Allowed Values:
[ "UNARY", "BINARY", "NUMERIC", "CHARACTERISTIC" ]Expression Type of the expression -
id(required): string
A string. Unique identifier of the metering expression.
-
meteringExpressionRelationship: object
meteringExpressionRelationship
-
operator: string
Allowed Values:
[ "NOT EQUALS", "MULTIPLY", "ADD", "DIVIDE", "NOT", "EQUALS", "SUBTRACT" ]Operator of the expression -
value:
value
A discrete value that the relationship can take on.
Nested Schema : meteringExpressionRelationship
Type:
Show Source
object-
Array of:
object MeteringExpressionRelationship
Title:
MeteringExpressionRelationshipAn expression relationship
Nested Schema : value
A discrete value that the relationship can take on.
Match One Schema
Show Source
Nested Schema : MeteringExpressionRelationship
Type:
objectTitle:
MeteringExpressionRelationshipAn expression relationship
Show Source
-
@baseType: string
The immediate base class type of the Metering Expression Relationship
-
@schemaLocation: string
A link to the schema describing this Metering Expression Relationship entity
-
@type: string
the class type of the Metering Expression Relationship
-
id(required): string
the id reference to the parent metering expression in this relationship
-
name: string
-
relationshipType(required): string
Allowed Values:
[ "LEFT_HAND_SIDE", "RIGHT_HAND_SIDE" ]Indicate whether this expression represents the left or right side on the binary expression from which is is contained.
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 immediate base class type of the request specification Ref
-
@referredType: string
A string. The actual type of the target instance when needed for disambiguation.
-
@schemaLocation: string
A link to the schema describing this request specification Ref entity
-
@type: string
the class type of the request specification Ref
-
href: string
A string. The hyperlink to access a request specification.
-
id(required): string
A string. Unique identifier of the request Specification.
-
name: string
A string. The name given to the target request specification instance.
-
specType(required): string
Allowed Values:
[ "INITIATE", "UPDATE", "TERMINATE", "EVENT", "OFFLINE" ]Specification Type of the request specification -
version: string
A string. Version of the target request Specification.
Response
Supported Media Types
- application/json
200 Response
OK
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
Immediate base (class) type of the Usage Specification
-
@schemaLocation: string
A link to the schema describing this Usage Specification
-
@type: string
Class type of the Usage Specification
-
description: string
A string. A narrative that explains in detail what the usage specification is.
-
href: string
A string. Reference of the usage specification.
-
id: string
Maximum Length:
30A string. Unique identifier of the usage specification. -
lastUpdate: string
(date-time)
A date time (DateTime). Date and time of the last update of the Usage specification.
-
lifecycleStatus: string
A string. Used to indicate the current lifecycle status of the usage specification.
-
name(required): string
A string. Name of the usage specification.
-
usageSpecCharacteristic: array
usageSpecCharacteristic
-
usageSpecRelationship: array
usageSpecRelationship
-
validFor: object
TimePeriod
Title:
TimePeriodThe period for which the productOffering is valid -
version: string
A string. usage specification version.
Nested Schema : type
Type:
Show Source
object-
applicationName: string
name of the external application
-
created: string
(date-time)
Date and time of creation
-
createdBy: string
name of the person who created
-
externalId: string
id of the external application
-
lastUpdatedBy: string
name of the person who updated
-
meteringRule(required): array
meteringRule
-
project: object
ProjectRef
Title:
ProjectRefProject Reference -
requestSpecification: array
requestSpecification
-
usageCode: string
Code to Usage specification
-
versionState: number
Version state of the Usage Specification
Nested Schema : meteringRule
Type:
Show Source
array-
Array of:
object MeteringRule
Title:
MeteringRuleA metering rule
Nested Schema : ProjectRef
Type:
objectTitle:
ProjectRefProject Reference
Show Source
-
href: string
Unique reference of the project
-
id(required): string
Unique identifier of the project
-
name: string
Name of the project
-
version: string
Version of the project
Nested Schema : requestSpecification
Type:
Show Source
array-
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:
MeteringRuleA metering rule
Show Source
-
@baseType: string
The immediate base class type of the Metering Rule
-
@schemaLocation: string
A link to the schema describing this Metering Rule entity
-
@type: string
the class type of the Metering Rule
-
description: string
A string. Description of the metering rule.
-
id(required): string
A string. Unique identifier of the metering rule.
-
meteringExpression: array
meteringExpression
-
name: string
A string. The name given to the metering rule
-
roundingMethod: string
Rounding applicable to the metering rule
-
stringExpression: string
Metering Expression applicable to the metering rule
-
unitOfMeasure: string
Unit of Measure of Usage
-
validFor: object
TimePeriodOracle
Title:
TimePeriodOracleValidity period of the related party
Nested Schema : meteringExpression
Type:
Show Source
array-
Array of:
object MeteringExpression
Title:
MeteringExpressionA metering expression
Nested Schema : TimePeriodOracle
Type:
objectTitle:
TimePeriodOracleValidity period of the related party
Show Source
-
endDateTime: string
(date-time)
An instant of time, ending at the TimePeriod.
-
startDateTime: string
(date-time)
An instant of time, starting at the TimePeriod
Nested Schema : MeteringExpression
Type:
objectTitle:
MeteringExpressionA metering expression
Show Source
-
@baseType: string
The immediate base class type of the Metering Expression
-
@schemaLocation: string
A link to the schema describing this Metering Expression entity
-
@type: string
the class type of the Metering Expression
-
expressionType(required): string
Allowed Values:
[ "UNARY", "BINARY", "NUMERIC", "CHARACTERISTIC" ]Expression Type of the expression -
id(required): string
A string. Unique identifier of the metering expression.
-
meteringExpressionRelationship: object
meteringExpressionRelationship
-
operator: string
Allowed Values:
[ "NOT EQUALS", "MULTIPLY", "ADD", "DIVIDE", "NOT", "EQUALS", "SUBTRACT" ]Operator of the expression -
value:
value
A discrete value that the relationship can take on.
Nested Schema : meteringExpressionRelationship
Type:
Show Source
object-
Array of:
object MeteringExpressionRelationship
Title:
MeteringExpressionRelationshipAn expression relationship
Nested Schema : value
A discrete value that the relationship can take on.
Match One Schema
Show Source
Nested Schema : MeteringExpressionRelationship
Type:
objectTitle:
MeteringExpressionRelationshipAn expression relationship
Show Source
-
@baseType: string
The immediate base class type of the Metering Expression Relationship
-
@schemaLocation: string
A link to the schema describing this Metering Expression Relationship entity
-
@type: string
the class type of the Metering Expression Relationship
-
id(required): string
the id reference to the parent metering expression in this relationship
-
name: string
-
relationshipType(required): string
Allowed Values:
[ "LEFT_HAND_SIDE", "RIGHT_HAND_SIDE" ]Indicate whether this expression represents the left or right side on the binary expression from which is is contained.
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 immediate base class type of the request specification Ref
-
@referredType: string
A string. The actual type of the target instance when needed for disambiguation.
-
@schemaLocation: string
A link to the schema describing this request specification Ref entity
-
@type: string
the class type of the request specification Ref
-
href: string
A string. The hyperlink to access a request specification.
-
id(required): string
A string. Unique identifier of the request Specification.
-
name: string
A string. The name given to the target request specification instance.
-
specType(required): string
Allowed Values:
[ "INITIATE", "UPDATE", "TERMINATE", "EVENT", "OFFLINE" ]Specification Type of the request specification -
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:
Show Source
Error-
@schemaLocation: string
It provides a link to the schema describing a REST resource.
-
@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
Text that provide more details and corrective actions related to the error. This can be shown to a client user.
-
reason(required): string
Text that explains the reason for error. This can be shown to a client user.
-
referenceError: string
url pointing to documentation describing the error
-
status: string
http error code extension like 400-2
401 Response
Your request isn't authorized. The authentication credentials included with this request are missing or invalid.
Root Schema : Error
Type:
objectTitle:
Show Source
Error-
@schemaLocation: string
It provides a link to the schema describing a REST resource.
-
@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
Text that provide more details and corrective actions related to the error. This can be shown to a client user.
-
reason(required): string
Text that explains the reason for error. This can be shown to a client user.
-
referenceError: string
url pointing to documentation describing the error
-
status: string
http error code extension like 400-2
404 Response
Your request includes a resource URI that doesn't exist.
Root Schema : Error
Type:
objectTitle:
Show Source
Error-
@schemaLocation: string
It provides a link to the schema describing a REST resource.
-
@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
Text that provide more details and corrective actions related to the error. This can be shown to a client user.
-
reason(required): string
Text that explains the reason for error. This can be shown to a client user.
-
referenceError: string
url pointing to documentation describing the error
-
status: string
http error code extension like 400-2
405 Response
HTTP action specified in the request (DELETE, GET, POST, PUT) isn't supported for this request URI.
Root Schema : Error
Type:
objectTitle:
Show Source
Error-
@schemaLocation: string
It provides a link to the schema describing a REST resource.
-
@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
Text that provide more details and corrective actions related to the error. This can be shown to a client user.
-
reason(required): string
Text that explains the reason for error. This can be shown to a client user.
-
referenceError: string
url pointing to documentation describing the error
-
status: string
http error code extension like 400-2
500 Response
The server encountered something unexpected that prevented it from completing the request.
Root Schema : Error
Type:
objectTitle:
Show Source
Error-
@schemaLocation: string
It provides a link to the schema describing a REST resource.
-
@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
Text that provide more details and corrective actions related to the error. This can be shown to a client user.
-
reason(required): string
Text that explains the reason for error. This can be shown to a client user.
-
referenceError: string
url pointing to documentation describing the error
-
status: string
http error code extension like 400-2
Examples
The following example shows how to update a usage specification by submitting a PATCH request on the REST resource using cURL. In this example, we will update the status of the usage specification to Ready to Publish.
curl -u username:password -X PATCH 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.
{
"lifecycleStatus": "Ready to Publish"
}Example of Response Body
The following example shows the contents of the response body in JSON format:
{
"id": "Usage_Spec_4356",
"name": "Prod_Usage",
"description": "The usage specification for production.",
"href": "https://{FusionAppsHost}/crmRestApi/atcProductCatalog/11.13.18.05/tmf-api/usageManagement/v2/usageSpecification/Usage_Spec_4356",
"lifecycleStatus": "Ready to Publish",
"validFor": {
"startDateTime": "2020-01-18T00:00:00.000Z",
"endDateTime": "2021-02-20T16:42:23.000Z"
},
"@type": "UsageSpecificationOracle",
"@baseType": "UsageSpecification",
"created": "2020-11-12T10:13:17.000Z",
"createdBy": "Administrator",
"lastUpdate": "2020-11-12T10:13:17.000Z",
"lastUpdatedBy": "Administrator",
"version": "1.0",
"usageSpecCharacteristic": [
{
"name": "availableSize",
"description": "Available Size",
"valueType": "STRING",
"extensible": true,
"configurable": true,
"isInvoiceable": true,
"isServiceId": true,
"isTransient": true,
"isUnique": true,
"regex": "mrregex",
"minCardinality": 0,
"maxCardinality": 1,
"validFor": {
"startDateTime": "2020-01-18T00:00:00.000Z",
"endDateTime": "2021-02-20T16:42:23.000Z"
},
"usageSpecCharacteristicValue": [
{
"isDefault": true,
"unitOfMeasure": "string",
"validFor": {
"startDateTime": "2020-09-03T23:16:58.000Z",
"endDateTime": "2020-09-03T23:16:58.000Z"
},
"value": "string",
"valueFrom": "string",
"valueTo": "string",
"valueType": "STRING",
"rangeInterval": "OPEN",
"regex": "string",
"@type": "string",
"@baseType": "string",
"@schemaLocation": "string",
"default": true
}
],
"transient": true,
"serviceId": true,
"unique": true,
"invoiceable": true
}
],
"project": {
"id": "Pinnacle_Prod",
"name": "Pinnacle Production Implementation"
}
}