Server to Server Management APIs
Quotes

Quotes

Get All Quotes

GET /rfq

Request

Retrieves basic information for all sales quotes in your store. Use the parameters to narrow your results, such as filtering by a date range or quotes from a specific Company account.

More detailed information, such as line items and shipping details, can be retrieved with the Get Quote Details endpoint.

Authentication

  • authToken in header

Parameters

  • offset in query with default of 0 - integer
    The number of results to skip before returning the first result. If left blank, this defaults to 0.
  • limit in query with default of 10 - integer
    Determines the number of records to return per page. If left blank, this defaults to 10.
  • sortBy in query with default of updatedAt - string
    Sorts results by Company name (company), quote status (status), sales rep name (salesRep), creation date (createdAt), expiration date (expiredAt), or last updated date (updatedAt). It defaults to the last updated date if no parameter is provided.

    Allowed: company | status | salesRep | createdAt | expiredAt | updatedAt

  • orderBy in query with default of desc - string
    Establish a descending or ascending order of results. The order defaults to descending if the parameter is not included.

    Allowed: asc | desc

  • q in query - string
    Enter quote information to return partial and exact matches. Accepted information fields include quote number, quote title, Company name, assigned sales rep, and Company user first and last name.
  • quoteNumber in query - string
    Enter a full or partial quote number to retrieve relevant quotes.
  • company in query - string
    Enter a full or partial Company name to retrieve relevant quotes.
  • salesRep in query - string
    The name of the sales rep assigned to the quote.
  • status in query - integer
    The backend status of the sales quote. Note that these are not the same as buyer-facing quote status. See Quote Statuses for more information.

    Allowed: 0 | 2 | 3 | 4 | 5 | 6 | 7

  • quoteTitle in query - string
    The external title given to the quote.
  • createdBy in query - string
    The name of the sales rep or buyer who created the quote.
  • maxCreated in query - integer
    Enter a Unix timestamp to retrieve all quotes created before that time.
  • minCreated in query - integer
    Enter a Unix timestamp to retrieve all quotes created after that time.
  • maxModified in query - integer
    Enter a Unix timestamp to retrieve all quotes modified before that time.
  • minModified in query - integer
    Enter a Unix timestamp to retrieve all quotes modified after that time.
  • maxExpired in query - integer
    Enter a Unix timestamp to retrieve all quotes that expired before that time.
  • minExpired in query - integer
    Enter a Unix timestamp to retrieve all quotes that expired after that time.
  • channelIds[] in query with default of 1 - array
    Enter one or more storefront channel IDs to retrieve quotes assigned to the storefront(s). Use 1 for your store’s default storefront channel. Separate channel IDs with a comma.
    Type: array[integer]

example

curl --request GET \
--url https://api-b2b.bigcommerce.com/api/v3/io/rfq \
--header 'Content-Type: application/json' \
--header 'authToken: {{token}}'

Response

OK

A 200 response has a body with information on all quotes based on the provided parameters. If there are no quotes that correspond to the provided parameter values, the endpoint still returns a 200 response, but the data array is empty.

Body

application/json
  • code
    number

    HTTP Response Code

    Default: 200

  • data
    object

  • message
    string

    Default: SUCCESS

example

