Margin Service API - REST
See the following Representation State Transfer (REST) methods and error codes:
Portfolio
Use Case | Path | Method | Request Headers | Post Data |
|---|---|---|---|---|
Add Portfolio | /MarginServiceApi/portfolios | POST | 'username' AND 'password' | <?xml version="1.1" encoding="UTF-8" standalone="yes"?>
<ns2:portfolioReq xmlns:ns2="http://cmegroup.com/schema/core/1.2">
<portfolio desc="My Desc" name="My Name" rptCcy="AUD" id="0">
<entities clrMbrFirmId="My Firm" custAcctId="My Account"/>
</portfolio>
</ns2:portfolioReq> |
Get Portfolio | /MarginServiceApi/portfolios/{portfolioId} | GET | 'username' AND 'password' |
|
Update Portfolio | /MarginServiceApi/portfolios/{portfolioId} | PUT | 'username' AND 'password' | <?xml version="1.1" encoding="UTF-8" standalone="yes"?>
<ns2:portfolioReq xmlns:ns2="http://cmegroup.com/schema/core/1.2">
<portfolio id="{portfolioId}" desc="My New Desc" name="My New Name" rptCcy="AUD">
<entities clrMbrFirmId="My New Firm" custAcctId="My New Account"/>
</portfolio>
</ns2:portfolioReq> |
Delete Portfolio | /MarginServiceApi/portfolios/{portfolioId} | DELETE | 'username' AND 'password' |
|
List All Portfolios | /MarginServiceApi/portfolios/ | GET | 'username' AND 'password' |
|
Margin
Use Case | Path | Method | Request Headers | Post Data |
|---|---|---|---|---|
Request Margin Calculation | /MarginServiceApi/margins | POST | 'username' AND 'password' | <?xml version="1.1" encoding="UTF-8"?>
<core:marginReq xmlns:core="http://cmegroup.com/schema/core/1.2">
<margin portfolioId="{portfolioId}">
<amounts ccy="AUD" conc="0.0" init="0.0" maint="0.0" nonOptVal="0.0" optVal="0.0"/>
</margin>
</core:marginReq> |
Get Margin Status/Result | /MarginServiceApi/margins/{marginId} | GET | 'username' AND 'password' |
|
Transaction
Use Case | Path | Method | Request Headers | Post Data |
|---|---|---|---|---|
Get Transaction | /MarginServiceApi/transactions/{transactionId} | GET | 'username' AND 'password' |
|
Delete Transaction | /MarginServiceApi/transactions/{transactionId} | DELETE | 'username' AND 'password' |
|
Delta Ladders
Use Case | Path | Method | Request Headers | Post Data |
|---|---|---|---|---|
Add Transaction | /MarginServiceApi/transactions | POST | 'username' AND 'password' | <?xml version="1.1" encoding="UTF-8" standalone="yes"?>
<ns2:transactionReq xmlns:ns2="http://cmegroup.com/schema/core/1.2" reqUserId="ak">
<transaction portfolioId="{portfolioId}" type="DELTA_LADDER" id="{transactionid}">
<payload encoding="STRING" format="CSV">
<string>
Value Date,CMF,PB Account,Curve Name,Currency,91D,183D,274D,365D,457D,548D,639D,731D,1096D,1461D,1826D,2192D,2557D,2922D,3287D,3653D,4383D,5479D,7305D,9131D,10958D,14610D,18263D
10/24/2013,test1,999,AUD_BBSW_6M_ERS,,32.0105455,64.58305936,31.13621844,20.35769193,15.41416217,96.80729233,75.32927274,25.67151709,24.23397357,0.687566587,9.694415416,58.80629205,31.95172325,15.3822619,79.15949202,32.98592737,94.26023515,17.7372275,20.18054008,15.11060597,42.29062295,33,44
</string>
</payload>
</transaction>
</ns2:transactionReq> |
Update Transaction | /MarginServiceApi/transactions/{transactionId} | PUT | 'username' AND 'password' | <?xml version="1.1" encoding="UTF-8" standalone="yes"?>
<ns2:transactionReq xmlns:ns2="http://cmegroup.com/schema/core/1.2" reqUserId="ak">
<transaction portfolioId="0" type="DELTA_LADDER" id="{transactionId}">
<payload encoding="STRING" format="CSV">
<string>
Value Date,CMF,PB Account,Curve Name,Currency,91D,183D,274D,365D,457D,548D,639D,731D,1096D,1461D,1826D,2192D,2557D,2922D,3287D,3653D,4383D,5479D,7305D,9131D,10958D,14610D,18263D
01/01/2011,UPDATE,UPDATE,AUD_BBSW_6M_ERS,,32.0105455,64.58305936,31.13621844,20.35769193,15.41416217,96.80729233,75.32927274,25.67151709,24.23397357,0.687566587,9.694415416,58.80629205,31.95172325,15.3822619,79.15949202,32.98592737,94.26023515,17.7372275,20.18054008,15.11060597,42.29062295,33,44
</string>
</payload>
</transaction>
</ns2:transactionReq> |
Futures
Use Case | Path | Method | Request Headers | Post Data |
|---|---|---|---|---|
Add Transaction | /MarginServiceApi/transactions | POST | username' AND 'password' | <?xml version="1.1" encoding="UTF-8" standalone="yes"?>
<ns2:transactionReq xmlns:ns2="http://cmegroup.com/schema/core/1.2" reqUserId="ak">
<transaction portfolioId="{portfolioId}" type="TRADE" id="{transactionId}">
<payload encoding="STRING" format="CSV">
<string>
Firm Id,Acct Id,Exchange,Ticker Symbol,Product Name,CC Code,Period Code,Put / Call,Strike,Underlying Period Code,Net Positions,Margin Type
TED,1234,CME,,,ED,201906,,,,100,FUT
TED,1234,CME,,,ED,201909,,,,100,FUT
TED,1234,CME,,,ED,201912,,,,100,FUT
TED,1234,CME,,,ED,202003,,,,100,FUT
</string>
</payload>
</transaction></ns2:transactionReq> |
Update Transaction | /MarginServiceApi/transactions/{transactionId} | PUT | username' AND 'password' | <?xml version="1.1" encoding="UTF-8" standalone="yes"?>
<ns2:transactionReq xmlns:ns2="http://cmegroup.com/schema/core/1.2" reqUserId="ak">
<transaction portfolioId="0" type="TRADE" id="{transactionId}">
<payload encoding="STRING" format="CSV">
<string>
Firm Id,Acct Id,Exchange,Ticker Symbol,Product Name,CC Code,Period Code,Put / Call,Strike,Underlying Period Code,Net Positions,Margin Type
Test,UPDATE,CME,,,ED,201906,,,,100,FUT
</string>
</payload>
</transaction>
</ns2:transactionReq>
|
Options
Use Case | Path | Method | Request Headers | Post Data |
|---|---|---|---|---|
Add Transaction | /MarginServiceApi/transactions | POST | username' AND 'password' | <?xml version="1.1" encoding="UTF-8" standalone="yes"?>
<ns2:transactionReq xmlns:ns2="http://cmegroup.com/schema/core/1.2" reqUserId="ak">
<transaction portfolioId="{portfolioId}" type="TRADE" id="{transactionId}">
<payload encoding="STRING" format="CSV">
<string>
Firm Id,Acct Id,Exchange,Ticker Symbol,Product Name,CC Code,Period Code,Put / Call,Strike,Underlying Period Code,Net Positions,Margin Type
Test,123,CME,GEH7 C9200,,ED,201703,CALL,92,201703,10,
Test,123,NYMEX,LM1M6 P6200,,LM1,201606,PUT,62,201706,25,
</string>
</payload>
</transaction>
</ns2:transactionReq> |
Update Transaction | /MarginServiceApi/transactions/{transactionId} | PUT | username' AND 'password' | <?xml version="1.1" encoding="UTF-8" standalone="yes"?>
<ns2:transactionReq xmlns:ns2="http://cmegroup.com/schema/core/1.2" reqUserId="ak">
<transaction portfolioId="0" type="TRADE" id="{transactionId}">
<payload encoding="STRING" format="CSV">
<string>
Firm Id,Acct Id,Exchange,Ticker Symbol,Product Name,CC Code,Period Code,Put / Call,Strike,Underlying Period Code,Net Positions,Margin Type
Test,UPDATE,CME,GEH7 C9200,,ED,201703,CALL,92,201703,10,
</string>
</payload>
</transaction>
</ns2:transactionReq> |
Interest Rate Swaps
Use Case | Path | Method | Request Headers | Post Data |
|---|---|---|---|---|
Add Transaction | /MarginServiceApi/transactions | POST | username' AND 'password' | <?xml version="1.1" encoding="UTF-8" standalone="yes"?>
<ns2:transactionReq xmlns:ns2="http://cmegroup.com/schema/core/1.2" reqUserId="ak">
<transaction portfolioId="{portfolioId}" type="TRADE" id="{transactionId}">
<payload encoding="STRING" format="CSV">
<string>
Firm ID,Account ID,Product Type ,Currency,Effective Date,Maturity Date,Notional,Direction,Fixed Rate
TEST,1234,FRA,EUR,9/16/2016,12/16/2016,125000,R,0.05
TEST,1234,OIS,GBP,11/21/2017,7/22/2022,1000000,P,0.05
TEST,1234,Vanilla,CAD,6/18/2016,6/18/2045,20000,P,0.05
TEST,1234,Vanilla,USD,6/6/2017,6/6/2027,2050000,R,0.05
TEST,4567,ZERO_COUPON,EUR,9/17/2017,9/17/2037,25000,P,0.05
TEST,4567,ZERO_COUPON,USD,12/15/2017,12/15/2027,50000,R,0.05
</string>
</payload>
</transaction>
</ns2:transactionReq> |
Update Transaction | /MarginServiceApi/transactions/{transactionId} | PUT | username' AND 'password' | <?xml version="1.1." encoding="UTF-8" standalone="yes"?>
<ns2:transactionReq xmlns:ns2="http://cmegroup.com/schema/core/1.2" reqUserId="ak">
<transaction portfolioId="0" type="TRADE" id="{transactionId}">
<payload encoding="STRING" format="CSV">
<string>
Firm ID,Account ID,Product Type ,Currency,Effective Date,Maturity Date,Notional,Direction,Fixed Rate
TEST,UPDATE,FRA,USD,9/16/2016,12/16/2016,125000,R,0.05
</string>
</payload>
</transaction>
</ns2:transactionReq> |
Forwards
Use Case | Path | Method | Request Headers | Post Data |
|---|---|---|---|---|
Add Transaction | /MarginServiceApi/transactions | POST | username' AND 'password' | <?xml version="1.1" encoding="UTF-8" standalone="yes"?>
<ns2:transactionReq xmlns:ns2="http://cmegroup.com/schema/core/1.0" reqUserId="ak">
<transaction portfolioId="{portfolioId}" type="TRADE" id="">
<payload encoding="STRING" format="FIXML">
<string>
<FIXML xmlns="www.cmegroup.com/fixml50/1"> <TrdCaptRpt LastQty="4">
<Instrmt Exch="CME" SecTyp="FWD" ID="USDCAD" MMY="20130508" />
<RptSide Side="2"> <Pty R="4" ID="123" /><Pty R="24" ID="CUSTACCT1" /> </RptSide> </TrdCaptRpt></FIXML>
</string>
</payload>
</transaction>
</ns2:transactionReq> |
Update Transaction | /MarginServiceApi/transactions/{transactionId} | PUT | username' AND 'password' | <?xml version="1.1" encoding="UTF-8" standalone="yes"?>
<ns2:transactionReq xmlns:ns2="http://cmegroup.com/schema/core/1.0" reqUserId="ak">
<transaction portfolioId="{portfolioId}" type="TRADE" id="{transactionId}">
<payload encoding="STRING" format="FIXML">
<string>
<FIXML xmlns="www.cmegroup.com/fixml50/1"> <TrdCaptRpt LastQty="4">
<Instrmt Exch="CME" SecTyp="FWD" ID="USDCAD" MMY="20130508" />
<RptSide Side="2"> <Pty R="4" ID="123" /><Pty R="24" ID="CUSTACCT1" /> </RptSide> </TrdCaptRpt></FIXML>
</string>
</payload>
</transaction>
</ns2:transactionReq> |
Multiple Trades
Use Case | Path | Method | Request Headers | Post Data |
|---|---|---|---|---|
Add Transaction | /MarginServiceApi/transactions | POST | username' AND 'password' | ?xml version="1.1" encoding="UTF-8"
standalone="yes"?>
<ns2:transactionReq xmlns:ns2="http://cmegroup.com/schema/core/1.2"
reqUserId="ak">
<transaction portfolioId="10353741"
type="TRADE" id="{transactionId}">
<payload encoding="STRING" format="CSV">
<string>
Firm Id,Acct Id,Exchange,Ticker Symbol,Product Name,CC Code,Period
Code,Put / Call,Strike,Underlying Period Code,Net Positions,Margin Type
TED,1234,CME,,,ED,201906,,,,100,FUT
TED,1234,CME,,,ED,201909,,,,100,FUT
TED,1234,CME,,,ED,201912,,,,100,FUT
TED,1234,CME,,,ED,202003,,,,100,FUT
</string>
</payload>
</transaction>
<transaction portfolioId="10353741" type="TRADE"
id="{transactionId}">
<payload encoding="STRING" format="CSV">
<string>
Firm Id,Acct Id,Exchange,Ticker Symbol,Product Name,CC Code,Period
Code,Put / Call,Strike,Underlying Period Code,Net Positions,Margin Type
TED,1234,CME,,,ED,201906,,,,100,IRS
TED,1234,CME,,,ED,201909,,,,100,IRS
TED,1234,CME,,,ED,201912,,,,100,IRS
TED,1234,CME,,,ED,202003,,,,100,IRS
</string>
</payload>
</transaction>
</ns2:transactionReq> |
Update Transaction | /MarginServiceApi/transactions/{transactionId} | PUT | username' AND 'password' | ?xml version="1.1" encoding="UTF-8"
standalone="yes"?>
<ns2:transactionReq xmlns:ns2="http://cmegroup.com/schema/core/1.2"
reqUserId="ak">
<transaction portfolioId="10353741"
type="TRADE" id="{transactionId}">
<payload encoding="STRING" format="CSV">
<string>
Firm Id,Acct Id,Exchange,Ticker Symbol,Product Name,CC Code,Period
Code,Put / Call,Strike,Underlying Period Code,Net Positions,Margin Type
TED,UPDATE,CME,,,ED,201906,,,,100,FUT
TED,UPDATE,CME,,,ED,201909,,,,100,FUT
TED,UPDATE,CME,,,ED,201912,,,,100,FUT
TED,UPDATE,CME,,,ED,202003,,,,100,FUT
</string>
</payload>
</transaction>
<transaction portfolioId="10353741" type="TRADE"
id="{transactionId}">
<payload encoding="STRING" format="CSV">
<string>
Firm Id,Acct Id,Exchange,Ticker Symbol,Product Name,CC Code,Period
Code,Put / Call,Strike,Underlying Period Code,Net Positions,Margin Type
TED,1234,CME,,,ED,201906,,,,100,IRS
TED,1234,CME,,,ED,201909,,,,100,IRS
TED,1234,CME,,,ED,201912,,,,100,IRS
TED,1234,CME,,,ED,202003,,,,100,IRS
</string>
</payload>
</transaction>
</ns2:transactionReq> |
Error Codes
Code | Description | Request | Example Message |
|---|---|---|---|
400 | Bad XML syntax or missing content More information will be provided in the error message. | Calculate Margin | <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:marginRpt
xmlns:ns2="http://cmegroup.com/schema/core/1.2" status="ERROR">
<error code="400" msg="Portfolio ID [123] was not found."/>
</ns2:marginRpt> |
403 | The user does not have permission to perform calculations on the analytic | Add Transaction | <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:transactionRpt
xmlns:ns2="http://cmegroup.com/schema/core/1.2" status="ERROR">
<error code="403" msg="Access denied. User does not have permission to execute action on the submitted trades."/>
</ns2:transactionRpt> |
404 | The requested portfolio/transaction/margin could not be found. | Get Portfolio | <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:portfolioRpt
xmlns:ns2="http://cmegroup.com/schema/core/1.2" status="ERROR">
<error code="404" msg="Portfolio ID [123] was not found."/>
</ns2:portfolioRpt> |
Get Margin | <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:marginRpt
xmlns:ns2="http://cmegroup.com/schema/core/1.2" status="ERROR">
<error code="404" msg="Margin ID was not found."/>
</ns2:marginRpt> | ||
500 | The server was not able to process the request or if validation errors exist. More information (if available) will be provided in the error message. | Add Portfolio | <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:portfolioRpt
xmlns:ns2="http://cmegroup.com/schema/core/1.2"
status="ERROR">
<error msg="Internal API error. Error ID:
MP52trfB3vvy" code="500"/>
</ns2:portfolioRpt> |
Add Transaction | <?xml version="1.0"
encoding="UTF-8"
standalone="yes"?><ns2:transactionRpt
xmlns:ns2="http://cmegroup.com/schema/core/1.2"
status="ERROR"><error msg="Internal API error. Error ID:
k8jeBfA3nU4m" code="500"/></ns2:transactionRpt> | ||
Calculate Margin | <?xml version="1.0"
encoding="UTF-8" standalone="yes"?><ns2:marginRpt
xmlns:ns2="http://cmegroup.com/schema/core/1.2"><error
msg="72013111: Error message text goes here"
code="500"/></ns2:marginRpt>In the above example, 72013111 represents the transaction id that had the validation error. | ||
Get Margin | <?xml version="1.0"
encoding="UTF-8" standalone="yes"?><ns2:marginRpt
xmlns:ns2="http://cmegroup.com/schema/core/1.2"><error
msg="marginRpt id=3970 Error: ErrorMsg Text"
code="500"/></ns2:marginRpt> |
How was your Client Systems Wiki Experience? Submit Feedback
Copyright © 2024 CME Group Inc. All rights reserved.