finance_dev 0.9.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- finance_dev/__init__.py +18 -0
- finance_dev/_hooks/__init__.py +7 -0
- finance_dev/_hooks/clientcredentials.py +319 -0
- finance_dev/_hooks/oauth2scopes.py +50 -0
- finance_dev/_hooks/registration.py +13 -0
- finance_dev/_hooks/sdkhooks.py +82 -0
- finance_dev/_hooks/types.py +125 -0
- finance_dev/_version.py +16 -0
- finance_dev/accounts.py +797 -0
- finance_dev/alternativedata.py +4830 -0
- finance_dev/analytics.py +3757 -0
- finance_dev/basesdk.py +393 -0
- finance_dev/calendar.py +1523 -0
- finance_dev/chart.py +1881 -0
- finance_dev/company.py +1105 -0
- finance_dev/corporateactions.py +1795 -0
- finance_dev/economy.py +1153 -0
- finance_dev/errors/__init__.py +94 -0
- finance_dev/errors/apierror.py +41 -0
- finance_dev/errors/authenticationerrorenvelope.py +43 -0
- finance_dev/errors/badrequest.py +34 -0
- finance_dev/errors/errorenvelope.py +42 -0
- finance_dev/errors/errorresponse.py +45 -0
- finance_dev/errors/financedevapierror.py +31 -0
- finance_dev/errors/forbidden.py +34 -0
- finance_dev/errors/internalservererror.py +35 -0
- finance_dev/errors/no_response_error.py +18 -0
- finance_dev/errors/notfound.py +34 -0
- finance_dev/errors/orderhistorybadrequest.py +35 -0
- finance_dev/errors/predorderserrorenvelope.py +42 -0
- finance_dev/errors/responsevalidationerror.py +28 -0
- finance_dev/errors/unauthorized.py +34 -0
- finance_dev/estimates.py +1906 -0
- finance_dev/etf.py +1108 -0
- finance_dev/filings.py +586 -0
- finance_dev/financials.py +4079 -0
- finance_dev/history.py +477 -0
- finance_dev/httpclient.py +126 -0
- finance_dev/indices.py +2308 -0
- finance_dev/logos.py +692 -0
- finance_dev/market.py +1825 -0
- finance_dev/markets.py +952 -0
- finance_dev/models/__init__.py +4568 -0
- finance_dev/models/accountbalancev2.py +340 -0
- finance_dev/models/accountitem.py +78 -0
- finance_dev/models/accountposition.py +147 -0
- finance_dev/models/aggregatetechnicalindicatorsresponse.py +192 -0
- finance_dev/models/analystinsightitem.py +161 -0
- finance_dev/models/analystinsightsresponse.py +39 -0
- finance_dev/models/apperror.py +123 -0
- finance_dev/models/authenticationerrordetail.py +58 -0
- finance_dev/models/bankbranchesresponse.py +96 -0
- finance_dev/models/basicfinancials.py +243 -0
- finance_dev/models/bullbearanalysisresponse.py +150 -0
- finance_dev/models/cancelorderop.py +40 -0
- finance_dev/models/cancelordrequest_union.py +287 -0
- finance_dev/models/cancelordresponse.py +115 -0
- finance_dev/models/cashflowstatement.py +290 -0
- finance_dev/models/cashflowstatementsresponse.py +61 -0
- finance_dev/models/chartbars.py +111 -0
- finance_dev/models/chartconfig.py +81 -0
- finance_dev/models/chartresolution.py +46 -0
- finance_dev/models/companyesgresponse.py +408 -0
- finance_dev/models/companyexecutive.py +70 -0
- finance_dev/models/companyexecutiveresponse.py +39 -0
- finance_dev/models/companypeersresponse.py +38 -0
- finance_dev/models/companypresentationresponse.py +96 -0
- finance_dev/models/companyprofile.py +255 -0
- finance_dev/models/conferencecallsresponse.py +169 -0
- finance_dev/models/congressionaltradingresponse.py +138 -0
- finance_dev/models/covid19uscasesresponse.py +79 -0
- finance_dev/models/createconfigwatchlistop.py +40 -0
- finance_dev/models/createwatchlistrequest.py +43 -0
- finance_dev/models/dailymarketsummaryresponse.py +73 -0
- finance_dev/models/deleteconfigwatchlistbyidop.py +53 -0
- finance_dev/models/dividenditem.py +125 -0
- finance_dev/models/dividendsresponse.py +61 -0
- finance_dev/models/earningrelease.py +291 -0
- finance_dev/models/earningscallliveresponse.py +103 -0
- finance_dev/models/earningsqualityscoreresponse.py +140 -0
- finance_dev/models/earningssurprisesresponse.py +125 -0
- finance_dev/models/ebitdaestimatesresponse.py +176 -0
- finance_dev/models/ebitestimatesresponse.py +176 -0
- finance_dev/models/economicscalendarevent.py +160 -0
- finance_dev/models/economicsindicator.py +87 -0
- finance_dev/models/epsestimatesresponse.py +176 -0
- finance_dev/models/equitydetailsdto.py +569 -0
- finance_dev/models/errorcode.py +48 -0
- finance_dev/models/etblistresponse.py +43 -0
- finance_dev/models/etbsearchrequest.py +21 -0
- finance_dev/models/etbsearchresponse.py +43 -0
- finance_dev/models/etfcountryallocationresponse.py +113 -0
- finance_dev/models/etfholdingsresponse.py +163 -0
- finance_dev/models/etfprofileresponse.py +234 -0
- finance_dev/models/etfsectorallocationresponse.py +113 -0
- finance_dev/models/exchangecode.py +90 -0
- finance_dev/models/fdaadvisorycommitteecalendarresponse.py +88 -0
- finance_dev/models/filingsimilarityrecord.py +115 -0
- finance_dev/models/filingssimilarityindexdatawrapper.py +52 -0
- finance_dev/models/filingssimilarityindexresponse.py +42 -0
- finance_dev/models/financialratiosresponse.py +252 -0
- finance_dev/models/financialsreporteddatawrapper.py +49 -0
- finance_dev/models/financialsreportedresponse.py +42 -0
- finance_dev/models/financialsrevenuebreakdowndatawrapper.py +49 -0
- finance_dev/models/financialsrevenuebreakdownresponse.py +42 -0
- finance_dev/models/financialsstatementsdatawrapper.py +44 -0
- finance_dev/models/financialsstatementsresponse.py +42 -0
- finance_dev/models/financialstatement.py +171 -0
- finance_dev/models/financialstatementtype.py +14 -0
- finance_dev/models/getaccountbalanceop.py +53 -0
- finance_dev/models/getaccountpositionsop.py +53 -0
- finance_dev/models/getaccountsresponse.py +22 -0
- finance_dev/models/getaggregatetechnicalindicatorsop.py +94 -0
- finance_dev/models/getanalystinsightsop.py +164 -0
- finance_dev/models/getbankbranchesop.py +53 -0
- finance_dev/models/getbaseeventop.py +87 -0
- finance_dev/models/getbullbearanalysisop.py +91 -0
- finance_dev/models/getcashflowstatementsop.py +564 -0
- finance_dev/models/getchartconfigop.py +40 -0
- finance_dev/models/getcharthistoryop.py +122 -0
- finance_dev/models/getcharttimeop.py +39 -0
- finance_dev/models/getcompanyesgop.py +53 -0
- finance_dev/models/getcompanyexecutivesop.py +56 -0
- finance_dev/models/getcompanymetricsop.py +68 -0
- finance_dev/models/getcompanypeersop.py +53 -0
- finance_dev/models/getcompanypresentationop.py +56 -0
- finance_dev/models/getcompanyprofileop.py +86 -0
- finance_dev/models/getconferencecallsop.py +111 -0
- finance_dev/models/getconfigwatchlistbyidop.py +53 -0
- finance_dev/models/getconfigwatchlistsop.py +40 -0
- finance_dev/models/getcongressionaltradingop.py +73 -0
- finance_dev/models/getcovid19uscasesop.py +43 -0
- finance_dev/models/getdailymarketsummaryop.py +92 -0
- finance_dev/models/getdividendsop.py +294 -0
- finance_dev/models/getearningscalendarop.py +87 -0
- finance_dev/models/getearningscallliveop.py +91 -0
- finance_dev/models/getearningsqualityscoreop.py +81 -0
- finance_dev/models/getearningssurprisesop.py +80 -0
- finance_dev/models/getebitdaestimatesop.py +91 -0
- finance_dev/models/getebitestimatesop.py +88 -0
- finance_dev/models/geteconomicscalendarop.py +92 -0
- finance_dev/models/geteconomicscalendarresponse.py +56 -0
- finance_dev/models/getepsestimatesop.py +88 -0
- finance_dev/models/getequitydetailsop.py +56 -0
- finance_dev/models/getequitydetailsresponse.py +45 -0
- finance_dev/models/getetblistop.py +40 -0
- finance_dev/models/getetfcountryallocationop.py +80 -0
- finance_dev/models/getetfholdingsop.py +96 -0
- finance_dev/models/getetfprofileop.py +77 -0
- finance_dev/models/getetfsectorallocationop.py +80 -0
- finance_dev/models/geteventcontractsop.py +87 -0
- finance_dev/models/getfdaadvisorycommitteecalendarop.py +47 -0
- finance_dev/models/getfilingssimilarityindexop.py +102 -0
- finance_dev/models/getfinancialratiosop.py +612 -0
- finance_dev/models/getfinancialstatementsop.py +117 -0
- finance_dev/models/getfundownershipop.py +77 -0
- finance_dev/models/gethistoricaldataop.py +61 -0
- finance_dev/models/gethistoricalesgop.py +53 -0
- finance_dev/models/gethistorybatchop.py +74 -0
- finance_dev/models/gethistoryop.py +123 -0
- finance_dev/models/getincomestatementsop.py +564 -0
- finance_dev/models/getindexbarop.py +140 -0
- finance_dev/models/getindexbarsop.py +149 -0
- finance_dev/models/getindexchartbarsop.py +178 -0
- finance_dev/models/getindexrealtimevaluesop.py +94 -0
- finance_dev/models/getinflationexpectationsop.py +157 -0
- finance_dev/models/getinflationop.py +154 -0
- finance_dev/models/getinsidertransactionsop.py +90 -0
- finance_dev/models/getinstitutionalownershipop.py +99 -0
- finance_dev/models/getinstitutionalportfolioop.py +75 -0
- finance_dev/models/getinvestmentthemeop.py +68 -0
- finance_dev/models/getipocalendarop.py +63 -0
- finance_dev/models/getlobbyingop.py +70 -0
- finance_dev/models/getmarketbreadthop.py +40 -0
- finance_dev/models/getmarketholidaysop.py +65 -0
- finance_dev/models/getmarketstatusop.py +65 -0
- finance_dev/models/getmergersandacquisitionsop.py +113 -0
- finance_dev/models/getnetinflowop.py +40 -0
- finance_dev/models/getnewsbyidop.py +73 -0
- finance_dev/models/getnewsop.py +98 -0
- finance_dev/models/getnewssentimentop.py +53 -0
- finance_dev/models/getoptionchainsnapshotop.py +244 -0
- finance_dev/models/getoptioncontractsnapshotop.py +69 -0
- finance_dev/models/getoptiondetailsop.py +56 -0
- finance_dev/models/getoptiondetailsresponse.py +45 -0
- finance_dev/models/getoptionlasttradeop.py +56 -0
- finance_dev/models/getoptionopencloseop.py +66 -0
- finance_dev/models/getoptionpreviousdayop.py +56 -0
- finance_dev/models/getoptionquotesop.py +177 -0
- finance_dev/models/getoptionsactivityop.py +111 -0
- finance_dev/models/getoptionsetfstopvolumeop.py +70 -0
- finance_dev/models/getoptionsstockstopgainersop.py +70 -0
- finance_dev/models/getoptionsstockstopvolumeop.py +70 -0
- finance_dev/models/getoptionsunusualactivityop.py +100 -0
- finance_dev/models/getoptiontradesop.py +177 -0
- finance_dev/models/getordersv2response.py +66 -0
- finance_dev/models/getownershipdataop.py +77 -0
- finance_dev/models/getpositionsresponse.py +39 -0
- finance_dev/models/getpredictionorderop.py +88 -0
- finance_dev/models/getpricetargetop.py +53 -0
- finance_dev/models/getquotesop.py +53 -0
- finance_dev/models/getratingsop.py +164 -0
- finance_dev/models/getratingsresponse.py +39 -0
- finance_dev/models/getreportedfinancialsop.py +127 -0
- finance_dev/models/getrevenuebreakdownop.py +85 -0
- finance_dev/models/getrevenueestimatesop.py +91 -0
- finance_dev/models/getsecfilingsop.py +113 -0
- finance_dev/models/getsectortickersop.py +124 -0
- finance_dev/models/getsectorwisechangeop.py +84 -0
- finance_dev/models/getshortinterestop.py +334 -0
- finance_dev/models/getshortvolumeop.py +333 -0
- finance_dev/models/getsocialsentimentop.py +90 -0
- finance_dev/models/getspinoffsop.py +112 -0
- finance_dev/models/getstockaggregatesop.py +174 -0
- finance_dev/models/getstocklastquoteop.py +56 -0
- finance_dev/models/getstocklasttradeop.py +56 -0
- finance_dev/models/getstockopencloseop.py +90 -0
- finance_dev/models/getstockpreviousdayop.py +80 -0
- finance_dev/models/getstockquotesop.py +177 -0
- finance_dev/models/getstocksnapshotsop.py +82 -0
- finance_dev/models/getstocksplitsop.py +243 -0
- finance_dev/models/getstocktradesop.py +177 -0
- finance_dev/models/getsupplychainop.py +53 -0
- finance_dev/models/getsupportresistancelevelsop.py +90 -0
- finance_dev/models/getsymbolinfoop.py +53 -0
- finance_dev/models/gettechnicalindicatorop.py +172 -0
- finance_dev/models/gettechnicalpatternsop.py +88 -0
- finance_dev/models/gettenderoffersop.py +112 -0
- finance_dev/models/gettickhistoryop.py +104 -0
- finance_dev/models/gettopgainersop.py +78 -0
- finance_dev/models/gettoplosersop.py +78 -0
- finance_dev/models/gettopmostactiveop.py +78 -0
- finance_dev/models/gettranscriptop.py +53 -0
- finance_dev/models/gettreasuryyieldsop.py +157 -0
- finance_dev/models/getunifiedsnapshotop.py +223 -0
- finance_dev/models/getupgradesdowngradesop.py +91 -0
- finance_dev/models/getusaspendingop.py +70 -0
- finance_dev/models/getuseraccountsop.py +40 -0
- finance_dev/models/getusptopatentsop.py +70 -0
- finance_dev/models/getvisaapplicationsop.py +73 -0
- finance_dev/models/historicalesgresponse.py +439 -0
- finance_dev/models/httpmetadata.py +24 -0
- finance_dev/models/incomestatement.py +296 -0
- finance_dev/models/incomestatementsresponse.py +61 -0
- finance_dev/models/indexbarresponse.py +194 -0
- finance_dev/models/indexbarsresponse.py +123 -0
- finance_dev/models/indexchartbarsresponse.py +213 -0
- finance_dev/models/indexgroupsresponse.py +78 -0
- finance_dev/models/indexlistresponse.py +95 -0
- finance_dev/models/indexsearchresponse.py +93 -0
- finance_dev/models/indicesbygroupresponse.py +93 -0
- finance_dev/models/indicesidentifiertype.py +28 -0
- finance_dev/models/indicesrealtimeindexinfo.py +67 -0
- finance_dev/models/indicesrealtimeindexvalue.py +157 -0
- finance_dev/models/indicesrealtimevaluesitem.py +80 -0
- finance_dev/models/indicesrealtimevaluesresponse.py +42 -0
- finance_dev/models/inflationexpectationsresponse.py +140 -0
- finance_dev/models/inflationresponse.py +132 -0
- finance_dev/models/insidertransaction.py +97 -0
- finance_dev/models/insidertransactionsresponse.py +39 -0
- finance_dev/models/institutionalholding.py +77 -0
- finance_dev/models/institutionalownershipresponse.py +39 -0
- finance_dev/models/institutionalportfolioresponse.py +39 -0
- finance_dev/models/investmentthemeid.py +35 -0
- finance_dev/models/investmentthemeresponse.py +80 -0
- finance_dev/models/ipocalendarresponse.py +39 -0
- finance_dev/models/ipoitem.py +93 -0
- finance_dev/models/listactiveordersop.py +87 -0
- finance_dev/models/listcategoriesop.py +79 -0
- finance_dev/models/listindexgroupsop.py +40 -0
- finance_dev/models/listindicesbygroupop.py +58 -0
- finance_dev/models/listindicesop.py +91 -0
- finance_dev/models/listoptioncontractsop.py +66 -0
- finance_dev/models/listoptionexpirydatesop.py +56 -0
- finance_dev/models/listorderhistoryop.py +139 -0
- finance_dev/models/listpredictionordersop.py +134 -0
- finance_dev/models/listtranscriptsop.py +53 -0
- finance_dev/models/lobbyingresponse.py +166 -0
- finance_dev/models/logosearchresponse.py +152 -0
- finance_dev/models/logosyncresponse.py +277 -0
- finance_dev/models/marketbreadth.py +97 -0
- finance_dev/models/marketbreadthresponse.py +44 -0
- finance_dev/models/marketholiday.py +56 -0
- finance_dev/models/marketholidayresponse.py +39 -0
- finance_dev/models/marketstatus.py +67 -0
- finance_dev/models/mergersandacquisitionsresponse.py +186 -0
- finance_dev/models/metricseriespoint.py +43 -0
- finance_dev/models/netinflow.py +81 -0
- finance_dev/models/netinflowresponse.py +44 -0
- finance_dev/models/newsitem.py +102 -0
- finance_dev/models/newslistresponse.py +128 -0
- finance_dev/models/newssentimentresponse.py +176 -0
- finance_dev/models/newstypeenum.py +16 -0
- finance_dev/models/optionchainsnapshotresponse.py +64 -0
- finance_dev/models/optioncontractsnapshotresponse.py +64 -0
- finance_dev/models/optioncontractsnapshotrow.py +164 -0
- finance_dev/models/optioncontractsresponse.py +131 -0
- finance_dev/models/optiondetailsdto.py +72 -0
- finance_dev/models/optionexpirydatesresponse.py +53 -0
- finance_dev/models/optionlasttraderesponse.py +169 -0
- finance_dev/models/optionopencloseresponse.py +97 -0
- finance_dev/models/optionpreviousdayresponse.py +89 -0
- finance_dev/models/optionquotesresponse.py +138 -0
- finance_dev/models/optionsactivityresponse.py +265 -0
- finance_dev/models/optionsnapshotcontractdetails.py +85 -0
- finance_dev/models/optionsnapshotdaybar.py +107 -0
- finance_dev/models/optionsnapshotgreeks.py +67 -0
- finance_dev/models/optionsnapshotlastquote.py +116 -0
- finance_dev/models/optionsnapshotlasttrade.py +102 -0
- finance_dev/models/optionsnapshotunderlying.py +86 -0
- finance_dev/models/optionsscreeneritem.py +151 -0
- finance_dev/models/optionsunusualactivityresponse.py +62 -0
- finance_dev/models/optionsunusualactivitytrade.py +103 -0
- finance_dev/models/optiontradesresponse.py +132 -0
- finance_dev/models/orderrequesttimeinforceenum.py +29 -0
- finance_dev/models/ordersideenum.py +20 -0
- finance_dev/models/ordertypeenum.py +20 -0
- finance_dev/models/ordleg.py +162 -0
- finance_dev/models/ordresponse.py +202 -0
- finance_dev/models/ownershipdataresponse.py +39 -0
- finance_dev/models/ownershiprecord.py +74 -0
- finance_dev/models/placeorderop.py +40 -0
- finance_dev/models/placeordrequest_union.py +335 -0
- finance_dev/models/placepredictionorderop.py +114 -0
- finance_dev/models/predmdbaseevent.py +62 -0
- finance_dev/models/predmdbaseeventhit.py +53 -0
- finance_dev/models/predmdbaseeventsearchresult.py +46 -0
- finance_dev/models/predmdbaseeventwithevents.py +32 -0
- finance_dev/models/predmdbatchhistoryrequest.py +16 -0
- finance_dev/models/predmdbatchhistoryresponse.py +16 -0
- finance_dev/models/predmdcategory.py +48 -0
- finance_dev/models/predmdcontract.py +177 -0
- finance_dev/models/predmdcontracthit.py +157 -0
- finance_dev/models/predmdcontractsearchresult.py +46 -0
- finance_dev/models/predmdevent.py +136 -0
- finance_dev/models/predmdeventhit.py +73 -0
- finance_dev/models/predmdeventsearchresult.py +46 -0
- finance_dev/models/predmdeventwithcontracts.py +22 -0
- finance_dev/models/predmdhistoryrequest.py +59 -0
- finance_dev/models/predmdhistoryresponse.py +53 -0
- finance_dev/models/predmdtick.py +53 -0
- finance_dev/models/predordersapperror.py +78 -0
- finance_dev/models/predordersorder.py +267 -0
- finance_dev/models/predordersorderdetail.py +26 -0
- finance_dev/models/predordersorderpage.py +45 -0
- finance_dev/models/predordersorderreport.py +88 -0
- finance_dev/models/predordersplaceorderrequest.py +159 -0
- finance_dev/models/previeworderop.py +40 -0
- finance_dev/models/previeworderresponse.py +127 -0
- finance_dev/models/pricetargetresponse.py +89 -0
- finance_dev/models/quotedata.py +49 -0
- finance_dev/models/quotesresponse.py +62 -0
- finance_dev/models/quotevalues.py +114 -0
- finance_dev/models/rating.py +193 -0
- finance_dev/models/ratingsaccuracy.py +242 -0
- finance_dev/models/replaceconfigwatchlistsop.py +40 -0
- finance_dev/models/replaceorderop.py +40 -0
- finance_dev/models/replaceordrequest_union.py +367 -0
- finance_dev/models/replaceordresponse.py +144 -0
- finance_dev/models/reportedbsitem.py +53 -0
- finance_dev/models/reportedfiling.py +110 -0
- finance_dev/models/reportedreport.py +39 -0
- finance_dev/models/reportingfrequency.py +16 -0
- finance_dev/models/revenuebreakdownaxis.py +52 -0
- finance_dev/models/revenuebreakdowndatapoint.py +58 -0
- finance_dev/models/revenuebreakdownentry.py +51 -0
- finance_dev/models/revenuebreakdowninner.py +75 -0
- finance_dev/models/revenueestimatesresponse.py +176 -0
- finance_dev/models/screenclause.py +70 -0
- finance_dev/models/screengroup.py +75 -0
- finance_dev/models/searchetbsymbolsop.py +40 -0
- finance_dev/models/searchindicesop.py +55 -0
- finance_dev/models/searchlogosop.py +158 -0
- finance_dev/models/searchmarketsymbolsop.py +80 -0
- finance_dev/models/searchop.py +232 -0
- finance_dev/models/searchsymbolitem.py +76 -0
- finance_dev/models/searchsymbolresponseitem.py +71 -0
- finance_dev/models/searchsymbolsop.py +77 -0
- finance_dev/models/secfiling.py +91 -0
- finance_dev/models/secfilingsresponse.py +39 -0
- finance_dev/models/sectoravgchange.py +50 -0
- finance_dev/models/security.py +59 -0
- finance_dev/models/securitytypeenum.py +16 -0
- finance_dev/models/shortinterestresponse.py +126 -0
- finance_dev/models/shortvolumeresponse.py +198 -0
- finance_dev/models/socialsentimentresponse.py +124 -0
- finance_dev/models/sortorderenum.py +13 -0
- finance_dev/models/spinoffsresponse.py +136 -0
- finance_dev/models/stockaggregatesresponse.py +92 -0
- finance_dev/models/stocklastquoteresponse.py +175 -0
- finance_dev/models/stocklasttraderesponse.py +169 -0
- finance_dev/models/stockohlcbar.py +85 -0
- finance_dev/models/stockopencloseresponse.py +109 -0
- finance_dev/models/stockpreviousdayresponse.py +86 -0
- finance_dev/models/stockquotesresponse.py +170 -0
- finance_dev/models/stockscreenerop.py +144 -0
- finance_dev/models/stockscreenerrequest.py +131 -0
- finance_dev/models/stockscreenerresponse.py +197 -0
- finance_dev/models/stocksnapshotsresponse.py +454 -0
- finance_dev/models/stocksplitsresponse.py +144 -0
- finance_dev/models/stocktradesresponse.py +164 -0
- finance_dev/models/supplychainresponse.py +158 -0
- finance_dev/models/supportresistancelevelsresponse.py +68 -0
- finance_dev/models/symboldetails.py +119 -0
- finance_dev/models/symbolerror.py +43 -0
- finance_dev/models/symbolinfo.py +183 -0
- finance_dev/models/synclogosop.py +146 -0
- finance_dev/models/technicalindicatorresponse.py +43 -0
- finance_dev/models/technicalindicatortype.py +21 -0
- finance_dev/models/technicalpatternsresponse.py +249 -0
- finance_dev/models/tenderofferidentifiertype.py +26 -0
- finance_dev/models/tenderoffersresponse.py +548 -0
- finance_dev/models/tickchartbars.py +104 -0
- finance_dev/models/tickresolution.py +20 -0
- finance_dev/models/timeinforceenum.py +26 -0
- finance_dev/models/tradeorderlegv2.py +164 -0
- finance_dev/models/tradeorderv2.py +434 -0
- finance_dev/models/transcriptresponse.py +162 -0
- finance_dev/models/transcriptsresponse.py +89 -0
- finance_dev/models/treasuryyieldsresponse.py +160 -0
- finance_dev/models/unifiedsnapshotresponse.py +308 -0
- finance_dev/models/updateconfigwatchlistbyidop.py +65 -0
- finance_dev/models/updatewatchlistrequest_union.py +134 -0
- finance_dev/models/upgradesdowngradesresponse.py +98 -0
- finance_dev/models/usaspendingresponse.py +222 -0
- finance_dev/models/usptopatentsresponse.py +134 -0
- finance_dev/models/visaapplicationsresponse.py +228 -0
- finance_dev/models/watchlist.py +68 -0
- finance_dev/models/watchlistrequest.py +43 -0
- finance_dev/models/watchlistresponse.py +44 -0
- finance_dev/news_sdk.py +829 -0
- finance_dev/options.py +3443 -0
- finance_dev/orders.py +1907 -0
- finance_dev/ownership.py +1386 -0
- finance_dev/predictions.py +29 -0
- finance_dev/predictions_orders.py +852 -0
- finance_dev/py.typed +1 -0
- finance_dev/sdk.py +347 -0
- finance_dev/sdkconfiguration.py +50 -0
- finance_dev/signals.py +338 -0
- finance_dev/stocks.py +3131 -0
- finance_dev/technicalanalysis_sdk.py +1137 -0
- finance_dev/types/__init__.py +25 -0
- finance_dev/types/base64fileinput.py +44 -0
- finance_dev/types/basemodel.py +78 -0
- finance_dev/utils/__init__.py +181 -0
- finance_dev/utils/annotations.py +80 -0
- finance_dev/utils/datetimes.py +42 -0
- finance_dev/utils/dynamic_imports.py +55 -0
- finance_dev/utils/enums.py +135 -0
- finance_dev/utils/eventstreaming.py +327 -0
- finance_dev/utils/forms.py +240 -0
- finance_dev/utils/headers.py +137 -0
- finance_dev/utils/logger.py +23 -0
- finance_dev/utils/metadata.py +120 -0
- finance_dev/utils/queryparams.py +218 -0
- finance_dev/utils/requestbodies.py +68 -0
- finance_dev/utils/retries.py +373 -0
- finance_dev/utils/security.py +199 -0
- finance_dev/utils/serializers.py +327 -0
- finance_dev/utils/unmarshal_json_response.py +39 -0
- finance_dev/utils/url.py +155 -0
- finance_dev/utils/values.py +143 -0
- finance_dev/watchlist_sdk.py +1583 -0
- finance_dev/websocket/__init__.py +57 -0
- finance_dev/websocket/account.py +5 -0
- finance_dev/websocket/auth.py +124 -0
- finance_dev/websocket/chart.py +5 -0
- finance_dev/websocket/codec.py +66 -0
- finance_dev/websocket/config.py +52 -0
- finance_dev/websocket/errors.py +54 -0
- finance_dev/websocket/market.py +5 -0
- finance_dev/websocket/models/__init__.py +52 -0
- finance_dev/websocket/models/account.py +60 -0
- finance_dev/websocket/models/chart.py +44 -0
- finance_dev/websocket/models/common.py +85 -0
- finance_dev/websocket/models/market.py +113 -0
- finance_dev/websocket/resources.py +327 -0
- finance_dev/websocket/sdk.py +13 -0
- finance_dev/websocket/transport/async_connection.py +493 -0
- finance_dev/websocket/transport/base.py +78 -0
- finance_dev/websocket/transport/sync_connection.py +470 -0
- finance_dev-0.9.0.dist-info/METADATA +913 -0
- finance_dev-0.9.0.dist-info/RECORD +486 -0
- finance_dev-0.9.0.dist-info/WHEEL +5 -0
- finance_dev-0.9.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,852 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
# @generated-id: f705e3d3456f
|
|
3
|
+
|
|
4
|
+
from .basesdk import BaseSDK
|
|
5
|
+
from datetime import datetime
|
|
6
|
+
from finance_dev import errors, models, utils
|
|
7
|
+
from finance_dev._hooks import HookContext
|
|
8
|
+
from finance_dev.types import OptionalNullable, UNSET
|
|
9
|
+
from finance_dev.utils.unmarshal_json_response import unmarshal_json_response
|
|
10
|
+
from typing import Any, Mapping, Optional
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class PredictionsOrders(BaseSDK):
|
|
14
|
+
def list_prediction_orders(
|
|
15
|
+
self,
|
|
16
|
+
*,
|
|
17
|
+
status: Optional[str] = None,
|
|
18
|
+
account_id: Optional[str] = None,
|
|
19
|
+
symbol: Optional[str] = None,
|
|
20
|
+
limit: Optional[int] = 50,
|
|
21
|
+
cursor: Optional[str] = None,
|
|
22
|
+
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
23
|
+
server_url: Optional[str] = None,
|
|
24
|
+
timeout_ms: Optional[int] = None,
|
|
25
|
+
http_headers: Optional[Mapping[str, str]] = None,
|
|
26
|
+
) -> models.ListPredictionOrdersResponse:
|
|
27
|
+
r"""List prediction orders
|
|
28
|
+
|
|
29
|
+
**Closed beta.** Available only to accounts enrolled in the prediction-market orders closed beta. Returns the authenticated user's prediction-market orders, newest first, one page at a time.
|
|
30
|
+
|
|
31
|
+
If set, this operation will use `client_id` from the global security.
|
|
32
|
+
|
|
33
|
+
:param status: Comma-separated order states, or `open` for every state an order can still rest or execute in (`pending_new`, `new`, `partially_filled`, `unknown`). An unknown state returns `400`.
|
|
34
|
+
:param account_id: Only orders on this account.
|
|
35
|
+
:param symbol: Only orders on this contract symbol.
|
|
36
|
+
:param limit: Orders per page. Values above 200 are clamped to 200. `0`, a negative value, or a non-integer returns `400`.
|
|
37
|
+
:param cursor: `nextCursor` from the previous page.
|
|
38
|
+
:param retries: Override the default retry configuration for this method
|
|
39
|
+
:param server_url: Override the default server URL for this method
|
|
40
|
+
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
41
|
+
:param http_headers: Additional headers to set or replace on requests.
|
|
42
|
+
"""
|
|
43
|
+
base_url = None
|
|
44
|
+
url_variables = None
|
|
45
|
+
if timeout_ms is None:
|
|
46
|
+
timeout_ms = self.sdk_configuration.timeout_ms
|
|
47
|
+
|
|
48
|
+
if timeout_ms is None:
|
|
49
|
+
timeout_ms = 30000
|
|
50
|
+
|
|
51
|
+
if server_url is not None:
|
|
52
|
+
base_url = server_url
|
|
53
|
+
else:
|
|
54
|
+
base_url = self._get_url(base_url, url_variables)
|
|
55
|
+
|
|
56
|
+
request = models.ListPredictionOrdersRequest(
|
|
57
|
+
status=status,
|
|
58
|
+
account_id=account_id,
|
|
59
|
+
symbol=symbol,
|
|
60
|
+
limit=limit,
|
|
61
|
+
cursor=cursor,
|
|
62
|
+
)
|
|
63
|
+
|
|
64
|
+
req = self._build_request(
|
|
65
|
+
method="GET",
|
|
66
|
+
path="/v1/predictions/orders",
|
|
67
|
+
base_url=base_url,
|
|
68
|
+
url_variables=url_variables,
|
|
69
|
+
request=request,
|
|
70
|
+
request_body_required=False,
|
|
71
|
+
request_has_path_params=False,
|
|
72
|
+
request_has_query_params=True,
|
|
73
|
+
user_agent_header="user-agent",
|
|
74
|
+
accept_header_value="application/json",
|
|
75
|
+
http_headers=http_headers,
|
|
76
|
+
security=self.sdk_configuration.security,
|
|
77
|
+
allow_empty_value=None,
|
|
78
|
+
allowed_fields=["client_id"],
|
|
79
|
+
timeout_ms=timeout_ms,
|
|
80
|
+
)
|
|
81
|
+
|
|
82
|
+
if retries == UNSET:
|
|
83
|
+
if self.sdk_configuration.retry_config is not UNSET:
|
|
84
|
+
retries = self.sdk_configuration.retry_config
|
|
85
|
+
else:
|
|
86
|
+
retries = utils.RetryConfig(
|
|
87
|
+
"backoff", utils.BackoffStrategy(500, 8000, 1.5, 60000), True
|
|
88
|
+
)
|
|
89
|
+
|
|
90
|
+
retry_config = None
|
|
91
|
+
if isinstance(retries, utils.RetryConfig):
|
|
92
|
+
retry_config = (retries, ["429", "500", "502", "503", "504"])
|
|
93
|
+
|
|
94
|
+
http_res = self.do_request(
|
|
95
|
+
hook_ctx=HookContext(
|
|
96
|
+
config=self.sdk_configuration,
|
|
97
|
+
base_url=base_url or "",
|
|
98
|
+
operation_id="listPredictionOrders",
|
|
99
|
+
oauth2_scopes=[],
|
|
100
|
+
security_source=self.sdk_configuration.security,
|
|
101
|
+
tags=["Prediction Orders"],
|
|
102
|
+
extensions=None,
|
|
103
|
+
),
|
|
104
|
+
request=req,
|
|
105
|
+
is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c),
|
|
106
|
+
retry_config=retry_config,
|
|
107
|
+
)
|
|
108
|
+
|
|
109
|
+
response_data: Any = None
|
|
110
|
+
if utils.match_response(http_res, "200", "application/json"):
|
|
111
|
+
return models.ListPredictionOrdersResponse(
|
|
112
|
+
object=unmarshal_json_response(
|
|
113
|
+
Optional[models.ListPredictionOrdersResponseBody], http_res
|
|
114
|
+
),
|
|
115
|
+
http_meta=models.HTTPMetadata(request=req, response=http_res),
|
|
116
|
+
)
|
|
117
|
+
if utils.match_response(http_res, "400", "application/json"):
|
|
118
|
+
response_data = unmarshal_json_response(
|
|
119
|
+
errors.PredOrdersErrorEnvelopeData, http_res
|
|
120
|
+
)
|
|
121
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
122
|
+
request=req, response=http_res
|
|
123
|
+
)
|
|
124
|
+
raise errors.PredOrdersErrorEnvelope(response_data, http_res)
|
|
125
|
+
if utils.match_response(http_res, "401", "application/json"):
|
|
126
|
+
response_data = unmarshal_json_response(errors.UnauthorizedUnion, http_res)
|
|
127
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
128
|
+
request=req, response=http_res
|
|
129
|
+
)
|
|
130
|
+
raise errors.Unauthorized(response_data, http_res)
|
|
131
|
+
if utils.match_response(http_res, "500", "application/json"):
|
|
132
|
+
response_data = unmarshal_json_response(
|
|
133
|
+
errors.PredOrdersErrorEnvelopeData, http_res
|
|
134
|
+
)
|
|
135
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
136
|
+
request=req, response=http_res
|
|
137
|
+
)
|
|
138
|
+
raise errors.PredOrdersErrorEnvelope(response_data, http_res)
|
|
139
|
+
if utils.match_response(http_res, "4XX", "*"):
|
|
140
|
+
http_res_text = utils.stream_to_text(http_res)
|
|
141
|
+
raise errors.APIError("API error occurred", http_res, http_res_text)
|
|
142
|
+
if utils.match_response(http_res, "5XX", "*"):
|
|
143
|
+
http_res_text = utils.stream_to_text(http_res)
|
|
144
|
+
raise errors.APIError("API error occurred", http_res, http_res_text)
|
|
145
|
+
|
|
146
|
+
raise errors.APIError("Unexpected response received", http_res)
|
|
147
|
+
|
|
148
|
+
async def list_prediction_orders_async(
|
|
149
|
+
self,
|
|
150
|
+
*,
|
|
151
|
+
status: Optional[str] = None,
|
|
152
|
+
account_id: Optional[str] = None,
|
|
153
|
+
symbol: Optional[str] = None,
|
|
154
|
+
limit: Optional[int] = 50,
|
|
155
|
+
cursor: Optional[str] = None,
|
|
156
|
+
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
157
|
+
server_url: Optional[str] = None,
|
|
158
|
+
timeout_ms: Optional[int] = None,
|
|
159
|
+
http_headers: Optional[Mapping[str, str]] = None,
|
|
160
|
+
) -> models.ListPredictionOrdersResponse:
|
|
161
|
+
r"""List prediction orders
|
|
162
|
+
|
|
163
|
+
**Closed beta.** Available only to accounts enrolled in the prediction-market orders closed beta. Returns the authenticated user's prediction-market orders, newest first, one page at a time.
|
|
164
|
+
|
|
165
|
+
If set, this operation will use `client_id` from the global security.
|
|
166
|
+
|
|
167
|
+
:param status: Comma-separated order states, or `open` for every state an order can still rest or execute in (`pending_new`, `new`, `partially_filled`, `unknown`). An unknown state returns `400`.
|
|
168
|
+
:param account_id: Only orders on this account.
|
|
169
|
+
:param symbol: Only orders on this contract symbol.
|
|
170
|
+
:param limit: Orders per page. Values above 200 are clamped to 200. `0`, a negative value, or a non-integer returns `400`.
|
|
171
|
+
:param cursor: `nextCursor` from the previous page.
|
|
172
|
+
:param retries: Override the default retry configuration for this method
|
|
173
|
+
:param server_url: Override the default server URL for this method
|
|
174
|
+
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
175
|
+
:param http_headers: Additional headers to set or replace on requests.
|
|
176
|
+
"""
|
|
177
|
+
base_url = None
|
|
178
|
+
url_variables = None
|
|
179
|
+
if timeout_ms is None:
|
|
180
|
+
timeout_ms = self.sdk_configuration.timeout_ms
|
|
181
|
+
|
|
182
|
+
if timeout_ms is None:
|
|
183
|
+
timeout_ms = 30000
|
|
184
|
+
|
|
185
|
+
if server_url is not None:
|
|
186
|
+
base_url = server_url
|
|
187
|
+
else:
|
|
188
|
+
base_url = self._get_url(base_url, url_variables)
|
|
189
|
+
|
|
190
|
+
request = models.ListPredictionOrdersRequest(
|
|
191
|
+
status=status,
|
|
192
|
+
account_id=account_id,
|
|
193
|
+
symbol=symbol,
|
|
194
|
+
limit=limit,
|
|
195
|
+
cursor=cursor,
|
|
196
|
+
)
|
|
197
|
+
|
|
198
|
+
req = self._build_request_async(
|
|
199
|
+
method="GET",
|
|
200
|
+
path="/v1/predictions/orders",
|
|
201
|
+
base_url=base_url,
|
|
202
|
+
url_variables=url_variables,
|
|
203
|
+
request=request,
|
|
204
|
+
request_body_required=False,
|
|
205
|
+
request_has_path_params=False,
|
|
206
|
+
request_has_query_params=True,
|
|
207
|
+
user_agent_header="user-agent",
|
|
208
|
+
accept_header_value="application/json",
|
|
209
|
+
http_headers=http_headers,
|
|
210
|
+
security=self.sdk_configuration.security,
|
|
211
|
+
allow_empty_value=None,
|
|
212
|
+
allowed_fields=["client_id"],
|
|
213
|
+
timeout_ms=timeout_ms,
|
|
214
|
+
)
|
|
215
|
+
|
|
216
|
+
if retries == UNSET:
|
|
217
|
+
if self.sdk_configuration.retry_config is not UNSET:
|
|
218
|
+
retries = self.sdk_configuration.retry_config
|
|
219
|
+
else:
|
|
220
|
+
retries = utils.RetryConfig(
|
|
221
|
+
"backoff", utils.BackoffStrategy(500, 8000, 1.5, 60000), True
|
|
222
|
+
)
|
|
223
|
+
|
|
224
|
+
retry_config = None
|
|
225
|
+
if isinstance(retries, utils.RetryConfig):
|
|
226
|
+
retry_config = (retries, ["429", "500", "502", "503", "504"])
|
|
227
|
+
|
|
228
|
+
http_res = await self.do_request_async(
|
|
229
|
+
hook_ctx=HookContext(
|
|
230
|
+
config=self.sdk_configuration,
|
|
231
|
+
base_url=base_url or "",
|
|
232
|
+
operation_id="listPredictionOrders",
|
|
233
|
+
oauth2_scopes=[],
|
|
234
|
+
security_source=self.sdk_configuration.security,
|
|
235
|
+
tags=["Prediction Orders"],
|
|
236
|
+
extensions=None,
|
|
237
|
+
),
|
|
238
|
+
request=req,
|
|
239
|
+
is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c),
|
|
240
|
+
retry_config=retry_config,
|
|
241
|
+
)
|
|
242
|
+
|
|
243
|
+
response_data: Any = None
|
|
244
|
+
if utils.match_response(http_res, "200", "application/json"):
|
|
245
|
+
return models.ListPredictionOrdersResponse(
|
|
246
|
+
object=unmarshal_json_response(
|
|
247
|
+
Optional[models.ListPredictionOrdersResponseBody], http_res
|
|
248
|
+
),
|
|
249
|
+
http_meta=models.HTTPMetadata(request=req, response=http_res),
|
|
250
|
+
)
|
|
251
|
+
if utils.match_response(http_res, "400", "application/json"):
|
|
252
|
+
response_data = unmarshal_json_response(
|
|
253
|
+
errors.PredOrdersErrorEnvelopeData, http_res
|
|
254
|
+
)
|
|
255
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
256
|
+
request=req, response=http_res
|
|
257
|
+
)
|
|
258
|
+
raise errors.PredOrdersErrorEnvelope(response_data, http_res)
|
|
259
|
+
if utils.match_response(http_res, "401", "application/json"):
|
|
260
|
+
response_data = unmarshal_json_response(errors.UnauthorizedUnion, http_res)
|
|
261
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
262
|
+
request=req, response=http_res
|
|
263
|
+
)
|
|
264
|
+
raise errors.Unauthorized(response_data, http_res)
|
|
265
|
+
if utils.match_response(http_res, "500", "application/json"):
|
|
266
|
+
response_data = unmarshal_json_response(
|
|
267
|
+
errors.PredOrdersErrorEnvelopeData, http_res
|
|
268
|
+
)
|
|
269
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
270
|
+
request=req, response=http_res
|
|
271
|
+
)
|
|
272
|
+
raise errors.PredOrdersErrorEnvelope(response_data, http_res)
|
|
273
|
+
if utils.match_response(http_res, "4XX", "*"):
|
|
274
|
+
http_res_text = await utils.stream_to_text_async(http_res)
|
|
275
|
+
raise errors.APIError("API error occurred", http_res, http_res_text)
|
|
276
|
+
if utils.match_response(http_res, "5XX", "*"):
|
|
277
|
+
http_res_text = await utils.stream_to_text_async(http_res)
|
|
278
|
+
raise errors.APIError("API error occurred", http_res, http_res_text)
|
|
279
|
+
|
|
280
|
+
raise errors.APIError("Unexpected response received", http_res)
|
|
281
|
+
|
|
282
|
+
def place_prediction_order(
|
|
283
|
+
self,
|
|
284
|
+
*,
|
|
285
|
+
account_id: str,
|
|
286
|
+
order_type: models.OrderType,
|
|
287
|
+
outcome: models.PredOrdersPlaceOrderRequestOutcome,
|
|
288
|
+
quantity: str,
|
|
289
|
+
side: models.PredOrdersPlaceOrderRequestSide,
|
|
290
|
+
symbol: str,
|
|
291
|
+
time_in_force: models.TimeInForce,
|
|
292
|
+
idempotency_key: Optional[str] = None,
|
|
293
|
+
client_order_ref: Optional[str] = None,
|
|
294
|
+
expire_time: Optional[datetime] = None,
|
|
295
|
+
price: Optional[str] = None,
|
|
296
|
+
stop_px: Optional[str] = None,
|
|
297
|
+
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
298
|
+
server_url: Optional[str] = None,
|
|
299
|
+
timeout_ms: Optional[int] = None,
|
|
300
|
+
http_headers: Optional[Mapping[str, str]] = None,
|
|
301
|
+
) -> models.PlacePredictionOrderResponse:
|
|
302
|
+
r"""Place prediction order
|
|
303
|
+
|
|
304
|
+
**Closed beta.** Available only to accounts enrolled in the prediction-market orders closed beta. Places a prediction-market order for the authenticated user. Returns `202` as soon as the order is on its way to the venue, normally in state `pending_new`. Read the venue's answer back with Get Prediction Order.
|
|
305
|
+
|
|
306
|
+
If set, this operation will use `client_id` from the global security.
|
|
307
|
+
|
|
308
|
+
:param account_id: The account to place the order on.
|
|
309
|
+
:param order_type:
|
|
310
|
+
:param outcome: The binary outcome the order trades. It is never inferred from `side`.
|
|
311
|
+
:param quantity: Number of contracts as an exact decimal string. Must be greater than zero.
|
|
312
|
+
:param side:
|
|
313
|
+
:param symbol: Prediction-market contract symbol, as returned by search or Get Event Contracts.
|
|
314
|
+
:param time_in_force:
|
|
315
|
+
:param idempotency_key: Makes a retry safe. A placement repeating a key you already used returns the order that key placed and places nothing new. The same key with different order terms returns `400` `INVALID_ORDER`. Without it, every request is a new order. Send it at most once.
|
|
316
|
+
:param client_order_ref: Your own reference for the order, unique per account. Reusing one returns `409` `CLIENT_ORDER_REF_IN_USE`; it is not a retry key. To retry safely, use the `Idempotency-Key` header.
|
|
317
|
+
:param expire_time: Required when `timeInForce` is `gtd`.
|
|
318
|
+
:param price: Limit price as an exact decimal string. Required for `limit` and `stop_limit`.
|
|
319
|
+
:param stop_px: Stop price as an exact decimal string. Required for `stop` and `stop_limit`.
|
|
320
|
+
:param retries: Override the default retry configuration for this method
|
|
321
|
+
:param server_url: Override the default server URL for this method
|
|
322
|
+
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
323
|
+
:param http_headers: Additional headers to set or replace on requests.
|
|
324
|
+
"""
|
|
325
|
+
base_url = None
|
|
326
|
+
url_variables = None
|
|
327
|
+
if timeout_ms is None:
|
|
328
|
+
timeout_ms = self.sdk_configuration.timeout_ms
|
|
329
|
+
|
|
330
|
+
if timeout_ms is None:
|
|
331
|
+
timeout_ms = 30000
|
|
332
|
+
|
|
333
|
+
if server_url is not None:
|
|
334
|
+
base_url = server_url
|
|
335
|
+
else:
|
|
336
|
+
base_url = self._get_url(base_url, url_variables)
|
|
337
|
+
|
|
338
|
+
request = models.PlacePredictionOrderRequest(
|
|
339
|
+
idempotency_key=idempotency_key,
|
|
340
|
+
pred_orders_place_order_request=models.PredOrdersPlaceOrderRequest(
|
|
341
|
+
account_id=account_id,
|
|
342
|
+
client_order_ref=client_order_ref,
|
|
343
|
+
expire_time=expire_time,
|
|
344
|
+
order_type=order_type,
|
|
345
|
+
outcome=outcome,
|
|
346
|
+
price=price,
|
|
347
|
+
quantity=quantity,
|
|
348
|
+
side=side,
|
|
349
|
+
stop_px=stop_px,
|
|
350
|
+
symbol=symbol,
|
|
351
|
+
time_in_force=time_in_force,
|
|
352
|
+
),
|
|
353
|
+
)
|
|
354
|
+
|
|
355
|
+
req = self._build_request(
|
|
356
|
+
method="POST",
|
|
357
|
+
path="/v1/predictions/orders",
|
|
358
|
+
base_url=base_url,
|
|
359
|
+
url_variables=url_variables,
|
|
360
|
+
request=request,
|
|
361
|
+
request_body_required=True,
|
|
362
|
+
request_has_path_params=False,
|
|
363
|
+
request_has_query_params=True,
|
|
364
|
+
user_agent_header="user-agent",
|
|
365
|
+
accept_header_value="application/json",
|
|
366
|
+
http_headers=http_headers,
|
|
367
|
+
security=self.sdk_configuration.security,
|
|
368
|
+
get_serialized_body=lambda: utils.serialize_request_body(
|
|
369
|
+
request.pred_orders_place_order_request,
|
|
370
|
+
False,
|
|
371
|
+
False,
|
|
372
|
+
"json",
|
|
373
|
+
models.PredOrdersPlaceOrderRequest,
|
|
374
|
+
),
|
|
375
|
+
allow_empty_value=None,
|
|
376
|
+
allowed_fields=["client_id"],
|
|
377
|
+
timeout_ms=timeout_ms,
|
|
378
|
+
)
|
|
379
|
+
|
|
380
|
+
if retries == UNSET:
|
|
381
|
+
if self.sdk_configuration.retry_config is not UNSET:
|
|
382
|
+
retries = self.sdk_configuration.retry_config
|
|
383
|
+
else:
|
|
384
|
+
retries = utils.RetryConfig(
|
|
385
|
+
"backoff", utils.BackoffStrategy(500, 8000, 1.5, 60000), True
|
|
386
|
+
)
|
|
387
|
+
|
|
388
|
+
retry_config = None
|
|
389
|
+
if isinstance(retries, utils.RetryConfig):
|
|
390
|
+
retry_config = (retries, ["429", "500", "502", "503", "504"])
|
|
391
|
+
|
|
392
|
+
http_res = self.do_request(
|
|
393
|
+
hook_ctx=HookContext(
|
|
394
|
+
config=self.sdk_configuration,
|
|
395
|
+
base_url=base_url or "",
|
|
396
|
+
operation_id="placePredictionOrder",
|
|
397
|
+
oauth2_scopes=[],
|
|
398
|
+
security_source=self.sdk_configuration.security,
|
|
399
|
+
tags=["Prediction Orders"],
|
|
400
|
+
extensions=None,
|
|
401
|
+
),
|
|
402
|
+
request=req,
|
|
403
|
+
is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c),
|
|
404
|
+
retry_config=retry_config,
|
|
405
|
+
)
|
|
406
|
+
|
|
407
|
+
response_data: Any = None
|
|
408
|
+
if utils.match_response(http_res, "202", "application/json"):
|
|
409
|
+
return models.PlacePredictionOrderResponse(
|
|
410
|
+
object=unmarshal_json_response(
|
|
411
|
+
Optional[models.PlacePredictionOrderResponseBody], http_res
|
|
412
|
+
),
|
|
413
|
+
http_meta=models.HTTPMetadata(request=req, response=http_res),
|
|
414
|
+
)
|
|
415
|
+
if utils.match_response(http_res, "401", "application/json"):
|
|
416
|
+
response_data = unmarshal_json_response(errors.UnauthorizedUnion, http_res)
|
|
417
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
418
|
+
request=req, response=http_res
|
|
419
|
+
)
|
|
420
|
+
raise errors.Unauthorized(response_data, http_res)
|
|
421
|
+
if utils.match_response(http_res, ["400", "409", "429"], "application/json"):
|
|
422
|
+
response_data = unmarshal_json_response(
|
|
423
|
+
errors.PredOrdersErrorEnvelopeData, http_res
|
|
424
|
+
)
|
|
425
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
426
|
+
request=req, response=http_res
|
|
427
|
+
)
|
|
428
|
+
raise errors.PredOrdersErrorEnvelope(response_data, http_res)
|
|
429
|
+
if utils.match_response(http_res, ["500", "503", "504"], "application/json"):
|
|
430
|
+
response_data = unmarshal_json_response(
|
|
431
|
+
errors.PredOrdersErrorEnvelopeData, http_res
|
|
432
|
+
)
|
|
433
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
434
|
+
request=req, response=http_res
|
|
435
|
+
)
|
|
436
|
+
raise errors.PredOrdersErrorEnvelope(response_data, http_res)
|
|
437
|
+
if utils.match_response(http_res, "4XX", "*"):
|
|
438
|
+
http_res_text = utils.stream_to_text(http_res)
|
|
439
|
+
raise errors.APIError("API error occurred", http_res, http_res_text)
|
|
440
|
+
if utils.match_response(http_res, "5XX", "*"):
|
|
441
|
+
http_res_text = utils.stream_to_text(http_res)
|
|
442
|
+
raise errors.APIError("API error occurred", http_res, http_res_text)
|
|
443
|
+
|
|
444
|
+
raise errors.APIError("Unexpected response received", http_res)
|
|
445
|
+
|
|
446
|
+
async def place_prediction_order_async(
|
|
447
|
+
self,
|
|
448
|
+
*,
|
|
449
|
+
account_id: str,
|
|
450
|
+
order_type: models.OrderType,
|
|
451
|
+
outcome: models.PredOrdersPlaceOrderRequestOutcome,
|
|
452
|
+
quantity: str,
|
|
453
|
+
side: models.PredOrdersPlaceOrderRequestSide,
|
|
454
|
+
symbol: str,
|
|
455
|
+
time_in_force: models.TimeInForce,
|
|
456
|
+
idempotency_key: Optional[str] = None,
|
|
457
|
+
client_order_ref: Optional[str] = None,
|
|
458
|
+
expire_time: Optional[datetime] = None,
|
|
459
|
+
price: Optional[str] = None,
|
|
460
|
+
stop_px: Optional[str] = None,
|
|
461
|
+
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
462
|
+
server_url: Optional[str] = None,
|
|
463
|
+
timeout_ms: Optional[int] = None,
|
|
464
|
+
http_headers: Optional[Mapping[str, str]] = None,
|
|
465
|
+
) -> models.PlacePredictionOrderResponse:
|
|
466
|
+
r"""Place prediction order
|
|
467
|
+
|
|
468
|
+
**Closed beta.** Available only to accounts enrolled in the prediction-market orders closed beta. Places a prediction-market order for the authenticated user. Returns `202` as soon as the order is on its way to the venue, normally in state `pending_new`. Read the venue's answer back with Get Prediction Order.
|
|
469
|
+
|
|
470
|
+
If set, this operation will use `client_id` from the global security.
|
|
471
|
+
|
|
472
|
+
:param account_id: The account to place the order on.
|
|
473
|
+
:param order_type:
|
|
474
|
+
:param outcome: The binary outcome the order trades. It is never inferred from `side`.
|
|
475
|
+
:param quantity: Number of contracts as an exact decimal string. Must be greater than zero.
|
|
476
|
+
:param side:
|
|
477
|
+
:param symbol: Prediction-market contract symbol, as returned by search or Get Event Contracts.
|
|
478
|
+
:param time_in_force:
|
|
479
|
+
:param idempotency_key: Makes a retry safe. A placement repeating a key you already used returns the order that key placed and places nothing new. The same key with different order terms returns `400` `INVALID_ORDER`. Without it, every request is a new order. Send it at most once.
|
|
480
|
+
:param client_order_ref: Your own reference for the order, unique per account. Reusing one returns `409` `CLIENT_ORDER_REF_IN_USE`; it is not a retry key. To retry safely, use the `Idempotency-Key` header.
|
|
481
|
+
:param expire_time: Required when `timeInForce` is `gtd`.
|
|
482
|
+
:param price: Limit price as an exact decimal string. Required for `limit` and `stop_limit`.
|
|
483
|
+
:param stop_px: Stop price as an exact decimal string. Required for `stop` and `stop_limit`.
|
|
484
|
+
:param retries: Override the default retry configuration for this method
|
|
485
|
+
:param server_url: Override the default server URL for this method
|
|
486
|
+
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
487
|
+
:param http_headers: Additional headers to set or replace on requests.
|
|
488
|
+
"""
|
|
489
|
+
base_url = None
|
|
490
|
+
url_variables = None
|
|
491
|
+
if timeout_ms is None:
|
|
492
|
+
timeout_ms = self.sdk_configuration.timeout_ms
|
|
493
|
+
|
|
494
|
+
if timeout_ms is None:
|
|
495
|
+
timeout_ms = 30000
|
|
496
|
+
|
|
497
|
+
if server_url is not None:
|
|
498
|
+
base_url = server_url
|
|
499
|
+
else:
|
|
500
|
+
base_url = self._get_url(base_url, url_variables)
|
|
501
|
+
|
|
502
|
+
request = models.PlacePredictionOrderRequest(
|
|
503
|
+
idempotency_key=idempotency_key,
|
|
504
|
+
pred_orders_place_order_request=models.PredOrdersPlaceOrderRequest(
|
|
505
|
+
account_id=account_id,
|
|
506
|
+
client_order_ref=client_order_ref,
|
|
507
|
+
expire_time=expire_time,
|
|
508
|
+
order_type=order_type,
|
|
509
|
+
outcome=outcome,
|
|
510
|
+
price=price,
|
|
511
|
+
quantity=quantity,
|
|
512
|
+
side=side,
|
|
513
|
+
stop_px=stop_px,
|
|
514
|
+
symbol=symbol,
|
|
515
|
+
time_in_force=time_in_force,
|
|
516
|
+
),
|
|
517
|
+
)
|
|
518
|
+
|
|
519
|
+
req = self._build_request_async(
|
|
520
|
+
method="POST",
|
|
521
|
+
path="/v1/predictions/orders",
|
|
522
|
+
base_url=base_url,
|
|
523
|
+
url_variables=url_variables,
|
|
524
|
+
request=request,
|
|
525
|
+
request_body_required=True,
|
|
526
|
+
request_has_path_params=False,
|
|
527
|
+
request_has_query_params=True,
|
|
528
|
+
user_agent_header="user-agent",
|
|
529
|
+
accept_header_value="application/json",
|
|
530
|
+
http_headers=http_headers,
|
|
531
|
+
security=self.sdk_configuration.security,
|
|
532
|
+
get_serialized_body=lambda: utils.serialize_request_body(
|
|
533
|
+
request.pred_orders_place_order_request,
|
|
534
|
+
False,
|
|
535
|
+
False,
|
|
536
|
+
"json",
|
|
537
|
+
models.PredOrdersPlaceOrderRequest,
|
|
538
|
+
),
|
|
539
|
+
allow_empty_value=None,
|
|
540
|
+
allowed_fields=["client_id"],
|
|
541
|
+
timeout_ms=timeout_ms,
|
|
542
|
+
)
|
|
543
|
+
|
|
544
|
+
if retries == UNSET:
|
|
545
|
+
if self.sdk_configuration.retry_config is not UNSET:
|
|
546
|
+
retries = self.sdk_configuration.retry_config
|
|
547
|
+
else:
|
|
548
|
+
retries = utils.RetryConfig(
|
|
549
|
+
"backoff", utils.BackoffStrategy(500, 8000, 1.5, 60000), True
|
|
550
|
+
)
|
|
551
|
+
|
|
552
|
+
retry_config = None
|
|
553
|
+
if isinstance(retries, utils.RetryConfig):
|
|
554
|
+
retry_config = (retries, ["429", "500", "502", "503", "504"])
|
|
555
|
+
|
|
556
|
+
http_res = await self.do_request_async(
|
|
557
|
+
hook_ctx=HookContext(
|
|
558
|
+
config=self.sdk_configuration,
|
|
559
|
+
base_url=base_url or "",
|
|
560
|
+
operation_id="placePredictionOrder",
|
|
561
|
+
oauth2_scopes=[],
|
|
562
|
+
security_source=self.sdk_configuration.security,
|
|
563
|
+
tags=["Prediction Orders"],
|
|
564
|
+
extensions=None,
|
|
565
|
+
),
|
|
566
|
+
request=req,
|
|
567
|
+
is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c),
|
|
568
|
+
retry_config=retry_config,
|
|
569
|
+
)
|
|
570
|
+
|
|
571
|
+
response_data: Any = None
|
|
572
|
+
if utils.match_response(http_res, "202", "application/json"):
|
|
573
|
+
return models.PlacePredictionOrderResponse(
|
|
574
|
+
object=unmarshal_json_response(
|
|
575
|
+
Optional[models.PlacePredictionOrderResponseBody], http_res
|
|
576
|
+
),
|
|
577
|
+
http_meta=models.HTTPMetadata(request=req, response=http_res),
|
|
578
|
+
)
|
|
579
|
+
if utils.match_response(http_res, "401", "application/json"):
|
|
580
|
+
response_data = unmarshal_json_response(errors.UnauthorizedUnion, http_res)
|
|
581
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
582
|
+
request=req, response=http_res
|
|
583
|
+
)
|
|
584
|
+
raise errors.Unauthorized(response_data, http_res)
|
|
585
|
+
if utils.match_response(http_res, ["400", "409", "429"], "application/json"):
|
|
586
|
+
response_data = unmarshal_json_response(
|
|
587
|
+
errors.PredOrdersErrorEnvelopeData, http_res
|
|
588
|
+
)
|
|
589
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
590
|
+
request=req, response=http_res
|
|
591
|
+
)
|
|
592
|
+
raise errors.PredOrdersErrorEnvelope(response_data, http_res)
|
|
593
|
+
if utils.match_response(http_res, ["500", "503", "504"], "application/json"):
|
|
594
|
+
response_data = unmarshal_json_response(
|
|
595
|
+
errors.PredOrdersErrorEnvelopeData, http_res
|
|
596
|
+
)
|
|
597
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
598
|
+
request=req, response=http_res
|
|
599
|
+
)
|
|
600
|
+
raise errors.PredOrdersErrorEnvelope(response_data, http_res)
|
|
601
|
+
if utils.match_response(http_res, "4XX", "*"):
|
|
602
|
+
http_res_text = await utils.stream_to_text_async(http_res)
|
|
603
|
+
raise errors.APIError("API error occurred", http_res, http_res_text)
|
|
604
|
+
if utils.match_response(http_res, "5XX", "*"):
|
|
605
|
+
http_res_text = await utils.stream_to_text_async(http_res)
|
|
606
|
+
raise errors.APIError("API error occurred", http_res, http_res_text)
|
|
607
|
+
|
|
608
|
+
raise errors.APIError("Unexpected response received", http_res)
|
|
609
|
+
|
|
610
|
+
def get_prediction_order(
|
|
611
|
+
self,
|
|
612
|
+
*,
|
|
613
|
+
order_id: str,
|
|
614
|
+
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
615
|
+
server_url: Optional[str] = None,
|
|
616
|
+
timeout_ms: Optional[int] = None,
|
|
617
|
+
http_headers: Optional[Mapping[str, str]] = None,
|
|
618
|
+
) -> models.GetPredictionOrderResponse:
|
|
619
|
+
r"""Get prediction order
|
|
620
|
+
|
|
621
|
+
**Closed beta.** Available only to accounts enrolled in the prediction-market orders closed beta. Returns one of the authenticated user's prediction-market orders together with every venue execution report against it.
|
|
622
|
+
|
|
623
|
+
If set, this operation will use `client_id` from the global security.
|
|
624
|
+
|
|
625
|
+
:param order_id: `orderId` returned by Place Prediction Order or List Prediction Orders.
|
|
626
|
+
:param retries: Override the default retry configuration for this method
|
|
627
|
+
:param server_url: Override the default server URL for this method
|
|
628
|
+
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
629
|
+
:param http_headers: Additional headers to set or replace on requests.
|
|
630
|
+
"""
|
|
631
|
+
base_url = None
|
|
632
|
+
url_variables = None
|
|
633
|
+
if timeout_ms is None:
|
|
634
|
+
timeout_ms = self.sdk_configuration.timeout_ms
|
|
635
|
+
|
|
636
|
+
if timeout_ms is None:
|
|
637
|
+
timeout_ms = 30000
|
|
638
|
+
|
|
639
|
+
if server_url is not None:
|
|
640
|
+
base_url = server_url
|
|
641
|
+
else:
|
|
642
|
+
base_url = self._get_url(base_url, url_variables)
|
|
643
|
+
|
|
644
|
+
request = models.GetPredictionOrderRequest(
|
|
645
|
+
order_id=order_id,
|
|
646
|
+
)
|
|
647
|
+
|
|
648
|
+
req = self._build_request(
|
|
649
|
+
method="GET",
|
|
650
|
+
path="/v1/predictions/orders/{orderId}",
|
|
651
|
+
base_url=base_url,
|
|
652
|
+
url_variables=url_variables,
|
|
653
|
+
request=request,
|
|
654
|
+
request_body_required=False,
|
|
655
|
+
request_has_path_params=True,
|
|
656
|
+
request_has_query_params=True,
|
|
657
|
+
user_agent_header="user-agent",
|
|
658
|
+
accept_header_value="application/json",
|
|
659
|
+
http_headers=http_headers,
|
|
660
|
+
security=self.sdk_configuration.security,
|
|
661
|
+
allow_empty_value=None,
|
|
662
|
+
allowed_fields=["client_id"],
|
|
663
|
+
timeout_ms=timeout_ms,
|
|
664
|
+
)
|
|
665
|
+
|
|
666
|
+
if retries == UNSET:
|
|
667
|
+
if self.sdk_configuration.retry_config is not UNSET:
|
|
668
|
+
retries = self.sdk_configuration.retry_config
|
|
669
|
+
else:
|
|
670
|
+
retries = utils.RetryConfig(
|
|
671
|
+
"backoff", utils.BackoffStrategy(500, 8000, 1.5, 60000), True
|
|
672
|
+
)
|
|
673
|
+
|
|
674
|
+
retry_config = None
|
|
675
|
+
if isinstance(retries, utils.RetryConfig):
|
|
676
|
+
retry_config = (retries, ["429", "500", "502", "503", "504"])
|
|
677
|
+
|
|
678
|
+
http_res = self.do_request(
|
|
679
|
+
hook_ctx=HookContext(
|
|
680
|
+
config=self.sdk_configuration,
|
|
681
|
+
base_url=base_url or "",
|
|
682
|
+
operation_id="getPredictionOrder",
|
|
683
|
+
oauth2_scopes=[],
|
|
684
|
+
security_source=self.sdk_configuration.security,
|
|
685
|
+
tags=["Prediction Orders"],
|
|
686
|
+
extensions=None,
|
|
687
|
+
),
|
|
688
|
+
request=req,
|
|
689
|
+
is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c),
|
|
690
|
+
retry_config=retry_config,
|
|
691
|
+
)
|
|
692
|
+
|
|
693
|
+
response_data: Any = None
|
|
694
|
+
if utils.match_response(http_res, "200", "application/json"):
|
|
695
|
+
return models.GetPredictionOrderResponse(
|
|
696
|
+
object=unmarshal_json_response(
|
|
697
|
+
Optional[models.GetPredictionOrderResponseBody], http_res
|
|
698
|
+
),
|
|
699
|
+
http_meta=models.HTTPMetadata(request=req, response=http_res),
|
|
700
|
+
)
|
|
701
|
+
if utils.match_response(http_res, "401", "application/json"):
|
|
702
|
+
response_data = unmarshal_json_response(errors.UnauthorizedUnion, http_res)
|
|
703
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
704
|
+
request=req, response=http_res
|
|
705
|
+
)
|
|
706
|
+
raise errors.Unauthorized(response_data, http_res)
|
|
707
|
+
if utils.match_response(http_res, "404", "application/json"):
|
|
708
|
+
response_data = unmarshal_json_response(
|
|
709
|
+
errors.PredOrdersErrorEnvelopeData, http_res
|
|
710
|
+
)
|
|
711
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
712
|
+
request=req, response=http_res
|
|
713
|
+
)
|
|
714
|
+
raise errors.PredOrdersErrorEnvelope(response_data, http_res)
|
|
715
|
+
if utils.match_response(http_res, "500", "application/json"):
|
|
716
|
+
response_data = unmarshal_json_response(
|
|
717
|
+
errors.PredOrdersErrorEnvelopeData, http_res
|
|
718
|
+
)
|
|
719
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
720
|
+
request=req, response=http_res
|
|
721
|
+
)
|
|
722
|
+
raise errors.PredOrdersErrorEnvelope(response_data, http_res)
|
|
723
|
+
if utils.match_response(http_res, "4XX", "*"):
|
|
724
|
+
http_res_text = utils.stream_to_text(http_res)
|
|
725
|
+
raise errors.APIError("API error occurred", http_res, http_res_text)
|
|
726
|
+
if utils.match_response(http_res, "5XX", "*"):
|
|
727
|
+
http_res_text = utils.stream_to_text(http_res)
|
|
728
|
+
raise errors.APIError("API error occurred", http_res, http_res_text)
|
|
729
|
+
|
|
730
|
+
raise errors.APIError("Unexpected response received", http_res)
|
|
731
|
+
|
|
732
|
+
async def get_prediction_order_async(
|
|
733
|
+
self,
|
|
734
|
+
*,
|
|
735
|
+
order_id: str,
|
|
736
|
+
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
737
|
+
server_url: Optional[str] = None,
|
|
738
|
+
timeout_ms: Optional[int] = None,
|
|
739
|
+
http_headers: Optional[Mapping[str, str]] = None,
|
|
740
|
+
) -> models.GetPredictionOrderResponse:
|
|
741
|
+
r"""Get prediction order
|
|
742
|
+
|
|
743
|
+
**Closed beta.** Available only to accounts enrolled in the prediction-market orders closed beta. Returns one of the authenticated user's prediction-market orders together with every venue execution report against it.
|
|
744
|
+
|
|
745
|
+
If set, this operation will use `client_id` from the global security.
|
|
746
|
+
|
|
747
|
+
:param order_id: `orderId` returned by Place Prediction Order or List Prediction Orders.
|
|
748
|
+
:param retries: Override the default retry configuration for this method
|
|
749
|
+
:param server_url: Override the default server URL for this method
|
|
750
|
+
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
751
|
+
:param http_headers: Additional headers to set or replace on requests.
|
|
752
|
+
"""
|
|
753
|
+
base_url = None
|
|
754
|
+
url_variables = None
|
|
755
|
+
if timeout_ms is None:
|
|
756
|
+
timeout_ms = self.sdk_configuration.timeout_ms
|
|
757
|
+
|
|
758
|
+
if timeout_ms is None:
|
|
759
|
+
timeout_ms = 30000
|
|
760
|
+
|
|
761
|
+
if server_url is not None:
|
|
762
|
+
base_url = server_url
|
|
763
|
+
else:
|
|
764
|
+
base_url = self._get_url(base_url, url_variables)
|
|
765
|
+
|
|
766
|
+
request = models.GetPredictionOrderRequest(
|
|
767
|
+
order_id=order_id,
|
|
768
|
+
)
|
|
769
|
+
|
|
770
|
+
req = self._build_request_async(
|
|
771
|
+
method="GET",
|
|
772
|
+
path="/v1/predictions/orders/{orderId}",
|
|
773
|
+
base_url=base_url,
|
|
774
|
+
url_variables=url_variables,
|
|
775
|
+
request=request,
|
|
776
|
+
request_body_required=False,
|
|
777
|
+
request_has_path_params=True,
|
|
778
|
+
request_has_query_params=True,
|
|
779
|
+
user_agent_header="user-agent",
|
|
780
|
+
accept_header_value="application/json",
|
|
781
|
+
http_headers=http_headers,
|
|
782
|
+
security=self.sdk_configuration.security,
|
|
783
|
+
allow_empty_value=None,
|
|
784
|
+
allowed_fields=["client_id"],
|
|
785
|
+
timeout_ms=timeout_ms,
|
|
786
|
+
)
|
|
787
|
+
|
|
788
|
+
if retries == UNSET:
|
|
789
|
+
if self.sdk_configuration.retry_config is not UNSET:
|
|
790
|
+
retries = self.sdk_configuration.retry_config
|
|
791
|
+
else:
|
|
792
|
+
retries = utils.RetryConfig(
|
|
793
|
+
"backoff", utils.BackoffStrategy(500, 8000, 1.5, 60000), True
|
|
794
|
+
)
|
|
795
|
+
|
|
796
|
+
retry_config = None
|
|
797
|
+
if isinstance(retries, utils.RetryConfig):
|
|
798
|
+
retry_config = (retries, ["429", "500", "502", "503", "504"])
|
|
799
|
+
|
|
800
|
+
http_res = await self.do_request_async(
|
|
801
|
+
hook_ctx=HookContext(
|
|
802
|
+
config=self.sdk_configuration,
|
|
803
|
+
base_url=base_url or "",
|
|
804
|
+
operation_id="getPredictionOrder",
|
|
805
|
+
oauth2_scopes=[],
|
|
806
|
+
security_source=self.sdk_configuration.security,
|
|
807
|
+
tags=["Prediction Orders"],
|
|
808
|
+
extensions=None,
|
|
809
|
+
),
|
|
810
|
+
request=req,
|
|
811
|
+
is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c),
|
|
812
|
+
retry_config=retry_config,
|
|
813
|
+
)
|
|
814
|
+
|
|
815
|
+
response_data: Any = None
|
|
816
|
+
if utils.match_response(http_res, "200", "application/json"):
|
|
817
|
+
return models.GetPredictionOrderResponse(
|
|
818
|
+
object=unmarshal_json_response(
|
|
819
|
+
Optional[models.GetPredictionOrderResponseBody], http_res
|
|
820
|
+
),
|
|
821
|
+
http_meta=models.HTTPMetadata(request=req, response=http_res),
|
|
822
|
+
)
|
|
823
|
+
if utils.match_response(http_res, "401", "application/json"):
|
|
824
|
+
response_data = unmarshal_json_response(errors.UnauthorizedUnion, http_res)
|
|
825
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
826
|
+
request=req, response=http_res
|
|
827
|
+
)
|
|
828
|
+
raise errors.Unauthorized(response_data, http_res)
|
|
829
|
+
if utils.match_response(http_res, "404", "application/json"):
|
|
830
|
+
response_data = unmarshal_json_response(
|
|
831
|
+
errors.PredOrdersErrorEnvelopeData, http_res
|
|
832
|
+
)
|
|
833
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
834
|
+
request=req, response=http_res
|
|
835
|
+
)
|
|
836
|
+
raise errors.PredOrdersErrorEnvelope(response_data, http_res)
|
|
837
|
+
if utils.match_response(http_res, "500", "application/json"):
|
|
838
|
+
response_data = unmarshal_json_response(
|
|
839
|
+
errors.PredOrdersErrorEnvelopeData, http_res
|
|
840
|
+
)
|
|
841
|
+
response_data.http_meta = models.HTTPMetadata(
|
|
842
|
+
request=req, response=http_res
|
|
843
|
+
)
|
|
844
|
+
raise errors.PredOrdersErrorEnvelope(response_data, http_res)
|
|
845
|
+
if utils.match_response(http_res, "4XX", "*"):
|
|
846
|
+
http_res_text = await utils.stream_to_text_async(http_res)
|
|
847
|
+
raise errors.APIError("API error occurred", http_res, http_res_text)
|
|
848
|
+
if utils.match_response(http_res, "5XX", "*"):
|
|
849
|
+
http_res_text = await utils.stream_to_text_async(http_res)
|
|
850
|
+
raise errors.APIError("API error occurred", http_res, http_res_text)
|
|
851
|
+
|
|
852
|
+
raise errors.APIError("Unexpected response received", http_res)
|