Skip to content
Release: Australia · Updated: 2026-03-12 · Official documentation · View source

Quote Management API

The Quote Management API provides endpoints to create, update, and retrieve customer quote data.

The Quote Management Open API is a ServiceNow implementation of the TM Forum Quote Management API REST specification. This implementation is based on https://www.tmforum.org/resources/standard/tmf648-quote-management-api-rest-specification-r19-0-0/.

This API can be extended to make customizations around required parameters, request body validation, additional REST operations and field mappings.

The Quote Management API requires the Quote Management (com.sn_quote_mgmt) plugin and the quote_integrator role. This API belongs to the sn_tmf_api namespace. See .

The Quote Management API creates or updates data in the following tables:

  • Quote [sn_quote_mgmt_core_quote]
  • Sales Agreement [sn_sales_agmt_core_sales_agreement]
  • Quote Line Item [sn_quote_mgmt_core_quote_line_item]
  • Quote Line Characteristic [sn_quote_mgmt_core_quote_line_characteristic]
  • Quote Pricing Adjustment [sn_quote_mgmt_core_pricing_adjustment]

Parent Topic:REST API reference

Quote Management API - DELETE /sn_tmf_api/quote_management_api/quote/{id}

Deletes the specified quote.

URL format

Versioned URL: /api/sn_tmf_api/{api_version}/quote_management_api/quote/{id}

Default URL: /api/sn_tmf_api/quote_management_api/quote/{id}

Supported request parameters

NameDescription
idSys\_id of the quote to delete.Data type: String Table: Quote \[sn\_quote\_mgmt\_core\_quote\]
NameDescription
None 
NameDescription
None 

Headers

The following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see Supported REST API headers.

HeaderDescription
AcceptData format of the response body. Only supports application/json.
HeaderDescription
None 

Status codes

The following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see REST API HTTP response codes.

Status codeDescription
204Successful. Request completed successfully and the specified quote was deleted. No content.
400Bad Request. A bad request type or malformed request was detected.

Response body parameters (JSON)

HeaderDescription
None 

cURL request

This example shows how to delete a quote.

curl "http://instance.servicenow.com/api/sn_tmf_api/quote_management_api/quote/cb15734fd5692a10f8774663edf0ac19" \ 
--request DELETE\ 
--header "Accept:application/json" \ 
--user 'username':'password'

Quote Management API – GET /sn_tmf_api/quote_management_api/quote

Retrieves all quotes.

This API retrieves quote information from the following related tables:

  • Quote [sn_quote_mgmt_core_quote]
  • Sales Agreement [sn_sales_agmt_core_sales_agreement]
  • Quote Line Item [sn_quote_mgmt_core_quote_line_item]
  • Quote Line Characteristic [sn_quote_mgmt_core_quote_line_characteristic]
  • Quote Pricing Adjustment [sn_quote_mgmt_core_pricing_adjustment]

URL format

Versioned URL: /api/sn_tmf_api/{api_version}/quote_management_api/quote

Default URL: /api/sn_tmf_api/quote_management_api/quote

Supported request parameters

NameDescription
None 
NameDescription
fieldsList of fields to return in the response. Invalid fields are ignored. Valid fields: - quoteNumber - href - id - description - externalId - expectedQuoteCompletionDate - version - @type Data type: String Default: All fields returned.
idFilter results by quote sys\_id.Table: Quote \[sn\_quote\_mgmt\_core\_quote\] Data type: String Default: Empty
limit

Maximum number of records to return. For requests that exceed this number of records, use the offset parameter to paginate record retrieval. Data type: Number

Default: 20

Maximum: 100

offsetStarting index at which to begin retrieving records. Use this value to paginate record retrieval. This functionality enables the retrieval of all records, regardless of the number of records, in small manageable chunks.Data type: Number Default: 0
NameDescription
None 

Headers

The following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see Supported REST API headers.

HeaderDescription
None 
HeaderDescription
Content-RangeRange of content returned in a paginated call. For example, if offset=2 and limit=3, the value of the Content-Range header is items 3-5.
Content-TypeData format of the response body. Only supports application/json.
X-Total-CountFor paginated queries, this header specifies the total number of records available on the server.

Status codes

The following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see REST API HTTP response codes.

Status codeDescription
200Request successfully processed. Full resource returned in response \(no pagination\).
206Partial resource returned in response \(with pagination\).
400Bad request. Possible reasons: - Invalid path parameter - Invalid URI
404Record not found. No records matching the query parameters are found in the table.

Response body parameters (JSON)

NameDescription
contactMediumList of contact mediums. Contact information related to the quote requester.
"contactMedium": [
 {
  "city": "String",
  "country": "String",
  "locationId": "String",
  "mediumType": "String",
  "postCode": "String",
  "stateOrProvince": "String",
  "street": "String",
  "@type": "String"
 }
]
contactMedium.cityCity in which the quote requester resides.Data type: String
contactMedium.countryCountry in which the quote requester resides.Data type: String
contactMedium.locationIdSys\_id of the location listed in the Location \[cmn\_location\] table or custom address.Data type: String
contactMedium.mediumTypeType of contact medium, such as email address, telephone number, or postal address.Data type: String
contactMedium.postCodePostal code of the quote requester.Data type: String
contactMedium.stateOrProvinceState or province in which the quote requester resides.Data type: String
contactMedium.streetStreet address of the quote requester.Data type: String
contactMedium.@typeType of medium per the TMF Open API standard. For example, `GeographicalAddressContactMedium`.Data type: String
descriptionDescription of the quote.Data type: String
expectedQuoteCompletionDateThe expected date from quote supplier to be able to send back a response for this quote.Data type: String
externalIdUnique consumer-provided ID for the quote.Data type: String
hrefRelative link to access the quote.Data type: String Default: Empty string
idSys\_id of the requested quote.Table: Quote \[sn\_quote\_mgmt\_core\_quote\] Data type: String
noteList of notes associated with the quote. Data type: Array
"note": [
  {
    "author": "String",
    "date": "String",
    "text": "String",
    "@type": "String"
 }
]
note.authorUser name of the person that authored the associated note.Data type: String
note.dateDate that the note was created.Data type: String
note.textContents of the note. Data type: String
note.@typeThis value is always `Note`.Data type: String
quoteDateDate and time at which the quote was created.Data type: String
quoteItemA list of quote items. Each quote item describes an action for a product to be quoted.
"quoteItem": [
 {
  "action": "String",
  "id": "String",
  "product": {Object},
  "productOffering": {Object},
  "quantity": Number,
  "state": "String",
  "@type": "String"
 }
]
Data type: Array of Objects
quoteItem.actionAction to be performed on this quote item \(add, modify, remove, etc.\).Data type: String
quoteItem.idSys\_id of the quote item.Table: Quote Line Item \[sn\_quote\_mgmt\_core\_quote\_line\_item\] Data type: String
quoteItem.productList of products included in the quote.
"product": {
  "characteristic": "String",
  "specification": "String",
  "@type": "String"
}
Data type: Object
quoteItem.product. characteristicList of product characteristics.Data type: Array of Objects
"characteristic": [
  {
    "id": "String",
    "name": "String",
    "@type": "String",
    "value": "String"
  }
]
See Create product characteristics and characteristic options.
quoteItem.product. characteristic.idSys\_id of the product characteristic.Table: Quote Line Characteristic \[sn\_quote\_mgmt\_core\_quote\_line\_characteristic\] Data type: String
quoteItem.product. characteristic.nameName of the product characteristic.Data type: String
quoteItem.product. characteristic.@typeThis value is always `StringCharacteristic`.Data type: String
quoteItem.product. characteristic.valueValue of the characteristic.Data type: String
quoteItem.product. specificationDetailed description of a tangible or intangible object made available externally in the form of a ProductOffering to customers or other parties playing a party role.Data type: String
quoteItem.product.@typeThis value is always `Product`.Data type: String
quoteItem.productOfferingA product offering reference \(ProductOfferingRef\). A product offering represents entities that are orderable from the provider of the catalog.
"productOffering": {
  "href": "String",
  "name": "String",
  "name": "String",
  "@type": "String"
}
Data type: Object
quoteItem. productOffering.hrefReference of the related entity.Data type: String
quoteItem. productOffering.idSys\_id of product offering.Table: Product Offering \[sn\_prd\_pm\_product\_offering\] Data type: String
quoteItem. productOffering.nameName of the related entity.Data type: String
quoteItem. productOffering.@typeThis value is always `ProductOfferingRef`.Data type: String
quoteItem.quantityQuantity asked for this quote item.Data type: Number
quoteItem.stateA quote state type \(QuoteStateType\). State of the quote.Data type: String
quoteItem.@typeThis value is always `QuoteItem`.Data type: String
quoteNumberQuote line item record number assigned to the quote.Table: Quote Line Item \[sn\_quote\_mgmt\_core\_quote\_line\_item\] Data type: String
relatedPartyList of contacts for the order.Data type: Array of Objects
"relatedParty": [
  {
    "id": "String",
    "name": "String",
    "@referredType": "String",
    "role": "String",
    "@type": "String"
  }
]
relatedParty.idSys\_id of the quote table to get the account, contact, or customer.Table: Quote \[sn\_quote\_mgmt\_core\_quote\] Data type: String
relatedParty.nameName of the account, customer, or consumer. Data type: String
relatedParty.@referredTypeType of customer. Possible values: - Consumer - Customer - CustomerContact Data type: String
relatedParty.roleThe role of the party in the context of the quote \(e.g., Account, Contact, or Customer\).Data type: String
relatedParty.@typeThis value is always `ProductOfferingRef`.Data type: String
requestedQuoteCompletionDateA date time \(DateTime\). This value represents the date specified by the quote requester by which to receive a complete response for this quote.Data type: String
stateState of the quote item.Data type: String
@typeType of resource. This value is always `Quote`. This information isn’t stored.Data type: String

