Collapse Menu
Documentation
FastSpring App
Contact Support

/quotes Overview

Overview

Overview of the /quotes API endpoint, the corresponding contents, and the Attribute DefaultValue

Use the /quotes API endpoint to efficiently process and manage your B2B orders and billing capabilities, including quote creation, digital invoicing, and order management. With this endpoint, you can:

  • Create quotes 
  • Retrieve quotes
  • Update quotes
  • Cancel quotes

Unlike other FastSpring APIs, this API utilizes a POST request for creating resources, and a PUT request for updating resources.

Endpoints

For additional information regarding each endpoint, click on the link to access the corresponding documentation.

For information regarding the Address, Contact, and Items attributes, see /quotes - Additional Attributes.

Quote Response Contents

AttributeTypeDescription
idstringA unique identifier for the quote
buyerGeneratedbooleanFlag to determine if the quote was generated by a prospect
couponstringA coupon code for the quote. (This is not a coupon ID)
createdstringDate the quote was created in the format: 
YYYY-MM-DD’T’HH:MM:SS
createdBycontactContact information of the quote creator, including their first name, last name, and email
currencystringThe three-letter ISO code of the currency of the quote
discountnumberThe total discount amount for the quote. This is the sum of all discounts on the quote
discountDisplaystringThe formatted display for the discount
discountInPayoutCurrencynumberThe discount in the currency of the FastSpring payout
discountInPayoutCurrencyDisplaystringThe formatted display for the discountInPayoutCurrency
expirationDateDaysnumberNumber of days after quote creation that it expires
expiresstringThe expiration date of the quote
YYYY-MM-DD’T’HH:MM:SS
fulfillmentTermstringThe fulfillment term for the quote
itemsitem[]The items included in the quote
namestringA descriptive name for the quote
notesstringProspect-facing notes that will appear on the quote
netTermDaysnumberThe number of days an invoice is due by default. If 0, immediate payment is required before the order is accepted.
quoteURLstringThe URL of the quote. This is the URL that you send to the prospect.
recipientcontactThe quote recipient’s contact information, including: email address, first name, last name
recipientAddressaddressThe recipient’s address information, including: city, country, postal code, and region
statusstringThe status of the quote:
OPEN - the quote has been created
PENDING PAYMENT - the quote has been accepted, but not paid
COMPLETED - the prospect has paid the quote
CANCELED - the quote has been canceled
EXPIRED - the expiration date has passed with no payment
statusHistorystatusHistoryThe status history of the quote
tagsobjectKey-value pairs for your internal tracking. Tags are invisible to your prospect. FastSpring does not utilize your tags
taxnumberThe total tax for the quote
taxDisplaystringThe formatted display for tax
taxIdstringA tax ID for the quote
taxInPayoutCurrencynumberThe tax in the FastSpring payout currency
taxInPayoutCurrencyDisplaystringThe formatted display for taxInPayoutCurrency
totalnumberThe total for the quote
totalInPayoutCurrencynumberThe total in the FastSpring payout currency
totalInPayoutCurrencyDisplaystringthe formatted display for the totalInPayoutCurrency 
updatednumberThe date the quote was last updated. Format: YYYY-MM-DD’T’HH:MM:SS

