Partially Update a Product by ID

patch

/product/{id}

Performs a partial update of the product that matches the specified ID.

Request

Path Parameters
Query Parameters
Supported Media Types
Request Body - application/json-patch-query+json ()
Root Schema : schema
Type: array
The JSONPatch Operations document as defined by RFC 6902.
Show Source
Nested Schema : JsonPatch
Type: object
The JSONPatch document as defined by RFC 6902.
Show Source
Request Body - application/json-patch+json ()
Root Schema : schema
Type: array
The JSONPatch Operations document as defined by RFC 6902.
Show Source
Nested Schema : JsonPatch
Type: object
The JSONPatch document as defined by RFC 6902.
Show Source
Request Body - application/merge-patch+json ()
Root Schema : schema
Match One Schema
Show Source
Nested Schema : Product_MVO
Match All
A product offering procured by a customer or any other party playing a party role. A product is realized as one or more services and resources.
Show Source
Nested Schema : ProductOracle_MVO
Match All
Provides extended fields for the product schema.
Show Source
Nested Schema : Entity_MVO
Type: object
THe Base entity schema for use in TMForum Open-APIs Property.
Match All
THe Base entity schema for use in TMForum Open-APIs Property.
Show Source
  • Extensible
    The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
Nested Schema : Extensible
Type: object
The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
Show Source
Nested Schema : Product_MVO-allOf[1]
Type: object
A product offering procured by a customer or any other party playing a party role. A product is realized as one or more services and resources.
Show Source
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
Refers to the billing account. The billing account describes the bill structure.
Show Source
Nested Schema : product
Type: array
Show Source
  • Discriminator: @type
    Discriminator: { "propertyName":"@type", "mapping":{ "Product":"#/components/schemas/Product_MVO", "ProductRef":"#/components/schemas/ProductRef_MVO", "ProductOracle":"#/components/schemas/ProductOracle_MVO" } }
    The polymorphic attributes (@type, @schemaLocation, and @referredType) apply to the Product entity, not to the ProductRefOrValue class.
Nested Schema : productCharacteristic
Type: array
Show Source
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
Represents entities that are orderable from the catalog provider. This resource includes pricing information.
Show Source
Nested Schema : productPrice
Type: array
Show Source
Nested Schema : productRelationship
Type: array
Show Source
Nested Schema : realizingService
Type: array
Show Source
  • Discriminator: @type
    Discriminator: { "propertyName":"@type", "mapping":{ "ServiceRef":"#/components/schemas/ServiceRef_MVO" } }
    The service reference used by other entities.
Nested Schema : EntityRef
Match All
The entity reference schema to be use for all entityRef class.
Show Source
  • Extensible
    The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
  • Addressable
    The base schema for adressable entities.
  • EntityRef-allOf[2]
    The entity reference schema to be use for all entityRef class.
Nested Schema : Addressable
Type: object
The base schema for adressable entities.
Show Source
Nested Schema : EntityRef-allOf[2]
Type: object
The entity reference schema to be use for all entityRef class.
Show Source
Nested Schema : Discriminator: @type-allOf[2]
Type: object
Refers to the billing account. The billing account describes the bill structure.
Show Source
  • Indicates if the account follows a specific payment option such as prepaid or postpaid.
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

The polymorphic attributes (@type, @schemaLocation, and @referredType) apply to the Product entity, not to the ProductRefOrValue class.
Match One Schema
Show Source
Nested Schema : ProductRef_MVO
Type: object
A product reference.
Match All
A product reference.
A product reference.
Show Source
  • Extensible
    The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
  • EntityRef
Nested Schema : Characteristic_MVO
Match All
The given characteristic of an object or entity through a name/value pair.
Show Source
  • Extensible
    The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
  • Characteristic_MVO-allOf[1]
    The given characteristic of an object or entity through a name/value pair.
Nested Schema : Characteristic_MVO-allOf[1]
Type: object
The given characteristic of an object or entity through a name/value pair.
Show Source
Nested Schema : characteristicRelationship
Type: array
Show Source
Nested Schema : CharacteristicRelationship_MVO
Match All
The characteristic that is related to the current Characteristic.
Show Source
Nested Schema : CharacteristicRelationship_MVO-allOf[1]
Type: object
The characteristic that is related to the current Characteristic.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
Represents entities that are orderable from the catalog provider. This resource includes pricing information.
Show Source
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
A description of the price and discount awarded.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
A description of the price and discount awarded.
Show Source
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
Provides monetary amounts (tax included, duty-free), currency, and percentages to apply to Price and PriceAlteration.
Show Source
  • Extensible
    The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
  • Discriminator: @type-allOf[1]
    Provides monetary amounts (tax included, duty-free), currency, and percentages to apply to Price and PriceAlteration.
Nested Schema : priceAlteration
Type: array
Show Source
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
An amount, usually monetary, that is asked for or allowed when a ProductOffering is bought, rented, or leased.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
Provides monetary amounts (tax included, duty-free), currency, and percentages to apply to Price and PriceAlteration.
Show Source
Nested Schema : Money
Type: object
The base / value business entity used to represent money.
Show Source
  • The currency (ISO4217 norm uses 3 letters to define the currency).
  • The signed floating point number, the meaning of the sign is according to the context of the API that uses this Data type
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
An amount, usually monetary, that modifies the price charged for an order item.
Show Source
  • Extensible
    The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
  • Discriminator: @type-allOf[1]
    An amount, usually monetary, that modifies the price charged for an order item.
Nested Schema : Discriminator: @type-allOf[1]
Type: object
An amount, usually monetary, that modifies the price charged for an order item.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
An amount, usually monetary, that is asked for or allowed when a ProductOffering is bought, rented, or leased.
Show Source
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
Describes relationships between products.
Show Source
Nested Schema : Discriminator: @type-allOf[2]
Type: object
Describes relationships between products.
Show Source
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

The service reference used by other entities.
Match All
The service reference used by other entities.
The service reference used by other entities.
Show Source
  • Extensible
    The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
  • EntityRef
Nested Schema : ProductOracle_MVO-allOf[1]
Type: object
Provides extended fields for the product schema.
Show Source
Nested Schema : CycleEndRef_MVO
Match All
CycleEnd reference. Provides details about the cycle end date for a purchased product.
Show Source
Nested Schema : productPrice
Type: array
Show Source
Nested Schema : productRelationship
Type: array
Show Source
Nested Schema : PurchaseEndRef_MVO
Match All
PurchaseEnd reference. A PurchaseEnd contains details regarding purchase end date for purchased product.
Show Source
Nested Schema : UsageEndRef_MVO
Match All
UsageEnd reference. Provides details about the usage end date for a purchased product.
Show Source
Nested Schema : CPUDatesExtension_MVO
Type: object
Contains common properties for all CPU extension date.
Show Source
  • Indicates the amount of time of a given unit.
  • Allowed Values: [ "seconds", "minutes", "hours", "days", "months", "acct_cycles", "first_usage", "absolute" ]
    Indicates the unit of time for the CPU extension date: seconds, minutes, hours, days, months, acct_cycles, first_usage, or absolute.
