CME AMS API Inline Credit Controls Specifications

These specifications are for Inline Credit Controls. CME Direct and CME ClearPort specifications are located here.

Contents

User Firms and Services 

Returns results for all clearing firms, and Account management services that the customer has access to.

MethodGET
URL_/v#/myFirms/
URL ParametersNone
Pagination Enabled?No
HATOAS Links

Links to retrieve permissioned accounts by service:

  • Retrieve CMED Accounts
  • Retrieve CPC Accounts
  • Retrieve ICC Accounts

Example Return Message for ICC

{
  "entitlements": [
    {
      "service": "CPC",
      "clearingFirms": [
        {
          "firmName": "GREENTEA_API_CLEARING2",
          "firmLongName": "GREENTEA_API_CLEARING2",
          "clearingId": "780"
        }
      ]
    },
    {
      "service": "CMED",
      "clearingFirms": [
        {
          "firmName": "GREENTEA_API_CLEARING2",
          "firmLongName": "GREENTEA_API_CLEARING2",
          "clearingId": "780"
        }
      ]
    },
    {
      "service": "ICC",
      "clearingFirms": [
        {
          "firmName": "GREENTEA_API_CLEARING2",
          "firmLongName": "GREENTEA_API_CLEARING2",
          "clearingId": "780"
        }
      ]
    }
  ],
  "links": [
    {
      "rel": "Retrieve CMED Accounts",
      "href": "Eligible Products and Permissioned Products for an Account/v#/accounts/clearing/CMED/GREENTEA_API_CLEARING2"
    },
    {
      "rel": "Retrieve CPC Accounts",
      "href": "_/v#/accounts/clearing/CPC/GREENTEA_API_CLEARING2"
    },
    {
      "rel": "Retrieve ICC Accounts",
      "href": "_/v#/accounts/clearing/ICC/GREENTEA_API_CLEARING2"
    }
  ]
}

Output Parameters

 Click here to expand...
Output ParametersDefinitionExampleSupported ValuesData TypesNotes
entitlementsServices and firms user has access to




serviceVenueCPC

CPC

CMED

ICC (Globex)

string
clearingFirms / fradingFirmsContain clearing firm information on firms user has access to



firmNameFirm identifierGREENTEA_API_CLEARING1
stringUnique
firmLongNameFirm identifier (firm long name)GREENTEA_API_CLEARING1
stringNot unique
clearingIdFirm identifier984
stringUnique
linksLinks to navigate the site's REST interfaces dynamically

string

Return to top

Retrieve All Accounts

Retrieves all the accounts the user has access to for a specific service (venue), type (clearing) and clearing firm. Account owner and number are optional.

MethodGET
URL

_/v#/accounts/[Type]/[Service]/[Clearing Firm]/[Account Owner]/[Account Number]

Pagination Enabled?Yes
HATEOAS Links

Links to retrieve all other account-related details:

    • get accountLimitsUtilization

    • get eligibleProducts

    • get efStatus

Input Parameters

 Click here to expand...
Input ParametersDefinitionExampleRequired?Supported ValuesData TypesNotes
typeClearing accountclearingYes

clearing

string
serviceVenueICCYes

ICC

string
clearingFirmFirm identifier027Yes
string
ownerFirm that owns the account (Uses it for trading)Generic_tradingNo
string
accountNumberNumber of the accountGT_12345No
string

Example Return