cURL request

This example retrieves all quotes.

curl "https://instance.service-now.com/api/sn_tmf_api/quote_management_api/quote" \
--request GET \
--header "Accept:application/json" \
--user 'userName':'password'

Response body.

{
  "id": "47e562bad565a610f8774663edf0ac10",
  "quoteNumber": "QT0001001",
  "href": "api/sn_tmf_api/quote_management_api/quote/47e562bad565a610f8774663edf0ac10",
  "@type": "Quote",
  "description": "Testing Quote",
  "expectedQuoteCompletionDate": "2025-05-23 11:12:08",
  "externalId": "Test_1234",
  "quoteDate": "2025-05-20 11:11:13",
  "requestedQuoteCompletionDate": "2025-05-23 11:12:08",
  "version": "3",
  "agreement": [],
  "contactMedium": [
    {
      "@type": "GeographicalAddressContactMedium",
      "mediumType": "ShippingAddressRef",
      "locationId": "6774fee611383110f877366201dea64f",
      "city": "Santa Clara",
      "country": "USA",
      "postCode": "94560",
      "stateOrProvince": "CA",
      "street": "222 Star St"
    }
  ],
  "note": [],
  "quoteItem": [
    {
      "id": "8be562bad565a610f8774663edf0ac16",
      "@type": "QuoteItem",
      "action": "add",
      "quantity": "1",
      "state": "Draft",
      "product": {
        "@type": "Product",
        "productCharacteristic": [
          {
            "id": "0fe562bad565a610f8774663edf0ac17",
            "name": "Voice Pack",
            "value": "1500 Minutes/Month"
          },
          {
            "id": "4be562bad565a610f8774663edf0ac17",
            "name": "SMS Pack",
            "value": "700 /Month"
          },
          {
            "id": "83e562bad565a610f8774663edf0ac18",
            "name": "Data Pack",
            "value": "20 GB/Month"
          },
          {
            "id": "87e562bad565a610f8774663edf0ac17",
            "name": "Mobile Number",
            "value": ""
          },
          {
            "id": "cfe562bad565a610f8774663edf0ac17",
            "name": "Shipping Address",
            "value": ""
          }
        ],
        "productSpecification": {
          "id": "3ee1fdb1c3331010d216b5183c40dd81",
          "href": "api/sn_tmf_api/catalogmanagement/productSpecification/3ee1fdb1c3331010d216b5183c40dd81",
          "name": "Mobile Plan",
          "@type": "ProductSpecificationRef"
        }
      },
      "productOffering": {
        "id": "2cb5588fc30020105252716b7d40dddd",
        "href": "api/sn_tmf_api/catalogmanagement/productOffering/2cb5588fc30020105252716b7d40dddd",
        "name": "All in one mobile plan starting from $49/month",
        "@type": "ProductOfferingRef"
      },
      "quoteItemPrice": [
        {
          "description": "Standard Price List",
          "name": "Standard Price List",
          "priceType": "Recurring",
          "recurringChargePeriod": "",
          "unitOfMeasure": "",
          "unitMarginPercentage": "",
          "price": {
            "totalOneTimePrice": {
              "unit": "USD",
              "value": 0
            },
            "monthlyRecurringPrice": {
              "unit": "USD",
              "value": 0
            },
            "annualRecurringPrice": {
              "unit": "USD",
              "value": 0
            },
            "cumulativeRecurringPrice": {
              "unit": "USD",
              "value": 0
            },
            "cumulativeAnnualRecurringPrice": {
              "unit": "USD",
              "value": 0
            },
            "cumulativeNetPrice": {
              "unit": "USD",
              "value": 0
            },
            "unitMarginAmount": {
              "unit": "USD",
              "value": 0
            },
            "unitMarginBasePrice": {
              "unit": "USD",
              "value": 0
            },
            "listPrice": {
              "unit": "USD",
              "value": 0
            },
            "unitCost": {
              "unit": "USD",
              "value": 0
            },
            "unitPrice": {
              "unit": "USD",
              "value": 0
            },
            "dutyFreeAmount": {
              "unit": "USD",
              "value": 0
            },
            "taxIncludedAmount": {
              "unit": "USD",
              "value": 0
            }
          },
          "priceAlteration": []
        }
      ]
    }
  ],
  "relatedParty": [
    {
      "role": "Customer",
      "id": "9e2fd2ee11b43110f877366201dea674",
      "name": "Startech svcs",
      "@type": "RelatedPartyRef",
      "@referredType": "Organization"
    },
    {
      "role": "CustomerContact",
      "id": "dca96eaa11f43110f877366201dea6c1",
      "name": "Alex Star",
      "@type": "RelatedPartyRef",
      "@referredType": "Individual"
    }
  ],
  "state": "Draft"
}

Quote Management API – GET /sn_tmf_api/quote_management_api/quote/{id}

Retrieves a specified quote.

This API retrieves quote information from the following related tables:

  • Quote [sn_quote_mgmt_core_quote]
  • Sales Agreement [sn_sales_agmt_core_sales_agreement]
  • Quote Line Item [sn_quote_mgmt_core_quote_line_item]
  • Quote Line Characteristic [sn_quote_mgmt_core_quote_line_characteristic]
  • Quote Pricing Adjustment [sn_quote_mgmt_core_pricing_adjustment]

URL format

Versioned URL: /api/sn_tmf_api/{api_version}/quote_management_api/quote/{id}

Default URL: /api/sn_tmf_api/quote_management_api/quote/{id}

Supported request parameters

NameDescription
idSys\_id of the quote to retrieve.Data type: String Table: Quote \[sn\_quote\_mgmt\_core\_quote\]
NameDescription
None 
NameDescription
None 

Headers

The following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see Supported REST API headers.

HeaderDescription
None 
HeaderDescription
Content-TypeData format of the response body. Only supports application/json.

Status codes

The following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see REST API HTTP response codes.

Status codeDescription
200Request successfully processed. Full resource returned in response \(no pagination\).
206Partial resource returned in response \(with pagination\).
400Bad request. Possible reasons: - Invalid path parameter - Invalid URI
404Record not found. No records matching the query parameters are found in the table.

Response body parameters (JSON)

NameDescription
contactMediumList of contact mediums. Contact information related to the quote requester.
"contactMedium": [
 {
  "city": "String",
  "country": "String",
  "locationId": "String",
  "mediumType": "String",
  "postCode": "String",
  "stateOrProvince": "String",
  "street": "String",
  "@type": "String"
 }
]
contactMedium.cityCity in which the quote requester resides.Data type: String
contactMedium.countryCountry in which the quote requester resides.Data type: String
contactMedium.locationIdSys\_id of the location listed in the Location \[cmn\_location\] table or custom address.Data type: String
contactMedium.mediumTypeType of contact medium, such as email address, telephone number, or postal address.Data type: String
contactMedium.postCodePostal code of the quote requester.Data type: String
contactMedium.stateOrProvinceState or province in which the quote requester resides.Data type: String
contactMedium.streetStreet address of the quote requester.Data type: String
contactMedium.@typeType of medium per the TMF Open API standard. For example, `GeographicalAddressContactMedium`.Data type: String
descriptionDescription of the quote.Data type: String
expectedQuoteCompletionDateThe expected date from quote supplier to be able to send back a response for this quote.Data type: String
externalIdUnique consumer-provided ID for the quote.Data type: String
hrefRelative link to access the quote.Data type: String Default: Empty string
idSys\_id of the requested quote.Table: Quote \[sn\_quote\_mgmt\_core\_quote\] Data type: String
noteList of notes associated with the quote. Data type: Array
"note": [
  {
    "author": "String",
    "date": "String",
    "text": "String",
    "@type": "String"
 }
]
note.authorUser name of the person that authored the associated note.Data type: String
note.dateDate that the note was created.Data type: String
note.textContents of the note. Data type: String
note.@typeThis value is always `Note`.Data type: String
quoteDateDate and time at which the quote was created.Data type: String
quoteItemA list of quote items. Each quote item describes an action for a product to be quoted.
"quoteItem": [
 {
  "action": "String",
  "id": "String",
  "product": {Object},
  "productOffering": {Object},
  "quantity": Number,
  "state": "String",
  "@type": "String"
 }
]
Data type: Array of Objects
quoteItem.actionAction to be performed on this quote item \(add, modify, remove, etc.\).Data type: String
quoteItem.idSys\_id of the quote item.Table: Quote Line Item \[sn\_quote\_mgmt\_core\_quote\_line\_item\] Data type: String
quoteItem.productList of products included in the quote.
"product": {
  "characteristic": "String",
  "specification": "String",
  "@type": "String"
}
Data type: Object
quoteItem.product. characteristicList of product characteristics.Data type: Array of Objects
"characteristic": [
  {
    "id": "String",
    "name": "String",
    "@type": "String",
    "value": "String"
  }
]
See Create product characteristics and characteristic options.
quoteItem.product. characteristic.idSys\_id of the product characteristic.Table: Quote Line Characteristic \[sn\_quote\_mgmt\_core\_quote\_line\_characteristic\] Data type: String
quoteItem.product. characteristic.nameName of the product characteristic.Data type: String
quoteItem.product. characteristic.@typeThis value is always `StringCharacteristic`.Data type: String
quoteItem.product. characteristic.valueValue of the characteristic.Data type: String
quoteItem.product. specificationDetailed description of a tangible or intangible object made available externally in the form of a ProductOffering to customers or other parties playing a party role.Data type: String
quoteItem.product.@typeThis value is always `Product`.Data type: String
quoteItem.productOfferingA product offering reference \(ProductOfferingRef\). A product offering represents entities that are orderable from the provider of the catalog.
"productOffering": {
  "href": "String",
  "name": "String",
  "name": "String",
  "@type": "String"
}
Data type: Object
quoteItem. productOffering.hrefReference of the related entity.Data type: String
quoteItem. productOffering.idSys\_id of product offering.Table: Product Offering \[sn\_prd\_pm\_product\_offering\] Data type: String
quoteItem. productOffering.nameName of the related entity.Data type: String
quoteItem. productOffering.@typeThis value is always `ProductOfferingRef`.Data type: String
quoteItem.quantityQuantity asked for this quote item.Data type: Number
quoteItem.stateA quote state type \(QuoteStateType\). State of the quote.Data type: String
quoteItem.@typeThis value is always `QuoteItem`.Data type: String
quoteNumberQuote line item record number assigned to the quote.Table: Quote Line Item \[sn\_quote\_mgmt\_core\_quote\_line\_item\] Data type: String
relatedPartyList of contacts for the order.Data type: Array of Objects
"relatedParty": [
  {
    "id": "String",
    "name": "String",
    "@referredType": "String",
    "role": "String",
    "@type": "String"
  }
]
relatedParty.idSys\_id of the quote table to get the account, contact, or customer.Table: Quote \[sn\_quote\_mgmt\_core\_quote\] Data type: String
relatedParty.nameName of the account, customer, or consumer. Data type: String
relatedParty.@referredTypeType of customer. Possible values: - Consumer - Customer - CustomerContact Data type: String
relatedParty.roleThe role of the party in the context of the quote \(e.g., Account, Contact, or Customer\).Data type: String
relatedParty.@typeThis value is always `ProductOfferingRef`.Data type: String
requestedQuoteCompletionDateA date time \(DateTime\). This value represents the date specified by the quote requester by which to receive a complete response for this quote.Data type: String
stateState of the quote item.Data type: String
@typeType of resource. This value is always `Quote`. This information isn’t stored.Data type: String

