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
| Name | Description |
|---|---|
| id | Sys\_id of the quote to delete.Data type: String Table: Quote \[sn\_quote\_mgmt\_core\_quote\] |
| Name | Description |
|---|---|
| None |
| Name | Description |
|---|---|
| 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.
| Header | Description |
|---|---|
| Accept | Data format of the response body. Only supports application/json. |
| Header | Description |
|---|---|
| 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 code | Description |
|---|---|
| 204 | Successful. Request completed successfully and the specified quote was deleted. No content. |
| 400 | Bad Request. A bad request type or malformed request was detected. |
Response body parameters (JSON)
| Header | Description |
|---|---|
| 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
| Name | Description |
|---|---|
| None |
| Name | Description |
|---|---|
| fields | List 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. |
| id | Filter 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 |
| offset | Starting 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 |
| Name | Description |
|---|---|
| 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.
| Header | Description |
|---|---|
| None |
| Header | Description |
|---|---|
| Content-Range | Range 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-Type | Data format of the response body. Only supports application/json. |
| Link | Contains the following links to navigate through query results.- first - last - next - previous |
| X-Total-Count | For 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 code | Description |
|---|---|
| 200 | Request successfully processed. Full resource returned in response \(no pagination\). |
| 206 | Partial resource returned in response \(with pagination\). |
| 400 | Bad request. Possible reasons: - Invalid path parameter - Invalid URI |
| 404 | Record not found. No records matching the query parameters are found in the table. |
Response body parameters (JSON)
| Name | Description |
|---|---|
| contactMedium | List of contact mediums. Contact information related to the quote requester. |
| contactMedium.city | City in which the quote requester resides.Data type: String |
| contactMedium.country | Country in which the quote requester resides.Data type: String |
| contactMedium.locationId | Sys\_id of the location listed in the Location \[cmn\_location\] table or custom address.Data type: String |
| contactMedium.mediumType | Type of contact medium, such as email address, telephone number, or postal address.Data type: String |
| contactMedium.postCode | Postal code of the quote requester.Data type: String |
| contactMedium.stateOrProvince | State or province in which the quote requester resides.Data type: String |
| contactMedium.street | Street address of the quote requester.Data type: String |
| contactMedium.@type | Type of medium per the TMF Open API standard. For example, `GeographicalAddressContactMedium`.Data type: String |
| description | Description of the quote.Data type: String |
| expectedQuoteCompletionDate | The expected date from quote supplier to be able to send back a response for this quote.Data type: String |
| externalId | Unique consumer-provided ID for the quote.Data type: String |
| href | Relative link to access the quote.Data type: String Default: Empty string |
| id | Sys\_id of the requested quote.Table: Quote \[sn\_quote\_mgmt\_core\_quote\] Data type: String |
| note | List of notes associated with the quote. Data type: Array |
| note.author | User name of the person that authored the associated note.Data type: String |
| note.date | Date that the note was created.Data type: String |
| note.text | Contents of the note. Data type: String |
| note.@type | This value is always `Note`.Data type: String |
| quoteDate | Date and time at which the quote was created.Data type: String |
| quoteItem | A list of quote items. Each quote item describes an action for a product to be quoted. |
| quoteItem.action | Action to be performed on this quote item \(add, modify, remove, etc.\).Data type: String |
| quoteItem.id | Sys\_id of the quote item.Table: Quote Line Item \[sn\_quote\_mgmt\_core\_quote\_line\_item\] Data type: String |
| quoteItem.product | List of products included in the quote. |
| quoteItem.product. characteristic | List of product characteristics.Data type: Array of Objects |
| quoteItem.product. characteristic.id | Sys\_id of the product characteristic.Table: Quote Line Characteristic \[sn\_quote\_mgmt\_core\_quote\_line\_characteristic\] Data type: String |
| quoteItem.product. characteristic.name | Name of the product characteristic.Data type: String |
| quoteItem.product. characteristic.@type | This value is always `StringCharacteristic`.Data type: String |
| quoteItem.product. characteristic.value | Value of the characteristic.Data type: String |
| quoteItem.product. specification | Detailed 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.@type | This value is always `Product`.Data type: String |
| quoteItem.productOffering | A product offering reference \(ProductOfferingRef\). A product offering represents entities that are orderable from the provider of the catalog. |
| quoteItem. productOffering.href | Reference of the related entity.Data type: String |
| quoteItem. productOffering.id | Sys\_id of product offering.Table: Product Offering \[sn\_prd\_pm\_product\_offering\] Data type: String |
| quoteItem. productOffering.name | Name of the related entity.Data type: String |
| quoteItem. productOffering.@type | This value is always `ProductOfferingRef`.Data type: String |
| quoteItem.quantity | Quantity asked for this quote item.Data type: Number |
| quoteItem.state | A quote state type \(QuoteStateType\). State of the quote.Data type: String |
| quoteItem.@type | This value is always `QuoteItem`.Data type: String |
| quoteNumber | Quote line item record number assigned to the quote.Table: Quote Line Item \[sn\_quote\_mgmt\_core\_quote\_line\_item\] Data type: String |
| relatedParty | List of contacts for the order.Data type: Array of Objects |
| relatedParty.id | Sys\_id of the quote table to get the account, contact, or customer.Table: Quote \[sn\_quote\_mgmt\_core\_quote\] Data type: String |
| relatedParty.name | Name of the account, customer, or consumer. Data type: String |
| relatedParty.@referredType | Type of customer. Possible values: - Consumer - Customer - CustomerContact Data type: String |
| relatedParty.role | The role of the party in the context of the quote \(e.g., Account, Contact, or Customer\).Data type: String |
| relatedParty.@type | This value is always `ProductOfferingRef`.Data type: String |
| requestedQuoteCompletionDate | A 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 |
| state | State of the quote item.Data type: String |
| @type | Type 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
| Name | Description |
|---|---|
| id | Sys\_id of the quote to retrieve.Data type: String Table: Quote \[sn\_quote\_mgmt\_core\_quote\] |
| Name | Description |
|---|---|
| None |
| Name | Description |
|---|---|
| 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.
| Header | Description |
|---|---|
| None |
| Header | Description |
|---|---|
| Content-Type | Data 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 code | Description |
|---|---|
| 200 | Request successfully processed. Full resource returned in response \(no pagination\). |
| 206 | Partial resource returned in response \(with pagination\). |
| 400 | Bad request. Possible reasons: - Invalid path parameter - Invalid URI |
| 404 | Record not found. No records matching the query parameters are found in the table. |
Response body parameters (JSON)
| Name | Description |
|---|---|
| contactMedium | List of contact mediums. Contact information related to the quote requester. |
| contactMedium.city | City in which the quote requester resides.Data type: String |
| contactMedium.country | Country in which the quote requester resides.Data type: String |
| contactMedium.locationId | Sys\_id of the location listed in the Location \[cmn\_location\] table or custom address.Data type: String |
| contactMedium.mediumType | Type of contact medium, such as email address, telephone number, or postal address.Data type: String |
| contactMedium.postCode | Postal code of the quote requester.Data type: String |
| contactMedium.stateOrProvince | State or province in which the quote requester resides.Data type: String |
| contactMedium.street | Street address of the quote requester.Data type: String |
| contactMedium.@type | Type of medium per the TMF Open API standard. For example, `GeographicalAddressContactMedium`.Data type: String |
| description | Description of the quote.Data type: String |
| expectedQuoteCompletionDate | The expected date from quote supplier to be able to send back a response for this quote.Data type: String |
| externalId | Unique consumer-provided ID for the quote.Data type: String |
| href | Relative link to access the quote.Data type: String Default: Empty string |
| id | Sys\_id of the requested quote.Table: Quote \[sn\_quote\_mgmt\_core\_quote\] Data type: String |
| note | List of notes associated with the quote. Data type: Array |
| note.author | User name of the person that authored the associated note.Data type: String |
| note.date | Date that the note was created.Data type: String |
| note.text | Contents of the note. Data type: String |
| note.@type | This value is always `Note`.Data type: String |
| quoteDate | Date and time at which the quote was created.Data type: String |
| quoteItem | A list of quote items. Each quote item describes an action for a product to be quoted. |
| quoteItem.action | Action to be performed on this quote item \(add, modify, remove, etc.\).Data type: String |
| quoteItem.id | Sys\_id of the quote item.Table: Quote Line Item \[sn\_quote\_mgmt\_core\_quote\_line\_item\] Data type: String |
| quoteItem.product | List of products included in the quote. |
| quoteItem.product. characteristic | List of product characteristics.Data type: Array of Objects |
| quoteItem.product. characteristic.id | Sys\_id of the product characteristic.Table: Quote Line Characteristic \[sn\_quote\_mgmt\_core\_quote\_line\_characteristic\] Data type: String |
| quoteItem.product. characteristic.name | Name of the product characteristic.Data type: String |
| quoteItem.product. characteristic.@type | This value is always `StringCharacteristic`.Data type: String |
| quoteItem.product. characteristic.value | Value of the characteristic.Data type: String |
| quoteItem.product. specification | Detailed 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.@type | This value is always `Product`.Data type: String |
| quoteItem.productOffering | A product offering reference \(ProductOfferingRef\). A product offering represents entities that are orderable from the provider of the catalog. |
| quoteItem. productOffering.href | Reference of the related entity.Data type: String |
| quoteItem. productOffering.id | Sys\_id of product offering.Table: Product Offering \[sn\_prd\_pm\_product\_offering\] Data type: String |
| quoteItem. productOffering.name | Name of the related entity.Data type: String |
| quoteItem. productOffering.@type | This value is always `ProductOfferingRef`.Data type: String |
| quoteItem.quantity | Quantity asked for this quote item.Data type: Number |
| quoteItem.state | A quote state type \(QuoteStateType\). State of the quote.Data type: String |
| quoteItem.@type | This value is always `QuoteItem`.Data type: String |
| quoteNumber | Quote line item record number assigned to the quote.Table: Quote Line Item \[sn\_quote\_mgmt\_core\_quote\_line\_item\] Data type: String |
| relatedParty | List of contacts for the order.Data type: Array of Objects |
| relatedParty.id | Sys\_id of the quote table to get the account, contact, or customer.Table: Quote \[sn\_quote\_mgmt\_core\_quote\] Data type: String |
| relatedParty.name | Name of the account, customer, or consumer. Data type: String |
| relatedParty.@referredType | Type of customer. Possible values: - Consumer - Customer - CustomerContact Data type: String |
| relatedParty.role | The role of the party in the context of the quote \(e.g., Account, Contact, or Customer\).Data type: String |
| relatedParty.@type | This value is always `ProductOfferingRef`.Data type: String |
| requestedQuoteCompletionDate | A 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 |
| state | State of the quote item.Data type: String |
| @type | Type 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
| Name | Description |
|---|---|
| id | Sys\_id of the quote to update.Data type: String Table: Quote \[sn\_quote\_mgmt\_core\_quote\] |
| Name | Description |
|---|---|
| None |
| Name | Description |
|---|---|
| contactMedium | List of contact mediums. Contact information related to the quote requester. |
| contactMedium.city | City in which the quote requester resides.Data type: String |
| contactMedium.country | Country in which the quote requester resides.Data type: String |
| contactMedium.locationId | Sys\_id of the location listed in the Location \[cmn\_location\] table or custom address.Data type: String |
| contactMedium.mediumType | Type of contact medium, such as email address, telephone number, or postal address.Data type: String |
| contactMedium.postCode | Postal code of the quote requester.Data type: String |
| contactMedium.stateOrProvince | State or province in which the quote requester resides.Data type: String |
| contactMedium.street | Street address of the quote requester.Data type: String |
| contactMedium.@type | Type of medium per the TMF Open API standard. For example, `GeographicalAddressContactMedium`.Data type: String |
| description | Description of the quote.Data type: String |
| note | List of notes associated with the quote. Data type: Array |
| note.text | Contents of the note. Data type: String |
| note.@type | This value is always `Note`.Data type: String |
| quoteDate | Date and time at which the quote was created.Data type: String |
| quoteItem | A list of quote items. Each quote item describes an action for a product to be quoted. |
| quoteItem.action | Action to be performed on this quote item \(add, modify, remove, etc.\).Data type: String |
| quoteItem.id | Sys\_id of the quote item.Table: Quote Line Item \[sn\_quote\_mgmt\_core\_quote\_line\_item\] Data type: String |
| quoteItem.product | List of products included in the quote. |
| quoteItem.product. characteristic | List of product characteristics.Data type: Array of Objects |
| quoteItem.product. characteristic.id | Sys\_id of the product characteristic.Table: Quote Line Characteristic \[sn\_quote\_mgmt\_core\_quote\_line\_characteristic\] Data type: String |
| quoteItem.product. characteristic.name | Name of the product characteristic.Data type: String |
| quoteItem.product. characteristic.@type | This value is always `StringCharacteristic`.Data type: String |
| quoteItem.product. characteristic.value | Value of the characteristic.Data type: String |
| quoteItem.product. specification | Detailed 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.@type | This value is always `Product`.Data type: String |
| quoteItem.productOffering | A product offering reference \(ProductOfferingRef\). A product offering represents entities that are orderable from the provider of the catalog. |
| quoteItem. productOffering.href | Reference of the related entity.Data type: String |
| quoteItem. productOffering.id | Sys\_id of product offering.Table: Product Offering \[sn\_prd\_pm\_product\_offering\] Data type: String |
| quoteItem. productOffering.name | Name of the related entity.Data type: String |
| quoteItem. productOffering.@type | This value is always `ProductOfferingRef`.Data type: String |
| quoteItem.productRelationship | A list of quote items. Each quote item describes an action for a product to be quoted. |
| quoteItem.productRelationship. product | A 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. relationshipType | Type 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.quantity | Quantity asked for this quote item.Data type: Number |
| quoteItem.state | A quote state type \(QuoteStateType\). State of the quote.Data type: String |
| quoteItem.@type | This value is always `QuoteItem`.Data type: String |
| relatedParty | List of contacts for the order.Data type: Array of Objects |
| relatedParty.id | Sys\_id of the quote table to get the account, contact, or customer.Table: Quote \[sn\_quote\_mgmt\_core\_quote\] Data type: String |
| relatedParty.name | Name of the account, customer, or consumer. Data type: String |
| relatedParty.@referredType | Type of customer. Possible values: - Consumer - Customer - CustomerContact Data type: String |
| relatedParty.role | The role of the party in the context of the quote \(e.g., Account, Contact, or Customer\).Data type: String |
| relatedParty.@type | This value is always `ProductOfferingRef`.Data type: String |
| state | State of the quote item.Data type: String |
| @type | Type 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.
| Header | Description |
|---|---|
| Accept | Data format of the response body. Only supports application/json. |
| Content-Type | Data format of the request body. Only supports application/json. |
| Header | Description |
|---|---|
| Content-Type | Data 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 code | Description |
|---|---|
| 200 | Request successfully processed. Full resource returned in response \(no pagination\). |
| 400 | Bad request. Possible reasons: - Invalid path parameter - Invalid URI |
| 404 | Record not found. No records matching the query parameters are found in the table. |
Response body parameters (JSON)
| Name | Description |
|---|---|
| contactMedium | List of contact mediums. Contact information related to the quote requester. |
| contactMedium.city | City in which the quote requester resides.Data type: String |
| contactMedium.country | Country in which the quote requester resides.Data type: String |
| contactMedium.locationId | Sys\_id of the location listed in the Location \[cmn\_location\] table or custom address.Data type: String |
| contactMedium.mediumType | Type of contact medium, such as email address, telephone number, or postal address.Data type: String |
| contactMedium.postCode | Postal code of the quote requester.Data type: String |
| contactMedium.stateOrProvince | State or province in which the quote requester resides.Data type: String |
| contactMedium.street | Street address of the quote requester.Data type: String |
| contactMedium.@type | Type of medium per the TMF Open API standard. For example, `GeographicalAddressContactMedium`.Data type: String |
| description | Description of the quote.Data type: String |
| note | List of notes associated with the quote. Data type: Array |
| note.text | Contents of the note. Data type: String |
| note.@type | This value is always `Note`.Data type: String |
| quoteDate | Date and time at which the quote was created.Data type: String |
| quoteItem | A list of quote items. Each quote item describes an action for a product to be quoted. |
| quoteItem.action | Action to be performed on this quote item \(add, modify, remove, etc.\).Data type: String |
| quoteItem.id | Sys\_id of the quote item.Table: Quote Line Item \[sn\_quote\_mgmt\_core\_quote\_line\_item\] Data type: String |
| quoteItem.product | List of products included in the quote. |
| quoteItem.product. characteristic | List of product characteristics.Data type: Array of Objects |
| quoteItem.product. characteristic.id | Sys\_id of the product characteristic.Table: Quote Line Characteristic \[sn\_quote\_mgmt\_core\_quote\_line\_characteristic\] Data type: String |
| quoteItem.product. characteristic.name | Name of the product characteristic.Data type: String |
| quoteItem.product. characteristic.@type | This value is always `StringCharacteristic`.Data type: String |
| quoteItem.product. characteristic.value | Value of the characteristic.Data type: String |
| quoteItem.product. specification | Detailed 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.@type | This value is always `Product`.Data type: String |
| quoteItem.productOffering | A product offering reference \(ProductOfferingRef\). A product offering represents entities that are orderable from the provider of the catalog. |
| quoteItem. productOffering.href | Reference of the related entity.Data type: String |
| quoteItem. productOffering.id | Sys\_id of product offering.Table: Product Offering \[sn\_prd\_pm\_product\_offering\] Data type: String |
| quoteItem. productOffering.name | Name of the related entity.Data type: String |
| quoteItem. productOffering.@type | This value is always `ProductOfferingRef`.Data type: String |
| quoteItem.productRelationship | A list of quote items. Each quote item describes an action for a product to be quoted. |
| quoteItem.productRelationship. product | A 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. relationshipType | Type 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.quantity | Quantity asked for this quote item.Data type: Number |
| quoteItem.state | A quote state type \(QuoteStateType\). State of the quote.Data type: String |
| quoteItem.@type | This value is always `QuoteItem`.Data type: String |
| relatedParty | List of contacts for the order.Data type: Array of Objects |
| relatedParty.id | Sys\_id of the quote table to get the account, contact, or customer.Table: Quote \[sn\_quote\_mgmt\_core\_quote\] Data type: String |
| relatedParty.name | Name of the account, customer, or consumer. Data type: String |
| relatedParty.@referredType | Type of customer. Possible values: - Consumer - Customer - CustomerContact Data type: String |
| relatedParty.role | The role of the party in the context of the quote \(e.g., Account, Contact, or Customer\).Data type: String |
| relatedParty.@type | This value is always `ProductOfferingRef`.Data type: String |
| state | State of the quote item.Data type: String |
| @type | Type 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
| Name | Description |
|---|---|
| None |
| Name | Description |
|---|---|
| None |
| Name | Description |
|---|---|
| contactMedium | List of contact mediums. Contact information related to the quote requester. |
| contactMedium.city | City in which the quote requester resides.Data type: String |
| contactMedium.country | Country in which the quote requester resides.Data type: String |
| contactMedium.locationId | Sys\_id of the location listed in the Location \[cmn\_location\] table or custom address.Data type: String |
| contactMedium.mediumType | Type of contact medium, such as email address, telephone number, or postal address.Data type: String |
| contactMedium.postCode | Postal code of the quote requester.Data type: String |
| contactMedium.stateOrProvince | State or province in which the quote requester resides.Data type: String |
| contactMedium.street | Street address of the quote requester.Data type: String |
| contactMedium.@type | Type of medium per the TMF Open API standard. For example, `GeographicalAddressContactMedium`.Data type: String |
| description | Description of the quote.Data type: String |
| externalId | Unique consumer-provided ID for the quote.Data type: String |
| href | Relative link to access the quote.Data type: String Default: Empty string |
| note | List of notes associated with the quote. Data type: Array |
| note.text | Contents of the note. Data type: String |
| note.@type | This value is always `Note`.Data type: String |
| quoteDate | Date and time at which the quote was created.Data type: String |
| quoteItem | A list of quote items. Each quote item describes an action for a product to be quoted. |
| quoteItem.action | Action to be performed on this quote item \(add, modify, remove, etc.\).Data type: String |
| quoteItem.id | Sys\_id of the quote item.Table: Quote Line Item \[sn\_quote\_mgmt\_core\_quote\_line\_item\] Data type: String |
| quoteItem.product | List of products included in the quote. |
| quoteItem.product. characteristic | List of product characteristics.Data type: Array of Objects |
| quoteItem.product. characteristic.id | Sys\_id of the product characteristic.Table: Quote Line Characteristic \[sn\_quote\_mgmt\_core\_quote\_line\_characteristic\] Data type: String |
| quoteItem.product. characteristic.name | Name of the product characteristic.Data type: String |
| quoteItem.product. characteristic.@type | This value is always `StringCharacteristic`.Data type: String |
| quoteItem.product. characteristic.value | Value of the characteristic.Data type: String |
| quoteItem.product. specification | Detailed 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.@type | This value is always `Product`.Data type: String |
| quoteItem.productOffering | A product offering reference \(ProductOfferingRef\). A product offering represents entities that are orderable from the provider of the catalog. |
| quoteItem. productOffering.href | Reference of the related entity.Data type: String |
| quoteItem. productOffering.id | Sys\_id of product offering.Table: Product Offering \[sn\_prd\_pm\_product\_offering\] Data type: String |
| quoteItem. productOffering.name | Name of the related entity.Data type: String |
| quoteItem. productOffering.@type | This value is always `ProductOfferingRef`.Data type: String |
| quoteItem.productRelationship | A list of quote items. Each quote item describes an action for a product to be quoted. |
| quoteItem.productRelationship. product | A 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. relationshipType | Type 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.quantity | Quantity asked for this quote item.Data type: Number |
| quoteItem.state | A quote state type \(QuoteStateType\). State of the quote.Data type: String |
| quoteItem.@type | This value is always `QuoteItem`.Data type: String |
| relatedParty | List of contacts for the order.Data type: Array of Objects |
| relatedParty.id | Sys\_id of the quote table to get the account, contact, or customer.Table: Quote \[sn\_quote\_mgmt\_core\_quote\] Data type: String |
| relatedParty.name | Name of the account, customer, or consumer. Data type: String |
| relatedParty.@referredType | Type of customer. Possible values: - Consumer - Customer - CustomerContact Data type: String |
| relatedParty.role | The role of the party in the context of the quote \(e.g., Account, Contact, or Customer\).Data type: String |
| relatedParty.@type | This value is always `ProductOfferingRef`.Data type: String |
| state | State of the quote item.Data type: String |
| @type | Type 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.
| Header | Description |
|---|---|
| Accept | Data format of the response body. Only supports application/json. |
| Header | Description |
|---|---|
| Content-Type | Data 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 code | Description |
|---|---|
| 201 | Successful. The request was successfully processed. |
| 400 | Bad 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)
| Name | Description |
|---|---|
| contactMedium | List of contact mediums. Contact information related to the quote requester. |
| contactMedium.city | City in which the quote requester resides.Data type: String |
| contactMedium.country | Country in which the quote requester resides.Data type: String |
| contactMedium.locationId | Sys\_id of the location listed in the Location \[cmn\_location\] table or custom address.Data type: String |
| contactMedium.mediumType | Type of contact medium, such as email address, telephone number, or postal address.Data type: String |
| contactMedium.postCode | Postal code of the quote requester.Data type: String |
| contactMedium.stateOrProvince | State or province in which the quote requester resides.Data type: String |
| contactMedium.street | Street address of the quote requester.Data type: String |
| contactMedium.@type | Type of medium per the TMF Open API standard. For example, `GeographicalAddressContactMedium`.Data type: String |
| description | Description of the quote.Data type: String |
| externalId | Unique consumer-provided ID for the quote.Data type: String |
| href | Relative link to access the quote.Data type: String Default: Empty string |
| note | List of notes associated with the quote. Data type: Array |
| note.text | Contents of the note. Data type: String |
| note.@type | This value is always `Note`.Data type: String |
| quoteDate | Date and time at which the quote was created.Data type: String |
| quoteItem | A list of quote items. Each quote item describes an action for a product to be quoted. |
| quoteItem.action | Action to be performed on this quote item \(add, modify, remove, etc.\).Data type: String |
| quoteItem.id | Sys\_id of the quote item.Table: Quote Line Item \[sn\_quote\_mgmt\_core\_quote\_line\_item\] Data type: String |
| quoteItem.product | List of products included in the quote. |
| quoteItem.product. characteristic | List of product characteristics.Data type: Array of Objects |
| quoteItem.product. characteristic.id | Sys\_id of the product characteristic.Table: Quote Line Characteristic \[sn\_quote\_mgmt\_core\_quote\_line\_characteristic\] Data type: String |
| quoteItem.product. characteristic.name | Name of the product characteristic.Data type: String |
| quoteItem.product. characteristic.@type | This value is always `StringCharacteristic`.Data type: String |
| quoteItem.product. characteristic.value | Value of the characteristic.Data type: String |
| quoteItem.product. specification | Detailed 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.@type | This value is always `Product`.Data type: String |
| quoteItem.productOffering | A product offering reference \(ProductOfferingRef\). A product offering represents entities that are orderable from the provider of the catalog. |
| quoteItem. productOffering.href | Reference of the related entity.Data type: String |
| quoteItem. productOffering.id | Sys\_id of product offering.Table: Product Offering \[sn\_prd\_pm\_product\_offering\] Data type: String |
| quoteItem. productOffering.name | Name of the related entity.Data type: String |
| quoteItem. productOffering.@type | This value is always `ProductOfferingRef`.Data type: String |
| quoteItem.productRelationship | A list of quote items. Each quote item describes an action for a product to be quoted. |
| quoteItem.productRelationship. product | A 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. relationshipType | Type 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.quantity | Quantity asked for this quote item.Data type: Number |
| quoteItem.state | A quote state type \(QuoteStateType\). State of the quote.Data type: String |
| quoteItem.@type | This value is always `QuoteItem`.Data type: String |
| relatedParty | List of contacts for the order.Data type: Array of Objects |
| relatedParty.id | Sys\_id of the quote table to get the account, contact, or customer.Table: Quote \[sn\_quote\_mgmt\_core\_quote\] Data type: String |
| relatedParty.name | Name of the account, customer, or consumer. Data type: String |
| relatedParty.@referredType | Type of customer. Possible values: - Consumer - Customer - CustomerContact Data type: String |
| relatedParty.role | The role of the party in the context of the quote \(e.g., Account, Contact, or Customer\).Data type: String |
| relatedParty.@type | This value is always `ProductOfferingRef`.Data type: String |
| state | State of the quote item.Data type: String |
| @type | Type 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"
}