{
"code": 200,
"data": {
"list": [
{
"quoteId": 123456,
"company": "Great Buys Incorporated",
"salesRep": "Isaac Newton",
"updatedAt": 1722619778,
"quoteNumber": "QN101234",
"status": 0,
"bcOrderId": "195",
"orderId": "112495",
"channelName": "b2B Store",
"createdAt": 1622619778,
"expiredAt": 1722619778,
"createdBy": "Marie Curie",
"subtotal": 1495,
"channelId": 1,
"quoteTitle": "Plates - Custom Etching",
"referenceNumber": "03302025-0001",
"currency": {
"token": "$",
"location": "left",
"currencyCode": "USD",

Create a Quote

POST /rfq

Request

Creates a new sales quote and automatically submits it to the assigned buyer.

While the B2B Edition control panel allows you to save a new quote as a draft without sending it to the buyer, quotes created with this endpoint are automatically visible in a Company user's Buyer Portal. However, you can give the allowCheckout a value of false to prevent the buyer from purchasing it immediately upon submission.

Custom Products

While you can create custom products from within a quote while creating or editing it in your B2B Edition control panel, you cannot create a custom product with this endpoint.

Create a custom product while creating or editing a quote in the B2B Edition control panel, or by using the Create a Product endpoint in the Catalog API. Obtain your newly-created product’s ID and add it to the productId field of the Create a Quote request body to include it in the quote.

Minimum Required Fields

In order to create a sales quote, the request body must include the following fields. Fields marked with an asterisk are only required under specific conditions.

  • grandTotal
  • discount
  • subtotal
  • userEmail
  • expiredAt
  • contactInfo
    • name
    • email
  • companyId*
  • productList
    • sku
    • productId
    • basePrice
    • discount
    • offeredPrice
    • quantity
  • extraFields fieldName fieldValue*
  • channelId*

The companyId field is only required if you are linking a quote to a Company’s Buyer Portal. The companyName field and email fields will not link a quote to a particular Company or Company user without a corresponding companyId.

The extraFields array is only required if you have created Quote extra fields which are marked as required. To learn more about extra fields, see B2B Edition Settings (Help Center).

The channelId field is required if you have multiple storefront channels. If you only have a single storefront, then you do not need to include it.

Authentication

  • authToken in header

Body

application/json
  • subtotal
    number
    required

    The quoted total after discounts and before shipping and tax. If you are updating the line items or discounts on a quote, you must also update the subtotal to reflect the new pricing.
    Example: 1495
  • channelId
    integer

    The storefront channel ID associated with the quote. This is required if your store has multiple storefront channels. Use 1 for your store’s default storefront channel.

    Default: 1

  • quoteTitle
    string

    The external title given to the quote.
    Example: Plates - Custom Etching
  • referenceNumber
    string

    An identifier for the quote that can be supplied by the sales rep or the buyer, such as a Purchase Order number.
    Example: 03302025-0001
  • currency
    object

  • extraFields
    array[object]

    Adds extra field information to the quote. This is required if your store has required quote extra fields. If you include the array in the request, you must include all of its fields.
  • notes
    string

    The quote’s buyer-facing notes. Use the newline character to separate each line of text.

    Example: Use the in-quote messaging system to contact us about products, pricing, or other quote information.
  • discount
    number
    required

    The total value of discounts applied to the quote.
    Example: 20
  • grandTotal
    number
    required

    The quoted total after discounts, shipping, and tax are applied. If you are updating the line items or discounts on a quote, you must also update the grand total to reflect the new pricing.
    Example: 1495
  • legalTerms
    string

    The quote’s terms and conditions. Use the newline character to separate each line of text. Omitting this field or leaving it blank does not add your store’s default terms and conditions to the quote. Instead, the quote will not display any terms.

    Example: Thank you for the opportunity to provide this quote! Please note the following: - Quotes are valid for 30 days unless otherwise stated. - Pricing is subject to change at any time.
  • displayDiscount
    boolean

    Determines if buyers can see quoted discount values in the Buyer Portal, or if they only see the quoted prices. If left blank, the quote uses the discount display selection in your Quote settings.
  • allowCheckout
    boolean

    Determines whether or not the buyer can take the quote to the checkout page. If left blank, the quote uses the checkout selection in your Quote settings.
  • productList
    array[]
    required

    Line item information for the quote. If you add this array to the request, you must include all existing line items that you want to keep in the quote.
  • shippingAddress
    object

  • contactInfo
    object

    This object contains the contact information for the buyer in the quote.
  • message
    string

    A message sent to the buyer via the in-quote messaging system.
    Example: Hello Marie! I have submitted the quote you requested. Please review the notes and terms, and don't hesitate to reach out with any questions.
  • userEmail
    string

    The email address of the quote’s sales rep.
  • expiredAt
    string
    required

    The date when the buyer can no longer purchase the quote. Use '%m/%d/%Y' format when entering the expiration date.
    Example: 04/19/2025
  • totalAmount
    number
    required

    The total price of the quote after any discounts.
    Example: 1495
  • companyId
    integer

    The unique identifier for the Company account associated with the quote. This field is required when creating a quote for a Company account.
    Example: 111111

Minimum-required fields

{
"grandTotal": 1000,
"discount": 0,
"subtotal": 1000,
"userEmail": "hero@mybcstore.com",
"expiredAt": "05/07/2025",
"channelId": 1,
"contactInfo": {
"name": "Marie Curie",
"email": "mcurie@greatbuysinc.com"
},
"productList": [
{
"sku": "SAN-PL",
"basePrice": 25,
"discount": 5,
"offeredPrice": 20,
"quantity": 50,
"productId": 12345
}
]
}

All fields

{
"notes": "Use the in-quote messaging system to contact us about products, pricing, or other quote information.",
"legalTerms": "Thank you for the opportunity to provide this quote! Please note the following:\n - Quotes are valid for 30 days unless otherwise stated.\n - Pricing is subject to change at any time.\n - Please note, the shipping and tax quoted are estimates only. Final shipping and tax will be calculated during checkout and may be billed post sale.\n - Due to fluctuating shipping rates, LTL shipping calculations are only estimates. Final LTL rates will be determined by quote upon shipment and may be billed post sale. Also, if a lift gate is required an additional fee will apply if not included in this quote.\n - Please contact your Technical Sales Representative, call 877-567-3598, or email sales.rep@mybcstore.com for assistance.",

Response

OK

Body

application/json
  • code
    number

    HTTP Response Code

    Default: 200

  • data
    object

  • message
    string

    Default: SUCCESS

example

{
"code": 200,
"data": {
"quoteId": 123456,
"quoteUrl": "https://mybcstore.com/quote/?id=195&date=1622618606"
},
"message": "SUCCESS"
}

Get all B2B quote custom shipping methods

GET /rfq/custom/shipping-methods

Request

Retrieves all custom shipping methods that you’ve enabled in the Quotes settings of your B2B Edition control panel. See Custom Shipping for more information.

Authentication

  • authToken in header

example

curl --request GET \
--url https://api-b2b.bigcommerce.com/api/v3/io/rfq/custom/shipping-methods \
--header 'Content-Type: application/json' \
--header 'authToken: {{token}}'

Response

OK

Body

application/json
  • code
    number

    HTTP Response Code

    Default: 200

  • data
    array[object]

  • meta
    object

example

{
"code": 200,
"data": [
{
"customShippingMethodName": "2nd Day Air"
}
],
"meta": {
"message": "SUCCESS"
}
}

Send a Quote Email

POST /rfq/emails

Request

Sends an email to the buyer with information on a specific quote based on the provided quoteId.

The email address in the email field must correspond with the buyer’s email address on the quote. However, you can use the ccTo field to include additional recipients.

Quote Email Templates

The request uses the emailTemplate field to format the quote contents with one of the pre-built quote email templates. You must enter the exact name of the template in the field.

The following email templates can be used:

  • Simple
  • Simple with Pictures
  • Waves with Pictures
  • Database with checkout button
  • Modern with checkout link
  • Modern without checkout link

The selected template applies to the quote PDF if withAttach is specified as true.

Authentication

  • authToken in header

Body

object | application/json
  • quoteId
    string
    required

    The internal numeric ID of the sales quote.
    Example: 12345
  • withAttach
    boolean
    required

    Indicates whether or not a quote PDF will be included with the email.

    Default: true

  • emailTemplate
    string
    required

    The template used to format the quote email.

    Allowed: Simple | Simple with Pictures | Waves with Pictures | Sky | Dots | Database with checkout button | Modern with checkout link | Modern without checkout link

  • ccTo
    array[string]

    The list of emails to CC.
  • emailLang
    string

    The two-letter code for the language of the quote email and PDF, if included.

    Allowed: en | nl | de | fr | it | ja | zh | es

example

{
"quoteId": "12345",
"email": "user@example.com",
"withAttach": true,
"emailTemplate": "Simple",
"ccTo": [
"user@example.com"
],
"emailLang": "en"
}

Response

OK

Body

application/json
  • code
    number

    HTTP Response Code

    Default: 200

  • data
    object

  • message
    string

    Default: SUCCESS

example

{
"code": 200,
"data": {},
"message": "SUCCESS"
}

Get Quote Extra Fields Configs

GET /rfq/extra-fields

Request

Returns a list of available extra fields configs for sales quotes.

We recommend caching the response results to avoid frequent API requests.

Authentication

  • authToken in header

Parameters

  • offset in query with default of 0 - integer
    The number of results to skip before returning the first result. If left blank, this defaults to 0.
  • limit in query with default of 10 - integer
    Determines the number of records to return per page. If left blank, this defaults to 10.

example

curl --request GET \
--url https://api-b2b.bigcommerce.com/api/v3/io/rfq/extra-fields \
--header 'Content-Type: application/json' \
--header 'authToken: {{token}}'

Response

OK

Body

application/json
  • code
    number

    HTTP Response Code

    Default: 200

  • data
    array[object]

  • meta
    object

example

{
"code": 200,
"data": [
{
"id": 0,
"uuid": "string",
"fieldName": "string",
"fieldType": 0,
"isRequired": true,
"isUnique": true,
"visibleToEnduser": true,
"configType": 1,
"defaultValue": "string",
"maximumLength": "string",
"numberOfRows": "string",
"maximumValue": "string",
"listOfValue": [
"string"
],
"valueConfig": {
"defaultValue": "string",
"listOfValue": [
{}
],
"maximumLimit": "string"
}
}
],
"meta": {
"message": "SUCCESS",

Get Quote Details

GET /rfq/{quote_id}

Request

Retrieves the full details of a specific quote based on the provided quote_id.

This endpoint provides more detailed information about a specific quote than Get All Quotes. This includes line items, shipping address fields, and even a history of messages sent by the buyer and their sales representative.

Authentication

  • authToken in header

Parameters

  • quote_id in path - integer
    required
    The internal numeric ID of the sales quote.
  • date in query - string
    required
    The date that the quote was created. Use %m/%d/%Y format.

example

curl --request GET \
--url 'https://api-b2b.bigcommerce.com/api/v3/io/rfq/[quote_id]' \
--header 'Content-Type: application/json' \
--header 'authToken: {{token}}'

Response

OK

Body

application/json
  • code
    number

    HTTP Response Code

    Default: 200

  • data
    object

  • meta
    object

example

{
"code": 200,
"data": {
"quoteNumber": "QN101234",
"status": 0,
"bcOrderId": "195",
"orderId": "112495",
"channelName": "b2B Store",
"createdAt": 1622619778,
"expiredAt": 1722619778,
"createdBy": "Marie Curie",
"subtotal": 1495,
"channelId": 1,
"quoteTitle": "Plates - Custom Etching",
"referenceNumber": "03302025-0001",
"currency": {
"token": "$",
"location": "left",
"currencyCode": "USD",
"decimalToken": ".",
"decimalPlaces": 2,
"thousandsToken": ",",
"currencyExchangeRate": "1.34"
},
"extraFields": [
{
"fieldName": "I want a sales representative to call me at the provided phone number.",

Update a Quote

PUT /rfq/{quote_id}

Request

Updates an existing quote based on the details provided in the request body.

Before using this endpoint to update a quote, review the following considerations:

  • None of the fields in the body are required for a successful response. This means that you can use this endpoint to update a single field or a subset of fields.
  • When adding or updating line items, you must include all existing line items that you want to keep in the quote. Omitting existing line items from a quote will remove them from the quote when you send the request.
  • If you add products or change discounts, you must also update the grandTotal and subtotal fields to reflect the new totals.
  • You cannot use this endpoint to change the sales rep or Company account assigned to an existing quote.
  • To update a quote’s shipping rate, use the Select a Shipping Rate for a Quote endpoint.

See Create a Quote for experience- and setting-specific requirements related to adding custom shipping or non-purchasable products to a quote.

Authentication

  • authToken in header

Parameters

  • quote_id in path - integer
    required
    The internal numeric ID of the sales quote.

Body

application/json
  • subtotal
    number

    The quoted total after discounts and before shipping and tax. If you are updating the line items or discounts on a quote, you must also update the subtotal to reflect the new pricing.
    Example: 1495
  • channelId
    integer

    The storefront channel ID associated with the quote. This is required if your store has multiple storefront channels. Use 1 for your store’s default storefront channel.

    Default: 1

  • quoteTitle
    string

    The external title given to the quote.
    Example: Plates - Custom Etching
  • referenceNumber
    string

    An identifier for the quote that can be supplied by the sales rep or the buyer, such as a Purchase Order number.
    Example: 03302025-0001
  • currency
    object

  • extraFields
    array[object]

    Adds extra field information to the quote. This is required if your store has required quote extra fields. If you include the array in the request, you must include all of its fields.
  • notes
    string

    The quote’s buyer-facing notes. Use the newline character to separate each line of text.

    Example: Use the in-quote messaging system to contact us about products, pricing, or other quote information.
  • discount
    number

    The total value of discounts applied to the quote.
    Example: 20
  • grandTotal
    number

    The quoted total after discounts, shipping, and tax are applied. If you are updating the line items or discounts on a quote, you must also update the grand total to reflect the new pricing.
    Example: 1495
  • legalTerms
    string

    The quote’s terms and conditions. Use the newline character to separate each line of text. Omitting this field or leaving it blank does not add your store’s default terms and conditions to the quote. Instead, the quote will not display any terms.

    Example: Thank you for the opportunity to provide this quote! Please note the following: - Quotes are valid for 30 days unless otherwise stated. - Pricing is subject to change at any time.
  • displayDiscount
    boolean

    Determines if buyers can see quoted discount values in the Buyer Portal, or if they only see the quoted prices. If left blank, the quote uses the discount display selection in your Quote settings.
  • allowCheckout
    boolean

    Determines whether or not the buyer can take the quote to the checkout page. If left blank, the quote uses the checkout selection in your Quote settings.
  • productList
    array[]

    Line item information for the quote. If you add this array to the request, you must include all existing line items that you want to keep in the quote.
  • shippingAddress
    object

  • contactInfo
    object

    This object contains the contact information for the buyer in the quote.
  • message
    string

    A message sent to the buyer via the in-quote messaging system.
    Example: Hello Marie! I have submitted the quote you requested. Please review the notes and terms, and don't hesitate to reach out with any questions.
  • userEmail
    string

    The email address of the quote’s sales rep.
  • expiredAt
    string

    The date when the buyer can no longer purchase the quote. Use '%m/%d/%Y' format when entering the expiration date.
    Example: 04/19/2025

example

{
"subtotal": 1495,
"channelId": 1,
"quoteTitle": "Plates - Custom Etching",
"referenceNumber": "03302025-0001",
"currency": {
"token": "$",
"location": "left",
"currencyCode": "USD",
"decimalToken": ".",
"decimalPlaces": 2,
"thousandsToken": ",",
"currencyExchangeRate": "1.34"
},
"extraFields": [
{
"fieldName": "I want a sales representative to call me at the provided phone number.",
"fieldValue": "Yes"
}
],
"notes": "Use the in-quote messaging system to contact us about products, pricing, or other quote information.",
"discount": 20,
"grandTotal": "1495",
"legalTerms": "Thank you for the opportunity to provide this quote! Please note the following:\n - Quotes are valid for 30 days unless otherwise stated.\n - Pricing is subject to change at any time.",

Response

OK

Body

application/json
  • code
    number

    HTTP Response Code

    Default: 200

  • data
    object

  • message
    string

    Default: SUCCESS

example

{
"code": 200,
"data": {
"quoteId": 123456,
"quoteUrl": "https://mybcstore.com/quote/?id=195&date=1622618606"
},
"message": "SUCCESS"
}

Delete a Quote

DELETE /rfq/{quote_id}

Request

Permanently deletes a specific quote based on the provided quote_id.

If you want to hide a quote from a buyer without deleting it, you can archive the quote from the Quotes area of your B2B Edition control panel. See Managing Sales Quotes in B2B Edition (Help Center) for more information.

Authentication

  • authToken in header

Parameters

  • quote_id in path - integer
    required
    The internal numeric ID of the sales quote.

example

curl --request DELETE \
--url 'https://api-b2b.bigcommerce.com/api/v3/io/rfq/[quote_id]' \
--header 'Content-Type: application/json' \
--header 'authToken: {{token}}'

Response

OK

Body

application/json
  • code
    number

    HTTP Response Code

    Default: 200

  • data
    object

  • message
    string

    Default: SUCCESS

example

{
"code": 200,
"data": {},
"message": "SUCCESS"
}

Generate Cart and Checkout URL for a Quote

POST /rfq/{quote_id}/checkout

Request

Generates a cart URL and a checkout URL for a specific quote based on the provided quote_id.

You can only generate cart and checkout URLs for quotes in one of the following statuses:

  • New (0)
  • In Process (2)
  • Updated by Customer (3)

This endpoint will generate a checkout link for a quote even if it is configured to hide the checkout button on the Buyer Portal. You can use this to create an alternate checkout flow for your sales quotes.

Authentication

  • authToken in header

Parameters

  • quote_id in path - integer
    required
    The internal numeric ID of the sales quote.

Body

object | application/json

    example

    {}

    Response

    OK

    Body

    application/json
    • code
      number

      HTTP Response Code

      Default: 200

    • data
      object

    • message
      string

      Default: SUCCESS

    example

    {
    "code": 200,
    "data": {
    "checkoutUrl": "https://mybcstore.com/cart.php?action=loadInCheckout&id=0c3ede4f-edbe-4385-83a",
    "cartId": "0c3ede4f-edbe-4385-83a",
    "cartUrl": "https://mybcstore.com/cart.php?action=load&id=0c3ede4f-edbe-4385-83a"
    },
    "message": "SUCCESS"
    }

    Assign a Quote to a BigCommerce Order

    POST /rfq/{quote_id}/ordered

    Request

    Associates an existing BigCommerce order with a specific quote based on the provided quote_id.

    In order to assign a quote to an order, it must be in one of the following statuses:

    • New (0)
    • In Process (2)
    • Updated by Customer (3)

    When specifying the order to be associated with the quote, use its BigCommerce Order ID, not the B2B Edition Order ID.

    This endpoint does not convert an unpurchased quote into a new BigCommerce order. You can manually convert a quote while editing it in your B2B Edition control panel.

    Authentication

    • authToken in header

    Parameters

    • quote_id in path - integer
      required
      The internal numeric ID of the sales quote.

    Body

    object | application/json
    • orderId
      string
      required

      The B2B Edition internal order ID. Note that this is different from the BigCommerce order ID returned in the bcOrderId field.
      Example: 112495

    example

    {
    "orderId": "112495"
    }

    Response

    OK

    Body

    application/json
    • code
      number

      HTTP Response Code

      Default: 200

    • data
      object

    • message
      string

      Default: SUCCESS

    example

    {
    "code": 200,
    "data": {},
    "message": "SUCCESS"
    }

    Export a Quote PDF

    POST /rfq/{quote_id}/pdf-export

    Request

    Creates a download link for a PDF with information on a specific quote based on the provided quoteId.

    The PDF does not use one of the buyer-facing templates that can be selected for PDFs and emails. Instead, it uses a non-configurable template that also communicates backend information, like storefront channel and line item cost margins.

    You can optionally update the currency information and also supply a custom exchange rate by using the currency array.

    Authentication

    • authToken in header

    Parameters

    • quote_id in path - integer
      required
      The internal numeric ID of the sales quote.

    Body

    object | application/json
    • currency
      object

    example

    {
    "currency": {
    "token": "$",
    "location": "left",
    "currencyCode": "USD",
    "decimalToken": ".",
    "decimalPlaces": 2,
    "thousandsToken": ",",
    "currencyExchangeRate": "1.34"
    }
    }

    Response

    OK

    Body

    application/json
    • code
      number

      HTTP Response Code

      Default: 200

    • data
      object

    • message
      string

      Default: SUCCESS

    example

    {
    "code": 200,
    "data": {
    "url": "https://s3-us-west-2.amazonaws.com/bundleb2b-v2.0-quote-prod/B2B_Store%3AQN1234.pdf"
    },
    "message": "SUCCESS"
    }

    Select a Shipping Rate for a Quote

    PUT /rfq/{quote_id}/shipping-rate

    Request

    Adds a shipping method to a specific quote based on the provided quoteId.

    Use the Get Available Shipping Rates for a Quote or Get All B2B Quote Custom Shipping Methods endpoints to retrieve shipping method information that you can add to the quote.

    The request body must include either the shippingMethodId field to add a static or real-time shipping method, or the customShippingMethodName and the customShippingMethodCost fields to add a custom shipping method.

    Note that the URL for this endpoint is https://api-b2b.bigcommerce.com/api/v3/io/rfq/{quote_id}/shipping-rate, which is different from the URL for the Get Available Shipping Rates for a Quote endpoint (https://api-b2b.bigcommerce.com/api/v3/io/rfq/{quote_id}/shipping-rates). Using the incorrect URL will result in a 405 - Method Not Allowed error.

    Authentication

    • authToken in header

    Parameters

    • quote_id in path - integer
      required
      The internal numeric ID of the sales quote.

    Body

    object | application/json
    • shippingMethodId
      string

      Shipping method ID. Cannot be used with customShippingMethodName at the same time.
    • customShippingMethodName
      string

      Custom shipping method name. Cannot be used with shippingMethodId at the same time.
    • customShippingMethodCost
      number

      Custom shipping method cost. Required when using custom shipping method.
      Min: 0

    Static or real-time method

    {
    "shippingMethodId": "07a4b3bc067385847b04d80d430486d9"
    }

    Custom method

    {
    "customShippingMethodName": "LTL Freight",
    "customShippingMethodCost": 175
    }

    Response

    OK

    Body

    application/json
    • code
      number

      HTTP Response Code

      Default: 200

    • data
      object

    • meta
      object

    example

    {
    "code": 200,
    "data": {},
    "meta": {
    "message": "SUCCESS"
    }
    }

    Remove Selected Shipping Rate from a Quote

    DELETE /rfq/{quote_id}/shipping-rate

    Request

    Removes the current shipping method associated with a specific quote based on the provided quoteId.

    Note that the URL for this endpoint is https://api-b2b.bigcommerce.com/api/v3/io/rfq/{quote_id}/shipping-rate, which is different from the URL for the Get Available Shipping Rates for a Quote endpoint (https://api-b2b.bigcommerce.com/api/v3/io/rfq/{quote_id}/shipping-rates). Using the incorrect URL will result in a 405 - Method Not Allowed error.

    Authentication

    • authToken in header

    Parameters

    • quote_id in path - integer
      required
      The internal numeric ID of the sales quote.

    example

    curl --request DELETE \
    --url 'https://api-b2b.bigcommerce.com/api/v3/io/rfq/[quote_id]/shipping-rate' \
    --header 'Content-Type: application/json' \
    --header 'authToken: {{token}}'

    Response

    OK

    Get Available Shipping Rates for a Quote

    GET /rfq/{quote_id}/shipping-rates

    Request

    Retrieves all shipping rates available to a specific quote based on the provided quoteId.

    This endpoint only returns the static and real-time shipping methods available to a quote based on its product specifications and shipping address. Use the Get All B2B Quote Custom Shipping Methods endpoint to retrieve information on custom shipping methods.

    Note that the URL for this endpoint is https://api-b2b.bigcommerce.com/api/v3/io/rfq/{quote_id}/shipping-rates, which is different from the URL for the Select a Shipping Rate for a Quote and Remove Selected Shipping Rate from a Quote endpoints (https://api-b2b.bigcommerce.com/api/v3/io/rfq/{quote_id}/shipping-rate). Using the incorrect URL will result in a 405 - Method Not Allowed error.

    Authentication

    • authToken in header

    Parameters

    • quote_id in path - integer
      required
      The internal numeric ID of the sales quote.

    example

    curl --request GET \
    --url 'https://api-b2b.bigcommerce.com/api/v3/io/rfq/[quote_id]/shipping-rates' \
    --header 'Content-Type: application/json' \
    --header 'authToken: {{token}}'

    Response

    OK

    Body

    application/json
    • code
      number

      HTTP Response Code

      Default: 200

    • data
      array[object]

    • meta
      object

    example

    {
    "code": 200,
    "data": [
    {
    "shippingMethodId": 1725,
    "type": "custom",
    "description": "LTL - With Lift Gate",
    "cost": 175.95
    }
    ],
    "meta": {
    "message": "SUCCESS"
    }
    }
    Did you find what you were looking for?