cURL request

The following example retrieves a specified quote.

curl "https://instance.service-now.com/api/sn_tmf_api/quote_management_api/quote/04ba9004f11f3110f8777d7194f166f6" \
--request GET \
--header "Accept:application/json" \
--user 'userName':'password'

Response body.

{
  "id": "47e562bad565a610f8774663edf0ac10",
  "quoteNumber": "QT0001001",
  "href": "api/sn_tmf_api/quote_management_api/quote/47e562bad565a610f8774663edf0ac10",
  "@type": "Quote",
  "description": "Testing Quote",
  "expectedQuoteCompletionDate": "2025-05-23 11:12:08",
  "externalId": "Test_1234",
  "quoteDate": "2025-05-20 11:11:13",
  "requestedQuoteCompletionDate": "2025-05-23 11:12:08",
  "version": "3",
  "agreement": [],
  "contactMedium": [
    {
      "@type": "GeographicalAddressContactMedium",
      "mediumType": "ShippingAddressRef",
      "locationId": "6774fee611383110f877366201dea64f",
      "city": "Santa Clara",
      "country": "USA",
      "postCode": "94560",
      "stateOrProvince": "CA",
      "street": "222 Star St"
    }
  ],
  "note": [],
  "quoteItem": [
    {
      "id": "8be562bad565a610f8774663edf0ac16",
      "@type": "QuoteItem",
      "action": "add",
      "quantity": "1",
      "state": "Draft",
      "product": {
        "@type": "Product",
        "productCharacteristic": [
          {
            "id": "0fe562bad565a610f8774663edf0ac17",
            "name": "Voice Pack",
            "value": "1500 Minutes/Month"
          },
          {
            "id": "4be562bad565a610f8774663edf0ac17",
            "name": "SMS Pack",
            "value": "700 /Month"
          },
          {
            "id": "83e562bad565a610f8774663edf0ac18",
            "name": "Data Pack",
            "value": "20 GB/Month"
          },
          {
            "id": "87e562bad565a610f8774663edf0ac17",
            "name": "Mobile Number",
            "value": ""
          },
          {
            "id": "cfe562bad565a610f8774663edf0ac17",
            "name": "Shipping Address",
            "value": ""
          }
        ],
        "productSpecification": {
          "id": "3ee1fdb1c3331010d216b5183c40dd81",
          "href": "api/sn_tmf_api/catalogmanagement/productSpecification/3ee1fdb1c3331010d216b5183c40dd81",
          "name": "Mobile Plan",
          "@type": "ProductSpecificationRef"
        }
      },
      "productOffering": {
        "id": "2cb5588fc30020105252716b7d40dddd",
        "href": "api/sn_tmf_api/catalogmanagement/productOffering/2cb5588fc30020105252716b7d40dddd",
        "name": "All in one mobile plan starting from $49/month",
        "@type": "ProductOfferingRef"
      },
      "quoteItemPrice": [
        {
          "description": "Standard Price List",
          "name": "Standard Price List",
          "priceType": "Recurring",
          "recurringChargePeriod": "",
          "unitOfMeasure": "",
          "unitMarginPercentage": "",
          "price": {
            "totalOneTimePrice": {
              "unit": "USD",
              "value": 0
            },
            "monthlyRecurringPrice": {
              "unit": "USD",
              "value": 0
            },
            "annualRecurringPrice": {
              "unit": "USD",
              "value": 0
            },
            "cumulativeRecurringPrice": {
              "unit": "USD",
              "value": 0
            },
            "cumulativeAnnualRecurringPrice": {
              "unit": "USD",
              "value": 0
            },
            "cumulativeNetPrice": {
              "unit": "USD",
              "value": 0
            },
            "unitMarginAmount": {
              "unit": "USD",
              "value": 0
            },
            "unitMarginBasePrice": {
              "unit": "USD",
              "value": 0
            },
            "listPrice": {
              "unit": "USD",
              "value": 0
            },
            "unitCost": {
              "unit": "USD",
              "value": 0
            },
            "unitPrice": {
              "unit": "USD",
              "value": 0
            },
            "dutyFreeAmount": {
              "unit": "USD",
              "value": 0
            },
            "taxIncludedAmount": {
              "unit": "USD",
              "value": 0
            }
          },
          "priceAlteration": []
        }
      ]
    }
  ],
  "relatedParty": [
    {
      "role": "Customer",
      "id": "9e2fd2ee11b43110f877366201dea674",
      "name": "Startech svcs",
      "@type": "RelatedPartyRef",
      "@referredType": "Organization"
    },
    {
      "role": "CustomerContact",
      "id": "dca96eaa11f43110f877366201dea6c1",
      "name": "Alex Star",
      "@type": "RelatedPartyRef",
      "@referredType": "Individual"
    }
  ],
  "state": "Draft"
}

Quote Management API - PATCH /sn_tmf_api/quote_management_api/quote/{id}

Updates the specified quote.

URL format

Versioned URL: /api/sn_tmf_api/{api_version}/quote_management_api/quote/{id}

Default URL: /api/sn_tmf_api/quote_management_api/quote/{id}

Supported request parameters