Nested Schema : CycleEndRef_MVO-allOf[1]
Type: object
CycleEnd reference. Provides details about the cycle end date for a purchased product.
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
A description of the price and discount awarded.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
A description of the price and discount awarded.
Show Source
Nested Schema : priceAlteration
Type: array
Show Source
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
Is an amount, usually of money, that modifies the price charged for an order item.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
Is an amount, usually of money, that modifies the price charged for an order item.
Show Source
  • Allowed Values: [ "AmountOverride", "DiscountPercentageOverride", "DiscountAmountOverride" ]
    A category that describes the price, such as AmountOverride, DiscountPercentageOverride, or DiscountAmountOverride.
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
Used to describe relationship between product.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
Used to describe relationship between product.
Show Source
Nested Schema : PurchaseEndRef_MVO-allOf[1]
Type: object
PurchaseEnd reference. A PurchaseEnd contains details regarding purchase end date for purchased product.
Nested Schema : UsageEndRef_MVO-allOf[1]
Type: object
UsageEnd reference. Provides details about the usage end date for a purchased product.
Request Body - application/json ()
Root Schema : schema
Match One Schema
Show Source
Nested Schema : Product_MVO
Match All
A product offering procured by a customer or any other party playing a party role. A product is realized as one or more services and resources.
Show Source
Nested Schema : ProductOracle_MVO
Match All
Provides extended fields for the product schema.
Show Source
Nested Schema : Entity_MVO
Type: object
THe Base entity schema for use in TMForum Open-APIs Property.
Match All
THe Base entity schema for use in TMForum Open-APIs Property.
Show Source
  • Extensible
    The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
Nested Schema : Extensible
Type: object
The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
Show Source
Nested Schema : Product_MVO-allOf[1]
Type: object
A product offering procured by a customer or any other party playing a party role. A product is realized as one or more services and resources.
Show Source
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
Refers to the billing account. The billing account describes the bill structure.
Show Source
Nested Schema : product
Type: array
Show Source
  • Discriminator: @type
    Discriminator: { "propertyName":"@type", "mapping":{ "Product":"#/components/schemas/Product_MVO", "ProductRef":"#/components/schemas/ProductRef_MVO", "ProductOracle":"#/components/schemas/ProductOracle_MVO" } }
    The polymorphic attributes (@type, @schemaLocation, and @referredType) apply to the Product entity, not to the ProductRefOrValue class.
Nested Schema : productCharacteristic
Type: array
Show Source
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
Represents entities that are orderable from the catalog provider. This resource includes pricing information.
Show Source
Nested Schema : productPrice
Type: array
Show Source
Nested Schema : productRelationship
Type: array
Show Source
Nested Schema : realizingService
Type: array
Show Source
  • Discriminator: @type
    Discriminator: { "propertyName":"@type", "mapping":{ "ServiceRef":"#/components/schemas/ServiceRef_MVO" } }
    The service reference used by other entities.
Nested Schema : EntityRef
Match All
The entity reference schema to be use for all entityRef class.
Show Source
  • Extensible
    The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
  • Addressable
    The base schema for adressable entities.
  • EntityRef-allOf[2]
    The entity reference schema to be use for all entityRef class.
Nested Schema : Addressable
Type: object
The base schema for adressable entities.
Show Source
Nested Schema : EntityRef-allOf[2]
Type: object
The entity reference schema to be use for all entityRef class.
Show Source
Nested Schema : Discriminator: @type-allOf[2]
Type: object
Refers to the billing account. The billing account describes the bill structure.
Show Source
  • Indicates if the account follows a specific payment option such as prepaid or postpaid.
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

The polymorphic attributes (@type, @schemaLocation, and @referredType) apply to the Product entity, not to the ProductRefOrValue class.
Match One Schema
Show Source
Nested Schema : ProductRef_MVO
Type: object
A product reference.
Match All
A product reference.
A product reference.
Show Source
  • Extensible
    The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
  • EntityRef
Nested Schema : Characteristic_MVO
Match All
The given characteristic of an object or entity through a name/value pair.
Show Source
  • Extensible
    The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
  • Characteristic_MVO-allOf[1]
    The given characteristic of an object or entity through a name/value pair.
Nested Schema : Characteristic_MVO-allOf[1]
Type: object
The given characteristic of an object or entity through a name/value pair.
Show Source
Nested Schema : characteristicRelationship
Type: array
Show Source
Nested Schema : CharacteristicRelationship_MVO
Match All
The characteristic that is related to the current Characteristic.
Show Source
Nested Schema : CharacteristicRelationship_MVO-allOf[1]
Type: object
The characteristic that is related to the current Characteristic.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
Represents entities that are orderable from the catalog provider. This resource includes pricing information.
Show Source
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
A description of the price and discount awarded.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
A description of the price and discount awarded.
Show Source
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
Provides monetary amounts (tax included, duty-free), currency, and percentages to apply to Price and PriceAlteration.
Show Source
  • Extensible
    The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
  • Discriminator: @type-allOf[1]
    Provides monetary amounts (tax included, duty-free), currency, and percentages to apply to Price and PriceAlteration.
Nested Schema : priceAlteration
Type: array
Show Source
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
An amount, usually monetary, that is asked for or allowed when a ProductOffering is bought, rented, or leased.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
Provides monetary amounts (tax included, duty-free), currency, and percentages to apply to Price and PriceAlteration.
Show Source
Nested Schema : Money
Type: object
The base / value business entity used to represent money.
Show Source
  • The currency (ISO4217 norm uses 3 letters to define the currency).
  • The signed floating point number, the meaning of the sign is according to the context of the API that uses this Data type
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
An amount, usually monetary, that modifies the price charged for an order item.
Show Source
  • Extensible
    The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
  • Discriminator: @type-allOf[1]
    An amount, usually monetary, that modifies the price charged for an order item.
Nested Schema : Discriminator: @type-allOf[1]
Type: object
An amount, usually monetary, that modifies the price charged for an order item.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
An amount, usually monetary, that is asked for or allowed when a ProductOffering is bought, rented, or leased.
Show Source
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
Describes relationships between products.
Show Source
Nested Schema : Discriminator: @type-allOf[2]
Type: object
Describes relationships between products.
Show Source
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

The service reference used by other entities.
Match All
The service reference used by other entities.
The service reference used by other entities.
Show Source
  • Extensible
    The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
  • EntityRef
Nested Schema : ProductOracle_MVO-allOf[1]
Type: object
Provides extended fields for the product schema.
Show Source
Nested Schema : CycleEndRef_MVO
Match All
CycleEnd reference. Provides details about the cycle end date for a purchased product.
Show Source
Nested Schema : productPrice
Type: array
Show Source
Nested Schema : productRelationship
Type: array
Show Source
Nested Schema : PurchaseEndRef_MVO
Match All
PurchaseEnd reference. A PurchaseEnd contains details regarding purchase end date for purchased product.
Show Source
Nested Schema : UsageEndRef_MVO
Match All
UsageEnd reference. Provides details about the usage end date for a purchased product.
Show Source
Nested Schema : CPUDatesExtension_MVO
Type: object
Contains common properties for all CPU extension date.
Show Source
  • Indicates the amount of time of a given unit.
  • Allowed Values: [ "seconds", "minutes", "hours", "days", "months", "acct_cycles", "first_usage", "absolute" ]
    Indicates the unit of time for the CPU extension date: seconds, minutes, hours, days, months, acct_cycles, first_usage, or absolute.