{
    "service": "ICC",
    "counts": 31,
    "clearingAccounts": [
        {
            "clearingFirm": "GREENTEA_API_CLEARING1",
            "accountNumber": "CPCICCCOPY",
            "owner": "GREENTEA_API_TRADINGFIRM1",
            "segType": "C",
            "status": "Active",
            "ownerLongName": "GREENTEA_API_TRADINGFIRM1",
            "executionFirms": [
                {
                    "efId": "XX0",
                    "suspended": "N"
                }
            ],
            "links": [
                {
                    "rel": "self",
                    "href": "https://amsapinr.cmegroup.com/rest/v2/accounts/clearing/ICC/GREENTEA_API_CLEARING1?accountNumber=CPCICCCOPY"
                },
                {
                    "rel": "get accountLimitsUtilization",
                    "href": "https://amsapinr.cmegroup.com/rest/v2/accountLimitsUtilization/clearing/ICC/GREENTEA_API_CLEARING1/CPCICCCOPY"
                },
                {
                    "rel": "get eligibleProducts",
                    "href": "https://amsapinr.cmegroup.com/rest/v2/eligibleProducts/clearing/ICC/GREENTEA_API_CLEARING1/CPCICCCOPY"
                },
                {
                    "rel": "get efStatus",
                    "href": "https://amsapinr.cmegroup.com/rest/v2/efStatus/clearing/ICC/GREENTEA_API_CLEARING1/CPCICCCOPY"
                }
            ]
        }
]


Output Parameters

 Click here to expand...
Output ParametersDefinitionExampleSupported ValuesData TypesNotes
Service

Venue

ICCICCstring
counts

Number of accounts returned

2
number
typeClearing accountclearingAccounts

clearingAccounts

string
idUnique alias

A-7400


string
clearingFirmFirm identifier092
string
accountNumberNumber of the account

OTCFXACCT2


string
ownerTrading Firm Owner of the account

KRBroker7


string
segTypeAccount segregation. Customer or HouseH

C

H

string
statusStatus of an accountactive

active

inactive

closed

string
senderCompCMED only: senderComp associated to an account specific to venue2MG350
stringOnly for Service CMED.
assetmanagerAsset Manager assigned to an accountENERGY ACTIVE TRADERS
stringOptional field may or may not have a value.
executionFirmsList of execution Firms and suspended status



Execution firm and suspended information
efIDExecution Firm ID

String

suspended

Is Firm SuspendedNN
Should always be N
links

Links to navigate the site's REST interfaces dynamically





Return to top

Retrieve Eligible Products for an Account

 Retrieve all eligible products for a specific account, by venue.

Method

GET

URL

_/v#/eligibleProducts/[Type]/[Service]/[Clearing Firm]/[Account Number]

Pagination Enabled?

Yes

HATEOAS Links

Links to available from Eligible Products call:

    • get/update accountLimitsUtilization

    • delete accountLimitsUtilization

Calls to the ICC service return eligible products per execution firm.

Input Parameters

 Click here to expand...
Input ParametersDefintionExampleRequired?Supported ValuesData TypesNotes

type

Clearing account

clearing

Yes

clearing

string


service

Venue

ICC

Yes

ICC

string

One service at a time.

clearingFirm

Firm identifier 

027

Yes


string


accountNumber

Number of the account

DG-41

Yes


string



Example Return Message

Supports products listed by execution firm.

{
  "service": "ICC",
  "clearingFirm": "GREENTEA_API_CLEARING2",
  "accountNumber": "DV10121801A",
  "products": [
    {
      "executionFirm": "XX0",
      "productList": [
        {
          "product": "GLB.FUT.CME",
          "productFullName": "ONE-MONTH SOFR FUTURES"
        },
        {
          "product": "L0A.OOC.CME",
          "productFullName": "1st contract back Live Cattle CSO"
        },
        {
          "product": "6Z.FUT.CME",
          "productFullName": "ZAR/USD FUTURES"
        },
        {
          "product": "RO.OOF.CME",
          "productFullName": "ZAR/USD OPTIONS AMER-STYLE"
        }
      ]
    }
  ],
  "links": [
    {
      "rel": "get/update accountLimitsUtilization",
      "href": "_/v#/accountLimitsUtilization/clearing/ICC/GREENTEA_API_CLEARING2/DV10121801A"
    },
    {
      "rel": "delete accountLimitsUtilization",
      "href": "_/v#/accountLimitsUtilization/clearing/ICC/GREENTEA_API_CLEARING2/DV10121801A?delete=true"
    }
  ],
  "limit": 50,
  "offset": 1,
  "availableOffsets": 1
}


Output Parameters

 Click here to expand...
Output ParametersDefinitionExampleSupported ValuesData TypesNotes
serviceVenueICC
string
clearingFirmFirm identifier027
string
accountNumberNumber of the account

011


string
productsIndicates return of products for one or more services

String
executionFirmExecution firm identifier for ICC0OJ
string
productListEncapsulates list of productsproductList
string
productSymbol.ProductType.Exchange
GLB.FUT.CME

string
productFullNameFull name of product
ONE-MONTH SOFR FUTURES

string
links

Information to navigate the site's REST interfaces dynamically:

  • get/update accountLimitsUtilization
  • delete accountLimitsUtilization


string

Return to top

Limits and Utilization for an Account

GET Call 

Retrieves all limits and utilization for a specific account, by venue.

MethodGET
URL
_/v#/accountLimitsUtilization/[Type]/[Service]/[Clearing Firm]/[Account Number]
Pagination Enabled?Yes
HATOAS Links

Links available from an Account Limits Utilization call:

  • get/update accountLimitsUtilization
  • delete accountLimitsUtilization
Notes
  • Products with unlimited long / short limits with utilization in the current business day will be included.
  • Products with unlimited long / short limits without utilization in the current business day will be excluded.

Input Parameters

 Click here to expand...
Input ParametersDefinitionExampleRequired?Supported ValuesData TypesNotes
TypeClearing accountclearingYes

clearing

string
ServiceVenueICCYes

ICC

stringOne service at a time
Clearing FirmFirm identifier027Yes
string
Account NumberNumber of the account011Yes
string
tradableRetrieve limit utilization for tradable productstrueNo

true

false

string

When called with tradable=true, any products with limits, that are no longer tradable for the account are filtered out. 

If not supplied, this defaults to false.

nonZeroLimitsFilter products with 0 (zero) limitstrueNo

true

false

stringIf nonZeroLimits=true, then any products that have 0 limits will be filtered out.

Example Return Messages

{
    "service": "ICC",
    "clearingFirm": "GREENTEA_API_CLEARING2",
    "accountNumber": "DV10121801A",
   "limits": [
        {
            "product": "CJ.FUT.NYMEX",
            "productFullName": "NYMEX Cocoa Futures ",
            "efId": "3N1",
            "efLimits": {
                "short": 567,
                "long": 324
            },
            "cmfLimits": {
                "short": 2000,
                "long": 9000
            }
        },
        {
            "product": "CJ.FUT.NYMEX",
            "productFullName": "NYMEX Cocoa Futures ",
            "efId": "350",
            "efLimits": {
                "short": 456,
                "long": 123
            },
            "cmfLimits": {
                "short": 30989,
                "long": 1000
            }
        },
        {
            "product": "DRS.FUT.CBT",
            "productFullName": "Bloomberg Roll Select Commodity Index Futures",
            "efId": "350",
            "efLimits": {
                "short": 789,
                "long": 456
            },
            "cmfLimits": {
                "short": 120,
                "long": 120
            }
        }
    ],
    "links": [
        {
            "rel": "get/update accountLimitsUtilization",
            "href": "_/v#/accountLimitsUtilization/clearing/ICC/GREENTEA_API_CLEARING2/DV10121801A"
        },
        {
            "rel": "delete accountLimitsUtilization",
            "href": "_/v#/accountLimitsUtilization/clearing/ICC/GREENTEA_API_CLEARING2/DV10121801A?delete=true"
        }
    ]
}

Output Parameters

 Click here to expand...
Output ParametersDefinitionExampleSupported ValuesData TypesNotes
serviceVenueCPCICCstring
clearingFirmFirm identifier027
string
accountNumberNumber of the account

011


string
limitsReturns limits information by credit control type

limits


string
productSymbol.ProductType.ExchangeGIE.FUT.CME
stringAlso used with Span Limit.
productFullNameFull name of productGSCI ER FUTURES
string
efIdExecution firm identifier (ICC only)451
string
efLimits or cmfLimitsIdentifies type of Limit



shortshort limit10000
number


longlong limit10000
number
links

Information to navigate the site's REST interfaces dynamically.



string

POST Call 

Update, add or delete account limits using the accountsLimitsUtilization POST call.

  • To post a delete, append the call with ?delete=true

  • When Request body is submitted for Limits Update (Post) or Delete - usage field is ignored, it cannot be updated

Method

POST

FunctionUpdate or Delete Limits for an Account

URL

_/v#/accountLimitsUtilization/[Type]/[Service]/[Clearing Firm]/[Account Number]

Pagination Enabled?

No

HATOAS Links

Links available from an Account Limits Utilization query::

  • get/update accountLimitsUtilization
  • delete accountLimitsUtilization

Input Parameters

 Click here to expand...
Input ParametersDefinitionExampleSupported ValuesSupported ServicesData TypesNotes
serviceVenueCPC

CPC

CMED


string
clearingFirmFirm identifier027

string
accountNumberNumber of the account

011



string
limitsReturns limits information by credit control type

limits

limit information
string
type


Credit control type


Max Qty Short


Max Qty Short

CPC, CMED



Max Qty LongCPC, CMED
Span LimitCPC
scopeWill show as "PRODUCT" for product limits. Will not return for Span limits.PRODUCT

PRODUCT


CPC, CMED

For Span Limit there is no scope - Span limit is a monetary limit for an account

string


productSymbol.ProductType.ExchangeGIE.FUT.CME
CPC, CMEDstringAlso used with Span Limit.
limitValue of the limit20

number

Limit field will be populated if there is any value set.

Also used with Span Limit.

currencyCurrency the monetary limit is set in SpanUSD

CPC

Used only for type "Span Limit"

stringOnly used with Span Limit.
usageCurrent Business day usage for the account or product999999

number

Usage will be populated if there is any activity towards it.

Also used with Span Limit.


Examples

POST calls require a body that contains the update information. A request call can be used to retrieve related information, and then the return can be modified and used as the body for the POST call.

Updating and deleting account limits are permitted for Inline Credit Controls. 

Example call and return for an update

This example shows an update to the limits utilization for a product. 

1) GET Call: /_/v#/accountLimitsUtilization/[Type]/[Service]/[Clearing Firm]/[Account Number]