NameDescription
idSys\_id of the quote to update.Data type: String Table: Quote \[sn\_quote\_mgmt\_core\_quote\]
NameDescription
None 
NameDescription
contactMediumList of contact mediums. Contact information related to the quote requester.
"contactMedium": [
 {
  "city": "String",
  "country": "String",
  "locationId": "String",
  "mediumType": "String",
  "postCode": "String",
  "stateOrProvince": "String",
  "street": "String",
  "@type": "String"
 }
]
contactMedium.cityCity in which the quote requester resides.Data type: String
contactMedium.countryCountry in which the quote requester resides.Data type: String
contactMedium.locationIdSys\_id of the location listed in the Location \[cmn\_location\] table or custom address.Data type: String
contactMedium.mediumTypeType of contact medium, such as email address, telephone number, or postal address.Data type: String
contactMedium.postCodePostal code of the quote requester.Data type: String
contactMedium.stateOrProvinceState or province in which the quote requester resides.Data type: String
contactMedium.streetStreet address of the quote requester.Data type: String
contactMedium.@typeType of medium per the TMF Open API standard. For example, `GeographicalAddressContactMedium`.Data type: String
descriptionDescription of the quote.Data type: String
noteList of notes associated with the quote. Data type: Array
"note": [
  {
    "text": "String",
    "@type": "String"
 }
]
note.textContents of the note. Data type: String
note.@typeThis value is always `Note`.Data type: String
quoteDateDate and time at which the quote was created.Data type: String
quoteItemA list of quote items. Each quote item describes an action for a product to be quoted.
"quoteItem": [
 {
  "action": "String",
  "id": "String",
  "product": {Object},
  "productOffering": {Object},
  "productRelationship": {Object},
  "quantity": Number,
  "state": "String",
  "@type": "String"
 }
]
Data type: Array of Objects
quoteItem.actionAction to be performed on this quote item \(add, modify, remove, etc.\).Data type: String
quoteItem.idSys\_id of the quote item.Table: Quote Line Item \[sn\_quote\_mgmt\_core\_quote\_line\_item\] Data type: String
quoteItem.productList of products included in the quote.
"product": {
  "characteristic": "String",
  "specification": "String",
  "@type": "String"
}
Data type: Object
quoteItem.product. characteristicList of product characteristics.Data type: Array of Objects
"characteristic": [
  {
    "id": "String",
    "name": "String",
    "@type": "String",
    "value": "String"
  }
]
See Create product characteristics and characteristic options.
quoteItem.product. characteristic.idSys\_id of the product characteristic.Table: Quote Line Characteristic \[sn\_quote\_mgmt\_core\_quote\_line\_characteristic\] Data type: String
quoteItem.product. characteristic.nameName of the product characteristic.Data type: String
quoteItem.product. characteristic.@typeThis value is always `StringCharacteristic`.Data type: String
quoteItem.product. characteristic.valueValue of the characteristic.Data type: String
quoteItem.product. specificationDetailed description of a tangible or intangible object made available externally in the form of a ProductOffering to customers or other parties playing a party role.Data type: String
quoteItem.product.@typeThis value is always `Product`.Data type: String
quoteItem.productOfferingA product offering reference \(ProductOfferingRef\). A product offering represents entities that are orderable from the provider of the catalog.
"productOffering": {
  "href": "String",
  "name": "String",
  "name": "String",
  "@type": "String"
}
Data type: Object
quoteItem. productOffering.hrefReference of the related entity.Data type: String
quoteItem. productOffering.idSys\_id of product offering.Table: Product Offering \[sn\_prd\_pm\_product\_offering\] Data type: String
quoteItem. productOffering.nameName of the related entity.Data type: String
quoteItem. productOffering.@typeThis value is always `ProductOfferingRef`.Data type: String
quoteItem.productRelationshipA list of quote items. Each quote item describes an action for a product to be quoted.
"productRelationship": [
 {
  "product": "String",
  "relationshipType": "String"
 }
]
Data type: Array of Objects
quoteItem.productRelationship. productA product reference or value \(ProductRefOrValue\). A produt to be created defined by value or existing defined by reference.The product meets one of the following criteria: - Pending product creation defined by the value. - Existing product defined by reference. Data type: String
quoteItem.productRelationship. relationshipTypeType of the product relationship, such as `bundled` if the product is a bundle and you want to describe the the bundled products within.Data type: String
quoteItem.quantityQuantity asked for this quote item.Data type: Number
quoteItem.stateA quote state type \(QuoteStateType\). State of the quote.Data type: String
quoteItem.@typeThis value is always `QuoteItem`.Data type: String
relatedPartyList of contacts for the order.Data type: Array of Objects
"relatedParty": [
  {
    "id": "String",
    "name": "String",
    "@referredType": "String",
    "role": "String",
    "@type": "String"
  }
]
relatedParty.idSys\_id of the quote table to get the account, contact, or customer.Table: Quote \[sn\_quote\_mgmt\_core\_quote\] Data type: String
relatedParty.nameName of the account, customer, or consumer. Data type: String
relatedParty.@referredTypeType of customer. Possible values: - Consumer - Customer - CustomerContact Data type: String
relatedParty.roleThe role of the party in the context of the quote \(e.g., Account, Contact, or Customer\).Data type: String
relatedParty.@typeThis value is always `ProductOfferingRef`.Data type: String
stateState of the quote item.Data type: String
@typeType of resource. This value is always `Quote`. This information isn’t stored.Data type: String

Headers

The following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see Supported REST API headers.

HeaderDescription
AcceptData format of the response body. Only supports application/json.
Content-TypeData format of the request body. Only supports application/json.
HeaderDescription
Content-TypeData format of the response body. Only supports application/json.

Status codes

The following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see REST API HTTP response codes.

Status codeDescription
200Request successfully processed. Full resource returned in response \(no pagination\).
400Bad request. Possible reasons: - Invalid path parameter - Invalid URI
404Record not found. No records matching the query parameters are found in the table.

Response body parameters (JSON)

NameDescription
contactMediumList of contact mediums. Contact information related to the quote requester.
"contactMedium": [
 {
  "city": "String",
  "country": "String",
  "locationId": "String",
  "mediumType": "String",
  "postCode": "String",
  "stateOrProvince": "String",
  "street": "String",
  "@type": "String"
 }
]
contactMedium.cityCity in which the quote requester resides.Data type: String
contactMedium.countryCountry in which the quote requester resides.Data type: String
contactMedium.locationIdSys\_id of the location listed in the Location \[cmn\_location\] table or custom address.Data type: String
contactMedium.mediumTypeType of contact medium, such as email address, telephone number, or postal address.Data type: String
contactMedium.postCodePostal code of the quote requester.Data type: String
contactMedium.stateOrProvinceState or province in which the quote requester resides.Data type: String
contactMedium.streetStreet address of the quote requester.Data type: String
contactMedium.@typeType of medium per the TMF Open API standard. For example, `GeographicalAddressContactMedium`.Data type: String
descriptionDescription of the quote.Data type: String
noteList of notes associated with the quote. Data type: Array
"note": [
  {
    "text": "String",
    "@type": "String"
 }
]
note.textContents of the note. Data type: String
note.@typeThis value is always `Note`.Data type: String
quoteDateDate and time at which the quote was created.Data type: String
quoteItemA list of quote items. Each quote item describes an action for a product to be quoted.
"quoteItem": [
 {
  "action": "String",
  "id": "String",
  "product": {Object},
  "productOffering": {Object},
  "productRelationship": {Object},
  "quantity": Number,
  "state": "String",
  "@type": "String"
 }
]
Data type: Array of Objects
quoteItem.actionAction to be performed on this quote item \(add, modify, remove, etc.\).Data type: String
quoteItem.idSys\_id of the quote item.Table: Quote Line Item \[sn\_quote\_mgmt\_core\_quote\_line\_item\] Data type: String
quoteItem.productList of products included in the quote.
"product": {
  "characteristic": "String",
  "specification": "String",
  "@type": "String"
}
Data type: Object
quoteItem.product. characteristicList of product characteristics.Data type: Array of Objects
"characteristic": [
  {
    "id": "String",
    "name": "String",
    "@type": "String",
    "value": "String"
  }
]
See Create product characteristics and characteristic options.
quoteItem.product. characteristic.idSys\_id of the product characteristic.Table: Quote Line Characteristic \[sn\_quote\_mgmt\_core\_quote\_line\_characteristic\] Data type: String
quoteItem.product. characteristic.nameName of the product characteristic.Data type: String
quoteItem.product. characteristic.@typeThis value is always `StringCharacteristic`.Data type: String
quoteItem.product. characteristic.valueValue of the characteristic.Data type: String
quoteItem.product. specificationDetailed description of a tangible or intangible object made available externally in the form of a ProductOffering to customers or other parties playing a party role.Data type: String
quoteItem.product.@typeThis value is always `Product`.Data type: String
quoteItem.productOfferingA product offering reference \(ProductOfferingRef\). A product offering represents entities that are orderable from the provider of the catalog.
"productOffering": {
  "href": "String",
  "name": "String",
  "name": "String",
  "@type": "String"
}
Data type: Object
quoteItem. productOffering.hrefReference of the related entity.Data type: String
quoteItem. productOffering.idSys\_id of product offering.Table: Product Offering \[sn\_prd\_pm\_product\_offering\] Data type: String
quoteItem. productOffering.nameName of the related entity.Data type: String
quoteItem. productOffering.@typeThis value is always `ProductOfferingRef`.Data type: String
quoteItem.productRelationshipA list of quote items. Each quote item describes an action for a product to be quoted.
"productRelationship": [
 {
  "product": "String",
  "relationshipType": "String"
 }
]
Data type: Array of Objects
quoteItem.productRelationship. productA product reference or value \(ProductRefOrValue\). A produt to be created defined by value or existing defined by reference.The product meets one of the following criteria: - Pending product creation defined by the value. - Existing product defined by reference. Data type: String
quoteItem.productRelationship. relationshipTypeType of the product relationship, such as `bundled` if the product is a bundle and you want to describe the the bundled products within.Data type: String
quoteItem.quantityQuantity asked for this quote item.Data type: Number
quoteItem.stateA quote state type \(QuoteStateType\). State of the quote.Data type: String
quoteItem.@typeThis value is always `QuoteItem`.Data type: String
relatedPartyList of contacts for the order.Data type: Array of Objects
"relatedParty": [
  {
    "id": "String",
    "name": "String",
    "@referredType": "String",
    "role": "String",
    "@type": "String"
  }
]
relatedParty.idSys\_id of the quote table to get the account, contact, or customer.Table: Quote \[sn\_quote\_mgmt\_core\_quote\] Data type: String
relatedParty.nameName of the account, customer, or consumer. Data type: String
relatedParty.@referredTypeType of customer. Possible values: - Consumer - Customer - CustomerContact Data type: String
relatedParty.roleThe role of the party in the context of the quote \(e.g., Account, Contact, or Customer\).Data type: String
relatedParty.@typeThis value is always `ProductOfferingRef`.Data type: String
stateState of the quote item.Data type: String
@typeType of resource. This value is always `Quote`. This information isn’t stored.Data type: String

cURL request

This example shows how to update a quote.

