Skip to content

Combinable event-contract events and the MVC ticker that must ​

GET /api/v1.0/quote/valid-combos

List combinable event-contract events and the MVC ticker that must be passed through to RFQ. Returns combo_events[] with event_code, event_name, combo_contracts (KS symbols), series_code, category / competition / competition_scope; data.mvc is the opaque RFQ passthrough; pagination has completed / page_flag / count. Public symbols use KS.{futu_symbol}, not the OpenD EC. prefix. No subscribe required. For combo RFQ use quote.combo_quotes and pass mvc through unchanged.

Parameters ​

NameTypeInRequiredDescription
categorystringquerynoPrimary category filter: raw exchange value or English name, e.g. SPORTS / Sports; numeric category id also accepted
competitionstringquerynoCompetition filter: raw tag or English name; numeric id also accepted. Prefer sending category together
seriesstringquerynoSeries symbol filter, e.g. KS.KXNFLGAME
page_flagstringquerynoPage cursor. Omit or pass empty on the first page; pass back pagination.page_flag. Stop only when pagination.completed is true
page_sizeintquerynoPage size, default 200, max 200

Example ​

bash
curl -X GET 'https://webapi.futunn.com/api/v1.0/quote/valid-combos' \
  -H 'Authorization: Bearer <AccessToken>' | jq

Response parameters ​

NameTypeDescription
data.combo_eventsobject[]
data.combo_events[].event_codestringEvent symbol, e.g. KS.KXNFLGAME-26SEP12PITNE
data.combo_events[].event_namestringEvent English name
data.combo_events[].combo_contractsstring[]KS symbols that may be used as a combo leg from this event. Pick at most one per event and combine with a contract from another event; two contracts from the same event are rejected
data.combo_events[].series_codestringParent series symbol, e.g. KS.KXNFLGAME
data.combo_events[].categorystringRaw primary category, e.g. SPORTS
data.combo_events[].competitionstringRaw competition value
data.combo_events[].competition_scopestringRaw competition scope value
data.mvcstringMVC origin ticker; must be passed through unchanged to combo RFQ
data.mvc_exchangestringMVC exchange code; may be passed through to combo RFQ
pagination.completedboolTrue when this is the last page. Stop paging only when completed is true
pagination.page_flagstringNext page cursor. Pass it back as page_flag while completed is false; empty on the last page
pagination.totalintTotal number of matched rows

Errors ​

ret_codeerror.codeDescription
0—Success
-3invalid_parameterMissing or invalid parameter
-8unsupportedNot supported
-10no_dataNo data

Response example ​

json
{
  "ret_code": 0,
  "ret_msg": "success",
  "data": {
    "combo_events": [
      {
        "event_code": "example",
        "event_name": "example",
        "combo_contracts": ["KS.example.CONTRACT"],
        "series_code": "example",
        "category": "example",
        "competition": "example",
        "competition_scope": "example"
      }
    ],
    "mvc": "example",
    "mvc_exchange": "example"
  },
  "pagination": {
    "page_flag": "",
    "completed": true,
    "total": 0
  }
}