Nested Schema : CycleEndRef_MVO-allOf[1]
Type: object
CycleEnd reference. Provides details about the cycle end date for a purchased product.
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
A description of the price and discount awarded.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
A description of the price and discount awarded.
Show Source
Nested Schema : priceAlteration
Type: array
Show Source
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
Is an amount, usually of money, that modifies the price charged for an order item.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
Is an amount, usually of money, that modifies the price charged for an order item.
Show Source
  • Allowed Values: [ "AmountOverride", "DiscountPercentageOverride", "DiscountAmountOverride" ]
    A category that describes the price, such as AmountOverride, DiscountPercentageOverride, or DiscountAmountOverride.
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
Used to describe relationship between product.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
Used to describe relationship between product.
Show Source
Nested Schema : PurchaseEndRef_MVO-allOf[1]
Type: object
PurchaseEnd reference. A PurchaseEnd contains details regarding purchase end date for purchased product.
Nested Schema : UsageEndRef_MVO-allOf[1]
Type: object
UsageEnd reference. Provides details about the usage end date for a purchased product.
Examples

Back to Top

Response

200 Response

The request was successfully completed.
Body ()
Root Schema : schema
Match One Schema
Show Source
  • Product
    A product offering procured by a customer or other interested party playing a party role. A product is realized as one or more service(s) and / or resource(s).
  • ProductOracle
Nested Schema : Product
Type: object
A product offering procured by a customer or other interested party playing a party role. A product is realized as one or more service(s) and / or resource(s).
Show Source
Nested Schema : ProductOracle
Match All
A product offering procured by a customer or other interested party playing a party role. A product is realized as one or more service and/or resources.
Show Source
  • Product
    A product offering procured by a customer or other interested party playing a party role. A product is realized as one or more service(s) and / or resource(s).
  • ProductOracle-allOf[1]
    A product offering procured by a customer or other interested party playing a party role. A product is realized as one or more service and/or resources.
Nested Schema : OwnerAccount
Type: object
Provides unique identifier of the owner account.
Show Source
Nested Schema : productCharacteristic
Type: array
Show Source
Nested Schema : productTerm
Type: array
Show Source
Nested Schema : ServiceAccount
Type: object
Provides unique identifier of the service account.
Show Source
Nested Schema : Characteristic
Match All
The given characteristic of an object or entity through a name/value pair.
Show Source
  • Extensible
    The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
  • Characteristic-allOf[1]
    The given characteristic of an object or entity through a name/value pair.
Nested Schema : Extensible
Type: object
The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
Show Source
Nested Schema : Characteristic-allOf[1]
Type: object
The given characteristic of an object or entity through a name/value pair.
Show Source
Nested Schema : characteristicRelationship
Type: array
Show Source
Nested Schema : CharacteristicRelationship
Match All
The characteristic that is related to the current Characteristic.
Show Source
Nested Schema : CharacteristicRelationship-allOf[1]
Type: object
The characteristic that is related to the current Characteristic.
Show Source
Nested Schema : ProductTerm
Type: object
Description of a product term linked to this product. This represents a commitment with a duration.
Show Source
Nested Schema : Quantity
Type: object
The amount in a given unit.
Show Source
Nested Schema : ProductOracle-allOf[1]
Type: object
A product offering procured by a customer or other interested party playing a party role. A product is realized as one or more service and/or resources.
Show Source
Nested Schema : CycleEndRef
Match All
CycleEnd reference. A CycleEnd contains details regarding cycle end date for purchased product.
Show Source
Nested Schema : CycleStartRef
Match All
CycleStart reference. A CycleStart contains details regarding cycle start date for purchased product.
Show Source
Nested Schema : GracePeriodRef
Match All
GracePeriod reference. A GracePeriod contains details regarding grace period date for purchased product.
Show Source
Nested Schema : productPrice
Type: array
Show Source
Nested Schema : productRelationship
Type: array
Show Source
Nested Schema : PurchaseEndRef
Match All
PurchaseEnd reference. A PurchaseEnd contains details regarding purchase end date for purchased product.
Show Source
Nested Schema : PurchaseStartRef
Match All
PurchaseStart reference. A PurchaseStart contains details regarding purchase start date for purchased product.
Show Source
Nested Schema : UsageEndRef
Match All
UsageEnd reference. A UsageEnd contains details regarding usage end date for purchased product.
Show Source
Nested Schema : UsageStartRef
Match All
UsageStart reference. A UsageStart contains details regarding usage start date for purchased product.
Show Source
Nested Schema : CPUDatesExtension_FVO
Type: object
Contains the CPU extension dates' common properties.
Show Source
  • Indicates the amount of time of a given unit.
  • Allowed Values: [ "seconds", "minutes", "hours", "days", "months", "acct_cycles", "first_usage", "absolute" ]
    Indicates the unit of time for the CPU extension date. Can be "seconds", "minutes", "hours", "days", "months", "acct_cycles", "first_usage" and "absolute".
Nested Schema : CycleEndRef-allOf[1]
Type: object
CycleEnd reference. A CycleEnd contains details regarding cycle end date for purchased product.
Nested Schema : CycleStartRef-allOf[1]
Type: object
CycleStart reference. A CycleStart contains details regarding cycle start date for purchased product.
Nested Schema : GracePeriodRef-allOf[1]
Type: object
GracePeriod reference. A GracePeriod contains details regarding grace period date for purchased product.
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
A description of the price and discount awarded.
Show Source
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
Describes the price and any discount awarded.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
Describes the price and any discount awarded.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
A description of the price and discount awarded.
Show Source
Nested Schema : Price
Type: object
Provides all amounts (tax included, duty free, tax rate), used currency and percentage to apply for Price Alteration.
Show Source
Nested Schema : priceAlteration
Type: array
Show Source
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
An amount, usually monetary, that is asked for or allowed when a ProductOffering is bought, rented, or leased.
Show Source
Nested Schema : Money
Type: object
The base / value business entity used to represent money.
Show Source
  • The currency (ISO4217 norm uses 3 letters to define the currency).
  • The signed floating point number, the meaning of the sign is according to the context of the API that uses this Data type
Nested Schema : PriceAlteration
Type: object
The object is an amount, usually of money, that modifies the price charged for an order item.
Show Source
Nested Schema : EntityRef
Match All
The entity reference schema to be use for all entityRef class.
Show Source
  • Extensible
    The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
  • Addressable
    The base schema for adressable entities.
  • EntityRef-allOf[2]
    The entity reference schema to be use for all entityRef class.
Nested Schema : Addressable
Type: object
The base schema for adressable entities.
Show Source
Nested Schema : EntityRef-allOf[2]
Type: object
The entity reference schema to be use for all entityRef class.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
An amount, usually monetary, that is asked for or allowed when a ProductOffering is bought, rented, or leased.
Show Source
Nested Schema : priceAlteration
Type: array
Show Source
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
Is an amount, usually of money, that modifies the price charged for an order item.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
Is an amount, usually of money, that modifies the price charged for an order item.
Show Source
  • Allowed Values: [ "AmountOverride", "DiscountPercentageOverride", "DiscountAmountOverride" ]
    A category that describes the price, such as AmountOverride, DiscountPercentageOverride, or DiscountAmountOverride.
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
Used to describe the relationship between products.
Show Source
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
Describes the relationship between products.
Show Source
Nested Schema : Discriminator: @type-allOf[2]
Type: object
Describes the relationship between products.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
Used to describe the relationship between products.
Show Source
  • Allowed Values: [ "bundles", "bundledBy", "tiedDiscount", "tiedProduct" ]
    The relationship type: bundles, bundledBy, tiedDiscount, tiedProduct.