curl "https://k8s0747687-node1.thunder.devsnc.com/api/sn_tmf_api/quote_management_api/quote/cb15734fd5692a10f8774663edf0ac19" \
--request PATCH \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
  \"@type\": \"Quote\",
  \"description\": \"Quote for Internet and OTT Bundle\",
  \"contactMedium\": [
    {
      \"@type\": \"GeographicalAddressContactMedium\",
      \"mediumType\": \"ShippingAddressRef\",
      \"locationId\": \"25ab96060a0a0bb300a6d66ce72095f2\",
      \"city\": \"Santa Clara\",
      \"country\": \"USA\",
      \"postCode\": \"95050\",
      \"stateOrProvince\": \"CA\",
      \"street\": \"2866 Stevens Creek Blvd\"
    }
  ],
  \"note\": [
    {
      \"@type\": \"Note\",
      \"text\": \"This is a quote request following today call\"
    }
  ],
  \"quoteItem\": [
    {
      \"id\": \"086be79bd5e1aa10f8774663edf0acba\",
      \"@type\": \"QuoteItem\",
      \"action\": \"add\",
      \"quantity\": \"1\",
      \"state\": \"Draft\",
      \"product\": {
        \"@type\": \"Product\"
      },
      \"productOffering\": {
        \"id\": \"ffeb447211bc3110f877366201dea6df\",
        \"name\": \"Internet and OTT Bundle\",
        \"@type\": \"ProductOfferingRef\"
      },
      \"productRelationship\": [
        {
          \"product\": \"597bab9bd5e1aa10f8774663edf0ac1b\",
          \"relationshipType\": \"HasChild\"
        },
        {
          \"product\": \"d57bab9bd5e1aa10f8774663edf0ac1a\",
          \"relationshipType\": \"HasChild\"
        },
        {
          \"product\": \"d57bab9bd5e1aa10f8774663edf0ac1c\",
          \"relationshipType\": \"HasChild\"
        }
      ]
    },
    {
      \"id\": \"d57bab9bd5e1aa10f8774663edf0ac1a\",
      \"@type\": \"QuoteItem\",
      \"action\": \"add\",
      \"quantity\": \"1\",
      \"state\": \"Draft\",
      \"product\": {
        \"@type\": \"Product\"
      },
      \"productOffering\": {
        \"id\": \"0761dd9fd0a63110f8770dbf976be173\",
        \"name\": \"Solana Modem N Series\",
        \"@type\": \"ProductOfferingRef\"
      },
      \"productRelationship\": [
        {
          \"product\": \"086be79bd5e1aa10f8774663edf0acba\",
          \"relationshipType\": \"HasParent\"
        }
      ]
    },
    {
      \"id\": \"597bab9bd5e1aa10f8774663edf0ac1b\",
      \"@type\": \"QuoteItem\",
      \"action\": \"add\",
      \"quantity\": \"1\",
      \"state\": \"Draft\",
      \"product\": {
        \"@type\": \"Product\"
      },
      \"productOffering\": {
        \"id\": \"8b61dd9fd0a63110f8770dbf976be140\",
        \"name\": \"Basic internet - 100 Mbps Plan\",
        \"@type\": \"ProductOfferingRef\"
      },
      \"productRelationship\": [
        {
          \"product\": \"086be79bd5e1aa10f8774663edf0acba\",
          \"relationshipType\": \"HasParent\"
        }
      ]
    },
    {
      \"id\": \"d57bab9bd5e1aa10f8774663edf0ac1c\",
      \"@type\": \"QuoteItem\",
      \"action\": \"add\",
      \"quantity\": \"1\",
      \"state\": \"Draft\",
      \"product\": {
        \"@type\": \"Product\"
      },
      \"productOffering\": {
        \"id\": \"62619d9fd0a63110f8770dbf976be180\",
        \"name\": \"Solana Movie streaming channel\",
        \"@type\": \"ProductOfferingRef\"
      },
      \"productRelationship\": [
        {
          \"product\": \"086be79bd5e1aa10f8774663edf0acba\",
          \"relationshipType\": \"HasParent\"
        }
      ]
    },
    {
      \"id\": \"797ca71fd5e1aa10f8774663edf0ac2b\",
      \"@type\": \"QuoteItem\",
      \"action\": \"add\",
      \"quantity\": \"1\",
      \"state\": \"Draft\",
      \"product\": {
        \"@type\": \"Product\",
        \"productCharacteristic\": [
          {
            \"name\": \"Internet breakout\",
            \"value\": \"No\"
          },
          {
            \"name\": \"Quality of Service\",
            \"value\": \"Basic\"
          },
          {
            \"name\": \"Speed\",
            \"value\": \"High\"
          }
        ],
        \"productSpecification\": {
          \"id\": \"cd81594e74ae4a10f877468e695efa81\",
          \"name\": \"VPN Site PS\",
          \"@type\": \"ProductSpecificationRef\"
        }
      },
      \"productOffering\": {
        \"id\": \"6c3d1e86a5e20210f8774c9b4be6ce42\",
        \"name\": \"VPN Site\",
        \"@type\": \"ProductOfferingRef\"
      },
      \"productRelationship\": [
        {
          \"product\": \"7f8c6b1fd5e1aa10f8774663edf0ac71\",
          \"relationshipType\": \"HasChild\"
        },
        {
          \"product\": \"bb8c6b1fd5e1aa10f8774663edf0ac73\",
          \"relationshipType\": \"HasChild\"
        },
        {
          \"product\": \"bf8c6b1fd5e1aa10f8774663edf0ac70\",
          \"relationshipType\": \"HasChild\"
        },
        {
          \"product\": \"fb8c6b1fd5e1aa10f8774663edf0ac72\",
          \"relationshipType\": \"HasChild\"
        }
      ]
    },
    {
      \"id\": \"bf8c6b1fd5e1aa10f8774663edf0ac70\",
      \"@type\": \"QuoteItem\",
      \"action\": \"add\",
      \"quantity\": \"1\",
      \"state\": \"Draft\",
      \"product\": {
        \"@type\": \"Product\"
      },
      \"productOffering\": {
        \"id\": \"2c265d4274ee4a10f877468e695efa45\",
        \"name\": \"Maintenance Fee\",
        \"@type\": \"ProductOfferingRef\"
      },
      \"productRelationship\": [
        {
          \"product\": \"797ca71fd5e1aa10f8774663edf0ac2b\",
          \"relationshipType\": \"HasParent\"
        }
      ]
    },
    {
      \"id\": \"7f8c6b1fd5e1aa10f8774663edf0ac71\",
      \"@type\": \"QuoteItem\",
      \"action\": \"add\",
      \"quantity\": \"1\",
      \"state\": \"Draft\",
      \"product\": {
        \"@type\": \"Product\"
      },
      \"productOffering\": {
        \"id\": \"4466d50674ee4a10f877468e695efa0d\",
        \"name\": \"Security Fee\",
        \"@type\": \"ProductOfferingRef\"
      },
      \"productRelationship\": [
        {
          \"product\": \"797ca71fd5e1aa10f8774663edf0ac2b\",
          \"relationshipType\": \"HasParent\"
        }
      ]
    },
    {
      \"id\": \"fb8c6b1fd5e1aa10f8774663edf0ac72\",
      \"@type\": \"QuoteItem\",
      \"action\": \"add\",
      \"quantity\": \"1\",
      \"state\": \"Draft\",
      \"product\": {
        \"@type\": \"Product\",
        \"productCharacteristic\": [
          {
            \"name\": \"Speed\",
            \"value\": \"High\"
          },
          {
            \"name\": \"Internet breakout\",
            \"value\": \"No\"
          }
        ],
        \"productSpecification\": {
          \"id\": \"ee4f8d8a74ae4a10f877468e695efa3f\",
          \"name\": \"VPN Endpoint PS\",
          \"@type\": \"ProductSpecificationRef\"
        }
      },
      \"productOffering\": {
        \"id\": \"7acc9e46a5e20210f8774c9b4be6ce9e\",
        \"name\": \"VPN Endpoint\",
        \"@type\": \"ProductOfferingRef\"
      },
      \"productRelationship\": [
        {
          \"product\": \"797ca71fd5e1aa10f8774663edf0ac2b\",
          \"relationshipType\": \"HasParent\"
        }
      ]
    },
    {
      \"id\": \"bb8c6b1fd5e1aa10f8774663edf0ac73\",
      \"@type\": \"QuoteItem\",
      \"action\": \"add\",
      \"quantity\": \"1\",
      \"state\": \"Draft\",
      \"product\": {
        \"@type\": \"Product\",
        \"productCharacteristic\": [
          {
            \"name\": \"Quality of Service\",
            \"value\": \"Basic\"
          }
        ],
        \"productSpecification\": {
          \"id\": \"3ba0914e74ae4a10f877468e695efa6e\",
          \"name\": \"VPN Firewall PS\",
          \"@type\": \"ProductSpecificationRef\"
        }
      },
      \"productOffering\": {
        \"id\": \"4407d90674ee4a10f877468e695efaab\",
        \"name\": \"VPN Firewall\",
        \"@type\": \"ProductOfferingRef\"
      },
      \"productRelationship\": [
        {
          \"product\": \"797ca71fd5e1aa10f8774663edf0ac2b\",
          \"relationshipType\": \"HasParent\"
        }
      ]
    }
  ],
  \"relatedParty\": [
    {
      \"role\": \"Customer\",
      \"id\": \"9e2fd2ee11b43110f877366201dea674\",
      \"name\": \"Startech svcs\",
      \"@type\": \"RelatedPartyRef\",
      \"@referredType\": \"Organization\"
    }
  ],
  \"state\": \"Draft\"
}" \
--user 'userName':'password'

Response body.