Query used: /_/v#/accountLimitsUtilization/clearing/ICC/77777/TESTPOST

    Return message from call:

  {
    "service": "ICC",
    "clearingFirm": "GREENTEA_API_CLEARING2",
    "accountNumber": "DV10121801A",
   "limits": [
        {
            "product": "CJ.FUT.NYMEX",
            "productFullName": "NYMEX Cocoa Futures ",
            "efId": "3N1",
            "efLimits": {
                "short": 567,
                "long": 324
            },
            "cmfLimits": {
                "short": 2000,
                "long": 9000
            }
        },
        {
            "product": "CJ.FUT.NYMEX",
            "productFullName": "NYMEX Cocoa Futures ",
            "efId": "350",
            "efLimits": {
                "short": 456,
                "long": 123
            },
            "cmfLimits": {
                "short": 30989,
                "long": 1000
            }
        },
        {
            "product": "DRS.FUT.CBT",
            "productFullName": "Bloomberg Roll Select Commodity Index Futures",
            "efId": "350",
            "efLimits": {
                "short": 789,
                "long": 456
            },
            "cmfLimits": {
                "short": 120,
                "long": 120
            }
        }
    ],
    "links": [
        {
            "rel": "get/update accountLimitsUtilization",
            "href": "_/v#/accountLimitsUtilization/clearing/ICC/GREENTEA_API_CLEARING2/DV10121801A"
        },
        {
            "rel": "delete accountLimitsUtilization",
            "href": "_/v#/accountLimitsUtilization/clearing/ICC/GREENTEA_API_CLEARING2/DV10121801A?delete=true"
        }
    ]
}