Nested Schema : PurchaseEndRef-allOf[1]
Type: object
PurchaseEnd reference. A PurchaseEnd contains details regarding purchase end date for purchased product.
Nested Schema : PurchaseStartRef-allOf[1]
Type: object
PurchaseStart reference. A PurchaseStart contains details regarding purchase start date for purchased product.
Nested Schema : UsageEndRef-allOf[1]
Type: object
UsageEnd reference. A UsageEnd contains details regarding usage end date for purchased product.
Nested Schema : UsageStartRef-allOf[1]
Type: object
UsageStart reference. A UsageStart contains details regarding usage start date for purchased product.
Examples

202 Response

Accepted

400 Response

The server received a bad request.
Body ()
Root Schema : Error
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
Match All
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
Show Source
  • Extensible
    The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
  • Error-allOf[1]
Nested Schema : Extensible
Type: object
The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
Show Source
Nested Schema : Error-allOf[1]
Type: object
Show Source

401 Response

The request was not authorized.
Body ()
Root Schema : Error
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
Match All
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
Show Source
  • Extensible
    The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
  • Error-allOf[1]
Nested Schema : Extensible
Type: object
The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
Show Source
Nested Schema : Error-allOf[1]
Type: object
Show Source

403 Response

The request was forbidden.
Body ()
Root Schema : Error
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
Match All
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
Show Source
  • Extensible
    The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
  • Error-allOf[1]
Nested Schema : Extensible
Type: object
The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
Show Source
Nested Schema : Error-allOf[1]
Type: object
Show Source

404 Response

The requested resource cannot be found.
Body ()
Root Schema : Error
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
Match All
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
Show Source
  • Extensible
    The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
  • Error-allOf[1]
Nested Schema : Extensible
Type: object
The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
Show Source
Nested Schema : Error-allOf[1]
Type: object
Show Source

405 Response

The method is not allowed.
Body ()
Root Schema : Error
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
Match All
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
Show Source
  • Extensible
    The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
  • Error-allOf[1]
Nested Schema : Extensible
Type: object
The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
Show Source
Nested Schema : Error-allOf[1]
Type: object
Show Source

409 Response

The request could not be processed due to a conflict with the existing state of the resource.
Body ()
Root Schema : Error
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
Match All
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
Show Source
  • Extensible
    The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
  • Error-allOf[1]
Nested Schema : Extensible
Type: object
The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
Show Source
Nested Schema : Error-allOf[1]
Type: object
Show Source

500 Response

THe system has encountered an internal server error.
Body ()
Root Schema : Error
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
Match All
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
Show Source
  • Extensible
    The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
  • Error-allOf[1]
Nested Schema : Extensible
Type: object
The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
Show Source
Nested Schema : Error-allOf[1]
Type: object
Show Source

501 Response

The request was not implemented.
Body ()
Root Schema : Error
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
Match All
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
Show Source
  • Extensible
    The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
  • Error-allOf[1]
Nested Schema : Extensible
Type: object
The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
Show Source
Nested Schema : Error-allOf[1]
Type: object
Show Source

503 Response

The service is unavailable.
Body ()
Root Schema : Error
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
Match All
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
The operation used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx).
Show Source
  • Extensible
    The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
  • Error-allOf[1]
Nested Schema : Extensible
Type: object
The Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
Show Source
Nested Schema : Error-allOf[1]
Type: object
Show Source
Back to Top

Examples

Example 1: Updating A Product Attribute

The following example shows how to update a product attribute by submitting a PATCH 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 PATCH 'http://host:port/brm/productInventory/version/product/0.0.0.1+-purchased_product+192048' -d @productUpdate.json

Example of Request Body

The following is an example of the contents of the productUpdate.json file sent as the request body.

{
    "@type": "Product",
    "description": "Patched Test description"
}

Example of Response Body

The following is an example of the response body in JSON format.

{
    "@type": "Product",
    "terminationDate": "2020-01-01T08:00:00.00Z",
    "purchaseEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "id": "0.0.0.1+-purchased_product+192048",
    "href": "http://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_product+192048",
    "status": "active",
    "billingAccount": {
        "id": "0.0.0.1+-account+187327",
        "name": "John ",
        "@type": "BillingAccount"
    },
    "realizingService": [
        {
            "id": "0.0.0.1+-service-ip+191536",
            "@type": "RealizingService"
        }
    ],
    "usageEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "isBundle": false,
    "name": "Voice Over IP12",
    "description": "Patched Test description",
    "productOffering": {
        "id": "0.0.0.1+-product+41250",
        "name": "Product 1a - Internet Access",
        "@type": "ProductOffering"
    },
    "productCharacteristic": [
        {
            "id": "",
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/ip",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "ServicePassword",
            "valueType": "string",
            "value": "Cgbu1234#",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "ServiceLogin",
            "valueType": "string",
            "value": "OotbServiceLoginIp_0001",
            "@type": "StringCharacteristic"
        }
    ],
    "cycleEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "startDate": "2018-01-01T08:00:00.00Z"
}

Example 2: Adding a Hierarchy After Creating A Product

The following example shows how to add a hierarchy after creating a product by submitting a PATCH 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 PATCH 'http://host:port/brm/productInventory/version/product/0.0.0.1+-purchased_product+192048' -d @productUpdate.json

Example of Request Body

The following is an example of the contents of the productUpdate.json file sent as the request body.

{
    "@type": "Product",
    "isBundle": true
}

Example of Response Body

The following is an example of the response body in JSON format.

{
    "@type": "Product",
    "terminationDate": "2020-01-01T08:00:00.00Z",
    "purchaseEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "id": "0.0.0.1+-purchased_product+192048",
    "href": "http://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_product+192048",
    "status": "active",
    "billingAccount": {
        "id": "0.0.0.1+-account+187327",
        "name": "John ",
        "@type": "BillingAccount"
    },
    "realizingService": [
        {
            "id": "0.0.0.1+-service-ip+191536",
            "@type": "RealizingService"
        }
    ],
    "usageEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "isBundle": true,
    "name": "Voice Over IP12",
    "description": "Patched Test description",
    "productOffering": {
        "id": "0.0.0.1+-product+41250",
        "name": "Product 1a - Internet Access",
        "@type": "ProductOffering"
    },
    "productCharacteristic": [
        {
            "id": "",
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/ip",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "ServicePassword",
            "valueType": "string",
            "value": "Cgbu1234#",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "ServiceLogin",
            "valueType": "string",
            "value": "OotbServiceLoginIp_0001",
            "@type": "StringCharacteristic"
        }
    ],
    "cycleEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "startDate": "2018-01-01T08:00:00.00Z"
}

Example 3: Updating The Product Status

The following example shows how to update the status of a product by submitting a PATCH 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 PATCH 'http://host:port/brm/productInventory/version/product/0.0.0.1+-purchased_product+192048' -d @productUpdate.json

Example of Request Body

The following is an example of the contents of the productUpdate.json file sent as the request body.

{
    "@type": "Product",
    "status": "cancelled"
}

Example of Response Body

The following is an example of the response body in JSON format.

{
    "@type": "Product",
    "terminationDate": "2018-01-01T08:00:00.00Z",
    "purchaseEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "id": "0.0.0.1+-purchased_product+192048",
    "href": "http://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_product+192048",
    "status": "cancelled",
    "billingAccount": {
        "id": "0.0.0.1+-account+187327",
        "name": "John ",
        "@type": "BillingAccount"
    },
    "realizingService": [
        {
            "id": "0.0.0.1+-service-ip+191536",
            "@type": "RealizingService"
        }
    ],
    "usageEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "isBundle": false,
    "name": "Voice Over IP12",
    "description": "Patched Test description",
    "productOffering": {
        "id": "0.0.0.1+-product+41250",
        "name": "Product 1a - Internet Access",
        "@type": "ProductOffering"
    },
    "productCharacteristic": [
        {
            "id": "",
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/ip",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "ServicePassword",
            "valueType": "string",
            "value": "Cgbu1234#",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "ServiceLogin",
            "valueType": "string",
            "value": "OotbServiceLoginIp_0001",
            "@type": "StringCharacteristic"
        }
    ],
    "cycleEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "startDate": "2018-01-01T08:00:00.00Z"
}

