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
}
Updates are done in a lenient manner, i.e. if updating one resource fails, the other ones might be successful. See delete payload above for example. The payload deleted only one market. For deletion or updates, an ID is required in the payload.
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.