2)
 Utilize the return as the body for the Post call. For example, for product "CJ.FUT.NYME", update EF short limit from 567 to 600.

Only the modified record is required:

Sample Post Body:

 {
    "service": "ICC",
    "clearingFirm": "GREENTEA_API_CLEARING2",
    "accountNumber": "DV10121801A",
   "limits": [
        {
            "product": "CJ.FUT.NYMEX",
            "productFullName": "NYMEX Cocoa Futures ",
            "efId": "3N1",
            "efLimits": {
                "short": 567,
                "long": 324
            },
            "cmfLimits": {
                "short": 2000,
                "long": 9000
            }
        }
   ]
}

3) POST Call: Use the same URL as in (1), and use the modified request as the POST body, in JSON format.

 Return message from post call should include all information:

{
    "service": "ICC",
    "clearingFirm": "GREENTEA_API_CLEARING2",
    "accountNumber": "DV10121801A",
   "limits": [
        {
            "product": "CJ.FUT.NYMEX",
            "productFullName": "NYMEX Cocoa Futures ",
            "efId": "3N1",
            "efLimits": {
                "short": 600,
                "long": 324
            },
            "cmfLimits": {
                "short": 2000,
                "long": 9000
            }
        },
        {
            "product": "CJ.FUT.NYMEX",
            "productFullName": "NYMEX Cocoa Futures ",
            "efId": "350",
            "efLimits": {
                "short": 456,
                "long": 123
            },
            "cmfLimits": {
                "short": 30989,
                "long": 1000
            }
        },
        {
            "product": "DRS.FUT.CBT",
            "productFullName": "Bloomberg Roll Select Commodity Index Futures",
            "efId": "350",
            "efLimits": {
                "short": 789,
                "long": 456
            },
            "cmfLimits": {
                "short": 120,
                "long": 120
            }
        }
    ],
    "links": [
        {
            "rel": "get/update accountLimitsUtilization",
            "href": "_/v#/accountLimitsUtilization/clearing/ICC/GREENTEA_API_CLEARING2/DV10121801A"
        },
        {
            "rel": "delete accountLimitsUtilization",
            "href": "_/v#/accountLimitsUtilization/clearing/ICC/GREENTEA_API_CLEARING2/DV10121801A?delete=true"
        }
    ]
}