Example 4: Update A Product Price

The following example shows how to update the price of a product with an overriding amount by submitting a PATCH 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 PATCH 'http://host:port/brm/productInventory/version/product/0.0.0.1+-purchased_product+191459' -d @productUpdate.json

Example of Request Body

The following is an example of the contents of the productUpdate.json file sent as the request body.

{
    "@type": "Product",
    "productPrice": [
        {
            "@type": "ProductPrice",
            "priceType": "oneTime",
            "priceAlteration": [
                {
                    "@type": "PriceAlteration",
                    "priceType": "AmountOverride",
                    "price": {
                        "dutyFreeAmount": {
                            "unit": "USD",
                            "value": 17.99
                        },
                        "@type": "Price"
                    }
                }
            ]
        }
    ]
}

Example of Response Body

The following is an example of the response body in JSON format.

{
    "@type": "Product",
    "terminationDate": "2020-01-01T08:00:00.00Z",
    "purchaseEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "productPrice": [
        {
            "@type": "ProductPrice",
            "priceType": "oneTime",
            "priceAlteration": [
                {
                    "@type": "PriceAlteration",
                    "priceType": "AmountOverride",
                    "price": {
                        "dutyFreeAmount": {
                            "unit": "USD",
                            "value": "17.99"
                        },
                        "@type": "Price"
                    }
                }
            ]
        }
    ],
    "id": "0.0.0.1+-purchased_product+191459",
    "href": "http://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_product+191459",
    "status": "active",
    "billingAccount": {
        "id": "0.0.0.1+-account+187327",
        "name": "John ",
        "@type": "BillingAccount"
    },
    "realizingService": [
        {
            "id": "0.0.0.1+-service-telco-gsm-telephony+190947",
            "@type": "RealizingService"
        }
    ],
    "usageEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "isBundle": false,
    "name": "Voice Over IP12",
    "description": "Test description",
    "productOffering": {
        "id": "0.0.0.1+-product+173523",
        "name": "Teen Telephony C4B0",
        "@type": "ProductOffering"
    },
    "productCharacteristic": [
        {
            "id": "",
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/telco/gsm/telephony",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "MSISDN",
            "valueType": "string",
            "value": "OotbNewServiceAliasMSISDNPriceOverride_0001",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "IMEI",
            "valueType": "string",
            "value": "OotbNewServiceAliasIMEIPriceOverride_0001",
            "@type": "StringCharacteristic"
        }
    ],
    "cycleEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "startDate": "2018-01-03T08:00:00.00Z"
}

Example 5: Updating A Flattened Service Alias

The following example shows how to update a flattened service alias by submitting a PATCH 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 PATCH 'http://host:port/brm/productInventory/version/product/0.0.0.1+-purchased_product+189002' -d @productUpdate.json

Example of Request Body

The following is an example of the contents of the productUpdate.json file sent as the request body.

{
    "@type": "Product",
    "productCharacteristic": [
        {
            "id": "",
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/telco/gsm/telephony",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "MSISDN",
            "valueType": "string",
            "value": "ServiceAliasMSISDN_0001patch",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "IMEI",
            "valueType": "string",
            "value": "ServiceAliasIMEI_0001patch",
            "@type": "StringCharacteristic"
        }
    ]
}

Example of Response Body

The following is an example of the response body in JSON format.

{
    "@type": "Product",
    "terminationDate": "2020-01-01T08:00:00.00Z",
    "purchaseEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "id": "0.0.0.1+-purchased_product+189002",
    "href": "http://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_product+189002",
    "status": "active",
    "billingAccount": {
        "id": "0.0.0.1+-account+187327",
        "name": "John ",
        "@type": "BillingAccount"
    },
    "realizingService": [
        {
            "id": "0.0.0.1+-service-telco-gsm-telephony+188490",
            "@type": "RealizingService"
        }
    ],
    "usageEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "isBundle": false,
    "name": "Voice Over IP12",
    "description": "Test description",
    "productOffering": {
        "id": "0.0.0.1+-product+173523",
        "name": "Teen Telephony C4B0",
        "@type": "ProductOffering"
    },
    "productCharacteristic": [
        {
            "id": "",
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/telco/gsm/telephony",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "MSISDN",
            "valueType": "string",
            "value": "ServiceAliasMSISDN_0001patch",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "IMEI",
            "valueType": "string",
            "value": "ServiceAliasIMEI_0001patch",
            "@type": "StringCharacteristic"
        }
    ],
    "cycleEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "startDate": "2018-01-01T08:00:00.00Z"
}

Example 6: Updating A Product Relationship

The following example shows how to update product relationship by submitting a PATCH 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 PATCH 'http://host:port/brm/productInventory/version/product/0.0.0.1+-purchased_product+178275' -d @productUpdate.json

Example of Request Body

The following is an example of the contents of the productUpdate.json file sent as the request body.

{
    "@type": "Product",
    "productRelationship": {
        "id": "0.0.0.1+-purchased_product+179696",
        "relationshipType": "bundles"
    }
}

Example of Response Body

The following is an example of the response body in JSON format.

{
    "isBundle": true,
    "name": "Voice Over IP12",
    "productRelationship": {
        "id": "0.0.0.1+-purchased_product+179696",
        "relationshipType": "bundles"
    },
    "@type": "Product",
    "product": [
        {
            "isBundle": false,
            "name": "Voice Over IP12",
            "productRelationship": {
                "id": "0.0.0.1+-purchased_product+178275",
                "relationshipType": "bundledBy"
            },
            "@type": "Product",
            "description": "Test description",
            "terminationDate": "2020-01-01T08:00:00.00Z",
            "productOffering": {
                "id": "0.0.0.1+-product+41250",
                "@type": "ProductOffering"
            },
            "productCharacteristic": [
                {
                    "id": "",
                    "name": "ServiceType",
                    "valueType": "string",
                    "value": "/service/ip",
                    "@type": "StringCharacteristic"
                },
                {
                    "id": "",
                    "name": "ServicePassword",
                    "valueType": "string",
                    "value": "Cgbu1234#",
                    "@type": "StringCharacteristic"
                },
                {
                    "id": "",
                    "name": "ServiceLogin",
                    "valueType": "string",
                    "value": "OotbNewServiceLoginIpKartikesBillInfo_0001",
                    "@type": "StringCharacteristic"
                },
                {
                    "id": "",
                    "name": "BillStructure",
                    "valueType": "string",
                    "value": "0.0.0.1 /billinfo 169417",
                    "@type": "StringCharacteristic"
                }
            ],
            "gracePeriod": {
                "unit": "absolute",
                "amount": 0
            },
            "purchaseEnd": {
                "unit": "absolute",
                "amount": 0
            },
            "cycleEnd": {
                "unit": "absolute",
                "amount": 0
            },
            "id": "0.0.0.1+-purchased_product+179696",
            "href": "http://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_product+179696",
            "status": "active",
            "quantity": 1,
            "billingAccount": {
                "id": "0.0.0.1+-account+170441",
                "name": "Junior Walter",
                "@type": "BillingAccount"
            },
            "realizingService": [
                {
                    "id": "0.0.0.1+-service-ip+179952",
                    "@type": "RealizingService"
                }
            ],
            "startDate": "2018-01-03T08:00:00.00Z",
            "usageEnd": {
                "unit": "absolute",
                "amount": 0
            }
        }
    ],
    "description": "Test description",
    "terminationDate": "2020-01-01T08:00:00.00Z",
    "productOffering": {
        "id": "0.0.0.1+-product+175112",
        "@type": "ProductOffering"
    },
    "productCharacteristic": [
        {
            "id": "",
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/telco/gsm/telephony",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "MSISDN",
            "valueType": "string",
            "value": "OotbBaseServiceAliasMSISDNBundles_0001",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "IMEI",
            "valueType": "string",
            "value": "OotbBaseServiceAliasIMEIBundles_0001",
            "@type": "StringCharacteristic"
        }
    ],
    "gracePeriod": {
        "unit": "absolute",
        "amount": 0
    },
    "purchaseEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "cycleEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "id": "0.0.0.1+-purchased_product+178275",
    "href": "http://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_product+178275",
    "status": "active",
    "quantity": 1,
    "billingAccount": {
        "id": "0.0.0.1+-account+170441",
        "name": "Junior Walter",
        "@type": "BillingAccount"
    },
    "realizingService": [
        {
            "id": "0.0.0.1+-service-telco-gsm-telephony+179107",
            "@type": "RealizingService"
        }
    ],
    "startDate": "2018-01-01T08:00:00.00Z",
    "usageEnd": {
        "unit": "absolute",
        "amount": 0
    }
}