{
  "@type": "Quote",
  "description": "Quote for Internet and OTT Bundle",
  "contactMedium": [
    {
      "@type": "GeographicalAddressContactMedium",
      "mediumType": "ShippingAddressRef",
      "locationId": "25ab96060a0a0bb300a6d66ce72095f2",
      "city": "Santa Clara",
      "country": "USA",
      "postCode": "95050",
      "stateOrProvince": "CA",
      "street": "2866 Stevens Creek Blvd"
    }
  ],
  "note": [
    {
      "@type": "Note",
      "text": "This is a quote request following today call"
    }
  ],
  "quoteItem": [
    {
      "id": "086be79bd5e1aa10f8774663edf0acba",
      "@type": "QuoteItem",
      "action": "add",
      "quantity": "1",
      "state": "Draft",
      "product": {
        "@type": "Product"
      },
      "productOffering": {
        "id": "ffeb447211bc3110f877366201dea6df",
        "name": "Internet and OTT Bundle",
        "@type": "ProductOfferingRef"
      },
      "productRelationship": [
        {
          "product": "597bab9bd5e1aa10f8774663edf0ac1b",
          "relationshipType": "HasChild"
        },
        {
          "product": "d57bab9bd5e1aa10f8774663edf0ac1a",
          "relationshipType": "HasChild"
        },
        {
          "product": "d57bab9bd5e1aa10f8774663edf0ac1c",
          "relationshipType": "HasChild"
        }
      ]
    },
    {
      "id": "d57bab9bd5e1aa10f8774663edf0ac1a",
      "@type": "QuoteItem",
      "action": "add",
      "quantity": "1",
      "state": "Draft",
      "product": {
        "@type": "Product"
      },
      "productOffering": {
        "id": "0761dd9fd0a63110f8770dbf976be173",
        "name": "Solana Modem N Series",
        "@type": "ProductOfferingRef"
      },
      "productRelationship": [
        {
          "product": "086be79bd5e1aa10f8774663edf0acba",
          "relationshipType": "HasParent"
        }
      ]
    },
    {
      "id": "597bab9bd5e1aa10f8774663edf0ac1b",
      "@type": "QuoteItem",
      "action": "add",
      "quantity": "1",
      "state": "Draft",
      "product": {
        "@type": "Product"
      },
      "productOffering": {
        "id": "8b61dd9fd0a63110f8770dbf976be140",
        "name": "Basic internet - 100 Mbps Plan",
        "@type": "ProductOfferingRef"
      },
      "productRelationship": [
        {
          "product": "086be79bd5e1aa10f8774663edf0acba",
          "relationshipType": "HasParent"
        }
      ]
    },
    {
      "id": "d57bab9bd5e1aa10f8774663edf0ac1c",
      "@type": "QuoteItem",
      "action": "add",
      "quantity": "1",
      "state": "Draft",
      "product": {
        "@type": "Product"
      },
      "productOffering": {
        "id": "62619d9fd0a63110f8770dbf976be180",
        "name": "Solana Movie streaming channel",
        "@type": "ProductOfferingRef"
      },
      "productRelationship": [
        {
          "product": "086be79bd5e1aa10f8774663edf0acba",
          "relationshipType": "HasParent"
        }
      ]
    },
    {
      "id": "797ca71fd5e1aa10f8774663edf0ac2b",
      "@type": "QuoteItem",
      "action": "add",
      "quantity": "1",
      "state": "Draft",
      "product": {
        "@type": "Product",
        "productCharacteristic": [
          {
            "name": "Internet breakout",
            "value": "No"
          },
          {
            "name": "Quality of Service",
            "value": "Basic"
          },
          {
            "name": "Speed",
            "value": "High"
          }
        ],
        "productSpecification": {
          "id": "cd81594e74ae4a10f877468e695efa81",
          "name": "VPN Site PS",
          "@type": "ProductSpecificationRef"
        }
      },
      "productOffering": {
        "id": "6c3d1e86a5e20210f8774c9b4be6ce42",
        "name": "VPN Site",
        "@type": "ProductOfferingRef"
      },
      "productRelationship": [
        {
          "product": "7f8c6b1fd5e1aa10f8774663edf0ac71",
          "relationshipType": "HasChild"
        },
        {
          "product": "bb8c6b1fd5e1aa10f8774663edf0ac73",
          "relationshipType": "HasChild"
        },
        {
          "product": "bf8c6b1fd5e1aa10f8774663edf0ac70",
          "relationshipType": "HasChild"
        },
        {
          "product": "fb8c6b1fd5e1aa10f8774663edf0ac72",
          "relationshipType": "HasChild"
        }
      ]
    },
    {
      "id": "bf8c6b1fd5e1aa10f8774663edf0ac70",
      "@type": "QuoteItem",
      "action": "add",
      "quantity": "1",
      "state": "Draft",
      "product": {
        "@type": "Product"
      },
      "productOffering": {
        "id": "2c265d4274ee4a10f877468e695efa45",
        "name": "Maintenance Fee",
        "@type": "ProductOfferingRef"
      },
      "productRelationship": [
        {
          "product": "797ca71fd5e1aa10f8774663edf0ac2b",
          "relationshipType": "HasParent"
        }
      ]
    },
    {
      "id": "7f8c6b1fd5e1aa10f8774663edf0ac71",
      "@type": "QuoteItem",
      "action": "add",
      "quantity": "1",
      "state": "Draft",
      "product": {
        "@type": "Product"
      },
      "productOffering": {
        "id": "4466d50674ee4a10f877468e695efa0d",
        "name": "Security Fee",
        "@type": "ProductOfferingRef"
      },
      "productRelationship": [
        {
          "product": "797ca71fd5e1aa10f8774663edf0ac2b",
          "relationshipType": "HasParent"
        }
      ]
    },
    {
      "id": "fb8c6b1fd5e1aa10f8774663edf0ac72",
      "@type": "QuoteItem",
      "action": "add",
      "quantity": "1",
      "state": "Draft",
      "product": {
        "@type": "Product",
        "productCharacteristic": [
          {
            "name": "Speed",
            "value": "High"
          },
          {
            "name": "Internet breakout",
            "value": "No"
          }
        ],
        "productSpecification": {
          "id": "ee4f8d8a74ae4a10f877468e695efa3f",
          "name": "VPN Endpoint PS",
          "@type": "ProductSpecificationRef"
        }
      },
      "productOffering": {
        "id": "7acc9e46a5e20210f8774c9b4be6ce9e",
        "name": "VPN Endpoint",
        "@type": "ProductOfferingRef"
      },
      "productRelationship": [
        {
          "product": "797ca71fd5e1aa10f8774663edf0ac2b",
          "relationshipType": "HasParent"
        }
      ]
    },
    {
      "id": "bb8c6b1fd5e1aa10f8774663edf0ac73",
      "@type": "QuoteItem",
      "action": "add",
      "quantity": "1",
      "state": "Draft",
      "product": {
        "@type": "Product",
        "productCharacteristic": [
          {
            "name": "Quality of Service",
            "value": "Basic"
          }
        ],
        "productSpecification": {
          "id": "3ba0914e74ae4a10f877468e695efa6e",
          "name": "VPN Firewall PS",
          "@type": "ProductSpecificationRef"
        }
      },
      "productOffering": {
        "id": "4407d90674ee4a10f877468e695efaab",
        "name": "VPN Firewall",
        "@type": "ProductOfferingRef"
      },
      "productRelationship": [
        {
          "product": "797ca71fd5e1aa10f8774663edf0ac2b",
          "relationshipType": "HasParent"
        }
      ]
    }
  ],
  "relatedParty": [
    {
      "role": "Customer",
      "id": "9e2fd2ee11b43110f877366201dea674",
      "name": "Startech svcs",
      "@type": "RelatedPartyRef",
      "@referredType": "Organization"
    }
  ],
  "state": "Draft",
  "id": "cb15734fd5692a10f8774663edf0ac19",
  "version": "2",
  "quoteDate": "2025-05-21 04:56:50",
  "href": "api/sn_tmf_api/quote_management_api/quote/cb15734fd5692a10f8774663edf0ac19"
}

Quote Management API – POST /sn_tmf_api/quote_management_api/quote

Creates a quote.

New quote records are created in the following tables:

  • Quote [sn_quote_mgmt_core_quote]
  • Sales Agreement [sn_sales_agmt_core_sales_agreement]
  • Quote Line Item [sn_quote_mgmt_core_quote_line_item]
  • Quote Line Characteristic [sn_quote_mgmt_core_quote_line_characteristic]
  • Quote Pricing Adjustment [sn_quote_mgmt_core_pricing_adjustment]

URL format

Versioned URL: /api/sn_tmf_api/{api_version}/quote_management_api/quote

Default URL: /api/sn_tmf_api/quote_management_api/quote

Supported request parameters