Return to top

Update an Account to Active or Inactive

Method

POST

URL

_/v#/status/[Type]/[Clearing Firm]

Pagination Enabled?

No

Input Parameters

 Click here to expand...
Input ParametersDefinitionExampleRequired?Supported ValuesData TypesNotes
VenueCPCYesYes

CPC

CMED

stringOne service at a time
typeClearing accountclearingAccountsYes

clearpingAccounts

string
clearingFirmClearing ID
GREENTEA_API_CLEARING2
Yes
string
accountNumberNumber of the account
DV101218B
Yes
string
statusStatus of accountIYes

I - Inactive

A - Active

string

Example: Update an Account to Active or Inactive

Account Information Before Update

Clearing Firm account information only, as shown in a "Retrieve all Accounts" call.

 {
            "clearingFirm": "GREENTEA_API_CLEARING2",
            "accountNumber": "DV101218B",
            "owner": "050",
            "segType": "C",
            "status": "Active"
 			"executionFirms": [
                "8T4"
            ]
        }
Input body for POST to update status to Active or Inactive
 {
 "service": "ICC",
    "clearingAccounts": [
    {
            "clearingFirm": "GREENTEA_API_CLEARING2",
            "accountNumber": "DV101218B",
            "status": "I"
            }
            ]
}
Successful Return Message
{
    "clearingAccounts": [
        {
            "accountNumber": "DV101218B",
            "status": "Successful"
        }
    ]
}
Account information after update

Output parameters will be account parameters with updated status. Status is now "Inactive." 

{
            "clearingFirm": "GREENTEA_API_CLEARING2",
            "accountNumber": "DV101218B",
            "owner": "050",
            "segType": "C",
            "status": "Inactive"
			"executionFirms": [
                "8T4"
            ]
        }

Return to top

Execution Firm Status

GET Call

Retrieve status (suspended = "Y" or "N") for a Clearing Firm's execution firms.

Method

GET

URL

_/v#/efStatus/[Type]/[Service]/[Clearing Firm]/[Account Number]

Pagination Enabled?

Yes

HATEOAS Links

Links to available from Execution Firm Status call:

    • get accounts


Input Parameters

 Click here to expand...