Example 7: Adding a New ProductPrice Array (JSON Patch)

Note:

To generate JSON Patch payloads ensure the content type is in the format application/json-patch+json or application/json-patch-query+json .

The following example shows how to add a new productPrice array by submitting a PATCH 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 PATCH 'http://host:port/brm/productInventory/version/product/0.0.0.1+-purchased_product+196190' -d @productUpdate.json

Example of Request Body

The following is an example of the contents of the productUpdate.json file sent as the request body.

[
        {
            "op": "add",
            "path": "$.productPrice",
            "value": {
                "@type": "ProductPrice",
                "priceType": "recurring",
                "priceAlteration": [
                    {
                        "@type": "PriceAlteration",
                        "priceType": "AmountOverride",
                        "price": {
                            "dutyFreeAmount": {
                                "unit": "USD",
                                "value": 15.99
                            },
                            "@type": "Price"
                        }
                    }
                ]
            }
        }
    ]

Example of Response Body

The following is an example of the response body in JSON format.

{
    "@type": "Product",
    "terminationDate": "2020-01-01T08:00:00.00Z",
    "purchaseEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "productPrice": [
        {
            "@type": "ProductPrice",
            "priceType": "recurring",
            "priceAlteration": [
                {
                    "@type": "PriceAlteration",
                    "priceType": "AmountOverride",
                    "price": {
                        "dutyFreeAmount": {
                            "unit": "USD",
                            "value": "15.99"
                        },
                        "@type": "Price"
                    }
                }
            ]
        }
    ],
    "id": "0.0.0.1+-purchased_product+196190",
    "href": "http://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_product+196190",
    "status": "active",
    "billingAccount": {
        "id": "0.0.0.1+-account+187327",
        "name": "John ",
        "@type": "BillingAccount"
    },
    "realizingService": [
        {
            "id": "0.0.0.1+-service-ip+195678",
            "@type": "RealizingService"
        }
    ],
    "usageEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "isBundle": false,
    "name": "Voice Over IP12",
    "description": "Test description",
    "productOffering": {
        "id": "0.0.0.1+-product+41250",
        "name": "Product 1a - Internet Access",
        "@type": "ProductOffering"
    },
    "productCharacteristic": [
        {
            "id": "",
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/ip",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "ServicePassword",
            "valueType": "string",
            "value": "Cgbu1234#",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "ServiceLogin",
            "valueType": "string",
            "value": "OotbServiceLoginIp_0004",
            "@type": "StringCharacteristic"
        }
    ],
    "cycleEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "startDate": "2018-01-01T08:00:00.00Z"
}

Example 8: Replacing a Product Price Array with A Specific priceType (JSON Patch)

Note:

To generate JSON Patch payloads ensure the content type is in the format application/json-patch+json or application/json-patch-query+json .

The following example shows how to replace a product price array with a specific priceType by submitting a PATCH 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 PATCH 'http://host:port/brm/productInventory/version/product/0.0.0.1+-purchased_product+196190' -d @productUpdate.json

Example of Request Body

The following is an example of the contents of the productUpdate.json file sent as the request body.

[
    {
        "op": "replace",
        "path": "$.productPrice[?(@.priceType=='recurring')]",
        "value": {
            "@type": "ProductPrice",
            "priceType": "recurring",
            "priceAlteration": [
                {
                    "@type": "PriceAlteration",
                    "priceType": "AmountOverride",
                    "price": {
                        "dutyFreeAmount": {
                            "unit": "USD",
                            "value": "15.99"
                        },
                        "@type": "Price"
                    }
                },
                {
                    "@type": "PriceAlteration",
                    "priceType": "DiscountPercentageOverride",
                    "price": {
                        "percentage": 60.0,
                        "@type": "Price"
                    }
                }
            ]
        }
    }
]

Example of Response Body

The following is an example of the response body in JSON format.

{
    "@type": "Product",
    "terminationDate": "2020-01-01T08:00:00.00Z",
    "purchaseEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "productPrice": [
        {
            "@type": "ProductPrice",
            "priceType": "oneTime",
            "priceAlteration": [
                {
                    "@type": "PriceAlteration",
                    "priceType": "AmountOverride",
                    "price": {
                        "dutyFreeAmount": {
                            "unit": "USD",
                            "value": "15.99"
                        },
                        "@type": "Price"
                    }
                }
            ]
        },
        {
            "@type": "ProductPrice",
            "priceType": "recurring",
            "priceAlteration": [
                {
                    "@type": "PriceAlteration",
                    "priceType": "AmountOverride",
                    "price": {
                        "dutyFreeAmount": {
                            "unit": "USD",
                            "value": "15.99"
                        },
                        "@type": "Price"
                    }
                },
                {
                    "@type": "PriceAlteration",
                    "priceType": "DiscountPercentageOverride",
                    "price": {
                        "percentage": "60.0"
                    }
                }
            ]
        }
    ],
    "id": "PurchasedProduct_0001",
    "href": "http://host:port/brm/productInventory/v5/product/PurchasedProduct_0001",
    "status": "active",
    "billingAccount": {
        "id": "billing-account-post-1",
        "name": "John ",
        "@type": "BillingAccount"
    },
    "realizingService": [
        {
            "id": "ServiceId_0001t",
            "@type": "RealizingService"
        }
    ],
    "usageEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "isBundle": false,
    "name": "Voice Over IP12",
    "description": "Test description",
    "productOffering": {
        "id": "Product 1a - Internet Access",
        "name": "Product 1a - Internet Access",
        "@type": "ProductOffering"
    },
    "productCharacteristic": [
        {
            "id": "",
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/ip",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "ServicePassword",
            "valueType": "string",
            "value": "Cgbu1234#",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "ServiceLogin",
            "valueType": "string",
            "value": "ServiceLoginIp_0001",
            "@type": "StringCharacteristic"
        }
    ],
    "cycleEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "startDate": "2018-01-01T08:00:00.00Z"
}

