Quote Requests API

Use the quote requests API to create, and manage and view your sourcing events.

Actions

For more endpoints associated with Quote Request attachments and tasks, see the Attachments API and the Task API.

Verb Path Action Description
POST /api/quote_requests createCreate a Sourcing event
POST /api/quote_requests/create_from_source create_from_sourceCreate Sourcing event from Requisition, Contract, Catalog, Order pad, Order lines, Invoice lines, and items
GET /api/quote_requests indexReturns all Sourcing events
GET /api/quote_requests/:id showGet information about the particular event
PUT /api/quote_requests/:id updateUpdate a Sourcing event.

Elements

Element Description Req'd Unique Allowable Value In Out Data Type
allow-award-individual-line-itemsAbility to award individual line itemsyesyesboolean
allow-multiple-responseAllow multiple responses from one supplieryesyesboolean
attachmentsAttachments - there can be event details, terms and conditions, regular attachmentsyesyes Attachment
automatic-bid-unsealingIf checked, bids will be unsealed automaticallytrue, falseyesyesboolean
business-partnersBusiness partnersyesyes Quote Requests User
commentsCommentsyesyestext
commodityCommodityyesyes Commodity
content-groupsContent Groupsyesyes Period
currencyCurrencyyesyes Currency
custom-fieldsCustom fieldsyes
exportedIndicates if event has been exportedyesboolean
descriptionEvent nameyesyestext
easy-formsFormsnonoanyyesyes Form
end-timeTime when event should end, format: %m/%d/%y %I:%M %p %zyesyesdatetime
event-typeType of eventyesyesyesstring(255)
hiddenIs true if the event is a hidden eventyesyesboolean
idCoupa unique identifieryesinteger
formsForms (deprecated in R23; replaced by easy-forms)yesyes Form
linesLinesyesyes Quote Request Line
lotsLotsyesyes Quote Requests Lot
quote-request-attachmentsQuote request attachmentsyesyes Quote Request Attachment
quote-suppliersQuote suppliersyesyesQuote Supplier
revisionRevisionyesstring(255)
response-statusResponse status of the supplier response (e.g., Awarded, Not Awarded, Disqualified, Promoted to Next Stage)yesyesQuote Response Status
sealed-bidsIf checked, bids will be sealedyesyesboolean
sealing-typeSealing type ('one_step_unsealing' or 'two_steps_unsealing') should be selected when Unseal Manually option is chosenone_step_unsealing, two_steps_unsealingyesyesinteger
sealing-stageSealing Stageall_envelopes_sealed, envelope1_unsealed, envelope2_unsealedyesinteger
start-on-submitFlag that indicates whether to start event on submit or notyesyesboolean
start-timeTime when event should start, format: %m/%d/%y %I:%M %p %zyesyesdatetime
stateStateyesstring(255)
tagsTagsyesyes Tag
template-idTemplate IDyesinteger
timezoneEvent timezoneyesyesstring(255)
base_price_calculation_methodBase price calculation method ('average_of_supplier_responses', 'lowest_supplier_response_in_prebid' or 'manually_enter_base_prices') allows to understand the method by which the base price will be calculatedyesyesinteger
cost_avoidanceCost avoidanceyesyesdecimal(30,4)
cost_avoidance_currencyCost Avoidance Currencyyesyes Currency
creatable-from-idCreatable From Object IDyesinteger
creatable-from-typeCreatable From Object Typeyesstring(255)
created-atAutomatically created by Coupa in the format YYYY-MM-DDTHH:MM:SS+HH:MMZyesdatetime
created-byUser who createdyes User
planned_savingsPlanned savingsyesyesdecimal(30,6)
planned-savings-currencyPlanned Savings Currencyyesyes Currency
negotiated_savingsAlias of savings to be used as a key in APIyesyesdecimal(32,4)
negotiated-savings-currencyNegotiated Savings Currencyyesyes Currency
original-idCoupa unique identifier for original eventyesinteger
allow_supplier_to_send_attachmentsIf set to true by the buyer, the supplier is allowed to send attachments in the message centeryesyesboolean
submit-timeTime when event should be submitted, format: %m/%d/%y %I:%M %p %z. Default time: noneyesyesdatetime
updated-atAutomatically created by Coupa in the format YYYY-MM-DDTHH:MM:SS+HH:MMZyesdatetime
updated-byUser who updatedyes User
quote-messageMessages sent or received by the buyer.yes QuoteMessage
allow-suppliers-to-choose-currencyIf set to true, then the supplier is allowed to choose from the list of quote request currenciesyesyesboolean
quote-request-currenciesQuote Request Currencies - List of currencies for the quote requestyesyes QuoteRequestCurrency

Create an event from a template or an existing sourcing event

Method
POST /api/quote_requests
Example request payload
{
    "source_id": 105, // Id of the template or existing event
    "description": "New name for the event",
    "commodity": {
        "id": 9
    },
    "currency": {"id": 1},
    "lines": [
        {
            "description": "New item to be added to event",
            "type": "QuoteRequestQuantityLine",
            "quantity": 10
        }
    ],
    "quote_request_attachments":[
        {
            "name": "Attachmet One", 
            "instruction": "Some dummy instruction", 
            "response_required": true, 
            "allow_to_respond": true
        }
    ]
}
Example cURL request
curl --location 'https://<your-instance>.com/api/quote_requests' \
--header 'Accept: application/xml' \
--header 'Accept: application/json' \
--header 'Accept: application/octet-stream' \
--header 'Content-Type: text/plain' \
--header 'Authorization: ••••••' \
--data '{
    "source_id": 105, // Id of the template or existing event
    "description": "New name for the event",
    "commodity": {
        "id": 9
    },
    "currency": {"id": 1},
    "lines": [
        {
            "description": "New item to be added to event",
            "type": "QuoteRequestQuantityLine",
            "quantity": 10
        }
    ],
    "quote_request_attachments":[
        {
            "name": "Attachmet One", 
            "instruction": "Some dummy instruction", 
            "response_required": true, 
            "allow_to_respond": true
        }
    ]
}'

Create an event with multiple currencies

Method
POST /api/quote_requests
Example request payload
{
    "source_id": 108,
    "description": "New name for the event",
    "commodity": {
        "id": 9
    },
    "currency": {"id": 1},
    "allow_suppliers_to_choose_currency": true,
    "quote_request_currencies": [
        {
            "from_currency": {"code": "INR"},
            "rate": 10
        }
    ],
    "lines": [
        {
            "description": "New item to be added to event",
            "type": "QuoteRequestQuantityLine",
            "quantity": 10
        }
    ]
}
Example cURL request
curl --location 'https://<your-instance>/api/quote_requests' \
--header 'Accept: application/xml' \
--header 'Accept: application/json' \
--header 'Accept: application/octet-stream' \
--header 'Content-Type: text/plain' \
--header 'Authorization: ••••••' \
--data '{
    "source_id": 108,
    "description": "New name for the event",
    "commodity": {
        "id": 9
    },
    "currency": {"id": 1},
    "allow_suppliers_to_choose_currency": true,
    "quote_request_currencies": [
        {
            "from_currency": {"code": "INR"},
            "rate": 10
        }
    ],
    "lines": [
        {
            "description": "New item to be added to event",
            "type": "QuoteRequestQuantityLine",
            "quantity": 10
        }
    ]
}'