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, 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:
For information on how the Open Buy API affects customers and buyers, see Open Buy API for Buyers.
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:
API | Verb | Path | Action | Description |
---|---|---|---|---|
Authentication | POST | /authentication |
authenticate | Authentication with supplier site |
Search | POST | /search |
search | Retrieve item data based on a search query |
Detail | POST | /detail |
detail | Retrieve item data for a specific item for detailed review |
Checkout | POST | /checkout |
checkout | Retrieve item data for purchase |
Authentication
API | Verb | Path | Action | Description |
---|---|---|---|---|
Authentication | POST | /authentication |
authenticate | Authentication with supplier site |
Example authentication request
{
"credentials": "423j23j2j334l4s04",
"email": "email@coupa.com"
}
Responses
Code | Description |
---|---|
200 |
Token successfully retrieved
|
400 |
Invalid request parameters; we were unable to attempt retrieval. |
401 |
Unauthorized |
500 |
Service error during request. Please retry after sometime |
Search
API | Verb | Path | Action | Description |
---|---|---|---|---|
Search | POST | /search |
search | Retrieve item data based on a search query |
Parameters
Element | Description | Required Field? | Unique? | Allowable Value | Data Type |
---|---|---|---|---|---|
query | The search query | yes | no | any | string |
page_number | Page number for results | no | no | any | number |
Responses
Code | Description |
---|---|
200 |
Search results successfully retrieved
|
400 |
Invalid request parameters; we were unable to attempt retrieval. |
401 |
Unauthorized |
500 |
Service error during request. Please retry after sometime |
Detail
API | Verb | Path | Action | Description |
---|---|---|---|---|
Detail | POST | /detail |
detail | Retrieve item data for a specific item for detailed review |
Parameters
Element | Description | Required Field? | Unique? | Allowable Value | Data Type |
---|---|---|---|---|---|
item_id | The unique item ID | yes | no | any | string |
Responses
Code | Description |
---|---|
200 |
Item successfully retrieved
|
400 |
Invalid request parameters; we were unable to attempt retrieval. |
401 |
Unauthorized |
500 |
Service error during request. Please retry after sometime |
Checkout
API | Verb | Path | Action | Description |
---|---|---|---|---|
Checkout | POST | /checkout |
checkout | Retrieve item data for purchase |
Parameters
Element | Description | Required Field? | Unique? | Allowable Value | Data Type |
---|---|---|---|---|---|
item_id | The unique item ID | yes | yes | any | string |
quantity | Quantity | no | no | any | string |
Responses
Code | Description |
---|---|
200 |
Item successfully retrieved
|
400 |
Invalid request parameters; we were unable to attempt retrieval. |
401 |
Unauthorized |
500 |
Service error during request. Please retry after sometime |
Open Buy API schemas
Authentication Request
The credentials and email to retrieve an access token.
Element | Description | Required Field? | Data Type |
---|---|---|---|
credentials |
Supplier-specific string to authorize the session. Examples include a refresh token, user and password, or an authorization key. |
no | string |
Email of user |
no | string |
Authentication Result
The result of a request for authentication
Element | Description | Required Field? | Data Type |
---|---|---|---|
token |
The bearer token |
no | string |
Extra Item Details
Name value pairs
Element | Description | Required Field? | Data Type |
---|---|---|---|
name | Name | no | string |
value | Value | no | string |
Search Results
The result of a search request
Element | Description | Required Field? | Data Type |
---|---|---|---|
count |
Count of search |
yes | integer |
total_count | Approximate total number in catalog | no | integer |
results | Results | no | Item Result |
Item Result
Thee result of a request for item data
Element | Description | Required Field? | Data Type |
---|---|---|---|
item_id |
Unique item id |
no | string |
source_part_num |
The supplier part number |
no | string |
title | string
The title of the item |
no | string |
type | string
Item Type (item, group). Group represents a parent of purchasable items. |
no | string |
image |
A URL to the item image |
no | string |
thumbnail |
Thumbnail of product |
no | string |
price |
Price |
no | number |
currency |
Currency |
no | string |
listPrice |
List price |
no | number |
uom |
Price |
no | string |
summary |
Detail description about the item |
no | string |
manufacturer_name |
Manufacturer name |
no | string |
manufacturer_part_num |
Manufacturer part number |
no | string |
source_part_auxiliary_id |
Supplier aux part number |
no | string |
unspsc |
UNSPSC |
no | string |
leadtime |
Lead time |
no | string |
min_order_quantity |
Minimal order quantity |
no | number |
max_order_quantity | Max order quantity | no | number |
order_increment_quantity |
Order increment number |
no | number |
quantity |
Quantity for checkout |
no | number |
tableDetails | Columns to display if shown in a table | no | string |
details | Details | no | Extra Item Details |
detaillinks | Detail Links | no | Extra Item Details |
detailimages | Detail Images | no | Extra Item Details |