Example 9: Removing a Product Price Array with a Specific priceType (JSON Patch)

Note:

To generate JSON Patch payloads ensure the content type is in the format application/json-patch+json or application/json-patch-query+json .

The following example shows how to remove a product price array with a specific priceType by submitting a PATCH 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 PATCH 'http://host:port/brm/productInventory/version/product/PurchasedProduct_0001' -d @productUpdate.json

Example of Request Body

The following is an example of the contents of the productUpdate.json file sent as the request body.

[
        {
            "op": "remove",
            "path": "$.productPrice[?(@.priceType=='oneTime')]"
        }
    ]

Example of Response Body

The following is an example of the response body in JSON format.

{
    "@type": "Product",
    "terminationDate": "2020-01-01T08:00:00.00Z",
    "purchaseEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "productPrice": [
        {
            "@type": "ProductPrice",
            "priceType": "recurring",
            "priceAlteration": [
                {
                    "@type": "PriceAlteration",
                    "priceType": "AmountOverride",
                    "price": {
                        "dutyFreeAmount": {
                            "unit": "USD",
                            "value": "15.99"
                        },
                        "@type": "Price"
                    }
                },
                {
                    "@type": "PriceAlteration",
                    "priceType": "DiscountPercentageOverride",
                    "price": {
                        "percentage": "75.0"
                    }
                }
            ]
        }
    ],
    "id": "PurchasedProduct_0001",
    "href": "http://host:port/brm/productInventory/v5/product/PurchasedProduct_0001",
    "status": "active",
    "billingAccount": {
        "id": "billing-account-post-1",
        "name": "John ",
        "@type": "BillingAccount"
    },
    "realizingService": [
        {
            "id": "ServiceId_0001t",
            "@type": "RealizingService"
        }
    ],
    "usageEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "isBundle": false,
    "name": "Voice Over IP12",
    "description": "Test description",
    "productOffering": {
        "id": "Product 1a - Internet Access",
        "name": "Product 1a - Internet Access",
        "@type": "ProductOffering"
    },
    "productCharacteristic": [
        {
            "id": "",
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/ip",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "ServicePassword",
            "valueType": "string",
            "value": "Cgbu1234#",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "ServiceLogin",
            "valueType": "string",
            "value": "ServiceLoginIp_0001",
            "@type": "StringCharacteristic"
        }
    ],
    "cycleEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "startDate": "2018-01-01T08:00:00.00Z"
}

Example 10: Adding a New Service Alias Name to a Product Characteristic (JSON Patch)

Note:

To generate JSON Patch payloads ensure the content type is in the format application/json-patch+json or application/json-patch-query+json .

The following example shows how to add a new service alias name to a product characteristic by submitting a PATCH 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 PATCH 'http://host:port/brm/productInventory/version/product/0.0.0.1+-purchased_product+191027' -d @productUpdate.json

Example of Request Body

The following is an example of the contents of the productUpdate.json file sent as the request body.

[
    {
        "op": "add",
        "path": "$.productCharacteristic[?(@.name=='ServiceAlias' && @.id=='ootbServiceAliasId_0004' && @.valueType=='array')].value",
        "value": {
            "name": "jsonPatchNewServiceAlias_0004"
        }
    }
]

Example of Response Body

The following is an example of the response body in JSON format.

{
    "@type": "Product",
    "terminationDate": "2020-01-01T08:00:00.00Z",
    "purchaseEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "id": "0.0.0.1+-purchased_product+191027",
    "href": "http://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_product+191027",
    "status": "created",
    "billingAccount": {
        "id": "0.0.0.1+-account+187327",
        "name": "John ",
        "@type": "BillingAccount"
    },
    "realizingService": [
        {
            "id": "0.0.0.1+-service-telco-gsm-telephony+190515",
            "@type": "RealizingService"
        }
    ],
    "usageEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "isBundle": false,
    "name": "Voice Over IP12",
    "description": "Test description",
    "productOffering": {
        "id": "0.0.0.1+-product+173523",
        "name": "Teen Telephony C4B0",
        "@type": "ProductOffering"
    },
    "productCharacteristic": [
        {
            "id": "",
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/telco/gsm/telephony",
            "@type": "StringCharacteristic"
        },
        {
            "id": "ootbServiceAliasId_0004",
            "name": "ServiceAlias",
            "valueType": "array",
            "value": [
                {
                    "name": "OotbNewServiceAliasMSISDNNF_0004"
                },
                {
                    "name": "OotbNewServiceAliasIMEINF_0004"
                },
                {
                    "name": "jsonPatchServiceAlias_0004"
                },
                {
                    "name": "jsonPatchNewServiceAlias_0004"
                }
            ],
            "@type": "ArrayCharacteristic"
        }
    ],
    "cycleEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "startDate": "2018-01-01T08:00:00.00Z"
}

Example 11: Removing a Service Alias Name in a Product Characteristic (JSON Patch)

Note:

To generate JSON Patch payloads ensure the content type is in the format application/json-patch+json or application/json-patch-query+json .

The following example shows how to remove a service alias name in a product characteristic by submitting a PATCH 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 PATCH 'http://host:port/brm/productInventory/version/product/0.0.0.1+-purchased_product+191027' -d @productUpdate.json

Example of Request Body

The following is an example of the contents of the productUpdate.json file sent as the request body.

[
    {
        "op": "remove",
        "path": "$.productCharacteristic[?(@.name=='ServiceAlias' && @.id=='ootbServiceAliasId_0004' && @.valueType=='array')].value[?(@.name=='jsonPatchNewServiceAlias_0004')].name"
    }
]

Example of Response Body

The following is an example of the response body in JSON format.

{
    "@type": "Product",
    "terminationDate": "2020-01-01T08:00:00.00Z",
    "purchaseEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "id": "0.0.0.1+-purchased_product+191027",
    "href": "http://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_product+191027",
    "status": "created",
    "billingAccount": {
        "id": "0.0.0.1+-account+187327",
        "name": "John ",
        "@type": "BillingAccount"
    },
    "realizingService": [
        {
            "id": "0.0.0.1+-service-telco-gsm-telephony+190515",
            "@type": "RealizingService"
        }
    ],
    "usageEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "isBundle": false,
    "name": "Voice Over IP12",
    "description": "Test description",
    "productOffering": {
        "id": "0.0.0.1+-product+173523",
        "name": "Teen Telephony C4B0",
        "@type": "ProductOffering"
    },
    "productCharacteristic": [
        {
            "id": "",
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/telco/gsm/telephony",
            "@type": "StringCharacteristic"
        },
        {
            "id": "ootbServiceAliasId_0004",
            "name": "ServiceAlias",
            "valueType": "array",
            "value": [
                {
                    "name": "OotbNewServiceAliasMSISDNNF_0004"
                },
                {
                    "name": "OotbNewServiceAliasIMEINF_0004"
                },
                {
                    "name": "jsonPatchServiceAlias_0004"
                }
            ],
            "@type": "ArrayCharacteristic"
        }
    ],
    "cycleEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "startDate": "2018-01-01T08:00:00.00Z"
}

Example 12: Adding a Tied Discount Relationship (JSON Patch)

Note:

To generate JSON Patch payloads ensure the content type is in the format application/json-patch+json or application/json-patch-query+json .

