Market API
Use the Market API's to create, update, or query the Market Data. This includes specific endpoints to take action (create/update/delete) as well as events related to markets.
The URL to access the API's is : https://<instance>.cso.coupahost.com/api/markets
See Integration Best Practices for more info.
Actions
Verb |
Path |
Action |
Description |
---|---|---|---|
GET |
|
index |
Performs Get action to retrieve all markets |
POST |
|
create |
Creates one or more market objects. |
PUT |
|
update |
Updates one or more markets . Can perform mass updates. |
DELETE |
|
delete |
Deletes one more more markets. Can perform mass deletes. |
GET |
|
show |
Show one market data. |
PUT |
|
update |
Update one market at a time using the ID |
DELETE |
|
delete |
Delete one market at a time. |
Elements
These are the elements available for the Markets API
Field Name |
Field Description |
Req'd |
Unique? |
Allowable Values |
In |
Out |
Type |
---|---|---|---|---|---|---|---|
id |
A unique auto incremental, system generated ID |
yes |
integer |
||||
name |
Name of the market |
Yes |
yes |
yes |
string |
||
description |
Short description of the market |
yes |
yes |
string |
Examples
In this example, we queried for a markets API. We did a GET to the URL:
https://<instance>.cso.coupahost.com/api/markets
Markets GET Response
{
"total": 10,
"markets": [
{
"id": "9219601763469521167",
"name": "!Bank of Montreal Savings Tracker Demo"
},
{
"id": "9219595277140974408",
"name": "!JIRA-Tickets"
},
{
"id": "9219593060488131385",
"name": "!Market 1",
"description": "Logistics and Transportation"
},
{
"id": "9220538753220565326",
"name": "Arj Market 1",
"description": "XPO logistics"
},
{
"id": "9220538753220565329",
"name": "Arj Market 2",
"description": "XPO Transportation"
},
{
"id": "9219592846040196615",
"name": "Common Information"
},
{
"id": "9219593864376360801",
"name": "Consulting"
},
{
"id": "9219601774059719348",
"name": "D - Nikisha's Demo Market"
},
{
"id": "9219601938334799391",
"name": "E-Integrations"
},
{
"id": "9219601936493380282",
"name": "E-Top Tips to Audit Events"
}
]
}
Create/Update/Delete
The following describes how you can use the Coupa API to perform actions on Markets.
Create
/api/markets
The below payload creates two markets.
Payload:
{
"markets": [
{
"name": "Arjun Market 1",
"description": "XPO logistics"
},
{
"name": "Arjun Market 2",
"description": "XPO Transportation"
}
]
}
Response: 201
{
"result": [
{
"type": "api.post.added",
"description": "2 objects created."
}
],
"added": 2,
"markets": [
{
"id": "9220538753220565326"
},
{
"id": "9220538753220565329"
}
]
}
Update
/api/markets
The below payload updates a market.
To update one or more market at a time:
Payload:
{
"markets": [
{
"name": "Arj Market 1",
"description": "XPO logistics updated"
},
{
"name": "Arj Market 2",
"description": "XPO Transportation updated"
}
]
}
Response: 200 OK
{
"result": [
{
"type": "api.put.updated",
"description": "2 objects updated."
}
],
"updated": 2
}
Delete
/api/markets
The below payload is to delete more than one market at a time. Please remember that deleting markets individually or mass , will result in deletion of associated events as well.
Payload:
{
"markets": [
{
"id": "9220538753220565326"
},
{
"name": "Arjun Market 2"
}
]
}
Response: 200 OK
{
"result": [
{
"type": "market.deleted.logMsg",
"description": "The market Arjun Market 1 was deleted."
}
],
"deleted": 1
}
Successful requests
will return HTTP 200 Response
. The body of the response will include the
created requisition. Unsuccessful requests will return
HTTP 400 Bad
Request
. The body of the response will include validation errors formatted as XML.