NameDescription
None 
NameDescription
None 
NameDescription
contactMediumList of contact mediums. Contact information related to the quote requester.
"contactMedium": [
 {
  "city": "String",
  "country": "String",
  "locationId": "String",
  "mediumType": "String",
  "postCode": "String",
  "stateOrProvince": "String",
  "street": "String",
  "@type": "String"
 }
]
contactMedium.cityCity in which the quote requester resides.Data type: String
contactMedium.countryCountry in which the quote requester resides.Data type: String
contactMedium.locationIdSys\_id of the location listed in the Location \[cmn\_location\] table or custom address.Data type: String
contactMedium.mediumTypeType of contact medium, such as email address, telephone number, or postal address.Data type: String
contactMedium.postCodePostal code of the quote requester.Data type: String
contactMedium.stateOrProvinceState or province in which the quote requester resides.Data type: String
contactMedium.streetStreet address of the quote requester.Data type: String
contactMedium.@typeType of medium per the TMF Open API standard. For example, `GeographicalAddressContactMedium`.Data type: String
descriptionDescription of the quote.Data type: String
externalIdUnique consumer-provided ID for the quote.Data type: String
hrefRelative link to access the quote.Data type: String Default: Empty string
noteList of notes associated with the quote. Data type: Array
"note": [
  {
    "text": "String",
    "@type": "String"
 }
]
note.textContents of the note. Data type: String
note.@typeThis value is always `Note`.Data type: String
quoteDateDate and time at which the quote was created.Data type: String
quoteItemA list of quote items. Each quote item describes an action for a product to be quoted.
"quoteItem": [
 {
  "action": "String",
  "id": "String",
  "product": {Object},
  "productOffering": {Object},
  "productRelationship": {Object},
  "quantity": Number,
  "state": "String",
  "@type": "String"
 }
]
Data type: Array of Objects
quoteItem.actionAction to be performed on this quote item \(add, modify, remove, etc.\).Data type: String
quoteItem.idSys\_id of the quote item.Table: Quote Line Item \[sn\_quote\_mgmt\_core\_quote\_line\_item\] Data type: String
quoteItem.productList of products included in the quote.
"product": {
  "characteristic": "String",
  "specification": "String",
  "@type": "String"
}
Data type: Object
quoteItem.product. characteristicList of product characteristics.Data type: Array of Objects
"characteristic": [
  {
    "id": "String",
    "name": "String",
    "@type": "String",
    "value": "String"
  }
]
See Create product characteristics and characteristic options.
quoteItem.product. characteristic.idSys\_id of the product characteristic.Table: Quote Line Characteristic \[sn\_quote\_mgmt\_core\_quote\_line\_characteristic\] Data type: String
quoteItem.product. characteristic.nameName of the product characteristic.Data type: String
quoteItem.product. characteristic.@typeThis value is always `StringCharacteristic`.Data type: String
quoteItem.product. characteristic.valueValue of the characteristic.Data type: String
quoteItem.product. specificationDetailed description of a tangible or intangible object made available externally in the form of a ProductOffering to customers or other parties playing a party role.Data type: String
quoteItem.product.@typeThis value is always `Product`.Data type: String
quoteItem.productOfferingA product offering reference \(ProductOfferingRef\). A product offering represents entities that are orderable from the provider of the catalog.
"productOffering": {
  "href": "String",
  "name": "String",
  "name": "String",
  "@type": "String"
}
Data type: Object
quoteItem. productOffering.hrefReference of the related entity.Data type: String
quoteItem. productOffering.idSys\_id of product offering.Table: Product Offering \[sn\_prd\_pm\_product\_offering\] Data type: String
quoteItem. productOffering.nameName of the related entity.Data type: String
quoteItem. productOffering.@typeThis value is always `ProductOfferingRef`.Data type: String
quoteItem.productRelationshipA list of quote items. Each quote item describes an action for a product to be quoted.
"productRelationship": [
 {
  "product": "String",
  "relationshipType": "String"
 }
]
Data type: Array of Objects
quoteItem.productRelationship. productA product reference or value \(ProductRefOrValue\). A produt to be created defined by value or existing defined by reference.The product meets one of the following criteria: - Pending product creation defined by the value. - Existing product defined by reference. Data type: String
quoteItem.productRelationship. relationshipTypeType of the product relationship, such as `bundled` if the product is a bundle and you want to describe the the bundled products within.Data type: String
quoteItem.quantityQuantity asked for this quote item.Data type: Number
quoteItem.stateA quote state type \(QuoteStateType\). State of the quote.Data type: String
quoteItem.@typeThis value is always `QuoteItem`.Data type: String
relatedPartyList of contacts for the order.Data type: Array of Objects
"relatedParty": [
  {
    "id": "String",
    "name": "String",
    "@referredType": "String",
    "role": "String",
    "@type": "String"
  }
]
relatedParty.idSys\_id of the quote table to get the account, contact, or customer.Table: Quote \[sn\_quote\_mgmt\_core\_quote\] Data type: String
relatedParty.nameName of the account, customer, or consumer. Data type: String
relatedParty.@referredTypeType of customer. Possible values: - Consumer - Customer - CustomerContact Data type: String
relatedParty.roleThe role of the party in the context of the quote \(e.g., Account, Contact, or Customer\).Data type: String
relatedParty.@typeThis value is always `ProductOfferingRef`.Data type: String
stateState of the quote item.Data type: String
@typeType of resource. This value is always `Quote`. This information isn’t stored.Data type: String

Headers

The following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see Supported REST API headers.

HeaderDescription
AcceptData format of the response body. Only supports application/json.
HeaderDescription
Content-TypeData format of the response body. Only supports application/json.

Status codes

The following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see REST API HTTP response codes.

Status codeDescription
201Successful. The request was successfully processed.
400Bad Request. A bad request type or malformed request was detected.Possible reasons: - Empty payload. - Invalid payload. Mandatory field missing: <field name>.

Response body parameters (JSON)

NameDescription
contactMediumList of contact mediums. Contact information related to the quote requester.
"contactMedium": [
 {
  "city": "String",
  "country": "String",
  "locationId": "String",
  "mediumType": "String",
  "postCode": "String",
  "stateOrProvince": "String",
  "street": "String",
  "@type": "String"
 }
]
contactMedium.cityCity in which the quote requester resides.Data type: String
contactMedium.countryCountry in which the quote requester resides.Data type: String
contactMedium.locationIdSys\_id of the location listed in the Location \[cmn\_location\] table or custom address.Data type: String
contactMedium.mediumTypeType of contact medium, such as email address, telephone number, or postal address.Data type: String
contactMedium.postCodePostal code of the quote requester.Data type: String
contactMedium.stateOrProvinceState or province in which the quote requester resides.Data type: String
contactMedium.streetStreet address of the quote requester.Data type: String
contactMedium.@typeType of medium per the TMF Open API standard. For example, `GeographicalAddressContactMedium`.Data type: String
descriptionDescription of the quote.Data type: String
externalIdUnique consumer-provided ID for the quote.Data type: String
hrefRelative link to access the quote.Data type: String Default: Empty string
noteList of notes associated with the quote. Data type: Array
"note": [
  {
    "text": "String",
    "@type": "String"
 }
]
note.textContents of the note. Data type: String
note.@typeThis value is always `Note`.Data type: String
quoteDateDate and time at which the quote was created.Data type: String
quoteItemA list of quote items. Each quote item describes an action for a product to be quoted.
"quoteItem": [
 {
  "action": "String",
  "id": "String",
  "product": {Object},
  "productOffering": {Object},
  "productRelationship": {Object},
  "quantity": Number,
  "state": "String",
  "@type": "String"
 }
]
Data type: Array of Objects
quoteItem.actionAction to be performed on this quote item \(add, modify, remove, etc.\).Data type: String
quoteItem.idSys\_id of the quote item.Table: Quote Line Item \[sn\_quote\_mgmt\_core\_quote\_line\_item\] Data type: String
quoteItem.productList of products included in the quote.
"product": {
  "characteristic": "String",
  "specification": "String",
  "@type": "String"
}
Data type: Object
quoteItem.product. characteristicList of product characteristics.Data type: Array of Objects
"characteristic": [
  {
    "id": "String",
    "name": "String",
    "@type": "String",
    "value": "String"
  }
]
See Create product characteristics and characteristic options.
quoteItem.product. characteristic.idSys\_id of the product characteristic.Table: Quote Line Characteristic \[sn\_quote\_mgmt\_core\_quote\_line\_characteristic\] Data type: String
quoteItem.product. characteristic.nameName of the product characteristic.Data type: String
quoteItem.product. characteristic.@typeThis value is always `StringCharacteristic`.Data type: String
quoteItem.product. characteristic.valueValue of the characteristic.Data type: String
quoteItem.product. specificationDetailed description of a tangible or intangible object made available externally in the form of a ProductOffering to customers or other parties playing a party role.Data type: String
quoteItem.product.@typeThis value is always `Product`.Data type: String
quoteItem.productOfferingA product offering reference \(ProductOfferingRef\). A product offering represents entities that are orderable from the provider of the catalog.
"productOffering": {
  "href": "String",
  "name": "String",
  "name": "String",
  "@type": "String"
}
Data type: Object
quoteItem. productOffering.hrefReference of the related entity.Data type: String
quoteItem. productOffering.idSys\_id of product offering.Table: Product Offering \[sn\_prd\_pm\_product\_offering\] Data type: String
quoteItem. productOffering.nameName of the related entity.Data type: String
quoteItem. productOffering.@typeThis value is always `ProductOfferingRef`.Data type: String
quoteItem.productRelationshipA list of quote items. Each quote item describes an action for a product to be quoted.
"productRelationship": [
 {
  "product": "String",
  "relationshipType": "String"
 }
]
Data type: Array of Objects
quoteItem.productRelationship. productA product reference or value \(ProductRefOrValue\). A produt to be created defined by value or existing defined by reference.The product meets one of the following criteria: - Pending product creation defined by the value. - Existing product defined by reference. Data type: String
quoteItem.productRelationship. relationshipTypeType of the product relationship, such as `bundled` if the product is a bundle and you want to describe the the bundled products within.Data type: String
quoteItem.quantityQuantity asked for this quote item.Data type: Number
quoteItem.stateA quote state type \(QuoteStateType\). State of the quote.Data type: String
quoteItem.@typeThis value is always `QuoteItem`.Data type: String
relatedPartyList of contacts for the order.Data type: Array of Objects
"relatedParty": [
  {
    "id": "String",
    "name": "String",
    "@referredType": "String",
    "role": "String",
    "@type": "String"
  }
]
relatedParty.idSys\_id of the quote table to get the account, contact, or customer.Table: Quote \[sn\_quote\_mgmt\_core\_quote\] Data type: String
relatedParty.nameName of the account, customer, or consumer. Data type: String
relatedParty.@referredTypeType of customer. Possible values: - Consumer - Customer - CustomerContact Data type: String
relatedParty.roleThe role of the party in the context of the quote \(e.g., Account, Contact, or Customer\).Data type: String
relatedParty.@typeThis value is always `ProductOfferingRef`.Data type: String
stateState of the quote item.Data type: String
@typeType of resource. This value is always `Quote`. This information isn’t stored.Data type: String