Quote Response Example

  • {
        "id": "QU123456789ABCDEFGHIJKLMNO",
        "buyerGenerated": false,
        "coupon": null,
        "created": "2021-06-29T17:59:27.239+00:00",
        "createdBy": {
            "company": "FastSpring",
            "email": "fastspring+example@fastspring.com",
            "first": "Createdbyfirst",
            "last": "Createdbylast",
            "phone": null,
        },
        "currency": "USD",
        "discount": 0.0,
        "discountDisplay": "$0.00",
        "discountInPayoutCurrency": 0,
        "discountInPayoutCurrencyDisplay": "€0.00",
        "expires": "2021-07-29T17:59:27.239+00:00",
        "expirationDateDays": 30,
        "fulfillmentTerm": "ON_PAYMENT",
        "items": [
            {
                "product": "example-product",
                "customPrice": false,
                "display": "example product",
                "image": "https: //url.to/items/image",
                "intervalCount": null,
                "period": null,
                "periodDays": null,
                "quantity": 1,
                "renewIntoProducts": [],
                "taxes": [
                    {
                        "taxValue": 0,
                        "totalTaxable": 0
                    }
                ],
                "trialDays": null,
                "subscription": false,
                "unitCouponDiscount": 0,
                "unitCouponDiscountDisplay": "$0.00",
                "unitCouponDiscountInPayoutCurrency": 0.00,
                "unitCouponDiscountInPayoutCurrencyDisplay": "€0.00",
                "unitDiscount": 0,
                "unitDiscountDisplay": "$0.00",
                "unitDiscountInPayoutCurrency": 0.00,
                "unitDiscountInPayoutCurrencyDisplay": "€0.00",
                "unitListPrice": 100.0,
                "unitListPriceDisplay": "$100.00",
                "unitListPriceInPayoutCurrency": 84.6394,
                "unitListPriceInPayoutCurrencyDisplay": "€84.64",
                "unitPrice": 100.0,
                "unitPriceDisplay": "$100.00",
                "unitPriceInPayoutCurrency": 84.6394,
                "unitPriceInPayoutCurrencyDisplay": "€84.64",
                "unitPriceWithoutTax": 0,
                "unitPriceWithoutTaxDisplay": "$0.00",
                "unitListPriceWithoutTax": 0,
                "unitListPriceWithoutTaxDisplay": "$0.00"
            }
        ],
        "name": "Example Quote Response",
        "notes": "Default notes from the store-level settings",
        "netTermsDays": 30,
        "quoteUrl": "https://host.onfastspring.com/popup-defaultB2B/../quote/QU123456789ABCDEFGHIJKLMNO",
        "recipient": {
            "company": null,
            "email": "fastspring@example.com",
            "first": "Test",
            "last": "Customer",
            "phone": null,
        },
        "recipientAddress": {
            "addressLine1": "801 Garden St.",
            "city": "Santa Barbara",
            "country": "US",
            "postalCode": "93101",
            "region": "CA"
        }
        "siteId": "yourSiteId",
        "status": "OPEN",
        "statusHistory": [
            {
                "statusUpdatedTo": "OPEN",
                "statusUpdatedByFullName": "User Example",
                "statusUpdatedByEmail": "user@example.com",
                "statusUpdatedOn": "2021-05-09T17:59:27.239+00:00"
            }
        ],
        "subtotal": 100.0,
        "subtotalDisplay": "$100.00",
        "subtotalInPayoutCurrency": 84.6394,
        "subtotalInPayoutCurrencyDisplay": "€84.64",
        "tags": [],
        "tax": 0.0,
        "taxId": null,
        "taxType": "US Tax",
        "total": 100.0,
        "totalDisplay": "$100.00",
        "totalInPayoutCurrency": 84.6394,
        "totalInPayoutCurrencyDisplay": "€84.64",
        "updated": "2021-05-29T17:59:27.239+00:00",
    }
 

Attribute DefaultValue

Most attributes in the /quotes API have a default value assigned from the preexisting settings, products, and coupons in your FastSpring Store.

The DefaultValue is used in POST request bodies (such as creating a quote), and PUT request bodies (such as updating a quote). Attributes with a store-defined default value will be marked in the Note section for the request attributes.

For example, In the CreateQuoteRequest object, the notes, expirationDateDays, and netTermDays attributes have default values set within your store-level settings.

All attributes that have a DefaultValue associated to them are always Optional Request Attributes and should be left out of the request body if you wish to use the default value. To override an attribute’s DefaultValue, include the optional attribute in the request with a valid value.

Example: Default Notes Value

This example demonstrates using the DefaultValue configured in your store for the notes attribute in a CreateQuote request.

// "notes" attribute is missing

  • {
       ...
       "name": "A descriptive name.",
       "recipient": {...},
       ...
    }
 

// "notes" attribute set to null 

  • {
       ...
       "name": "A descriptive name.",
       "notes": null, 
       "recipient": {...},
       ...
    }

Example: Override the Default Value

The example below demonstrates overriding the DefaultValue configured in your store for the notes attribute in a CreateQuote request.

  • {
       "name": "The Quote name",
       "notes": "This value will override the default notes store-level value.",
       "recipient": {...},
       ...
    } 

Example: Override the Default Value to an Empty String

The example below demonstrates overriding your Store’s DefaultValue for the notes attribute to an empty string.

  • {
       "name": "The Quote name",
       "notes": "",
       "recipient": {...},
       ...
    }