The following example shows how to add a tied discount relationship by submitting a PATCH 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 PATCH 'http://host:port/brm/productInventory/version/product/0.0.0.1+-purchase_product+983210' -d @productUpdate.json

Example of Request Body

The following is an example of the contents of the productUpdate.json file sent as the request body.

[
    {
        "op": "add",
        "path": "$.productRelationship",
        "value": {
            "id": "0.0.0.1+-purchased_discount+191322",
            "relationshipType": "tiedDiscount"
        }
    }
]

Example of Response Body

The following is an example of the response body in JSON format.

{
    "productRelationship": {
        "id": "0.0.0.1+-purchased_discount+191322",
        "relationshipType": "tiedDiscount"
    },
    "@type": "Product",
    "terminationDate": "2020-01-01T08:00:00.00Z",
    "purchaseEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "id": "0.0.0.1+-purchased_product+192371",
    "href": "http://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_product+192371",
    "status": "active",
    "billingAccount": {
        "id": "0.0.0.1+-account+187327",
        "name": "John ",
        "@type": "BillingAccount"
    },
    "realizingService": [
        {
            "id": "0.0.0.1+-service-telco-gsm-telephony+191859",
            "@type": "RealizingService"
        }
    ],
    "usageEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "isBundle": true,
    "name": "Voice Over IP12",
    "description": "Test description",
    "productOffering": {
        "id": "0.0.0.1+-product+173523",
        "name": "Teen Telephony C4B0",
        "@type": "ProductOffering"
    },
    "productCharacteristic": [
        {
            "id": "",
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/telco/gsm/telephony",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "MSISDN",
            "valueType": "string",
            "value": "OotbBaseServiceAliasMSISDNTiedProductwithId_0007",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "IMEI",
            "valueType": "string",
            "value": "OotbBaseServiceAliasIMEITiedProductwithId_0007",
            "@type": "StringCharacteristic"
        }
    ],
    "cycleEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "startDate": "2018-01-03T08:00:00.00Z"
}

Example 13: Adding a Tied Product Relationship (JSON Patch)

Note:

To generate JSON Patch payloads ensure the content type is in the format application/json-patch+json or application/json-patch-query+json .

The following example shows how to add a tied product relationship by submitting a PATCH 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 PATCH 'http://host:port/brm/productInventory/version/product/0.0.0.1+-purchased_product+983210' -d @productUpdate.json

Example of Request Body

The following is an example of the contents of the productUpdate.json file sent as the request body.

[
    {
        "op": "add",
        "path": "$.productRelationship",
        "value": {
            "id": "0.0.0.1+-purchased_product+189579",
            "relationshipType": "tiedProduct"
        }
    }
]

Example of Response Body

The following is an example of the response body in JSON format.

{
    "productRelationship": {
        "id": "0.0.0.1+-purchased_product+189579",
        "relationshipType": "tiedProduct"
    },
    "@type": "Product",
    "terminationDate": "2020-01-01T08:00:00.00Z",
    "purchaseEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "id": "0.0.0.1+-purchased_discount+188816",
    "href": "http://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_discount+188816",
    "status": "active",
    "billingAccount": {
        "id": "0.0.0.1+-account+191389",
        "name": "John ",
        "@type": "BillingAccount"
    },
    "realizingService": [
        {
            "id": "0.0.0.1+-service-telco-gsm-telephony+189072",
            "@type": "RealizingService"
        }
    ],
    "usageEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "isBundle": false,
    "name": "Voice Over IP12",
    "description": "Test description",
    "productOffering": {
        "id": "0.0.0.1+-discount+168649",
        "name": "Discount-Product",
        "@type": "ProductOffering"
    },
    "productCharacteristic": [
        {
            "id": "",
            "name": "MSISDN",
            "valueType": "string",
            "value": "NewServiceAliasMSISDNForTiedDiscount_0003",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "IMEI",
            "valueType": "string",
            "value": "NewServiceAliasIMEIForTiedDiscount_0003",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/telco/gsm/telephony",
            "@type": "StringCharacteristic"
        }
    ],
    "cycleEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "startDate": "2018-01-03T08:00:00.00Z"
}

Example 14: Removing a Tied Product or Discount (JSON Patch)

Note:

To generate JSON Patch payloads ensure the content type is in the format application/json-patch+json or application/json-patch-query+json .

The following example shows how to remove a tied product or discount in a JSON patch by submitting a PATCH 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 PATCH 'http://host:port/brm/productInventory/version/product/0.0.0.1+-purchased_discount+983210' -d @productUpdate.json

Example of Request Body

The following is an example of the contents of the productUpdate.json file sent as the request body.

[
    {
        "op": "remove",
        "path": "$.productRelationship[?(@.id=='0.0.0.1+-purchased_discount+191016' && @.relationshipType=='tiedDiscount')]"
    }
]

Example of Response Body

The following is an example of the response body in JSON format.

{
    "@type": "Product",
    "terminationDate": "2020-01-01T08:00:00.00Z",
    "purchaseEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "id": "0.0.0.1+-purchased_product+192371",
    "href": "http://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_product+192371",
    "status": "active",
    "billingAccount": {
        "id": "0.0.0.1+-account+187327",
        "name": "John ",
        "@type": "BillingAccount"
    },
    "realizingService": [
        {
            "id": "0.0.0.1+-service-telco-gsm-telephony+191859",
            "@type": "RealizingService"
        }
    ],
    "usageEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "isBundle": true,
    "name": "Voice Over IP12",
    "description": "Test description",
    "productOffering": {
        "id": "0.0.0.1+-product+173523",
        "name": "Teen Telephony C4B0",
        "@type": "ProductOffering"
    },
    "productCharacteristic": [
        {
            "id": "",
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/telco/gsm/telephony",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "MSISDN",
            "valueType": "string",
            "value": "OotbBaseServiceAliasMSISDNTiedProductwithId_0007",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "IMEI",
            "valueType": "string",
            "value": "OotbBaseServiceAliasIMEITiedProductwithId_0007",
            "@type": "StringCharacteristic"
        }
    ],
    "cycleEnd": {
        "unit": "absolute",
        "amount": 0
    },
    "startDate": "2018-01-03T08:00:00.00Z"
}

Example 15: PATCH Request With Query Parameters

The following example shows how to submit a PATCH request with query parameters 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 PATCH 'http://host:port/brm/productInventory/version/product/0.0.0.1+-purchased_product+174512?fields=description,billingAccount,productCharacteristic' -d @productUpdate.json

Example of Request Body

The following is an example of the contents of the productUpdate.json file sent as the request body.

{
    "@type": "Product",
    "description": "Patched description"
}

Example of Response Body

The following is an example of the response body in JSON format.

{
    "@type": "Product",
    "id": "0.0.0.1+-purchased_product+174512",
    "href": "http://host:port/brm/productInventory/v5/product/0.0.0.1+-purchased_product+174512",
    "billingAccount": {
        "id": "0.0.0.1+-account+173169",
        "name": "Junior Walter",
        "@type": "BillingAccount"
    },
    "description": "Patched description",
    "productCharacteristic": [
        {
            "id": "",
            "name": "ServiceType",
            "valueType": "string",
            "value": "/service/telco/gsm/telephony",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "MSISDN",
            "valueType": "string",
            "value": "QueryParamMSISDN_0004",
            "@type": "StringCharacteristic"
        },
        {
            "id": "",
            "name": "IMEI",
            "valueType": "string",
            "value": "QueryParamIMEI_0004",
            "@type": "StringCharacteristic"
        }
    ]
}
Back to Top