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:
UsageSpecificationOracle
Match All
Show Source
-
object
UsageSpecification
Title:
UsageSpecification
Discriminator:{ "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:
object
Title:
UsageSpecification
Discriminator: @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:
30
A 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:
TimePeriod
The 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:
ProjectRef
Project 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:
MeteringRule
A metering rule
Nested Schema : ProjectRef
Type:
object
Title:
ProjectRef
Project 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:
RequestSpecificationRefOracle
A 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:
object
Title:
MeteringRule
A 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:
TimePeriodOracle
Validity period of the related party
Nested Schema : meteringExpression
Type:
Show Source
array
-
Array of:
object MeteringExpression
Title:
MeteringExpression
A metering expression
Nested Schema : TimePeriodOracle
Type:
object
Title:
TimePeriodOracle
Validity 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:
object
Title:
MeteringExpression
A 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:
MeteringExpressionRelationship
An expression relationship
Nested Schema : value
A discrete value that the relationship can take on.
Match One Schema
Show Source
Nested Schema : MeteringExpressionRelationship
Type:
object
Title:
MeteringExpressionRelationship
An 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:
object
Nested Schema : RequestSpecificationRefOracle
Type:
object
Title:
RequestSpecificationRefOracle
A 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:
UsageSpecificationOracle
Match All
Show Source
-
object
UsageSpecification
Title:
UsageSpecification
Discriminator:{ "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:
object
Title:
UsageSpecification
Discriminator: @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:
30
A 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:
TimePeriod
The 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:
ProjectRef
Project 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:
MeteringRule
A metering rule
Nested Schema : ProjectRef
Type:
object
Title:
ProjectRef
Project 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:
RequestSpecificationRefOracle
A 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:
object
Title:
MeteringRule
A 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:
TimePeriodOracle
Validity period of the related party
Nested Schema : meteringExpression
Type:
Show Source
array
-
Array of:
object MeteringExpression
Title:
MeteringExpression
A metering expression
Nested Schema : TimePeriodOracle
Type:
object
Title:
TimePeriodOracle
Validity 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:
object
Title:
MeteringExpression
A 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:
MeteringExpressionRelationship
An expression relationship
Nested Schema : value
A discrete value that the relationship can take on.
Match One Schema
Show Source
Nested Schema : MeteringExpressionRelationship
Type:
object
Title:
MeteringExpressionRelationship
An 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:
object
Nested Schema : RequestSpecificationRefOracle
Type:
object
Title:
RequestSpecificationRefOracle
A 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:
object
Title:
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:
object
Title:
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:
object
Title:
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:
object
Title:
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:
object
Title:
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" } }