UPDATE - Betfair API Release 4th September – New Field - betDelayModels

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • BetfairDeveloperProgram
    Administrator
    • Oct 2008
    • 680

    #1

    UPDATE - Betfair API Release 4th September – New Field - betDelayModels

    As part of an API release due on 4th September, we’ll be adding a new betDelayModels field to the response of the listMarketBook and listRunnerBook operations. The field will be added to the Stream API at a later date (TBC).

    This field will indicate a list of all the bet delay models applied to a market. Initially, this will include all tennis & baseball markets.

    For now, only the PASSIVE bet delay model logic will be released. This indicates which in-play markets support no bet delays for passive orders i.e. orders that are guaranteed not to match immediately will bypass the in-play bet delay.

    Order Requirements:
    • Only LIMIT orders are supported.
    • Allowed persistenceType: LAPSE
    • The following attributes are not supported and must be omitted: timeInForce, minFillSize, betTargetType.
    The Betfair API returns the new field in the response of the listMarketBook and listRunnerBook operations.

    "result": [
    {
    "marketId": "1.179675904",
    "isMarketDataDelayed": false,
    "status": "OPEN",
    "betDelayModels": [
    "PASSIVE"
    ]

    Betfair Developer Program
    Last edited by BetfairDeveloperProgram; 03-09-2025, 12:32 PM. Reason: Updated Allowed persistenceType: LAPSE (deleted PERSIST)
  • BetfairDeveloperProgram
    Administrator
    • Oct 2008
    • 680

    #2
    This release has been delayed and is now due to take place on Tuesday, 2nd September.

    Betfair Developer Program

    Comment

    • MichaelL
      Junior Member
      • Jun 2023
      • 4

      #3
      The example states a list of BetDelayModels, while the documentation only states a single BetDelayModels, no list. Can you please clarify this?

      Comment

      • MichaelL
        Junior Member
        • Jun 2023
        • 4

        #4
        Also, the naming of the enum "betDelayModels" seems rather inconsistent. All other enums are named in singular and with leading upper case.

        Comment

        • BetfairDeveloperProgram
          Administrator
          • Oct 2008
          • 680

          #5
          Hi MichaelL

          See answers below:

          The example states a list of BetDelayModels, while the documentation only states a single BetDelayModels, no list. Can you please clarify this?
          Further betDelayModels may be added in the future. For now, only the PASSIVE bet delay model logic will be released

          Also, the naming of the enum "betDelayModels" seems rather inconsistent. All other enums are named in singular and with leading upper case
          This has been updated now.

          Kind Regards

          Neil

          Comment

          • MichaelL
            Junior Member
            • Jun 2023
            • 4

            #6
            Hi Neil,

            thanks for your quick answer!

            "Further betDelayModels may be added in the future. For now, only the PASSIVE bet delay model logic will be released"

            I understand, but that doesn't answer the question. Let me clarify. Your example states:

            "betDelayModels": ["PASSIVE"]

            Having the brackets, this attribute seems to contain a list of enum values. Which makes sense if you plan further bet delay models - and there should be potentially multiple delay models for the same market. While the documentation for MarketBook states:

            betDelayModels: BetDelayModels

            and not List<BetDelayModels> as expected when looking at the example. So either the example should be

            "betDelayModels": "PASSIVE"

            without the brackets and the list, or the documentation should be updated accordingly.

            "This has been updated now." -> it is upper case now but still has a plural S in the end, while all other enums are in singular, like "BetTargetType" or "PriceLadderType", not "PriceLadderTypes" etc. so for consistency I'd recommend to call it "BetDelayModel" - without the S.

            Kind regards

            Michael
            Last edited by MichaelL; 27-08-2025, 11:55 AM.

            Comment

            • BetfairDeveloperProgram
              Administrator
              • Oct 2008
              • 680

              #7
              Thanks Michael, the docs have been corrected now.

              Neil

              Comment

              • BetfairDeveloperProgram
                Administrator
                • Oct 2008
                • 680

                #8
                This release will now take place on 4th September; the original announcement has been updated to reflect this.

                Betfair Developer Program

                Comment

                • shuba
                  Member
                  • Feb 2009
                  • 51

                  #9
                  Order Requirements:
                  • Only LIMIT orders are supported.
                  • Allowed persistenceType: LAPSE or PERSIST.
                  • The following attributes are not supported and must be omitted: timeInForce, minFillSize, betTargetType.

                  Does it mean if order requirements conditions are not met then the new field 'betDelayModels' will not be returned?
                  - Betfair ladder interface for Android platform.

                  Comment

                  • BetfairDeveloperProgram
                    Administrator
                    • Oct 2008
                    • 680

                    #10
                    Hi shuba

                    This means that if you submit anything other than a LIMIT order for these markets, you'll receive the error INVALID_ORDER_TYPE.

                    "INVALID_ORDER_TYPE - You have specified a time in force of FILL_OR_KILL, but have included a non-LIMIT order type".

                    If you submit an order that doesn't have persistenceType LAPSE or PERSIST, you'll receive the error INVALID_PERSISTENCE_TYPE.

                    ​"INVALID_PERSISTENCE_TYPE - Invalid persistence type for this market, e.g. KEEP for a non in-play market or KEEP for markets with PASSIVE betDelayModels".

                    Kind Regards,

                    Neil​

                    Comment

                    • BetfairDeveloperProgram
                      Administrator
                      • Oct 2008
                      • 680

                      #11
                      Hi shuba,

                      Apologies, a correction to the above.

                      If a bet is placed in a "PASSIVE" market that doesn't meet the criteria, it will be treated as a normal bet subject to the bet delay; it won't fail validation (due to INVALID_ORDER_TYPE or INVALID_PERSISTENCE_TYPE).

                      FILL_OR_KILL bets will still be placed but subject to the bet delay. PERSIST bets will also be placed and subject to the bet delay.

                      Passive bets need to have their PersistenceType set to LAPSE only to ensure they are not subject to the bet delay.

                      ​Kind Regards,

                      Neil​​

                      Comment

                      • shuba
                        Member
                        • Feb 2009
                        • 51

                        #12
                        Now it is clear.

                        Only orders with LAPSE persistence ensure no bet delay for PASSIVE mode markets.
                        - Betfair ladder interface for Android platform.

                        Comment

                        • BetfairDeveloperProgram
                          Administrator
                          • Oct 2008
                          • 680

                          #13
                          Hi,

                          The new betDelayModels field has now been released into the Stream API integration environment - stream-api-integration.betfair.com

                          This additional field has been added to the marketDefinition object.

                          Please see the updated Swagger definition via https://github.com/betfair/stream-ap...hema.json#L638

                          The new field will be released to the production Stream API (stream-api.betfair.com:443) tomorrow to 25% of traffic and in full by the end of Monday, 15th September.

                          Betfair Developer Program

                          Comment

                          Working...
                          X