Input ParametersDefinitionExampleRequired?Supported ValuesData TypesNotes

type

Clearing account

clearing

Yes

clearing

string


service

Venue

ICC

Yes

ICC

string

One service at a time.

clearingFirm

Firm identifier 

027

Yes


string


accountNumber

Number of the account

DG-41

Yes


string



Example Return Message

Supports execution firm status.

{
  "service": "ICC",
  "clearingFirm": "GREENTEA_API_CLEARING2",
  "accountNumber": "DV10121801A",
  "owner": "Account Owner",
  "executionFirms": [
        {
            "efId": "451",
            "suspended": "N"
        },
        {
            "efId": "113",
            "suspended": "N"
        },
        {
            "efId": "763",
            "suspended": "N"
        },
        {
            "efId": "4V9",
            "suspended": "N"
        }
  ],
  "links": [
        {
            "rel": "get Account Details",
            "_/v#/accounts/clearing/ICC/072?accountNumber=DV10121801A"
        }
    ]
}


Output Parameters

 Click here to expand...
Output ParametersDefinitionExampleSupported ValuesData TypesNotes
serviceVenueICC
string
clearingFirmFirm identifier027
string
accountNumberNumber of the account

011


string
ownerAccount OwnerAccount Owner
String
executionFirmsExecution firms associated with the Accountreturns execution firm and suspended status
string
efIDExecuting firm ID4V9
string
suspendedStatus - is suspended or not
N
Y, Nstring
links

Information to navigate the site's REST interfaces dynamically:

  • get accounts


string

Return to top

POST Call

Update status (suspended = "Y" or "N") for one or more of a Clearing Firm's execution firms. If suspended, an account cannot trade.

Method

POST

URL

_/v#/efStatus/[Type]/[Service]/[Clearing Firm]/[Account Number]

Pagination Enabled?

Yes

HATEOAS Links

Links to available from Execution Firm Status call:

    • get accounts


Input Parameters

 Click here to expand...
Input ParametersDefinitionExampleRequired?Supported ValuesData TypesNotes

type

Clearing account

clearing

Yes

clearing

string


service

Venue

ICC

Yes

ICC

string

One service at a time.

clearingFirm

Firm identifier 

027

Yes


string


accountNumber

Number of the account

DG-41

Yes


string


 

Account Information Before Update

Return with Execution Firms and suspended status.

{
  "service": "ICC",
  "clearingFirm": "GREENTEA_API_CLEARING2",
  "accountNumber": "DV10121801A",
  "owner": "Account Owner",
  "executionFirms": [
        {
            "efId": "451",
            "suspended": "N"
        },
        {
            "efId": "113",
            "suspended": "N"
        },
        {
            "efId": "763",
            "suspended": "N"
        },
        {
            "efId": "4V9",
            "suspended": "N"
        }
  ],
  "links": [
        {
            "rel": "get Account Details",
            "_/v#/accounts/clearing/ICC/072?accountNumber=DV10121801A"
        }
    ]
}
Input body for POST to update status to Active or Inactive
{
    "service": "ICC",
    "clearingFirm": "GREENTEA_API_CLEARING2",
    "accountNumber": "DV10121801A",
    "executionFirms": [
        {
            "efId": "451",
            "suspended": "Y"
        }
      ]
}
Successful Return Message
{
    "service": "ICC",
    "clearingFirm": "GREENTEA_API_CLEARING2",
    "accountNumber": "DV10121801A",
    "owner": "Account Owner",
    "executionFirms": [
        {
            "efId": "451",
            "suspended": "Y"
        },
        {
            "efId": "113",
            "suspended": "N"
        },
        {
            "efId": "763",
            "suspended": "N"
        },
        {
            "efId": "4V9",
            "suspended": "N"
        }
    ],
    "links": [
        {
            "rel": "get Account Details",
            "_/v#/accounts/clearing/ICC/072?accountNumber=DV10121801A"
        }
    ]
}


Return to top





How was your Client Systems Wiki Experience? Submit Feedback

Copyright © 2024 CME Group Inc. All rights reserved.