The following example shows how to create a quote.

curl "http://localhost:8080/api/sn_tmf_api/quote_management_api/quote" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
  \"@type\": \"Quote\",
  \"description\": \"Quote for Internet and OTT Bundle\",
  \"state\": \"Draft\",
  \"externalId\": \"12233\",
  \"contactMedium\": [
    {
      \"@type\": \"GeographicalAddressContactMedium\",
      \"mediumType\": \"ShippingAddressRef\",
      \"locationId\": \"6774fee611383110f877366201dea64f\",
      \"city\": \"Santa Clara\",
      \"country\": \"USA\",
      \"postCode\": \"95050\",
      \"stateOrProvince\": \"CA\",
      \"street\": \"2866 Stevens Creek Blvd\"
    }
  ],
  \"note\": [
    {
      \"@type\": \"Note\",
      \"text\": \"This is a quote request for the Internet and OTT Bundle\"
    }
  ],
  \"quoteItem\": [
    {
      \"id\": \"ea88d77c4165ae10f8776348db5f9196\",
      \"@type\": \"QuoteItem\",
      \"action\": \"add\",
      \"quantity\": \"1\",
      \"state\": \"Draft\",
      \"product\": {
        \"@type\": \"Product\"
      },
      \"productOffering\": {
        \"id\": \"ffeb447211bc3110f877366201dea6df\",
        \"href\": \"api/sn_tmf_api/catalogmanagement/productOffering/ffeb447211bc3110f877366201dea6df\",
        \"name\": \"Internet and OTT Bundle\",
        \"@type\": \"ProductOfferingRef\"
      },
      \"productRelationship\": [
        {
          \"product\": \"3688d77c4165ae10f8776348db5f91cf\",
          \"relationshipType\": \"HasChild\"
        },
        {
          \"product\": \"3a881b7c4165ae10f8776348db5f911b\",
          \"relationshipType\": \"HasChild\"
        },
        {
          \"product\": \"7e88d77c4165ae10f8776348db5f91fb\",
          \"relationshipType\": \"HasChild\"
        }
      ]
    },
    {
      \"id\": \"3688d77c4165ae10f8776348db5f91cf\",
      \"@type\": \"QuoteItem\",
      \"action\": \"add\",
      \"quantity\": \"1\",
      \"state\": \"Draft\",
      \"product\": {
        \"@type\": \"Product\"
      },
      \"productOffering\": {
        \"id\": \"0761dd9fd0a63110f8770dbf976be173\",
        \"href\": \"api/sn_tmf_api/catalogmanagement/productOffering/0761dd9fd0a63110f8770dbf976be173\",
        \"name\": \"Solana Modem N Series\",
        \"@type\": \"ProductOfferingRef\"
      },
      \"productRelationship\": [
        {
          \"product\": \"ea88d77c4165ae10f8776348db5f9196\",
          \"relationshipType\": \"HasParent\"
        }
      ]
    },
    {
      \"id\": \"7e88d77c4165ae10f8776348db5f91fb\",
      \"@type\": \"QuoteItem\",
      \"action\": \"add\",
      \"quantity\": \"1\",
      \"state\": \"Draft\",
      \"product\": {
        \"@type\": \"Product\"
      },
      \"productOffering\": {
        \"id\": \"8b61dd9fd0a63110f8770dbf976be140\",
        \"href\": \"api/sn_tmf_api/catalogmanagement/productOffering/8b61dd9fd0a63110f8770dbf976be140\",
        \"name\": \"Basic internet - 100 Mbps Plan\",
        \"@type\": \"ProductOfferingRef\"
      },
      \"productRelationship\": [
        {
          \"product\": \"ea88d77c4165ae10f8776348db5f9196\",
          \"relationshipType\": \"HasParent\"
        }
      ]
    },
    {
      \"id\": \"3a881b7c4165ae10f8776348db5f911b\",
      \"@type\": \"QuoteItem\",
      \"action\": \"add\",
      \"quantity\": \"1\",
      \"state\": \"Draft\",
      \"product\": {
        \"@type\": \"Product\"
      },
      \"productOffering\": {
        \"id\": \"62619d9fd0a63110f8770dbf976be180\",
        \"href\": \"api/sn_tmf_api/catalogmanagement/productOffering/62619d9fd0a63110f8770dbf976be180\",
        \"name\": \"Solana Movie streaming channel\",
        \"@type\": \"ProductOfferingRef\"
      },
      \"productRelationship\": [
        {
          \"product\": \"ea88d77c4165ae10f8776348db5f9196\",
          \"relationshipType\": \"HasParent\"
        }
      ]
    }
  ],
  \"relatedParty\": [
    {
      \"role\": \"Customer\",
      \"id\": \"ab9a0e8b2fc9a610b79db3bf42faf3a6\",
      \"name\": \"Funco Intl\",
      \"@type\": \"RelatedPartyRef\",
      \"@referredType\": \"Organization\"
    }
  ]
}" \
--user 'userName':'password'

Response body.

{
  "@type": "Quote",
  "description": "Quote for Internet and OTT Bundle",
  "state": "Draft",
  "externalId": "12233",
  "contactMedium": [
    {
      "@type": "GeographicalAddressContactMedium",
      "mediumType": "ShippingAddressRef",
      "locationId": "6774fee611383110f877366201dea64f",
      "city": "Santa Clara",
      "country": "USA",
      "postCode": "95050",
      "stateOrProvince": "CA",
      "street": "2866 Stevens Creek Blvd"
    }
  ],
  "note": [
    {
      "@type": "Note",
      "text": "This is a quote request for the Internet and OTT Bundle"
    }
  ],
  "quoteItem": [
    {
      "id": "ea88d77c4165ae10f8776348db5f9196",
      "@type": "QuoteItem",
      "action": "add",
      "quantity": "1",
      "state": "Draft",
      "product": {
        "@type": "Product"
      },
      "productOffering": {
        "id": "ffeb447211bc3110f877366201dea6df",
        "href": "api/sn_tmf_api/catalogmanagement/productOffering/ffeb447211bc3110f877366201dea6df",
        "name": "Internet and OTT Bundle",
        "@type": "ProductOfferingRef",
        "internalVersion": "1",
        "version": "",
        "internalId": "ffeb447211bc3110f877366201dea6df"
      },
      "productRelationship": [
        {
          "product": "3688d77c4165ae10f8776348db5f91cf",
          "relationshipType": "HasChild"
        },
        {
          "product": "3a881b7c4165ae10f8776348db5f911b",
          "relationshipType": "HasChild"
        },
        {
          "product": "7e88d77c4165ae10f8776348db5f91fb",
          "relationshipType": "HasChild"
        }
      ]
    },
    {
      "id": "3688d77c4165ae10f8776348db5f91cf",
      "@type": "QuoteItem",
      "action": "add",
      "quantity": "1",
      "state": "Draft",
      "product": {
        "@type": "Product"
      },
      "productOffering": {
        "id": "0761dd9fd0a63110f8770dbf976be173",
        "href": "api/sn_tmf_api/catalogmanagement/productOffering/0761dd9fd0a63110f8770dbf976be173",
        "name": "Solana Modem N Series",
        "@type": "ProductOfferingRef",
        "internalVersion": "1",
        "version": "",
        "internalId": "0761dd9fd0a63110f8770dbf976be173"
      },
      "productRelationship": [
        {
          "product": "ea88d77c4165ae10f8776348db5f9196",
          "relationshipType": "HasParent"
        }
      ]
    },
    {
      "id": "7e88d77c4165ae10f8776348db5f91fb",
      "@type": "QuoteItem",
      "action": "add",
      "quantity": "1",
      "state": "Draft",
      "product": {
        "@type": "Product"
      },
      "productOffering": {
        "id": "8b61dd9fd0a63110f8770dbf976be140",
        "href": "api/sn_tmf_api/catalogmanagement/productOffering/8b61dd9fd0a63110f8770dbf976be140",
        "name": "Basic internet - 100 Mbps Plan",
        "@type": "ProductOfferingRef",
        "internalVersion": "1",
        "version": "",
        "internalId": "8b61dd9fd0a63110f8770dbf976be140"
      },
      "productRelationship": [
        {
          "product": "ea88d77c4165ae10f8776348db5f9196",
          "relationshipType": "HasParent"
        }
      ]
    },
    {
      "id": "3a881b7c4165ae10f8776348db5f911b",
      "@type": "QuoteItem",
      "action": "add",
      "quantity": "1",
      "state": "Draft",
      "product": {
        "@type": "Product"
      },
      "productOffering": {
        "id": "62619d9fd0a63110f8770dbf976be180",
        "href": "api/sn_tmf_api/catalogmanagement/productOffering/62619d9fd0a63110f8770dbf976be180",
        "name": "Solana Movie streaming channel",
        "@type": "ProductOfferingRef",
        "internalVersion": "1",
        "version": "",
        "internalId": "62619d9fd0a63110f8770dbf976be180"
      },
      "productRelationship": [
        {
          "product": "ea88d77c4165ae10f8776348db5f9196",
          "relationshipType": "HasParent"
        }
      ]
    }
  ],
  "relatedParty": [
    {
      "role": "Customer",
      "id": "ab9a0e8b2fc9a610b79db3bf42faf3a6",
      "name": "Funco Intl",
      "@type": "RelatedPartyRef",
      "@referredType": "Organization"
    }
  ],
  "id": "acc805bcfff5a610b79dffffffffffe6",
  "href": "api/sn_tmf_api/quote_management_api/quote/acc805bcfff5a610b79dffffffffffe6"
}