Open Buy API Reference

The Open Buy API is designed to provide a faster, standard, and secure interface for searching and purchasing items in real-time for all suppliers.

Introduction

The Open Buy API is designed to provide a faster, standard url and secure interface for searching and purchasing items in real-time for all suppliers. It is designed to be simple and follows the common patterns that most eCommerce APIs provide.

The four core concepts in the Open Buy API include:

  • Authentication
  • Search
  • Detail
  • Checkout
Note:

The contents of page include information regarding the Open Buy API for suppliers.

For more information, buyers can see Open Buy API for Buyers (requires Coupa Enterprise account login).

Download our Open Buy schema file for use in Postman or another OpenAPI 3.0 compatible tool, or view the schema file directly in an online viewer like ReDoc.

For help working with the API, contact the Open Buy support team: openbuy-support@coupa.com.

After finishing your API development:

  • Email us your documentation at openbuy-support@coupa.com and we will share it with customers to help them get started, or

  • Send us an email to openbuy-support@coupa.com with the following information and we will create brief documentation for customers:

    • Contact email address.

      Preferred if this email is not a specific person but rather an email group in case of any questions or technical support for the API (i.e IT@xxx.com).

    • The format of your API credential.

    • Additional notes, if any.

Authentication methods

The Open Buy API may be authenticated through:

  • Username and password (similar to cXML identity/secret pair)

  • OAuth

Actions

The Open Buy API allows you to:

Table 1.
APIVerbPathActionDescription
AuthenticationPOST /authentication /v1.0.0 authenticateAuthentication with supplier site.
SearchPOST /search /v1.0.0 searchRetrieve item data based on a search query.
DetailPOST /detail /v1.0.0 detailRetrieve item data for a specific item for detailed review.
CheckoutPOST /checkout /v1.0.0 checkoutRetrieve item data for purchase.

Authentication

Table 2.
APIVerbPathActionDescription
AuthenticationPOST /authentication /v1.0.0 authenticateAuthentication with supplier site.

Example authentication request

{
	"credentials": "423j23j2j334l4s04",
	"email": "email@coupa.com"
}

Responses

Table 3.
CodeDescription
200

Token successfully retrieved. Example:

{
"token": "Bearer ABC12345"
}
400

Invalid request parameters; we were unable to attempt retrieval.

401

Unauthorized.

500

Service error during request. Please retry after some time.

Search

Table 4.
APIVerbPathActionDescription
SearchPOST /search /v1.0.0 searchRetrieve item data based on a search query.

Parameters

Table 5.
ElementDescriptionRequired Field?Unique?Allowable ValueData Type
queryThe search queryyesnoanystring
page_numberPage number for resultsnonoanynumber

Responses

Table 6.
CodeDescription
200

Search results successfully retrieved. Example:

{
	"count": 123,
	"total_count": 10000,
	"results": [
		{
			"source_part_num": 12345,
			"title": "Leather Gloves - XL",
			"thumbnail": "https://localhost/image",
			"price": 100,
			"currency": "USD",
			"uom": "EA"
		}
	]
}
400

Invalid request parameters; we were unable to attempt retrieval.

401

Unauthorized.

500

Service error during request. Please retry after some time.

Detail

Table 7.
APIVerbPathActionDescription
DetailPOST /detail /v1.0.0 detailRetrieve item data for a specific item for detailed review.

Parameters

Table 8.
ElementDescriptionRequired Field?Unique?Allowable ValueData Type
item_idThe unique item IDyesnoanystring

Responses

Table 9.
CodeDescription
200

Item successfully retrieved

{
	"source_part_num": 12345,
	"title": "Leather Gloves - XL",
	"image": "https://localhost/image",
	"price": 100,
	"currency": "USD",
	"uom": "EA"
}
400

Invalid request parameters; we were unable to attempt retrieval.

401

Unauthorized

500

Service error during request. Please retry after sometime

Checkout

Table 10.
APIVerbPathActionDescription
CheckoutPOST /checkout /v1.0.0 checkoutRetrieve item data for purchase.

Parameters

Table 11.
ElementDescriptionRequired Field?Unique?Allowable ValueData Type
item_idThe unique item IDyesyesanystring
quantityQuantitynonoanystring

Responses

Table 12.
CodeDescription
200

Item successfully retrieved

{
	"source_part_num": 12345,
	"title": "Leather Gloves - XL",
	"image": "https://localhost/image",
	"price": 100,
	"currency": "USD",
	"uom": "EA"
}
400

Invalid request parameters; we were unable to attempt retrieval.

401

Unauthorized

500

Service error during request. Please retry after sometime

Open Buy API schema

Authentication Request

The credentials and email to retrieve an access token.

Table 13.
ElementDescriptionRequired Field?Data Type
credentials

Supplier-specific string to authorize the session. Examples include a refresh token, user and password, or an authorization key.

nostring
email

Email of user

nostring

Authentication Result

The result of a request for authentication

Table 14.
ElementDescriptionRequired Field?Data Type
token

The bearer token

nostring

Extra Item Details

Name value pairs

Table 15.
ElementDescriptionRequired Field?Data Type
nameNamenostring
valueValuenostring

Search Results

The result of a search request

Table 16.
ElementDescriptionRequired Field?Data Type
count

Count of search

yesinteger
total_countApproximate total number in catalognointeger
resultsResultsno

Item Result (see table below)

Item Result

Thee result of a request for item data

Table 17.
ElementDescriptionRequired Field?Data Type
item_id

Unique item id

nostring
source_part_num

The supplier part number

nostring
titlestring

The title of the item

nostring
typestring

Item Type (item, group). Group represents a parent of purchasable items.

nostring
image

A URL to the item image

nostring
thumbnail

Thumbnail of product

nostring
price

Price

nonumber
currency

Currency

nostring
listPrice

List price

nonumber
uom

Price

nostring
summary

Detail description about the item

nostring
manufacturer_name

Manufacturer name

nostring
manufacturer_part_num

Manufacturer part number

nostring
source_part_auxiliary_id

Supplier aux part number

nostring
unspsc

UNSPSC

nostring
leadtime

Lead time

nostring
min_order_quantity

Minimal order quantity

nonumber
max_order_quantityMax order quantitynonumber
order_increment_quantity

Order increment number

nonumber
quantity

Quantity for checkout

nonumber
tableDetailsColumns to display if shown in a tablenostring
detailsDetailsnoExtra Item Details (see table above)
detaillinksDetail LinksnoExtra Item Details (see table above)
detailimagesDetail ImagesnoExtra Item Details (see table above)