wekan.html 615 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270
  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
  6. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  7. <title>Wekan REST API</title>
  8. <style>
  9. </style>
  10. <style media="screen">/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
  11. /**
  12. * 1. Set default font family to sans-serif.
  13. * 2. Prevent iOS text size adjust after orientation change, without disabling
  14. * user zoom.
  15. */
  16. html {
  17. font-family: sans-serif;
  18. /* 1 */
  19. -ms-text-size-adjust: 100%;
  20. /* 2 */
  21. -webkit-text-size-adjust: 100%;
  22. /* 2 */ }
  23. /**
  24. * Remove default margin.
  25. */
  26. body {
  27. margin: 0; }
  28. /* HTML5 display definitions
  29. ========================================================================== */
  30. /**
  31. * Correct `block` display not defined for any HTML5 element in IE 8/9.
  32. * Correct `block` display not defined for `details` or `summary` in IE 10/11
  33. * and Firefox.
  34. * Correct `block` display not defined for `main` in IE 11.
  35. */
  36. article,
  37. aside,
  38. details,
  39. figcaption,
  40. figure,
  41. footer,
  42. header,
  43. hgroup,
  44. main,
  45. menu,
  46. nav,
  47. section,
  48. summary {
  49. display: block; }
  50. /**
  51. * 1. Correct `inline-block` display not defined in IE 8/9.
  52. * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
  53. */
  54. audio,
  55. canvas,
  56. progress,
  57. video {
  58. display: inline-block;
  59. /* 1 */
  60. vertical-align: baseline;
  61. /* 2 */ }
  62. /**
  63. * Prevent modern browsers from displaying `audio` without controls.
  64. * Remove excess height in iOS 5 devices.
  65. */
  66. audio:not([controls]) {
  67. display: none;
  68. height: 0; }
  69. /**
  70. * Address `[hidden]` styling not present in IE 8/9/10.
  71. * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
  72. */
  73. [hidden],
  74. template {
  75. display: none; }
  76. /* Links
  77. ========================================================================== */
  78. /**
  79. * Remove the gray background color from active links in IE 10.
  80. */
  81. a {
  82. background-color: transparent; }
  83. /**
  84. * Improve readability when focused and also mouse hovered in all browsers.
  85. */
  86. a:active,
  87. a:hover {
  88. outline: 0; }
  89. /* Text-level semantics
  90. ========================================================================== */
  91. /**
  92. * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
  93. */
  94. abbr[title] {
  95. border-bottom: 1px dotted; }
  96. /**
  97. * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
  98. */
  99. b,
  100. strong {
  101. font-weight: bold; }
  102. /**
  103. * Address styling not present in Safari and Chrome.
  104. */
  105. dfn {
  106. font-style: italic; }
  107. /**
  108. * Address variable `h1` font-size and margin within `section` and `article`
  109. * contexts in Firefox 4+, Safari, and Chrome.
  110. */
  111. h1 {
  112. font-size: 2em;
  113. margin: 0.67em 0; }
  114. /**
  115. * Address styling not present in IE 8/9.
  116. */
  117. mark {
  118. background: #ff0;
  119. color: #000; }
  120. /**
  121. * Address inconsistent and variable font size in all browsers.
  122. */
  123. small {
  124. font-size: 80%; }
  125. /**
  126. * Prevent `sub` and `sup` affecting `line-height` in all browsers.
  127. */
  128. sub,
  129. sup {
  130. font-size: 75%;
  131. line-height: 0;
  132. position: relative;
  133. vertical-align: baseline; }
  134. sup {
  135. top: -0.5em; }
  136. sub {
  137. bottom: -0.25em; }
  138. /* Embedded content
  139. ========================================================================== */
  140. /**
  141. * Remove border when inside `a` element in IE 8/9/10.
  142. */
  143. img {
  144. border: 0; }
  145. /**
  146. * Correct overflow not hidden in IE 9/10/11.
  147. */
  148. svg:not(:root) {
  149. overflow: hidden; }
  150. /* Grouping content
  151. ========================================================================== */
  152. /**
  153. * Address margin not present in IE 8/9 and Safari.
  154. */
  155. figure {
  156. margin: 1em 40px; }
  157. /**
  158. * Address differences between Firefox and other browsers.
  159. */
  160. hr {
  161. -moz-box-sizing: content-box;
  162. box-sizing: content-box;
  163. height: 0; }
  164. /**
  165. * Contain overflow in all browsers.
  166. */
  167. pre {
  168. overflow: auto; }
  169. /**
  170. * Address odd `em`-unit font size rendering in all browsers.
  171. */
  172. code,
  173. kbd,
  174. pre,
  175. samp {
  176. font-family: monospace, monospace;
  177. font-size: 1em; }
  178. /* Forms
  179. ========================================================================== */
  180. /**
  181. * Known limitation: by default, Chrome and Safari on OS X allow very limited
  182. * styling of `select`, unless a `border` property is set.
  183. */
  184. /**
  185. * 1. Correct color not being inherited.
  186. * Known issue: affects color of disabled elements.
  187. * 2. Correct font properties not being inherited.
  188. * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
  189. */
  190. button,
  191. input,
  192. optgroup,
  193. select,
  194. textarea {
  195. color: inherit;
  196. /* 1 */
  197. font: inherit;
  198. /* 2 */
  199. margin: 0;
  200. /* 3 */ }
  201. /**
  202. * Address `overflow` set to `hidden` in IE 8/9/10/11.
  203. */
  204. button {
  205. overflow: visible; }
  206. /**
  207. * Address inconsistent `text-transform` inheritance for `button` and `select`.
  208. * All other form control elements do not inherit `text-transform` values.
  209. * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
  210. * Correct `select` style inheritance in Firefox.
  211. */
  212. button,
  213. select {
  214. text-transform: none; }
  215. /**
  216. * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
  217. * and `video` controls.
  218. * 2. Correct inability to style clickable `input` types in iOS.
  219. * 3. Improve usability and consistency of cursor style between image-type
  220. * `input` and others.
  221. */
  222. button,
  223. html input[type="button"],
  224. input[type="reset"],
  225. input[type="submit"] {
  226. -webkit-appearance: button;
  227. /* 2 */
  228. cursor: pointer;
  229. /* 3 */ }
  230. /**
  231. * Re-set default cursor for disabled elements.
  232. */
  233. button[disabled],
  234. html input[disabled] {
  235. cursor: default; }
  236. /**
  237. * Remove inner padding and border in Firefox 4+.
  238. */
  239. button::-moz-focus-inner,
  240. input::-moz-focus-inner {
  241. border: 0;
  242. padding: 0; }
  243. /**
  244. * Address Firefox 4+ setting `line-height` on `input` using `!important` in
  245. * the UA stylesheet.
  246. */
  247. input {
  248. line-height: normal; }
  249. /**
  250. * It's recommended that you don't attempt to style these elements.
  251. * Firefox's implementation doesn't respect box-sizing, padding, or width.
  252. *
  253. * 1. Address box sizing set to `content-box` in IE 8/9/10.
  254. * 2. Remove excess padding in IE 8/9/10.
  255. */
  256. input[type="checkbox"],
  257. input[type="radio"] {
  258. box-sizing: border-box;
  259. /* 1 */
  260. padding: 0;
  261. /* 2 */ }
  262. /**
  263. * Fix the cursor style for Chrome's increment/decrement buttons. For certain
  264. * `font-size` values of the `input`, it causes the cursor style of the
  265. * decrement button to change from `default` to `text`.
  266. */
  267. input[type="number"]::-webkit-inner-spin-button,
  268. input[type="number"]::-webkit-outer-spin-button {
  269. height: auto; }
  270. /**
  271. * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
  272. * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
  273. * (include `-moz` to future-proof).
  274. */
  275. input[type="search"] {
  276. -webkit-appearance: textfield;
  277. /* 1 */
  278. -moz-box-sizing: content-box;
  279. -webkit-box-sizing: content-box;
  280. /* 2 */
  281. box-sizing: content-box; }
  282. /**
  283. * Remove inner padding and search cancel button in Safari and Chrome on OS X.
  284. * Safari (but not Chrome) clips the cancel button when the search input has
  285. * padding (and `textfield` appearance).
  286. */
  287. input[type="search"]::-webkit-search-cancel-button,
  288. input[type="search"]::-webkit-search-decoration {
  289. -webkit-appearance: none; }
  290. /**
  291. * Define consistent border, margin, and padding.
  292. */
  293. fieldset {
  294. border: 1px solid #c0c0c0;
  295. margin: 0 2px;
  296. padding: 0.35em 0.625em 0.75em; }
  297. /**
  298. * 1. Correct `color` not being inherited in IE 8/9/10/11.
  299. * 2. Remove padding so people aren't caught out if they zero out fieldsets.
  300. */
  301. legend {
  302. border: 0;
  303. /* 1 */
  304. padding: 0;
  305. /* 2 */ }
  306. /**
  307. * Remove default vertical scrollbar in IE 8/9/10/11.
  308. */
  309. textarea {
  310. overflow: auto; }
  311. /**
  312. * Don't inherit the `font-weight` (applied by a rule above).
  313. * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
  314. */
  315. optgroup {
  316. font-weight: bold; }
  317. /* Tables
  318. ========================================================================== */
  319. /**
  320. * Remove most spacing between table cells.
  321. */
  322. table {
  323. border-collapse: collapse;
  324. border-spacing: 0; }
  325. td,
  326. th {
  327. padding: 0; }
  328. /*
  329. Copyright 2008-2013 Concur Technologies, Inc.
  330. Licensed under the Apache License, Version 2.0 (the "License"); you may
  331. not use this file except in compliance with the License. You may obtain
  332. a copy of the License at
  333. http://www.apache.org/licenses/LICENSE-2.0
  334. Unless required by applicable law or agreed to in writing, software
  335. distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  336. WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
  337. License for the specific language governing permissions and limitations
  338. under the License.
  339. */
  340. .content h1, .content h2, .content h3, .content h4, .content h5, .content h6, html, body {
  341. font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  342. font-size: 14px; }
  343. .content h1, .content h2, .content h3, .content h4, .content h5, .content h6 {
  344. font-weight: bold; }
  345. .content code, .content pre {
  346. font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, serif;
  347. font-size: 12px;
  348. line-height: 1.5; }
  349. .content code {
  350. word-break: break-all;
  351. hyphens: auto; }
  352. @font-face {
  353. font-family: 'slate';
  354. src: url('https://raw.githubusercontent.com/Mermade/shins/master/source/fonts/slate.eot?-syv14m');
  355. src: url('https://raw.githubusercontent.com/Mermade/shins/master/source/fonts/slate.eot?#iefix-syv14m') format("embedded-opentype"), url('https://raw.githubusercontent.com/Mermade/shins/master/source/fonts/slate.woff2?-syv14m') format("woff2"), url('https://raw.githubusercontent.com/Mermade/shins/master/source/fonts/slate.woff?-syv14m') format("woff"), url('https://raw.githubusercontent.com/Mermade/shins/master/source/fonts/slate.ttf?-syv14m') format("truetype"), url('https://raw.githubusercontent.com/Mermade/shins/master/source/fonts/slate.svg?-syv14m#slate') format("svg");
  356. font-weight: normal;
  357. font-style: normal; }
  358. .content aside.warning:before, .content aside.notice:before, .content aside.success:before, .toc-wrapper > .search:before {
  359. font-family: 'slate';
  360. speak: none;
  361. font-style: normal;
  362. font-weight: normal;
  363. font-variant: normal;
  364. text-transform: none;
  365. line-height: 1; }
  366. .content aside.warning:before {
  367. content: "\e600"; }
  368. .content aside.notice:before {
  369. content: "\e602"; }
  370. .content aside.success:before {
  371. content: "\e606"; }
  372. .toc-wrapper > .search:before {
  373. content: "\e607"; }
  374. /*
  375. Copyright 2008-2013 Concur Technologies, Inc.
  376. Licensed under the Apache License, Version 2.0 (the "License"); you may
  377. not use this file except in compliance with the License. You may obtain
  378. a copy of the License at
  379. http://www.apache.org/licenses/LICENSE-2.0
  380. Unless required by applicable law or agreed to in writing, software
  381. distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  382. WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
  383. License for the specific language governing permissions and limitations
  384. under the License.
  385. */
  386. html, body {
  387. color: #333;
  388. padding: 0;
  389. margin: 0;
  390. -webkit-font-smoothing: antialiased;
  391. -moz-osx-font-smoothing: grayscale;
  392. background-color: #F3F7F9;
  393. height: 100%;
  394. -webkit-text-size-adjust: none;
  395. /* Never autoresize text */ }
  396. #toc > ul > li > a > span {
  397. float: right;
  398. background-color: #2484FF;
  399. border-radius: 40px;
  400. width: 20px; }
  401. .toc-wrapper {
  402. transition: left 0.3s ease-in-out;
  403. overflow-y: auto;
  404. overflow-x: hidden;
  405. position: fixed;
  406. z-index: 30;
  407. top: 0;
  408. left: 0;
  409. bottom: 0;
  410. width: 230px;
  411. background-color: #2E3336;
  412. font-size: 13px;
  413. font-weight: bold; }
  414. .toc-wrapper .lang-selector {
  415. display: none; }
  416. .toc-wrapper .lang-selector a {
  417. padding-top: 0.5em;
  418. padding-bottom: 0.5em; }
  419. .toc-wrapper .logo {
  420. display: block;
  421. max-width: 100%;
  422. margin-bottom: 0px; }
  423. .toc-wrapper > .search {
  424. position: relative; }
  425. .toc-wrapper > .search input {
  426. background: #2E3336;
  427. border-width: 0 0 1px 0;
  428. border-color: #666;
  429. padding: 6px 0 6px 20px;
  430. box-sizing: border-box;
  431. margin: 10px 15px;
  432. width: 200px;
  433. outline: none;
  434. color: #fff;
  435. border-radius: 0;
  436. /* ios has a default border radius */ }
  437. .toc-wrapper > .search:before {
  438. position: absolute;
  439. top: 17px;
  440. left: 15px;
  441. color: #fff; }
  442. .toc-wrapper .search-results {
  443. margin-top: 0;
  444. box-sizing: border-box;
  445. height: 0;
  446. overflow-y: auto;
  447. overflow-x: hidden;
  448. transition-property: height, margin;
  449. transition-duration: 180ms;
  450. transition-timing-function: ease-in-out;
  451. background: #1E2224; }
  452. .toc-wrapper .search-results.visible {
  453. height: 30%;
  454. margin-bottom: 1em; }
  455. .toc-wrapper .search-results li {
  456. margin: 1em 15px;
  457. line-height: 1; }
  458. .toc-wrapper .search-results a {
  459. color: #fff;
  460. text-decoration: none; }
  461. .toc-wrapper .search-results a:hover {
  462. text-decoration: underline; }
  463. .toc-wrapper ul, .toc-wrapper li {
  464. list-style: none;
  465. margin: 0;
  466. padding: 0;
  467. line-height: 28px; }
  468. .toc-wrapper li {
  469. color: #fff;
  470. transition-property: background;
  471. transition-timing-function: linear;
  472. transition-duration: 200ms; }
  473. .toc-wrapper .toc-link.active {
  474. background-color: #0F75D4;
  475. color: #fff; }
  476. .toc-wrapper .toc-link.active-parent {
  477. background-color: #1E2224;
  478. color: #fff; }
  479. .toc-wrapper .toc-list-h2 {
  480. display: none;
  481. background-color: #1E2224;
  482. font-weight: 500; }
  483. .toc-wrapper .toc-h2 {
  484. padding-left: 25px;
  485. font-size: 12px; }
  486. .toc-wrapper .toc-footer {
  487. padding: 1em 0;
  488. margin-top: 1em;
  489. border-top: 1px dashed #666; }
  490. .toc-wrapper .toc-footer li, .toc-wrapper .toc-footer a {
  491. color: #fff;
  492. text-decoration: none; }
  493. .toc-wrapper .toc-footer a:hover {
  494. text-decoration: underline; }
  495. .toc-wrapper .toc-footer li {
  496. font-size: 0.8em;
  497. line-height: 1.7;
  498. text-decoration: none; }
  499. .toc-link, .toc-footer li {
  500. padding: 0 15px 0 15px;
  501. display: block;
  502. overflow-x: hidden;
  503. white-space: nowrap;
  504. text-overflow: ellipsis;
  505. text-decoration: none;
  506. color: #fff;
  507. transition-property: background;
  508. transition-timing-function: linear;
  509. transition-duration: 130ms; }
  510. #nav-button {
  511. padding: 0 1.5em 5em 0;
  512. display: none;
  513. position: fixed;
  514. top: 0;
  515. left: 0;
  516. z-index: 100;
  517. color: #000;
  518. text-decoration: none;
  519. font-weight: bold;
  520. opacity: 0.7;
  521. line-height: 16px;
  522. transition: left 0.3s ease-in-out; }
  523. #nav-button span {
  524. display: block;
  525. padding: 6px 6px 6px;
  526. background-color: rgba(243, 247, 249, 0.7);
  527. transform-origin: 0 0;
  528. transform: rotate(-90deg) translate(-100%, 0);
  529. border-radius: 0 0 0 5px; }
  530. #nav-button img {
  531. height: 16px;
  532. vertical-align: bottom; }
  533. #nav-button:hover {
  534. opacity: 1; }
  535. #nav-button.open {
  536. left: 230px; }
  537. .page-wrapper {
  538. margin-left: 230px;
  539. position: relative;
  540. z-index: 10;
  541. background-color: #F3F7F9;
  542. min-height: 100%;
  543. padding-bottom: 1px; }
  544. .page-wrapper .dark-box {
  545. width: 50%;
  546. background-color: #2E3336;
  547. position: absolute;
  548. right: 0;
  549. top: 0;
  550. bottom: 0; }
  551. .page-wrapper .lang-selector {
  552. position: fixed;
  553. z-index: 50;
  554. border-bottom: 5px solid #2E3336; }
  555. .lang-selector {
  556. background-color: #1E2224;
  557. width: 100%;
  558. font-weight: bold; }
  559. .lang-selector a {
  560. display: block;
  561. float: left;
  562. color: #fff;
  563. text-decoration: none;
  564. padding: 0 10px;
  565. line-height: 30px;
  566. outline: 0; }
  567. .lang-selector a:active, .lang-selector a:focus {
  568. background-color: #111;
  569. color: #fff; }
  570. .lang-selector a.active {
  571. background-color: #2E3336;
  572. color: #fff; }
  573. .lang-selector:after {
  574. content: '';
  575. clear: both;
  576. display: block; }
  577. .content {
  578. -webkit-transform: translateZ(0);
  579. position: relative;
  580. z-index: 30; }
  581. .content:after {
  582. content: '';
  583. display: block;
  584. clear: both; }
  585. .content > h1, .content > h2, .content > h3, .content > h4, .content > h5, .content > h6, .content > p, .content > table, .content > ul, .content > ol, .content > aside, .content > dl {
  586. margin-right: 50%;
  587. padding: 0 28px;
  588. box-sizing: border-box;
  589. display: block; }
  590. .content > ul, .content > ol {
  591. padding-left: 43px; }
  592. .content > h1, .content > h2, .content > div {
  593. clear: both; }
  594. .content h1 {
  595. font-size: 25px;
  596. padding-top: 0.5em;
  597. padding-bottom: 0.5em;
  598. margin-bottom: 21px;
  599. margin-top: 2em;
  600. border-top: 1px solid #ccc;
  601. border-bottom: 1px solid #ccc;
  602. background-color: #fdfdfd; }
  603. .content h1:first-child, .content div:first-child + h1 {
  604. border-top-width: 0;
  605. margin-top: 0; }
  606. .content h2 {
  607. font-size: 19px;
  608. margin-top: 4em;
  609. margin-bottom: 0;
  610. border-top: 1px solid #ccc;
  611. padding-top: 1.2em;
  612. padding-bottom: 1.2em;
  613. background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0)); }
  614. .content h1 + h2, .content h1 + div + h2 {
  615. margin-top: -21px;
  616. border-top: none; }
  617. .content h3, .content h4, .content h5, .content h6 {
  618. font-size: 15px;
  619. margin-top: 2.5em;
  620. margin-bottom: 0.8em; }
  621. .content h4, .content h5, .content h6 {
  622. font-size: 10px; }
  623. .content hr {
  624. margin: 2em 0;
  625. border-top: 2px solid #2E3336;
  626. border-bottom: 2px solid #F3F7F9; }
  627. .content table {
  628. margin-bottom: 1em;
  629. overflow: auto; }
  630. .content table th, .content table td {
  631. text-align: left;
  632. vertical-align: top;
  633. line-height: 1.6; }
  634. .content table th code, .content table td code {
  635. white-space: nowrap; }
  636. .content table th {
  637. padding: 5px 10px;
  638. border-bottom: 1px solid #ccc;
  639. vertical-align: bottom; }
  640. .content table td {
  641. padding: 10px; }
  642. .content table tr:last-child {
  643. border-bottom: 1px solid #ccc; }
  644. .content table tr:nth-child(odd) > td {
  645. background-color: white; }
  646. .content table tr:nth-child(even) > td {
  647. background-color: #fbfcfd; }
  648. .content dt {
  649. font-weight: bold; }
  650. .content dd {
  651. margin-left: 15px; }
  652. .content p, .content li, .content dt, .content dd {
  653. line-height: 1.6;
  654. margin-top: 0; }
  655. .content img {
  656. max-width: 100%; }
  657. .content code {
  658. background-color: rgba(0, 0, 0, 0.05);
  659. padding: 3px;
  660. border-radius: 3px; }
  661. .content pre > code {
  662. background-color: transparent;
  663. padding: 0; }
  664. .content aside {
  665. padding-top: 1em;
  666. padding-bottom: 1em;
  667. margin-top: 1.5em;
  668. margin-bottom: 1.5em;
  669. background: #8fbcd4;
  670. line-height: 1.6; }
  671. .content aside.warning {
  672. background-color: #c97a7e; }
  673. .content aside.success {
  674. background-color: #6ac174; }
  675. .content aside:before {
  676. vertical-align: middle;
  677. padding-right: 0.5em;
  678. font-size: 14px; }
  679. .content .search-highlight {
  680. padding: 2px;
  681. margin: -3px;
  682. border-radius: 4px;
  683. border: 1px solid #F7E633;
  684. background: linear-gradient(to top left, #F7E633 0%, #F1D32F 100%); }
  685. .content pre, .content blockquote {
  686. background-color: #1E2224;
  687. color: #fff;
  688. margin: 0;
  689. width: 50%;
  690. float: right;
  691. clear: right;
  692. box-sizing: border-box; }
  693. .content pre > p, .content blockquote > p {
  694. margin: 0; }
  695. .content pre a, .content blockquote a {
  696. color: #fff;
  697. text-decoration: none;
  698. border-bottom: dashed 1px #ccc; }
  699. .content pre {
  700. padding-top: 2em;
  701. padding-bottom: 2em;
  702. padding: 2em 28px; }
  703. .content blockquote > p {
  704. background-color: #191D1F;
  705. padding: 13px 2em;
  706. color: #eee; }
  707. @media (max-width: 930px) {
  708. .toc-wrapper {
  709. left: -230px; }
  710. .toc-wrapper.open {
  711. left: 0; }
  712. .page-wrapper {
  713. margin-left: 0; }
  714. #nav-button {
  715. display: block; }
  716. .toc-link {
  717. padding-top: 0.3em;
  718. padding-bottom: 0.3em; } }
  719. @media (max-width: 700px) {
  720. .dark-box {
  721. display: none; }
  722. .content > h1, .content > h2, .content > h3, .content > h4, .content > h5, .content > h6, .content > p, .content > table, .content > ul, .content > ol, .content > aside, .content > dl {
  723. margin-right: 0; }
  724. .toc-wrapper .lang-selector {
  725. display: block; }
  726. .page-wrapper .lang-selector {
  727. display: none; }
  728. .content pre, .content blockquote {
  729. width: auto;
  730. float: none; }
  731. .content > pre + h1, .content > blockquote + h1, .content > pre + h2, .content > blockquote + h2, .content > pre + h3, .content > blockquote + h3, .content > pre + h4, .content > blockquote + h4, .content > pre + h5, .content > blockquote + h5, .content > pre + h6, .content > blockquote + h6, .content > pre + p, .content > blockquote + p, .content > pre + table, .content > blockquote + table, .content > pre + ul, .content > blockquote + ul, .content > pre + ol, .content > blockquote + ol, .content > pre + aside, .content > blockquote + aside, .content > pre + dl, .content > blockquote + dl {
  732. margin-top: 28px; } }
  733. .highlight .c, .highlight .cm, .highlight .c1, .highlight .cs {
  734. color: #909090; }
  735. .highlight, .highlight .w {
  736. background-color: #1E2224; }
  737. </style>
  738. <style media="print">/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
  739. /**
  740. * 1. Set default font family to sans-serif.
  741. * 2. Prevent iOS text size adjust after orientation change, without disabling
  742. * user zoom.
  743. */
  744. html {
  745. font-family: sans-serif;
  746. /* 1 */
  747. -ms-text-size-adjust: 100%;
  748. /* 2 */
  749. -webkit-text-size-adjust: 100%;
  750. /* 2 */ }
  751. /**
  752. * Remove default margin.
  753. */
  754. body {
  755. margin: 0; }
  756. /* HTML5 display definitions
  757. ========================================================================== */
  758. /**
  759. * Correct `block` display not defined for any HTML5 element in IE 8/9.
  760. * Correct `block` display not defined for `details` or `summary` in IE 10/11
  761. * and Firefox.
  762. * Correct `block` display not defined for `main` in IE 11.
  763. */
  764. article,
  765. aside,
  766. details,
  767. figcaption,
  768. figure,
  769. footer,
  770. header,
  771. hgroup,
  772. main,
  773. menu,
  774. nav,
  775. section,
  776. summary {
  777. display: block; }
  778. /**
  779. * 1. Correct `inline-block` display not defined in IE 8/9.
  780. * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
  781. */
  782. audio,
  783. canvas,
  784. progress,
  785. video {
  786. display: inline-block;
  787. /* 1 */
  788. vertical-align: baseline;
  789. /* 2 */ }
  790. /**
  791. * Prevent modern browsers from displaying `audio` without controls.
  792. * Remove excess height in iOS 5 devices.
  793. */
  794. audio:not([controls]) {
  795. display: none;
  796. height: 0; }
  797. /**
  798. * Address `[hidden]` styling not present in IE 8/9/10.
  799. * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
  800. */
  801. [hidden],
  802. template {
  803. display: none; }
  804. /* Links
  805. ========================================================================== */
  806. /**
  807. * Remove the gray background color from active links in IE 10.
  808. */
  809. a {
  810. background-color: transparent; }
  811. /**
  812. * Improve readability when focused and also mouse hovered in all browsers.
  813. */
  814. a:active,
  815. a:hover {
  816. outline: 0; }
  817. /* Text-level semantics
  818. ========================================================================== */
  819. /**
  820. * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
  821. */
  822. abbr[title] {
  823. border-bottom: 1px dotted; }
  824. /**
  825. * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
  826. */
  827. b,
  828. strong {
  829. font-weight: bold; }
  830. /**
  831. * Address styling not present in Safari and Chrome.
  832. */
  833. dfn {
  834. font-style: italic; }
  835. /**
  836. * Address variable `h1` font-size and margin within `section` and `article`
  837. * contexts in Firefox 4+, Safari, and Chrome.
  838. */
  839. h1 {
  840. font-size: 2em;
  841. margin: 0.67em 0; }
  842. /**
  843. * Address styling not present in IE 8/9.
  844. */
  845. mark {
  846. background: #ff0;
  847. color: #000; }
  848. /**
  849. * Address inconsistent and variable font size in all browsers.
  850. */
  851. small {
  852. font-size: 80%; }
  853. /**
  854. * Prevent `sub` and `sup` affecting `line-height` in all browsers.
  855. */
  856. sub,
  857. sup {
  858. font-size: 75%;
  859. line-height: 0;
  860. position: relative;
  861. vertical-align: baseline; }
  862. sup {
  863. top: -0.5em; }
  864. sub {
  865. bottom: -0.25em; }
  866. /* Embedded content
  867. ========================================================================== */
  868. /**
  869. * Remove border when inside `a` element in IE 8/9/10.
  870. */
  871. img {
  872. border: 0; }
  873. /**
  874. * Correct overflow not hidden in IE 9/10/11.
  875. */
  876. svg:not(:root) {
  877. overflow: hidden; }
  878. /* Grouping content
  879. ========================================================================== */
  880. /**
  881. * Address margin not present in IE 8/9 and Safari.
  882. */
  883. figure {
  884. margin: 1em 40px; }
  885. /**
  886. * Address differences between Firefox and other browsers.
  887. */
  888. hr {
  889. -moz-box-sizing: content-box;
  890. box-sizing: content-box;
  891. height: 0; }
  892. /**
  893. * Contain overflow in all browsers.
  894. */
  895. pre {
  896. overflow: auto; }
  897. /**
  898. * Address odd `em`-unit font size rendering in all browsers.
  899. */
  900. code,
  901. kbd,
  902. pre,
  903. samp {
  904. font-family: monospace, monospace;
  905. font-size: 1em; }
  906. /* Forms
  907. ========================================================================== */
  908. /**
  909. * Known limitation: by default, Chrome and Safari on OS X allow very limited
  910. * styling of `select`, unless a `border` property is set.
  911. */
  912. /**
  913. * 1. Correct color not being inherited.
  914. * Known issue: affects color of disabled elements.
  915. * 2. Correct font properties not being inherited.
  916. * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
  917. */
  918. button,
  919. input,
  920. optgroup,
  921. select,
  922. textarea {
  923. color: inherit;
  924. /* 1 */
  925. font: inherit;
  926. /* 2 */
  927. margin: 0;
  928. /* 3 */ }
  929. /**
  930. * Address `overflow` set to `hidden` in IE 8/9/10/11.
  931. */
  932. button {
  933. overflow: visible; }
  934. /**
  935. * Address inconsistent `text-transform` inheritance for `button` and `select`.
  936. * All other form control elements do not inherit `text-transform` values.
  937. * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
  938. * Correct `select` style inheritance in Firefox.
  939. */
  940. button,
  941. select {
  942. text-transform: none; }
  943. /**
  944. * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
  945. * and `video` controls.
  946. * 2. Correct inability to style clickable `input` types in iOS.
  947. * 3. Improve usability and consistency of cursor style between image-type
  948. * `input` and others.
  949. */
  950. button,
  951. html input[type="button"],
  952. input[type="reset"],
  953. input[type="submit"] {
  954. -webkit-appearance: button;
  955. /* 2 */
  956. cursor: pointer;
  957. /* 3 */ }
  958. /**
  959. * Re-set default cursor for disabled elements.
  960. */
  961. button[disabled],
  962. html input[disabled] {
  963. cursor: default; }
  964. /**
  965. * Remove inner padding and border in Firefox 4+.
  966. */
  967. button::-moz-focus-inner,
  968. input::-moz-focus-inner {
  969. border: 0;
  970. padding: 0; }
  971. /**
  972. * Address Firefox 4+ setting `line-height` on `input` using `!important` in
  973. * the UA stylesheet.
  974. */
  975. input {
  976. line-height: normal; }
  977. /**
  978. * It's recommended that you don't attempt to style these elements.
  979. * Firefox's implementation doesn't respect box-sizing, padding, or width.
  980. *
  981. * 1. Address box sizing set to `content-box` in IE 8/9/10.
  982. * 2. Remove excess padding in IE 8/9/10.
  983. */
  984. input[type="checkbox"],
  985. input[type="radio"] {
  986. box-sizing: border-box;
  987. /* 1 */
  988. padding: 0;
  989. /* 2 */ }
  990. /**
  991. * Fix the cursor style for Chrome's increment/decrement buttons. For certain
  992. * `font-size` values of the `input`, it causes the cursor style of the
  993. * decrement button to change from `default` to `text`.
  994. */
  995. input[type="number"]::-webkit-inner-spin-button,
  996. input[type="number"]::-webkit-outer-spin-button {
  997. height: auto; }
  998. /**
  999. * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
  1000. * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
  1001. * (include `-moz` to future-proof).
  1002. */
  1003. input[type="search"] {
  1004. -webkit-appearance: textfield;
  1005. /* 1 */
  1006. -moz-box-sizing: content-box;
  1007. -webkit-box-sizing: content-box;
  1008. /* 2 */
  1009. box-sizing: content-box; }
  1010. /**
  1011. * Remove inner padding and search cancel button in Safari and Chrome on OS X.
  1012. * Safari (but not Chrome) clips the cancel button when the search input has
  1013. * padding (and `textfield` appearance).
  1014. */
  1015. input[type="search"]::-webkit-search-cancel-button,
  1016. input[type="search"]::-webkit-search-decoration {
  1017. -webkit-appearance: none; }
  1018. /**
  1019. * Define consistent border, margin, and padding.
  1020. */
  1021. fieldset {
  1022. border: 1px solid #c0c0c0;
  1023. margin: 0 2px;
  1024. padding: 0.35em 0.625em 0.75em; }
  1025. /**
  1026. * 1. Correct `color` not being inherited in IE 8/9/10/11.
  1027. * 2. Remove padding so people aren't caught out if they zero out fieldsets.
  1028. */
  1029. legend {
  1030. border: 0;
  1031. /* 1 */
  1032. padding: 0;
  1033. /* 2 */ }
  1034. /**
  1035. * Remove default vertical scrollbar in IE 8/9/10/11.
  1036. */
  1037. textarea {
  1038. overflow: auto; }
  1039. /**
  1040. * Don't inherit the `font-weight` (applied by a rule above).
  1041. * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
  1042. */
  1043. optgroup {
  1044. font-weight: bold; }
  1045. /* Tables
  1046. ========================================================================== */
  1047. /**
  1048. * Remove most spacing between table cells.
  1049. */
  1050. table {
  1051. border-collapse: collapse;
  1052. border-spacing: 0; }
  1053. td,
  1054. th {
  1055. padding: 0; }
  1056. /*
  1057. Copyright 2008-2013 Concur Technologies, Inc.
  1058. Licensed under the Apache License, Version 2.0 (the "License"); you may
  1059. not use this file except in compliance with the License. You may obtain
  1060. a copy of the License at
  1061. http://www.apache.org/licenses/LICENSE-2.0
  1062. Unless required by applicable law or agreed to in writing, software
  1063. distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  1064. WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
  1065. License for the specific language governing permissions and limitations
  1066. under the License.
  1067. */
  1068. .content h1, .content h2, .content h3, .content h4, body {
  1069. font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  1070. font-size: 14px; }
  1071. .content h1, .content h2, .content h3, .content h4 {
  1072. font-weight: bold; }
  1073. .content pre, .content code {
  1074. font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, serif;
  1075. font-size: 12px;
  1076. line-height: 1.5; }
  1077. .content pre, .content code {
  1078. word-break: break-all;
  1079. hyphens: auto; }
  1080. @font-face {
  1081. font-family: 'slate';
  1082. src: url('https://raw.githubusercontent.com/Mermade/shins/master/source/fonts/slate.eot?-syv14m');
  1083. src: url('https://raw.githubusercontent.com/Mermade/shins/master/source/fonts/slate.eot?#iefix-syv14m') format("embedded-opentype"), url('https://raw.githubusercontent.com/Mermade/shins/master/source/fonts/slate.woff2?-syv14m') format("woff2"), url('https://raw.githubusercontent.com/Mermade/shins/master/source/fonts/slate.woff?-syv14m') format("woff"), url('https://raw.githubusercontent.com/Mermade/shins/master/source/fonts/slate.ttf?-syv14m') format("truetype"), url('https://raw.githubusercontent.com/Mermade/shins/master/source/fonts/slate.svg?-syv14m#slate') format("svg");
  1084. font-weight: normal;
  1085. font-style: normal; }
  1086. .content aside.warning:before, .content aside.notice:before, .content aside.success:before {
  1087. font-family: 'slate';
  1088. speak: none;
  1089. font-style: normal;
  1090. font-weight: normal;
  1091. font-variant: normal;
  1092. text-transform: none;
  1093. line-height: 1; }
  1094. .content aside.warning:before {
  1095. content: "\e600"; }
  1096. .content aside.notice:before {
  1097. content: "\e602"; }
  1098. .content aside.success:before {
  1099. content: "\e606"; }
  1100. /*
  1101. Copyright 2008-2013 Concur Technologies, Inc.
  1102. Licensed under the Apache License, Version 2.0 (the "License"); you may
  1103. not use this file except in compliance with the License. You may obtain
  1104. a copy of the License at
  1105. http://www.apache.org/licenses/LICENSE-2.0
  1106. Unless required by applicable law or agreed to in writing, software
  1107. distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  1108. WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
  1109. License for the specific language governing permissions and limitations
  1110. under the License.
  1111. */
  1112. .tocify, .toc-footer, .lang-selector, .search, #nav-button {
  1113. display: none; }
  1114. .tocify-wrapper > img {
  1115. margin: 0 auto;
  1116. display: block; }
  1117. .content {
  1118. font-size: 12px; }
  1119. .content pre, .content code {
  1120. border: 1px solid #999;
  1121. border-radius: 5px;
  1122. font-size: 0.8em; }
  1123. .content pre code {
  1124. border: 0; }
  1125. .content pre {
  1126. padding: 1.3em; }
  1127. .content code {
  1128. padding: 0.2em; }
  1129. .content table {
  1130. border: 1px solid #999; }
  1131. .content table tr {
  1132. border-bottom: 1px solid #999; }
  1133. .content table td, .content table th {
  1134. padding: 0.7em; }
  1135. .content p {
  1136. line-height: 1.5; }
  1137. .content a {
  1138. text-decoration: none;
  1139. color: #000; }
  1140. .content h1 {
  1141. font-size: 2.5em;
  1142. padding-top: 0.5em;
  1143. padding-bottom: 0.5em;
  1144. margin-top: 1em;
  1145. margin-bottom: 21px;
  1146. border: 2px solid #ccc;
  1147. border-width: 2px 0;
  1148. text-align: center; }
  1149. .content h2 {
  1150. font-size: 1.8em;
  1151. margin-top: 2em;
  1152. border-top: 2px solid #ccc;
  1153. padding-top: 0.8em; }
  1154. .content h1 + h2, .content h1 + div + h2 {
  1155. border-top: none;
  1156. padding-top: 0;
  1157. margin-top: 0; }
  1158. .content h3, .content h4 {
  1159. font-size: 0.8em;
  1160. margin-top: 1.5em;
  1161. margin-bottom: 0.8em;
  1162. text-transform: uppercase; }
  1163. .content h5, .content h6 {
  1164. text-transform: uppercase; }
  1165. .content aside {
  1166. padding: 1em;
  1167. border: 1px solid #ccc;
  1168. border-radius: 5px;
  1169. margin-top: 1.5em;
  1170. margin-bottom: 1.5em;
  1171. line-height: 1.6; }
  1172. .content aside:before {
  1173. vertical-align: middle;
  1174. padding-right: 0.5em;
  1175. font-size: 14px; }
  1176. </style>
  1177. <style media="screen">/*
  1178. Darkula color scheme from the JetBrains family of IDEs
  1179. */
  1180. .hljs {
  1181. display: block;
  1182. overflow-x: auto;
  1183. padding: 0.5em;
  1184. background: #2b2b2b;
  1185. -webkit-text-size-adjust: none;
  1186. }
  1187. .hljs,
  1188. .hljs-tag,
  1189. .hljs-title,
  1190. .css .hljs-rule,
  1191. .css .hljs-value,
  1192. .aspectj .hljs-function,
  1193. .css .hljs-function .hljs-preprocessor,
  1194. .hljs-pragma {
  1195. color: #bababa;
  1196. }
  1197. .hljs-strongemphasis,
  1198. .hljs-strong,
  1199. .hljs-emphasis {
  1200. color: #a8a8a2;
  1201. }
  1202. .hljs-bullet,
  1203. .hljs-blockquote,
  1204. .hljs-horizontal_rule,
  1205. .hljs-number,
  1206. .hljs-regexp,
  1207. .alias .hljs-keyword,
  1208. .hljs-literal,
  1209. .hljs-hexcolor {
  1210. color: #6896ba;
  1211. }
  1212. .hljs-tag .hljs-value,
  1213. .hljs-code,
  1214. .css .hljs-class,
  1215. .hljs-class .hljs-title:last-child {
  1216. color: #a6e22e;
  1217. }
  1218. .hljs-link_url {
  1219. font-size: 80%;
  1220. }
  1221. .hljs-emphasis,
  1222. .hljs-strongemphasis,
  1223. .hljs-class .hljs-title:last-child,
  1224. .hljs-typename {
  1225. font-style: italic;
  1226. }
  1227. .hljs-keyword,
  1228. .ruby .hljs-class .hljs-keyword:first-child,
  1229. .ruby .hljs-function .hljs-keyword,
  1230. .hljs-function,
  1231. .hljs-change,
  1232. .hljs-winutils,
  1233. .hljs-flow,
  1234. .nginx .hljs-title,
  1235. .tex .hljs-special,
  1236. .hljs-header,
  1237. .hljs-attribute,
  1238. .hljs-symbol,
  1239. .hljs-symbol .hljs-string,
  1240. .hljs-tag .hljs-title,
  1241. .hljs-value,
  1242. .alias .hljs-keyword:first-child,
  1243. .css .hljs-tag,
  1244. .css .unit,
  1245. .css .hljs-important {
  1246. color: #cb7832;
  1247. }
  1248. .hljs-function .hljs-keyword,
  1249. .hljs-class .hljs-keyword:first-child,
  1250. .hljs-aspect .hljs-keyword:first-child,
  1251. .hljs-constant,
  1252. .hljs-typename,
  1253. .css .hljs-attribute {
  1254. color: #cb7832;
  1255. }
  1256. .hljs-variable,
  1257. .hljs-params,
  1258. .hljs-class .hljs-title,
  1259. .hljs-aspect .hljs-title {
  1260. color: #b9b9b9;
  1261. }
  1262. .hljs-string,
  1263. .css .hljs-id,
  1264. .hljs-subst,
  1265. .hljs-type,
  1266. .ruby .hljs-class .hljs-parent,
  1267. .hljs-built_in,
  1268. .django .hljs-template_tag,
  1269. .django .hljs-variable,
  1270. .smalltalk .hljs-class,
  1271. .django .hljs-filter .hljs-argument,
  1272. .smalltalk .hljs-localvars,
  1273. .smalltalk .hljs-array,
  1274. .hljs-attr_selector,
  1275. .hljs-pseudo,
  1276. .hljs-addition,
  1277. .hljs-stream,
  1278. .hljs-envvar,
  1279. .apache .hljs-tag,
  1280. .apache .hljs-cbracket,
  1281. .tex .hljs-command,
  1282. .hljs-prompt,
  1283. .hljs-link_label,
  1284. .hljs-link_url,
  1285. .hljs-name {
  1286. color: #e0c46c;
  1287. }
  1288. .hljs-comment,
  1289. .hljs-annotation,
  1290. .hljs-pi,
  1291. .hljs-doctype,
  1292. .hljs-deletion,
  1293. .hljs-shebang,
  1294. .apache .hljs-sqbracket,
  1295. .tex .hljs-formula {
  1296. color: #7f7f7f;
  1297. }
  1298. .hljs-decorator {
  1299. color: #bab429;
  1300. }
  1301. .coffeescript .javascript,
  1302. .javascript .xml,
  1303. .tex .hljs-formula,
  1304. .xml .javascript,
  1305. .xml .vbscript,
  1306. .xml .css,
  1307. .xml .hljs-cdata,
  1308. .xml .php,
  1309. .php .xml {
  1310. opacity: 0.5;
  1311. }
  1312. </style>
  1313. <script>!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";function n(e,t){t=t||ne;var n=t.createElement("script");n.text=e,t.head.appendChild(n).parentNode.removeChild(n)}function r(e){var t=!!e&&"length"in e&&e.length,n=he.type(e);return"function"!==n&&!he.isWindow(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}function i(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}function o(e,t,n){return he.isFunction(t)?he.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?he.grep(e,function(e){return e===t!==n}):"string"!=typeof t?he.grep(e,function(e){return ae.call(t,e)>-1!==n}):Ee.test(t)?he.filter(t,e,n):(t=he.filter(t,e),he.grep(e,function(e){return ae.call(t,e)>-1!==n&&1===e.nodeType}))}function s(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function a(e){var t={};return he.each(e.match(Ae)||[],function(e,n){t[n]=!0}),t}function u(e){return e}function c(e){throw e}function l(e,t,n,r){var i;try{e&&he.isFunction(i=e.promise)?i.call(e).done(t).fail(n):e&&he.isFunction(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}function f(){ne.removeEventListener("DOMContentLoaded",f),e.removeEventListener("load",f),he.ready()}function d(){this.expando=he.expando+d.uid++}function p(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:Pe.test(e)?JSON.parse(e):e)}function h(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(He,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n=p(n)}catch(e){}$e.set(e,t,n)}else n=void 0;return n}function g(e,t,n,r){var i,o=1,s=20,a=r?function(){return r.cur()}:function(){return he.css(e,t,"")},u=a(),c=n&&n[3]||(he.cssNumber[t]?"":"px"),l=(he.cssNumber[t]||"px"!==c&&+u)&&Re.exec(he.css(e,t));if(l&&l[3]!==c){c=c||l[3],n=n||[],l=+u||1;do{o=o||".5",l/=o,he.style(e,t,l+c)}while(o!==(o=a()/u)&&1!==o&&--s)}return n&&(l=+l||+u||0,i=n[1]?l+(n[1]+1)*n[2]:+n[2],r&&(r.unit=c,r.start=l,r.end=i)),i}function v(e){var t,n=e.ownerDocument,r=e.nodeName,i=Be[r];return i||(t=n.body.appendChild(n.createElement(r)),i=he.css(t,"display"),t.parentNode.removeChild(t),"none"===i&&(i="block"),Be[r]=i,i)}function m(e,t){for(var n,r,i=[],o=0,s=e.length;o<s;o++)r=e[o],r.style&&(n=r.style.display,t?("none"===n&&(i[o]=Fe.get(r,"display")||null,i[o]||(r.style.display="")),""===r.style.display&&Me(r)&&(i[o]=v(r))):"none"!==n&&(i[o]="none",Fe.set(r,"display",n)));for(o=0;o<s;o++)null!=i[o]&&(e[o].style.display=i[o]);return e}function y(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&i(e,t)?he.merge([e],n):n}function x(e,t){for(var n=0,r=e.length;n<r;n++)Fe.set(e[n],"globalEval",!t||Fe.get(t[n],"globalEval"))}function b(e,t,n,r,i){for(var o,s,a,u,c,l,f=t.createDocumentFragment(),d=[],p=0,h=e.length;p<h;p++)if((o=e[p])||0===o)if("object"===he.type(o))he.merge(d,o.nodeType?[o]:o);else if(Qe.test(o)){for(s=s||f.appendChild(t.createElement("div")),a=(Ve.exec(o)||["",""])[1].toLowerCase(),u=Ue[a]||Ue._default,s.innerHTML=u[1]+he.htmlPrefilter(o)+u[2],l=u[0];l--;)s=s.lastChild;he.merge(d,s.childNodes),s=f.firstChild,s.textContent=""}else d.push(t.createTextNode(o));for(f.textContent="",p=0;o=d[p++];)if(r&&he.inArray(o,r)>-1)i&&i.push(o);else if(c=he.contains(o.ownerDocument,o),s=y(f.appendChild(o),"script"),c&&x(s),n)for(l=0;o=s[l++];)Xe.test(o.type||"")&&n.push(o);return f}function w(){return!0}function T(){return!1}function S(){try{return ne.activeElement}catch(e){}}function E(e,t,n,r,i,o){var s,a;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(a in t)E(e,a,n,r,t[a],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=T;else if(!i)return e;return 1===o&&(s=i,i=function(e){return he().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=he.guid++)),e.each(function(){he.event.add(this,t,i,r,n)})}function C(e,t){return i(e,"table")&&i(11!==t.nodeType?t:t.firstChild,"tr")?he(">tbody",e)[0]||e:e}function k(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function N(e){var t=nt.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function j(e,t){var n,r,i,o,s,a,u,c;if(1===t.nodeType){if(Fe.hasData(e)&&(o=Fe.access(e),s=Fe.set(t,o),c=o.events)){delete s.handle,s.events={};for(i in c)for(n=0,r=c[i].length;n<r;n++)he.event.add(t,i,c[i][n])}$e.hasData(e)&&(a=$e.access(e),u=he.extend({},a),$e.set(t,u))}}function A(e,t){var n=t.nodeName.toLowerCase();"input"===n&&ze.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function L(e,t,r,i){t=oe.apply([],t);var o,s,a,u,c,l,f=0,d=e.length,p=d-1,h=t[0],g=he.isFunction(h);if(g||d>1&&"string"==typeof h&&!pe.checkClone&&tt.test(h))return e.each(function(n){var o=e.eq(n);g&&(t[0]=h.call(this,n,o.html())),L(o,t,r,i)});if(d&&(o=b(t,e[0].ownerDocument,!1,e,i),s=o.firstChild,1===o.childNodes.length&&(o=s),s||i)){for(a=he.map(y(o,"script"),k),u=a.length;f<d;f++)c=o,f!==p&&(c=he.clone(c,!0,!0),u&&he.merge(a,y(c,"script"))),r.call(e[f],c,f);if(u)for(l=a[a.length-1].ownerDocument,he.map(a,N),f=0;f<u;f++)c=a[f],Xe.test(c.type||"")&&!Fe.access(c,"globalEval")&&he.contains(l,c)&&(c.src?he._evalUrl&&he._evalUrl(c.src):n(c.textContent.replace(rt,""),l))}return e}function D(e,t,n){for(var r,i=t?he.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||he.cleanData(y(r)),r.parentNode&&(n&&he.contains(r.ownerDocument,r)&&x(y(r,"script")),r.parentNode.removeChild(r));return e}function O(e,t,n){var r,i,o,s,a=e.style;return n=n||st(e),n&&(s=n.getPropertyValue(t)||n[t],""!==s||he.contains(e.ownerDocument,e)||(s=he.style(e,t)),!pe.pixelMarginRight()&&ot.test(s)&&it.test(t)&&(r=a.width,i=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=s,s=n.width,a.width=r,a.minWidth=i,a.maxWidth=o)),void 0!==s?s+"":s}function q(e,t){return{get:function(){return e()?void delete this.get:(this.get=t).apply(this,arguments)}}}function F(e){if(e in dt)return e;for(var t=e[0].toUpperCase()+e.slice(1),n=ft.length;n--;)if((e=ft[n]+t)in dt)return e}function $(e){var t=he.cssProps[e];return t||(t=he.cssProps[e]=F(e)||e),t}function P(e,t,n){var r=Re.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function H(e,t,n,r,i){var o,s=0;for(o=n===(r?"border":"content")?4:"width"===t?1:0;o<4;o+=2)"margin"===n&&(s+=he.css(e,n+_e[o],!0,i)),r?("content"===n&&(s-=he.css(e,"padding"+_e[o],!0,i)),"margin"!==n&&(s-=he.css(e,"border"+_e[o]+"Width",!0,i))):(s+=he.css(e,"padding"+_e[o],!0,i),"padding"!==n&&(s+=he.css(e,"border"+_e[o]+"Width",!0,i)));return s}function I(e,t,n){var r,i=st(e),o=O(e,t,i),s="border-box"===he.css(e,"boxSizing",!1,i);return ot.test(o)?o:(r=s&&(pe.boxSizingReliable()||o===e.style[t]),"auto"===o&&(o=e["offset"+t[0].toUpperCase()+t.slice(1)]),(o=parseFloat(o)||0)+H(e,t,n||(s?"border":"content"),r,i)+"px")}function R(e,t,n,r,i){return new R.prototype.init(e,t,n,r,i)}function _(){ht&&(!1===ne.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(_):e.setTimeout(_,he.fx.interval),he.fx.tick())}function M(){return e.setTimeout(function(){pt=void 0}),pt=he.now()}function W(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)n=_e[r],i["margin"+n]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function B(e,t,n){for(var r,i=(X.tweeners[t]||[]).concat(X.tweeners["*"]),o=0,s=i.length;o<s;o++)if(r=i[o].call(n,t,e))return r}function z(e,t,n){var r,i,o,s,a,u,c,l,f="width"in t||"height"in t,d=this,p={},h=e.style,g=e.nodeType&&Me(e),v=Fe.get(e,"fxshow");n.queue||(s=he._queueHooks(e,"fx"),null==s.unqueued&&(s.unqueued=0,a=s.empty.fire,s.empty.fire=function(){s.unqueued||a()}),s.unqueued++,d.always(function(){d.always(function(){s.unqueued--,he.queue(e,"fx").length||s.empty.fire()})}));for(r in t)if(i=t[r],gt.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}p[r]=v&&v[r]||he.style(e,r)}if((u=!he.isEmptyObject(t))||!he.isEmptyObject(p)){f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],c=v&&v.display,null==c&&(c=Fe.get(e,"display")),l=he.css(e,"display"),"none"===l&&(c?l=c:(m([e],!0),c=e.style.display||c,l=he.css(e,"display"),m([e]))),("inline"===l||"inline-block"===l&&null!=c)&&"none"===he.css(e,"float")&&(u||(d.done(function(){h.display=c}),null==c&&(l=h.display,c="none"===l?"":l)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",d.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1;for(r in p)u||(v?"hidden"in v&&(g=v.hidden):v=Fe.access(e,"fxshow",{display:c}),o&&(v.hidden=!g),g&&m([e],!0),d.done(function(){g||m([e]),Fe.remove(e,"fxshow");for(r in p)he.style(e,r,p[r])})),u=B(g?v[r]:0,r,d),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}}function V(e,t){var n,r,i,o,s;for(n in e)if(r=he.camelCase(n),i=t[r],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(s=he.cssHooks[r])&&"expand"in s){o=s.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}function X(e,t,n){var r,i,o=0,s=X.prefilters.length,a=he.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;for(var t=pt||M(),n=Math.max(0,c.startTime+c.duration-t),r=n/c.duration||0,o=1-r,s=0,u=c.tweens.length;s<u;s++)c.tweens[s].run(o);return a.notifyWith(e,[c,o,n]),o<1&&u?n:(u||a.notifyWith(e,[c,1,0]),a.resolveWith(e,[c]),!1)},c=a.promise({elem:e,props:he.extend({},t),opts:he.extend(!0,{specialEasing:{},easing:he.easing._default},n),originalProperties:t,originalOptions:n,startTime:pt||M(),duration:n.duration,tweens:[],createTween:function(t,n){var r=he.Tween(e,c.opts,t,n,c.opts.specialEasing[t]||c.opts.easing);return c.tweens.push(r),r},stop:function(t){var n=0,r=t?c.tweens.length:0;if(i)return this;for(i=!0;n<r;n++)c.tweens[n].run(1);return t?(a.notifyWith(e,[c,1,0]),a.resolveWith(e,[c,t])):a.rejectWith(e,[c,t]),this}}),l=c.props;for(V(l,c.opts.specialEasing);o<s;o++)if(r=X.prefilters[o].call(c,e,l,c.opts))return he.isFunction(r.stop)&&(he._queueHooks(c.elem,c.opts.queue).stop=he.proxy(r.stop,r)),r;return he.map(l,B,c),he.isFunction(c.opts.start)&&c.opts.start.call(e,c),c.progress(c.opts.progress).done(c.opts.done,c.opts.complete).fail(c.opts.fail).always(c.opts.always),he.fx.timer(he.extend(u,{elem:e,anim:c,queue:c.opts.queue})),c}function U(e){return(e.match(Ae)||[]).join(" ")}function Q(e){return e.getAttribute&&e.getAttribute("class")||""}function Y(e,t,n,r){var i;if(Array.isArray(t))he.each(t,function(t,i){n||kt.test(e)?r(e,i):Y(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==he.type(t))r(e,t);else for(i in t)Y(e+"["+i+"]",t[i],n,r)}function J(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(Ae)||[];if(he.isFunction(n))for(;r=o[i++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function G(e,t,n,r){function i(a){var u;return o[a]=!0,he.each(e[a]||[],function(e,a){var c=a(t,n,r);return"string"!=typeof c||s||o[c]?s?!(u=c):void 0:(t.dataTypes.unshift(c),i(c),!1)}),u}var o={},s=e===It;return i(t.dataTypes[0])||!o["*"]&&i("*")}function K(e,t){var n,r,i=he.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&he.extend(!0,e,r),e}function Z(e,t,n){for(var r,i,o,s,a=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in a)if(a[i]&&a[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}s||(s=i)}o=o||s}if(o)return o!==u[0]&&u.unshift(o),n[o]}function ee(e,t,n,r){var i,o,s,a,u,c={},l=e.dataTypes.slice();if(l[1])for(s in e.converters)c[s.toLowerCase()]=e.converters[s];for(o=l.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=l.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(s=c[u+" "+o]||c["* "+o]))for(i in c)if(a=i.split(" "),a[1]===o&&(s=c[u+" "+a[0]]||c["* "+a[0]])){!0===s?s=c[i]:!0!==c[i]&&(o=a[0],l.unshift(a[1]));break}if(!0!==s)if(s&&e.throws)t=s(t);else try{t=s(t)}catch(e){return{state:"parsererror",error:s?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}var te=[],ne=e.document,re=Object.getPrototypeOf,ie=te.slice,oe=te.concat,se=te.push,ae=te.indexOf,ue={},ce=ue.toString,le=ue.hasOwnProperty,fe=le.toString,de=fe.call(Object),pe={},he=function(e,t){return new he.fn.init(e,t)},ge=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,ve=/^-ms-/,me=/-([a-z])/g,ye=function(e,t){return t.toUpperCase()};he.fn=he.prototype={jquery:"3.2.1",constructor:he,length:0,toArray:function(){return ie.call(this)},get:function(e){return null==e?ie.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=he.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return he.each(this,e)},map:function(e){return this.pushStack(he.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(ie.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:se,sort:te.sort,splice:te.splice},he.extend=he.fn.extend=function(){var e,t,n,r,i,o,s=arguments[0]||{},a=1,u=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[a]||{},a++),"object"==typeof s||he.isFunction(s)||(s={}),a===u&&(s=this,a--);a<u;a++)if(null!=(e=arguments[a]))for(t in e)n=s[t],r=e[t],s!==r&&(c&&r&&(he.isPlainObject(r)||(i=Array.isArray(r)))?(i?(i=!1,o=n&&Array.isArray(n)?n:[]):o=n&&he.isPlainObject(n)?n:{},s[t]=he.extend(c,o,r)):void 0!==r&&(s[t]=r));return s},he.extend({expando:"jQuery"+("3.2.1"+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isFunction:function(e){return"function"===he.type(e)},isWindow:function(e){return null!=e&&e===e.window},isNumeric:function(e){var t=he.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==ce.call(e))&&(!(t=re(e))||"function"==typeof(n=le.call(t,"constructor")&&t.constructor)&&fe.call(n)===de)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?ue[ce.call(e)]||"object":typeof e},globalEval:function(e){n(e)},camelCase:function(e){return e.replace(ve,"ms-").replace(me,ye)},each:function(e,t){var n,i=0;if(r(e))for(n=e.length;i<n&&!1!==t.call(e[i],i,e[i]);i++);else for(i in e)if(!1===t.call(e[i],i,e[i]))break;return e},trim:function(e){return null==e?"":(e+"").replace(ge,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(r(Object(e))?he.merge(n,"string"==typeof e?[e]:e):se.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:ae.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,s=!n;i<o;i++)!t(e[i],i)!==s&&r.push(e[i]);return r},map:function(e,t,n){var i,o,s=0,a=[];if(r(e))for(i=e.length;s<i;s++)null!=(o=t(e[s],s,n))&&a.push(o);else for(s in e)null!=(o=t(e[s],s,n))&&a.push(o);return oe.apply([],a)},guid:1,proxy:function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),he.isFunction(e))return r=ie.call(arguments,2),i=function(){return e.apply(t||this,r.concat(ie.call(arguments)))},i.guid=e.guid=e.guid||he.guid++,i},now:Date.now,support:pe}),"function"==typeof Symbol&&(he.fn[Symbol.iterator]=te[Symbol.iterator]),he.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){ue["[object "+t+"]"]=t.toLowerCase()});var xe=function(e){function t(e,t,n,r){var i,o,s,a,u,l,d,p=t&&t.ownerDocument,h=t?t.nodeType:9;if(n=n||[],"string"!=typeof e||!e||1!==h&&9!==h&&11!==h)return n;if(!r&&((t?t.ownerDocument||t:R)!==D&&L(t),t=t||D,q)){if(11!==h&&(u=ge.exec(e)))if(i=u[1]){if(9===h){if(!(s=t.getElementById(i)))return n;if(s.id===i)return n.push(s),n}else if(p&&(s=p.getElementById(i))&&H(t,s)&&s.id===i)return n.push(s),n}else{if(u[2])return J.apply(n,t.getElementsByTagName(e)),n;if((i=u[3])&&b.getElementsByClassName&&t.getElementsByClassName)return J.apply(n,t.getElementsByClassName(i)),n}if(b.qsa&&!z[e+" "]&&(!F||!F.test(e))){if(1!==h)p=t,d=e;else if("object"!==t.nodeName.toLowerCase()){for((a=t.getAttribute("id"))?a=a.replace(xe,be):t.setAttribute("id",a=I),l=E(e),o=l.length;o--;)l[o]="#"+a+" "+f(l[o]);d=l.join(","),p=ve.test(e)&&c(t.parentNode)||t}if(d)try{return J.apply(n,p.querySelectorAll(d)),n}catch(e){}finally{a===I&&t.removeAttribute("id")}}}return k(e.replace(oe,"$1"),t,n,r)}function n(){function e(n,r){return t.push(n+" ")>w.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[];return e}function r(e){return e[I]=!0,e}function i(e){var t=D.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function o(e,t){for(var n=e.split("|"),r=n.length;r--;)w.attrHandle[n[r]]=t}function s(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function a(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&Te(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function u(e){return r(function(t){return t=+t,r(function(n,r){for(var i,o=e([],n.length,t),s=o.length;s--;)n[i=o[s]]&&(n[i]=!(r[i]=n[i]))})})}function c(e){return e&&void 0!==e.getElementsByTagName&&e}function l(){}function f(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function d(e,t,n){var r=t.dir,i=t.next,o=i||r,s=n&&"parentNode"===o,a=M++;return t.first?function(t,n,i){for(;t=t[r];)if(1===t.nodeType||s)return e(t,n,i);return!1}:function(t,n,u){var c,l,f,d=[_,a];if(u){for(;t=t[r];)if((1===t.nodeType||s)&&e(t,n,u))return!0}else for(;t=t[r];)if(1===t.nodeType||s)if(f=t[I]||(t[I]={}),l=f[t.uniqueID]||(f[t.uniqueID]={}),i&&i===t.nodeName.toLowerCase())t=t[r]||t;else{if((c=l[o])&&c[0]===_&&c[1]===a)return d[2]=c[2];if(l[o]=d,d[2]=e(t,n,u))return!0}return!1}}function p(e){return e.length>1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function h(e,n,r){for(var i=0,o=n.length;i<o;i++)t(e,n[i],r);return r}function g(e,t,n,r,i){for(var o,s=[],a=0,u=e.length,c=null!=t;a<u;a++)(o=e[a])&&(n&&!n(o,r,i)||(s.push(o),c&&t.push(a)));return s}function v(e,t,n,i,o,s){return i&&!i[I]&&(i=v(i)),o&&!o[I]&&(o=v(o,s)),r(function(r,s,a,u){var c,l,f,d=[],p=[],v=s.length,m=r||h(t||"*",a.nodeType?[a]:a,[]),y=!e||!r&&t?m:g(m,d,e,a,u),x=n?o||(r?e:v||i)?[]:s:y;if(n&&n(y,x,a,u),i)for(c=g(x,p),i(c,[],a,u),l=c.length;l--;)(f=c[l])&&(x[p[l]]=!(y[p[l]]=f));if(r){if(o||e){if(o){for(c=[],l=x.length;l--;)(f=x[l])&&c.push(y[l]=f);o(null,x=[],c,u)}for(l=x.length;l--;)(f=x[l])&&(c=o?K(r,f):d[l])>-1&&(r[c]=!(s[c]=f))}}else x=g(x===s?x.splice(v,x.length):x),o?o(null,s,x,u):J.apply(s,x)})}function m(e){for(var t,n,r,i=e.length,o=w.relative[e[0].type],s=o||w.relative[" "],a=o?1:0,u=d(function(e){return e===t},s,!0),c=d(function(e){return K(t,e)>-1},s,!0),l=[function(e,n,r){var i=!o&&(r||n!==N)||((t=n).nodeType?u(e,n,r):c(e,n,r));return t=null,i}];a<i;a++)if(n=w.relative[e[a].type])l=[d(p(l),n)];else{if(n=w.filter[e[a].type].apply(null,e[a].matches),n[I]){for(r=++a;r<i&&!w.relative[e[r].type];r++);return v(a>1&&p(l),a>1&&f(e.slice(0,a-1).concat({value:" "===e[a-2].type?"*":""})).replace(oe,"$1"),n,a<r&&m(e.slice(a,r)),r<i&&m(e=e.slice(r)),r<i&&f(e))}l.push(n)}return p(l)}function y(e,n){var i=n.length>0,o=e.length>0,s=function(r,s,a,u,c){var l,f,d,p=0,h="0",v=r&&[],m=[],y=N,x=r||o&&w.find.TAG("*",c),b=_+=null==y?1:Math.random()||.1,T=x.length;for(c&&(N=s===D||s||c);h!==T&&null!=(l=x[h]);h++){if(o&&l){for(f=0,s||l.ownerDocument===D||(L(l),a=!q);d=e[f++];)if(d(l,s||D,a)){u.push(l);break}c&&(_=b)}i&&((l=!d&&l)&&p--,r&&v.push(l))}if(p+=h,i&&h!==p){for(f=0;d=n[f++];)d(v,m,s,a);if(r){if(p>0)for(;h--;)v[h]||m[h]||(m[h]=Q.call(u));m=g(m)}J.apply(u,m),c&&!r&&m.length>0&&p+n.length>1&&t.uniqueSort(u)}return c&&(_=b,N=y),v};return i?r(s):s}var x,b,w,T,S,E,C,k,N,j,A,L,D,O,q,F,$,P,H,I="sizzle"+1*new Date,R=e.document,_=0,M=0,W=n(),B=n(),z=n(),V=function(e,t){return e===t&&(A=!0),0},X={}.hasOwnProperty,U=[],Q=U.pop,Y=U.push,J=U.push,G=U.slice,K=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},Z="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",ee="[\\x20\\t\\r\\n\\f]",te="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",ne="\\["+ee+"*("+te+")(?:"+ee+"*([*^$|!~]?=)"+ee+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+te+"))|)"+ee+"*\\]",re=":("+te+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+ne+")*)|.*)\\)|)",ie=new RegExp(ee+"+","g"),oe=new RegExp("^"+ee+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ee+"+$","g"),se=new RegExp("^"+ee+"*,"+ee+"*"),ae=new RegExp("^"+ee+"*([>+~]|"+ee+")"+ee+"*"),ue=new RegExp("="+ee+"*([^\\]'\"]*?)"+ee+"*\\]","g"),ce=new RegExp(re),le=new RegExp("^"+te+"$"),fe={ID:new RegExp("^#("+te+")"),CLASS:new RegExp("^\\.("+te+")"),TAG:new RegExp("^("+te+"|[*])"),ATTR:new RegExp("^"+ne),PSEUDO:new RegExp("^"+re),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ee+"*(even|odd|(([+-]|)(\\d*)n|)"+ee+"*(?:([+-]|)"+ee+"*(\\d+)|))"+ee+"*\\)|)","i"),bool:new RegExp("^(?:"+Z+")$","i"),needsContext:new RegExp("^"+ee+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ee+"*((?:-\\d)?\\d*)"+ee+"*\\)|)(?=[^-]|$)","i")},de=/^(?:input|select|textarea|button)$/i,pe=/^h\d$/i,he=/^[^{]+\{\s*\[native \w/,ge=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ve=/[+~]/,me=new RegExp("\\\\([\\da-f]{1,6}"+ee+"?|("+ee+")|.)","ig"),ye=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},xe=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,be=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},we=function(){L()},Te=d(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{J.apply(U=G.call(R.childNodes),R.childNodes),U[R.childNodes.length].nodeType}catch(e){J={apply:U.length?function(e,t){Y.apply(e,G.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}b=t.support={},S=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},L=t.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:R;return r!==D&&9===r.nodeType&&r.documentElement?(D=r,O=D.documentElement,q=!S(D),R!==D&&(n=D.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",we,!1):n.attachEvent&&n.attachEvent("onunload",we)),b.attributes=i(function(e){return e.className="i",!e.getAttribute("className")}),b.getElementsByTagName=i(function(e){return e.appendChild(D.createComment("")),!e.getElementsByTagName("*").length}),b.getElementsByClassName=he.test(D.getElementsByClassName),b.getById=i(function(e){return O.appendChild(e).id=I,!D.getElementsByName||!D.getElementsByName(I).length}),b.getById?(w.filter.ID=function(e){var t=e.replace(me,ye);return function(e){return e.getAttribute("id")===t}},w.find.ID=function(e,t){if(void 0!==t.getElementById&&q){var n=t.getElementById(e);return n?[n]:[]}}):(w.filter.ID=function(e){var t=e.replace(me,ye);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},w.find.ID=function(e,t){if(void 0!==t.getElementById&&q){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),w.find.TAG=b.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):b.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},w.find.CLASS=b.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&q)return t.getElementsByClassName(e)},$=[],F=[],(b.qsa=he.test(D.querySelectorAll))&&(i(function(e){O.appendChild(e).innerHTML="<a id='"+I+"'></a><select id='"+I+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&F.push("[*^$]="+ee+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||F.push("\\["+ee+"*(?:value|"+Z+")"),e.querySelectorAll("[id~="+I+"-]").length||F.push("~="),e.querySelectorAll(":checked").length||F.push(":checked"),e.querySelectorAll("a#"+I+"+*").length||F.push(".#.+[+~]")}),i(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=D.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&F.push("name"+ee+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&F.push(":enabled",":disabled"),O.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&F.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),F.push(",.*:")})),(b.matchesSelector=he.test(P=O.matches||O.webkitMatchesSelector||O.mozMatchesSelector||O.oMatchesSelector||O.msMatchesSelector))&&i(function(e){b.disconnectedMatch=P.call(e,"*"),P.call(e,"[s!='']:x"),$.push("!=",re)}),F=F.length&&new RegExp(F.join("|")),$=$.length&&new RegExp($.join("|")),t=he.test(O.compareDocumentPosition),H=t||he.test(O.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},V=t?function(e,t){if(e===t)return A=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!b.sortDetached&&t.compareDocumentPosition(e)===n?e===D||e.ownerDocument===R&&H(R,e)?-1:t===D||t.ownerDocument===R&&H(R,t)?1:j?K(j,e)-K(j,t):0:4&n?-1:1)}:function(e,t){if(e===t)return A=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],u=[t];if(!i||!o)return e===D?-1:t===D?1:i?-1:o?1:j?K(j,e)-K(j,t):0;if(i===o)return s(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)u.unshift(n);for(;a[r]===u[r];)r++;return r?s(a[r],u[r]):a[r]===R?-1:u[r]===R?1:0},D):D},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==D&&L(e),n=n.replace(ue,"='$1']"),b.matchesSelector&&q&&!z[n+" "]&&(!$||!$.test(n))&&(!F||!F.test(n)))try{var r=P.call(e,n);if(r||b.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return t(n,D,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==D&&L(e),H(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==D&&L(e);var n=w.attrHandle[t.toLowerCase()],r=n&&X.call(w.attrHandle,t.toLowerCase())?n(e,t,!q):void 0;return void 0!==r?r:b.attributes||!q?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},t.escape=function(e){return(e+"").replace(xe,be)},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,n=[],r=0,i=0;if(A=!b.detectDuplicates,j=!b.sortStable&&e.slice(0),e.sort(V),A){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return j=null,e},T=t.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=T(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=T(t);return n},w=t.selectors={cacheLength:50,createPseudo:r,match:fe,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(me,ye),e[3]=(e[3]||e[4]||e[5]||"").replace(me,ye),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return fe.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&ce.test(n)&&(t=E(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(me,ye).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=W[e+" "];return t||(t=new RegExp("(^|"+ee+")"+e+"("+ee+"|$)"))&&W(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,r){return function(i){var o=t.attr(i,e);return null==o?"!="===n:!n||(o+="","="===n?o===r:"!="===n?o!==r:"^="===n?r&&0===o.indexOf(r):"*="===n?r&&o.indexOf(r)>-1:"$="===n?r&&o.slice(-r.length)===r:"~="===n?(" "+o.replace(ie," ")+" ").indexOf(r)>-1:"|="===n&&(o===r||o.slice(0,r.length+1)===r+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),s="last"!==e.slice(-4),a="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var c,l,f,d,p,h,g=o!==s?"nextSibling":"previousSibling",v=t.parentNode,m=a&&t.nodeName.toLowerCase(),y=!u&&!a,x=!1;if(v){if(o){for(;g;){for(d=t;d=d[g];)if(a?d.nodeName.toLowerCase()===m:1===d.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[s?v.firstChild:v.lastChild],s&&y){for(d=v,f=d[I]||(d[I]={}),l=f[d.uniqueID]||(f[d.uniqueID]={}),c=l[e]||[],p=c[0]===_&&c[1],x=p&&c[2],d=p&&v.childNodes[p];d=++p&&d&&d[g]||(x=p=0)||h.pop();)if(1===d.nodeType&&++x&&d===t){l[e]=[_,p,x];break}}else if(y&&(d=t,f=d[I]||(d[I]={}),l=f[d.uniqueID]||(f[d.uniqueID]={}),c=l[e]||[],p=c[0]===_&&c[1],x=p),!1===x)for(;(d=++p&&d&&d[g]||(x=p=0)||h.pop())&&((a?d.nodeName.toLowerCase()!==m:1!==d.nodeType)||!++x||(y&&(f=d[I]||(d[I]={}),l=f[d.uniqueID]||(f[d.uniqueID]={}),l[e]=[_,x]),d!==t)););return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,n){var i,o=w.pseudos[e]||w.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return o[I]?o(n):o.length>1?(i=[e,e,"",n],w.setFilters.hasOwnProperty(e.toLowerCase())?r(function(e,t){for(var r,i=o(e,n),s=i.length;s--;)r=K(e,i[s]),e[r]=!(t[r]=i[s])}):function(e){return o(e,0,i)}):o}},pseudos:{not:r(function(e){var t=[],n=[],i=C(e.replace(oe,"$1"));return i[I]?r(function(e,t,n,r){for(var o,s=i(e,null,r,[]),a=e.length;a--;)(o=s[a])&&(e[a]=!(t[a]=o))}):function(e,r,o){return t[0]=e,i(t,null,o,n),t[0]=null,!n.pop()}}),has:r(function(e){return function(n){return t(e,n).length>0}}),contains:r(function(e){return e=e.replace(me,ye),function(t){return(t.textContent||t.innerText||T(t)).indexOf(e)>-1}}),lang:r(function(e){return le.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(me,ye).toLowerCase(),function(t){var n;do{if(n=q?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===O},focus:function(e){return e===D.activeElement&&(!D.hasFocus||D.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:a(!1),disabled:a(!0),checked:function(e){var t=e.nodeName.toLowerCase()
  1314. ;return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!w.pseudos.empty(e)},header:function(e){return pe.test(e.nodeName)},input:function(e){return de.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:u(function(){return[0]}),last:u(function(e,t){return[t-1]}),eq:u(function(e,t,n){return[n<0?n+t:n]}),even:u(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:u(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:u(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:u(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}},w.pseudos.nth=w.pseudos.eq;for(x in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})w.pseudos[x]=function(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}(x);for(x in{submit:!0,reset:!0})w.pseudos[x]=function(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}(x);return l.prototype=w.filters=w.pseudos,w.setFilters=new l,E=t.tokenize=function(e,n){var r,i,o,s,a,u,c,l=B[e+" "];if(l)return n?0:l.slice(0);for(a=e,u=[],c=w.preFilter;a;){r&&!(i=se.exec(a))||(i&&(a=a.slice(i[0].length)||a),u.push(o=[])),r=!1,(i=ae.exec(a))&&(r=i.shift(),o.push({value:r,type:i[0].replace(oe," ")}),a=a.slice(r.length));for(s in w.filter)!(i=fe[s].exec(a))||c[s]&&!(i=c[s](i))||(r=i.shift(),o.push({value:r,type:s,matches:i}),a=a.slice(r.length));if(!r)break}return n?a.length:a?t.error(e):B(e,u).slice(0)},C=t.compile=function(e,t){var n,r=[],i=[],o=z[e+" "];if(!o){for(t||(t=E(e)),n=t.length;n--;)o=m(t[n]),o[I]?r.push(o):i.push(o);o=z(e,y(i,r)),o.selector=e}return o},k=t.select=function(e,t,n,r){var i,o,s,a,u,l="function"==typeof e&&e,d=!r&&E(e=l.selector||e);if(n=n||[],1===d.length){if(o=d[0]=d[0].slice(0),o.length>2&&"ID"===(s=o[0]).type&&9===t.nodeType&&q&&w.relative[o[1].type]){if(!(t=(w.find.ID(s.matches[0].replace(me,ye),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=fe.needsContext.test(e)?0:o.length;i--&&(s=o[i],!w.relative[a=s.type]);)if((u=w.find[a])&&(r=u(s.matches[0].replace(me,ye),ve.test(o[0].type)&&c(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&f(o)))return J.apply(n,r),n;break}}return(l||C(e,d))(r,t,!q,n,!t||ve.test(e)&&c(t.parentNode)||t),n},b.sortStable=I.split("").sort(V).join("")===I,b.detectDuplicates=!!A,L(),b.sortDetached=i(function(e){return 1&e.compareDocumentPosition(D.createElement("fieldset"))}),i(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||o("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),b.attributes&&i(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||o("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),i(function(e){return null==e.getAttribute("disabled")})||o(Z,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),t}(e);he.find=xe,he.expr=xe.selectors,he.expr[":"]=he.expr.pseudos,he.uniqueSort=he.unique=xe.uniqueSort,he.text=xe.getText,he.isXMLDoc=xe.isXML,he.contains=xe.contains,he.escapeSelector=xe.escape;var be=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&he(e).is(n))break;r.push(e)}return r},we=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},Te=he.expr.match.needsContext,Se=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,Ee=/^.[^:#\[\.,]*$/;he.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?he.find.matchesSelector(r,e)?[r]:[]:he.find.matches(e,he.grep(t,function(e){return 1===e.nodeType}))},he.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(he(e).filter(function(){for(t=0;t<r;t++)if(he.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)he.find(e,i[t],n);return r>1?he.uniqueSort(n):n},filter:function(e){return this.pushStack(o(this,e||[],!1))},not:function(e){return this.pushStack(o(this,e||[],!0))},is:function(e){return!!o(this,"string"==typeof e&&Te.test(e)?he(e):e||[],!1).length}});var Ce,ke=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(he.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||Ce,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:ke.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof he?t[0]:t,he.merge(this,he.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:ne,!0)),Se.test(r[1])&&he.isPlainObject(t))for(r in t)he.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return i=ne.getElementById(r[2]),i&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):he.isFunction(e)?void 0!==n.ready?n.ready(e):e(he):he.makeArray(e,this)}).prototype=he.fn,Ce=he(ne);var Ne=/^(?:parents|prev(?:Until|All))/,je={children:!0,contents:!0,next:!0,prev:!0};he.fn.extend({has:function(e){var t=he(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(he.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],s="string"!=typeof e&&he(e);if(!Te.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(s?s.index(n)>-1:1===n.nodeType&&he.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?he.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?ae.call(he(e),this[0]):ae.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(he.uniqueSort(he.merge(this.get(),he(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),he.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return be(e,"parentNode")},parentsUntil:function(e,t,n){return be(e,"parentNode",n)},next:function(e){return s(e,"nextSibling")},prev:function(e){return s(e,"previousSibling")},nextAll:function(e){return be(e,"nextSibling")},prevAll:function(e){return be(e,"previousSibling")},nextUntil:function(e,t,n){return be(e,"nextSibling",n)},prevUntil:function(e,t,n){return be(e,"previousSibling",n)},siblings:function(e){return we((e.parentNode||{}).firstChild,e)},children:function(e){return we(e.firstChild)},contents:function(e){return i(e,"iframe")?e.contentDocument:(i(e,"template")&&(e=e.content||e),he.merge([],e.childNodes))}},function(e,t){he.fn[e]=function(n,r){var i=he.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=he.filter(r,i)),this.length>1&&(je[e]||he.uniqueSort(i),Ne.test(e)&&i.reverse()),this.pushStack(i)}});var Ae=/[^\x20\t\r\n\f]+/g;he.Callbacks=function(e){e="string"==typeof e?a(e):he.extend({},e);var t,n,r,i,o=[],s=[],u=-1,c=function(){for(i=i||e.once,r=t=!0;s.length;u=-1)for(n=s.shift();++u<o.length;)!1===o[u].apply(n[0],n[1])&&e.stopOnFalse&&(u=o.length,n=!1);e.memory||(n=!1),t=!1,i&&(o=n?[]:"")},l={add:function(){return o&&(n&&!t&&(u=o.length-1,s.push(n)),function t(n){he.each(n,function(n,r){he.isFunction(r)?e.unique&&l.has(r)||o.push(r):r&&r.length&&"string"!==he.type(r)&&t(r)})}(arguments),n&&!t&&c()),this},remove:function(){return he.each(arguments,function(e,t){for(var n;(n=he.inArray(t,o,n))>-1;)o.splice(n,1),n<=u&&u--}),this},has:function(e){return e?he.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=s=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=s=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=n||[],n=[e,n.slice?n.slice():n],s.push(n),t||c()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l},he.extend({Deferred:function(t){var n=[["notify","progress",he.Callbacks("memory"),he.Callbacks("memory"),2],["resolve","done",he.Callbacks("once memory"),he.Callbacks("once memory"),0,"resolved"],["reject","fail",he.Callbacks("once memory"),he.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},catch:function(e){return i.then(null,e)},pipe:function(){var e=arguments;return he.Deferred(function(t){he.each(n,function(n,r){var i=he.isFunction(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&he.isFunction(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){function o(t,n,r,i){return function(){var a=this,l=arguments,f=function(){var e,f;if(!(t<s)){if((e=r.apply(a,l))===n.promise())throw new TypeError("Thenable self-resolution");f=e&&("object"==typeof e||"function"==typeof e)&&e.then,he.isFunction(f)?i?f.call(e,o(s,n,u,i),o(s,n,c,i)):(s++,f.call(e,o(s,n,u,i),o(s,n,c,i),o(s,n,u,n.notifyWith))):(r!==u&&(a=void 0,l=[e]),(i||n.resolveWith)(a,l))}},d=i?f:function(){try{f()}catch(e){he.Deferred.exceptionHook&&he.Deferred.exceptionHook(e,d.stackTrace),t+1>=s&&(r!==c&&(a=void 0,l=[e]),n.rejectWith(a,l))}};t?d():(he.Deferred.getStackHook&&(d.stackTrace=he.Deferred.getStackHook()),e.setTimeout(d))}}var s=0;return he.Deferred(function(e){n[0][3].add(o(0,e,he.isFunction(i)?i:u,e.notifyWith)),n[1][3].add(o(0,e,he.isFunction(t)?t:u)),n[2][3].add(o(0,e,he.isFunction(r)?r:c))}).promise()},promise:function(e){return null!=e?he.extend(e,i):i}},o={};return he.each(n,function(e,t){var s=t[2],a=t[5];i[t[1]]=s.add,a&&s.add(function(){r=a},n[3-e][2].disable,n[0][2].lock),s.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=s.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=ie.call(arguments),o=he.Deferred(),s=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?ie.call(arguments):n,--t||o.resolveWith(r,i)}};if(t<=1&&(l(e,o.done(s(n)).resolve,o.reject,!t),"pending"===o.state()||he.isFunction(i[n]&&i[n].then)))return o.then();for(;n--;)l(i[n],s(n),o.reject);return o.promise()}});var Le=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;he.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&Le.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},he.readyException=function(t){e.setTimeout(function(){throw t})};var De=he.Deferred();he.fn.ready=function(e){return De.then(e).catch(function(e){he.readyException(e)}),this},he.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--he.readyWait:he.isReady)||(he.isReady=!0,!0!==e&&--he.readyWait>0||De.resolveWith(ne,[he]))}}),he.ready.then=De.then,"complete"===ne.readyState||"loading"!==ne.readyState&&!ne.documentElement.doScroll?e.setTimeout(he.ready):(ne.addEventListener("DOMContentLoaded",f),e.addEventListener("load",f));var Oe=function(e,t,n,r,i,o,s){var a=0,u=e.length,c=null==n;if("object"===he.type(n)){i=!0;for(a in n)Oe(e,t,a,n[a],!0,o,s)}else if(void 0!==r&&(i=!0,he.isFunction(r)||(s=!0),c&&(s?(t.call(e,r),t=null):(c=t,t=function(e,t,n){return c.call(he(e),n)})),t))for(;a<u;a++)t(e[a],n,s?r:r.call(e[a],a,t(e[a],n)));return i?e:c?t.call(e):u?t(e[0],n):o},qe=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};d.uid=1,d.prototype={cache:function(e){var t=e[this.expando];return t||(t={},qe(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[he.camelCase(t)]=n;else for(r in t)i[he.camelCase(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][he.camelCase(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){Array.isArray(t)?t=t.map(he.camelCase):(t=he.camelCase(t),t=t in r?[t]:t.match(Ae)||[]),n=t.length;for(;n--;)delete r[t[n]]}(void 0===t||he.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!he.isEmptyObject(t)}};var Fe=new d,$e=new d,Pe=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,He=/[A-Z]/g;he.extend({hasData:function(e){return $e.hasData(e)||Fe.hasData(e)},data:function(e,t,n){return $e.access(e,t,n)},removeData:function(e,t){$e.remove(e,t)},_data:function(e,t,n){return Fe.access(e,t,n)},_removeData:function(e,t){Fe.remove(e,t)}}),he.fn.extend({data:function(e,t){var n,r,i,o=this[0],s=o&&o.attributes;if(void 0===e){if(this.length&&(i=$e.get(o),1===o.nodeType&&!Fe.get(o,"hasDataAttrs"))){for(n=s.length;n--;)s[n]&&(r=s[n].name,0===r.indexOf("data-")&&(r=he.camelCase(r.slice(5)),h(o,r,i[r])));Fe.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof e?this.each(function(){$e.set(this,e)}):Oe(this,function(t){var n;if(o&&void 0===t){if(void 0!==(n=$e.get(o,e)))return n;if(void 0!==(n=h(o,e)))return n}else this.each(function(){$e.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){$e.remove(this,e)})}}),he.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Fe.get(e,t),n&&(!r||Array.isArray(n)?r=Fe.access(e,t,he.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=he.queue(e,t),r=n.length,i=n.shift(),o=he._queueHooks(e,t),s=function(){he.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,s,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Fe.get(e,n)||Fe.access(e,n,{empty:he.Callbacks("once memory").add(function(){Fe.remove(e,[t+"queue",n])})})}}),he.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?he.queue(this[0],e):void 0===t?this:this.each(function(){var n=he.queue(this,e,t);he._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&he.dequeue(this,e)})},dequeue:function(e){return this.each(function(){he.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=he.Deferred(),o=this,s=this.length,a=function(){--r||i.resolveWith(o,[o])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";s--;)(n=Fe.get(o[s],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(a));return a(),i.promise(t)}});var Ie=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,Re=new RegExp("^(?:([+-])=|)("+Ie+")([a-z%]*)$","i"),_e=["Top","Right","Bottom","Left"],Me=function(e,t){return e=t||e,"none"===e.style.display||""===e.style.display&&he.contains(e.ownerDocument,e)&&"none"===he.css(e,"display")},We=function(e,t,n,r){var i,o,s={};for(o in t)s[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=s[o];return i},Be={};he.fn.extend({show:function(){return m(this,!0)},hide:function(){return m(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){Me(this)?he(this).show():he(this).hide()})}});var ze=/^(?:checkbox|radio)$/i,Ve=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,Xe=/^$|\/(?:java|ecma)script/i,Ue={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};Ue.optgroup=Ue.option,Ue.tbody=Ue.tfoot=Ue.colgroup=Ue.caption=Ue.thead,Ue.th=Ue.td;var Qe=/<|&#?\w+;/;!function(){var e=ne.createDocumentFragment(),t=e.appendChild(ne.createElement("div")),n=ne.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),t.appendChild(n),pe.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML="<textarea>x</textarea>",pe.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}();var Ye=ne.documentElement,Je=/^key/,Ge=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ke=/^([^.]*)(?:\.(.+)|)/;he.event={global:{},add:function(e,t,n,r,i){var o,s,a,u,c,l,f,d,p,h,g,v=Fe.get(e);if(v)for(n.handler&&(o=n,n=o.handler,i=o.selector),i&&he.find.matchesSelector(Ye,i),n.guid||(n.guid=he.guid++),(u=v.events)||(u=v.events={}),(s=v.handle)||(s=v.handle=function(t){return void 0!==he&&he.event.triggered!==t.type?he.event.dispatch.apply(e,arguments):void 0}),t=(t||"").match(Ae)||[""],c=t.length;c--;)a=Ke.exec(t[c])||[],p=g=a[1],h=(a[2]||"").split(".").sort(),p&&(f=he.event.special[p]||{},p=(i?f.delegateType:f.bindType)||p,f=he.event.special[p]||{},l=he.extend({type:p,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&he.expr.match.needsContext.test(i),namespace:h.join(".")},o),(d=u[p])||(d=u[p]=[],d.delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,s)||e.addEventListener&&e.addEventListener(p,s)),f.add&&(f.add.call(e,l),l.handler.guid||(l.handler.guid=n.guid)),i?d.splice(d.delegateCount++,0,l):d.push(l),he.event.global[p]=!0)},remove:function(e,t,n,r,i){var o,s,a,u,c,l,f,d,p,h,g,v=Fe.hasData(e)&&Fe.get(e);if(v&&(u=v.events)){for(t=(t||"").match(Ae)||[""],c=t.length;c--;)if(a=Ke.exec(t[c])||[],p=g=a[1],h=(a[2]||"").split(".").sort(),p){for(f=he.event.special[p]||{},p=(r?f.delegateType:f.bindType)||p,d=u[p]||[],a=a[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=o=d.length;o--;)l=d[o],!i&&g!==l.origType||n&&n.guid!==l.guid||a&&!a.test(l.namespace)||r&&r!==l.selector&&("**"!==r||!l.selector)||(d.splice(o,1),l.selector&&d.delegateCount--,f.remove&&f.remove.call(e,l));s&&!d.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||he.removeEvent(e,p,v.handle),delete u[p])}else for(p in u)he.event.remove(e,p+t[c],n,r,!0);he.isEmptyObject(u)&&Fe.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,s,a=he.event.fix(e),u=new Array(arguments.length),c=(Fe.get(this,"events")||{})[a.type]||[],l=he.event.special[a.type]||{};for(u[0]=a,t=1;t<arguments.length;t++)u[t]=arguments[t];if(a.delegateTarget=this,!l.preDispatch||!1!==l.preDispatch.call(this,a)){for(s=he.event.handlers.call(this,a,c),t=0;(i=s[t++])&&!a.isPropagationStopped();)for(a.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!a.isImmediatePropagationStopped();)a.rnamespace&&!a.rnamespace.test(o.namespace)||(a.handleObj=o,a.data=o.data,void 0!==(r=((he.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,u))&&!1===(a.result=r)&&(a.preventDefault(),a.stopPropagation()));return l.postDispatch&&l.postDispatch.call(this,a),a.result}},handlers:function(e,t){var n,r,i,o,s,a=[],u=t.delegateCount,c=e.target;if(u&&c.nodeType&&!("click"===e.type&&e.button>=1))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&("click"!==e.type||!0!==c.disabled)){for(o=[],s={},n=0;n<u;n++)r=t[n],i=r.selector+" ",void 0===s[i]&&(s[i]=r.needsContext?he(i,this).index(c)>-1:he.find(i,this,null,[c]).length),s[i]&&o.push(r);o.length&&a.push({elem:c,handlers:o})}return c=this,u<t.length&&a.push({elem:c,handlers:t.slice(u)}),a},addProp:function(e,t){Object.defineProperty(he.Event.prototype,e,{enumerable:!0,configurable:!0,get:he.isFunction(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[he.expando]?e:new he.Event(e)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==S()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===S()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&i(this,"input"))return this.click(),!1},_default:function(e){return i(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},he.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},he.Event=function(e,t){if(!(this instanceof he.Event))return new he.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?w:T,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&he.extend(this,t),this.timeStamp=e&&e.timeStamp||he.now(),this[he.expando]=!0},he.Event.prototype={constructor:he.Event,isDefaultPrevented:T,isPropagationStopped:T,isImmediatePropagationStopped:T,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=w,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=w,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=w,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},he.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&Je.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ge.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},he.event.addProp),he.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){he.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return i&&(i===r||he.contains(r,i))||(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),he.fn.extend({on:function(e,t,n,r){return E(this,e,t,n,r)},one:function(e,t,n,r){return E(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,he(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=T),this.each(function(){he.event.remove(this,e,n,t)})}});var Ze=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,et=/<script|<style|<link/i,tt=/checked\s*(?:[^=]|=\s*.checked.)/i,nt=/^true\/(.*)/,rt=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;he.extend({htmlPrefilter:function(e){return e.replace(Ze,"<$1></$2>")},clone:function(e,t,n){var r,i,o,s,a=e.cloneNode(!0),u=he.contains(e.ownerDocument,e);if(!(pe.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||he.isXMLDoc(e)))for(s=y(a),o=y(e),r=0,i=o.length;r<i;r++)A(o[r],s[r]);if(t)if(n)for(o=o||y(e),s=s||y(a),r=0,i=o.length;r<i;r++)j(o[r],s[r]);else j(e,a);return s=y(a,"script"),s.length>0&&x(s,!u&&y(e,"script")),a},cleanData:function(e){for(var t,n,r,i=he.event.special,o=0;void 0!==(n=e[o]);o++)if(qe(n)){if(t=n[Fe.expando]){if(t.events)for(r in t.events)i[r]?he.event.remove(n,r):he.removeEvent(n,r,t.handle);n[Fe.expando]=void 0}n[$e.expando]&&(n[$e.expando]=void 0)}}}),he.fn.extend({detach:function(e){return D(this,e,!0)},remove:function(e){return D(this,e)},text:function(e){return Oe(this,function(e){return void 0===e?he.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return L(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){C(this,e).appendChild(e)}})},prepend:function(){return L(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=C(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return L(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return L(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(he.cleanData(y(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return he.clone(this,e,t)})},html:function(e){return Oe(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!et.test(e)&&!Ue[(Ve.exec(e)||["",""])[1].toLowerCase()]){e=he.htmlPrefilter(e);try{for(;n<r;n++)t=this[n]||{},1===t.nodeType&&(he.cleanData(y(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return L(this,arguments,function(t){var n=this.parentNode;he.inArray(this,e)<0&&(he.cleanData(y(this)),n&&n.replaceChild(t,this))},e)}}),he.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){he.fn[e]=function(e){for(var n,r=[],i=he(e),o=i.length-1,s=0;s<=o;s++)n=s===o?this:this.clone(!0),he(i[s])[t](n),se.apply(r,n.get());return this.pushStack(r)}});var it=/^margin/,ot=new RegExp("^("+Ie+")(?!px)[a-z%]+$","i"),st=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)};!function(){function t(){if(a){a.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",a.innerHTML="",Ye.appendChild(s);var t=e.getComputedStyle(a);n="1%"!==t.top,o="2px"===t.marginLeft,r="4px"===t.width,a.style.marginRight="50%",i="4px"===t.marginRight,Ye.removeChild(s),a=null}}var n,r,i,o,s=ne.createElement("div"),a=ne.createElement("div");a.style&&(a.style.backgroundClip="content-box",a.cloneNode(!0).style.backgroundClip="",pe.clearCloneStyle="content-box"===a.style.backgroundClip,s.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",s.appendChild(a),he.extend(pe,{pixelPosition:function(){return t(),n},boxSizingReliable:function(){return t(),r},pixelMarginRight:function(){return t(),i},reliableMarginLeft:function(){return t(),o}}))}();var at=/^(none|table(?!-c[ea]).+)/,ut=/^--/,ct={position:"absolute",visibility:"hidden",display:"block"},lt={letterSpacing:"0",fontWeight:"400"},ft=["Webkit","Moz","ms"],dt=ne.createElement("div").style;he.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=O(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{float:"cssFloat"},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,s,a=he.camelCase(t),u=ut.test(t),c=e.style;if(u||(t=$(a)),s=he.cssHooks[t]||he.cssHooks[a],void 0===n)return s&&"get"in s&&void 0!==(i=s.get(e,!1,r))?i:c[t];o=typeof n,"string"===o&&(i=Re.exec(n))&&i[1]&&(n=g(e,t,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(he.cssNumber[a]?"":"px")),pe.clearCloneStyle||""!==n||0!==t.indexOf("background")||(c[t]="inherit"),s&&"set"in s&&void 0===(n=s.set(e,n,r))||(u?c.setProperty(t,n):c[t]=n))}},css:function(e,t,n,r){var i,o,s,a=he.camelCase(t);return ut.test(t)||(t=$(a)),s=he.cssHooks[t]||he.cssHooks[a],s&&"get"in s&&(i=s.get(e,!0,n)),void 0===i&&(i=O(e,t,r)),"normal"===i&&t in lt&&(i=lt[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),he.each(["height","width"],function(e,t){he.cssHooks[t]={get:function(e,n,r){if(n)return!at.test(he.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?I(e,t,r):We(e,ct,function(){return I(e,t,r)})},set:function(e,n,r){var i,o=r&&st(e),s=r&&H(e,t,r,"border-box"===he.css(e,"boxSizing",!1,o),o);return s&&(i=Re.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=he.css(e,t)),P(e,n,s)}}}),he.cssHooks.marginLeft=q(pe.reliableMarginLeft,function(e,t){if(t)return(parseFloat(O(e,"marginLeft"))||e.getBoundingClientRect().left-We(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),he.each({margin:"",padding:"",border:"Width"},function(e,t){he.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+_e[r]+t]=o[r]||o[r-2]||o[0];return i}},it.test(e)||(he.cssHooks[e+t].set=P)}),he.fn.extend({css:function(e,t){return Oe(this,function(e,t,n){var r,i,o={},s=0;if(Array.isArray(t)){for(r=st(e),i=t.length;s<i;s++)o[t[s]]=he.css(e,t[s],!1,r);return o}return void 0!==n?he.style(e,t,n):he.css(e,t)},e,t,arguments.length>1)}}),he.Tween=R,R.prototype={constructor:R,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||he.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(he.cssNumber[n]?"":"px")},cur:function(){var e=R.propHooks[this.prop];return e&&e.get?e.get(this):R.propHooks._default.get(this)},run:function(e){var t,n=R.propHooks[this.prop];return this.options.duration?this.pos=t=he.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):R.propHooks._default.set(this),this}},R.prototype.init.prototype=R.prototype,R.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=he.css(e.elem,e.prop,""),t&&"auto"!==t?t:0)},set:function(e){he.fx.step[e.prop]?he.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[he.cssProps[e.prop]]&&!he.cssHooks[e.prop]?e.elem[e.prop]=e.now:he.style(e.elem,e.prop,e.now+e.unit)}}},R.propHooks.scrollTop=R.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},he.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},he.fx=R.prototype.init,he.fx.step={};var pt,ht,gt=/^(?:toggle|show|hide)$/,vt=/queueHooks$/;he.Animation=he.extend(X,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return g(n.elem,e,Re.exec(t),n),n}]},tweener:function(e,t){he.isFunction(e)?(t=e,e=["*"]):e=e.match(Ae);for(var n,r=0,i=e.length;r<i;r++)n=e[r],X.tweeners[n]=X.tweeners[n]||[],X.tweeners[n].unshift(t)},prefilters:[z],prefilter:function(e,t){t?X.prefilters.unshift(e):X.prefilters.push(e)}}),he.speed=function(e,t,n){var r=e&&"object"==typeof e?he.extend({},e):{complete:n||!n&&t||he.isFunction(e)&&e,duration:e,easing:n&&t||t&&!he.isFunction(t)&&t};return he.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in he.fx.speeds?r.duration=he.fx.speeds[r.duration]:r.duration=he.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){he.isFunction(r.old)&&r.old.call(this),r.queue&&he.dequeue(this,r.queue)},r},he.fn.extend({fadeTo:function(e,t,n,r){return this.filter(Me).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=he.isEmptyObject(e),o=he.speed(t,n,r),s=function(){var t=X(this,he.extend({},e),o);(i||Fe.get(this,"finish"))&&t.stop(!0)};return s.finish=s,i||!1===o.queue?this.each(s):this.queue(o.queue,s)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&!1!==e&&this.queue(e||"fx",[]),this.each(function(){var t=!0,i=null!=e&&e+"queueHooks",o=he.timers,s=Fe.get(this);if(i)s[i]&&s[i].stop&&r(s[i]);else for(i in s)s[i]&&s[i].stop&&vt.test(i)&&r(s[i])
  1315. ;for(i=o.length;i--;)o[i].elem!==this||null!=e&&o[i].queue!==e||(o[i].anim.stop(n),t=!1,o.splice(i,1));!t&&n||he.dequeue(this,e)})},finish:function(e){return!1!==e&&(e=e||"fx"),this.each(function(){var t,n=Fe.get(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=he.timers,s=r?r.length:0;for(n.finish=!0,he.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;t<s;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),he.each(["toggle","show","hide"],function(e,t){var n=he.fn[t];he.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(W(t,!0),e,r,i)}}),he.each({slideDown:W("show"),slideUp:W("hide"),slideToggle:W("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){he.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),he.timers=[],he.fx.tick=function(){var e,t=0,n=he.timers;for(pt=he.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||he.fx.stop(),pt=void 0},he.fx.timer=function(e){he.timers.push(e),he.fx.start()},he.fx.interval=13,he.fx.start=function(){ht||(ht=!0,_())},he.fx.stop=function(){ht=null},he.fx.speeds={slow:600,fast:200,_default:400},he.fn.delay=function(t,n){return t=he.fx?he.fx.speeds[t]||t:t,n=n||"fx",this.queue(n,function(n,r){var i=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(i)}})},function(){var e=ne.createElement("input"),t=ne.createElement("select"),n=t.appendChild(ne.createElement("option"));e.type="checkbox",pe.checkOn=""!==e.value,pe.optSelected=n.selected,e=ne.createElement("input"),e.value="t",e.type="radio",pe.radioValue="t"===e.value}();var mt,yt=he.expr.attrHandle;he.fn.extend({attr:function(e,t){return Oe(this,he.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){he.removeAttr(this,e)})}}),he.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?he.prop(e,t,n):(1===o&&he.isXMLDoc(e)||(i=he.attrHooks[t.toLowerCase()]||(he.expr.match.bool.test(t)?mt:void 0)),void 0!==n?null===n?void he.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:(r=he.find.attr(e,t),null==r?void 0:r))},attrHooks:{type:{set:function(e,t){if(!pe.radioValue&&"radio"===t&&i(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(Ae);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),mt={set:function(e,t,n){return!1===t?he.removeAttr(e,n):e.setAttribute(n,n),n}},he.each(he.expr.match.bool.source.match(/\w+/g),function(e,t){var n=yt[t]||he.find.attr;yt[t]=function(e,t,r){var i,o,s=t.toLowerCase();return r||(o=yt[s],yt[s]=i,i=null!=n(e,t,r)?s:null,yt[s]=o),i}});var xt=/^(?:input|select|textarea|button)$/i,bt=/^(?:a|area)$/i;he.fn.extend({prop:function(e,t){return Oe(this,he.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[he.propFix[e]||e]})}}),he.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&he.isXMLDoc(e)||(t=he.propFix[t]||t,i=he.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=he.find.attr(e,"tabindex");return t?parseInt(t,10):xt.test(e.nodeName)||bt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),pe.optSelected||(he.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),he.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){he.propFix[this.toLowerCase()]=this}),he.fn.extend({addClass:function(e){var t,n,r,i,o,s,a,u=0;if(he.isFunction(e))return this.each(function(t){he(this).addClass(e.call(this,t,Q(this)))});if("string"==typeof e&&e)for(t=e.match(Ae)||[];n=this[u++];)if(i=Q(n),r=1===n.nodeType&&" "+U(i)+" "){for(s=0;o=t[s++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");a=U(r),i!==a&&n.setAttribute("class",a)}return this},removeClass:function(e){var t,n,r,i,o,s,a,u=0;if(he.isFunction(e))return this.each(function(t){he(this).removeClass(e.call(this,t,Q(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof e&&e)for(t=e.match(Ae)||[];n=this[u++];)if(i=Q(n),r=1===n.nodeType&&" "+U(i)+" "){for(s=0;o=t[s++];)for(;r.indexOf(" "+o+" ")>-1;)r=r.replace(" "+o+" "," ");a=U(r),i!==a&&n.setAttribute("class",a)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):he.isFunction(e)?this.each(function(n){he(this).toggleClass(e.call(this,n,Q(this),t),t)}):this.each(function(){var t,r,i,o;if("string"===n)for(r=0,i=he(this),o=e.match(Ae)||[];t=o[r++];)i.hasClass(t)?i.removeClass(t):i.addClass(t);else void 0!==e&&"boolean"!==n||(t=Q(this),t&&Fe.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":Fe.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+U(Q(n))+" ").indexOf(t)>-1)return!0;return!1}});var wt=/\r/g;he.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=he.isFunction(e),this.each(function(n){var i;1===this.nodeType&&(i=r?e.call(this,n,he(this).val()):e,null==i?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=he.map(i,function(e){return null==e?"":e+""})),(t=he.valHooks[this.type]||he.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return(t=he.valHooks[i.type]||he.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:(n=i.value,"string"==typeof n?n.replace(wt,""):null==n?"":n)}}}),he.extend({valHooks:{option:{get:function(e){var t=he.find.attr(e,"value");return null!=t?t:U(he.text(e))}},select:{get:function(e){var t,n,r,o=e.options,s=e.selectedIndex,a="select-one"===e.type,u=a?null:[],c=a?s+1:o.length;for(r=s<0?c:a?s:0;r<c;r++)if(n=o[r],(n.selected||r===s)&&!n.disabled&&(!n.parentNode.disabled||!i(n.parentNode,"optgroup"))){if(t=he(n).val(),a)return t;u.push(t)}return u},set:function(e,t){for(var n,r,i=e.options,o=he.makeArray(t),s=i.length;s--;)r=i[s],(r.selected=he.inArray(he.valHooks.option.get(r),o)>-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),he.each(["radio","checkbox"],function(){he.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=he.inArray(he(e).val(),t)>-1}},pe.checkOn||(he.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Tt=/^(?:focusinfocus|focusoutblur)$/;he.extend(he.event,{trigger:function(t,n,r,i){var o,s,a,u,c,l,f,d=[r||ne],p=le.call(t,"type")?t.type:t,h=le.call(t,"namespace")?t.namespace.split("."):[];if(s=a=r=r||ne,3!==r.nodeType&&8!==r.nodeType&&!Tt.test(p+he.event.triggered)&&(p.indexOf(".")>-1&&(h=p.split("."),p=h.shift(),h.sort()),c=p.indexOf(":")<0&&"on"+p,t=t[he.expando]?t:new he.Event(p,"object"==typeof t&&t),t.isTrigger=i?2:3,t.namespace=h.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:he.makeArray(n,[t]),f=he.event.special[p]||{},i||!f.trigger||!1!==f.trigger.apply(r,n))){if(!i&&!f.noBubble&&!he.isWindow(r)){for(u=f.delegateType||p,Tt.test(u+p)||(s=s.parentNode);s;s=s.parentNode)d.push(s),a=s;a===(r.ownerDocument||ne)&&d.push(a.defaultView||a.parentWindow||e)}for(o=0;(s=d[o++])&&!t.isPropagationStopped();)t.type=o>1?u:f.bindType||p,l=(Fe.get(s,"events")||{})[t.type]&&Fe.get(s,"handle"),l&&l.apply(s,n),(l=c&&s[c])&&l.apply&&qe(s)&&(t.result=l.apply(s,n),!1===t.result&&t.preventDefault());return t.type=p,i||t.isDefaultPrevented()||f._default&&!1!==f._default.apply(d.pop(),n)||!qe(r)||c&&he.isFunction(r[p])&&!he.isWindow(r)&&(a=r[c],a&&(r[c]=null),he.event.triggered=p,r[p](),he.event.triggered=void 0,a&&(r[c]=a)),t.result}},simulate:function(e,t,n){var r=he.extend(new he.Event,n,{type:e,isSimulated:!0});he.event.trigger(r,null,t)}}),he.fn.extend({trigger:function(e,t){return this.each(function(){he.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return he.event.trigger(e,t,n,!0)}}),he.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){he.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),he.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),pe.focusin="onfocusin"in e,pe.focusin||he.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){he.event.simulate(t,e.target,he.event.fix(e))};he.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=Fe.access(r,t);i||r.addEventListener(e,n,!0),Fe.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=Fe.access(r,t)-1;i?Fe.access(r,t,i):(r.removeEventListener(e,n,!0),Fe.remove(r,t))}}});var St=e.location,Et=he.now(),Ct=/\?/;he.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||he.error("Invalid XML: "+t),n};var kt=/\[\]$/,Nt=/\r?\n/g,jt=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;he.param=function(e,t){var n,r=[],i=function(e,t){var n=he.isFunction(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!he.isPlainObject(e))he.each(e,function(){i(this.name,this.value)});else for(n in e)Y(n,e[n],t,i);return r.join("&")},he.fn.extend({serialize:function(){return he.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=he.prop(this,"elements");return e?he.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!he(this).is(":disabled")&&At.test(this.nodeName)&&!jt.test(e)&&(this.checked||!ze.test(e))}).map(function(e,t){var n=he(this).val();return null==n?null:Array.isArray(n)?he.map(n,function(e){return{name:t.name,value:e.replace(Nt,"\r\n")}}):{name:t.name,value:n.replace(Nt,"\r\n")}}).get()}});var Lt=/%20/g,Dt=/#.*$/,Ot=/([?&])_=[^&]*/,qt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ft=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,$t=/^(?:GET|HEAD)$/,Pt=/^\/\//,Ht={},It={},Rt="*/".concat("*"),_t=ne.createElement("a");_t.href=St.href,he.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:St.href,type:"GET",isLocal:Ft.test(St.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Rt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":he.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?K(K(e,he.ajaxSettings),t):K(he.ajaxSettings,e)},ajaxPrefilter:J(Ht),ajaxTransport:J(It),ajax:function(t,n){function r(t,n,r,a){var c,d,p,b,w,T=n;l||(l=!0,u&&e.clearTimeout(u),i=void 0,s=a||"",S.readyState=t>0?4:0,c=t>=200&&t<300||304===t,r&&(b=Z(h,S,r)),b=ee(h,b,S,c),c?(h.ifModified&&(w=S.getResponseHeader("Last-Modified"),w&&(he.lastModified[o]=w),(w=S.getResponseHeader("etag"))&&(he.etag[o]=w)),204===t||"HEAD"===h.type?T="nocontent":304===t?T="notmodified":(T=b.state,d=b.data,p=b.error,c=!p)):(p=T,!t&&T||(T="error",t<0&&(t=0))),S.status=t,S.statusText=(n||T)+"",c?m.resolveWith(g,[d,T,S]):m.rejectWith(g,[S,T,p]),S.statusCode(x),x=void 0,f&&v.trigger(c?"ajaxSuccess":"ajaxError",[S,h,c?d:p]),y.fireWith(g,[S,T]),f&&(v.trigger("ajaxComplete",[S,h]),--he.active||he.event.trigger("ajaxStop")))}"object"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,s,a,u,c,l,f,d,p,h=he.ajaxSetup({},n),g=h.context||h,v=h.context&&(g.nodeType||g.jquery)?he(g):he.event,m=he.Deferred(),y=he.Callbacks("once memory"),x=h.statusCode||{},b={},w={},T="canceled",S={readyState:0,getResponseHeader:function(e){var t;if(l){if(!a)for(a={};t=qt.exec(s);)a[t[1].toLowerCase()]=t[2];t=a[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return l?s:null},setRequestHeader:function(e,t){return null==l&&(e=w[e.toLowerCase()]=w[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==l&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(l)S.always(e[S.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||T;return i&&i.abort(t),r(0,t),this}};if(m.promise(S),h.url=((t||h.url||St.href)+"").replace(Pt,St.protocol+"//"),h.type=n.method||n.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(Ae)||[""],null==h.crossDomain){c=ne.createElement("a");try{c.href=h.url,c.href=c.href,h.crossDomain=_t.protocol+"//"+_t.host!=c.protocol+"//"+c.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=he.param(h.data,h.traditional)),G(Ht,h,n,S),l)return S;f=he.event&&h.global,f&&0==he.active++&&he.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!$t.test(h.type),o=h.url.replace(Dt,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(Lt,"+")):(p=h.url.slice(o.length),h.data&&(o+=(Ct.test(o)?"&":"?")+h.data,delete h.data),!1===h.cache&&(o=o.replace(Ot,"$1"),p=(Ct.test(o)?"&":"?")+"_="+Et+++p),h.url=o+p),h.ifModified&&(he.lastModified[o]&&S.setRequestHeader("If-Modified-Since",he.lastModified[o]),he.etag[o]&&S.setRequestHeader("If-None-Match",he.etag[o])),(h.data&&h.hasContent&&!1!==h.contentType||n.contentType)&&S.setRequestHeader("Content-Type",h.contentType),S.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+Rt+"; q=0.01":""):h.accepts["*"]);for(d in h.headers)S.setRequestHeader(d,h.headers[d]);if(h.beforeSend&&(!1===h.beforeSend.call(g,S,h)||l))return S.abort();if(T="abort",y.add(h.complete),S.done(h.success),S.fail(h.error),i=G(It,h,n,S)){if(S.readyState=1,f&&v.trigger("ajaxSend",[S,h]),l)return S;h.async&&h.timeout>0&&(u=e.setTimeout(function(){S.abort("timeout")},h.timeout));try{l=!1,i.send(b,r)}catch(e){if(l)throw e;r(-1,e)}}else r(-1,"No Transport");return S},getJSON:function(e,t,n){return he.get(e,t,n,"json")},getScript:function(e,t){return he.get(e,void 0,t,"script")}}),he.each(["get","post"],function(e,t){he[t]=function(e,n,r,i){return he.isFunction(n)&&(i=i||r,r=n,n=void 0),he.ajax(he.extend({url:e,type:t,dataType:i,data:n,success:r},he.isPlainObject(e)&&e))}}),he._evalUrl=function(e){return he.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,throws:!0})},he.fn.extend({wrapAll:function(e){var t;return this[0]&&(he.isFunction(e)&&(e=e.call(this[0])),t=he(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return he.isFunction(e)?this.each(function(t){he(this).wrapInner(e.call(this,t))}):this.each(function(){var t=he(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=he.isFunction(e);return this.each(function(n){he(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){he(this).replaceWith(this.childNodes)}),this}}),he.expr.pseudos.hidden=function(e){return!he.expr.pseudos.visible(e)},he.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},he.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Mt={0:200,1223:204},Wt=he.ajaxSettings.xhr();pe.cors=!!Wt&&"withCredentials"in Wt,pe.ajax=Wt=!!Wt,he.ajaxTransport(function(t){var n,r;if(pe.cors||Wt&&!t.crossDomain)return{send:function(i,o){var s,a=t.xhr();if(a.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(s in t.xhrFields)a[s]=t.xhrFields[s];t.mimeType&&a.overrideMimeType&&a.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(s in i)a.setRequestHeader(s,i[s]);n=function(e){return function(){n&&(n=r=a.onload=a.onerror=a.onabort=a.onreadystatechange=null,"abort"===e?a.abort():"error"===e?"number"!=typeof a.status?o(0,"error"):o(a.status,a.statusText):o(Mt[a.status]||a.status,a.statusText,"text"!==(a.responseType||"text")||"string"!=typeof a.responseText?{binary:a.response}:{text:a.responseText},a.getAllResponseHeaders()))}},a.onload=n(),r=a.onerror=n("error"),void 0!==a.onabort?a.onabort=r:a.onreadystatechange=function(){4===a.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{a.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),he.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),he.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return he.globalEval(e),e}}}),he.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),he.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(r,i){t=he("<script>").prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&i("error"===e.type?404:200,e.type)}),ne.head.appendChild(t[0])},abort:function(){n&&n()}}}});var Bt=[],zt=/(=)\?(?=&|$)|\?\?/;he.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Bt.pop()||he.expando+"_"+Et++;return this[e]=!0,e}}),he.ajaxPrefilter("json jsonp",function(t,n,r){var i,o,s,a=!1!==t.jsonp&&(zt.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&zt.test(t.data)&&"data");if(a||"jsonp"===t.dataTypes[0])return i=t.jsonpCallback=he.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,a?t[a]=t[a].replace(zt,"$1"+i):!1!==t.jsonp&&(t.url+=(Ct.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return s||he.error(i+" was not called"),s[0]},t.dataTypes[0]="json",o=e[i],e[i]=function(){s=arguments},r.always(function(){void 0===o?he(e).removeProp(i):e[i]=o,t[i]&&(t.jsonpCallback=n.jsonpCallback,Bt.push(i)),s&&he.isFunction(o)&&o(s[0]),s=o=void 0}),"script"}),pe.createHTMLDocument=function(){var e=ne.implementation.createHTMLDocument("").body;return e.innerHTML="<form></form><form></form>",2===e.childNodes.length}(),he.parseHTML=function(e,t,n){if("string"!=typeof e)return[];"boolean"==typeof t&&(n=t,t=!1);var r,i,o;return t||(pe.createHTMLDocument?(t=ne.implementation.createHTMLDocument(""),r=t.createElement("base"),r.href=ne.location.href,t.head.appendChild(r)):t=ne),i=Se.exec(e),o=!n&&[],i?[t.createElement(i[1])]:(i=b([e],t,o),o&&o.length&&he(o).remove(),he.merge([],i.childNodes))},he.fn.load=function(e,t,n){var r,i,o,s=this,a=e.indexOf(" ");return a>-1&&(r=U(e.slice(a)),e=e.slice(0,a)),he.isFunction(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),s.length>0&&he.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,s.html(r?he("<div>").append(he.parseHTML(e)).find(r):e)}).always(n&&function(e,t){s.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},he.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){he.fn[t]=function(e){return this.on(t,e)}}),he.expr.pseudos.animated=function(e){return he.grep(he.timers,function(t){return e===t.elem}).length},he.offset={setOffset:function(e,t,n){var r,i,o,s,a,u,c,l=he.css(e,"position"),f=he(e),d={};"static"===l&&(e.style.position="relative"),a=f.offset(),o=he.css(e,"top"),u=he.css(e,"left"),c=("absolute"===l||"fixed"===l)&&(o+u).indexOf("auto")>-1,c?(r=f.position(),s=r.top,i=r.left):(s=parseFloat(o)||0,i=parseFloat(u)||0),he.isFunction(t)&&(t=t.call(e,n,he.extend({},a))),null!=t.top&&(d.top=t.top-a.top+s),null!=t.left&&(d.left=t.left-a.left+i),"using"in t?t.using.call(e,d):f.css(d)}},he.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){he.offset.setOffset(this,e,t)});var t,n,r,i,o=this[0];if(o)return o.getClientRects().length?(r=o.getBoundingClientRect(),t=o.ownerDocument,n=t.documentElement,i=t.defaultView,{top:r.top+i.pageYOffset-n.clientTop,left:r.left+i.pageXOffset-n.clientLeft}):{top:0,left:0}},position:function(){if(this[0]){var e,t,n=this[0],r={top:0,left:0};return"fixed"===he.css(n,"position")?t=n.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),i(e[0],"html")||(r=e.offset()),r={top:r.top+he.css(e[0],"borderTopWidth",!0),left:r.left+he.css(e[0],"borderLeftWidth",!0)}),{top:t.top-r.top-he.css(n,"marginTop",!0),left:t.left-r.left-he.css(n,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===he.css(e,"position");)e=e.offsetParent;return e||Ye})}}),he.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t;he.fn[e]=function(r){return Oe(this,function(e,r,i){var o;if(he.isWindow(e)?o=e:9===e.nodeType&&(o=e.defaultView),void 0===i)return o?o[t]:e[r];o?o.scrollTo(n?o.pageXOffset:i,n?i:o.pageYOffset):e[r]=i},e,r,arguments.length)}}),he.each(["top","left"],function(e,t){he.cssHooks[t]=q(pe.pixelPosition,function(e,n){if(n)return n=O(e,t),ot.test(n)?he(e).position()[t]+"px":n})}),he.each({Height:"height",Width:"width"},function(e,t){he.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){he.fn[r]=function(i,o){var s=arguments.length&&(n||"boolean"!=typeof i),a=n||(!0===i||!0===o?"margin":"border");return Oe(this,function(t,n,i){var o;return he.isWindow(t)?0===r.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(o=t.documentElement,Math.max(t.body["scroll"+e],o["scroll"+e],t.body["offset"+e],o["offset"+e],o["client"+e])):void 0===i?he.css(t,n,a):he.style(t,n,i,a)},t,s?i:void 0,s)}})}),he.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),he.holdReady=function(e){e?he.readyWait++:he.ready(!0)},he.isArray=Array.isArray,he.parseJSON=JSON.parse,he.nodeName=i,"function"==typeof define&&define.amd&&define("jquery",[],function(){return he});var Vt=e.jQuery,Xt=e.$;return he.noConflict=function(t){return e.$===he&&(e.$=Xt),t&&e.jQuery===he&&(e.jQuery=Vt),he},t||(e.jQuery=e.$=he),he}),jQuery.extend({highlight:function(e,t,n,r){if(3===e.nodeType){var i=e.data.match(t);if(i){var o=document.createElement(n||"span");o.className=r||"highlight";var s=e.splitText(i.index);s.splitText(i[0].length);var a=s.cloneNode(!0);return o.appendChild(a),s.parentNode.replaceChild(o,s),1}}else if(1===e.nodeType&&e.childNodes&&!/(script|style)/i.test(e.tagName)&&(e.tagName!==n.toUpperCase()||e.className!==r))for(var u=0;u<e.childNodes.length;u++)u+=jQuery.highlight(e.childNodes[u],t,n,r);return 0}}),jQuery.fn.unhighlight=function(e){var t={className:"highlight",element:"span"};return jQuery.extend(t,e),this.find(t.element+"."+t.className).each(function(){var e=this.parentNode;e.replaceChild(this.firstChild,this),e.normalize()}).end()},jQuery.fn.highlight=function(e,t){var n={className:"highlight",element:"span",caseSensitive:!1,wordsOnly:!1};if(jQuery.extend(n,t),e.constructor===String&&(e=[e]),e=jQuery.grep(e,function(e,t){return""!=e}),e=jQuery.map(e,function(e,t){return e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}),0==e.length)return this;var r=n.caseSensitive?"":"i",i="("+e.join("|")+")";n.wordsOnly&&(i="\\b"+i+"\\b");var o=new RegExp(i,r);return this.each(function(){jQuery.highlight(this,o,n.element,n.className)})},function(){var e=function(t){var n=new e.Index;return n.pipeline.add(e.trimmer,e.stopWordFilter,e.stemmer),t&&t.call(n,n),n};e.version="0.5.7",e.utils={},e.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),e.EventEmitter=function(){this.events={}},e.EventEmitter.prototype.addListener=function(){var e=Array.prototype.slice.call(arguments),t=e.pop(),n=e;if("function"!=typeof t)throw new TypeError("last argument must be a function");n.forEach(function(e){this.hasHandler(e)||(this.events[e]=[]),this.events[e].push(t)},this)},e.EventEmitter.prototype.removeListener=function(e,t){if(this.hasHandler(e)){var n=this.events[e].indexOf(t);this.events[e].splice(n,1),this.events[e].length||delete this.events[e]}},e.EventEmitter.prototype.emit=function(e){if(this.hasHandler(e)){var t=Array.prototype.slice.call(arguments,1);this.events[e].forEach(function(e){e.apply(void 0,t)})}},e.EventEmitter.prototype.hasHandler=function(e){return e in this.events},e.tokenizer=function(e){if(!arguments.length||null==e||void 0==e)return[];if(Array.isArray(e))return e.map(function(e){return e.toLowerCase()});for(var t=e.toString().replace(/^\s+/,""),n=t.length-1;n>=0;n--)if(/\S/.test(t.charAt(n))){t=t.substring(0,n+1);break}return t.split(/(?:\s+|\-)/).filter(function(e){return!!e}).map(function(e){return e.toLowerCase()})},e.Pipeline=function(){this._stack=[]},e.Pipeline.registeredFunctions={},e.Pipeline.registerFunction=function(t,n){n in this.registeredFunctions&&e.utils.warn("Overwriting existing registered function: "+n),t.label=n,e.Pipeline.registeredFunctions[t.label]=t},e.Pipeline.warnIfFunctionNotRegistered=function(t){t.label&&t.label in this.registeredFunctions||e.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",t)},e.Pipeline.load=function(t){var n=new e.Pipeline;return t.forEach(function(t){var r=e.Pipeline.registeredFunctions[t];if(!r)throw new Error("Cannot load un-registered function: "+t);n.add(r)}),n},e.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach(function(t){e.Pipeline.warnIfFunctionNotRegistered(t),this._stack.push(t)},this)},e.Pipeline.prototype.after=function(t,n){e.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(t)+1;this._stack.splice(r,0,n)},e.Pipeline.prototype.before=function(t,n){e.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(t);this._stack.splice(r,0,n)},e.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);this._stack.splice(t,1)},e.Pipeline.prototype.run=function(e){for(var t=[],n=e.length,r=this._stack.length,i=0;i<n;i++){for(var o=e[i],s=0;s<r&&void 0!==(o=this._stack[s](o,i,e));s++);void 0!==o&&t.push(o)}return t},e.Pipeline.prototype.reset=function(){this._stack=[]},e.Pipeline.prototype.toJSON=function(){return this._stack.map(function(t){return e.Pipeline.warnIfFunctionNotRegistered(t),t.label})},e.Vector=function(){this._magnitude=null,this.list=void 0,this.length=0},e.Vector.Node=function(e,t,n){this.idx=e,this.val=t,this.next=n},e.Vector.prototype.insert=function(t,n){var r=this.list;if(!r)return this.list=new e.Vector.Node(t,n,r),this.length++;for(var i=r,o=r.next;void 0!=o;){if(t<o.idx)return i.next=new e.Vector.Node(t,n,o),this.length++;i=o,o=o.next}return i.next=new e.Vector.Node(t,n,o),this.length++},e.Vector.prototype.magnitude=function(){if(this._magniture)return this._magnitude;for(var e,t=this.list,n=0;t;)e=t.val,n+=e*e,t=t.next;return this._magnitude=Math.sqrt(n)},e.Vector.prototype.dot=function(e){for(var t=this.list,n=e.list,r=0;t&&n;)t.idx<n.idx?t=t.next:t.idx>n.idx?n=n.next:(r+=t.val*n.val,t=t.next,n=n.next);return r},e.Vector.prototype.similarity=function(e){return this.dot(e)/(this.magnitude()*e.magnitude())},e.SortedSet=function(){this.length=0,this.elements=[]},e.SortedSet.load=function(e){var t=new this;return t.elements=e,t.length=e.length,t},e.SortedSet.prototype.add=function(){Array.prototype.slice.call(arguments).forEach(function(e){~this.indexOf(e)||this.elements.splice(this.locationFor(e),0,e)},this),this.length=this.elements.length},e.SortedSet.prototype.toArray=function(){return this.elements.slice()},e.SortedSet.prototype.map=function(e,t){return this.elements.map(e,t)},e.SortedSet.prototype.forEach=function(e,t){return this.elements.forEach(e,t)},e.SortedSet.prototype.indexOf=function(e,t,n){var t=t||0,n=n||this.elements.length,r=n-t,i=t+Math.floor(r/2),o=this.elements[i];return r<=1?o===e?i:-1:o<e?this.indexOf(e,i,n):o>e?this.indexOf(e,t,i):o===e?i:void 0},e.SortedSet.prototype.locationFor=function(e,t,n){var t=t||0,n=n||this.elements.length,r=n-t,i=t+Math.floor(r/2),o=this.elements[i];if(r<=1){if(o>e)return i;if(o<e)return i+1}return o<e?this.locationFor(e,i,n):o>e?this.locationFor(e,t,i):void 0},e.SortedSet.prototype.intersect=function(t){for(var n=new e.SortedSet,r=0,i=0,o=this.length,s=t.length,a=this.elements,u=t.elements;;){if(r>o-1||i>s-1)break;a[r]!==u[i]?a[r]<u[i]?r++:a[r]>u[i]&&i++:(n.add(a[r]),r++,i++)}return n},e.SortedSet.prototype.clone=function(){var t=new e.SortedSet;return t.elements=this.toArray(),t.length=t.elements.length,t},e.SortedSet.prototype.union=function(e){var t,n,r;return this.length>=e.length?(t=this,n=e):(t=e,n=this),r=t.clone(),r.add.apply(r,n.toArray()),r},e.SortedSet.prototype.toJSON=function(){return this.toArray()},e.Index=function(){this._fields=[],this._ref="id",this.pipeline=new e.Pipeline,this.documentStore=new e.Store,this.tokenStore=new e.TokenStore,this.corpusTokens=new e.SortedSet,this.eventEmitter=new e.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},e.Index.prototype.on=function(){var e=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,e)},e.Index.prototype.off=function(e,t){return this.eventEmitter.removeListener(e,t)},e.Index.load=function(t){t.version!==e.version&&e.utils.warn("version mismatch: current "+e.version+" importing "+t.version);var n=new this;return n._fields=t.fields,n._ref=t.ref,n.documentStore=e.Store.load(t.documentStore),n.tokenStore=e.TokenStore.load(t.tokenStore),n.corpusTokens=e.SortedSet.load(t.corpusTokens),n.pipeline=e.Pipeline.load(t.pipeline),n},e.Index.prototype.field=function(e,t){var t=t||{},n={name:e,boost:t.boost||1};return this._fields.push(n),this},e.Index.prototype.ref=function(e){return this._ref=e,this},e.Index.prototype.add=function(t,n){var r={},i=new e.SortedSet,o=t[this._ref],n=void 0===n||n;this._fields.forEach(function(n){var o=this.pipeline.run(e.tokenizer(t[n.name]));r[n.name]=o,e.SortedSet.prototype.add.apply(i,o)},this),this.documentStore.set(o,i),e.SortedSet.prototype.add.apply(this.corpusTokens,i.toArray());for(var s=0;s<i.length;s++){var a=i.elements[s],u=this._fields.reduce(function(e,t){var n=r[t.name].length;return n?e+r[t.name].filter(function(e){return e===a}).length/n*t.boost:e},0);this.tokenStore.add(a,{ref:o,tf:u})}n&&this.eventEmitter.emit("add",t,this)},e.Index.prototype.remove=function(e,t){var n=e[this._ref],t=void 0===t||t;if(this.documentStore.has(n)){var r=this.documentStore.get(n);this.documentStore.remove(n),r.forEach(function(e){this.tokenStore.remove(e,n)},this),t&&this.eventEmitter.emit("remove",e,this)}},e.Index.prototype.update=function(e,t){var t=void 0===t||t;this.remove(e,!1),this.add(e,!1),t&&this.eventEmitter.emit("update",e,this)},e.Index.prototype.idf=function(e){var t="@"+e;if(Object.prototype.hasOwnProperty.call(this._idfCache,t))return this._idfCache[t];var n=this.tokenStore.count(e),r=1;return n>0&&(r=1+Math.log(this.tokenStore.length/n)),this._idfCache[t]=r},e.Index.prototype.search=function(t){
  1316. var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduce(function(e,t){return e+t.boost},0);return n.some(function(e){return this.tokenStore.has(e)},this)?(n.forEach(function(t,n,s){var a=1/s.length*this._fields.length*o,u=this,c=this.tokenStore.expand(t).reduce(function(n,i){var o=u.corpusTokens.indexOf(i),s=u.idf(i),c=1,l=new e.SortedSet;if(i!==t){var f=Math.max(3,i.length-t.length);c=1/Math.log(f)}return o>-1&&r.insert(o,a*s*c),Object.keys(u.tokenStore.get(i)).forEach(function(e){l.add(e)}),n.union(l)},new e.SortedSet);i.push(c)},this),i.reduce(function(e,t){return e.intersect(t)}).map(function(e){return{ref:e,score:r.similarity(this.documentVector(e))}},this).sort(function(e,t){return t.score-e.score})):[]},e.Index.prototype.documentVector=function(t){for(var n=this.documentStore.get(t),r=n.length,i=new e.Vector,o=0;o<r;o++){var s=n.elements[o],a=this.tokenStore.get(s)[t].tf,u=this.idf(s);i.insert(this.corpusTokens.indexOf(s),a*u)}return i},e.Index.prototype.toJSON=function(){return{version:e.version,fields:this._fields,ref:this._ref,documentStore:this.documentStore.toJSON(),tokenStore:this.tokenStore.toJSON(),corpusTokens:this.corpusTokens.toJSON(),pipeline:this.pipeline.toJSON()}},e.Index.prototype.use=function(e){var t=Array.prototype.slice.call(arguments,1);t.unshift(this),e.apply(this,t)},e.Store=function(){this.store={},this.length=0},e.Store.load=function(t){var n=new this;return n.length=t.length,n.store=Object.keys(t.store).reduce(function(n,r){return n[r]=e.SortedSet.load(t.store[r]),n},{}),n},e.Store.prototype.set=function(e,t){this.has(e)||this.length++,this.store[e]=t},e.Store.prototype.get=function(e){return this.store[e]},e.Store.prototype.has=function(e){return e in this.store},e.Store.prototype.remove=function(e){this.has(e)&&(delete this.store[e],this.length--)},e.Store.prototype.toJSON=function(){return{store:this.store,length:this.length}},e.stemmer=function(){var e={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},t={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},n="[aeiouy]",r="[^aeiou][^aeiouy]*",i=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),o=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),s=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*([aeiouy][aeiou]*)?$"),a=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy]"),u=/^(.+?)(ss|i)es$/,c=/^(.+?)([^s])s$/,l=/^(.+?)eed$/,f=/^(.+?)(ed|ing)$/,d=/.$/,p=/(at|bl|iz)$/,h=new RegExp("([^aeiouylsz])\\1$"),g=new RegExp("^"+r+n+"[^aeiouwxy]$"),v=/^(.+?[^aeiou])y$/,m=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,y=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,x=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,b=/^(.+?)(s|t)(ion)$/,w=/^(.+?)e$/,T=/ll$/,S=new RegExp("^"+r+n+"[^aeiouwxy]$");return function(n){var r,E,C,k,N,j,A;if(n.length<3)return n;if(C=n.substr(0,1),"y"==C&&(n=C.toUpperCase()+n.substr(1)),k=u,N=c,k.test(n)?n=n.replace(k,"$1$2"):N.test(n)&&(n=n.replace(N,"$1$2")),k=l,N=f,k.test(n)){var L=k.exec(n);k=i,k.test(L[1])&&(k=d,n=n.replace(k,""))}else if(N.test(n)){var L=N.exec(n);r=L[1],N=a,N.test(r)&&(n=r,N=p,j=h,A=g,N.test(n)?n+="e":j.test(n)?(k=d,n=n.replace(k,"")):A.test(n)&&(n+="e"))}if(k=v,k.test(n)){var L=k.exec(n);r=L[1],n=r+"i"}if(k=m,k.test(n)){var L=k.exec(n);r=L[1],E=L[2],k=i,k.test(r)&&(n=r+e[E])}if(k=y,k.test(n)){var L=k.exec(n);r=L[1],E=L[2],k=i,k.test(r)&&(n=r+t[E])}if(k=x,N=b,k.test(n)){var L=k.exec(n);r=L[1],k=o,k.test(r)&&(n=r)}else if(N.test(n)){var L=N.exec(n);r=L[1]+L[2],N=o,N.test(r)&&(n=r)}if(k=w,k.test(n)){var L=k.exec(n);r=L[1],k=o,N=s,j=S,(k.test(r)||N.test(r)&&!j.test(r))&&(n=r)}return k=T,N=o,k.test(n)&&N.test(n)&&(k=d,n=n.replace(k,"")),"y"==C&&(n=C.toLowerCase()+n.substr(1)),n}}(),e.Pipeline.registerFunction(e.stemmer,"stemmer"),e.stopWordFilter=function(t){if(-1===e.stopWordFilter.stopWords.indexOf(t))return t},e.stopWordFilter.stopWords=new e.SortedSet,e.stopWordFilter.stopWords.length=119,e.stopWordFilter.stopWords.elements=["","a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"],e.Pipeline.registerFunction(e.stopWordFilter,"stopWordFilter"),e.trimmer=function(e){return e.replace(/^\W+/,"").replace(/\W+$/,"")},e.Pipeline.registerFunction(e.trimmer,"trimmer"),e.TokenStore=function(){this.root={docs:{}},this.length=0},e.TokenStore.load=function(e){var t=new this;return t.root=e.root,t.length=e.length,t},e.TokenStore.prototype.add=function(e,t,n){var n=n||this.root,r=e[0],i=e.slice(1);return r in n||(n[r]={docs:{}}),0===i.length?(n[r].docs[t.ref]=t,void(this.length+=1)):this.add(i,t,n[r])},e.TokenStore.prototype.has=function(e){if(!e)return!1;for(var t=this.root,n=0;n<e.length;n++){if(!t[e[n]])return!1;t=t[e[n]]}return!0},e.TokenStore.prototype.getNode=function(e){if(!e)return{};for(var t=this.root,n=0;n<e.length;n++){if(!t[e[n]])return{};t=t[e[n]]}return t},e.TokenStore.prototype.get=function(e,t){return this.getNode(e,t).docs||{}},e.TokenStore.prototype.count=function(e,t){return Object.keys(this.get(e,t)).length},e.TokenStore.prototype.remove=function(e,t){if(e){for(var n=this.root,r=0;r<e.length;r++){if(!(e[r]in n))return;n=n[e[r]]}delete n.docs[t]}},e.TokenStore.prototype.expand=function(e,t){var n=this.getNode(e),r=n.docs||{},t=t||[];return Object.keys(r).length&&t.push(e),Object.keys(n).forEach(function(n){"docs"!==n&&t.concat(this.expand(e+n,t))},this),t},e.TokenStore.prototype.toJSON=function(){return{root:this.root,length:this.length}},function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():e.lunr=t()}(this,function(){return e})}(),function(){function e(){}function t(e,t){for(var n=e.length;n--;)if(e[n].listener===t)return n;return-1}function n(e){return function(){return this[e].apply(this,arguments)}}var r=e.prototype,i=this,o=i.EventEmitter;r.getListeners=function(e){var t,n,r=this._getEvents();if("object"==typeof e){t={};for(n in r)r.hasOwnProperty(n)&&e.test(n)&&(t[n]=r[n])}else t=r[e]||(r[e]=[]);return t},r.flattenListeners=function(e){var t,n=[];for(t=0;e.length>t;t+=1)n.push(e[t].listener);return n},r.getListenersAsObject=function(e){var t,n=this.getListeners(e);return n instanceof Array&&(t={},t[e]=n),t||n},r.addListener=function(e,n){var r,i=this.getListenersAsObject(e),o="object"==typeof n;for(r in i)i.hasOwnProperty(r)&&-1===t(i[r],n)&&i[r].push(o?n:{listener:n,once:!1});return this},r.on=n("addListener"),r.addOnceListener=function(e,t){return this.addListener(e,{listener:t,once:!0})},r.once=n("addOnceListener"),r.defineEvent=function(e){return this.getListeners(e),this},r.defineEvents=function(e){for(var t=0;e.length>t;t+=1)this.defineEvent(e[t]);return this},r.removeListener=function(e,n){var r,i,o=this.getListenersAsObject(e);for(i in o)o.hasOwnProperty(i)&&-1!==(r=t(o[i],n))&&o[i].splice(r,1);return this},r.off=n("removeListener"),r.addListeners=function(e,t){return this.manipulateListeners(!1,e,t)},r.removeListeners=function(e,t){return this.manipulateListeners(!0,e,t)},r.manipulateListeners=function(e,t,n){var r,i,o=e?this.removeListener:this.addListener,s=e?this.removeListeners:this.addListeners;if("object"!=typeof t||t instanceof RegExp)for(r=n.length;r--;)o.call(this,t,n[r]);else for(r in t)t.hasOwnProperty(r)&&(i=t[r])&&("function"==typeof i?o.call(this,r,i):s.call(this,r,i));return this},r.removeEvent=function(e){var t,n=typeof e,r=this._getEvents();if("string"===n)delete r[e];else if("object"===n)for(t in r)r.hasOwnProperty(t)&&e.test(t)&&delete r[t];else delete this._events;return this},r.removeAllListeners=n("removeEvent"),r.emitEvent=function(e,t){var n,r,i,o=this.getListenersAsObject(e);for(i in o)if(o.hasOwnProperty(i))for(r=o[i].length;r--;)n=o[i][r],!0===n.once&&this.removeListener(e,n.listener),n.listener.apply(this,t||[])===this._getOnceReturnValue()&&this.removeListener(e,n.listener);return this},r.trigger=n("emitEvent"),r.emit=function(e){var t=Array.prototype.slice.call(arguments,1);return this.emitEvent(e,t)},r.setOnceReturnValue=function(e){return this._onceReturnValue=e,this},r._getOnceReturnValue=function(){return!this.hasOwnProperty("_onceReturnValue")||this._onceReturnValue},r._getEvents=function(){return this._events||(this._events={})},e.noConflict=function(){return i.EventEmitter=o,e},"function"==typeof define&&define.amd?define("eventEmitter/EventEmitter",[],function(){return e}):"object"==typeof module&&module.exports?module.exports=e:this.EventEmitter=e}.call(this),function(e){function t(t){var n=e.event;return n.target=n.target||n.srcElement||t,n}var n=document.documentElement,r=function(){};n.addEventListener?r=function(e,t,n){e.addEventListener(t,n,!1)}:n.attachEvent&&(r=function(e,n,r){e[n+r]=r.handleEvent?function(){var n=t(e);r.handleEvent.call(r,n)}:function(){var n=t(e);r.call(e,n)},e.attachEvent("on"+n,e[n+r])});var i=function(){};n.removeEventListener?i=function(e,t,n){e.removeEventListener(t,n,!1)}:n.detachEvent&&(i=function(e,t,n){e.detachEvent("on"+t,e[t+n]);try{delete e[t+n]}catch(r){e[t+n]=void 0}});var o={bind:r,unbind:i};"function"==typeof define&&define.amd?define("eventie/eventie",o):e.eventie=o}(this),function(e,t){"function"==typeof define&&define.amd?define(["eventEmitter/EventEmitter","eventie/eventie"],function(n,r){return t(e,n,r)}):"object"==typeof exports?module.exports=t(e,require("wolfy87-eventemitter"),require("eventie")):e.imagesLoaded=t(e,e.EventEmitter,e.eventie)}(window,function(e,t,n){function r(e,t){for(var n in t)e[n]=t[n];return e}function i(e){return"[object Array]"===d.call(e)}function o(e){var t=[];if(i(e))t=e;else if("number"==typeof e.length)for(var n=0,r=e.length;r>n;n++)t.push(e[n]);else t.push(e);return t}function s(e,t,n){if(!(this instanceof s))return new s(e,t);"string"==typeof e&&(e=document.querySelectorAll(e)),this.elements=o(e),this.options=r({},this.options),"function"==typeof t?n=t:r(this.options,t),n&&this.on("always",n),this.getImages(),c&&(this.jqDeferred=new c.Deferred);var i=this;setTimeout(function(){i.check()})}function a(e){this.img=e}function u(e){this.src=e,p[e]=this}var c=e.jQuery,l=e.console,f=void 0!==l,d=Object.prototype.toString;s.prototype=new t,s.prototype.options={},s.prototype.getImages=function(){this.images=[];for(var e=0,t=this.elements.length;t>e;e++){var n=this.elements[e];"IMG"===n.nodeName&&this.addImage(n);var r=n.nodeType;if(r&&(1===r||9===r||11===r))for(var i=n.querySelectorAll("img"),o=0,s=i.length;s>o;o++){var a=i[o];this.addImage(a)}}},s.prototype.addImage=function(e){var t=new a(e);this.images.push(t)},s.prototype.check=function(){function e(e,i){return t.options.debug&&f&&l.log("confirm",e,i),t.progress(e),n++,n===r&&t.complete(),!0}var t=this,n=0,r=this.images.length;if(this.hasAnyBroken=!1,!r)return void this.complete();for(var i=0;r>i;i++){var o=this.images[i];o.on("confirm",e),o.check()}},s.prototype.progress=function(e){this.hasAnyBroken=this.hasAnyBroken||!e.isLoaded;var t=this;setTimeout(function(){t.emit("progress",t,e),t.jqDeferred&&t.jqDeferred.notify&&t.jqDeferred.notify(t,e)})},s.prototype.complete=function(){var e=this.hasAnyBroken?"fail":"done";this.isComplete=!0;var t=this;setTimeout(function(){if(t.emit(e,t),t.emit("always",t),t.jqDeferred){var n=t.hasAnyBroken?"reject":"resolve";t.jqDeferred[n](t)}})},c&&(c.fn.imagesLoaded=function(e,t){return new s(this,e,t).jqDeferred.promise(c(this))}),a.prototype=new t,a.prototype.check=function(){var e=p[this.img.src]||new u(this.img.src);if(e.isConfirmed)return void this.confirm(e.isLoaded,"cached was confirmed");if(this.img.complete&&void 0!==this.img.naturalWidth)return void this.confirm(0!==this.img.naturalWidth,"naturalWidth");var t=this;e.on("confirm",function(e,n){return t.confirm(e.isLoaded,n),!0}),e.check()},a.prototype.confirm=function(e,t){this.isLoaded=e,this.emit("confirm",this,t)};var p={};return u.prototype=new t,u.prototype.check=function(){if(!this.isChecked){var e=new Image;n.bind(e,"load",this),n.bind(e,"error",this),e.src=this.src,this.isChecked=!0}},u.prototype.handleEvent=function(e){var t="on"+e.type;this[t]&&this[t](e)},u.prototype.onload=function(e){this.confirm(!0,"onload"),this.unbindProxyEvents(e)},u.prototype.onerror=function(e){this.confirm(!1,"onerror"),this.unbindProxyEvents(e)},u.prototype.confirm=function(e,t){this.isConfirmed=!0,this.isLoaded=e,this.emit("confirm",this,t)},u.prototype.unbindProxyEvents=function(e){n.unbind(e.target,"load",this),n.unbind(e.target,"error",this)},s}),function(){if("ontouchstart"in window){var e,t,n,r,i,o,s={};e=function(e,t){return Math.abs(e[0]-t[0])>5||Math.abs(e[1]-t[1])>5},t=function(e){this.startXY=[e.touches[0].clientX,e.touches[0].clientY],this.threshold=!1},n=function(t){if(this.threshold)return!1;this.threshold=e(this.startXY,[t.touches[0].clientX,t.touches[0].clientY])},r=function(t){if(!this.threshold&&!e(this.startXY,[t.changedTouches[0].clientX,t.changedTouches[0].clientY])){var n=t.changedTouches[0],r=document.createEvent("MouseEvents");r.initMouseEvent("click",!0,!0,window,0,n.screenX,n.screenY,n.clientX,n.clientY,!1,!1,!1,!1,0,null),r.simulated=!0,t.target.dispatchEvent(r)}},i=function(e){var t=Date.now(),n=t-s.time,r=e.clientX,i=e.clientY,a=[Math.abs(s.x-r),Math.abs(s.y-i)],u=o(e.target,"A")||e.target,c=u.nodeName,l="A"===c,f=window.navigator.standalone&&l&&e.target.getAttribute("href");if(s.time=t,s.x=r,s.y=i,(!e.simulated&&(n<500||n<1500&&a[0]<50&&a[1]<50)||f)&&(e.preventDefault(),e.stopPropagation(),!f))return!1;f&&(window.location=u.getAttribute("href")),u&&u.classList&&(u.classList.add("energize-focus"),window.setTimeout(function(){u.classList.remove("energize-focus")},150))},o=function(e,t){for(var n=e;n!==document.body;){if(!n||n.nodeName===t)return n;n=n.parentNode}return null},document.addEventListener("touchstart",t,!1),document.addEventListener("touchmove",n,!1),document.addEventListener("touchend",r,!1),document.addEventListener("click",i,!0)}}(),function(){"use strict";function e(e){if(e&&""!==e){$(".lang-selector a").removeClass("active"),$(".lang-selector a[data-language-name='"+e+"']").addClass("active");for(var t=0;t<a.length;t++)$(".highlight.tab-"+a[t]).hide(),$(".lang-specific."+a[t]).hide();$(".highlight.tab-"+e).show(),$(".lang-specific."+e).show(),window.recacheHeights(),$(window.location.hash).get(0)&&$(window.location.hash).get(0).scrollIntoView(!0)}}function t(e){return"string"!=typeof e?{}:(e=e.trim().replace(/^(\?|#|&)/,""),e?e.split("&").reduce(function(e,t){var n=t.replace(/\+/g," ").split("="),r=n[0],i=n[1];return r=decodeURIComponent(r),i=void 0===i?null:decodeURIComponent(i),e.hasOwnProperty(r)?Array.isArray(e[r])?e[r].push(i):e[r]=[e[r],i]:e[r]=i,e},{}):{})}function n(e){return e?Object.keys(e).sort().map(function(t){var n=e[t];return Array.isArray(n)?n.sort().map(function(e){return encodeURIComponent(t)+"="+encodeURIComponent(e)}).join("&"):encodeURIComponent(t)+"="+encodeURIComponent(n)}).join("&"):""}function r(){if(location.search.length>=1){var e=t(location.search).language;if(e)return e;if(-1!=jQuery.inArray(location.search.substr(1),a))return location.search.substr(1)}return!1}function i(e){var r=t(location.search);return r.language?(r.language=e,n(r)):e}function o(e){if(history){var t=window.location.hash;t&&(t=t.replace(/^#+/,"")),history.pushState({},"","?"+i(e)+"#"+t),localStorage.setItem("language",e)}}function s(t){var n=localStorage.getItem("language");a=t;var i=r();i?(e(i),localStorage.setItem("language",i)):e(null!==n&&-1!=jQuery.inArray(n,a)?n:a[0])}var a=[];window.setupLanguages=s,window.activateLanguage=e,window.getLanguageFromQueryString=r,$(function(){$(".lang-selector a").on("click",function(){var t=$(this).data("language-name");return o(t),e(t),!1})})}(),function(){"use strict";function e(){$("h1, h2").each(function(){var e=$(this),t=e.nextUntil("h1, h2");f.add({id:e.prop("id"),title:e.text(),body:t.text()})}),t()}function t(){f.tokenStore.length>5e3&&(c=300)}function n(){s=$(".content"),a=$(".search-results"),$("#input-search").on("keyup",function(e){!function(){return function(e,t){clearTimeout(l),l=setTimeout(e,t)}}()(function(){r(e)},c)})}function r(e){var t=$("#input-search")[0];if(o(),a.addClass("visible"),27===e.keyCode&&(t.value=""),t.value){var n=f.search(t.value).filter(function(e){return e.score>1e-4});n.length?(a.empty(),$.each(n,function(e,t){var n=document.getElementById(t.ref);a.append("<li><a href='#"+t.ref+"'>"+$(n).text()+"</a></li>")}),i.call(t)):(a.html("<li></li>"),$(".search-results li").text('No Results Found for "'+t.value+'"'))}else o(),a.removeClass("visible")}function i(){this.value&&s.highlight(this.value,u)}function o(){s.unhighlight(u)}var s,a,u={element:"span",className:"search-highlight"},c=0,l=0,f=new lunr.Index;f.ref("id"),f.field("title",{boost:10}),f.field("body"),f.pipeline.add(lunr.trimmer,lunr.stopWordFilter),$(e),$(n)}(),function(){"use strict";function e(e,i,o,s){var a={},u=0,c=0,l=document.title,f=function(){a={},u=$(document).height(),c=$(window).height(),e.find(i).each(function(){var e=$(this).attr("href");"#"===e[0]&&(a[e]=$(e).offset().top)})},d=function(){var n=$(document).scrollTop()+s;n+c>=u&&(n=u+1e3);var r=null;for(var f in a)(a[f]<n&&a[f]>a[r]||null===r)&&(r=f);n!=s||t||(r=window.location.hash,t=!0);var d=e.find("[href='"+r+"']").first();if(!d.hasClass("active")){e.find(".active").removeClass("active"),e.find(".active-parent").removeClass("active-parent"),d.addClass("active"),d.parents(o).addClass("active").siblings(i).addClass("active-parent"),d.siblings(o).addClass("active"),e.find(o).filter(":not(.active)").slideUp(150),e.find(o).filter(".active").slideDown(150),window.history.replaceState&&window.history.replaceState(null,"",r);var p=d.data("title");void 0!==p&&p.length>0?document.title=p+" – "+l:document.title=l}};!function(){f(),d(),$("#nav-button").click(function(){return $(".toc-wrapper").toggleClass("open"),$("#nav-button").toggleClass("open"),!1}),$(".page-wrapper").click(r),$(".toc-link").click(r),e.find(i).click(function(){setTimeout(function(){d()},0)}),$(window).scroll(n(d,200)),$(window).resize(n(f,200))}(),window.recacheHeights=f,window.refreshToc=d}var t=!1,n=function(e,t){var n=!1;return function(){!1===n&&(setTimeout(function(){e(),n=!1},t),n=!0)}},r=function(){$(".toc-wrapper").removeClass("open"),$("#nav-button").removeClass("open")};window.loadToc=e}(),$(function(){loadToc($("#toc"),".toc-link",".toc-list-h2, .toc-list-h3, .toc-list-h4, .toc-list-h5, .toc-list-h6",10),setupLanguages($("body").data("languages")),$(".content").imagesLoaded(function(){window.recacheHeights(),window.refreshToc()})}),window.onpopstate=function(){activateLanguage(getLanguageFromQueryString())};</script>
  1317. <meta name="theme-color" content="#F3F7F9" />
  1318. </head>
  1319. <body data-languages="[&quot;shell&quot;,&quot;http&quot;,&quot;javascript&quot;,&quot;javascript--nodejs&quot;,&quot;ruby&quot;,&quot;python&quot;,&quot;java&quot;,&quot;go&quot;]">
  1320. <a href="#" id="nav-button">
  1321. <span>
  1322. NAV
  1323. <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAAAAABWESUoAAAAAnRSTlMAAHaTzTgAAAAZSURBVHgBYxgswBIIsLFGrIJRBaMKBh4AAE3cQCEvEU3+AAAAAElFTkSuQmCC" class="undefined" alt="Navigation">
  1324. </span>
  1325. </a>
  1326. <div class="toc-wrapper">
  1327. <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGEAAAAcCAYAAABxutG8AAAG6klEQVR4Ad3aA4xkSxcA4LvefbZt27Zt27Zt27Zt27bttWe2R9+vTionlZs7760m/5eMutDVXV11T507RUeD7rgAL+AQzIlx/mYfp6OGs4oOAp3QEz3Er65FR4NO2EL0GhZtZ/t50IhWXFJ0EFgDd+LW9OUWHFd0RJgSr4lewGTVbZ2BFjRh16KDwHNKjEynE+MkfIz7MP0o3pJuEQ3FChXtxsdLgEYs+385CVgQ98rVcAy6jaIt6Vq5DSraLYM/AMMxbdFB4NmRmgRMhtXyjgxATXQ7xs37sA7WxQRFBXTDzXLrVLTbXTK0qNbxJwGTYVe8IPoFF2F3fC96BZPnffkG8AQ2ROeKre4JUV8sVd5GL1wn+an4BzAJFsE62Aa7YM1Ubgbsgz2xF3ajOsLBS397ErAj3kKrpBVnYf56nfXQKLqAOCgsjKGSRhyDTiXPPQs+Fb1F+faCKfCJ5NmindAT2+FuvIufMBBNgA8wSb3u/nIzFBVwIHrjN/wqfT2ZV2Z6vI5W0ZdYHF3Svu1EUSO2yvt0DlpEr5etBiyFmuiKihc5q+jqoh1wFP5ETbkfMG+9/pFys9XL5sI9eLH+9TKextToivHlX73SYOiMA+SacTe6xMGbCI+LvsHc+ZbmHbmLyVcCOmMv0WBsWPFmbik6qryuzlgLfbXP95irfBLMXi/bGTW5tYsqmAp3yfXD/iVtZkQ/0XN5PRtgmNxG5eFpNrmfVO27uEy0ZUm9qXGt9mlDA55XDzawG2oYjCFoxLRpC9cgt1bVBIyH5+V+oXwGsZqoBafFOnrgMrkRmKv8oJbZr6iAj0VL53XMibeU+wtP4WIcgm2xERaKF27rSdHemug0spNwhtwgLF/R7lxRA/EwhWnRW+49TF3S76Gi34t2kJsulpsDf8oNwaVYETNgYnQv/gHshMaq0DqDPnJbFBXwiah/EYSlO0h0c1lSDn9Vb1sR5ifKgw0DRV9h62IUwjrohza0og2wUFXDBtEtRQVMJHdffur1AT7EANGRJf1uIXqpaAfsIWpIZSbFx4A2fDSK3/wA3dAT3du9onCHaNLqNraV2yq/ZmjAtaJh2KSk3w8kfbEoZsKyWBiTlLS7RvRlusi7GjAYJ2CidqZmNsEGWBVz5uGwlbEptsYa+YfUWtgOUxVVMDsGp8FXw30yMVWBD/E6zhN9jwVKVsEIyXd4AZ9hdzyBT3EFxottvS96qv74+oBvqE7mYUu8gB9wDn5AX3yHK9ELe+Nb9MYwtOCG1Icd8C4Ghg9nFayEgXi3nfWHi96J5VYA7CgPN9/G+HnKwXOiNsB+GBf3AdrwNWnS0Si6Gl3wM77GHBWvZwI8ghGAlzAefhcthXvktq33c5g4luFhlVTBdNihup755I6JdTyF3zEhfhQ9nPdpczTKDUQnTIpXJc04OJ1xtIgOx8EYWrUCMCmelDThYEyL/qIV8KrcLFgdraIvMFcxqmFfuYVTueVQw26YXtSCU/JknVfk4HJ0wowYKmnD7mnVaRXtiYHYvzpl7lzRX5gSO6MxTo4Z8LXcePgKI0RPolcxquEuUT9MmNIBrsEf6IGlRSOwWezPIcrUUxXYVPSC+ovDrvkkeAYNVUEGFgYgJv5wu+g1dMcg0Yc4Fp/jCUkbLowXe4sVowI+Fj2iHvNjAdSwS/3v7UXDMU88QGlTpn4Bx2eSq0gRDh6Va0Ir7qX8JhMekNseU+FT0Tn1NjXRYxiK9fCBZBi2Kerw3ijZmjBdvsc7AV3RDVfgS/XTME4UDU596YJfAM1oEfXGdDgD8AmWi+OxNP5UDi4oi9flYDysj49QAwzBxhgPTaIG3IS50Srpk7Krlse7xaiAxfBnyZYxH9qwY6rvYtEP6UDjgTRYp+JL0a84AVeU5IHGxVVoUe3IkADMxpadL86uf/UDfIMZMBua5GbBRqKvY6BixWJUwLxxEgzFEuiG9/EEepbngbxVf/wqwGBshe54C/l2VAIn4hR8I6phqNyZmDzF8p6Suwzj437sjAGAF1Mor1n0Qb1sF9Gt6V9d3FiMSnhSMgjr4UH8iWnypJm/JL/gfkA/UsIPW8tdnz+/cXAXTsX0+EpuPfwp9yFewnOYBu+IDsY2uAiLYhBacVk6pGojT8FgddHR6IQrMEsxKmECfJRvHaYrqb8mBojexqwlCbBG0cWYFfPgZPyFrdMtTd/LzYAp8bzc1+kumanxnWQY3k6Bhh8BL+MUXCi3ULol6yvJK7g0vxk16s8L9+ModK6+aeQ03Ied0akiAXYMPsEwSR9cnJ+2HYs38DN6o2+MwGyHj9APt2GyfGU5Cg/gVHSNK9lX+BIroSt2xWW4C5divPiB8xUa8H3MAJf7Fykvx9WyNCXUAAAAAElFTkSuQmCC" class="logo" alt="Logo">
  1328. <div class="lang-selector">
  1329. <a href="#" data-language-name="shell">Shell</a>
  1330. <a href="#" data-language-name="http">HTTP</a>
  1331. <a href="#" data-language-name="javascript">JavaScript</a>
  1332. <a href="#" data-language-name="javascript--nodejs">Node.js</a>
  1333. <a href="#" data-language-name="ruby">Ruby</a>
  1334. <a href="#" data-language-name="python">Python</a>
  1335. <a href="#" data-language-name="java">Java</a>
  1336. <a href="#" data-language-name="go">Go</a>
  1337. </div>
  1338. <div class="search">
  1339. <input type="text" class="search" id="input-search" placeholder="Search">
  1340. </div>
  1341. <ul class="search-results"></ul>
  1342. <div id="toc" class="toc-list-h1">
  1343. <ul class="toc-list-h1">
  1344. <li>
  1345. <a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v4.89">Wekan REST API v4.89</a>
  1346. </li>
  1347. <li>
  1348. <a href="#production-security-concerns" class="toc-h1 toc-link" data-title="Production Security Concerns">Production Security Concerns</a>
  1349. </li>
  1350. <li>
  1351. <a href="#authentication" class="toc-h1 toc-link" data-title="Authentication">Authentication</a>
  1352. </li>
  1353. <li>
  1354. <a href="#wekan-rest-api-login" class="toc-h1 toc-link" data-title="Login">Login</a>
  1355. <ul class="toc-list-h2">
  1356. <li>
  1357. <a href="#login" class="toc-h2 toc-link" data-title="login">login</a>
  1358. </li>
  1359. <li>
  1360. <a href="#register" class="toc-h2 toc-link" data-title="register">register</a>
  1361. </li>
  1362. </ul>
  1363. </li>
  1364. <li>
  1365. <a href="#wekan-rest-api-checklists" class="toc-h1 toc-link" data-title="Checklists">Checklists</a>
  1366. <ul class="toc-list-h2">
  1367. <li>
  1368. <a href="#get_all_checklists" class="toc-h2 toc-link" data-title="get_all_checklists">get_all_checklists</a>
  1369. </li>
  1370. <li>
  1371. <a href="#new_checklist" class="toc-h2 toc-link" data-title="new_checklist">new_checklist</a>
  1372. </li>
  1373. <li>
  1374. <a href="#get_checklist" class="toc-h2 toc-link" data-title="get_checklist">get_checklist</a>
  1375. </li>
  1376. <li>
  1377. <a href="#delete_checklist" class="toc-h2 toc-link" data-title="delete_checklist">delete_checklist</a>
  1378. </li>
  1379. </ul>
  1380. </li>
  1381. <li>
  1382. <a href="#wekan-rest-api-checklistitems" class="toc-h1 toc-link" data-title="ChecklistItems">ChecklistItems</a>
  1383. <ul class="toc-list-h2">
  1384. <li>
  1385. <a href="#get_checklist_item" class="toc-h2 toc-link" data-title="get_checklist_item">get_checklist_item</a>
  1386. </li>
  1387. <li>
  1388. <a href="#edit_checklist_item" class="toc-h2 toc-link" data-title="edit_checklist_item">edit_checklist_item</a>
  1389. </li>
  1390. <li>
  1391. <a href="#delete_checklist_item" class="toc-h2 toc-link" data-title="delete_checklist_item">delete_checklist_item</a>
  1392. </li>
  1393. </ul>
  1394. </li>
  1395. <li>
  1396. <a href="#wekan-rest-api-cardcomments" class="toc-h1 toc-link" data-title="CardComments">CardComments</a>
  1397. <ul class="toc-list-h2">
  1398. <li>
  1399. <a href="#get_all_comments" class="toc-h2 toc-link" data-title="get_all_comments">get_all_comments</a>
  1400. </li>
  1401. <li>
  1402. <a href="#new_comment" class="toc-h2 toc-link" data-title="new_comment">new_comment</a>
  1403. </li>
  1404. <li>
  1405. <a href="#get_comment" class="toc-h2 toc-link" data-title="get_comment">get_comment</a>
  1406. </li>
  1407. <li>
  1408. <a href="#delete_comment" class="toc-h2 toc-link" data-title="delete_comment">delete_comment</a>
  1409. </li>
  1410. </ul>
  1411. </li>
  1412. <li>
  1413. <a href="#wekan-rest-api-cards" class="toc-h1 toc-link" data-title="Cards">Cards</a>
  1414. <ul class="toc-list-h2">
  1415. <li>
  1416. <a href="#get_cards_by_custom_field" class="toc-h2 toc-link" data-title="get_cards_by_custom_field">get_cards_by_custom_field</a>
  1417. </li>
  1418. <li>
  1419. <a href="#get_all_cards" class="toc-h2 toc-link" data-title="get_all_cards">get_all_cards</a>
  1420. </li>
  1421. <li>
  1422. <a href="#new_card" class="toc-h2 toc-link" data-title="new_card">new_card</a>
  1423. </li>
  1424. <li>
  1425. <a href="#get_card" class="toc-h2 toc-link" data-title="get_card">get_card</a>
  1426. </li>
  1427. <li>
  1428. <a href="#edit_card" class="toc-h2 toc-link" data-title="edit_card">edit_card</a>
  1429. </li>
  1430. <li>
  1431. <a href="#delete_card" class="toc-h2 toc-link" data-title="delete_card">delete_card</a>
  1432. </li>
  1433. <li>
  1434. <a href="#get_swimlane_cards" class="toc-h2 toc-link" data-title="get_swimlane_cards">get_swimlane_cards</a>
  1435. </li>
  1436. </ul>
  1437. </li>
  1438. <li>
  1439. <a href="#wekan-rest-api-customfields" class="toc-h1 toc-link" data-title="CustomFields">CustomFields</a>
  1440. <ul class="toc-list-h2">
  1441. <li>
  1442. <a href="#get_all_custom_fields" class="toc-h2 toc-link" data-title="get_all_custom_fields">get_all_custom_fields</a>
  1443. </li>
  1444. <li>
  1445. <a href="#new_custom_field" class="toc-h2 toc-link" data-title="new_custom_field">new_custom_field</a>
  1446. </li>
  1447. <li>
  1448. <a href="#get_custom_field" class="toc-h2 toc-link" data-title="get_custom_field">get_custom_field</a>
  1449. </li>
  1450. <li>
  1451. <a href="#delete_custom_field" class="toc-h2 toc-link" data-title="delete_custom_field">delete_custom_field</a>
  1452. </li>
  1453. </ul>
  1454. </li>
  1455. <li>
  1456. <a href="#wekan-rest-api-boards" class="toc-h1 toc-link" data-title="Boards">Boards</a>
  1457. <ul class="toc-list-h2">
  1458. <li>
  1459. <a href="#exportjson" class="toc-h2 toc-link" data-title="exportJson">exportJson</a>
  1460. </li>
  1461. </ul>
  1462. </li>
  1463. <li>
  1464. <a href="#wekan-rest-api-integrations" class="toc-h1 toc-link" data-title="Integrations">Integrations</a>
  1465. <ul class="toc-list-h2">
  1466. <li>
  1467. <a href="#get_all_integrations" class="toc-h2 toc-link" data-title="get_all_integrations">get_all_integrations</a>
  1468. </li>
  1469. <li>
  1470. <a href="#new_integration" class="toc-h2 toc-link" data-title="new_integration">new_integration</a>
  1471. </li>
  1472. <li>
  1473. <a href="#get_integration" class="toc-h2 toc-link" data-title="get_integration">get_integration</a>
  1474. </li>
  1475. <li>
  1476. <a href="#edit_integration" class="toc-h2 toc-link" data-title="edit_integration">edit_integration</a>
  1477. </li>
  1478. <li>
  1479. <a href="#delete_integration" class="toc-h2 toc-link" data-title="delete_integration">delete_integration</a>
  1480. </li>
  1481. <li>
  1482. <a href="#delete_integration_activities" class="toc-h2 toc-link" data-title="delete_integration_activities">delete_integration_activities</a>
  1483. </li>
  1484. <li>
  1485. <a href="#new_integration_activities" class="toc-h2 toc-link" data-title="new_integration_activities">new_integration_activities</a>
  1486. </li>
  1487. </ul>
  1488. </li>
  1489. <li>
  1490. <a href="#wekan-rest-api-lists" class="toc-h1 toc-link" data-title="Lists">Lists</a>
  1491. <ul class="toc-list-h2">
  1492. <li>
  1493. <a href="#get_all_lists" class="toc-h2 toc-link" data-title="get_all_lists">get_all_lists</a>
  1494. </li>
  1495. <li>
  1496. <a href="#new_list" class="toc-h2 toc-link" data-title="new_list">new_list</a>
  1497. </li>
  1498. <li>
  1499. <a href="#get_list" class="toc-h2 toc-link" data-title="get_list">get_list</a>
  1500. </li>
  1501. <li>
  1502. <a href="#delete_list" class="toc-h2 toc-link" data-title="delete_list">delete_list</a>
  1503. </li>
  1504. </ul>
  1505. </li>
  1506. <li>
  1507. <a href="#wekan-rest-api-users" class="toc-h1 toc-link" data-title="Users">Users</a>
  1508. <ul class="toc-list-h2">
  1509. <li>
  1510. <a href="#add_board_member" class="toc-h2 toc-link" data-title="add_board_member">add_board_member</a>
  1511. </li>
  1512. <li>
  1513. <a href="#remove_board_member" class="toc-h2 toc-link" data-title="remove_board_member">remove_board_member</a>
  1514. </li>
  1515. <li>
  1516. <a href="#get_current_user" class="toc-h2 toc-link" data-title="get_current_user">get_current_user</a>
  1517. </li>
  1518. <li>
  1519. <a href="#get_all_users" class="toc-h2 toc-link" data-title="get_all_users">get_all_users</a>
  1520. </li>
  1521. <li>
  1522. <a href="#new_user" class="toc-h2 toc-link" data-title="new_user">new_user</a>
  1523. </li>
  1524. <li>
  1525. <a href="#get_user" class="toc-h2 toc-link" data-title="get_user">get_user</a>
  1526. </li>
  1527. <li>
  1528. <a href="#edit_user" class="toc-h2 toc-link" data-title="edit_user">edit_user</a>
  1529. </li>
  1530. <li>
  1531. <a href="#delete_user" class="toc-h2 toc-link" data-title="delete_user">delete_user</a>
  1532. </li>
  1533. </ul>
  1534. </li>
  1535. <li>
  1536. <a href="#wekan-rest-api-swimlanes" class="toc-h1 toc-link" data-title="Swimlanes">Swimlanes</a>
  1537. <ul class="toc-list-h2">
  1538. <li>
  1539. <a href="#get_all_swimlanes" class="toc-h2 toc-link" data-title="get_all_swimlanes">get_all_swimlanes</a>
  1540. </li>
  1541. <li>
  1542. <a href="#new_swimlane" class="toc-h2 toc-link" data-title="new_swimlane">new_swimlane</a>
  1543. </li>
  1544. <li>
  1545. <a href="#get_swimlane" class="toc-h2 toc-link" data-title="get_swimlane">get_swimlane</a>
  1546. </li>
  1547. <li>
  1548. <a href="#delete_swimlane" class="toc-h2 toc-link" data-title="delete_swimlane">delete_swimlane</a>
  1549. </li>
  1550. </ul>
  1551. </li>
  1552. <li>
  1553. <a href="#schemas" class="toc-h1 toc-link" data-title="Schemas">Schemas</a>
  1554. <ul class="toc-list-h2">
  1555. <li>
  1556. <a href="#tocscardcomments" class="toc-h2 toc-link" data-title="CardComments">CardComments</a>
  1557. </li>
  1558. <li>
  1559. <a href="#tocscards" class="toc-h2 toc-link" data-title="Cards">Cards</a>
  1560. </li>
  1561. <li>
  1562. <a href="#tocscardsvote" class="toc-h2 toc-link" data-title="CardsVote">CardsVote</a>
  1563. </li>
  1564. <li>
  1565. <a href="#tocscardscustomfields" class="toc-h2 toc-link" data-title="CardsCustomfields">CardsCustomfields</a>
  1566. </li>
  1567. <li>
  1568. <a href="#tocschecklistitems" class="toc-h2 toc-link" data-title="ChecklistItems">ChecklistItems</a>
  1569. </li>
  1570. <li>
  1571. <a href="#tocschecklists" class="toc-h2 toc-link" data-title="Checklists">Checklists</a>
  1572. </li>
  1573. <li>
  1574. <a href="#tocscustomfields" class="toc-h2 toc-link" data-title="CustomFields">CustomFields</a>
  1575. </li>
  1576. <li>
  1577. <a href="#tocscustomfieldssettings" class="toc-h2 toc-link" data-title="CustomFieldsSettings">CustomFieldsSettings</a>
  1578. </li>
  1579. <li>
  1580. <a href="#tocscustomfieldssettingsdropdownitems" class="toc-h2 toc-link" data-title="CustomFieldsSettingsDropdownitems">CustomFieldsSettingsDropdownitems</a>
  1581. </li>
  1582. <li>
  1583. <a href="#tocsintegrations" class="toc-h2 toc-link" data-title="Integrations">Integrations</a>
  1584. </li>
  1585. <li>
  1586. <a href="#tocslists" class="toc-h2 toc-link" data-title="Lists">Lists</a>
  1587. </li>
  1588. <li>
  1589. <a href="#tocslistswiplimit" class="toc-h2 toc-link" data-title="ListsWiplimit">ListsWiplimit</a>
  1590. </li>
  1591. <li>
  1592. <a href="#tocsswimlanes" class="toc-h2 toc-link" data-title="Swimlanes">Swimlanes</a>
  1593. </li>
  1594. <li>
  1595. <a href="#tocsusers" class="toc-h2 toc-link" data-title="Users">Users</a>
  1596. </li>
  1597. <li>
  1598. <a href="#tocsusersemails" class="toc-h2 toc-link" data-title="UsersEmails">UsersEmails</a>
  1599. </li>
  1600. <li>
  1601. <a href="#tocsusersprofile" class="toc-h2 toc-link" data-title="UsersProfile">UsersProfile</a>
  1602. </li>
  1603. <li>
  1604. <a href="#tocsuserssessiondata" class="toc-h2 toc-link" data-title="UsersSessiondata">UsersSessiondata</a>
  1605. </li>
  1606. </ul>
  1607. </li>
  1608. </ul>
  1609. </div>
  1610. <ul class="toc-footer">
  1611. </ul>
  1612. </div>
  1613. <div class="page-wrapper">
  1614. <div class="dark-box"></div>
  1615. <div class="content">
  1616. <h1 id="wekan-rest-api">Wekan REST API v4.89</h1>
  1617. <blockquote>
  1618. <p>Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.</p>
  1619. </blockquote>
  1620. <p>The REST API allows you to control and extend Wekan with ease.</p>
  1621. <p>If you are an end-user and not a dev or a tester, <a href="https://github.com/wekan/wekan/issues/new">create an issue</a> to request new APIs.</p>
  1622. <blockquote>
  1623. <p>All API calls in the documentation are made using <code>curl</code>. However, you are free to use Java / Python / PHP / Golang / Ruby / Swift / Objective-C / Rust / Scala / C# or any other programming languages.</p>
  1624. </blockquote>
  1625. <h1 id="production-security-concerns">Production Security Concerns</h1>
  1626. <p>When calling a production Wekan server, ensure it is running via HTTPS and has a valid SSL Certificate. The login method requires you to post your username and password in plaintext, which is why we highly suggest only calling the REST login api over HTTPS. Also, few things to note:</p>
  1627. <ul>
  1628. <li>Only call via HTTPS</li>
  1629. <li>Implement a timed authorization token expiration strategy</li>
  1630. <li>Ensure the calling user only has permissions for what they are calling and no more</li>
  1631. </ul>
  1632. <h1 id="authentication">Authentication</h1>
  1633. <ul>
  1634. <li>API Key (UserSecurity)
  1635. <ul>
  1636. <li>Parameter Name: <strong>Authorization</strong>, in: header.</li>
  1637. </ul>
  1638. </li>
  1639. </ul>
  1640. <h1 id="wekan-rest-api-login">Login</h1>
  1641. <h2 id="login">login</h2>
  1642. <p><a id="opIdlogin"></a></p>
  1643. <blockquote>
  1644. <p>Code samples</p>
  1645. </blockquote>
  1646. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  1647. curl -X POST /users/login \
  1648. -H <span class="hljs-string">'Content-Type: application/x-www-form-urlencoded'</span> \
  1649. -H <span class="hljs-string">'Accept: */*'</span>
  1650. </code></pre>
  1651. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">POST</span> <span class="hljs-string">/users/login</span> HTTP/1.1
  1652. <span class="http"><span class="hljs-attribute">Content-Type</span>: application/x-www-form-urlencoded
  1653. <span class="hljs-attribute">Accept</span>: */*
  1654. <span class="undefined"></span></span></code></pre>
  1655. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  1656. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'application/x-www-form-urlencoded'</span>,
  1657. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'*/*'</span>
  1658. };
  1659. $.ajax({
  1660. <span class="hljs-attr">url</span>: <span class="hljs-string">'/users/login'</span>,
  1661. <span class="hljs-attr">method</span>: <span class="hljs-string">'post'</span>,
  1662. <span class="hljs-attr">headers</span>: headers,
  1663. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  1664. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  1665. }
  1666. })
  1667. </code></pre>
  1668. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  1669. <span class="hljs-keyword">const</span> inputBody = <span class="hljs-string">'{
  1670. "username": "string",
  1671. "password": "pa$$word"
  1672. }'</span>;
  1673. <span class="hljs-keyword">const</span> headers = {
  1674. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'application/x-www-form-urlencoded'</span>,
  1675. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'*/*'</span>
  1676. };
  1677. fetch(<span class="hljs-string">'/users/login'</span>,
  1678. {
  1679. <span class="hljs-attr">method</span>: <span class="hljs-string">'POST'</span>,
  1680. <span class="hljs-attr">body</span>: inputBody,
  1681. <span class="hljs-attr">headers</span>: headers
  1682. })
  1683. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  1684. <span class="hljs-keyword">return</span> res.json();
  1685. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  1686. <span class="hljs-built_in">console</span>.log(body);
  1687. });
  1688. </code></pre>
  1689. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  1690. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  1691. headers = {
  1692. <span class="hljs-string">'Content-Type'</span> =&gt; <span class="hljs-string">'application/x-www-form-urlencoded'</span>,
  1693. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'*/*'</span>
  1694. }
  1695. result = RestClient.post <span class="hljs-string">'/users/login'</span>,
  1696. <span class="hljs-symbol">params:</span> {
  1697. }, <span class="hljs-symbol">headers:</span> headers
  1698. p JSON.parse(result)
  1699. </code></pre>
  1700. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  1701. headers = {
  1702. <span class="hljs-string">'Content-Type'</span>: <span class="hljs-string">'application/x-www-form-urlencoded'</span>,
  1703. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'*/*'</span>
  1704. }
  1705. r = requests.post(<span class="hljs-string">'/users/login'</span>, params={
  1706. }, headers = headers)
  1707. <span class="hljs-keyword">print</span> r.json()
  1708. </code></pre>
  1709. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/users/login"</span>);
  1710. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  1711. con.setRequestMethod(<span class="hljs-string">"POST"</span>);
  1712. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  1713. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  1714. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  1715. String inputLine;
  1716. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  1717. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  1718. response.append(inputLine);
  1719. }
  1720. in.close();
  1721. System.out.println(response.toString());
  1722. </code></pre>
  1723. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  1724. <span class="hljs-keyword">import</span> (
  1725. <span class="hljs-string">"bytes"</span>
  1726. <span class="hljs-string">"net/http"</span>
  1727. )
  1728. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  1729. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  1730. <span class="hljs-string">"Content-Type"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/x-www-form-urlencoded"</span>},
  1731. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"*/*"</span>},
  1732. }
  1733. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  1734. req, err := http.NewRequest(<span class="hljs-string">"POST"</span>, <span class="hljs-string">"/users/login"</span>, data)
  1735. req.Header = headers
  1736. client := &amp;http.Client{}
  1737. resp, err := client.Do(req)
  1738. <span class="hljs-comment">// ...</span>
  1739. }
  1740. </code></pre>
  1741. <p><code>POST /users/login</code></p>
  1742. <p><em>Login with REST API</em></p>
  1743. <blockquote>
  1744. <p>Body parameter</p>
  1745. </blockquote>
  1746. <pre class="highlight tab tab-yaml"><code><span class="hljs-attr">username:</span> <span class="hljs-string">string</span>
  1747. <span class="hljs-attr">password:</span> <span class="hljs-string">pa$$word</span>
  1748. </code></pre>
  1749. <h3 id="login-parameters">Parameters</h3>
  1750. <table>
  1751. <thead>
  1752. <tr>
  1753. <th>Name</th>
  1754. <th>In</th>
  1755. <th>Type</th>
  1756. <th>Required</th>
  1757. <th>Description</th>
  1758. </tr>
  1759. </thead>
  1760. <tbody>
  1761. <tr>
  1762. <td>body</td>
  1763. <td>body</td>
  1764. <td>object</td>
  1765. <td>false</td>
  1766. <td>none</td>
  1767. </tr>
  1768. <tr>
  1769. <td>» username</td>
  1770. <td>body</td>
  1771. <td>string</td>
  1772. <td>true</td>
  1773. <td>Your username</td>
  1774. </tr>
  1775. <tr>
  1776. <td>» password</td>
  1777. <td>body</td>
  1778. <td>string(password)</td>
  1779. <td>true</td>
  1780. <td>Your password</td>
  1781. </tr>
  1782. </tbody>
  1783. </table>
  1784. <blockquote>
  1785. <p>Example responses</p>
  1786. </blockquote>
  1787. <blockquote>
  1788. <p>200 Response</p>
  1789. </blockquote>
  1790. <h3 id="login-responses">Responses</h3>
  1791. <table>
  1792. <thead>
  1793. <tr>
  1794. <th>Status</th>
  1795. <th>Meaning</th>
  1796. <th>Description</th>
  1797. <th>Schema</th>
  1798. </tr>
  1799. </thead>
  1800. <tbody>
  1801. <tr>
  1802. <td>200</td>
  1803. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  1804. <td>Successful authentication</td>
  1805. <td>Inline</td>
  1806. </tr>
  1807. <tr>
  1808. <td>400</td>
  1809. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.5.1">Bad Request</a></td>
  1810. <td>Error in authentication</td>
  1811. <td>Inline</td>
  1812. </tr>
  1813. <tr>
  1814. <td>default</td>
  1815. <td>Default</td>
  1816. <td>Error in authentication</td>
  1817. <td>None</td>
  1818. </tr>
  1819. </tbody>
  1820. </table>
  1821. <h3 id="login-responseschema">Response Schema</h3>
  1822. <p>Status Code <strong>200</strong></p>
  1823. <table>
  1824. <thead>
  1825. <tr>
  1826. <th>Name</th>
  1827. <th>Type</th>
  1828. <th>Required</th>
  1829. <th>Restrictions</th>
  1830. <th>Description</th>
  1831. </tr>
  1832. </thead>
  1833. <tbody>
  1834. <tr>
  1835. <td>» id</td>
  1836. <td>string</td>
  1837. <td>false</td>
  1838. <td>none</td>
  1839. <td>none</td>
  1840. </tr>
  1841. <tr>
  1842. <td>» token</td>
  1843. <td>string</td>
  1844. <td>false</td>
  1845. <td>none</td>
  1846. <td>none</td>
  1847. </tr>
  1848. <tr>
  1849. <td>» tokenExpires</td>
  1850. <td>string</td>
  1851. <td>false</td>
  1852. <td>none</td>
  1853. <td>none</td>
  1854. </tr>
  1855. </tbody>
  1856. </table>
  1857. <p>Status Code <strong>400</strong></p>
  1858. <table>
  1859. <thead>
  1860. <tr>
  1861. <th>Name</th>
  1862. <th>Type</th>
  1863. <th>Required</th>
  1864. <th>Restrictions</th>
  1865. <th>Description</th>
  1866. </tr>
  1867. </thead>
  1868. <tbody>
  1869. <tr>
  1870. <td>» error</td>
  1871. <td>number</td>
  1872. <td>false</td>
  1873. <td>none</td>
  1874. <td>none</td>
  1875. </tr>
  1876. <tr>
  1877. <td>» reason</td>
  1878. <td>string</td>
  1879. <td>false</td>
  1880. <td>none</td>
  1881. <td>none</td>
  1882. </tr>
  1883. </tbody>
  1884. </table>
  1885. <aside class="success">
  1886. This operation does not require authentication
  1887. </aside>
  1888. <h2 id="register">register</h2>
  1889. <p><a id="opIdregister"></a></p>
  1890. <blockquote>
  1891. <p>Code samples</p>
  1892. </blockquote>
  1893. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  1894. curl -X POST /users/register \
  1895. -H <span class="hljs-string">'Content-Type: application/x-www-form-urlencoded'</span> \
  1896. -H <span class="hljs-string">'Accept: */*'</span>
  1897. </code></pre>
  1898. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">POST</span> <span class="hljs-string">/users/register</span> HTTP/1.1
  1899. <span class="http"><span class="hljs-attribute">Content-Type</span>: application/x-www-form-urlencoded
  1900. <span class="hljs-attribute">Accept</span>: */*
  1901. <span class="undefined"></span></span></code></pre>
  1902. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  1903. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'application/x-www-form-urlencoded'</span>,
  1904. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'*/*'</span>
  1905. };
  1906. $.ajax({
  1907. <span class="hljs-attr">url</span>: <span class="hljs-string">'/users/register'</span>,
  1908. <span class="hljs-attr">method</span>: <span class="hljs-string">'post'</span>,
  1909. <span class="hljs-attr">headers</span>: headers,
  1910. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  1911. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  1912. }
  1913. })
  1914. </code></pre>
  1915. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  1916. <span class="hljs-keyword">const</span> inputBody = <span class="hljs-string">'{
  1917. "username": "string",
  1918. "password": "pa$$word",
  1919. "email": "string"
  1920. }'</span>;
  1921. <span class="hljs-keyword">const</span> headers = {
  1922. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'application/x-www-form-urlencoded'</span>,
  1923. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'*/*'</span>
  1924. };
  1925. fetch(<span class="hljs-string">'/users/register'</span>,
  1926. {
  1927. <span class="hljs-attr">method</span>: <span class="hljs-string">'POST'</span>,
  1928. <span class="hljs-attr">body</span>: inputBody,
  1929. <span class="hljs-attr">headers</span>: headers
  1930. })
  1931. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  1932. <span class="hljs-keyword">return</span> res.json();
  1933. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  1934. <span class="hljs-built_in">console</span>.log(body);
  1935. });
  1936. </code></pre>
  1937. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  1938. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  1939. headers = {
  1940. <span class="hljs-string">'Content-Type'</span> =&gt; <span class="hljs-string">'application/x-www-form-urlencoded'</span>,
  1941. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'*/*'</span>
  1942. }
  1943. result = RestClient.post <span class="hljs-string">'/users/register'</span>,
  1944. <span class="hljs-symbol">params:</span> {
  1945. }, <span class="hljs-symbol">headers:</span> headers
  1946. p JSON.parse(result)
  1947. </code></pre>
  1948. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  1949. headers = {
  1950. <span class="hljs-string">'Content-Type'</span>: <span class="hljs-string">'application/x-www-form-urlencoded'</span>,
  1951. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'*/*'</span>
  1952. }
  1953. r = requests.post(<span class="hljs-string">'/users/register'</span>, params={
  1954. }, headers = headers)
  1955. <span class="hljs-keyword">print</span> r.json()
  1956. </code></pre>
  1957. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/users/register"</span>);
  1958. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  1959. con.setRequestMethod(<span class="hljs-string">"POST"</span>);
  1960. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  1961. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  1962. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  1963. String inputLine;
  1964. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  1965. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  1966. response.append(inputLine);
  1967. }
  1968. in.close();
  1969. System.out.println(response.toString());
  1970. </code></pre>
  1971. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  1972. <span class="hljs-keyword">import</span> (
  1973. <span class="hljs-string">"bytes"</span>
  1974. <span class="hljs-string">"net/http"</span>
  1975. )
  1976. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  1977. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  1978. <span class="hljs-string">"Content-Type"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/x-www-form-urlencoded"</span>},
  1979. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"*/*"</span>},
  1980. }
  1981. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  1982. req, err := http.NewRequest(<span class="hljs-string">"POST"</span>, <span class="hljs-string">"/users/register"</span>, data)
  1983. req.Header = headers
  1984. client := &amp;http.Client{}
  1985. resp, err := client.Do(req)
  1986. <span class="hljs-comment">// ...</span>
  1987. }
  1988. </code></pre>
  1989. <p><code>POST /users/register</code></p>
  1990. <p><em>Register with REST API</em></p>
  1991. <p>Notes:</p>
  1992. <ul>
  1993. <li>You will need to provide the token for any of the authenticated methods.</li>
  1994. </ul>
  1995. <blockquote>
  1996. <p>Body parameter</p>
  1997. </blockquote>
  1998. <pre class="highlight tab tab-yaml"><code><span class="hljs-attr">username:</span> <span class="hljs-string">string</span>
  1999. <span class="hljs-attr">password:</span> <span class="hljs-string">pa$$word</span>
  2000. <span class="hljs-attr">email:</span> <span class="hljs-string">string</span>
  2001. </code></pre>
  2002. <h3 id="register-parameters">Parameters</h3>
  2003. <table>
  2004. <thead>
  2005. <tr>
  2006. <th>Name</th>
  2007. <th>In</th>
  2008. <th>Type</th>
  2009. <th>Required</th>
  2010. <th>Description</th>
  2011. </tr>
  2012. </thead>
  2013. <tbody>
  2014. <tr>
  2015. <td>body</td>
  2016. <td>body</td>
  2017. <td>object</td>
  2018. <td>false</td>
  2019. <td>none</td>
  2020. </tr>
  2021. <tr>
  2022. <td>» username</td>
  2023. <td>body</td>
  2024. <td>string</td>
  2025. <td>true</td>
  2026. <td>Your username</td>
  2027. </tr>
  2028. <tr>
  2029. <td>» password</td>
  2030. <td>body</td>
  2031. <td>string(password)</td>
  2032. <td>true</td>
  2033. <td>Your password</td>
  2034. </tr>
  2035. <tr>
  2036. <td>» email</td>
  2037. <td>body</td>
  2038. <td>string</td>
  2039. <td>true</td>
  2040. <td>Your email</td>
  2041. </tr>
  2042. </tbody>
  2043. </table>
  2044. <blockquote>
  2045. <p>Example responses</p>
  2046. </blockquote>
  2047. <blockquote>
  2048. <p>200 Response</p>
  2049. </blockquote>
  2050. <h3 id="register-responses">Responses</h3>
  2051. <table>
  2052. <thead>
  2053. <tr>
  2054. <th>Status</th>
  2055. <th>Meaning</th>
  2056. <th>Description</th>
  2057. <th>Schema</th>
  2058. </tr>
  2059. </thead>
  2060. <tbody>
  2061. <tr>
  2062. <td>200</td>
  2063. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  2064. <td>Successful registration</td>
  2065. <td>Inline</td>
  2066. </tr>
  2067. <tr>
  2068. <td>400</td>
  2069. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.5.1">Bad Request</a></td>
  2070. <td>Error in registration</td>
  2071. <td>Inline</td>
  2072. </tr>
  2073. <tr>
  2074. <td>default</td>
  2075. <td>Default</td>
  2076. <td>Error in registration</td>
  2077. <td>None</td>
  2078. </tr>
  2079. </tbody>
  2080. </table>
  2081. <h3 id="register-responseschema">Response Schema</h3>
  2082. <p>Status Code <strong>200</strong></p>
  2083. <table>
  2084. <thead>
  2085. <tr>
  2086. <th>Name</th>
  2087. <th>Type</th>
  2088. <th>Required</th>
  2089. <th>Restrictions</th>
  2090. <th>Description</th>
  2091. </tr>
  2092. </thead>
  2093. <tbody>
  2094. <tr>
  2095. <td>» id</td>
  2096. <td>string</td>
  2097. <td>false</td>
  2098. <td>none</td>
  2099. <td>none</td>
  2100. </tr>
  2101. <tr>
  2102. <td>» token</td>
  2103. <td>string</td>
  2104. <td>false</td>
  2105. <td>none</td>
  2106. <td>none</td>
  2107. </tr>
  2108. <tr>
  2109. <td>» tokenExpires</td>
  2110. <td>string</td>
  2111. <td>false</td>
  2112. <td>none</td>
  2113. <td>none</td>
  2114. </tr>
  2115. </tbody>
  2116. </table>
  2117. <p>Status Code <strong>400</strong></p>
  2118. <table>
  2119. <thead>
  2120. <tr>
  2121. <th>Name</th>
  2122. <th>Type</th>
  2123. <th>Required</th>
  2124. <th>Restrictions</th>
  2125. <th>Description</th>
  2126. </tr>
  2127. </thead>
  2128. <tbody>
  2129. <tr>
  2130. <td>» error</td>
  2131. <td>number</td>
  2132. <td>false</td>
  2133. <td>none</td>
  2134. <td>none</td>
  2135. </tr>
  2136. <tr>
  2137. <td>» reason</td>
  2138. <td>string</td>
  2139. <td>false</td>
  2140. <td>none</td>
  2141. <td>none</td>
  2142. </tr>
  2143. </tbody>
  2144. </table>
  2145. <aside class="success">
  2146. This operation does not require authentication
  2147. </aside>
  2148. <h1 id="wekan-rest-api-checklists">Checklists</h1>
  2149. <h2 id="get_all_checklists">get_all_checklists</h2>
  2150. <p><a id="opIdget_all_checklists"></a></p>
  2151. <blockquote>
  2152. <p>Code samples</p>
  2153. </blockquote>
  2154. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  2155. curl -X GET /api/boards/{board}/cards/{card}/checklists \
  2156. -H <span class="hljs-string">'Accept: application/json'</span> \
  2157. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  2158. </code></pre>
  2159. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">GET</span> <span class="hljs-string">/api/boards/{board}/cards/{card}/checklists</span> HTTP/1.1
  2160. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  2161. <span class="undefined"></span></span></code></pre>
  2162. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  2163. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  2164. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  2165. };
  2166. $.ajax({
  2167. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists'</span>,
  2168. <span class="hljs-attr">method</span>: <span class="hljs-string">'get'</span>,
  2169. <span class="hljs-attr">headers</span>: headers,
  2170. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  2171. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  2172. }
  2173. })
  2174. </code></pre>
  2175. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  2176. <span class="hljs-keyword">const</span> headers = {
  2177. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  2178. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  2179. };
  2180. fetch(<span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists'</span>,
  2181. {
  2182. <span class="hljs-attr">method</span>: <span class="hljs-string">'GET'</span>,
  2183. <span class="hljs-attr">headers</span>: headers
  2184. })
  2185. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  2186. <span class="hljs-keyword">return</span> res.json();
  2187. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  2188. <span class="hljs-built_in">console</span>.log(body);
  2189. });
  2190. </code></pre>
  2191. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  2192. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  2193. headers = {
  2194. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  2195. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  2196. }
  2197. result = RestClient.get <span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists'</span>,
  2198. <span class="hljs-symbol">params:</span> {
  2199. }, <span class="hljs-symbol">headers:</span> headers
  2200. p JSON.parse(result)
  2201. </code></pre>
  2202. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  2203. headers = {
  2204. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  2205. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  2206. }
  2207. r = requests.get(<span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists'</span>, params={
  2208. }, headers = headers)
  2209. <span class="hljs-keyword">print</span> r.json()
  2210. </code></pre>
  2211. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/cards/{card}/checklists"</span>);
  2212. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  2213. con.setRequestMethod(<span class="hljs-string">"GET"</span>);
  2214. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  2215. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  2216. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  2217. String inputLine;
  2218. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  2219. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  2220. response.append(inputLine);
  2221. }
  2222. in.close();
  2223. System.out.println(response.toString());
  2224. </code></pre>
  2225. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  2226. <span class="hljs-keyword">import</span> (
  2227. <span class="hljs-string">"bytes"</span>
  2228. <span class="hljs-string">"net/http"</span>
  2229. )
  2230. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  2231. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  2232. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  2233. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  2234. }
  2235. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  2236. req, err := http.NewRequest(<span class="hljs-string">"GET"</span>, <span class="hljs-string">"/api/boards/{board}/cards/{card}/checklists"</span>, data)
  2237. req.Header = headers
  2238. client := &amp;http.Client{}
  2239. resp, err := client.Do(req)
  2240. <span class="hljs-comment">// ...</span>
  2241. }
  2242. </code></pre>
  2243. <p><code>GET /api/boards/{board}/cards/{card}/checklists</code></p>
  2244. <p><em>Get the list of checklists attached to a card</em></p>
  2245. <h3 id="get_all_checklists-parameters">Parameters</h3>
  2246. <table>
  2247. <thead>
  2248. <tr>
  2249. <th>Name</th>
  2250. <th>In</th>
  2251. <th>Type</th>
  2252. <th>Required</th>
  2253. <th>Description</th>
  2254. </tr>
  2255. </thead>
  2256. <tbody>
  2257. <tr>
  2258. <td>board</td>
  2259. <td>path</td>
  2260. <td>string</td>
  2261. <td>true</td>
  2262. <td>the board ID</td>
  2263. </tr>
  2264. <tr>
  2265. <td>card</td>
  2266. <td>path</td>
  2267. <td>string</td>
  2268. <td>true</td>
  2269. <td>the card ID</td>
  2270. </tr>
  2271. </tbody>
  2272. </table>
  2273. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  2274. <p><strong>board</strong>: the board ID</p>
  2275. <p><strong>card</strong>: the card ID</p>
  2276. <blockquote>
  2277. <p>Example responses</p>
  2278. </blockquote>
  2279. <blockquote>
  2280. <p>200 Response</p>
  2281. </blockquote>
  2282. <pre class="highlight tab tab-json"><code>[
  2283. {
  2284. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>,
  2285. <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>
  2286. }
  2287. ]
  2288. </code></pre>
  2289. <h3 id="get_all_checklists-responses">Responses</h3>
  2290. <table>
  2291. <thead>
  2292. <tr>
  2293. <th>Status</th>
  2294. <th>Meaning</th>
  2295. <th>Description</th>
  2296. <th>Schema</th>
  2297. </tr>
  2298. </thead>
  2299. <tbody>
  2300. <tr>
  2301. <td>200</td>
  2302. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  2303. <td>200 response</td>
  2304. <td>Inline</td>
  2305. </tr>
  2306. </tbody>
  2307. </table>
  2308. <h3 id="get_all_checklists-responseschema">Response Schema</h3>
  2309. <p>Status Code <strong>200</strong></p>
  2310. <table>
  2311. <thead>
  2312. <tr>
  2313. <th>Name</th>
  2314. <th>Type</th>
  2315. <th>Required</th>
  2316. <th>Restrictions</th>
  2317. <th>Description</th>
  2318. </tr>
  2319. </thead>
  2320. <tbody>
  2321. <tr>
  2322. <td>» _id</td>
  2323. <td>string</td>
  2324. <td>false</td>
  2325. <td>none</td>
  2326. <td>none</td>
  2327. </tr>
  2328. <tr>
  2329. <td>» title</td>
  2330. <td>string</td>
  2331. <td>false</td>
  2332. <td>none</td>
  2333. <td>none</td>
  2334. </tr>
  2335. </tbody>
  2336. </table>
  2337. <aside class="warning">
  2338. To perform this operation, you must be authenticated by means of one of the following methods:
  2339. UserSecurity
  2340. </aside>
  2341. <h2 id="new_checklist">new_checklist</h2>
  2342. <p><a id="opIdnew_checklist"></a></p>
  2343. <blockquote>
  2344. <p>Code samples</p>
  2345. </blockquote>
  2346. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  2347. curl -X POST /api/boards/{board}/cards/{card}/checklists \
  2348. -H <span class="hljs-string">'Content-Type: multipart/form-data'</span> \
  2349. -H <span class="hljs-string">'Accept: application/json'</span> \
  2350. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  2351. </code></pre>
  2352. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">POST</span> <span class="hljs-string">/api/boards/{board}/cards/{card}/checklists</span> HTTP/1.1
  2353. <span class="fortran">Content-<span class="hljs-keyword">Type</span>: multipart/<span class="hljs-keyword">form</span>-<span class="hljs-keyword">data</span>
  2354. Accept: application/json
  2355. </span></code></pre>
  2356. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  2357. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  2358. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  2359. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  2360. };
  2361. $.ajax({
  2362. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists'</span>,
  2363. <span class="hljs-attr">method</span>: <span class="hljs-string">'post'</span>,
  2364. <span class="hljs-attr">headers</span>: headers,
  2365. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  2366. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  2367. }
  2368. })
  2369. </code></pre>
  2370. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  2371. <span class="hljs-keyword">const</span> inputBody = <span class="hljs-string">'{
  2372. "title": "string",
  2373. "items": "string"
  2374. }'</span>;
  2375. <span class="hljs-keyword">const</span> headers = {
  2376. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  2377. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  2378. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  2379. };
  2380. fetch(<span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists'</span>,
  2381. {
  2382. <span class="hljs-attr">method</span>: <span class="hljs-string">'POST'</span>,
  2383. <span class="hljs-attr">body</span>: inputBody,
  2384. <span class="hljs-attr">headers</span>: headers
  2385. })
  2386. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  2387. <span class="hljs-keyword">return</span> res.json();
  2388. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  2389. <span class="hljs-built_in">console</span>.log(body);
  2390. });
  2391. </code></pre>
  2392. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  2393. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  2394. headers = {
  2395. <span class="hljs-string">'Content-Type'</span> =&gt; <span class="hljs-string">'multipart/form-data'</span>,
  2396. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  2397. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  2398. }
  2399. result = RestClient.post <span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists'</span>,
  2400. <span class="hljs-symbol">params:</span> {
  2401. }, <span class="hljs-symbol">headers:</span> headers
  2402. p JSON.parse(result)
  2403. </code></pre>
  2404. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  2405. headers = {
  2406. <span class="hljs-string">'Content-Type'</span>: <span class="hljs-string">'multipart/form-data'</span>,
  2407. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  2408. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  2409. }
  2410. r = requests.post(<span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists'</span>, params={
  2411. }, headers = headers)
  2412. <span class="hljs-keyword">print</span> r.json()
  2413. </code></pre>
  2414. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/cards/{card}/checklists"</span>);
  2415. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  2416. con.setRequestMethod(<span class="hljs-string">"POST"</span>);
  2417. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  2418. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  2419. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  2420. String inputLine;
  2421. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  2422. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  2423. response.append(inputLine);
  2424. }
  2425. in.close();
  2426. System.out.println(response.toString());
  2427. </code></pre>
  2428. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  2429. <span class="hljs-keyword">import</span> (
  2430. <span class="hljs-string">"bytes"</span>
  2431. <span class="hljs-string">"net/http"</span>
  2432. )
  2433. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  2434. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  2435. <span class="hljs-string">"Content-Type"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"multipart/form-data"</span>},
  2436. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  2437. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  2438. }
  2439. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  2440. req, err := http.NewRequest(<span class="hljs-string">"POST"</span>, <span class="hljs-string">"/api/boards/{board}/cards/{card}/checklists"</span>, data)
  2441. req.Header = headers
  2442. client := &amp;http.Client{}
  2443. resp, err := client.Do(req)
  2444. <span class="hljs-comment">// ...</span>
  2445. }
  2446. </code></pre>
  2447. <p><code>POST /api/boards/{board}/cards/{card}/checklists</code></p>
  2448. <p><em>create a new checklist</em></p>
  2449. <blockquote>
  2450. <p>Body parameter</p>
  2451. </blockquote>
  2452. <pre class="highlight tab tab-yaml"><code><span class="hljs-attr">title:</span> <span class="hljs-string">string</span>
  2453. <span class="hljs-attr">items:</span> <span class="hljs-string">string</span>
  2454. </code></pre>
  2455. <h3 id="new_checklist-parameters">Parameters</h3>
  2456. <table>
  2457. <thead>
  2458. <tr>
  2459. <th>Name</th>
  2460. <th>In</th>
  2461. <th>Type</th>
  2462. <th>Required</th>
  2463. <th>Description</th>
  2464. </tr>
  2465. </thead>
  2466. <tbody>
  2467. <tr>
  2468. <td>board</td>
  2469. <td>path</td>
  2470. <td>string</td>
  2471. <td>true</td>
  2472. <td>the board ID</td>
  2473. </tr>
  2474. <tr>
  2475. <td>card</td>
  2476. <td>path</td>
  2477. <td>string</td>
  2478. <td>true</td>
  2479. <td>the card ID</td>
  2480. </tr>
  2481. <tr>
  2482. <td>body</td>
  2483. <td>body</td>
  2484. <td>object</td>
  2485. <td>false</td>
  2486. <td>none</td>
  2487. </tr>
  2488. <tr>
  2489. <td>» title</td>
  2490. <td>body</td>
  2491. <td>string</td>
  2492. <td>true</td>
  2493. <td>the title of the new checklist</td>
  2494. </tr>
  2495. <tr>
  2496. <td>» items</td>
  2497. <td>body</td>
  2498. <td>string</td>
  2499. <td>false</td>
  2500. <td>the list of items on the new checklist</td>
  2501. </tr>
  2502. </tbody>
  2503. </table>
  2504. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  2505. <p><strong>board</strong>: the board ID</p>
  2506. <p><strong>card</strong>: the card ID</p>
  2507. <blockquote>
  2508. <p>Example responses</p>
  2509. </blockquote>
  2510. <blockquote>
  2511. <p>200 Response</p>
  2512. </blockquote>
  2513. <pre class="highlight tab tab-json"><code>{
  2514. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>
  2515. }
  2516. </code></pre>
  2517. <h3 id="new_checklist-responses">Responses</h3>
  2518. <table>
  2519. <thead>
  2520. <tr>
  2521. <th>Status</th>
  2522. <th>Meaning</th>
  2523. <th>Description</th>
  2524. <th>Schema</th>
  2525. </tr>
  2526. </thead>
  2527. <tbody>
  2528. <tr>
  2529. <td>200</td>
  2530. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  2531. <td>200 response</td>
  2532. <td>Inline</td>
  2533. </tr>
  2534. </tbody>
  2535. </table>
  2536. <h3 id="new_checklist-responseschema">Response Schema</h3>
  2537. <p>Status Code <strong>200</strong></p>
  2538. <table>
  2539. <thead>
  2540. <tr>
  2541. <th>Name</th>
  2542. <th>Type</th>
  2543. <th>Required</th>
  2544. <th>Restrictions</th>
  2545. <th>Description</th>
  2546. </tr>
  2547. </thead>
  2548. <tbody>
  2549. <tr>
  2550. <td>» _id</td>
  2551. <td>string</td>
  2552. <td>false</td>
  2553. <td>none</td>
  2554. <td>none</td>
  2555. </tr>
  2556. </tbody>
  2557. </table>
  2558. <aside class="warning">
  2559. To perform this operation, you must be authenticated by means of one of the following methods:
  2560. UserSecurity
  2561. </aside>
  2562. <h2 id="get_checklist">get_checklist</h2>
  2563. <p><a id="opIdget_checklist"></a></p>
  2564. <blockquote>
  2565. <p>Code samples</p>
  2566. </blockquote>
  2567. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  2568. curl -X GET /api/boards/{board}/cards/{card}/checklists/{checklist} \
  2569. -H <span class="hljs-string">'Accept: application/json'</span> \
  2570. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  2571. </code></pre>
  2572. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">GET</span> <span class="hljs-string">/api/boards/{board}/cards/{card}/checklists/{checklist}</span> HTTP/1.1
  2573. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  2574. <span class="undefined"></span></span></code></pre>
  2575. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  2576. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  2577. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  2578. };
  2579. $.ajax({
  2580. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists/{checklist}'</span>,
  2581. <span class="hljs-attr">method</span>: <span class="hljs-string">'get'</span>,
  2582. <span class="hljs-attr">headers</span>: headers,
  2583. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  2584. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  2585. }
  2586. })
  2587. </code></pre>
  2588. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  2589. <span class="hljs-keyword">const</span> headers = {
  2590. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  2591. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  2592. };
  2593. fetch(<span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists/{checklist}'</span>,
  2594. {
  2595. <span class="hljs-attr">method</span>: <span class="hljs-string">'GET'</span>,
  2596. <span class="hljs-attr">headers</span>: headers
  2597. })
  2598. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  2599. <span class="hljs-keyword">return</span> res.json();
  2600. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  2601. <span class="hljs-built_in">console</span>.log(body);
  2602. });
  2603. </code></pre>
  2604. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  2605. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  2606. headers = {
  2607. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  2608. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  2609. }
  2610. result = RestClient.get <span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists/{checklist}'</span>,
  2611. <span class="hljs-symbol">params:</span> {
  2612. }, <span class="hljs-symbol">headers:</span> headers
  2613. p JSON.parse(result)
  2614. </code></pre>
  2615. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  2616. headers = {
  2617. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  2618. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  2619. }
  2620. r = requests.get(<span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists/{checklist}'</span>, params={
  2621. }, headers = headers)
  2622. <span class="hljs-keyword">print</span> r.json()
  2623. </code></pre>
  2624. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/cards/{card}/checklists/{checklist}"</span>);
  2625. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  2626. con.setRequestMethod(<span class="hljs-string">"GET"</span>);
  2627. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  2628. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  2629. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  2630. String inputLine;
  2631. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  2632. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  2633. response.append(inputLine);
  2634. }
  2635. in.close();
  2636. System.out.println(response.toString());
  2637. </code></pre>
  2638. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  2639. <span class="hljs-keyword">import</span> (
  2640. <span class="hljs-string">"bytes"</span>
  2641. <span class="hljs-string">"net/http"</span>
  2642. )
  2643. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  2644. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  2645. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  2646. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  2647. }
  2648. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  2649. req, err := http.NewRequest(<span class="hljs-string">"GET"</span>, <span class="hljs-string">"/api/boards/{board}/cards/{card}/checklists/{checklist}"</span>, data)
  2650. req.Header = headers
  2651. client := &amp;http.Client{}
  2652. resp, err := client.Do(req)
  2653. <span class="hljs-comment">// ...</span>
  2654. }
  2655. </code></pre>
  2656. <p><code>GET /api/boards/{board}/cards/{card}/checklists/{checklist}</code></p>
  2657. <p><em>Get a checklist</em></p>
  2658. <h3 id="get_checklist-parameters">Parameters</h3>
  2659. <table>
  2660. <thead>
  2661. <tr>
  2662. <th>Name</th>
  2663. <th>In</th>
  2664. <th>Type</th>
  2665. <th>Required</th>
  2666. <th>Description</th>
  2667. </tr>
  2668. </thead>
  2669. <tbody>
  2670. <tr>
  2671. <td>board</td>
  2672. <td>path</td>
  2673. <td>string</td>
  2674. <td>true</td>
  2675. <td>the board ID</td>
  2676. </tr>
  2677. <tr>
  2678. <td>card</td>
  2679. <td>path</td>
  2680. <td>string</td>
  2681. <td>true</td>
  2682. <td>the card ID</td>
  2683. </tr>
  2684. <tr>
  2685. <td>checklist</td>
  2686. <td>path</td>
  2687. <td>string</td>
  2688. <td>true</td>
  2689. <td>the ID of the checklist</td>
  2690. </tr>
  2691. </tbody>
  2692. </table>
  2693. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  2694. <p><strong>board</strong>: the board ID</p>
  2695. <p><strong>card</strong>: the card ID</p>
  2696. <p><strong>checklist</strong>: the ID of the checklist</p>
  2697. <blockquote>
  2698. <p>Example responses</p>
  2699. </blockquote>
  2700. <blockquote>
  2701. <p>200 Response</p>
  2702. </blockquote>
  2703. <pre class="highlight tab tab-json"><code>{
  2704. <span class="hljs-attr">"cardId"</span>: <span class="hljs-string">"string"</span>,
  2705. <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
  2706. <span class="hljs-attr">"finishedAt"</span>: <span class="hljs-string">"string"</span>,
  2707. <span class="hljs-attr">"createdAt"</span>: <span class="hljs-string">"string"</span>,
  2708. <span class="hljs-attr">"sort"</span>: <span class="hljs-number">0</span>,
  2709. <span class="hljs-attr">"items"</span>: [
  2710. {
  2711. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>,
  2712. <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
  2713. <span class="hljs-attr">"isFinished"</span>: <span class="hljs-literal">true</span>
  2714. }
  2715. ]
  2716. }
  2717. </code></pre>
  2718. <h3 id="get_checklist-responses">Responses</h3>
  2719. <table>
  2720. <thead>
  2721. <tr>
  2722. <th>Status</th>
  2723. <th>Meaning</th>
  2724. <th>Description</th>
  2725. <th>Schema</th>
  2726. </tr>
  2727. </thead>
  2728. <tbody>
  2729. <tr>
  2730. <td>200</td>
  2731. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  2732. <td>200 response</td>
  2733. <td>Inline</td>
  2734. </tr>
  2735. </tbody>
  2736. </table>
  2737. <h3 id="get_checklist-responseschema">Response Schema</h3>
  2738. <p>Status Code <strong>200</strong></p>
  2739. <table>
  2740. <thead>
  2741. <tr>
  2742. <th>Name</th>
  2743. <th>Type</th>
  2744. <th>Required</th>
  2745. <th>Restrictions</th>
  2746. <th>Description</th>
  2747. </tr>
  2748. </thead>
  2749. <tbody>
  2750. <tr>
  2751. <td>» cardId</td>
  2752. <td>string</td>
  2753. <td>false</td>
  2754. <td>none</td>
  2755. <td>none</td>
  2756. </tr>
  2757. <tr>
  2758. <td>» title</td>
  2759. <td>string</td>
  2760. <td>false</td>
  2761. <td>none</td>
  2762. <td>none</td>
  2763. </tr>
  2764. <tr>
  2765. <td>» finishedAt</td>
  2766. <td>string</td>
  2767. <td>false</td>
  2768. <td>none</td>
  2769. <td>none</td>
  2770. </tr>
  2771. <tr>
  2772. <td>» createdAt</td>
  2773. <td>string</td>
  2774. <td>false</td>
  2775. <td>none</td>
  2776. <td>none</td>
  2777. </tr>
  2778. <tr>
  2779. <td>» sort</td>
  2780. <td>number</td>
  2781. <td>false</td>
  2782. <td>none</td>
  2783. <td>none</td>
  2784. </tr>
  2785. <tr>
  2786. <td>» items</td>
  2787. <td>[object]</td>
  2788. <td>false</td>
  2789. <td>none</td>
  2790. <td>none</td>
  2791. </tr>
  2792. <tr>
  2793. <td>»» _id</td>
  2794. <td>string</td>
  2795. <td>false</td>
  2796. <td>none</td>
  2797. <td>none</td>
  2798. </tr>
  2799. <tr>
  2800. <td>»» title</td>
  2801. <td>string</td>
  2802. <td>false</td>
  2803. <td>none</td>
  2804. <td>none</td>
  2805. </tr>
  2806. <tr>
  2807. <td>»» isFinished</td>
  2808. <td>boolean</td>
  2809. <td>false</td>
  2810. <td>none</td>
  2811. <td>none</td>
  2812. </tr>
  2813. </tbody>
  2814. </table>
  2815. <aside class="warning">
  2816. To perform this operation, you must be authenticated by means of one of the following methods:
  2817. UserSecurity
  2818. </aside>
  2819. <h2 id="delete_checklist">delete_checklist</h2>
  2820. <p><a id="opIddelete_checklist"></a></p>
  2821. <blockquote>
  2822. <p>Code samples</p>
  2823. </blockquote>
  2824. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  2825. curl -X DELETE /api/boards/{board}/cards/{card}/checklists/{checklist} \
  2826. -H <span class="hljs-string">'Accept: application/json'</span> \
  2827. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  2828. </code></pre>
  2829. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">DELETE</span> <span class="hljs-string">/api/boards/{board}/cards/{card}/checklists/{checklist}</span> HTTP/1.1
  2830. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  2831. <span class="undefined"></span></span></code></pre>
  2832. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  2833. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  2834. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  2835. };
  2836. $.ajax({
  2837. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists/{checklist}'</span>,
  2838. <span class="hljs-attr">method</span>: <span class="hljs-string">'delete'</span>,
  2839. <span class="hljs-attr">headers</span>: headers,
  2840. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  2841. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  2842. }
  2843. })
  2844. </code></pre>
  2845. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  2846. <span class="hljs-keyword">const</span> headers = {
  2847. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  2848. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  2849. };
  2850. fetch(<span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists/{checklist}'</span>,
  2851. {
  2852. <span class="hljs-attr">method</span>: <span class="hljs-string">'DELETE'</span>,
  2853. <span class="hljs-attr">headers</span>: headers
  2854. })
  2855. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  2856. <span class="hljs-keyword">return</span> res.json();
  2857. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  2858. <span class="hljs-built_in">console</span>.log(body);
  2859. });
  2860. </code></pre>
  2861. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  2862. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  2863. headers = {
  2864. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  2865. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  2866. }
  2867. result = RestClient.delete <span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists/{checklist}'</span>,
  2868. <span class="hljs-symbol">params:</span> {
  2869. }, <span class="hljs-symbol">headers:</span> headers
  2870. p JSON.parse(result)
  2871. </code></pre>
  2872. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  2873. headers = {
  2874. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  2875. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  2876. }
  2877. r = requests.delete(<span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists/{checklist}'</span>, params={
  2878. }, headers = headers)
  2879. <span class="hljs-keyword">print</span> r.json()
  2880. </code></pre>
  2881. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/cards/{card}/checklists/{checklist}"</span>);
  2882. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  2883. con.setRequestMethod(<span class="hljs-string">"DELETE"</span>);
  2884. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  2885. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  2886. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  2887. String inputLine;
  2888. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  2889. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  2890. response.append(inputLine);
  2891. }
  2892. in.close();
  2893. System.out.println(response.toString());
  2894. </code></pre>
  2895. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  2896. <span class="hljs-keyword">import</span> (
  2897. <span class="hljs-string">"bytes"</span>
  2898. <span class="hljs-string">"net/http"</span>
  2899. )
  2900. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  2901. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  2902. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  2903. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  2904. }
  2905. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  2906. req, err := http.NewRequest(<span class="hljs-string">"DELETE"</span>, <span class="hljs-string">"/api/boards/{board}/cards/{card}/checklists/{checklist}"</span>, data)
  2907. req.Header = headers
  2908. client := &amp;http.Client{}
  2909. resp, err := client.Do(req)
  2910. <span class="hljs-comment">// ...</span>
  2911. }
  2912. </code></pre>
  2913. <p><code>DELETE /api/boards/{board}/cards/{card}/checklists/{checklist}</code></p>
  2914. <p><em>Delete a checklist</em></p>
  2915. <p>The checklist will be removed, not put in the recycle bin.</p>
  2916. <h3 id="delete_checklist-parameters">Parameters</h3>
  2917. <table>
  2918. <thead>
  2919. <tr>
  2920. <th>Name</th>
  2921. <th>In</th>
  2922. <th>Type</th>
  2923. <th>Required</th>
  2924. <th>Description</th>
  2925. </tr>
  2926. </thead>
  2927. <tbody>
  2928. <tr>
  2929. <td>board</td>
  2930. <td>path</td>
  2931. <td>string</td>
  2932. <td>true</td>
  2933. <td>the board ID</td>
  2934. </tr>
  2935. <tr>
  2936. <td>card</td>
  2937. <td>path</td>
  2938. <td>string</td>
  2939. <td>true</td>
  2940. <td>the card ID</td>
  2941. </tr>
  2942. <tr>
  2943. <td>checklist</td>
  2944. <td>path</td>
  2945. <td>string</td>
  2946. <td>true</td>
  2947. <td>the ID of the checklist to remove</td>
  2948. </tr>
  2949. </tbody>
  2950. </table>
  2951. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  2952. <p><strong>board</strong>: the board ID</p>
  2953. <p><strong>card</strong>: the card ID</p>
  2954. <p><strong>checklist</strong>: the ID of the checklist to remove</p>
  2955. <blockquote>
  2956. <p>Example responses</p>
  2957. </blockquote>
  2958. <blockquote>
  2959. <p>200 Response</p>
  2960. </blockquote>
  2961. <pre class="highlight tab tab-json"><code>{
  2962. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>
  2963. }
  2964. </code></pre>
  2965. <h3 id="delete_checklist-responses">Responses</h3>
  2966. <table>
  2967. <thead>
  2968. <tr>
  2969. <th>Status</th>
  2970. <th>Meaning</th>
  2971. <th>Description</th>
  2972. <th>Schema</th>
  2973. </tr>
  2974. </thead>
  2975. <tbody>
  2976. <tr>
  2977. <td>200</td>
  2978. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  2979. <td>200 response</td>
  2980. <td>Inline</td>
  2981. </tr>
  2982. </tbody>
  2983. </table>
  2984. <h3 id="delete_checklist-responseschema">Response Schema</h3>
  2985. <p>Status Code <strong>200</strong></p>
  2986. <table>
  2987. <thead>
  2988. <tr>
  2989. <th>Name</th>
  2990. <th>Type</th>
  2991. <th>Required</th>
  2992. <th>Restrictions</th>
  2993. <th>Description</th>
  2994. </tr>
  2995. </thead>
  2996. <tbody>
  2997. <tr>
  2998. <td>» _id</td>
  2999. <td>string</td>
  3000. <td>false</td>
  3001. <td>none</td>
  3002. <td>none</td>
  3003. </tr>
  3004. </tbody>
  3005. </table>
  3006. <aside class="warning">
  3007. To perform this operation, you must be authenticated by means of one of the following methods:
  3008. UserSecurity
  3009. </aside>
  3010. <h1 id="wekan-rest-api-checklistitems">ChecklistItems</h1>
  3011. <h2 id="get_checklist_item">get_checklist_item</h2>
  3012. <p><a id="opIdget_checklist_item"></a></p>
  3013. <blockquote>
  3014. <p>Code samples</p>
  3015. </blockquote>
  3016. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  3017. curl -X GET /api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item} \
  3018. -H <span class="hljs-string">'Accept: application/json'</span> \
  3019. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  3020. </code></pre>
  3021. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">GET</span> <span class="hljs-string">/api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item}</span> HTTP/1.1
  3022. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  3023. <span class="undefined"></span></span></code></pre>
  3024. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  3025. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  3026. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  3027. };
  3028. $.ajax({
  3029. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item}'</span>,
  3030. <span class="hljs-attr">method</span>: <span class="hljs-string">'get'</span>,
  3031. <span class="hljs-attr">headers</span>: headers,
  3032. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  3033. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  3034. }
  3035. })
  3036. </code></pre>
  3037. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  3038. <span class="hljs-keyword">const</span> headers = {
  3039. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  3040. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  3041. };
  3042. fetch(<span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item}'</span>,
  3043. {
  3044. <span class="hljs-attr">method</span>: <span class="hljs-string">'GET'</span>,
  3045. <span class="hljs-attr">headers</span>: headers
  3046. })
  3047. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  3048. <span class="hljs-keyword">return</span> res.json();
  3049. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  3050. <span class="hljs-built_in">console</span>.log(body);
  3051. });
  3052. </code></pre>
  3053. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  3054. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  3055. headers = {
  3056. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  3057. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  3058. }
  3059. result = RestClient.get <span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item}'</span>,
  3060. <span class="hljs-symbol">params:</span> {
  3061. }, <span class="hljs-symbol">headers:</span> headers
  3062. p JSON.parse(result)
  3063. </code></pre>
  3064. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  3065. headers = {
  3066. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  3067. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  3068. }
  3069. r = requests.get(<span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item}'</span>, params={
  3070. }, headers = headers)
  3071. <span class="hljs-keyword">print</span> r.json()
  3072. </code></pre>
  3073. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item}"</span>);
  3074. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  3075. con.setRequestMethod(<span class="hljs-string">"GET"</span>);
  3076. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  3077. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  3078. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  3079. String inputLine;
  3080. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  3081. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  3082. response.append(inputLine);
  3083. }
  3084. in.close();
  3085. System.out.println(response.toString());
  3086. </code></pre>
  3087. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  3088. <span class="hljs-keyword">import</span> (
  3089. <span class="hljs-string">"bytes"</span>
  3090. <span class="hljs-string">"net/http"</span>
  3091. )
  3092. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  3093. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  3094. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  3095. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  3096. }
  3097. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  3098. req, err := http.NewRequest(<span class="hljs-string">"GET"</span>, <span class="hljs-string">"/api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item}"</span>, data)
  3099. req.Header = headers
  3100. client := &amp;http.Client{}
  3101. resp, err := client.Do(req)
  3102. <span class="hljs-comment">// ...</span>
  3103. }
  3104. </code></pre>
  3105. <p><code>GET /api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item}</code></p>
  3106. <p><em>Get a checklist item</em></p>
  3107. <h3 id="get_checklist_item-parameters">Parameters</h3>
  3108. <table>
  3109. <thead>
  3110. <tr>
  3111. <th>Name</th>
  3112. <th>In</th>
  3113. <th>Type</th>
  3114. <th>Required</th>
  3115. <th>Description</th>
  3116. </tr>
  3117. </thead>
  3118. <tbody>
  3119. <tr>
  3120. <td>board</td>
  3121. <td>path</td>
  3122. <td>string</td>
  3123. <td>true</td>
  3124. <td>the board ID</td>
  3125. </tr>
  3126. <tr>
  3127. <td>card</td>
  3128. <td>path</td>
  3129. <td>string</td>
  3130. <td>true</td>
  3131. <td>the card ID</td>
  3132. </tr>
  3133. <tr>
  3134. <td>checklist</td>
  3135. <td>path</td>
  3136. <td>string</td>
  3137. <td>true</td>
  3138. <td>the checklist ID</td>
  3139. </tr>
  3140. <tr>
  3141. <td>item</td>
  3142. <td>path</td>
  3143. <td>string</td>
  3144. <td>true</td>
  3145. <td>the ID of the item</td>
  3146. </tr>
  3147. </tbody>
  3148. </table>
  3149. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  3150. <p><strong>board</strong>: the board ID</p>
  3151. <p><strong>card</strong>: the card ID</p>
  3152. <p><strong>checklist</strong>: the checklist ID</p>
  3153. <p><strong>item</strong>: the ID of the item</p>
  3154. <blockquote>
  3155. <p>Example responses</p>
  3156. </blockquote>
  3157. <blockquote>
  3158. <p>200 Response</p>
  3159. </blockquote>
  3160. <pre class="highlight tab tab-json"><code>{
  3161. <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
  3162. <span class="hljs-attr">"sort"</span>: <span class="hljs-number">0</span>,
  3163. <span class="hljs-attr">"isFinished"</span>: <span class="hljs-literal">true</span>,
  3164. <span class="hljs-attr">"checklistId"</span>: <span class="hljs-string">"string"</span>,
  3165. <span class="hljs-attr">"cardId"</span>: <span class="hljs-string">"string"</span>,
  3166. <span class="hljs-attr">"createdAt"</span>: <span class="hljs-string">"string"</span>,
  3167. <span class="hljs-attr">"modifiedAt"</span>: <span class="hljs-string">"string"</span>
  3168. }
  3169. </code></pre>
  3170. <h3 id="get_checklist_item-responses">Responses</h3>
  3171. <table>
  3172. <thead>
  3173. <tr>
  3174. <th>Status</th>
  3175. <th>Meaning</th>
  3176. <th>Description</th>
  3177. <th>Schema</th>
  3178. </tr>
  3179. </thead>
  3180. <tbody>
  3181. <tr>
  3182. <td>200</td>
  3183. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  3184. <td>200 response</td>
  3185. <td><a href="#schemachecklistitems">ChecklistItems</a></td>
  3186. </tr>
  3187. </tbody>
  3188. </table>
  3189. <aside class="warning">
  3190. To perform this operation, you must be authenticated by means of one of the following methods:
  3191. UserSecurity
  3192. </aside>
  3193. <h2 id="edit_checklist_item">edit_checklist_item</h2>
  3194. <p><a id="opIdedit_checklist_item"></a></p>
  3195. <blockquote>
  3196. <p>Code samples</p>
  3197. </blockquote>
  3198. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  3199. curl -X PUT /api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item} \
  3200. -H <span class="hljs-string">'Content-Type: multipart/form-data'</span> \
  3201. -H <span class="hljs-string">'Accept: application/json'</span> \
  3202. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  3203. </code></pre>
  3204. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">PUT</span> <span class="hljs-string">/api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item}</span> HTTP/1.1
  3205. <span class="fortran">Content-<span class="hljs-keyword">Type</span>: multipart/<span class="hljs-keyword">form</span>-<span class="hljs-keyword">data</span>
  3206. Accept: application/json
  3207. </span></code></pre>
  3208. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  3209. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  3210. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  3211. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  3212. };
  3213. $.ajax({
  3214. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item}'</span>,
  3215. <span class="hljs-attr">method</span>: <span class="hljs-string">'put'</span>,
  3216. <span class="hljs-attr">headers</span>: headers,
  3217. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  3218. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  3219. }
  3220. })
  3221. </code></pre>
  3222. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  3223. <span class="hljs-keyword">const</span> inputBody = <span class="hljs-string">'{
  3224. "isFinished": "string",
  3225. "title": "string"
  3226. }'</span>;
  3227. <span class="hljs-keyword">const</span> headers = {
  3228. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  3229. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  3230. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  3231. };
  3232. fetch(<span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item}'</span>,
  3233. {
  3234. <span class="hljs-attr">method</span>: <span class="hljs-string">'PUT'</span>,
  3235. <span class="hljs-attr">body</span>: inputBody,
  3236. <span class="hljs-attr">headers</span>: headers
  3237. })
  3238. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  3239. <span class="hljs-keyword">return</span> res.json();
  3240. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  3241. <span class="hljs-built_in">console</span>.log(body);
  3242. });
  3243. </code></pre>
  3244. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  3245. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  3246. headers = {
  3247. <span class="hljs-string">'Content-Type'</span> =&gt; <span class="hljs-string">'multipart/form-data'</span>,
  3248. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  3249. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  3250. }
  3251. result = RestClient.put <span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item}'</span>,
  3252. <span class="hljs-symbol">params:</span> {
  3253. }, <span class="hljs-symbol">headers:</span> headers
  3254. p JSON.parse(result)
  3255. </code></pre>
  3256. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  3257. headers = {
  3258. <span class="hljs-string">'Content-Type'</span>: <span class="hljs-string">'multipart/form-data'</span>,
  3259. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  3260. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  3261. }
  3262. r = requests.put(<span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item}'</span>, params={
  3263. }, headers = headers)
  3264. <span class="hljs-keyword">print</span> r.json()
  3265. </code></pre>
  3266. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item}"</span>);
  3267. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  3268. con.setRequestMethod(<span class="hljs-string">"PUT"</span>);
  3269. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  3270. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  3271. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  3272. String inputLine;
  3273. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  3274. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  3275. response.append(inputLine);
  3276. }
  3277. in.close();
  3278. System.out.println(response.toString());
  3279. </code></pre>
  3280. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  3281. <span class="hljs-keyword">import</span> (
  3282. <span class="hljs-string">"bytes"</span>
  3283. <span class="hljs-string">"net/http"</span>
  3284. )
  3285. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  3286. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  3287. <span class="hljs-string">"Content-Type"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"multipart/form-data"</span>},
  3288. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  3289. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  3290. }
  3291. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  3292. req, err := http.NewRequest(<span class="hljs-string">"PUT"</span>, <span class="hljs-string">"/api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item}"</span>, data)
  3293. req.Header = headers
  3294. client := &amp;http.Client{}
  3295. resp, err := client.Do(req)
  3296. <span class="hljs-comment">// ...</span>
  3297. }
  3298. </code></pre>
  3299. <p><code>PUT /api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item}</code></p>
  3300. <p><em>Edit a checklist item</em></p>
  3301. <blockquote>
  3302. <p>Body parameter</p>
  3303. </blockquote>
  3304. <pre class="highlight tab tab-yaml"><code><span class="hljs-attr">isFinished:</span> <span class="hljs-string">string</span>
  3305. <span class="hljs-attr">title:</span> <span class="hljs-string">string</span>
  3306. </code></pre>
  3307. <h3 id="edit_checklist_item-parameters">Parameters</h3>
  3308. <table>
  3309. <thead>
  3310. <tr>
  3311. <th>Name</th>
  3312. <th>In</th>
  3313. <th>Type</th>
  3314. <th>Required</th>
  3315. <th>Description</th>
  3316. </tr>
  3317. </thead>
  3318. <tbody>
  3319. <tr>
  3320. <td>board</td>
  3321. <td>path</td>
  3322. <td>string</td>
  3323. <td>true</td>
  3324. <td>the board ID</td>
  3325. </tr>
  3326. <tr>
  3327. <td>card</td>
  3328. <td>path</td>
  3329. <td>string</td>
  3330. <td>true</td>
  3331. <td>the card ID</td>
  3332. </tr>
  3333. <tr>
  3334. <td>checklist</td>
  3335. <td>path</td>
  3336. <td>string</td>
  3337. <td>true</td>
  3338. <td>the checklist ID</td>
  3339. </tr>
  3340. <tr>
  3341. <td>item</td>
  3342. <td>path</td>
  3343. <td>string</td>
  3344. <td>true</td>
  3345. <td>the ID of the item</td>
  3346. </tr>
  3347. <tr>
  3348. <td>body</td>
  3349. <td>body</td>
  3350. <td>object</td>
  3351. <td>false</td>
  3352. <td>none</td>
  3353. </tr>
  3354. <tr>
  3355. <td>» isFinished</td>
  3356. <td>body</td>
  3357. <td>string</td>
  3358. <td>false</td>
  3359. <td>is the item checked?</td>
  3360. </tr>
  3361. <tr>
  3362. <td>» title</td>
  3363. <td>body</td>
  3364. <td>string</td>
  3365. <td>false</td>
  3366. <td>the new text of the item</td>
  3367. </tr>
  3368. </tbody>
  3369. </table>
  3370. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  3371. <p><strong>board</strong>: the board ID</p>
  3372. <p><strong>card</strong>: the card ID</p>
  3373. <p><strong>checklist</strong>: the checklist ID</p>
  3374. <p><strong>item</strong>: the ID of the item</p>
  3375. <blockquote>
  3376. <p>Example responses</p>
  3377. </blockquote>
  3378. <blockquote>
  3379. <p>200 Response</p>
  3380. </blockquote>
  3381. <pre class="highlight tab tab-json"><code>{
  3382. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>
  3383. }
  3384. </code></pre>
  3385. <h3 id="edit_checklist_item-responses">Responses</h3>
  3386. <table>
  3387. <thead>
  3388. <tr>
  3389. <th>Status</th>
  3390. <th>Meaning</th>
  3391. <th>Description</th>
  3392. <th>Schema</th>
  3393. </tr>
  3394. </thead>
  3395. <tbody>
  3396. <tr>
  3397. <td>200</td>
  3398. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  3399. <td>200 response</td>
  3400. <td>Inline</td>
  3401. </tr>
  3402. </tbody>
  3403. </table>
  3404. <h3 id="edit_checklist_item-responseschema">Response Schema</h3>
  3405. <p>Status Code <strong>200</strong></p>
  3406. <table>
  3407. <thead>
  3408. <tr>
  3409. <th>Name</th>
  3410. <th>Type</th>
  3411. <th>Required</th>
  3412. <th>Restrictions</th>
  3413. <th>Description</th>
  3414. </tr>
  3415. </thead>
  3416. <tbody>
  3417. <tr>
  3418. <td>» _id</td>
  3419. <td>string</td>
  3420. <td>false</td>
  3421. <td>none</td>
  3422. <td>none</td>
  3423. </tr>
  3424. </tbody>
  3425. </table>
  3426. <aside class="warning">
  3427. To perform this operation, you must be authenticated by means of one of the following methods:
  3428. UserSecurity
  3429. </aside>
  3430. <h2 id="delete_checklist_item">delete_checklist_item</h2>
  3431. <p><a id="opIddelete_checklist_item"></a></p>
  3432. <blockquote>
  3433. <p>Code samples</p>
  3434. </blockquote>
  3435. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  3436. curl -X DELETE /api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item} \
  3437. -H <span class="hljs-string">'Accept: application/json'</span> \
  3438. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  3439. </code></pre>
  3440. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">DELETE</span> <span class="hljs-string">/api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item}</span> HTTP/1.1
  3441. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  3442. <span class="undefined"></span></span></code></pre>
  3443. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  3444. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  3445. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  3446. };
  3447. $.ajax({
  3448. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item}'</span>,
  3449. <span class="hljs-attr">method</span>: <span class="hljs-string">'delete'</span>,
  3450. <span class="hljs-attr">headers</span>: headers,
  3451. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  3452. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  3453. }
  3454. })
  3455. </code></pre>
  3456. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  3457. <span class="hljs-keyword">const</span> headers = {
  3458. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  3459. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  3460. };
  3461. fetch(<span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item}'</span>,
  3462. {
  3463. <span class="hljs-attr">method</span>: <span class="hljs-string">'DELETE'</span>,
  3464. <span class="hljs-attr">headers</span>: headers
  3465. })
  3466. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  3467. <span class="hljs-keyword">return</span> res.json();
  3468. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  3469. <span class="hljs-built_in">console</span>.log(body);
  3470. });
  3471. </code></pre>
  3472. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  3473. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  3474. headers = {
  3475. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  3476. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  3477. }
  3478. result = RestClient.delete <span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item}'</span>,
  3479. <span class="hljs-symbol">params:</span> {
  3480. }, <span class="hljs-symbol">headers:</span> headers
  3481. p JSON.parse(result)
  3482. </code></pre>
  3483. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  3484. headers = {
  3485. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  3486. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  3487. }
  3488. r = requests.delete(<span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item}'</span>, params={
  3489. }, headers = headers)
  3490. <span class="hljs-keyword">print</span> r.json()
  3491. </code></pre>
  3492. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item}"</span>);
  3493. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  3494. con.setRequestMethod(<span class="hljs-string">"DELETE"</span>);
  3495. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  3496. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  3497. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  3498. String inputLine;
  3499. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  3500. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  3501. response.append(inputLine);
  3502. }
  3503. in.close();
  3504. System.out.println(response.toString());
  3505. </code></pre>
  3506. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  3507. <span class="hljs-keyword">import</span> (
  3508. <span class="hljs-string">"bytes"</span>
  3509. <span class="hljs-string">"net/http"</span>
  3510. )
  3511. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  3512. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  3513. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  3514. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  3515. }
  3516. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  3517. req, err := http.NewRequest(<span class="hljs-string">"DELETE"</span>, <span class="hljs-string">"/api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item}"</span>, data)
  3518. req.Header = headers
  3519. client := &amp;http.Client{}
  3520. resp, err := client.Do(req)
  3521. <span class="hljs-comment">// ...</span>
  3522. }
  3523. </code></pre>
  3524. <p><code>DELETE /api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item}</code></p>
  3525. <p><em>Delete a checklist item</em></p>
  3526. <p>Note: this operation can't be reverted.</p>
  3527. <h3 id="delete_checklist_item-parameters">Parameters</h3>
  3528. <table>
  3529. <thead>
  3530. <tr>
  3531. <th>Name</th>
  3532. <th>In</th>
  3533. <th>Type</th>
  3534. <th>Required</th>
  3535. <th>Description</th>
  3536. </tr>
  3537. </thead>
  3538. <tbody>
  3539. <tr>
  3540. <td>board</td>
  3541. <td>path</td>
  3542. <td>string</td>
  3543. <td>true</td>
  3544. <td>the board ID</td>
  3545. </tr>
  3546. <tr>
  3547. <td>card</td>
  3548. <td>path</td>
  3549. <td>string</td>
  3550. <td>true</td>
  3551. <td>the card ID</td>
  3552. </tr>
  3553. <tr>
  3554. <td>checklist</td>
  3555. <td>path</td>
  3556. <td>string</td>
  3557. <td>true</td>
  3558. <td>the checklist ID</td>
  3559. </tr>
  3560. <tr>
  3561. <td>item</td>
  3562. <td>path</td>
  3563. <td>string</td>
  3564. <td>true</td>
  3565. <td>the ID of the item to be removed</td>
  3566. </tr>
  3567. </tbody>
  3568. </table>
  3569. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  3570. <p><strong>board</strong>: the board ID</p>
  3571. <p><strong>card</strong>: the card ID</p>
  3572. <p><strong>checklist</strong>: the checklist ID</p>
  3573. <p><strong>item</strong>: the ID of the item to be removed</p>
  3574. <blockquote>
  3575. <p>Example responses</p>
  3576. </blockquote>
  3577. <blockquote>
  3578. <p>200 Response</p>
  3579. </blockquote>
  3580. <pre class="highlight tab tab-json"><code>{
  3581. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>
  3582. }
  3583. </code></pre>
  3584. <h3 id="delete_checklist_item-responses">Responses</h3>
  3585. <table>
  3586. <thead>
  3587. <tr>
  3588. <th>Status</th>
  3589. <th>Meaning</th>
  3590. <th>Description</th>
  3591. <th>Schema</th>
  3592. </tr>
  3593. </thead>
  3594. <tbody>
  3595. <tr>
  3596. <td>200</td>
  3597. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  3598. <td>200 response</td>
  3599. <td>Inline</td>
  3600. </tr>
  3601. </tbody>
  3602. </table>
  3603. <h3 id="delete_checklist_item-responseschema">Response Schema</h3>
  3604. <p>Status Code <strong>200</strong></p>
  3605. <table>
  3606. <thead>
  3607. <tr>
  3608. <th>Name</th>
  3609. <th>Type</th>
  3610. <th>Required</th>
  3611. <th>Restrictions</th>
  3612. <th>Description</th>
  3613. </tr>
  3614. </thead>
  3615. <tbody>
  3616. <tr>
  3617. <td>» _id</td>
  3618. <td>string</td>
  3619. <td>false</td>
  3620. <td>none</td>
  3621. <td>none</td>
  3622. </tr>
  3623. </tbody>
  3624. </table>
  3625. <aside class="warning">
  3626. To perform this operation, you must be authenticated by means of one of the following methods:
  3627. UserSecurity
  3628. </aside>
  3629. <h1 id="wekan-rest-api-cardcomments">CardComments</h1>
  3630. <h2 id="get_all_comments">get_all_comments</h2>
  3631. <p><a id="opIdget_all_comments"></a></p>
  3632. <blockquote>
  3633. <p>Code samples</p>
  3634. </blockquote>
  3635. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  3636. curl -X GET /api/boards/{board}/cards/{card}/comments \
  3637. -H <span class="hljs-string">'Accept: application/json'</span> \
  3638. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  3639. </code></pre>
  3640. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">GET</span> <span class="hljs-string">/api/boards/{board}/cards/{card}/comments</span> HTTP/1.1
  3641. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  3642. <span class="undefined"></span></span></code></pre>
  3643. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  3644. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  3645. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  3646. };
  3647. $.ajax({
  3648. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/cards/{card}/comments'</span>,
  3649. <span class="hljs-attr">method</span>: <span class="hljs-string">'get'</span>,
  3650. <span class="hljs-attr">headers</span>: headers,
  3651. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  3652. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  3653. }
  3654. })
  3655. </code></pre>
  3656. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  3657. <span class="hljs-keyword">const</span> headers = {
  3658. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  3659. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  3660. };
  3661. fetch(<span class="hljs-string">'/api/boards/{board}/cards/{card}/comments'</span>,
  3662. {
  3663. <span class="hljs-attr">method</span>: <span class="hljs-string">'GET'</span>,
  3664. <span class="hljs-attr">headers</span>: headers
  3665. })
  3666. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  3667. <span class="hljs-keyword">return</span> res.json();
  3668. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  3669. <span class="hljs-built_in">console</span>.log(body);
  3670. });
  3671. </code></pre>
  3672. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  3673. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  3674. headers = {
  3675. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  3676. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  3677. }
  3678. result = RestClient.get <span class="hljs-string">'/api/boards/{board}/cards/{card}/comments'</span>,
  3679. <span class="hljs-symbol">params:</span> {
  3680. }, <span class="hljs-symbol">headers:</span> headers
  3681. p JSON.parse(result)
  3682. </code></pre>
  3683. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  3684. headers = {
  3685. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  3686. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  3687. }
  3688. r = requests.get(<span class="hljs-string">'/api/boards/{board}/cards/{card}/comments'</span>, params={
  3689. }, headers = headers)
  3690. <span class="hljs-keyword">print</span> r.json()
  3691. </code></pre>
  3692. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/cards/{card}/comments"</span>);
  3693. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  3694. con.setRequestMethod(<span class="hljs-string">"GET"</span>);
  3695. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  3696. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  3697. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  3698. String inputLine;
  3699. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  3700. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  3701. response.append(inputLine);
  3702. }
  3703. in.close();
  3704. System.out.println(response.toString());
  3705. </code></pre>
  3706. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  3707. <span class="hljs-keyword">import</span> (
  3708. <span class="hljs-string">"bytes"</span>
  3709. <span class="hljs-string">"net/http"</span>
  3710. )
  3711. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  3712. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  3713. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  3714. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  3715. }
  3716. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  3717. req, err := http.NewRequest(<span class="hljs-string">"GET"</span>, <span class="hljs-string">"/api/boards/{board}/cards/{card}/comments"</span>, data)
  3718. req.Header = headers
  3719. client := &amp;http.Client{}
  3720. resp, err := client.Do(req)
  3721. <span class="hljs-comment">// ...</span>
  3722. }
  3723. </code></pre>
  3724. <p><code>GET /api/boards/{board}/cards/{card}/comments</code></p>
  3725. <p><em>Get all comments attached to a card</em></p>
  3726. <h3 id="get_all_comments-parameters">Parameters</h3>
  3727. <table>
  3728. <thead>
  3729. <tr>
  3730. <th>Name</th>
  3731. <th>In</th>
  3732. <th>Type</th>
  3733. <th>Required</th>
  3734. <th>Description</th>
  3735. </tr>
  3736. </thead>
  3737. <tbody>
  3738. <tr>
  3739. <td>board</td>
  3740. <td>path</td>
  3741. <td>string</td>
  3742. <td>true</td>
  3743. <td>the board ID of the card</td>
  3744. </tr>
  3745. <tr>
  3746. <td>card</td>
  3747. <td>path</td>
  3748. <td>string</td>
  3749. <td>true</td>
  3750. <td>the ID of the card</td>
  3751. </tr>
  3752. </tbody>
  3753. </table>
  3754. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  3755. <p><strong>board</strong>: the board ID of the card</p>
  3756. <p><strong>card</strong>: the ID of the card</p>
  3757. <blockquote>
  3758. <p>Example responses</p>
  3759. </blockquote>
  3760. <blockquote>
  3761. <p>200 Response</p>
  3762. </blockquote>
  3763. <pre class="highlight tab tab-json"><code>[
  3764. {
  3765. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>,
  3766. <span class="hljs-attr">"comment"</span>: <span class="hljs-string">"string"</span>,
  3767. <span class="hljs-attr">"authorId"</span>: <span class="hljs-string">"string"</span>
  3768. }
  3769. ]
  3770. </code></pre>
  3771. <h3 id="get_all_comments-responses">Responses</h3>
  3772. <table>
  3773. <thead>
  3774. <tr>
  3775. <th>Status</th>
  3776. <th>Meaning</th>
  3777. <th>Description</th>
  3778. <th>Schema</th>
  3779. </tr>
  3780. </thead>
  3781. <tbody>
  3782. <tr>
  3783. <td>200</td>
  3784. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  3785. <td>200 response</td>
  3786. <td>Inline</td>
  3787. </tr>
  3788. </tbody>
  3789. </table>
  3790. <h3 id="get_all_comments-responseschema">Response Schema</h3>
  3791. <p>Status Code <strong>200</strong></p>
  3792. <table>
  3793. <thead>
  3794. <tr>
  3795. <th>Name</th>
  3796. <th>Type</th>
  3797. <th>Required</th>
  3798. <th>Restrictions</th>
  3799. <th>Description</th>
  3800. </tr>
  3801. </thead>
  3802. <tbody>
  3803. <tr>
  3804. <td>» _id</td>
  3805. <td>string</td>
  3806. <td>false</td>
  3807. <td>none</td>
  3808. <td>none</td>
  3809. </tr>
  3810. <tr>
  3811. <td>» comment</td>
  3812. <td>string</td>
  3813. <td>false</td>
  3814. <td>none</td>
  3815. <td>none</td>
  3816. </tr>
  3817. <tr>
  3818. <td>» authorId</td>
  3819. <td>string</td>
  3820. <td>false</td>
  3821. <td>none</td>
  3822. <td>none</td>
  3823. </tr>
  3824. </tbody>
  3825. </table>
  3826. <aside class="warning">
  3827. To perform this operation, you must be authenticated by means of one of the following methods:
  3828. UserSecurity
  3829. </aside>
  3830. <h2 id="new_comment">new_comment</h2>
  3831. <p><a id="opIdnew_comment"></a></p>
  3832. <blockquote>
  3833. <p>Code samples</p>
  3834. </blockquote>
  3835. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  3836. curl -X POST /api/boards/{board}/cards/{card}/comments \
  3837. -H <span class="hljs-string">'Content-Type: multipart/form-data'</span> \
  3838. -H <span class="hljs-string">'Accept: application/json'</span> \
  3839. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  3840. </code></pre>
  3841. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">POST</span> <span class="hljs-string">/api/boards/{board}/cards/{card}/comments</span> HTTP/1.1
  3842. <span class="fortran">Content-<span class="hljs-keyword">Type</span>: multipart/<span class="hljs-keyword">form</span>-<span class="hljs-keyword">data</span>
  3843. Accept: application/json
  3844. </span></code></pre>
  3845. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  3846. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  3847. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  3848. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  3849. };
  3850. $.ajax({
  3851. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/cards/{card}/comments'</span>,
  3852. <span class="hljs-attr">method</span>: <span class="hljs-string">'post'</span>,
  3853. <span class="hljs-attr">headers</span>: headers,
  3854. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  3855. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  3856. }
  3857. })
  3858. </code></pre>
  3859. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  3860. <span class="hljs-keyword">const</span> inputBody = <span class="hljs-string">'{
  3861. "authorId": "string",
  3862. "comment": "string"
  3863. }'</span>;
  3864. <span class="hljs-keyword">const</span> headers = {
  3865. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  3866. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  3867. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  3868. };
  3869. fetch(<span class="hljs-string">'/api/boards/{board}/cards/{card}/comments'</span>,
  3870. {
  3871. <span class="hljs-attr">method</span>: <span class="hljs-string">'POST'</span>,
  3872. <span class="hljs-attr">body</span>: inputBody,
  3873. <span class="hljs-attr">headers</span>: headers
  3874. })
  3875. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  3876. <span class="hljs-keyword">return</span> res.json();
  3877. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  3878. <span class="hljs-built_in">console</span>.log(body);
  3879. });
  3880. </code></pre>
  3881. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  3882. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  3883. headers = {
  3884. <span class="hljs-string">'Content-Type'</span> =&gt; <span class="hljs-string">'multipart/form-data'</span>,
  3885. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  3886. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  3887. }
  3888. result = RestClient.post <span class="hljs-string">'/api/boards/{board}/cards/{card}/comments'</span>,
  3889. <span class="hljs-symbol">params:</span> {
  3890. }, <span class="hljs-symbol">headers:</span> headers
  3891. p JSON.parse(result)
  3892. </code></pre>
  3893. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  3894. headers = {
  3895. <span class="hljs-string">'Content-Type'</span>: <span class="hljs-string">'multipart/form-data'</span>,
  3896. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  3897. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  3898. }
  3899. r = requests.post(<span class="hljs-string">'/api/boards/{board}/cards/{card}/comments'</span>, params={
  3900. }, headers = headers)
  3901. <span class="hljs-keyword">print</span> r.json()
  3902. </code></pre>
  3903. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/cards/{card}/comments"</span>);
  3904. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  3905. con.setRequestMethod(<span class="hljs-string">"POST"</span>);
  3906. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  3907. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  3908. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  3909. String inputLine;
  3910. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  3911. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  3912. response.append(inputLine);
  3913. }
  3914. in.close();
  3915. System.out.println(response.toString());
  3916. </code></pre>
  3917. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  3918. <span class="hljs-keyword">import</span> (
  3919. <span class="hljs-string">"bytes"</span>
  3920. <span class="hljs-string">"net/http"</span>
  3921. )
  3922. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  3923. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  3924. <span class="hljs-string">"Content-Type"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"multipart/form-data"</span>},
  3925. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  3926. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  3927. }
  3928. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  3929. req, err := http.NewRequest(<span class="hljs-string">"POST"</span>, <span class="hljs-string">"/api/boards/{board}/cards/{card}/comments"</span>, data)
  3930. req.Header = headers
  3931. client := &amp;http.Client{}
  3932. resp, err := client.Do(req)
  3933. <span class="hljs-comment">// ...</span>
  3934. }
  3935. </code></pre>
  3936. <p><code>POST /api/boards/{board}/cards/{card}/comments</code></p>
  3937. <p><em>Add a comment on a card</em></p>
  3938. <blockquote>
  3939. <p>Body parameter</p>
  3940. </blockquote>
  3941. <pre class="highlight tab tab-yaml"><code><span class="hljs-attr">authorId:</span> <span class="hljs-string">string</span>
  3942. <span class="hljs-attr">comment:</span> <span class="hljs-string">string</span>
  3943. </code></pre>
  3944. <h3 id="new_comment-parameters">Parameters</h3>
  3945. <table>
  3946. <thead>
  3947. <tr>
  3948. <th>Name</th>
  3949. <th>In</th>
  3950. <th>Type</th>
  3951. <th>Required</th>
  3952. <th>Description</th>
  3953. </tr>
  3954. </thead>
  3955. <tbody>
  3956. <tr>
  3957. <td>board</td>
  3958. <td>path</td>
  3959. <td>string</td>
  3960. <td>true</td>
  3961. <td>the board ID of the card</td>
  3962. </tr>
  3963. <tr>
  3964. <td>card</td>
  3965. <td>path</td>
  3966. <td>string</td>
  3967. <td>true</td>
  3968. <td>the ID of the card</td>
  3969. </tr>
  3970. <tr>
  3971. <td>body</td>
  3972. <td>body</td>
  3973. <td>object</td>
  3974. <td>false</td>
  3975. <td>none</td>
  3976. </tr>
  3977. <tr>
  3978. <td>» authorId</td>
  3979. <td>body</td>
  3980. <td>string</td>
  3981. <td>true</td>
  3982. <td>the user who 'posted' the comment</td>
  3983. </tr>
  3984. <tr>
  3985. <td>» comment</td>
  3986. <td>body</td>
  3987. <td>string</td>
  3988. <td>true</td>
  3989. <td>the comment value</td>
  3990. </tr>
  3991. </tbody>
  3992. </table>
  3993. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  3994. <p><strong>board</strong>: the board ID of the card</p>
  3995. <p><strong>card</strong>: the ID of the card</p>
  3996. <blockquote>
  3997. <p>Example responses</p>
  3998. </blockquote>
  3999. <blockquote>
  4000. <p>200 Response</p>
  4001. </blockquote>
  4002. <pre class="highlight tab tab-json"><code>{
  4003. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>
  4004. }
  4005. </code></pre>
  4006. <h3 id="new_comment-responses">Responses</h3>
  4007. <table>
  4008. <thead>
  4009. <tr>
  4010. <th>Status</th>
  4011. <th>Meaning</th>
  4012. <th>Description</th>
  4013. <th>Schema</th>
  4014. </tr>
  4015. </thead>
  4016. <tbody>
  4017. <tr>
  4018. <td>200</td>
  4019. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  4020. <td>200 response</td>
  4021. <td>Inline</td>
  4022. </tr>
  4023. </tbody>
  4024. </table>
  4025. <h3 id="new_comment-responseschema">Response Schema</h3>
  4026. <p>Status Code <strong>200</strong></p>
  4027. <table>
  4028. <thead>
  4029. <tr>
  4030. <th>Name</th>
  4031. <th>Type</th>
  4032. <th>Required</th>
  4033. <th>Restrictions</th>
  4034. <th>Description</th>
  4035. </tr>
  4036. </thead>
  4037. <tbody>
  4038. <tr>
  4039. <td>» _id</td>
  4040. <td>string</td>
  4041. <td>false</td>
  4042. <td>none</td>
  4043. <td>none</td>
  4044. </tr>
  4045. </tbody>
  4046. </table>
  4047. <aside class="warning">
  4048. To perform this operation, you must be authenticated by means of one of the following methods:
  4049. UserSecurity
  4050. </aside>
  4051. <h2 id="get_comment">get_comment</h2>
  4052. <p><a id="opIdget_comment"></a></p>
  4053. <blockquote>
  4054. <p>Code samples</p>
  4055. </blockquote>
  4056. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  4057. curl -X GET /api/boards/{board}/cards/{card}/comments/{comment} \
  4058. -H <span class="hljs-string">'Accept: application/json'</span> \
  4059. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  4060. </code></pre>
  4061. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">GET</span> <span class="hljs-string">/api/boards/{board}/cards/{card}/comments/{comment}</span> HTTP/1.1
  4062. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  4063. <span class="undefined"></span></span></code></pre>
  4064. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  4065. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  4066. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  4067. };
  4068. $.ajax({
  4069. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/cards/{card}/comments/{comment}'</span>,
  4070. <span class="hljs-attr">method</span>: <span class="hljs-string">'get'</span>,
  4071. <span class="hljs-attr">headers</span>: headers,
  4072. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  4073. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  4074. }
  4075. })
  4076. </code></pre>
  4077. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  4078. <span class="hljs-keyword">const</span> headers = {
  4079. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  4080. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  4081. };
  4082. fetch(<span class="hljs-string">'/api/boards/{board}/cards/{card}/comments/{comment}'</span>,
  4083. {
  4084. <span class="hljs-attr">method</span>: <span class="hljs-string">'GET'</span>,
  4085. <span class="hljs-attr">headers</span>: headers
  4086. })
  4087. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  4088. <span class="hljs-keyword">return</span> res.json();
  4089. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  4090. <span class="hljs-built_in">console</span>.log(body);
  4091. });
  4092. </code></pre>
  4093. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  4094. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  4095. headers = {
  4096. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  4097. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  4098. }
  4099. result = RestClient.get <span class="hljs-string">'/api/boards/{board}/cards/{card}/comments/{comment}'</span>,
  4100. <span class="hljs-symbol">params:</span> {
  4101. }, <span class="hljs-symbol">headers:</span> headers
  4102. p JSON.parse(result)
  4103. </code></pre>
  4104. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  4105. headers = {
  4106. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  4107. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  4108. }
  4109. r = requests.get(<span class="hljs-string">'/api/boards/{board}/cards/{card}/comments/{comment}'</span>, params={
  4110. }, headers = headers)
  4111. <span class="hljs-keyword">print</span> r.json()
  4112. </code></pre>
  4113. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/cards/{card}/comments/{comment}"</span>);
  4114. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  4115. con.setRequestMethod(<span class="hljs-string">"GET"</span>);
  4116. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  4117. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  4118. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  4119. String inputLine;
  4120. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  4121. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  4122. response.append(inputLine);
  4123. }
  4124. in.close();
  4125. System.out.println(response.toString());
  4126. </code></pre>
  4127. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  4128. <span class="hljs-keyword">import</span> (
  4129. <span class="hljs-string">"bytes"</span>
  4130. <span class="hljs-string">"net/http"</span>
  4131. )
  4132. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  4133. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  4134. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  4135. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  4136. }
  4137. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  4138. req, err := http.NewRequest(<span class="hljs-string">"GET"</span>, <span class="hljs-string">"/api/boards/{board}/cards/{card}/comments/{comment}"</span>, data)
  4139. req.Header = headers
  4140. client := &amp;http.Client{}
  4141. resp, err := client.Do(req)
  4142. <span class="hljs-comment">// ...</span>
  4143. }
  4144. </code></pre>
  4145. <p><code>GET /api/boards/{board}/cards/{card}/comments/{comment}</code></p>
  4146. <p><em>Get a comment on a card</em></p>
  4147. <h3 id="get_comment-parameters">Parameters</h3>
  4148. <table>
  4149. <thead>
  4150. <tr>
  4151. <th>Name</th>
  4152. <th>In</th>
  4153. <th>Type</th>
  4154. <th>Required</th>
  4155. <th>Description</th>
  4156. </tr>
  4157. </thead>
  4158. <tbody>
  4159. <tr>
  4160. <td>board</td>
  4161. <td>path</td>
  4162. <td>string</td>
  4163. <td>true</td>
  4164. <td>the board ID of the card</td>
  4165. </tr>
  4166. <tr>
  4167. <td>card</td>
  4168. <td>path</td>
  4169. <td>string</td>
  4170. <td>true</td>
  4171. <td>the ID of the card</td>
  4172. </tr>
  4173. <tr>
  4174. <td>comment</td>
  4175. <td>path</td>
  4176. <td>string</td>
  4177. <td>true</td>
  4178. <td>the ID of the comment to retrieve</td>
  4179. </tr>
  4180. </tbody>
  4181. </table>
  4182. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  4183. <p><strong>board</strong>: the board ID of the card</p>
  4184. <p><strong>card</strong>: the ID of the card</p>
  4185. <p><strong>comment</strong>: the ID of the comment to retrieve</p>
  4186. <blockquote>
  4187. <p>Example responses</p>
  4188. </blockquote>
  4189. <blockquote>
  4190. <p>200 Response</p>
  4191. </blockquote>
  4192. <pre class="highlight tab tab-json"><code>{
  4193. <span class="hljs-attr">"boardId"</span>: <span class="hljs-string">"string"</span>,
  4194. <span class="hljs-attr">"cardId"</span>: <span class="hljs-string">"string"</span>,
  4195. <span class="hljs-attr">"text"</span>: <span class="hljs-string">"string"</span>,
  4196. <span class="hljs-attr">"createdAt"</span>: <span class="hljs-string">"string"</span>,
  4197. <span class="hljs-attr">"modifiedAt"</span>: <span class="hljs-string">"string"</span>,
  4198. <span class="hljs-attr">"userId"</span>: <span class="hljs-string">"string"</span>
  4199. }
  4200. </code></pre>
  4201. <h3 id="get_comment-responses">Responses</h3>
  4202. <table>
  4203. <thead>
  4204. <tr>
  4205. <th>Status</th>
  4206. <th>Meaning</th>
  4207. <th>Description</th>
  4208. <th>Schema</th>
  4209. </tr>
  4210. </thead>
  4211. <tbody>
  4212. <tr>
  4213. <td>200</td>
  4214. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  4215. <td>200 response</td>
  4216. <td><a href="#schemacardcomments">CardComments</a></td>
  4217. </tr>
  4218. </tbody>
  4219. </table>
  4220. <aside class="warning">
  4221. To perform this operation, you must be authenticated by means of one of the following methods:
  4222. UserSecurity
  4223. </aside>
  4224. <h2 id="delete_comment">delete_comment</h2>
  4225. <p><a id="opIddelete_comment"></a></p>
  4226. <blockquote>
  4227. <p>Code samples</p>
  4228. </blockquote>
  4229. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  4230. curl -X DELETE /api/boards/{board}/cards/{card}/comments/{comment} \
  4231. -H <span class="hljs-string">'Accept: application/json'</span> \
  4232. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  4233. </code></pre>
  4234. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">DELETE</span> <span class="hljs-string">/api/boards/{board}/cards/{card}/comments/{comment}</span> HTTP/1.1
  4235. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  4236. <span class="undefined"></span></span></code></pre>
  4237. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  4238. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  4239. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  4240. };
  4241. $.ajax({
  4242. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/cards/{card}/comments/{comment}'</span>,
  4243. <span class="hljs-attr">method</span>: <span class="hljs-string">'delete'</span>,
  4244. <span class="hljs-attr">headers</span>: headers,
  4245. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  4246. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  4247. }
  4248. })
  4249. </code></pre>
  4250. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  4251. <span class="hljs-keyword">const</span> headers = {
  4252. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  4253. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  4254. };
  4255. fetch(<span class="hljs-string">'/api/boards/{board}/cards/{card}/comments/{comment}'</span>,
  4256. {
  4257. <span class="hljs-attr">method</span>: <span class="hljs-string">'DELETE'</span>,
  4258. <span class="hljs-attr">headers</span>: headers
  4259. })
  4260. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  4261. <span class="hljs-keyword">return</span> res.json();
  4262. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  4263. <span class="hljs-built_in">console</span>.log(body);
  4264. });
  4265. </code></pre>
  4266. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  4267. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  4268. headers = {
  4269. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  4270. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  4271. }
  4272. result = RestClient.delete <span class="hljs-string">'/api/boards/{board}/cards/{card}/comments/{comment}'</span>,
  4273. <span class="hljs-symbol">params:</span> {
  4274. }, <span class="hljs-symbol">headers:</span> headers
  4275. p JSON.parse(result)
  4276. </code></pre>
  4277. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  4278. headers = {
  4279. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  4280. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  4281. }
  4282. r = requests.delete(<span class="hljs-string">'/api/boards/{board}/cards/{card}/comments/{comment}'</span>, params={
  4283. }, headers = headers)
  4284. <span class="hljs-keyword">print</span> r.json()
  4285. </code></pre>
  4286. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/cards/{card}/comments/{comment}"</span>);
  4287. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  4288. con.setRequestMethod(<span class="hljs-string">"DELETE"</span>);
  4289. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  4290. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  4291. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  4292. String inputLine;
  4293. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  4294. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  4295. response.append(inputLine);
  4296. }
  4297. in.close();
  4298. System.out.println(response.toString());
  4299. </code></pre>
  4300. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  4301. <span class="hljs-keyword">import</span> (
  4302. <span class="hljs-string">"bytes"</span>
  4303. <span class="hljs-string">"net/http"</span>
  4304. )
  4305. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  4306. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  4307. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  4308. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  4309. }
  4310. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  4311. req, err := http.NewRequest(<span class="hljs-string">"DELETE"</span>, <span class="hljs-string">"/api/boards/{board}/cards/{card}/comments/{comment}"</span>, data)
  4312. req.Header = headers
  4313. client := &amp;http.Client{}
  4314. resp, err := client.Do(req)
  4315. <span class="hljs-comment">// ...</span>
  4316. }
  4317. </code></pre>
  4318. <p><code>DELETE /api/boards/{board}/cards/{card}/comments/{comment}</code></p>
  4319. <p><em>Delete a comment on a card</em></p>
  4320. <h3 id="delete_comment-parameters">Parameters</h3>
  4321. <table>
  4322. <thead>
  4323. <tr>
  4324. <th>Name</th>
  4325. <th>In</th>
  4326. <th>Type</th>
  4327. <th>Required</th>
  4328. <th>Description</th>
  4329. </tr>
  4330. </thead>
  4331. <tbody>
  4332. <tr>
  4333. <td>board</td>
  4334. <td>path</td>
  4335. <td>string</td>
  4336. <td>true</td>
  4337. <td>the board ID of the card</td>
  4338. </tr>
  4339. <tr>
  4340. <td>card</td>
  4341. <td>path</td>
  4342. <td>string</td>
  4343. <td>true</td>
  4344. <td>the ID of the card</td>
  4345. </tr>
  4346. <tr>
  4347. <td>comment</td>
  4348. <td>path</td>
  4349. <td>string</td>
  4350. <td>true</td>
  4351. <td>the ID of the comment to delete</td>
  4352. </tr>
  4353. </tbody>
  4354. </table>
  4355. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  4356. <p><strong>board</strong>: the board ID of the card</p>
  4357. <p><strong>card</strong>: the ID of the card</p>
  4358. <p><strong>comment</strong>: the ID of the comment to delete</p>
  4359. <blockquote>
  4360. <p>Example responses</p>
  4361. </blockquote>
  4362. <blockquote>
  4363. <p>200 Response</p>
  4364. </blockquote>
  4365. <pre class="highlight tab tab-json"><code>{
  4366. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>
  4367. }
  4368. </code></pre>
  4369. <h3 id="delete_comment-responses">Responses</h3>
  4370. <table>
  4371. <thead>
  4372. <tr>
  4373. <th>Status</th>
  4374. <th>Meaning</th>
  4375. <th>Description</th>
  4376. <th>Schema</th>
  4377. </tr>
  4378. </thead>
  4379. <tbody>
  4380. <tr>
  4381. <td>200</td>
  4382. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  4383. <td>200 response</td>
  4384. <td>Inline</td>
  4385. </tr>
  4386. </tbody>
  4387. </table>
  4388. <h3 id="delete_comment-responseschema">Response Schema</h3>
  4389. <p>Status Code <strong>200</strong></p>
  4390. <table>
  4391. <thead>
  4392. <tr>
  4393. <th>Name</th>
  4394. <th>Type</th>
  4395. <th>Required</th>
  4396. <th>Restrictions</th>
  4397. <th>Description</th>
  4398. </tr>
  4399. </thead>
  4400. <tbody>
  4401. <tr>
  4402. <td>» _id</td>
  4403. <td>string</td>
  4404. <td>false</td>
  4405. <td>none</td>
  4406. <td>none</td>
  4407. </tr>
  4408. </tbody>
  4409. </table>
  4410. <aside class="warning">
  4411. To perform this operation, you must be authenticated by means of one of the following methods:
  4412. UserSecurity
  4413. </aside>
  4414. <h1 id="wekan-rest-api-cards">Cards</h1>
  4415. <h2 id="get_cards_by_custom_field">get_cards_by_custom_field</h2>
  4416. <p><a id="opIdget_cards_by_custom_field"></a></p>
  4417. <blockquote>
  4418. <p>Code samples</p>
  4419. </blockquote>
  4420. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  4421. curl -X GET /api/boards/{board}/cardsByCustomField/{customField}/{customFieldValue} \
  4422. -H <span class="hljs-string">'Accept: application/json'</span> \
  4423. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  4424. </code></pre>
  4425. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">GET</span> <span class="hljs-string">/api/boards/{board}/cardsByCustomField/{customField}/{customFieldValue}</span> HTTP/1.1
  4426. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  4427. <span class="undefined"></span></span></code></pre>
  4428. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  4429. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  4430. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  4431. };
  4432. $.ajax({
  4433. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/cardsByCustomField/{customField}/{customFieldValue}'</span>,
  4434. <span class="hljs-attr">method</span>: <span class="hljs-string">'get'</span>,
  4435. <span class="hljs-attr">headers</span>: headers,
  4436. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  4437. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  4438. }
  4439. })
  4440. </code></pre>
  4441. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  4442. <span class="hljs-keyword">const</span> headers = {
  4443. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  4444. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  4445. };
  4446. fetch(<span class="hljs-string">'/api/boards/{board}/cardsByCustomField/{customField}/{customFieldValue}'</span>,
  4447. {
  4448. <span class="hljs-attr">method</span>: <span class="hljs-string">'GET'</span>,
  4449. <span class="hljs-attr">headers</span>: headers
  4450. })
  4451. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  4452. <span class="hljs-keyword">return</span> res.json();
  4453. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  4454. <span class="hljs-built_in">console</span>.log(body);
  4455. });
  4456. </code></pre>
  4457. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  4458. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  4459. headers = {
  4460. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  4461. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  4462. }
  4463. result = RestClient.get <span class="hljs-string">'/api/boards/{board}/cardsByCustomField/{customField}/{customFieldValue}'</span>,
  4464. <span class="hljs-symbol">params:</span> {
  4465. }, <span class="hljs-symbol">headers:</span> headers
  4466. p JSON.parse(result)
  4467. </code></pre>
  4468. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  4469. headers = {
  4470. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  4471. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  4472. }
  4473. r = requests.get(<span class="hljs-string">'/api/boards/{board}/cardsByCustomField/{customField}/{customFieldValue}'</span>, params={
  4474. }, headers = headers)
  4475. <span class="hljs-keyword">print</span> r.json()
  4476. </code></pre>
  4477. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/cardsByCustomField/{customField}/{customFieldValue}"</span>);
  4478. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  4479. con.setRequestMethod(<span class="hljs-string">"GET"</span>);
  4480. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  4481. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  4482. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  4483. String inputLine;
  4484. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  4485. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  4486. response.append(inputLine);
  4487. }
  4488. in.close();
  4489. System.out.println(response.toString());
  4490. </code></pre>
  4491. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  4492. <span class="hljs-keyword">import</span> (
  4493. <span class="hljs-string">"bytes"</span>
  4494. <span class="hljs-string">"net/http"</span>
  4495. )
  4496. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  4497. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  4498. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  4499. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  4500. }
  4501. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  4502. req, err := http.NewRequest(<span class="hljs-string">"GET"</span>, <span class="hljs-string">"/api/boards/{board}/cardsByCustomField/{customField}/{customFieldValue}"</span>, data)
  4503. req.Header = headers
  4504. client := &amp;http.Client{}
  4505. resp, err := client.Do(req)
  4506. <span class="hljs-comment">// ...</span>
  4507. }
  4508. </code></pre>
  4509. <p><code>GET /api/boards/{board}/cardsByCustomField/{customField}/{customFieldValue}</code></p>
  4510. <p><em>Get all Cards that matchs a value of a specific custom field</em></p>
  4511. <h3 id="get_cards_by_custom_field-parameters">Parameters</h3>
  4512. <table>
  4513. <thead>
  4514. <tr>
  4515. <th>Name</th>
  4516. <th>In</th>
  4517. <th>Type</th>
  4518. <th>Required</th>
  4519. <th>Description</th>
  4520. </tr>
  4521. </thead>
  4522. <tbody>
  4523. <tr>
  4524. <td>board</td>
  4525. <td>path</td>
  4526. <td>string</td>
  4527. <td>true</td>
  4528. <td>the board ID</td>
  4529. </tr>
  4530. <tr>
  4531. <td>customField</td>
  4532. <td>path</td>
  4533. <td>string</td>
  4534. <td>true</td>
  4535. <td>the list ID</td>
  4536. </tr>
  4537. <tr>
  4538. <td>customFieldValue</td>
  4539. <td>path</td>
  4540. <td>string</td>
  4541. <td>true</td>
  4542. <td>the value to look for</td>
  4543. </tr>
  4544. </tbody>
  4545. </table>
  4546. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  4547. <p><strong>board</strong>: the board ID</p>
  4548. <p><strong>customField</strong>: the list ID</p>
  4549. <p><strong>customFieldValue</strong>: the value to look for</p>
  4550. <blockquote>
  4551. <p>Example responses</p>
  4552. </blockquote>
  4553. <blockquote>
  4554. <p>200 Response</p>
  4555. </blockquote>
  4556. <pre class="highlight tab tab-json"><code>[
  4557. {
  4558. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>,
  4559. <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
  4560. <span class="hljs-attr">"description"</span>: <span class="hljs-string">"string"</span>,
  4561. <span class="hljs-attr">"listId"</span>: <span class="hljs-string">"string"</span>,
  4562. <span class="hljs-attr">"swinlaneId"</span>: <span class="hljs-string">"string"</span>
  4563. }
  4564. ]
  4565. </code></pre>
  4566. <h3 id="get_cards_by_custom_field-responses">Responses</h3>
  4567. <table>
  4568. <thead>
  4569. <tr>
  4570. <th>Status</th>
  4571. <th>Meaning</th>
  4572. <th>Description</th>
  4573. <th>Schema</th>
  4574. </tr>
  4575. </thead>
  4576. <tbody>
  4577. <tr>
  4578. <td>200</td>
  4579. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  4580. <td>200 response</td>
  4581. <td>Inline</td>
  4582. </tr>
  4583. </tbody>
  4584. </table>
  4585. <h3 id="get_cards_by_custom_field-responseschema">Response Schema</h3>
  4586. <p>Status Code <strong>200</strong></p>
  4587. <table>
  4588. <thead>
  4589. <tr>
  4590. <th>Name</th>
  4591. <th>Type</th>
  4592. <th>Required</th>
  4593. <th>Restrictions</th>
  4594. <th>Description</th>
  4595. </tr>
  4596. </thead>
  4597. <tbody>
  4598. <tr>
  4599. <td>» _id</td>
  4600. <td>string</td>
  4601. <td>false</td>
  4602. <td>none</td>
  4603. <td>none</td>
  4604. </tr>
  4605. <tr>
  4606. <td>» title</td>
  4607. <td>string</td>
  4608. <td>false</td>
  4609. <td>none</td>
  4610. <td>none</td>
  4611. </tr>
  4612. <tr>
  4613. <td>» description</td>
  4614. <td>string</td>
  4615. <td>false</td>
  4616. <td>none</td>
  4617. <td>none</td>
  4618. </tr>
  4619. <tr>
  4620. <td>» listId</td>
  4621. <td>string</td>
  4622. <td>false</td>
  4623. <td>none</td>
  4624. <td>none</td>
  4625. </tr>
  4626. <tr>
  4627. <td>» swinlaneId</td>
  4628. <td>string</td>
  4629. <td>false</td>
  4630. <td>none</td>
  4631. <td>none</td>
  4632. </tr>
  4633. </tbody>
  4634. </table>
  4635. <aside class="warning">
  4636. To perform this operation, you must be authenticated by means of one of the following methods:
  4637. UserSecurity
  4638. </aside>
  4639. <h2 id="get_all_cards">get_all_cards</h2>
  4640. <p><a id="opIdget_all_cards"></a></p>
  4641. <blockquote>
  4642. <p>Code samples</p>
  4643. </blockquote>
  4644. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  4645. curl -X GET /api/boards/{board}/lists/{list}/cards \
  4646. -H <span class="hljs-string">'Accept: application/json'</span> \
  4647. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  4648. </code></pre>
  4649. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">GET</span> <span class="hljs-string">/api/boards/{board}/lists/{list}/cards</span> HTTP/1.1
  4650. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  4651. <span class="undefined"></span></span></code></pre>
  4652. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  4653. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  4654. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  4655. };
  4656. $.ajax({
  4657. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/lists/{list}/cards'</span>,
  4658. <span class="hljs-attr">method</span>: <span class="hljs-string">'get'</span>,
  4659. <span class="hljs-attr">headers</span>: headers,
  4660. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  4661. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  4662. }
  4663. })
  4664. </code></pre>
  4665. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  4666. <span class="hljs-keyword">const</span> headers = {
  4667. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  4668. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  4669. };
  4670. fetch(<span class="hljs-string">'/api/boards/{board}/lists/{list}/cards'</span>,
  4671. {
  4672. <span class="hljs-attr">method</span>: <span class="hljs-string">'GET'</span>,
  4673. <span class="hljs-attr">headers</span>: headers
  4674. })
  4675. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  4676. <span class="hljs-keyword">return</span> res.json();
  4677. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  4678. <span class="hljs-built_in">console</span>.log(body);
  4679. });
  4680. </code></pre>
  4681. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  4682. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  4683. headers = {
  4684. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  4685. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  4686. }
  4687. result = RestClient.get <span class="hljs-string">'/api/boards/{board}/lists/{list}/cards'</span>,
  4688. <span class="hljs-symbol">params:</span> {
  4689. }, <span class="hljs-symbol">headers:</span> headers
  4690. p JSON.parse(result)
  4691. </code></pre>
  4692. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  4693. headers = {
  4694. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  4695. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  4696. }
  4697. r = requests.get(<span class="hljs-string">'/api/boards/{board}/lists/{list}/cards'</span>, params={
  4698. }, headers = headers)
  4699. <span class="hljs-keyword">print</span> r.json()
  4700. </code></pre>
  4701. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/lists/{list}/cards"</span>);
  4702. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  4703. con.setRequestMethod(<span class="hljs-string">"GET"</span>);
  4704. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  4705. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  4706. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  4707. String inputLine;
  4708. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  4709. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  4710. response.append(inputLine);
  4711. }
  4712. in.close();
  4713. System.out.println(response.toString());
  4714. </code></pre>
  4715. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  4716. <span class="hljs-keyword">import</span> (
  4717. <span class="hljs-string">"bytes"</span>
  4718. <span class="hljs-string">"net/http"</span>
  4719. )
  4720. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  4721. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  4722. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  4723. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  4724. }
  4725. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  4726. req, err := http.NewRequest(<span class="hljs-string">"GET"</span>, <span class="hljs-string">"/api/boards/{board}/lists/{list}/cards"</span>, data)
  4727. req.Header = headers
  4728. client := &amp;http.Client{}
  4729. resp, err := client.Do(req)
  4730. <span class="hljs-comment">// ...</span>
  4731. }
  4732. </code></pre>
  4733. <p><code>GET /api/boards/{board}/lists/{list}/cards</code></p>
  4734. <p><em>Get all Cards attached to a List</em></p>
  4735. <h3 id="get_all_cards-parameters">Parameters</h3>
  4736. <table>
  4737. <thead>
  4738. <tr>
  4739. <th>Name</th>
  4740. <th>In</th>
  4741. <th>Type</th>
  4742. <th>Required</th>
  4743. <th>Description</th>
  4744. </tr>
  4745. </thead>
  4746. <tbody>
  4747. <tr>
  4748. <td>board</td>
  4749. <td>path</td>
  4750. <td>string</td>
  4751. <td>true</td>
  4752. <td>the board ID</td>
  4753. </tr>
  4754. <tr>
  4755. <td>list</td>
  4756. <td>path</td>
  4757. <td>string</td>
  4758. <td>true</td>
  4759. <td>the list ID</td>
  4760. </tr>
  4761. </tbody>
  4762. </table>
  4763. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  4764. <p><strong>board</strong>: the board ID</p>
  4765. <p><strong>list</strong>: the list ID</p>
  4766. <blockquote>
  4767. <p>Example responses</p>
  4768. </blockquote>
  4769. <blockquote>
  4770. <p>200 Response</p>
  4771. </blockquote>
  4772. <pre class="highlight tab tab-json"><code>[
  4773. {
  4774. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>,
  4775. <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
  4776. <span class="hljs-attr">"description"</span>: <span class="hljs-string">"string"</span>
  4777. }
  4778. ]
  4779. </code></pre>
  4780. <h3 id="get_all_cards-responses">Responses</h3>
  4781. <table>
  4782. <thead>
  4783. <tr>
  4784. <th>Status</th>
  4785. <th>Meaning</th>
  4786. <th>Description</th>
  4787. <th>Schema</th>
  4788. </tr>
  4789. </thead>
  4790. <tbody>
  4791. <tr>
  4792. <td>200</td>
  4793. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  4794. <td>200 response</td>
  4795. <td>Inline</td>
  4796. </tr>
  4797. </tbody>
  4798. </table>
  4799. <h3 id="get_all_cards-responseschema">Response Schema</h3>
  4800. <p>Status Code <strong>200</strong></p>
  4801. <table>
  4802. <thead>
  4803. <tr>
  4804. <th>Name</th>
  4805. <th>Type</th>
  4806. <th>Required</th>
  4807. <th>Restrictions</th>
  4808. <th>Description</th>
  4809. </tr>
  4810. </thead>
  4811. <tbody>
  4812. <tr>
  4813. <td>» _id</td>
  4814. <td>string</td>
  4815. <td>false</td>
  4816. <td>none</td>
  4817. <td>none</td>
  4818. </tr>
  4819. <tr>
  4820. <td>» title</td>
  4821. <td>string</td>
  4822. <td>false</td>
  4823. <td>none</td>
  4824. <td>none</td>
  4825. </tr>
  4826. <tr>
  4827. <td>» description</td>
  4828. <td>string</td>
  4829. <td>false</td>
  4830. <td>none</td>
  4831. <td>none</td>
  4832. </tr>
  4833. </tbody>
  4834. </table>
  4835. <aside class="warning">
  4836. To perform this operation, you must be authenticated by means of one of the following methods:
  4837. UserSecurity
  4838. </aside>
  4839. <h2 id="new_card">new_card</h2>
  4840. <p><a id="opIdnew_card"></a></p>
  4841. <blockquote>
  4842. <p>Code samples</p>
  4843. </blockquote>
  4844. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  4845. curl -X POST /api/boards/{board}/lists/{list}/cards \
  4846. -H <span class="hljs-string">'Content-Type: multipart/form-data'</span> \
  4847. -H <span class="hljs-string">'Accept: application/json'</span> \
  4848. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  4849. </code></pre>
  4850. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">POST</span> <span class="hljs-string">/api/boards/{board}/lists/{list}/cards</span> HTTP/1.1
  4851. <span class="fortran">Content-<span class="hljs-keyword">Type</span>: multipart/<span class="hljs-keyword">form</span>-<span class="hljs-keyword">data</span>
  4852. Accept: application/json
  4853. </span></code></pre>
  4854. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  4855. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  4856. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  4857. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  4858. };
  4859. $.ajax({
  4860. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/lists/{list}/cards'</span>,
  4861. <span class="hljs-attr">method</span>: <span class="hljs-string">'post'</span>,
  4862. <span class="hljs-attr">headers</span>: headers,
  4863. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  4864. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  4865. }
  4866. })
  4867. </code></pre>
  4868. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  4869. <span class="hljs-keyword">const</span> inputBody = <span class="hljs-string">'{
  4870. "authorId": "string",
  4871. "members": "string",
  4872. "assignees": "string",
  4873. "title": "string",
  4874. "description": "string",
  4875. "swimlaneId": "string"
  4876. }'</span>;
  4877. <span class="hljs-keyword">const</span> headers = {
  4878. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  4879. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  4880. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  4881. };
  4882. fetch(<span class="hljs-string">'/api/boards/{board}/lists/{list}/cards'</span>,
  4883. {
  4884. <span class="hljs-attr">method</span>: <span class="hljs-string">'POST'</span>,
  4885. <span class="hljs-attr">body</span>: inputBody,
  4886. <span class="hljs-attr">headers</span>: headers
  4887. })
  4888. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  4889. <span class="hljs-keyword">return</span> res.json();
  4890. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  4891. <span class="hljs-built_in">console</span>.log(body);
  4892. });
  4893. </code></pre>
  4894. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  4895. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  4896. headers = {
  4897. <span class="hljs-string">'Content-Type'</span> =&gt; <span class="hljs-string">'multipart/form-data'</span>,
  4898. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  4899. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  4900. }
  4901. result = RestClient.post <span class="hljs-string">'/api/boards/{board}/lists/{list}/cards'</span>,
  4902. <span class="hljs-symbol">params:</span> {
  4903. }, <span class="hljs-symbol">headers:</span> headers
  4904. p JSON.parse(result)
  4905. </code></pre>
  4906. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  4907. headers = {
  4908. <span class="hljs-string">'Content-Type'</span>: <span class="hljs-string">'multipart/form-data'</span>,
  4909. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  4910. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  4911. }
  4912. r = requests.post(<span class="hljs-string">'/api/boards/{board}/lists/{list}/cards'</span>, params={
  4913. }, headers = headers)
  4914. <span class="hljs-keyword">print</span> r.json()
  4915. </code></pre>
  4916. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/lists/{list}/cards"</span>);
  4917. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  4918. con.setRequestMethod(<span class="hljs-string">"POST"</span>);
  4919. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  4920. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  4921. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  4922. String inputLine;
  4923. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  4924. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  4925. response.append(inputLine);
  4926. }
  4927. in.close();
  4928. System.out.println(response.toString());
  4929. </code></pre>
  4930. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  4931. <span class="hljs-keyword">import</span> (
  4932. <span class="hljs-string">"bytes"</span>
  4933. <span class="hljs-string">"net/http"</span>
  4934. )
  4935. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  4936. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  4937. <span class="hljs-string">"Content-Type"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"multipart/form-data"</span>},
  4938. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  4939. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  4940. }
  4941. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  4942. req, err := http.NewRequest(<span class="hljs-string">"POST"</span>, <span class="hljs-string">"/api/boards/{board}/lists/{list}/cards"</span>, data)
  4943. req.Header = headers
  4944. client := &amp;http.Client{}
  4945. resp, err := client.Do(req)
  4946. <span class="hljs-comment">// ...</span>
  4947. }
  4948. </code></pre>
  4949. <p><code>POST /api/boards/{board}/lists/{list}/cards</code></p>
  4950. <p><em>Create a new Card</em></p>
  4951. <blockquote>
  4952. <p>Body parameter</p>
  4953. </blockquote>
  4954. <pre class="highlight tab tab-yaml"><code><span class="hljs-attr">authorId:</span> <span class="hljs-string">string</span>
  4955. <span class="hljs-attr">members:</span> <span class="hljs-string">string</span>
  4956. <span class="hljs-attr">assignees:</span> <span class="hljs-string">string</span>
  4957. <span class="hljs-attr">title:</span> <span class="hljs-string">string</span>
  4958. <span class="hljs-attr">description:</span> <span class="hljs-string">string</span>
  4959. <span class="hljs-attr">swimlaneId:</span> <span class="hljs-string">string</span>
  4960. </code></pre>
  4961. <h3 id="new_card-parameters">Parameters</h3>
  4962. <table>
  4963. <thead>
  4964. <tr>
  4965. <th>Name</th>
  4966. <th>In</th>
  4967. <th>Type</th>
  4968. <th>Required</th>
  4969. <th>Description</th>
  4970. </tr>
  4971. </thead>
  4972. <tbody>
  4973. <tr>
  4974. <td>board</td>
  4975. <td>path</td>
  4976. <td>string</td>
  4977. <td>true</td>
  4978. <td>the board ID of the new card</td>
  4979. </tr>
  4980. <tr>
  4981. <td>list</td>
  4982. <td>path</td>
  4983. <td>string</td>
  4984. <td>true</td>
  4985. <td>the list ID of the new card</td>
  4986. </tr>
  4987. <tr>
  4988. <td>body</td>
  4989. <td>body</td>
  4990. <td>object</td>
  4991. <td>false</td>
  4992. <td>none</td>
  4993. </tr>
  4994. <tr>
  4995. <td>» authorId</td>
  4996. <td>body</td>
  4997. <td>string</td>
  4998. <td>true</td>
  4999. <td>the authorId value</td>
  5000. </tr>
  5001. <tr>
  5002. <td>» members</td>
  5003. <td>body</td>
  5004. <td>string</td>
  5005. <td>false</td>
  5006. <td>the member IDs list of the new card</td>
  5007. </tr>
  5008. <tr>
  5009. <td>» assignees</td>
  5010. <td>body</td>
  5011. <td>string</td>
  5012. <td>false</td>
  5013. <td>the array of maximum one ID of assignee of the new card</td>
  5014. </tr>
  5015. <tr>
  5016. <td>» title</td>
  5017. <td>body</td>
  5018. <td>string</td>
  5019. <td>true</td>
  5020. <td>the title of the new card</td>
  5021. </tr>
  5022. <tr>
  5023. <td>» description</td>
  5024. <td>body</td>
  5025. <td>string</td>
  5026. <td>true</td>
  5027. <td>the description of the new card</td>
  5028. </tr>
  5029. <tr>
  5030. <td>» swimlaneId</td>
  5031. <td>body</td>
  5032. <td>string</td>
  5033. <td>true</td>
  5034. <td>the swimlane ID of the new card</td>
  5035. </tr>
  5036. </tbody>
  5037. </table>
  5038. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  5039. <p><strong>board</strong>: the board ID of the new card</p>
  5040. <p><strong>list</strong>: the list ID of the new card</p>
  5041. <blockquote>
  5042. <p>Example responses</p>
  5043. </blockquote>
  5044. <blockquote>
  5045. <p>200 Response</p>
  5046. </blockquote>
  5047. <pre class="highlight tab tab-json"><code>{
  5048. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>
  5049. }
  5050. </code></pre>
  5051. <h3 id="new_card-responses">Responses</h3>
  5052. <table>
  5053. <thead>
  5054. <tr>
  5055. <th>Status</th>
  5056. <th>Meaning</th>
  5057. <th>Description</th>
  5058. <th>Schema</th>
  5059. </tr>
  5060. </thead>
  5061. <tbody>
  5062. <tr>
  5063. <td>200</td>
  5064. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  5065. <td>200 response</td>
  5066. <td>Inline</td>
  5067. </tr>
  5068. </tbody>
  5069. </table>
  5070. <h3 id="new_card-responseschema">Response Schema</h3>
  5071. <p>Status Code <strong>200</strong></p>
  5072. <table>
  5073. <thead>
  5074. <tr>
  5075. <th>Name</th>
  5076. <th>Type</th>
  5077. <th>Required</th>
  5078. <th>Restrictions</th>
  5079. <th>Description</th>
  5080. </tr>
  5081. </thead>
  5082. <tbody>
  5083. <tr>
  5084. <td>» _id</td>
  5085. <td>string</td>
  5086. <td>false</td>
  5087. <td>none</td>
  5088. <td>none</td>
  5089. </tr>
  5090. </tbody>
  5091. </table>
  5092. <aside class="warning">
  5093. To perform this operation, you must be authenticated by means of one of the following methods:
  5094. UserSecurity
  5095. </aside>
  5096. <h2 id="get_card">get_card</h2>
  5097. <p><a id="opIdget_card"></a></p>
  5098. <blockquote>
  5099. <p>Code samples</p>
  5100. </blockquote>
  5101. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  5102. curl -X GET /api/boards/{board}/lists/{list}/cards/{card} \
  5103. -H <span class="hljs-string">'Accept: application/json'</span> \
  5104. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  5105. </code></pre>
  5106. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">GET</span> <span class="hljs-string">/api/boards/{board}/lists/{list}/cards/{card}</span> HTTP/1.1
  5107. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  5108. <span class="undefined"></span></span></code></pre>
  5109. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  5110. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  5111. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  5112. };
  5113. $.ajax({
  5114. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/lists/{list}/cards/{card}'</span>,
  5115. <span class="hljs-attr">method</span>: <span class="hljs-string">'get'</span>,
  5116. <span class="hljs-attr">headers</span>: headers,
  5117. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  5118. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  5119. }
  5120. })
  5121. </code></pre>
  5122. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  5123. <span class="hljs-keyword">const</span> headers = {
  5124. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  5125. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  5126. };
  5127. fetch(<span class="hljs-string">'/api/boards/{board}/lists/{list}/cards/{card}'</span>,
  5128. {
  5129. <span class="hljs-attr">method</span>: <span class="hljs-string">'GET'</span>,
  5130. <span class="hljs-attr">headers</span>: headers
  5131. })
  5132. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  5133. <span class="hljs-keyword">return</span> res.json();
  5134. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  5135. <span class="hljs-built_in">console</span>.log(body);
  5136. });
  5137. </code></pre>
  5138. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  5139. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  5140. headers = {
  5141. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  5142. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  5143. }
  5144. result = RestClient.get <span class="hljs-string">'/api/boards/{board}/lists/{list}/cards/{card}'</span>,
  5145. <span class="hljs-symbol">params:</span> {
  5146. }, <span class="hljs-symbol">headers:</span> headers
  5147. p JSON.parse(result)
  5148. </code></pre>
  5149. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  5150. headers = {
  5151. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  5152. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  5153. }
  5154. r = requests.get(<span class="hljs-string">'/api/boards/{board}/lists/{list}/cards/{card}'</span>, params={
  5155. }, headers = headers)
  5156. <span class="hljs-keyword">print</span> r.json()
  5157. </code></pre>
  5158. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/lists/{list}/cards/{card}"</span>);
  5159. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  5160. con.setRequestMethod(<span class="hljs-string">"GET"</span>);
  5161. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  5162. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  5163. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  5164. String inputLine;
  5165. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  5166. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  5167. response.append(inputLine);
  5168. }
  5169. in.close();
  5170. System.out.println(response.toString());
  5171. </code></pre>
  5172. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  5173. <span class="hljs-keyword">import</span> (
  5174. <span class="hljs-string">"bytes"</span>
  5175. <span class="hljs-string">"net/http"</span>
  5176. )
  5177. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  5178. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  5179. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  5180. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  5181. }
  5182. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  5183. req, err := http.NewRequest(<span class="hljs-string">"GET"</span>, <span class="hljs-string">"/api/boards/{board}/lists/{list}/cards/{card}"</span>, data)
  5184. req.Header = headers
  5185. client := &amp;http.Client{}
  5186. resp, err := client.Do(req)
  5187. <span class="hljs-comment">// ...</span>
  5188. }
  5189. </code></pre>
  5190. <p><code>GET /api/boards/{board}/lists/{list}/cards/{card}</code></p>
  5191. <p><em>Get a Card</em></p>
  5192. <h3 id="get_card-parameters">Parameters</h3>
  5193. <table>
  5194. <thead>
  5195. <tr>
  5196. <th>Name</th>
  5197. <th>In</th>
  5198. <th>Type</th>
  5199. <th>Required</th>
  5200. <th>Description</th>
  5201. </tr>
  5202. </thead>
  5203. <tbody>
  5204. <tr>
  5205. <td>board</td>
  5206. <td>path</td>
  5207. <td>string</td>
  5208. <td>true</td>
  5209. <td>the board ID</td>
  5210. </tr>
  5211. <tr>
  5212. <td>list</td>
  5213. <td>path</td>
  5214. <td>string</td>
  5215. <td>true</td>
  5216. <td>the list ID of the card</td>
  5217. </tr>
  5218. <tr>
  5219. <td>card</td>
  5220. <td>path</td>
  5221. <td>string</td>
  5222. <td>true</td>
  5223. <td>the card ID</td>
  5224. </tr>
  5225. </tbody>
  5226. </table>
  5227. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  5228. <p><strong>board</strong>: the board ID</p>
  5229. <p><strong>list</strong>: the list ID of the card</p>
  5230. <p><strong>card</strong>: the card ID</p>
  5231. <blockquote>
  5232. <p>Example responses</p>
  5233. </blockquote>
  5234. <blockquote>
  5235. <p>200 Response</p>
  5236. </blockquote>
  5237. <pre class="highlight tab tab-json"><code>{
  5238. <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
  5239. <span class="hljs-attr">"archived"</span>: <span class="hljs-literal">true</span>,
  5240. <span class="hljs-attr">"parentId"</span>: <span class="hljs-string">"string"</span>,
  5241. <span class="hljs-attr">"listId"</span>: <span class="hljs-string">"string"</span>,
  5242. <span class="hljs-attr">"swimlaneId"</span>: <span class="hljs-string">"string"</span>,
  5243. <span class="hljs-attr">"boardId"</span>: <span class="hljs-string">"string"</span>,
  5244. <span class="hljs-attr">"coverId"</span>: <span class="hljs-string">"string"</span>,
  5245. <span class="hljs-attr">"color"</span>: <span class="hljs-string">"white"</span>,
  5246. <span class="hljs-attr">"createdAt"</span>: <span class="hljs-string">"string"</span>,
  5247. <span class="hljs-attr">"modifiedAt"</span>: <span class="hljs-string">"string"</span>,
  5248. <span class="hljs-attr">"customFields"</span>: [
  5249. {}
  5250. ],
  5251. <span class="hljs-attr">"dateLastActivity"</span>: <span class="hljs-string">"string"</span>,
  5252. <span class="hljs-attr">"description"</span>: <span class="hljs-string">"string"</span>,
  5253. <span class="hljs-attr">"requestedBy"</span>: <span class="hljs-string">"string"</span>,
  5254. <span class="hljs-attr">"assignedBy"</span>: <span class="hljs-string">"string"</span>,
  5255. <span class="hljs-attr">"labelIds"</span>: [
  5256. <span class="hljs-string">"string"</span>
  5257. ],
  5258. <span class="hljs-attr">"members"</span>: [
  5259. <span class="hljs-string">"string"</span>
  5260. ],
  5261. <span class="hljs-attr">"assignees"</span>: [
  5262. <span class="hljs-string">"string"</span>
  5263. ],
  5264. <span class="hljs-attr">"receivedAt"</span>: <span class="hljs-string">"string"</span>,
  5265. <span class="hljs-attr">"startAt"</span>: <span class="hljs-string">"string"</span>,
  5266. <span class="hljs-attr">"dueAt"</span>: <span class="hljs-string">"string"</span>,
  5267. <span class="hljs-attr">"endAt"</span>: <span class="hljs-string">"string"</span>,
  5268. <span class="hljs-attr">"spentTime"</span>: <span class="hljs-number">0</span>,
  5269. <span class="hljs-attr">"isOvertime"</span>: <span class="hljs-literal">true</span>,
  5270. <span class="hljs-attr">"userId"</span>: <span class="hljs-string">"string"</span>,
  5271. <span class="hljs-attr">"sort"</span>: <span class="hljs-number">0</span>,
  5272. <span class="hljs-attr">"subtaskSort"</span>: <span class="hljs-number">0</span>,
  5273. <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>,
  5274. <span class="hljs-attr">"linkedId"</span>: <span class="hljs-string">"string"</span>,
  5275. <span class="hljs-attr">"vote"</span>: {
  5276. <span class="hljs-attr">"question"</span>: <span class="hljs-string">"string"</span>,
  5277. <span class="hljs-attr">"positive"</span>: [
  5278. <span class="hljs-string">"string"</span>
  5279. ],
  5280. <span class="hljs-attr">"negative"</span>: [
  5281. <span class="hljs-string">"string"</span>
  5282. ],
  5283. <span class="hljs-attr">"end"</span>: <span class="hljs-string">"string"</span>,
  5284. <span class="hljs-attr">"public"</span>: <span class="hljs-literal">true</span>,
  5285. <span class="hljs-attr">"allowNonBoardMembers"</span>: <span class="hljs-literal">true</span>
  5286. }
  5287. }
  5288. </code></pre>
  5289. <h3 id="get_card-responses">Responses</h3>
  5290. <table>
  5291. <thead>
  5292. <tr>
  5293. <th>Status</th>
  5294. <th>Meaning</th>
  5295. <th>Description</th>
  5296. <th>Schema</th>
  5297. </tr>
  5298. </thead>
  5299. <tbody>
  5300. <tr>
  5301. <td>200</td>
  5302. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  5303. <td>200 response</td>
  5304. <td><a href="#schemacards">Cards</a></td>
  5305. </tr>
  5306. </tbody>
  5307. </table>
  5308. <aside class="warning">
  5309. To perform this operation, you must be authenticated by means of one of the following methods:
  5310. UserSecurity
  5311. </aside>
  5312. <h2 id="edit_card">edit_card</h2>
  5313. <p><a id="opIdedit_card"></a></p>
  5314. <blockquote>
  5315. <p>Code samples</p>
  5316. </blockquote>
  5317. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  5318. curl -X PUT /api/boards/{board}/lists/{list}/cards/{card} \
  5319. -H <span class="hljs-string">'Content-Type: multipart/form-data'</span> \
  5320. -H <span class="hljs-string">'Accept: application/json'</span> \
  5321. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  5322. </code></pre>
  5323. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">PUT</span> <span class="hljs-string">/api/boards/{board}/lists/{list}/cards/{card}</span> HTTP/1.1
  5324. <span class="fortran">Content-<span class="hljs-keyword">Type</span>: multipart/<span class="hljs-keyword">form</span>-<span class="hljs-keyword">data</span>
  5325. Accept: application/json
  5326. </span></code></pre>
  5327. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  5328. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  5329. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  5330. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  5331. };
  5332. $.ajax({
  5333. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/lists/{list}/cards/{card}'</span>,
  5334. <span class="hljs-attr">method</span>: <span class="hljs-string">'put'</span>,
  5335. <span class="hljs-attr">headers</span>: headers,
  5336. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  5337. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  5338. }
  5339. })
  5340. </code></pre>
  5341. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  5342. <span class="hljs-keyword">const</span> inputBody = <span class="hljs-string">'{
  5343. "title": "string",
  5344. "parentId": "string",
  5345. "description": "string",
  5346. "color": "string",
  5347. "vote": {},
  5348. "labelIds": "string",
  5349. "requestedBy": "string",
  5350. "assignedBy": "string",
  5351. "receivedAt": "string",
  5352. "startAt": "string",
  5353. "dueAt": "string",
  5354. "endAt": "string",
  5355. "spentTime": "string",
  5356. "isOverTime": true,
  5357. "customFields": "string",
  5358. "members": "string",
  5359. "assignees": "string",
  5360. "swimlaneId": "string",
  5361. "listId": "string",
  5362. "authorId": "string"
  5363. }'</span>;
  5364. <span class="hljs-keyword">const</span> headers = {
  5365. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  5366. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  5367. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  5368. };
  5369. fetch(<span class="hljs-string">'/api/boards/{board}/lists/{list}/cards/{card}'</span>,
  5370. {
  5371. <span class="hljs-attr">method</span>: <span class="hljs-string">'PUT'</span>,
  5372. <span class="hljs-attr">body</span>: inputBody,
  5373. <span class="hljs-attr">headers</span>: headers
  5374. })
  5375. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  5376. <span class="hljs-keyword">return</span> res.json();
  5377. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  5378. <span class="hljs-built_in">console</span>.log(body);
  5379. });
  5380. </code></pre>
  5381. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  5382. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  5383. headers = {
  5384. <span class="hljs-string">'Content-Type'</span> =&gt; <span class="hljs-string">'multipart/form-data'</span>,
  5385. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  5386. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  5387. }
  5388. result = RestClient.put <span class="hljs-string">'/api/boards/{board}/lists/{list}/cards/{card}'</span>,
  5389. <span class="hljs-symbol">params:</span> {
  5390. }, <span class="hljs-symbol">headers:</span> headers
  5391. p JSON.parse(result)
  5392. </code></pre>
  5393. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  5394. headers = {
  5395. <span class="hljs-string">'Content-Type'</span>: <span class="hljs-string">'multipart/form-data'</span>,
  5396. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  5397. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  5398. }
  5399. r = requests.put(<span class="hljs-string">'/api/boards/{board}/lists/{list}/cards/{card}'</span>, params={
  5400. }, headers = headers)
  5401. <span class="hljs-keyword">print</span> r.json()
  5402. </code></pre>
  5403. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/lists/{list}/cards/{card}"</span>);
  5404. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  5405. con.setRequestMethod(<span class="hljs-string">"PUT"</span>);
  5406. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  5407. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  5408. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  5409. String inputLine;
  5410. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  5411. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  5412. response.append(inputLine);
  5413. }
  5414. in.close();
  5415. System.out.println(response.toString());
  5416. </code></pre>
  5417. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  5418. <span class="hljs-keyword">import</span> (
  5419. <span class="hljs-string">"bytes"</span>
  5420. <span class="hljs-string">"net/http"</span>
  5421. )
  5422. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  5423. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  5424. <span class="hljs-string">"Content-Type"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"multipart/form-data"</span>},
  5425. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  5426. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  5427. }
  5428. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  5429. req, err := http.NewRequest(<span class="hljs-string">"PUT"</span>, <span class="hljs-string">"/api/boards/{board}/lists/{list}/cards/{card}"</span>, data)
  5430. req.Header = headers
  5431. client := &amp;http.Client{}
  5432. resp, err := client.Do(req)
  5433. <span class="hljs-comment">// ...</span>
  5434. }
  5435. </code></pre>
  5436. <p><code>PUT /api/boards/{board}/lists/{list}/cards/{card}</code></p>
  5437. <p><em>Edit Fields in a Card</em></p>
  5438. <p>Edit a card</p>
  5439. <p>The color has to be chosen between <code>white</code>, <code>green</code>, <code>yellow</code>, <code>orange</code>,
  5440. <code>red</code>, <code>purple</code>, <code>blue</code>, <code>sky</code>, <code>lime</code>, <code>pink</code>, <code>black</code>, <code>silver</code>,
  5441. <code>peachpuff</code>, <code>crimson</code>, <code>plum</code>, <code>darkgreen</code>, <code>slateblue</code>, <code>magenta</code>,
  5442. <code>gold</code>, <code>navy</code>, <code>gray</code>, <code>saddlebrown</code>, <code>paleturquoise</code>, <code>mistyrose</code>,
  5443. <code>indigo</code>:</p>
  5444. <img src="/card-colors.png" alt="Wekan card colors" />
  5445. <p>Note: setting the color to white has the same effect than removing it.</p>
  5446. <blockquote>
  5447. <p>Body parameter</p>
  5448. </blockquote>
  5449. <pre class="highlight tab tab-yaml"><code><span class="hljs-attr">title:</span> <span class="hljs-string">string</span>
  5450. <span class="hljs-attr">parentId:</span> <span class="hljs-string">string</span>
  5451. <span class="hljs-attr">description:</span> <span class="hljs-string">string</span>
  5452. <span class="hljs-attr">color:</span> <span class="hljs-string">string</span>
  5453. <span class="hljs-attr">vote:</span> <span class="hljs-string">{}</span>
  5454. <span class="hljs-attr">labelIds:</span> <span class="hljs-string">string</span>
  5455. <span class="hljs-attr">requestedBy:</span> <span class="hljs-string">string</span>
  5456. <span class="hljs-attr">assignedBy:</span> <span class="hljs-string">string</span>
  5457. <span class="hljs-attr">receivedAt:</span> <span class="hljs-string">string</span>
  5458. <span class="hljs-attr">startAt:</span> <span class="hljs-string">string</span>
  5459. <span class="hljs-attr">dueAt:</span> <span class="hljs-string">string</span>
  5460. <span class="hljs-attr">endAt:</span> <span class="hljs-string">string</span>
  5461. <span class="hljs-attr">spentTime:</span> <span class="hljs-string">string</span>
  5462. <span class="hljs-attr">isOverTime:</span> <span class="hljs-literal">true</span>
  5463. <span class="hljs-attr">customFields:</span> <span class="hljs-string">string</span>
  5464. <span class="hljs-attr">members:</span> <span class="hljs-string">string</span>
  5465. <span class="hljs-attr">assignees:</span> <span class="hljs-string">string</span>
  5466. <span class="hljs-attr">swimlaneId:</span> <span class="hljs-string">string</span>
  5467. <span class="hljs-attr">listId:</span> <span class="hljs-string">string</span>
  5468. <span class="hljs-attr">authorId:</span> <span class="hljs-string">string</span>
  5469. </code></pre>
  5470. <h3 id="edit_card-parameters">Parameters</h3>
  5471. <table>
  5472. <thead>
  5473. <tr>
  5474. <th>Name</th>
  5475. <th>In</th>
  5476. <th>Type</th>
  5477. <th>Required</th>
  5478. <th>Description</th>
  5479. </tr>
  5480. </thead>
  5481. <tbody>
  5482. <tr>
  5483. <td>board</td>
  5484. <td>path</td>
  5485. <td>string</td>
  5486. <td>true</td>
  5487. <td>the board ID of the card</td>
  5488. </tr>
  5489. <tr>
  5490. <td>list</td>
  5491. <td>path</td>
  5492. <td>string</td>
  5493. <td>true</td>
  5494. <td>the list ID of the card</td>
  5495. </tr>
  5496. <tr>
  5497. <td>card</td>
  5498. <td>path</td>
  5499. <td>string</td>
  5500. <td>true</td>
  5501. <td>the ID of the card</td>
  5502. </tr>
  5503. <tr>
  5504. <td>body</td>
  5505. <td>body</td>
  5506. <td>object</td>
  5507. <td>false</td>
  5508. <td>none</td>
  5509. </tr>
  5510. <tr>
  5511. <td>» title</td>
  5512. <td>body</td>
  5513. <td>string</td>
  5514. <td>false</td>
  5515. <td>the new title of the card</td>
  5516. </tr>
  5517. <tr>
  5518. <td>» parentId</td>
  5519. <td>body</td>
  5520. <td>string</td>
  5521. <td>false</td>
  5522. <td>change the parent of the card</td>
  5523. </tr>
  5524. <tr>
  5525. <td>» description</td>
  5526. <td>body</td>
  5527. <td>string</td>
  5528. <td>false</td>
  5529. <td>the new description of the card</td>
  5530. </tr>
  5531. <tr>
  5532. <td>» color</td>
  5533. <td>body</td>
  5534. <td>string</td>
  5535. <td>false</td>
  5536. <td>the new color of the card</td>
  5537. </tr>
  5538. <tr>
  5539. <td>» vote</td>
  5540. <td>body</td>
  5541. <td>object</td>
  5542. <td>false</td>
  5543. <td>the vote object</td>
  5544. </tr>
  5545. <tr>
  5546. <td>» labelIds</td>
  5547. <td>body</td>
  5548. <td>string</td>
  5549. <td>false</td>
  5550. <td>the new list of label IDs attached to the card</td>
  5551. </tr>
  5552. <tr>
  5553. <td>» requestedBy</td>
  5554. <td>body</td>
  5555. <td>string</td>
  5556. <td>false</td>
  5557. <td>the new requestedBy field of the card</td>
  5558. </tr>
  5559. <tr>
  5560. <td>» assignedBy</td>
  5561. <td>body</td>
  5562. <td>string</td>
  5563. <td>false</td>
  5564. <td>the new assignedBy field of the card</td>
  5565. </tr>
  5566. <tr>
  5567. <td>» receivedAt</td>
  5568. <td>body</td>
  5569. <td>string</td>
  5570. <td>false</td>
  5571. <td>the new receivedAt field of the card</td>
  5572. </tr>
  5573. <tr>
  5574. <td>» startAt</td>
  5575. <td>body</td>
  5576. <td>string</td>
  5577. <td>false</td>
  5578. <td>the new startAt field of the card</td>
  5579. </tr>
  5580. <tr>
  5581. <td>» dueAt</td>
  5582. <td>body</td>
  5583. <td>string</td>
  5584. <td>false</td>
  5585. <td>the new dueAt field of the card</td>
  5586. </tr>
  5587. <tr>
  5588. <td>» endAt</td>
  5589. <td>body</td>
  5590. <td>string</td>
  5591. <td>false</td>
  5592. <td>the new endAt field of the card</td>
  5593. </tr>
  5594. <tr>
  5595. <td>» spentTime</td>
  5596. <td>body</td>
  5597. <td>string</td>
  5598. <td>false</td>
  5599. <td>the new spentTime field of the card</td>
  5600. </tr>
  5601. <tr>
  5602. <td>» isOverTime</td>
  5603. <td>body</td>
  5604. <td>boolean</td>
  5605. <td>false</td>
  5606. <td>the new isOverTime field of the card</td>
  5607. </tr>
  5608. <tr>
  5609. <td>» customFields</td>
  5610. <td>body</td>
  5611. <td>string</td>
  5612. <td>false</td>
  5613. <td>the new customFields value of the card</td>
  5614. </tr>
  5615. <tr>
  5616. <td>» members</td>
  5617. <td>body</td>
  5618. <td>string</td>
  5619. <td>false</td>
  5620. <td>the new list of member IDs attached to the card</td>
  5621. </tr>
  5622. <tr>
  5623. <td>» assignees</td>
  5624. <td>body</td>
  5625. <td>string</td>
  5626. <td>false</td>
  5627. <td>the array of maximum one ID of assignee attached to the card</td>
  5628. </tr>
  5629. <tr>
  5630. <td>» swimlaneId</td>
  5631. <td>body</td>
  5632. <td>string</td>
  5633. <td>false</td>
  5634. <td>the new swimlane ID of the card</td>
  5635. </tr>
  5636. <tr>
  5637. <td>» listId</td>
  5638. <td>body</td>
  5639. <td>string</td>
  5640. <td>false</td>
  5641. <td>the new list ID of the card (move operation)</td>
  5642. </tr>
  5643. <tr>
  5644. <td>» authorId</td>
  5645. <td>body</td>
  5646. <td>string</td>
  5647. <td>false</td>
  5648. <td>change the owner of the card</td>
  5649. </tr>
  5650. </tbody>
  5651. </table>
  5652. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  5653. <p><strong>board</strong>: the board ID of the card</p>
  5654. <p><strong>list</strong>: the list ID of the card</p>
  5655. <p><strong>card</strong>: the ID of the card</p>
  5656. <blockquote>
  5657. <p>Example responses</p>
  5658. </blockquote>
  5659. <blockquote>
  5660. <p>200 Response</p>
  5661. </blockquote>
  5662. <pre class="highlight tab tab-json"><code>{
  5663. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>
  5664. }
  5665. </code></pre>
  5666. <h3 id="edit_card-responses">Responses</h3>
  5667. <table>
  5668. <thead>
  5669. <tr>
  5670. <th>Status</th>
  5671. <th>Meaning</th>
  5672. <th>Description</th>
  5673. <th>Schema</th>
  5674. </tr>
  5675. </thead>
  5676. <tbody>
  5677. <tr>
  5678. <td>200</td>
  5679. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  5680. <td>200 response</td>
  5681. <td>Inline</td>
  5682. </tr>
  5683. </tbody>
  5684. </table>
  5685. <h3 id="edit_card-responseschema">Response Schema</h3>
  5686. <p>Status Code <strong>200</strong></p>
  5687. <table>
  5688. <thead>
  5689. <tr>
  5690. <th>Name</th>
  5691. <th>Type</th>
  5692. <th>Required</th>
  5693. <th>Restrictions</th>
  5694. <th>Description</th>
  5695. </tr>
  5696. </thead>
  5697. <tbody>
  5698. <tr>
  5699. <td>» _id</td>
  5700. <td>string</td>
  5701. <td>false</td>
  5702. <td>none</td>
  5703. <td>none</td>
  5704. </tr>
  5705. </tbody>
  5706. </table>
  5707. <aside class="warning">
  5708. To perform this operation, you must be authenticated by means of one of the following methods:
  5709. UserSecurity
  5710. </aside>
  5711. <h2 id="delete_card">delete_card</h2>
  5712. <p><a id="opIddelete_card"></a></p>
  5713. <blockquote>
  5714. <p>Code samples</p>
  5715. </blockquote>
  5716. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  5717. curl -X DELETE /api/boards/{board}/lists/{list}/cards/{card} \
  5718. -H <span class="hljs-string">'Accept: application/json'</span> \
  5719. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  5720. </code></pre>
  5721. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">DELETE</span> <span class="hljs-string">/api/boards/{board}/lists/{list}/cards/{card}</span> HTTP/1.1
  5722. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  5723. <span class="undefined"></span></span></code></pre>
  5724. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  5725. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  5726. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  5727. };
  5728. $.ajax({
  5729. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/lists/{list}/cards/{card}'</span>,
  5730. <span class="hljs-attr">method</span>: <span class="hljs-string">'delete'</span>,
  5731. <span class="hljs-attr">headers</span>: headers,
  5732. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  5733. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  5734. }
  5735. })
  5736. </code></pre>
  5737. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  5738. <span class="hljs-keyword">const</span> headers = {
  5739. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  5740. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  5741. };
  5742. fetch(<span class="hljs-string">'/api/boards/{board}/lists/{list}/cards/{card}'</span>,
  5743. {
  5744. <span class="hljs-attr">method</span>: <span class="hljs-string">'DELETE'</span>,
  5745. <span class="hljs-attr">headers</span>: headers
  5746. })
  5747. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  5748. <span class="hljs-keyword">return</span> res.json();
  5749. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  5750. <span class="hljs-built_in">console</span>.log(body);
  5751. });
  5752. </code></pre>
  5753. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  5754. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  5755. headers = {
  5756. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  5757. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  5758. }
  5759. result = RestClient.delete <span class="hljs-string">'/api/boards/{board}/lists/{list}/cards/{card}'</span>,
  5760. <span class="hljs-symbol">params:</span> {
  5761. }, <span class="hljs-symbol">headers:</span> headers
  5762. p JSON.parse(result)
  5763. </code></pre>
  5764. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  5765. headers = {
  5766. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  5767. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  5768. }
  5769. r = requests.delete(<span class="hljs-string">'/api/boards/{board}/lists/{list}/cards/{card}'</span>, params={
  5770. }, headers = headers)
  5771. <span class="hljs-keyword">print</span> r.json()
  5772. </code></pre>
  5773. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/lists/{list}/cards/{card}"</span>);
  5774. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  5775. con.setRequestMethod(<span class="hljs-string">"DELETE"</span>);
  5776. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  5777. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  5778. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  5779. String inputLine;
  5780. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  5781. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  5782. response.append(inputLine);
  5783. }
  5784. in.close();
  5785. System.out.println(response.toString());
  5786. </code></pre>
  5787. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  5788. <span class="hljs-keyword">import</span> (
  5789. <span class="hljs-string">"bytes"</span>
  5790. <span class="hljs-string">"net/http"</span>
  5791. )
  5792. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  5793. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  5794. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  5795. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  5796. }
  5797. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  5798. req, err := http.NewRequest(<span class="hljs-string">"DELETE"</span>, <span class="hljs-string">"/api/boards/{board}/lists/{list}/cards/{card}"</span>, data)
  5799. req.Header = headers
  5800. client := &amp;http.Client{}
  5801. resp, err := client.Do(req)
  5802. <span class="hljs-comment">// ...</span>
  5803. }
  5804. </code></pre>
  5805. <p><code>DELETE /api/boards/{board}/lists/{list}/cards/{card}</code></p>
  5806. <p><em>Delete a card from a board</em></p>
  5807. <p>This operation <strong>deletes</strong> a card, and therefore the card
  5808. is not put in the recycle bin.</p>
  5809. <h3 id="delete_card-parameters">Parameters</h3>
  5810. <table>
  5811. <thead>
  5812. <tr>
  5813. <th>Name</th>
  5814. <th>In</th>
  5815. <th>Type</th>
  5816. <th>Required</th>
  5817. <th>Description</th>
  5818. </tr>
  5819. </thead>
  5820. <tbody>
  5821. <tr>
  5822. <td>board</td>
  5823. <td>path</td>
  5824. <td>string</td>
  5825. <td>true</td>
  5826. <td>the board ID of the card</td>
  5827. </tr>
  5828. <tr>
  5829. <td>list</td>
  5830. <td>path</td>
  5831. <td>string</td>
  5832. <td>true</td>
  5833. <td>the list ID of the card</td>
  5834. </tr>
  5835. <tr>
  5836. <td>card</td>
  5837. <td>path</td>
  5838. <td>string</td>
  5839. <td>true</td>
  5840. <td>the ID of the card</td>
  5841. </tr>
  5842. </tbody>
  5843. </table>
  5844. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  5845. <p><strong>board</strong>: the board ID of the card</p>
  5846. <p><strong>list</strong>: the list ID of the card</p>
  5847. <p><strong>card</strong>: the ID of the card</p>
  5848. <blockquote>
  5849. <p>Example responses</p>
  5850. </blockquote>
  5851. <blockquote>
  5852. <p>200 Response</p>
  5853. </blockquote>
  5854. <pre class="highlight tab tab-json"><code>{
  5855. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>
  5856. }
  5857. </code></pre>
  5858. <h3 id="delete_card-responses">Responses</h3>
  5859. <table>
  5860. <thead>
  5861. <tr>
  5862. <th>Status</th>
  5863. <th>Meaning</th>
  5864. <th>Description</th>
  5865. <th>Schema</th>
  5866. </tr>
  5867. </thead>
  5868. <tbody>
  5869. <tr>
  5870. <td>200</td>
  5871. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  5872. <td>200 response</td>
  5873. <td>Inline</td>
  5874. </tr>
  5875. </tbody>
  5876. </table>
  5877. <h3 id="delete_card-responseschema">Response Schema</h3>
  5878. <p>Status Code <strong>200</strong></p>
  5879. <table>
  5880. <thead>
  5881. <tr>
  5882. <th>Name</th>
  5883. <th>Type</th>
  5884. <th>Required</th>
  5885. <th>Restrictions</th>
  5886. <th>Description</th>
  5887. </tr>
  5888. </thead>
  5889. <tbody>
  5890. <tr>
  5891. <td>» _id</td>
  5892. <td>string</td>
  5893. <td>false</td>
  5894. <td>none</td>
  5895. <td>none</td>
  5896. </tr>
  5897. </tbody>
  5898. </table>
  5899. <aside class="warning">
  5900. To perform this operation, you must be authenticated by means of one of the following methods:
  5901. UserSecurity
  5902. </aside>
  5903. <h2 id="get_swimlane_cards">get_swimlane_cards</h2>
  5904. <p><a id="opIdget_swimlane_cards"></a></p>
  5905. <blockquote>
  5906. <p>Code samples</p>
  5907. </blockquote>
  5908. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  5909. curl -X GET /api/boards/{board}/swimlanes/{swimlane}/cards \
  5910. -H <span class="hljs-string">'Accept: application/json'</span> \
  5911. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  5912. </code></pre>
  5913. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">GET</span> <span class="hljs-string">/api/boards/{board}/swimlanes/{swimlane}/cards</span> HTTP/1.1
  5914. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  5915. <span class="undefined"></span></span></code></pre>
  5916. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  5917. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  5918. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  5919. };
  5920. $.ajax({
  5921. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/swimlanes/{swimlane}/cards'</span>,
  5922. <span class="hljs-attr">method</span>: <span class="hljs-string">'get'</span>,
  5923. <span class="hljs-attr">headers</span>: headers,
  5924. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  5925. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  5926. }
  5927. })
  5928. </code></pre>
  5929. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  5930. <span class="hljs-keyword">const</span> headers = {
  5931. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  5932. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  5933. };
  5934. fetch(<span class="hljs-string">'/api/boards/{board}/swimlanes/{swimlane}/cards'</span>,
  5935. {
  5936. <span class="hljs-attr">method</span>: <span class="hljs-string">'GET'</span>,
  5937. <span class="hljs-attr">headers</span>: headers
  5938. })
  5939. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  5940. <span class="hljs-keyword">return</span> res.json();
  5941. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  5942. <span class="hljs-built_in">console</span>.log(body);
  5943. });
  5944. </code></pre>
  5945. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  5946. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  5947. headers = {
  5948. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  5949. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  5950. }
  5951. result = RestClient.get <span class="hljs-string">'/api/boards/{board}/swimlanes/{swimlane}/cards'</span>,
  5952. <span class="hljs-symbol">params:</span> {
  5953. }, <span class="hljs-symbol">headers:</span> headers
  5954. p JSON.parse(result)
  5955. </code></pre>
  5956. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  5957. headers = {
  5958. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  5959. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  5960. }
  5961. r = requests.get(<span class="hljs-string">'/api/boards/{board}/swimlanes/{swimlane}/cards'</span>, params={
  5962. }, headers = headers)
  5963. <span class="hljs-keyword">print</span> r.json()
  5964. </code></pre>
  5965. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/swimlanes/{swimlane}/cards"</span>);
  5966. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  5967. con.setRequestMethod(<span class="hljs-string">"GET"</span>);
  5968. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  5969. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  5970. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  5971. String inputLine;
  5972. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  5973. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  5974. response.append(inputLine);
  5975. }
  5976. in.close();
  5977. System.out.println(response.toString());
  5978. </code></pre>
  5979. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  5980. <span class="hljs-keyword">import</span> (
  5981. <span class="hljs-string">"bytes"</span>
  5982. <span class="hljs-string">"net/http"</span>
  5983. )
  5984. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  5985. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  5986. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  5987. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  5988. }
  5989. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  5990. req, err := http.NewRequest(<span class="hljs-string">"GET"</span>, <span class="hljs-string">"/api/boards/{board}/swimlanes/{swimlane}/cards"</span>, data)
  5991. req.Header = headers
  5992. client := &amp;http.Client{}
  5993. resp, err := client.Do(req)
  5994. <span class="hljs-comment">// ...</span>
  5995. }
  5996. </code></pre>
  5997. <p><code>GET /api/boards/{board}/swimlanes/{swimlane}/cards</code></p>
  5998. <p><em>get all cards attached to a swimlane</em></p>
  5999. <h3 id="get_swimlane_cards-parameters">Parameters</h3>
  6000. <table>
  6001. <thead>
  6002. <tr>
  6003. <th>Name</th>
  6004. <th>In</th>
  6005. <th>Type</th>
  6006. <th>Required</th>
  6007. <th>Description</th>
  6008. </tr>
  6009. </thead>
  6010. <tbody>
  6011. <tr>
  6012. <td>board</td>
  6013. <td>path</td>
  6014. <td>string</td>
  6015. <td>true</td>
  6016. <td>the board ID</td>
  6017. </tr>
  6018. <tr>
  6019. <td>swimlane</td>
  6020. <td>path</td>
  6021. <td>string</td>
  6022. <td>true</td>
  6023. <td>the swimlane ID</td>
  6024. </tr>
  6025. </tbody>
  6026. </table>
  6027. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  6028. <p><strong>board</strong>: the board ID</p>
  6029. <p><strong>swimlane</strong>: the swimlane ID</p>
  6030. <blockquote>
  6031. <p>Example responses</p>
  6032. </blockquote>
  6033. <blockquote>
  6034. <p>200 Response</p>
  6035. </blockquote>
  6036. <pre class="highlight tab tab-json"><code>[
  6037. {
  6038. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>,
  6039. <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
  6040. <span class="hljs-attr">"description"</span>: <span class="hljs-string">"string"</span>,
  6041. <span class="hljs-attr">"listId"</span>: <span class="hljs-string">"string"</span>
  6042. }
  6043. ]
  6044. </code></pre>
  6045. <h3 id="get_swimlane_cards-responses">Responses</h3>
  6046. <table>
  6047. <thead>
  6048. <tr>
  6049. <th>Status</th>
  6050. <th>Meaning</th>
  6051. <th>Description</th>
  6052. <th>Schema</th>
  6053. </tr>
  6054. </thead>
  6055. <tbody>
  6056. <tr>
  6057. <td>200</td>
  6058. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  6059. <td>200 response</td>
  6060. <td>Inline</td>
  6061. </tr>
  6062. </tbody>
  6063. </table>
  6064. <h3 id="get_swimlane_cards-responseschema">Response Schema</h3>
  6065. <p>Status Code <strong>200</strong></p>
  6066. <table>
  6067. <thead>
  6068. <tr>
  6069. <th>Name</th>
  6070. <th>Type</th>
  6071. <th>Required</th>
  6072. <th>Restrictions</th>
  6073. <th>Description</th>
  6074. </tr>
  6075. </thead>
  6076. <tbody>
  6077. <tr>
  6078. <td>» _id</td>
  6079. <td>string</td>
  6080. <td>false</td>
  6081. <td>none</td>
  6082. <td>none</td>
  6083. </tr>
  6084. <tr>
  6085. <td>» title</td>
  6086. <td>string</td>
  6087. <td>false</td>
  6088. <td>none</td>
  6089. <td>none</td>
  6090. </tr>
  6091. <tr>
  6092. <td>» description</td>
  6093. <td>string</td>
  6094. <td>false</td>
  6095. <td>none</td>
  6096. <td>none</td>
  6097. </tr>
  6098. <tr>
  6099. <td>» listId</td>
  6100. <td>string</td>
  6101. <td>false</td>
  6102. <td>none</td>
  6103. <td>none</td>
  6104. </tr>
  6105. </tbody>
  6106. </table>
  6107. <aside class="warning">
  6108. To perform this operation, you must be authenticated by means of one of the following methods:
  6109. UserSecurity
  6110. </aside>
  6111. <h1 id="wekan-rest-api-customfields">CustomFields</h1>
  6112. <h2 id="get_all_custom_fields">get_all_custom_fields</h2>
  6113. <p><a id="opIdget_all_custom_fields"></a></p>
  6114. <blockquote>
  6115. <p>Code samples</p>
  6116. </blockquote>
  6117. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  6118. curl -X GET /api/boards/{board}/custom-fields \
  6119. -H <span class="hljs-string">'Accept: application/json'</span> \
  6120. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  6121. </code></pre>
  6122. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">GET</span> <span class="hljs-string">/api/boards/{board}/custom-fields</span> HTTP/1.1
  6123. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  6124. <span class="undefined"></span></span></code></pre>
  6125. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  6126. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  6127. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  6128. };
  6129. $.ajax({
  6130. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/custom-fields'</span>,
  6131. <span class="hljs-attr">method</span>: <span class="hljs-string">'get'</span>,
  6132. <span class="hljs-attr">headers</span>: headers,
  6133. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  6134. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  6135. }
  6136. })
  6137. </code></pre>
  6138. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  6139. <span class="hljs-keyword">const</span> headers = {
  6140. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  6141. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  6142. };
  6143. fetch(<span class="hljs-string">'/api/boards/{board}/custom-fields'</span>,
  6144. {
  6145. <span class="hljs-attr">method</span>: <span class="hljs-string">'GET'</span>,
  6146. <span class="hljs-attr">headers</span>: headers
  6147. })
  6148. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  6149. <span class="hljs-keyword">return</span> res.json();
  6150. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  6151. <span class="hljs-built_in">console</span>.log(body);
  6152. });
  6153. </code></pre>
  6154. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  6155. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  6156. headers = {
  6157. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  6158. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  6159. }
  6160. result = RestClient.get <span class="hljs-string">'/api/boards/{board}/custom-fields'</span>,
  6161. <span class="hljs-symbol">params:</span> {
  6162. }, <span class="hljs-symbol">headers:</span> headers
  6163. p JSON.parse(result)
  6164. </code></pre>
  6165. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  6166. headers = {
  6167. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  6168. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  6169. }
  6170. r = requests.get(<span class="hljs-string">'/api/boards/{board}/custom-fields'</span>, params={
  6171. }, headers = headers)
  6172. <span class="hljs-keyword">print</span> r.json()
  6173. </code></pre>
  6174. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/custom-fields"</span>);
  6175. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  6176. con.setRequestMethod(<span class="hljs-string">"GET"</span>);
  6177. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  6178. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  6179. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  6180. String inputLine;
  6181. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  6182. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  6183. response.append(inputLine);
  6184. }
  6185. in.close();
  6186. System.out.println(response.toString());
  6187. </code></pre>
  6188. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  6189. <span class="hljs-keyword">import</span> (
  6190. <span class="hljs-string">"bytes"</span>
  6191. <span class="hljs-string">"net/http"</span>
  6192. )
  6193. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  6194. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  6195. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  6196. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  6197. }
  6198. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  6199. req, err := http.NewRequest(<span class="hljs-string">"GET"</span>, <span class="hljs-string">"/api/boards/{board}/custom-fields"</span>, data)
  6200. req.Header = headers
  6201. client := &amp;http.Client{}
  6202. resp, err := client.Do(req)
  6203. <span class="hljs-comment">// ...</span>
  6204. }
  6205. </code></pre>
  6206. <p><code>GET /api/boards/{board}/custom-fields</code></p>
  6207. <p><em>Get the list of Custom Fields attached to a board</em></p>
  6208. <h3 id="get_all_custom_fields-parameters">Parameters</h3>
  6209. <table>
  6210. <thead>
  6211. <tr>
  6212. <th>Name</th>
  6213. <th>In</th>
  6214. <th>Type</th>
  6215. <th>Required</th>
  6216. <th>Description</th>
  6217. </tr>
  6218. </thead>
  6219. <tbody>
  6220. <tr>
  6221. <td>board</td>
  6222. <td>path</td>
  6223. <td>string</td>
  6224. <td>true</td>
  6225. <td>the board value</td>
  6226. </tr>
  6227. </tbody>
  6228. </table>
  6229. <blockquote>
  6230. <p>Example responses</p>
  6231. </blockquote>
  6232. <blockquote>
  6233. <p>200 Response</p>
  6234. </blockquote>
  6235. <pre class="highlight tab tab-json"><code>[
  6236. {
  6237. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>,
  6238. <span class="hljs-attr">"name"</span>: <span class="hljs-string">"string"</span>,
  6239. <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
  6240. }
  6241. ]
  6242. </code></pre>
  6243. <h3 id="get_all_custom_fields-responses">Responses</h3>
  6244. <table>
  6245. <thead>
  6246. <tr>
  6247. <th>Status</th>
  6248. <th>Meaning</th>
  6249. <th>Description</th>
  6250. <th>Schema</th>
  6251. </tr>
  6252. </thead>
  6253. <tbody>
  6254. <tr>
  6255. <td>200</td>
  6256. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  6257. <td>200 response</td>
  6258. <td>Inline</td>
  6259. </tr>
  6260. </tbody>
  6261. </table>
  6262. <h3 id="get_all_custom_fields-responseschema">Response Schema</h3>
  6263. <p>Status Code <strong>200</strong></p>
  6264. <table>
  6265. <thead>
  6266. <tr>
  6267. <th>Name</th>
  6268. <th>Type</th>
  6269. <th>Required</th>
  6270. <th>Restrictions</th>
  6271. <th>Description</th>
  6272. </tr>
  6273. </thead>
  6274. <tbody>
  6275. <tr>
  6276. <td>» _id</td>
  6277. <td>string</td>
  6278. <td>false</td>
  6279. <td>none</td>
  6280. <td>none</td>
  6281. </tr>
  6282. <tr>
  6283. <td>» name</td>
  6284. <td>string</td>
  6285. <td>false</td>
  6286. <td>none</td>
  6287. <td>none</td>
  6288. </tr>
  6289. <tr>
  6290. <td>» type</td>
  6291. <td>string</td>
  6292. <td>false</td>
  6293. <td>none</td>
  6294. <td>none</td>
  6295. </tr>
  6296. </tbody>
  6297. </table>
  6298. <aside class="warning">
  6299. To perform this operation, you must be authenticated by means of one of the following methods:
  6300. UserSecurity
  6301. </aside>
  6302. <h2 id="new_custom_field">new_custom_field</h2>
  6303. <p><a id="opIdnew_custom_field"></a></p>
  6304. <blockquote>
  6305. <p>Code samples</p>
  6306. </blockquote>
  6307. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  6308. curl -X POST /api/boards/{board}/custom-fields \
  6309. -H <span class="hljs-string">'Content-Type: multipart/form-data'</span> \
  6310. -H <span class="hljs-string">'Accept: application/json'</span> \
  6311. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  6312. </code></pre>
  6313. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">POST</span> <span class="hljs-string">/api/boards/{board}/custom-fields</span> HTTP/1.1
  6314. <span class="fortran">Content-<span class="hljs-keyword">Type</span>: multipart/<span class="hljs-keyword">form</span>-<span class="hljs-keyword">data</span>
  6315. Accept: application/json
  6316. </span></code></pre>
  6317. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  6318. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  6319. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  6320. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  6321. };
  6322. $.ajax({
  6323. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/custom-fields'</span>,
  6324. <span class="hljs-attr">method</span>: <span class="hljs-string">'post'</span>,
  6325. <span class="hljs-attr">headers</span>: headers,
  6326. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  6327. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  6328. }
  6329. })
  6330. </code></pre>
  6331. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  6332. <span class="hljs-keyword">const</span> inputBody = <span class="hljs-string">'{
  6333. "name": "string",
  6334. "type": "string",
  6335. "settings": "string",
  6336. "showOnCard": true,
  6337. "automaticallyOnCard": true,
  6338. "showLabelOnMiniCard": true,
  6339. "authorId": "string"
  6340. }'</span>;
  6341. <span class="hljs-keyword">const</span> headers = {
  6342. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  6343. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  6344. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  6345. };
  6346. fetch(<span class="hljs-string">'/api/boards/{board}/custom-fields'</span>,
  6347. {
  6348. <span class="hljs-attr">method</span>: <span class="hljs-string">'POST'</span>,
  6349. <span class="hljs-attr">body</span>: inputBody,
  6350. <span class="hljs-attr">headers</span>: headers
  6351. })
  6352. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  6353. <span class="hljs-keyword">return</span> res.json();
  6354. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  6355. <span class="hljs-built_in">console</span>.log(body);
  6356. });
  6357. </code></pre>
  6358. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  6359. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  6360. headers = {
  6361. <span class="hljs-string">'Content-Type'</span> =&gt; <span class="hljs-string">'multipart/form-data'</span>,
  6362. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  6363. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  6364. }
  6365. result = RestClient.post <span class="hljs-string">'/api/boards/{board}/custom-fields'</span>,
  6366. <span class="hljs-symbol">params:</span> {
  6367. }, <span class="hljs-symbol">headers:</span> headers
  6368. p JSON.parse(result)
  6369. </code></pre>
  6370. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  6371. headers = {
  6372. <span class="hljs-string">'Content-Type'</span>: <span class="hljs-string">'multipart/form-data'</span>,
  6373. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  6374. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  6375. }
  6376. r = requests.post(<span class="hljs-string">'/api/boards/{board}/custom-fields'</span>, params={
  6377. }, headers = headers)
  6378. <span class="hljs-keyword">print</span> r.json()
  6379. </code></pre>
  6380. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/custom-fields"</span>);
  6381. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  6382. con.setRequestMethod(<span class="hljs-string">"POST"</span>);
  6383. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  6384. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  6385. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  6386. String inputLine;
  6387. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  6388. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  6389. response.append(inputLine);
  6390. }
  6391. in.close();
  6392. System.out.println(response.toString());
  6393. </code></pre>
  6394. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  6395. <span class="hljs-keyword">import</span> (
  6396. <span class="hljs-string">"bytes"</span>
  6397. <span class="hljs-string">"net/http"</span>
  6398. )
  6399. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  6400. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  6401. <span class="hljs-string">"Content-Type"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"multipart/form-data"</span>},
  6402. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  6403. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  6404. }
  6405. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  6406. req, err := http.NewRequest(<span class="hljs-string">"POST"</span>, <span class="hljs-string">"/api/boards/{board}/custom-fields"</span>, data)
  6407. req.Header = headers
  6408. client := &amp;http.Client{}
  6409. resp, err := client.Do(req)
  6410. <span class="hljs-comment">// ...</span>
  6411. }
  6412. </code></pre>
  6413. <p><code>POST /api/boards/{board}/custom-fields</code></p>
  6414. <p><em>Create a Custom Field</em></p>
  6415. <blockquote>
  6416. <p>Body parameter</p>
  6417. </blockquote>
  6418. <pre class="highlight tab tab-yaml"><code><span class="hljs-attr">name:</span> <span class="hljs-string">string</span>
  6419. <span class="hljs-attr">type:</span> <span class="hljs-string">string</span>
  6420. <span class="hljs-attr">settings:</span> <span class="hljs-string">string</span>
  6421. <span class="hljs-attr">showOnCard:</span> <span class="hljs-literal">true</span>
  6422. <span class="hljs-attr">automaticallyOnCard:</span> <span class="hljs-literal">true</span>
  6423. <span class="hljs-attr">showLabelOnMiniCard:</span> <span class="hljs-literal">true</span>
  6424. <span class="hljs-attr">authorId:</span> <span class="hljs-string">string</span>
  6425. </code></pre>
  6426. <h3 id="new_custom_field-parameters">Parameters</h3>
  6427. <table>
  6428. <thead>
  6429. <tr>
  6430. <th>Name</th>
  6431. <th>In</th>
  6432. <th>Type</th>
  6433. <th>Required</th>
  6434. <th>Description</th>
  6435. </tr>
  6436. </thead>
  6437. <tbody>
  6438. <tr>
  6439. <td>board</td>
  6440. <td>path</td>
  6441. <td>string</td>
  6442. <td>true</td>
  6443. <td>the board value</td>
  6444. </tr>
  6445. <tr>
  6446. <td>body</td>
  6447. <td>body</td>
  6448. <td>object</td>
  6449. <td>false</td>
  6450. <td>none</td>
  6451. </tr>
  6452. <tr>
  6453. <td>» name</td>
  6454. <td>body</td>
  6455. <td>string</td>
  6456. <td>true</td>
  6457. <td>the name of the custom field</td>
  6458. </tr>
  6459. <tr>
  6460. <td>» type</td>
  6461. <td>body</td>
  6462. <td>string</td>
  6463. <td>true</td>
  6464. <td>the type of the custom field</td>
  6465. </tr>
  6466. <tr>
  6467. <td>» settings</td>
  6468. <td>body</td>
  6469. <td>string</td>
  6470. <td>true</td>
  6471. <td>the settings object of the custom field</td>
  6472. </tr>
  6473. <tr>
  6474. <td>» showOnCard</td>
  6475. <td>body</td>
  6476. <td>boolean</td>
  6477. <td>true</td>
  6478. <td>should we show the custom field on cards?</td>
  6479. </tr>
  6480. <tr>
  6481. <td>» automaticallyOnCard</td>
  6482. <td>body</td>
  6483. <td>boolean</td>
  6484. <td>true</td>
  6485. <td>should the custom fields automatically be added on cards?</td>
  6486. </tr>
  6487. <tr>
  6488. <td>» showLabelOnMiniCard</td>
  6489. <td>body</td>
  6490. <td>boolean</td>
  6491. <td>true</td>
  6492. <td>should the label of the custom field be shown on minicards?</td>
  6493. </tr>
  6494. <tr>
  6495. <td>» authorId</td>
  6496. <td>body</td>
  6497. <td>string</td>
  6498. <td>true</td>
  6499. <td>the authorId value</td>
  6500. </tr>
  6501. </tbody>
  6502. </table>
  6503. <blockquote>
  6504. <p>Example responses</p>
  6505. </blockquote>
  6506. <blockquote>
  6507. <p>200 Response</p>
  6508. </blockquote>
  6509. <pre class="highlight tab tab-json"><code>{
  6510. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>
  6511. }
  6512. </code></pre>
  6513. <h3 id="new_custom_field-responses">Responses</h3>
  6514. <table>
  6515. <thead>
  6516. <tr>
  6517. <th>Status</th>
  6518. <th>Meaning</th>
  6519. <th>Description</th>
  6520. <th>Schema</th>
  6521. </tr>
  6522. </thead>
  6523. <tbody>
  6524. <tr>
  6525. <td>200</td>
  6526. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  6527. <td>200 response</td>
  6528. <td>Inline</td>
  6529. </tr>
  6530. </tbody>
  6531. </table>
  6532. <h3 id="new_custom_field-responseschema">Response Schema</h3>
  6533. <p>Status Code <strong>200</strong></p>
  6534. <table>
  6535. <thead>
  6536. <tr>
  6537. <th>Name</th>
  6538. <th>Type</th>
  6539. <th>Required</th>
  6540. <th>Restrictions</th>
  6541. <th>Description</th>
  6542. </tr>
  6543. </thead>
  6544. <tbody>
  6545. <tr>
  6546. <td>» _id</td>
  6547. <td>string</td>
  6548. <td>false</td>
  6549. <td>none</td>
  6550. <td>none</td>
  6551. </tr>
  6552. </tbody>
  6553. </table>
  6554. <aside class="warning">
  6555. To perform this operation, you must be authenticated by means of one of the following methods:
  6556. UserSecurity
  6557. </aside>
  6558. <h2 id="get_custom_field">get_custom_field</h2>
  6559. <p><a id="opIdget_custom_field"></a></p>
  6560. <blockquote>
  6561. <p>Code samples</p>
  6562. </blockquote>
  6563. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  6564. curl -X GET /api/boards/{board}/custom-fields/{customField} \
  6565. -H <span class="hljs-string">'Accept: application/json'</span> \
  6566. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  6567. </code></pre>
  6568. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">GET</span> <span class="hljs-string">/api/boards/{board}/custom-fields/{customField}</span> HTTP/1.1
  6569. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  6570. <span class="undefined"></span></span></code></pre>
  6571. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  6572. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  6573. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  6574. };
  6575. $.ajax({
  6576. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/custom-fields/{customField}'</span>,
  6577. <span class="hljs-attr">method</span>: <span class="hljs-string">'get'</span>,
  6578. <span class="hljs-attr">headers</span>: headers,
  6579. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  6580. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  6581. }
  6582. })
  6583. </code></pre>
  6584. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  6585. <span class="hljs-keyword">const</span> headers = {
  6586. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  6587. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  6588. };
  6589. fetch(<span class="hljs-string">'/api/boards/{board}/custom-fields/{customField}'</span>,
  6590. {
  6591. <span class="hljs-attr">method</span>: <span class="hljs-string">'GET'</span>,
  6592. <span class="hljs-attr">headers</span>: headers
  6593. })
  6594. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  6595. <span class="hljs-keyword">return</span> res.json();
  6596. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  6597. <span class="hljs-built_in">console</span>.log(body);
  6598. });
  6599. </code></pre>
  6600. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  6601. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  6602. headers = {
  6603. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  6604. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  6605. }
  6606. result = RestClient.get <span class="hljs-string">'/api/boards/{board}/custom-fields/{customField}'</span>,
  6607. <span class="hljs-symbol">params:</span> {
  6608. }, <span class="hljs-symbol">headers:</span> headers
  6609. p JSON.parse(result)
  6610. </code></pre>
  6611. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  6612. headers = {
  6613. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  6614. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  6615. }
  6616. r = requests.get(<span class="hljs-string">'/api/boards/{board}/custom-fields/{customField}'</span>, params={
  6617. }, headers = headers)
  6618. <span class="hljs-keyword">print</span> r.json()
  6619. </code></pre>
  6620. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/custom-fields/{customField}"</span>);
  6621. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  6622. con.setRequestMethod(<span class="hljs-string">"GET"</span>);
  6623. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  6624. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  6625. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  6626. String inputLine;
  6627. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  6628. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  6629. response.append(inputLine);
  6630. }
  6631. in.close();
  6632. System.out.println(response.toString());
  6633. </code></pre>
  6634. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  6635. <span class="hljs-keyword">import</span> (
  6636. <span class="hljs-string">"bytes"</span>
  6637. <span class="hljs-string">"net/http"</span>
  6638. )
  6639. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  6640. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  6641. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  6642. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  6643. }
  6644. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  6645. req, err := http.NewRequest(<span class="hljs-string">"GET"</span>, <span class="hljs-string">"/api/boards/{board}/custom-fields/{customField}"</span>, data)
  6646. req.Header = headers
  6647. client := &amp;http.Client{}
  6648. resp, err := client.Do(req)
  6649. <span class="hljs-comment">// ...</span>
  6650. }
  6651. </code></pre>
  6652. <p><code>GET /api/boards/{board}/custom-fields/{customField}</code></p>
  6653. <p><em>Get a Custom Fields attached to a board</em></p>
  6654. <h3 id="get_custom_field-parameters">Parameters</h3>
  6655. <table>
  6656. <thead>
  6657. <tr>
  6658. <th>Name</th>
  6659. <th>In</th>
  6660. <th>Type</th>
  6661. <th>Required</th>
  6662. <th>Description</th>
  6663. </tr>
  6664. </thead>
  6665. <tbody>
  6666. <tr>
  6667. <td>board</td>
  6668. <td>path</td>
  6669. <td>string</td>
  6670. <td>true</td>
  6671. <td>the board value</td>
  6672. </tr>
  6673. <tr>
  6674. <td>customField</td>
  6675. <td>path</td>
  6676. <td>string</td>
  6677. <td>true</td>
  6678. <td>the ID of the custom field</td>
  6679. </tr>
  6680. </tbody>
  6681. </table>
  6682. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  6683. <p><strong>customField</strong>: the ID of the custom field</p>
  6684. <blockquote>
  6685. <p>Example responses</p>
  6686. </blockquote>
  6687. <blockquote>
  6688. <p>200 Response</p>
  6689. </blockquote>
  6690. <pre class="highlight tab tab-json"><code>{
  6691. <span class="hljs-attr">"boardIds"</span>: [
  6692. <span class="hljs-string">"string"</span>
  6693. ],
  6694. <span class="hljs-attr">"name"</span>: <span class="hljs-string">"string"</span>,
  6695. <span class="hljs-attr">"type"</span>: <span class="hljs-string">"text"</span>,
  6696. <span class="hljs-attr">"settings"</span>: {
  6697. <span class="hljs-attr">"currencyCode"</span>: <span class="hljs-string">"string"</span>,
  6698. <span class="hljs-attr">"dropdownItems"</span>: [
  6699. {}
  6700. ]
  6701. },
  6702. <span class="hljs-attr">"showOnCard"</span>: <span class="hljs-literal">true</span>,
  6703. <span class="hljs-attr">"automaticallyOnCard"</span>: <span class="hljs-literal">true</span>,
  6704. <span class="hljs-attr">"alwaysOnCard"</span>: <span class="hljs-literal">true</span>,
  6705. <span class="hljs-attr">"showLabelOnMiniCard"</span>: <span class="hljs-literal">true</span>,
  6706. <span class="hljs-attr">"createdAt"</span>: <span class="hljs-string">"string"</span>,
  6707. <span class="hljs-attr">"modifiedAt"</span>: <span class="hljs-string">"string"</span>
  6708. }
  6709. </code></pre>
  6710. <h3 id="get_custom_field-responses">Responses</h3>
  6711. <table>
  6712. <thead>
  6713. <tr>
  6714. <th>Status</th>
  6715. <th>Meaning</th>
  6716. <th>Description</th>
  6717. <th>Schema</th>
  6718. </tr>
  6719. </thead>
  6720. <tbody>
  6721. <tr>
  6722. <td>200</td>
  6723. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  6724. <td>200 response</td>
  6725. <td><a href="#schemacustomfields">CustomFields</a></td>
  6726. </tr>
  6727. </tbody>
  6728. </table>
  6729. <aside class="warning">
  6730. To perform this operation, you must be authenticated by means of one of the following methods:
  6731. UserSecurity
  6732. </aside>
  6733. <h2 id="delete_custom_field">delete_custom_field</h2>
  6734. <p><a id="opIddelete_custom_field"></a></p>
  6735. <blockquote>
  6736. <p>Code samples</p>
  6737. </blockquote>
  6738. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  6739. curl -X DELETE /api/boards/{board}/custom-fields/{customField} \
  6740. -H <span class="hljs-string">'Accept: application/json'</span> \
  6741. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  6742. </code></pre>
  6743. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">DELETE</span> <span class="hljs-string">/api/boards/{board}/custom-fields/{customField}</span> HTTP/1.1
  6744. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  6745. <span class="undefined"></span></span></code></pre>
  6746. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  6747. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  6748. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  6749. };
  6750. $.ajax({
  6751. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/custom-fields/{customField}'</span>,
  6752. <span class="hljs-attr">method</span>: <span class="hljs-string">'delete'</span>,
  6753. <span class="hljs-attr">headers</span>: headers,
  6754. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  6755. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  6756. }
  6757. })
  6758. </code></pre>
  6759. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  6760. <span class="hljs-keyword">const</span> headers = {
  6761. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  6762. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  6763. };
  6764. fetch(<span class="hljs-string">'/api/boards/{board}/custom-fields/{customField}'</span>,
  6765. {
  6766. <span class="hljs-attr">method</span>: <span class="hljs-string">'DELETE'</span>,
  6767. <span class="hljs-attr">headers</span>: headers
  6768. })
  6769. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  6770. <span class="hljs-keyword">return</span> res.json();
  6771. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  6772. <span class="hljs-built_in">console</span>.log(body);
  6773. });
  6774. </code></pre>
  6775. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  6776. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  6777. headers = {
  6778. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  6779. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  6780. }
  6781. result = RestClient.delete <span class="hljs-string">'/api/boards/{board}/custom-fields/{customField}'</span>,
  6782. <span class="hljs-symbol">params:</span> {
  6783. }, <span class="hljs-symbol">headers:</span> headers
  6784. p JSON.parse(result)
  6785. </code></pre>
  6786. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  6787. headers = {
  6788. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  6789. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  6790. }
  6791. r = requests.delete(<span class="hljs-string">'/api/boards/{board}/custom-fields/{customField}'</span>, params={
  6792. }, headers = headers)
  6793. <span class="hljs-keyword">print</span> r.json()
  6794. </code></pre>
  6795. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/custom-fields/{customField}"</span>);
  6796. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  6797. con.setRequestMethod(<span class="hljs-string">"DELETE"</span>);
  6798. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  6799. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  6800. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  6801. String inputLine;
  6802. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  6803. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  6804. response.append(inputLine);
  6805. }
  6806. in.close();
  6807. System.out.println(response.toString());
  6808. </code></pre>
  6809. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  6810. <span class="hljs-keyword">import</span> (
  6811. <span class="hljs-string">"bytes"</span>
  6812. <span class="hljs-string">"net/http"</span>
  6813. )
  6814. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  6815. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  6816. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  6817. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  6818. }
  6819. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  6820. req, err := http.NewRequest(<span class="hljs-string">"DELETE"</span>, <span class="hljs-string">"/api/boards/{board}/custom-fields/{customField}"</span>, data)
  6821. req.Header = headers
  6822. client := &amp;http.Client{}
  6823. resp, err := client.Do(req)
  6824. <span class="hljs-comment">// ...</span>
  6825. }
  6826. </code></pre>
  6827. <p><code>DELETE /api/boards/{board}/custom-fields/{customField}</code></p>
  6828. <p><em>Delete a Custom Fields attached to a board</em></p>
  6829. <p>The Custom Field can't be retrieved after this operation</p>
  6830. <h3 id="delete_custom_field-parameters">Parameters</h3>
  6831. <table>
  6832. <thead>
  6833. <tr>
  6834. <th>Name</th>
  6835. <th>In</th>
  6836. <th>Type</th>
  6837. <th>Required</th>
  6838. <th>Description</th>
  6839. </tr>
  6840. </thead>
  6841. <tbody>
  6842. <tr>
  6843. <td>board</td>
  6844. <td>path</td>
  6845. <td>string</td>
  6846. <td>true</td>
  6847. <td>the board value</td>
  6848. </tr>
  6849. <tr>
  6850. <td>customField</td>
  6851. <td>path</td>
  6852. <td>string</td>
  6853. <td>true</td>
  6854. <td>the ID of the custom field</td>
  6855. </tr>
  6856. </tbody>
  6857. </table>
  6858. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  6859. <p><strong>customField</strong>: the ID of the custom field</p>
  6860. <blockquote>
  6861. <p>Example responses</p>
  6862. </blockquote>
  6863. <blockquote>
  6864. <p>200 Response</p>
  6865. </blockquote>
  6866. <pre class="highlight tab tab-json"><code>{
  6867. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>
  6868. }
  6869. </code></pre>
  6870. <h3 id="delete_custom_field-responses">Responses</h3>
  6871. <table>
  6872. <thead>
  6873. <tr>
  6874. <th>Status</th>
  6875. <th>Meaning</th>
  6876. <th>Description</th>
  6877. <th>Schema</th>
  6878. </tr>
  6879. </thead>
  6880. <tbody>
  6881. <tr>
  6882. <td>200</td>
  6883. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  6884. <td>200 response</td>
  6885. <td>Inline</td>
  6886. </tr>
  6887. </tbody>
  6888. </table>
  6889. <h3 id="delete_custom_field-responseschema">Response Schema</h3>
  6890. <p>Status Code <strong>200</strong></p>
  6891. <table>
  6892. <thead>
  6893. <tr>
  6894. <th>Name</th>
  6895. <th>Type</th>
  6896. <th>Required</th>
  6897. <th>Restrictions</th>
  6898. <th>Description</th>
  6899. </tr>
  6900. </thead>
  6901. <tbody>
  6902. <tr>
  6903. <td>» _id</td>
  6904. <td>string</td>
  6905. <td>false</td>
  6906. <td>none</td>
  6907. <td>none</td>
  6908. </tr>
  6909. </tbody>
  6910. </table>
  6911. <aside class="warning">
  6912. To perform this operation, you must be authenticated by means of one of the following methods:
  6913. UserSecurity
  6914. </aside>
  6915. <h1 id="wekan-rest-api-boards">Boards</h1>
  6916. <h2 id="exportjson">exportJson</h2>
  6917. <p><a id="opIdexportJson"></a></p>
  6918. <blockquote>
  6919. <p>Code samples</p>
  6920. </blockquote>
  6921. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  6922. curl -X GET /api/boards/{board}/<span class="hljs-built_in">export</span> \
  6923. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  6924. </code></pre>
  6925. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">GET</span> <span class="hljs-string">/api/boards/{board}/export</span> HTTP/1.1
  6926. <span class="undefined"></span></code></pre>
  6927. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  6928. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  6929. };
  6930. $.ajax({
  6931. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/export'</span>,
  6932. <span class="hljs-attr">method</span>: <span class="hljs-string">'get'</span>,
  6933. <span class="hljs-attr">headers</span>: headers,
  6934. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  6935. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  6936. }
  6937. })
  6938. </code></pre>
  6939. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  6940. <span class="hljs-keyword">const</span> headers = {
  6941. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  6942. };
  6943. fetch(<span class="hljs-string">'/api/boards/{board}/export'</span>,
  6944. {
  6945. <span class="hljs-attr">method</span>: <span class="hljs-string">'GET'</span>,
  6946. <span class="hljs-attr">headers</span>: headers
  6947. })
  6948. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  6949. <span class="hljs-keyword">return</span> res.json();
  6950. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  6951. <span class="hljs-built_in">console</span>.log(body);
  6952. });
  6953. </code></pre>
  6954. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  6955. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  6956. headers = {
  6957. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  6958. }
  6959. result = RestClient.get <span class="hljs-string">'/api/boards/{board}/export'</span>,
  6960. <span class="hljs-symbol">params:</span> {
  6961. }, <span class="hljs-symbol">headers:</span> headers
  6962. p JSON.parse(result)
  6963. </code></pre>
  6964. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  6965. headers = {
  6966. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  6967. }
  6968. r = requests.get(<span class="hljs-string">'/api/boards/{board}/export'</span>, params={
  6969. }, headers = headers)
  6970. <span class="hljs-keyword">print</span> r.json()
  6971. </code></pre>
  6972. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/export"</span>);
  6973. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  6974. con.setRequestMethod(<span class="hljs-string">"GET"</span>);
  6975. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  6976. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  6977. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  6978. String inputLine;
  6979. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  6980. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  6981. response.append(inputLine);
  6982. }
  6983. in.close();
  6984. System.out.println(response.toString());
  6985. </code></pre>
  6986. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  6987. <span class="hljs-keyword">import</span> (
  6988. <span class="hljs-string">"bytes"</span>
  6989. <span class="hljs-string">"net/http"</span>
  6990. )
  6991. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  6992. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  6993. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  6994. }
  6995. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  6996. req, err := http.NewRequest(<span class="hljs-string">"GET"</span>, <span class="hljs-string">"/api/boards/{board}/export"</span>, data)
  6997. req.Header = headers
  6998. client := &amp;http.Client{}
  6999. resp, err := client.Do(req)
  7000. <span class="hljs-comment">// ...</span>
  7001. }
  7002. </code></pre>
  7003. <p><code>GET /api/boards/{board}/export</code></p>
  7004. <p><em>This route is used to export the board to a json file format.</em></p>
  7005. <p>If user is already logged-in, pass loginToken as param
  7006. &quot;authToken&quot;: '/api/boards/:boardId/export?authToken=:token'</p>
  7007. <p>See <a href="https://blog.kayla.com.au/server-side-route-authentication-in-meteor/">https://blog.kayla.com.au/server-side-route-authentication-in-meteor/</a>
  7008. for detailed explanations</p>
  7009. <h3 id="exportjson-parameters">Parameters</h3>
  7010. <table>
  7011. <thead>
  7012. <tr>
  7013. <th>Name</th>
  7014. <th>In</th>
  7015. <th>Type</th>
  7016. <th>Required</th>
  7017. <th>Description</th>
  7018. </tr>
  7019. </thead>
  7020. <tbody>
  7021. <tr>
  7022. <td>board</td>
  7023. <td>path</td>
  7024. <td>string</td>
  7025. <td>true</td>
  7026. <td>the ID of the board we are exporting</td>
  7027. </tr>
  7028. </tbody>
  7029. </table>
  7030. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  7031. <p><strong>board</strong>: the ID of the board we are exporting</p>
  7032. <h3 id="exportjson-responses">Responses</h3>
  7033. <table>
  7034. <thead>
  7035. <tr>
  7036. <th>Status</th>
  7037. <th>Meaning</th>
  7038. <th>Description</th>
  7039. <th>Schema</th>
  7040. </tr>
  7041. </thead>
  7042. <tbody>
  7043. <tr>
  7044. <td>200</td>
  7045. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  7046. <td>200 response</td>
  7047. <td>None</td>
  7048. </tr>
  7049. </tbody>
  7050. </table>
  7051. <aside class="warning">
  7052. To perform this operation, you must be authenticated by means of one of the following methods:
  7053. UserSecurity
  7054. </aside>
  7055. <h1 id="wekan-rest-api-integrations">Integrations</h1>
  7056. <h2 id="get_all_integrations">get_all_integrations</h2>
  7057. <p><a id="opIdget_all_integrations"></a></p>
  7058. <blockquote>
  7059. <p>Code samples</p>
  7060. </blockquote>
  7061. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  7062. curl -X GET /api/boards/{board}/integrations \
  7063. -H <span class="hljs-string">'Accept: application/json'</span> \
  7064. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  7065. </code></pre>
  7066. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">GET</span> <span class="hljs-string">/api/boards/{board}/integrations</span> HTTP/1.1
  7067. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  7068. <span class="undefined"></span></span></code></pre>
  7069. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  7070. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  7071. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  7072. };
  7073. $.ajax({
  7074. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/integrations'</span>,
  7075. <span class="hljs-attr">method</span>: <span class="hljs-string">'get'</span>,
  7076. <span class="hljs-attr">headers</span>: headers,
  7077. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  7078. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  7079. }
  7080. })
  7081. </code></pre>
  7082. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  7083. <span class="hljs-keyword">const</span> headers = {
  7084. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  7085. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  7086. };
  7087. fetch(<span class="hljs-string">'/api/boards/{board}/integrations'</span>,
  7088. {
  7089. <span class="hljs-attr">method</span>: <span class="hljs-string">'GET'</span>,
  7090. <span class="hljs-attr">headers</span>: headers
  7091. })
  7092. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  7093. <span class="hljs-keyword">return</span> res.json();
  7094. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  7095. <span class="hljs-built_in">console</span>.log(body);
  7096. });
  7097. </code></pre>
  7098. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  7099. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  7100. headers = {
  7101. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  7102. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  7103. }
  7104. result = RestClient.get <span class="hljs-string">'/api/boards/{board}/integrations'</span>,
  7105. <span class="hljs-symbol">params:</span> {
  7106. }, <span class="hljs-symbol">headers:</span> headers
  7107. p JSON.parse(result)
  7108. </code></pre>
  7109. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  7110. headers = {
  7111. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  7112. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  7113. }
  7114. r = requests.get(<span class="hljs-string">'/api/boards/{board}/integrations'</span>, params={
  7115. }, headers = headers)
  7116. <span class="hljs-keyword">print</span> r.json()
  7117. </code></pre>
  7118. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/integrations"</span>);
  7119. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  7120. con.setRequestMethod(<span class="hljs-string">"GET"</span>);
  7121. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  7122. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  7123. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  7124. String inputLine;
  7125. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  7126. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  7127. response.append(inputLine);
  7128. }
  7129. in.close();
  7130. System.out.println(response.toString());
  7131. </code></pre>
  7132. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  7133. <span class="hljs-keyword">import</span> (
  7134. <span class="hljs-string">"bytes"</span>
  7135. <span class="hljs-string">"net/http"</span>
  7136. )
  7137. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  7138. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  7139. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  7140. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  7141. }
  7142. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  7143. req, err := http.NewRequest(<span class="hljs-string">"GET"</span>, <span class="hljs-string">"/api/boards/{board}/integrations"</span>, data)
  7144. req.Header = headers
  7145. client := &amp;http.Client{}
  7146. resp, err := client.Do(req)
  7147. <span class="hljs-comment">// ...</span>
  7148. }
  7149. </code></pre>
  7150. <p><code>GET /api/boards/{board}/integrations</code></p>
  7151. <p><em>Get all integrations in board</em></p>
  7152. <h3 id="get_all_integrations-parameters">Parameters</h3>
  7153. <table>
  7154. <thead>
  7155. <tr>
  7156. <th>Name</th>
  7157. <th>In</th>
  7158. <th>Type</th>
  7159. <th>Required</th>
  7160. <th>Description</th>
  7161. </tr>
  7162. </thead>
  7163. <tbody>
  7164. <tr>
  7165. <td>board</td>
  7166. <td>path</td>
  7167. <td>string</td>
  7168. <td>true</td>
  7169. <td>the board ID</td>
  7170. </tr>
  7171. </tbody>
  7172. </table>
  7173. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  7174. <p><strong>board</strong>: the board ID</p>
  7175. <blockquote>
  7176. <p>Example responses</p>
  7177. </blockquote>
  7178. <blockquote>
  7179. <p>200 Response</p>
  7180. </blockquote>
  7181. <pre class="highlight tab tab-json"><code>[
  7182. {
  7183. <span class="hljs-attr">"enabled"</span>: <span class="hljs-literal">true</span>,
  7184. <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
  7185. <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>,
  7186. <span class="hljs-attr">"activities"</span>: [
  7187. <span class="hljs-string">"string"</span>
  7188. ],
  7189. <span class="hljs-attr">"url"</span>: <span class="hljs-string">"string"</span>,
  7190. <span class="hljs-attr">"token"</span>: <span class="hljs-string">"string"</span>,
  7191. <span class="hljs-attr">"boardId"</span>: <span class="hljs-string">"string"</span>,
  7192. <span class="hljs-attr">"createdAt"</span>: <span class="hljs-string">"string"</span>,
  7193. <span class="hljs-attr">"modifiedAt"</span>: <span class="hljs-string">"string"</span>,
  7194. <span class="hljs-attr">"userId"</span>: <span class="hljs-string">"string"</span>
  7195. }
  7196. ]
  7197. </code></pre>
  7198. <h3 id="get_all_integrations-responses">Responses</h3>
  7199. <table>
  7200. <thead>
  7201. <tr>
  7202. <th>Status</th>
  7203. <th>Meaning</th>
  7204. <th>Description</th>
  7205. <th>Schema</th>
  7206. </tr>
  7207. </thead>
  7208. <tbody>
  7209. <tr>
  7210. <td>200</td>
  7211. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  7212. <td>200 response</td>
  7213. <td>Inline</td>
  7214. </tr>
  7215. </tbody>
  7216. </table>
  7217. <h3 id="get_all_integrations-responseschema">Response Schema</h3>
  7218. <p>Status Code <strong>200</strong></p>
  7219. <table>
  7220. <thead>
  7221. <tr>
  7222. <th>Name</th>
  7223. <th>Type</th>
  7224. <th>Required</th>
  7225. <th>Restrictions</th>
  7226. <th>Description</th>
  7227. </tr>
  7228. </thead>
  7229. <tbody>
  7230. <tr>
  7231. <td><em>anonymous</em></td>
  7232. <td>[<a href="#schemaintegrations">Integrations</a>]</td>
  7233. <td>false</td>
  7234. <td>none</td>
  7235. <td>[Integration with third-party applications]</td>
  7236. </tr>
  7237. <tr>
  7238. <td>» enabled</td>
  7239. <td>boolean</td>
  7240. <td>true</td>
  7241. <td>none</td>
  7242. <td>is the integration enabled?</td>
  7243. </tr>
  7244. <tr>
  7245. <td>» title</td>
  7246. <td>string|null</td>
  7247. <td>false</td>
  7248. <td>none</td>
  7249. <td>name of the integration</td>
  7250. </tr>
  7251. <tr>
  7252. <td>» type</td>
  7253. <td>string</td>
  7254. <td>true</td>
  7255. <td>none</td>
  7256. <td>type of the integratation (Default to 'outgoing-webhooks')</td>
  7257. </tr>
  7258. <tr>
  7259. <td>» activities</td>
  7260. <td>[string]</td>
  7261. <td>true</td>
  7262. <td>none</td>
  7263. <td>activities the integration gets triggered (list)</td>
  7264. </tr>
  7265. <tr>
  7266. <td>» url</td>
  7267. <td>string</td>
  7268. <td>true</td>
  7269. <td>none</td>
  7270. <td>none</td>
  7271. </tr>
  7272. <tr>
  7273. <td>» token</td>
  7274. <td>string|null</td>
  7275. <td>false</td>
  7276. <td>none</td>
  7277. <td>token of the integration</td>
  7278. </tr>
  7279. <tr>
  7280. <td>» boardId</td>
  7281. <td>string</td>
  7282. <td>true</td>
  7283. <td>none</td>
  7284. <td>Board ID of the integration</td>
  7285. </tr>
  7286. <tr>
  7287. <td>» createdAt</td>
  7288. <td>string</td>
  7289. <td>true</td>
  7290. <td>none</td>
  7291. <td>Creation date of the integration</td>
  7292. </tr>
  7293. <tr>
  7294. <td>» modifiedAt</td>
  7295. <td>string</td>
  7296. <td>true</td>
  7297. <td>none</td>
  7298. <td>none</td>
  7299. </tr>
  7300. <tr>
  7301. <td>» userId</td>
  7302. <td>string</td>
  7303. <td>true</td>
  7304. <td>none</td>
  7305. <td>user ID who created the interation</td>
  7306. </tr>
  7307. </tbody>
  7308. </table>
  7309. <aside class="warning">
  7310. To perform this operation, you must be authenticated by means of one of the following methods:
  7311. UserSecurity
  7312. </aside>
  7313. <h2 id="new_integration">new_integration</h2>
  7314. <p><a id="opIdnew_integration"></a></p>
  7315. <blockquote>
  7316. <p>Code samples</p>
  7317. </blockquote>
  7318. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  7319. curl -X POST /api/boards/{board}/integrations \
  7320. -H <span class="hljs-string">'Content-Type: multipart/form-data'</span> \
  7321. -H <span class="hljs-string">'Accept: application/json'</span> \
  7322. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  7323. </code></pre>
  7324. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">POST</span> <span class="hljs-string">/api/boards/{board}/integrations</span> HTTP/1.1
  7325. <span class="fortran">Content-<span class="hljs-keyword">Type</span>: multipart/<span class="hljs-keyword">form</span>-<span class="hljs-keyword">data</span>
  7326. Accept: application/json
  7327. </span></code></pre>
  7328. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  7329. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  7330. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  7331. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  7332. };
  7333. $.ajax({
  7334. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/integrations'</span>,
  7335. <span class="hljs-attr">method</span>: <span class="hljs-string">'post'</span>,
  7336. <span class="hljs-attr">headers</span>: headers,
  7337. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  7338. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  7339. }
  7340. })
  7341. </code></pre>
  7342. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  7343. <span class="hljs-keyword">const</span> inputBody = <span class="hljs-string">'{
  7344. "url": "string"
  7345. }'</span>;
  7346. <span class="hljs-keyword">const</span> headers = {
  7347. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  7348. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  7349. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  7350. };
  7351. fetch(<span class="hljs-string">'/api/boards/{board}/integrations'</span>,
  7352. {
  7353. <span class="hljs-attr">method</span>: <span class="hljs-string">'POST'</span>,
  7354. <span class="hljs-attr">body</span>: inputBody,
  7355. <span class="hljs-attr">headers</span>: headers
  7356. })
  7357. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  7358. <span class="hljs-keyword">return</span> res.json();
  7359. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  7360. <span class="hljs-built_in">console</span>.log(body);
  7361. });
  7362. </code></pre>
  7363. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  7364. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  7365. headers = {
  7366. <span class="hljs-string">'Content-Type'</span> =&gt; <span class="hljs-string">'multipart/form-data'</span>,
  7367. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  7368. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  7369. }
  7370. result = RestClient.post <span class="hljs-string">'/api/boards/{board}/integrations'</span>,
  7371. <span class="hljs-symbol">params:</span> {
  7372. }, <span class="hljs-symbol">headers:</span> headers
  7373. p JSON.parse(result)
  7374. </code></pre>
  7375. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  7376. headers = {
  7377. <span class="hljs-string">'Content-Type'</span>: <span class="hljs-string">'multipart/form-data'</span>,
  7378. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  7379. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  7380. }
  7381. r = requests.post(<span class="hljs-string">'/api/boards/{board}/integrations'</span>, params={
  7382. }, headers = headers)
  7383. <span class="hljs-keyword">print</span> r.json()
  7384. </code></pre>
  7385. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/integrations"</span>);
  7386. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  7387. con.setRequestMethod(<span class="hljs-string">"POST"</span>);
  7388. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  7389. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  7390. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  7391. String inputLine;
  7392. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  7393. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  7394. response.append(inputLine);
  7395. }
  7396. in.close();
  7397. System.out.println(response.toString());
  7398. </code></pre>
  7399. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  7400. <span class="hljs-keyword">import</span> (
  7401. <span class="hljs-string">"bytes"</span>
  7402. <span class="hljs-string">"net/http"</span>
  7403. )
  7404. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  7405. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  7406. <span class="hljs-string">"Content-Type"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"multipart/form-data"</span>},
  7407. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  7408. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  7409. }
  7410. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  7411. req, err := http.NewRequest(<span class="hljs-string">"POST"</span>, <span class="hljs-string">"/api/boards/{board}/integrations"</span>, data)
  7412. req.Header = headers
  7413. client := &amp;http.Client{}
  7414. resp, err := client.Do(req)
  7415. <span class="hljs-comment">// ...</span>
  7416. }
  7417. </code></pre>
  7418. <p><code>POST /api/boards/{board}/integrations</code></p>
  7419. <p><em>Create a new integration</em></p>
  7420. <blockquote>
  7421. <p>Body parameter</p>
  7422. </blockquote>
  7423. <pre class="highlight tab tab-yaml"><code><span class="hljs-attr">url:</span> <span class="hljs-string">string</span>
  7424. </code></pre>
  7425. <h3 id="new_integration-parameters">Parameters</h3>
  7426. <table>
  7427. <thead>
  7428. <tr>
  7429. <th>Name</th>
  7430. <th>In</th>
  7431. <th>Type</th>
  7432. <th>Required</th>
  7433. <th>Description</th>
  7434. </tr>
  7435. </thead>
  7436. <tbody>
  7437. <tr>
  7438. <td>board</td>
  7439. <td>path</td>
  7440. <td>string</td>
  7441. <td>true</td>
  7442. <td>the board ID</td>
  7443. </tr>
  7444. <tr>
  7445. <td>body</td>
  7446. <td>body</td>
  7447. <td>object</td>
  7448. <td>false</td>
  7449. <td>none</td>
  7450. </tr>
  7451. <tr>
  7452. <td>» url</td>
  7453. <td>body</td>
  7454. <td>string</td>
  7455. <td>true</td>
  7456. <td>the URL of the integration</td>
  7457. </tr>
  7458. </tbody>
  7459. </table>
  7460. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  7461. <p><strong>board</strong>: the board ID</p>
  7462. <blockquote>
  7463. <p>Example responses</p>
  7464. </blockquote>
  7465. <blockquote>
  7466. <p>200 Response</p>
  7467. </blockquote>
  7468. <pre class="highlight tab tab-json"><code>{
  7469. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>
  7470. }
  7471. </code></pre>
  7472. <h3 id="new_integration-responses">Responses</h3>
  7473. <table>
  7474. <thead>
  7475. <tr>
  7476. <th>Status</th>
  7477. <th>Meaning</th>
  7478. <th>Description</th>
  7479. <th>Schema</th>
  7480. </tr>
  7481. </thead>
  7482. <tbody>
  7483. <tr>
  7484. <td>200</td>
  7485. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  7486. <td>200 response</td>
  7487. <td>Inline</td>
  7488. </tr>
  7489. </tbody>
  7490. </table>
  7491. <h3 id="new_integration-responseschema">Response Schema</h3>
  7492. <p>Status Code <strong>200</strong></p>
  7493. <table>
  7494. <thead>
  7495. <tr>
  7496. <th>Name</th>
  7497. <th>Type</th>
  7498. <th>Required</th>
  7499. <th>Restrictions</th>
  7500. <th>Description</th>
  7501. </tr>
  7502. </thead>
  7503. <tbody>
  7504. <tr>
  7505. <td>» _id</td>
  7506. <td>string</td>
  7507. <td>false</td>
  7508. <td>none</td>
  7509. <td>none</td>
  7510. </tr>
  7511. </tbody>
  7512. </table>
  7513. <aside class="warning">
  7514. To perform this operation, you must be authenticated by means of one of the following methods:
  7515. UserSecurity
  7516. </aside>
  7517. <h2 id="get_integration">get_integration</h2>
  7518. <p><a id="opIdget_integration"></a></p>
  7519. <blockquote>
  7520. <p>Code samples</p>
  7521. </blockquote>
  7522. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  7523. curl -X GET /api/boards/{board}/integrations/{int} \
  7524. -H <span class="hljs-string">'Accept: application/json'</span> \
  7525. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  7526. </code></pre>
  7527. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">GET</span> <span class="hljs-string">/api/boards/{board}/integrations/{int}</span> HTTP/1.1
  7528. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  7529. <span class="undefined"></span></span></code></pre>
  7530. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  7531. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  7532. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  7533. };
  7534. $.ajax({
  7535. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/integrations/{int}'</span>,
  7536. <span class="hljs-attr">method</span>: <span class="hljs-string">'get'</span>,
  7537. <span class="hljs-attr">headers</span>: headers,
  7538. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  7539. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  7540. }
  7541. })
  7542. </code></pre>
  7543. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  7544. <span class="hljs-keyword">const</span> headers = {
  7545. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  7546. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  7547. };
  7548. fetch(<span class="hljs-string">'/api/boards/{board}/integrations/{int}'</span>,
  7549. {
  7550. <span class="hljs-attr">method</span>: <span class="hljs-string">'GET'</span>,
  7551. <span class="hljs-attr">headers</span>: headers
  7552. })
  7553. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  7554. <span class="hljs-keyword">return</span> res.json();
  7555. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  7556. <span class="hljs-built_in">console</span>.log(body);
  7557. });
  7558. </code></pre>
  7559. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  7560. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  7561. headers = {
  7562. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  7563. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  7564. }
  7565. result = RestClient.get <span class="hljs-string">'/api/boards/{board}/integrations/{int}'</span>,
  7566. <span class="hljs-symbol">params:</span> {
  7567. }, <span class="hljs-symbol">headers:</span> headers
  7568. p JSON.parse(result)
  7569. </code></pre>
  7570. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  7571. headers = {
  7572. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  7573. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  7574. }
  7575. r = requests.get(<span class="hljs-string">'/api/boards/{board}/integrations/{int}'</span>, params={
  7576. }, headers = headers)
  7577. <span class="hljs-keyword">print</span> r.json()
  7578. </code></pre>
  7579. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/integrations/{int}"</span>);
  7580. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  7581. con.setRequestMethod(<span class="hljs-string">"GET"</span>);
  7582. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  7583. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  7584. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  7585. String inputLine;
  7586. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  7587. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  7588. response.append(inputLine);
  7589. }
  7590. in.close();
  7591. System.out.println(response.toString());
  7592. </code></pre>
  7593. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  7594. <span class="hljs-keyword">import</span> (
  7595. <span class="hljs-string">"bytes"</span>
  7596. <span class="hljs-string">"net/http"</span>
  7597. )
  7598. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  7599. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  7600. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  7601. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  7602. }
  7603. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  7604. req, err := http.NewRequest(<span class="hljs-string">"GET"</span>, <span class="hljs-string">"/api/boards/{board}/integrations/{int}"</span>, data)
  7605. req.Header = headers
  7606. client := &amp;http.Client{}
  7607. resp, err := client.Do(req)
  7608. <span class="hljs-comment">// ...</span>
  7609. }
  7610. </code></pre>
  7611. <p><code>GET /api/boards/{board}/integrations/{int}</code></p>
  7612. <p><em>Get a single integration in board</em></p>
  7613. <h3 id="get_integration-parameters">Parameters</h3>
  7614. <table>
  7615. <thead>
  7616. <tr>
  7617. <th>Name</th>
  7618. <th>In</th>
  7619. <th>Type</th>
  7620. <th>Required</th>
  7621. <th>Description</th>
  7622. </tr>
  7623. </thead>
  7624. <tbody>
  7625. <tr>
  7626. <td>board</td>
  7627. <td>path</td>
  7628. <td>string</td>
  7629. <td>true</td>
  7630. <td>the board ID</td>
  7631. </tr>
  7632. <tr>
  7633. <td>int</td>
  7634. <td>path</td>
  7635. <td>string</td>
  7636. <td>true</td>
  7637. <td>the integration ID</td>
  7638. </tr>
  7639. </tbody>
  7640. </table>
  7641. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  7642. <p><strong>board</strong>: the board ID</p>
  7643. <p><strong>int</strong>: the integration ID</p>
  7644. <blockquote>
  7645. <p>Example responses</p>
  7646. </blockquote>
  7647. <blockquote>
  7648. <p>200 Response</p>
  7649. </blockquote>
  7650. <pre class="highlight tab tab-json"><code>{
  7651. <span class="hljs-attr">"enabled"</span>: <span class="hljs-literal">true</span>,
  7652. <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
  7653. <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>,
  7654. <span class="hljs-attr">"activities"</span>: [
  7655. <span class="hljs-string">"string"</span>
  7656. ],
  7657. <span class="hljs-attr">"url"</span>: <span class="hljs-string">"string"</span>,
  7658. <span class="hljs-attr">"token"</span>: <span class="hljs-string">"string"</span>,
  7659. <span class="hljs-attr">"boardId"</span>: <span class="hljs-string">"string"</span>,
  7660. <span class="hljs-attr">"createdAt"</span>: <span class="hljs-string">"string"</span>,
  7661. <span class="hljs-attr">"modifiedAt"</span>: <span class="hljs-string">"string"</span>,
  7662. <span class="hljs-attr">"userId"</span>: <span class="hljs-string">"string"</span>
  7663. }
  7664. </code></pre>
  7665. <h3 id="get_integration-responses">Responses</h3>
  7666. <table>
  7667. <thead>
  7668. <tr>
  7669. <th>Status</th>
  7670. <th>Meaning</th>
  7671. <th>Description</th>
  7672. <th>Schema</th>
  7673. </tr>
  7674. </thead>
  7675. <tbody>
  7676. <tr>
  7677. <td>200</td>
  7678. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  7679. <td>200 response</td>
  7680. <td><a href="#schemaintegrations">Integrations</a></td>
  7681. </tr>
  7682. </tbody>
  7683. </table>
  7684. <aside class="warning">
  7685. To perform this operation, you must be authenticated by means of one of the following methods:
  7686. UserSecurity
  7687. </aside>
  7688. <h2 id="edit_integration">edit_integration</h2>
  7689. <p><a id="opIdedit_integration"></a></p>
  7690. <blockquote>
  7691. <p>Code samples</p>
  7692. </blockquote>
  7693. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  7694. curl -X PUT /api/boards/{board}/integrations/{int} \
  7695. -H <span class="hljs-string">'Content-Type: multipart/form-data'</span> \
  7696. -H <span class="hljs-string">'Accept: application/json'</span> \
  7697. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  7698. </code></pre>
  7699. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">PUT</span> <span class="hljs-string">/api/boards/{board}/integrations/{int}</span> HTTP/1.1
  7700. <span class="fortran">Content-<span class="hljs-keyword">Type</span>: multipart/<span class="hljs-keyword">form</span>-<span class="hljs-keyword">data</span>
  7701. Accept: application/json
  7702. </span></code></pre>
  7703. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  7704. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  7705. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  7706. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  7707. };
  7708. $.ajax({
  7709. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/integrations/{int}'</span>,
  7710. <span class="hljs-attr">method</span>: <span class="hljs-string">'put'</span>,
  7711. <span class="hljs-attr">headers</span>: headers,
  7712. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  7713. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  7714. }
  7715. })
  7716. </code></pre>
  7717. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  7718. <span class="hljs-keyword">const</span> inputBody = <span class="hljs-string">'{
  7719. "enabled": "string",
  7720. "title": "string",
  7721. "url": "string",
  7722. "token": "string",
  7723. "activities": "string"
  7724. }'</span>;
  7725. <span class="hljs-keyword">const</span> headers = {
  7726. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  7727. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  7728. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  7729. };
  7730. fetch(<span class="hljs-string">'/api/boards/{board}/integrations/{int}'</span>,
  7731. {
  7732. <span class="hljs-attr">method</span>: <span class="hljs-string">'PUT'</span>,
  7733. <span class="hljs-attr">body</span>: inputBody,
  7734. <span class="hljs-attr">headers</span>: headers
  7735. })
  7736. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  7737. <span class="hljs-keyword">return</span> res.json();
  7738. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  7739. <span class="hljs-built_in">console</span>.log(body);
  7740. });
  7741. </code></pre>
  7742. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  7743. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  7744. headers = {
  7745. <span class="hljs-string">'Content-Type'</span> =&gt; <span class="hljs-string">'multipart/form-data'</span>,
  7746. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  7747. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  7748. }
  7749. result = RestClient.put <span class="hljs-string">'/api/boards/{board}/integrations/{int}'</span>,
  7750. <span class="hljs-symbol">params:</span> {
  7751. }, <span class="hljs-symbol">headers:</span> headers
  7752. p JSON.parse(result)
  7753. </code></pre>
  7754. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  7755. headers = {
  7756. <span class="hljs-string">'Content-Type'</span>: <span class="hljs-string">'multipart/form-data'</span>,
  7757. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  7758. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  7759. }
  7760. r = requests.put(<span class="hljs-string">'/api/boards/{board}/integrations/{int}'</span>, params={
  7761. }, headers = headers)
  7762. <span class="hljs-keyword">print</span> r.json()
  7763. </code></pre>
  7764. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/integrations/{int}"</span>);
  7765. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  7766. con.setRequestMethod(<span class="hljs-string">"PUT"</span>);
  7767. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  7768. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  7769. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  7770. String inputLine;
  7771. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  7772. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  7773. response.append(inputLine);
  7774. }
  7775. in.close();
  7776. System.out.println(response.toString());
  7777. </code></pre>
  7778. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  7779. <span class="hljs-keyword">import</span> (
  7780. <span class="hljs-string">"bytes"</span>
  7781. <span class="hljs-string">"net/http"</span>
  7782. )
  7783. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  7784. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  7785. <span class="hljs-string">"Content-Type"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"multipart/form-data"</span>},
  7786. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  7787. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  7788. }
  7789. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  7790. req, err := http.NewRequest(<span class="hljs-string">"PUT"</span>, <span class="hljs-string">"/api/boards/{board}/integrations/{int}"</span>, data)
  7791. req.Header = headers
  7792. client := &amp;http.Client{}
  7793. resp, err := client.Do(req)
  7794. <span class="hljs-comment">// ...</span>
  7795. }
  7796. </code></pre>
  7797. <p><code>PUT /api/boards/{board}/integrations/{int}</code></p>
  7798. <p><em>Edit integration data</em></p>
  7799. <blockquote>
  7800. <p>Body parameter</p>
  7801. </blockquote>
  7802. <pre class="highlight tab tab-yaml"><code><span class="hljs-attr">enabled:</span> <span class="hljs-string">string</span>
  7803. <span class="hljs-attr">title:</span> <span class="hljs-string">string</span>
  7804. <span class="hljs-attr">url:</span> <span class="hljs-string">string</span>
  7805. <span class="hljs-attr">token:</span> <span class="hljs-string">string</span>
  7806. <span class="hljs-attr">activities:</span> <span class="hljs-string">string</span>
  7807. </code></pre>
  7808. <h3 id="edit_integration-parameters">Parameters</h3>
  7809. <table>
  7810. <thead>
  7811. <tr>
  7812. <th>Name</th>
  7813. <th>In</th>
  7814. <th>Type</th>
  7815. <th>Required</th>
  7816. <th>Description</th>
  7817. </tr>
  7818. </thead>
  7819. <tbody>
  7820. <tr>
  7821. <td>board</td>
  7822. <td>path</td>
  7823. <td>string</td>
  7824. <td>true</td>
  7825. <td>the board ID</td>
  7826. </tr>
  7827. <tr>
  7828. <td>int</td>
  7829. <td>path</td>
  7830. <td>string</td>
  7831. <td>true</td>
  7832. <td>the integration ID</td>
  7833. </tr>
  7834. <tr>
  7835. <td>body</td>
  7836. <td>body</td>
  7837. <td>object</td>
  7838. <td>false</td>
  7839. <td>none</td>
  7840. </tr>
  7841. <tr>
  7842. <td>» enabled</td>
  7843. <td>body</td>
  7844. <td>string</td>
  7845. <td>false</td>
  7846. <td>is the integration enabled?</td>
  7847. </tr>
  7848. <tr>
  7849. <td>» title</td>
  7850. <td>body</td>
  7851. <td>string</td>
  7852. <td>false</td>
  7853. <td>new name of the integration</td>
  7854. </tr>
  7855. <tr>
  7856. <td>» url</td>
  7857. <td>body</td>
  7858. <td>string</td>
  7859. <td>false</td>
  7860. <td>new URL of the integration</td>
  7861. </tr>
  7862. <tr>
  7863. <td>» token</td>
  7864. <td>body</td>
  7865. <td>string</td>
  7866. <td>false</td>
  7867. <td>new token of the integration</td>
  7868. </tr>
  7869. <tr>
  7870. <td>» activities</td>
  7871. <td>body</td>
  7872. <td>string</td>
  7873. <td>false</td>
  7874. <td>new list of activities of the integration</td>
  7875. </tr>
  7876. </tbody>
  7877. </table>
  7878. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  7879. <p><strong>board</strong>: the board ID</p>
  7880. <p><strong>int</strong>: the integration ID</p>
  7881. <blockquote>
  7882. <p>Example responses</p>
  7883. </blockquote>
  7884. <blockquote>
  7885. <p>200 Response</p>
  7886. </blockquote>
  7887. <pre class="highlight tab tab-json"><code>{
  7888. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>
  7889. }
  7890. </code></pre>
  7891. <h3 id="edit_integration-responses">Responses</h3>
  7892. <table>
  7893. <thead>
  7894. <tr>
  7895. <th>Status</th>
  7896. <th>Meaning</th>
  7897. <th>Description</th>
  7898. <th>Schema</th>
  7899. </tr>
  7900. </thead>
  7901. <tbody>
  7902. <tr>
  7903. <td>200</td>
  7904. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  7905. <td>200 response</td>
  7906. <td>Inline</td>
  7907. </tr>
  7908. </tbody>
  7909. </table>
  7910. <h3 id="edit_integration-responseschema">Response Schema</h3>
  7911. <p>Status Code <strong>200</strong></p>
  7912. <table>
  7913. <thead>
  7914. <tr>
  7915. <th>Name</th>
  7916. <th>Type</th>
  7917. <th>Required</th>
  7918. <th>Restrictions</th>
  7919. <th>Description</th>
  7920. </tr>
  7921. </thead>
  7922. <tbody>
  7923. <tr>
  7924. <td>» _id</td>
  7925. <td>string</td>
  7926. <td>false</td>
  7927. <td>none</td>
  7928. <td>none</td>
  7929. </tr>
  7930. </tbody>
  7931. </table>
  7932. <aside class="warning">
  7933. To perform this operation, you must be authenticated by means of one of the following methods:
  7934. UserSecurity
  7935. </aside>
  7936. <h2 id="delete_integration">delete_integration</h2>
  7937. <p><a id="opIddelete_integration"></a></p>
  7938. <blockquote>
  7939. <p>Code samples</p>
  7940. </blockquote>
  7941. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  7942. curl -X DELETE /api/boards/{board}/integrations/{int} \
  7943. -H <span class="hljs-string">'Accept: application/json'</span> \
  7944. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  7945. </code></pre>
  7946. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">DELETE</span> <span class="hljs-string">/api/boards/{board}/integrations/{int}</span> HTTP/1.1
  7947. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  7948. <span class="undefined"></span></span></code></pre>
  7949. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  7950. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  7951. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  7952. };
  7953. $.ajax({
  7954. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/integrations/{int}'</span>,
  7955. <span class="hljs-attr">method</span>: <span class="hljs-string">'delete'</span>,
  7956. <span class="hljs-attr">headers</span>: headers,
  7957. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  7958. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  7959. }
  7960. })
  7961. </code></pre>
  7962. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  7963. <span class="hljs-keyword">const</span> headers = {
  7964. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  7965. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  7966. };
  7967. fetch(<span class="hljs-string">'/api/boards/{board}/integrations/{int}'</span>,
  7968. {
  7969. <span class="hljs-attr">method</span>: <span class="hljs-string">'DELETE'</span>,
  7970. <span class="hljs-attr">headers</span>: headers
  7971. })
  7972. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  7973. <span class="hljs-keyword">return</span> res.json();
  7974. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  7975. <span class="hljs-built_in">console</span>.log(body);
  7976. });
  7977. </code></pre>
  7978. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  7979. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  7980. headers = {
  7981. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  7982. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  7983. }
  7984. result = RestClient.delete <span class="hljs-string">'/api/boards/{board}/integrations/{int}'</span>,
  7985. <span class="hljs-symbol">params:</span> {
  7986. }, <span class="hljs-symbol">headers:</span> headers
  7987. p JSON.parse(result)
  7988. </code></pre>
  7989. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  7990. headers = {
  7991. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  7992. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  7993. }
  7994. r = requests.delete(<span class="hljs-string">'/api/boards/{board}/integrations/{int}'</span>, params={
  7995. }, headers = headers)
  7996. <span class="hljs-keyword">print</span> r.json()
  7997. </code></pre>
  7998. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/integrations/{int}"</span>);
  7999. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  8000. con.setRequestMethod(<span class="hljs-string">"DELETE"</span>);
  8001. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  8002. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  8003. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  8004. String inputLine;
  8005. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  8006. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  8007. response.append(inputLine);
  8008. }
  8009. in.close();
  8010. System.out.println(response.toString());
  8011. </code></pre>
  8012. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  8013. <span class="hljs-keyword">import</span> (
  8014. <span class="hljs-string">"bytes"</span>
  8015. <span class="hljs-string">"net/http"</span>
  8016. )
  8017. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  8018. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  8019. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  8020. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  8021. }
  8022. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  8023. req, err := http.NewRequest(<span class="hljs-string">"DELETE"</span>, <span class="hljs-string">"/api/boards/{board}/integrations/{int}"</span>, data)
  8024. req.Header = headers
  8025. client := &amp;http.Client{}
  8026. resp, err := client.Do(req)
  8027. <span class="hljs-comment">// ...</span>
  8028. }
  8029. </code></pre>
  8030. <p><code>DELETE /api/boards/{board}/integrations/{int}</code></p>
  8031. <p><em>Delete integration</em></p>
  8032. <h3 id="delete_integration-parameters">Parameters</h3>
  8033. <table>
  8034. <thead>
  8035. <tr>
  8036. <th>Name</th>
  8037. <th>In</th>
  8038. <th>Type</th>
  8039. <th>Required</th>
  8040. <th>Description</th>
  8041. </tr>
  8042. </thead>
  8043. <tbody>
  8044. <tr>
  8045. <td>board</td>
  8046. <td>path</td>
  8047. <td>string</td>
  8048. <td>true</td>
  8049. <td>the board ID</td>
  8050. </tr>
  8051. <tr>
  8052. <td>int</td>
  8053. <td>path</td>
  8054. <td>string</td>
  8055. <td>true</td>
  8056. <td>the integration ID</td>
  8057. </tr>
  8058. </tbody>
  8059. </table>
  8060. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  8061. <p><strong>board</strong>: the board ID</p>
  8062. <p><strong>int</strong>: the integration ID</p>
  8063. <blockquote>
  8064. <p>Example responses</p>
  8065. </blockquote>
  8066. <blockquote>
  8067. <p>200 Response</p>
  8068. </blockquote>
  8069. <pre class="highlight tab tab-json"><code>{
  8070. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>
  8071. }
  8072. </code></pre>
  8073. <h3 id="delete_integration-responses">Responses</h3>
  8074. <table>
  8075. <thead>
  8076. <tr>
  8077. <th>Status</th>
  8078. <th>Meaning</th>
  8079. <th>Description</th>
  8080. <th>Schema</th>
  8081. </tr>
  8082. </thead>
  8083. <tbody>
  8084. <tr>
  8085. <td>200</td>
  8086. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  8087. <td>200 response</td>
  8088. <td>Inline</td>
  8089. </tr>
  8090. </tbody>
  8091. </table>
  8092. <h3 id="delete_integration-responseschema">Response Schema</h3>
  8093. <p>Status Code <strong>200</strong></p>
  8094. <table>
  8095. <thead>
  8096. <tr>
  8097. <th>Name</th>
  8098. <th>Type</th>
  8099. <th>Required</th>
  8100. <th>Restrictions</th>
  8101. <th>Description</th>
  8102. </tr>
  8103. </thead>
  8104. <tbody>
  8105. <tr>
  8106. <td>» _id</td>
  8107. <td>string</td>
  8108. <td>false</td>
  8109. <td>none</td>
  8110. <td>none</td>
  8111. </tr>
  8112. </tbody>
  8113. </table>
  8114. <aside class="warning">
  8115. To perform this operation, you must be authenticated by means of one of the following methods:
  8116. UserSecurity
  8117. </aside>
  8118. <h2 id="delete_integration_activities">delete_integration_activities</h2>
  8119. <p><a id="opIddelete_integration_activities"></a></p>
  8120. <blockquote>
  8121. <p>Code samples</p>
  8122. </blockquote>
  8123. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  8124. curl -X DELETE /api/boards/{board}/integrations/{int}/activities \
  8125. -H <span class="hljs-string">'Accept: application/json'</span> \
  8126. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  8127. </code></pre>
  8128. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">DELETE</span> <span class="hljs-string">/api/boards/{board}/integrations/{int}/activities</span> HTTP/1.1
  8129. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  8130. <span class="undefined"></span></span></code></pre>
  8131. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  8132. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  8133. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  8134. };
  8135. $.ajax({
  8136. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/integrations/{int}/activities'</span>,
  8137. <span class="hljs-attr">method</span>: <span class="hljs-string">'delete'</span>,
  8138. <span class="hljs-attr">headers</span>: headers,
  8139. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  8140. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  8141. }
  8142. })
  8143. </code></pre>
  8144. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  8145. <span class="hljs-keyword">const</span> headers = {
  8146. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  8147. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  8148. };
  8149. fetch(<span class="hljs-string">'/api/boards/{board}/integrations/{int}/activities'</span>,
  8150. {
  8151. <span class="hljs-attr">method</span>: <span class="hljs-string">'DELETE'</span>,
  8152. <span class="hljs-attr">headers</span>: headers
  8153. })
  8154. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  8155. <span class="hljs-keyword">return</span> res.json();
  8156. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  8157. <span class="hljs-built_in">console</span>.log(body);
  8158. });
  8159. </code></pre>
  8160. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  8161. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  8162. headers = {
  8163. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  8164. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  8165. }
  8166. result = RestClient.delete <span class="hljs-string">'/api/boards/{board}/integrations/{int}/activities'</span>,
  8167. <span class="hljs-symbol">params:</span> {
  8168. }, <span class="hljs-symbol">headers:</span> headers
  8169. p JSON.parse(result)
  8170. </code></pre>
  8171. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  8172. headers = {
  8173. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  8174. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  8175. }
  8176. r = requests.delete(<span class="hljs-string">'/api/boards/{board}/integrations/{int}/activities'</span>, params={
  8177. }, headers = headers)
  8178. <span class="hljs-keyword">print</span> r.json()
  8179. </code></pre>
  8180. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/integrations/{int}/activities"</span>);
  8181. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  8182. con.setRequestMethod(<span class="hljs-string">"DELETE"</span>);
  8183. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  8184. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  8185. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  8186. String inputLine;
  8187. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  8188. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  8189. response.append(inputLine);
  8190. }
  8191. in.close();
  8192. System.out.println(response.toString());
  8193. </code></pre>
  8194. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  8195. <span class="hljs-keyword">import</span> (
  8196. <span class="hljs-string">"bytes"</span>
  8197. <span class="hljs-string">"net/http"</span>
  8198. )
  8199. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  8200. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  8201. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  8202. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  8203. }
  8204. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  8205. req, err := http.NewRequest(<span class="hljs-string">"DELETE"</span>, <span class="hljs-string">"/api/boards/{board}/integrations/{int}/activities"</span>, data)
  8206. req.Header = headers
  8207. client := &amp;http.Client{}
  8208. resp, err := client.Do(req)
  8209. <span class="hljs-comment">// ...</span>
  8210. }
  8211. </code></pre>
  8212. <p><code>DELETE /api/boards/{board}/integrations/{int}/activities</code></p>
  8213. <p><em>Delete subscribed activities</em></p>
  8214. <h3 id="delete_integration_activities-parameters">Parameters</h3>
  8215. <table>
  8216. <thead>
  8217. <tr>
  8218. <th>Name</th>
  8219. <th>In</th>
  8220. <th>Type</th>
  8221. <th>Required</th>
  8222. <th>Description</th>
  8223. </tr>
  8224. </thead>
  8225. <tbody>
  8226. <tr>
  8227. <td>board</td>
  8228. <td>path</td>
  8229. <td>string</td>
  8230. <td>true</td>
  8231. <td>the board ID</td>
  8232. </tr>
  8233. <tr>
  8234. <td>int</td>
  8235. <td>path</td>
  8236. <td>string</td>
  8237. <td>true</td>
  8238. <td>the integration ID</td>
  8239. </tr>
  8240. </tbody>
  8241. </table>
  8242. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  8243. <p><strong>board</strong>: the board ID</p>
  8244. <p><strong>int</strong>: the integration ID</p>
  8245. <blockquote>
  8246. <p>Example responses</p>
  8247. </blockquote>
  8248. <blockquote>
  8249. <p>200 Response</p>
  8250. </blockquote>
  8251. <pre class="highlight tab tab-json"><code>{
  8252. <span class="hljs-attr">"enabled"</span>: <span class="hljs-literal">true</span>,
  8253. <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
  8254. <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>,
  8255. <span class="hljs-attr">"activities"</span>: [
  8256. <span class="hljs-string">"string"</span>
  8257. ],
  8258. <span class="hljs-attr">"url"</span>: <span class="hljs-string">"string"</span>,
  8259. <span class="hljs-attr">"token"</span>: <span class="hljs-string">"string"</span>,
  8260. <span class="hljs-attr">"boardId"</span>: <span class="hljs-string">"string"</span>,
  8261. <span class="hljs-attr">"createdAt"</span>: <span class="hljs-string">"string"</span>,
  8262. <span class="hljs-attr">"modifiedAt"</span>: <span class="hljs-string">"string"</span>,
  8263. <span class="hljs-attr">"userId"</span>: <span class="hljs-string">"string"</span>
  8264. }
  8265. </code></pre>
  8266. <h3 id="delete_integration_activities-responses">Responses</h3>
  8267. <table>
  8268. <thead>
  8269. <tr>
  8270. <th>Status</th>
  8271. <th>Meaning</th>
  8272. <th>Description</th>
  8273. <th>Schema</th>
  8274. </tr>
  8275. </thead>
  8276. <tbody>
  8277. <tr>
  8278. <td>200</td>
  8279. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  8280. <td>200 response</td>
  8281. <td><a href="#schemaintegrations">Integrations</a></td>
  8282. </tr>
  8283. </tbody>
  8284. </table>
  8285. <aside class="warning">
  8286. To perform this operation, you must be authenticated by means of one of the following methods:
  8287. UserSecurity
  8288. </aside>
  8289. <h2 id="new_integration_activities">new_integration_activities</h2>
  8290. <p><a id="opIdnew_integration_activities"></a></p>
  8291. <blockquote>
  8292. <p>Code samples</p>
  8293. </blockquote>
  8294. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  8295. curl -X POST /api/boards/{board}/integrations/{int}/activities \
  8296. -H <span class="hljs-string">'Content-Type: multipart/form-data'</span> \
  8297. -H <span class="hljs-string">'Accept: application/json'</span> \
  8298. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  8299. </code></pre>
  8300. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">POST</span> <span class="hljs-string">/api/boards/{board}/integrations/{int}/activities</span> HTTP/1.1
  8301. <span class="fortran">Content-<span class="hljs-keyword">Type</span>: multipart/<span class="hljs-keyword">form</span>-<span class="hljs-keyword">data</span>
  8302. Accept: application/json
  8303. </span></code></pre>
  8304. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  8305. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  8306. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  8307. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  8308. };
  8309. $.ajax({
  8310. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/integrations/{int}/activities'</span>,
  8311. <span class="hljs-attr">method</span>: <span class="hljs-string">'post'</span>,
  8312. <span class="hljs-attr">headers</span>: headers,
  8313. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  8314. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  8315. }
  8316. })
  8317. </code></pre>
  8318. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  8319. <span class="hljs-keyword">const</span> inputBody = <span class="hljs-string">'{
  8320. "activities": "string"
  8321. }'</span>;
  8322. <span class="hljs-keyword">const</span> headers = {
  8323. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  8324. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  8325. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  8326. };
  8327. fetch(<span class="hljs-string">'/api/boards/{board}/integrations/{int}/activities'</span>,
  8328. {
  8329. <span class="hljs-attr">method</span>: <span class="hljs-string">'POST'</span>,
  8330. <span class="hljs-attr">body</span>: inputBody,
  8331. <span class="hljs-attr">headers</span>: headers
  8332. })
  8333. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  8334. <span class="hljs-keyword">return</span> res.json();
  8335. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  8336. <span class="hljs-built_in">console</span>.log(body);
  8337. });
  8338. </code></pre>
  8339. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  8340. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  8341. headers = {
  8342. <span class="hljs-string">'Content-Type'</span> =&gt; <span class="hljs-string">'multipart/form-data'</span>,
  8343. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  8344. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  8345. }
  8346. result = RestClient.post <span class="hljs-string">'/api/boards/{board}/integrations/{int}/activities'</span>,
  8347. <span class="hljs-symbol">params:</span> {
  8348. }, <span class="hljs-symbol">headers:</span> headers
  8349. p JSON.parse(result)
  8350. </code></pre>
  8351. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  8352. headers = {
  8353. <span class="hljs-string">'Content-Type'</span>: <span class="hljs-string">'multipart/form-data'</span>,
  8354. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  8355. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  8356. }
  8357. r = requests.post(<span class="hljs-string">'/api/boards/{board}/integrations/{int}/activities'</span>, params={
  8358. }, headers = headers)
  8359. <span class="hljs-keyword">print</span> r.json()
  8360. </code></pre>
  8361. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/integrations/{int}/activities"</span>);
  8362. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  8363. con.setRequestMethod(<span class="hljs-string">"POST"</span>);
  8364. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  8365. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  8366. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  8367. String inputLine;
  8368. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  8369. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  8370. response.append(inputLine);
  8371. }
  8372. in.close();
  8373. System.out.println(response.toString());
  8374. </code></pre>
  8375. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  8376. <span class="hljs-keyword">import</span> (
  8377. <span class="hljs-string">"bytes"</span>
  8378. <span class="hljs-string">"net/http"</span>
  8379. )
  8380. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  8381. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  8382. <span class="hljs-string">"Content-Type"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"multipart/form-data"</span>},
  8383. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  8384. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  8385. }
  8386. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  8387. req, err := http.NewRequest(<span class="hljs-string">"POST"</span>, <span class="hljs-string">"/api/boards/{board}/integrations/{int}/activities"</span>, data)
  8388. req.Header = headers
  8389. client := &amp;http.Client{}
  8390. resp, err := client.Do(req)
  8391. <span class="hljs-comment">// ...</span>
  8392. }
  8393. </code></pre>
  8394. <p><code>POST /api/boards/{board}/integrations/{int}/activities</code></p>
  8395. <p><em>Add subscribed activities</em></p>
  8396. <blockquote>
  8397. <p>Body parameter</p>
  8398. </blockquote>
  8399. <pre class="highlight tab tab-yaml"><code><span class="hljs-attr">activities:</span> <span class="hljs-string">string</span>
  8400. </code></pre>
  8401. <h3 id="new_integration_activities-parameters">Parameters</h3>
  8402. <table>
  8403. <thead>
  8404. <tr>
  8405. <th>Name</th>
  8406. <th>In</th>
  8407. <th>Type</th>
  8408. <th>Required</th>
  8409. <th>Description</th>
  8410. </tr>
  8411. </thead>
  8412. <tbody>
  8413. <tr>
  8414. <td>board</td>
  8415. <td>path</td>
  8416. <td>string</td>
  8417. <td>true</td>
  8418. <td>the board ID</td>
  8419. </tr>
  8420. <tr>
  8421. <td>int</td>
  8422. <td>path</td>
  8423. <td>string</td>
  8424. <td>true</td>
  8425. <td>the integration ID</td>
  8426. </tr>
  8427. <tr>
  8428. <td>body</td>
  8429. <td>body</td>
  8430. <td>object</td>
  8431. <td>false</td>
  8432. <td>none</td>
  8433. </tr>
  8434. <tr>
  8435. <td>» activities</td>
  8436. <td>body</td>
  8437. <td>string</td>
  8438. <td>true</td>
  8439. <td>the activities value</td>
  8440. </tr>
  8441. </tbody>
  8442. </table>
  8443. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  8444. <p><strong>board</strong>: the board ID</p>
  8445. <p><strong>int</strong>: the integration ID</p>
  8446. <blockquote>
  8447. <p>Example responses</p>
  8448. </blockquote>
  8449. <blockquote>
  8450. <p>200 Response</p>
  8451. </blockquote>
  8452. <pre class="highlight tab tab-json"><code>{
  8453. <span class="hljs-attr">"enabled"</span>: <span class="hljs-literal">true</span>,
  8454. <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
  8455. <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>,
  8456. <span class="hljs-attr">"activities"</span>: [
  8457. <span class="hljs-string">"string"</span>
  8458. ],
  8459. <span class="hljs-attr">"url"</span>: <span class="hljs-string">"string"</span>,
  8460. <span class="hljs-attr">"token"</span>: <span class="hljs-string">"string"</span>,
  8461. <span class="hljs-attr">"boardId"</span>: <span class="hljs-string">"string"</span>,
  8462. <span class="hljs-attr">"createdAt"</span>: <span class="hljs-string">"string"</span>,
  8463. <span class="hljs-attr">"modifiedAt"</span>: <span class="hljs-string">"string"</span>,
  8464. <span class="hljs-attr">"userId"</span>: <span class="hljs-string">"string"</span>
  8465. }
  8466. </code></pre>
  8467. <h3 id="new_integration_activities-responses">Responses</h3>
  8468. <table>
  8469. <thead>
  8470. <tr>
  8471. <th>Status</th>
  8472. <th>Meaning</th>
  8473. <th>Description</th>
  8474. <th>Schema</th>
  8475. </tr>
  8476. </thead>
  8477. <tbody>
  8478. <tr>
  8479. <td>200</td>
  8480. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  8481. <td>200 response</td>
  8482. <td><a href="#schemaintegrations">Integrations</a></td>
  8483. </tr>
  8484. </tbody>
  8485. </table>
  8486. <aside class="warning">
  8487. To perform this operation, you must be authenticated by means of one of the following methods:
  8488. UserSecurity
  8489. </aside>
  8490. <h1 id="wekan-rest-api-lists">Lists</h1>
  8491. <h2 id="get_all_lists">get_all_lists</h2>
  8492. <p><a id="opIdget_all_lists"></a></p>
  8493. <blockquote>
  8494. <p>Code samples</p>
  8495. </blockquote>
  8496. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  8497. curl -X GET /api/boards/{board}/lists \
  8498. -H <span class="hljs-string">'Accept: application/json'</span> \
  8499. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  8500. </code></pre>
  8501. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">GET</span> <span class="hljs-string">/api/boards/{board}/lists</span> HTTP/1.1
  8502. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  8503. <span class="undefined"></span></span></code></pre>
  8504. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  8505. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  8506. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  8507. };
  8508. $.ajax({
  8509. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/lists'</span>,
  8510. <span class="hljs-attr">method</span>: <span class="hljs-string">'get'</span>,
  8511. <span class="hljs-attr">headers</span>: headers,
  8512. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  8513. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  8514. }
  8515. })
  8516. </code></pre>
  8517. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  8518. <span class="hljs-keyword">const</span> headers = {
  8519. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  8520. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  8521. };
  8522. fetch(<span class="hljs-string">'/api/boards/{board}/lists'</span>,
  8523. {
  8524. <span class="hljs-attr">method</span>: <span class="hljs-string">'GET'</span>,
  8525. <span class="hljs-attr">headers</span>: headers
  8526. })
  8527. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  8528. <span class="hljs-keyword">return</span> res.json();
  8529. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  8530. <span class="hljs-built_in">console</span>.log(body);
  8531. });
  8532. </code></pre>
  8533. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  8534. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  8535. headers = {
  8536. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  8537. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  8538. }
  8539. result = RestClient.get <span class="hljs-string">'/api/boards/{board}/lists'</span>,
  8540. <span class="hljs-symbol">params:</span> {
  8541. }, <span class="hljs-symbol">headers:</span> headers
  8542. p JSON.parse(result)
  8543. </code></pre>
  8544. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  8545. headers = {
  8546. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  8547. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  8548. }
  8549. r = requests.get(<span class="hljs-string">'/api/boards/{board}/lists'</span>, params={
  8550. }, headers = headers)
  8551. <span class="hljs-keyword">print</span> r.json()
  8552. </code></pre>
  8553. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/lists"</span>);
  8554. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  8555. con.setRequestMethod(<span class="hljs-string">"GET"</span>);
  8556. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  8557. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  8558. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  8559. String inputLine;
  8560. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  8561. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  8562. response.append(inputLine);
  8563. }
  8564. in.close();
  8565. System.out.println(response.toString());
  8566. </code></pre>
  8567. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  8568. <span class="hljs-keyword">import</span> (
  8569. <span class="hljs-string">"bytes"</span>
  8570. <span class="hljs-string">"net/http"</span>
  8571. )
  8572. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  8573. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  8574. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  8575. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  8576. }
  8577. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  8578. req, err := http.NewRequest(<span class="hljs-string">"GET"</span>, <span class="hljs-string">"/api/boards/{board}/lists"</span>, data)
  8579. req.Header = headers
  8580. client := &amp;http.Client{}
  8581. resp, err := client.Do(req)
  8582. <span class="hljs-comment">// ...</span>
  8583. }
  8584. </code></pre>
  8585. <p><code>GET /api/boards/{board}/lists</code></p>
  8586. <p><em>Get the list of Lists attached to a board</em></p>
  8587. <h3 id="get_all_lists-parameters">Parameters</h3>
  8588. <table>
  8589. <thead>
  8590. <tr>
  8591. <th>Name</th>
  8592. <th>In</th>
  8593. <th>Type</th>
  8594. <th>Required</th>
  8595. <th>Description</th>
  8596. </tr>
  8597. </thead>
  8598. <tbody>
  8599. <tr>
  8600. <td>board</td>
  8601. <td>path</td>
  8602. <td>string</td>
  8603. <td>true</td>
  8604. <td>the board ID</td>
  8605. </tr>
  8606. </tbody>
  8607. </table>
  8608. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  8609. <p><strong>board</strong>: the board ID</p>
  8610. <blockquote>
  8611. <p>Example responses</p>
  8612. </blockquote>
  8613. <blockquote>
  8614. <p>200 Response</p>
  8615. </blockquote>
  8616. <pre class="highlight tab tab-json"><code>[
  8617. {
  8618. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>,
  8619. <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>
  8620. }
  8621. ]
  8622. </code></pre>
  8623. <h3 id="get_all_lists-responses">Responses</h3>
  8624. <table>
  8625. <thead>
  8626. <tr>
  8627. <th>Status</th>
  8628. <th>Meaning</th>
  8629. <th>Description</th>
  8630. <th>Schema</th>
  8631. </tr>
  8632. </thead>
  8633. <tbody>
  8634. <tr>
  8635. <td>200</td>
  8636. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  8637. <td>200 response</td>
  8638. <td>Inline</td>
  8639. </tr>
  8640. </tbody>
  8641. </table>
  8642. <h3 id="get_all_lists-responseschema">Response Schema</h3>
  8643. <p>Status Code <strong>200</strong></p>
  8644. <table>
  8645. <thead>
  8646. <tr>
  8647. <th>Name</th>
  8648. <th>Type</th>
  8649. <th>Required</th>
  8650. <th>Restrictions</th>
  8651. <th>Description</th>
  8652. </tr>
  8653. </thead>
  8654. <tbody>
  8655. <tr>
  8656. <td>» _id</td>
  8657. <td>string</td>
  8658. <td>false</td>
  8659. <td>none</td>
  8660. <td>none</td>
  8661. </tr>
  8662. <tr>
  8663. <td>» title</td>
  8664. <td>string</td>
  8665. <td>false</td>
  8666. <td>none</td>
  8667. <td>none</td>
  8668. </tr>
  8669. </tbody>
  8670. </table>
  8671. <aside class="warning">
  8672. To perform this operation, you must be authenticated by means of one of the following methods:
  8673. UserSecurity
  8674. </aside>
  8675. <h2 id="new_list">new_list</h2>
  8676. <p><a id="opIdnew_list"></a></p>
  8677. <blockquote>
  8678. <p>Code samples</p>
  8679. </blockquote>
  8680. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  8681. curl -X POST /api/boards/{board}/lists \
  8682. -H <span class="hljs-string">'Content-Type: multipart/form-data'</span> \
  8683. -H <span class="hljs-string">'Accept: application/json'</span> \
  8684. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  8685. </code></pre>
  8686. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">POST</span> <span class="hljs-string">/api/boards/{board}/lists</span> HTTP/1.1
  8687. <span class="fortran">Content-<span class="hljs-keyword">Type</span>: multipart/<span class="hljs-keyword">form</span>-<span class="hljs-keyword">data</span>
  8688. Accept: application/json
  8689. </span></code></pre>
  8690. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  8691. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  8692. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  8693. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  8694. };
  8695. $.ajax({
  8696. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/lists'</span>,
  8697. <span class="hljs-attr">method</span>: <span class="hljs-string">'post'</span>,
  8698. <span class="hljs-attr">headers</span>: headers,
  8699. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  8700. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  8701. }
  8702. })
  8703. </code></pre>
  8704. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  8705. <span class="hljs-keyword">const</span> inputBody = <span class="hljs-string">'{
  8706. "title": "string"
  8707. }'</span>;
  8708. <span class="hljs-keyword">const</span> headers = {
  8709. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  8710. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  8711. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  8712. };
  8713. fetch(<span class="hljs-string">'/api/boards/{board}/lists'</span>,
  8714. {
  8715. <span class="hljs-attr">method</span>: <span class="hljs-string">'POST'</span>,
  8716. <span class="hljs-attr">body</span>: inputBody,
  8717. <span class="hljs-attr">headers</span>: headers
  8718. })
  8719. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  8720. <span class="hljs-keyword">return</span> res.json();
  8721. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  8722. <span class="hljs-built_in">console</span>.log(body);
  8723. });
  8724. </code></pre>
  8725. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  8726. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  8727. headers = {
  8728. <span class="hljs-string">'Content-Type'</span> =&gt; <span class="hljs-string">'multipart/form-data'</span>,
  8729. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  8730. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  8731. }
  8732. result = RestClient.post <span class="hljs-string">'/api/boards/{board}/lists'</span>,
  8733. <span class="hljs-symbol">params:</span> {
  8734. }, <span class="hljs-symbol">headers:</span> headers
  8735. p JSON.parse(result)
  8736. </code></pre>
  8737. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  8738. headers = {
  8739. <span class="hljs-string">'Content-Type'</span>: <span class="hljs-string">'multipart/form-data'</span>,
  8740. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  8741. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  8742. }
  8743. r = requests.post(<span class="hljs-string">'/api/boards/{board}/lists'</span>, params={
  8744. }, headers = headers)
  8745. <span class="hljs-keyword">print</span> r.json()
  8746. </code></pre>
  8747. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/lists"</span>);
  8748. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  8749. con.setRequestMethod(<span class="hljs-string">"POST"</span>);
  8750. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  8751. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  8752. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  8753. String inputLine;
  8754. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  8755. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  8756. response.append(inputLine);
  8757. }
  8758. in.close();
  8759. System.out.println(response.toString());
  8760. </code></pre>
  8761. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  8762. <span class="hljs-keyword">import</span> (
  8763. <span class="hljs-string">"bytes"</span>
  8764. <span class="hljs-string">"net/http"</span>
  8765. )
  8766. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  8767. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  8768. <span class="hljs-string">"Content-Type"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"multipart/form-data"</span>},
  8769. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  8770. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  8771. }
  8772. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  8773. req, err := http.NewRequest(<span class="hljs-string">"POST"</span>, <span class="hljs-string">"/api/boards/{board}/lists"</span>, data)
  8774. req.Header = headers
  8775. client := &amp;http.Client{}
  8776. resp, err := client.Do(req)
  8777. <span class="hljs-comment">// ...</span>
  8778. }
  8779. </code></pre>
  8780. <p><code>POST /api/boards/{board}/lists</code></p>
  8781. <p><em>Add a List to a board</em></p>
  8782. <blockquote>
  8783. <p>Body parameter</p>
  8784. </blockquote>
  8785. <pre class="highlight tab tab-yaml"><code><span class="hljs-attr">title:</span> <span class="hljs-string">string</span>
  8786. </code></pre>
  8787. <h3 id="new_list-parameters">Parameters</h3>
  8788. <table>
  8789. <thead>
  8790. <tr>
  8791. <th>Name</th>
  8792. <th>In</th>
  8793. <th>Type</th>
  8794. <th>Required</th>
  8795. <th>Description</th>
  8796. </tr>
  8797. </thead>
  8798. <tbody>
  8799. <tr>
  8800. <td>board</td>
  8801. <td>path</td>
  8802. <td>string</td>
  8803. <td>true</td>
  8804. <td>the board ID</td>
  8805. </tr>
  8806. <tr>
  8807. <td>body</td>
  8808. <td>body</td>
  8809. <td>object</td>
  8810. <td>false</td>
  8811. <td>none</td>
  8812. </tr>
  8813. <tr>
  8814. <td>» title</td>
  8815. <td>body</td>
  8816. <td>string</td>
  8817. <td>true</td>
  8818. <td>the title of the List</td>
  8819. </tr>
  8820. </tbody>
  8821. </table>
  8822. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  8823. <p><strong>board</strong>: the board ID</p>
  8824. <blockquote>
  8825. <p>Example responses</p>
  8826. </blockquote>
  8827. <blockquote>
  8828. <p>200 Response</p>
  8829. </blockquote>
  8830. <pre class="highlight tab tab-json"><code>{
  8831. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>
  8832. }
  8833. </code></pre>
  8834. <h3 id="new_list-responses">Responses</h3>
  8835. <table>
  8836. <thead>
  8837. <tr>
  8838. <th>Status</th>
  8839. <th>Meaning</th>
  8840. <th>Description</th>
  8841. <th>Schema</th>
  8842. </tr>
  8843. </thead>
  8844. <tbody>
  8845. <tr>
  8846. <td>200</td>
  8847. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  8848. <td>200 response</td>
  8849. <td>Inline</td>
  8850. </tr>
  8851. </tbody>
  8852. </table>
  8853. <h3 id="new_list-responseschema">Response Schema</h3>
  8854. <p>Status Code <strong>200</strong></p>
  8855. <table>
  8856. <thead>
  8857. <tr>
  8858. <th>Name</th>
  8859. <th>Type</th>
  8860. <th>Required</th>
  8861. <th>Restrictions</th>
  8862. <th>Description</th>
  8863. </tr>
  8864. </thead>
  8865. <tbody>
  8866. <tr>
  8867. <td>» _id</td>
  8868. <td>string</td>
  8869. <td>false</td>
  8870. <td>none</td>
  8871. <td>none</td>
  8872. </tr>
  8873. </tbody>
  8874. </table>
  8875. <aside class="warning">
  8876. To perform this operation, you must be authenticated by means of one of the following methods:
  8877. UserSecurity
  8878. </aside>
  8879. <h2 id="get_list">get_list</h2>
  8880. <p><a id="opIdget_list"></a></p>
  8881. <blockquote>
  8882. <p>Code samples</p>
  8883. </blockquote>
  8884. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  8885. curl -X GET /api/boards/{board}/lists/{list} \
  8886. -H <span class="hljs-string">'Accept: application/json'</span> \
  8887. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  8888. </code></pre>
  8889. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">GET</span> <span class="hljs-string">/api/boards/{board}/lists/{list}</span> HTTP/1.1
  8890. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  8891. <span class="undefined"></span></span></code></pre>
  8892. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  8893. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  8894. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  8895. };
  8896. $.ajax({
  8897. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/lists/{list}'</span>,
  8898. <span class="hljs-attr">method</span>: <span class="hljs-string">'get'</span>,
  8899. <span class="hljs-attr">headers</span>: headers,
  8900. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  8901. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  8902. }
  8903. })
  8904. </code></pre>
  8905. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  8906. <span class="hljs-keyword">const</span> headers = {
  8907. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  8908. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  8909. };
  8910. fetch(<span class="hljs-string">'/api/boards/{board}/lists/{list}'</span>,
  8911. {
  8912. <span class="hljs-attr">method</span>: <span class="hljs-string">'GET'</span>,
  8913. <span class="hljs-attr">headers</span>: headers
  8914. })
  8915. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  8916. <span class="hljs-keyword">return</span> res.json();
  8917. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  8918. <span class="hljs-built_in">console</span>.log(body);
  8919. });
  8920. </code></pre>
  8921. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  8922. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  8923. headers = {
  8924. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  8925. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  8926. }
  8927. result = RestClient.get <span class="hljs-string">'/api/boards/{board}/lists/{list}'</span>,
  8928. <span class="hljs-symbol">params:</span> {
  8929. }, <span class="hljs-symbol">headers:</span> headers
  8930. p JSON.parse(result)
  8931. </code></pre>
  8932. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  8933. headers = {
  8934. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  8935. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  8936. }
  8937. r = requests.get(<span class="hljs-string">'/api/boards/{board}/lists/{list}'</span>, params={
  8938. }, headers = headers)
  8939. <span class="hljs-keyword">print</span> r.json()
  8940. </code></pre>
  8941. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/lists/{list}"</span>);
  8942. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  8943. con.setRequestMethod(<span class="hljs-string">"GET"</span>);
  8944. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  8945. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  8946. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  8947. String inputLine;
  8948. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  8949. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  8950. response.append(inputLine);
  8951. }
  8952. in.close();
  8953. System.out.println(response.toString());
  8954. </code></pre>
  8955. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  8956. <span class="hljs-keyword">import</span> (
  8957. <span class="hljs-string">"bytes"</span>
  8958. <span class="hljs-string">"net/http"</span>
  8959. )
  8960. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  8961. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  8962. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  8963. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  8964. }
  8965. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  8966. req, err := http.NewRequest(<span class="hljs-string">"GET"</span>, <span class="hljs-string">"/api/boards/{board}/lists/{list}"</span>, data)
  8967. req.Header = headers
  8968. client := &amp;http.Client{}
  8969. resp, err := client.Do(req)
  8970. <span class="hljs-comment">// ...</span>
  8971. }
  8972. </code></pre>
  8973. <p><code>GET /api/boards/{board}/lists/{list}</code></p>
  8974. <p><em>Get a List attached to a board</em></p>
  8975. <h3 id="get_list-parameters">Parameters</h3>
  8976. <table>
  8977. <thead>
  8978. <tr>
  8979. <th>Name</th>
  8980. <th>In</th>
  8981. <th>Type</th>
  8982. <th>Required</th>
  8983. <th>Description</th>
  8984. </tr>
  8985. </thead>
  8986. <tbody>
  8987. <tr>
  8988. <td>board</td>
  8989. <td>path</td>
  8990. <td>string</td>
  8991. <td>true</td>
  8992. <td>the board ID</td>
  8993. </tr>
  8994. <tr>
  8995. <td>list</td>
  8996. <td>path</td>
  8997. <td>string</td>
  8998. <td>true</td>
  8999. <td>the List ID</td>
  9000. </tr>
  9001. </tbody>
  9002. </table>
  9003. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  9004. <p><strong>board</strong>: the board ID</p>
  9005. <p><strong>list</strong>: the List ID</p>
  9006. <blockquote>
  9007. <p>Example responses</p>
  9008. </blockquote>
  9009. <blockquote>
  9010. <p>200 Response</p>
  9011. </blockquote>
  9012. <pre class="highlight tab tab-json"><code>{
  9013. <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
  9014. <span class="hljs-attr">"starred"</span>: <span class="hljs-literal">true</span>,
  9015. <span class="hljs-attr">"archived"</span>: <span class="hljs-literal">true</span>,
  9016. <span class="hljs-attr">"boardId"</span>: <span class="hljs-string">"string"</span>,
  9017. <span class="hljs-attr">"swimlaneId"</span>: <span class="hljs-string">"string"</span>,
  9018. <span class="hljs-attr">"createdAt"</span>: <span class="hljs-string">"string"</span>,
  9019. <span class="hljs-attr">"sort"</span>: <span class="hljs-number">0</span>,
  9020. <span class="hljs-attr">"updatedAt"</span>: <span class="hljs-string">"string"</span>,
  9021. <span class="hljs-attr">"modifiedAt"</span>: <span class="hljs-string">"string"</span>,
  9022. <span class="hljs-attr">"wipLimit"</span>: {
  9023. <span class="hljs-attr">"value"</span>: <span class="hljs-number">0</span>,
  9024. <span class="hljs-attr">"enabled"</span>: <span class="hljs-literal">true</span>,
  9025. <span class="hljs-attr">"soft"</span>: <span class="hljs-literal">true</span>
  9026. },
  9027. <span class="hljs-attr">"color"</span>: <span class="hljs-string">"white"</span>,
  9028. <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
  9029. }
  9030. </code></pre>
  9031. <h3 id="get_list-responses">Responses</h3>
  9032. <table>
  9033. <thead>
  9034. <tr>
  9035. <th>Status</th>
  9036. <th>Meaning</th>
  9037. <th>Description</th>
  9038. <th>Schema</th>
  9039. </tr>
  9040. </thead>
  9041. <tbody>
  9042. <tr>
  9043. <td>200</td>
  9044. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  9045. <td>200 response</td>
  9046. <td><a href="#schemalists">Lists</a></td>
  9047. </tr>
  9048. </tbody>
  9049. </table>
  9050. <aside class="warning">
  9051. To perform this operation, you must be authenticated by means of one of the following methods:
  9052. UserSecurity
  9053. </aside>
  9054. <h2 id="delete_list">delete_list</h2>
  9055. <p><a id="opIddelete_list"></a></p>
  9056. <blockquote>
  9057. <p>Code samples</p>
  9058. </blockquote>
  9059. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  9060. curl -X DELETE /api/boards/{board}/lists/{list} \
  9061. -H <span class="hljs-string">'Accept: application/json'</span> \
  9062. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  9063. </code></pre>
  9064. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">DELETE</span> <span class="hljs-string">/api/boards/{board}/lists/{list}</span> HTTP/1.1
  9065. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  9066. <span class="undefined"></span></span></code></pre>
  9067. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  9068. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  9069. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  9070. };
  9071. $.ajax({
  9072. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/lists/{list}'</span>,
  9073. <span class="hljs-attr">method</span>: <span class="hljs-string">'delete'</span>,
  9074. <span class="hljs-attr">headers</span>: headers,
  9075. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  9076. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  9077. }
  9078. })
  9079. </code></pre>
  9080. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  9081. <span class="hljs-keyword">const</span> headers = {
  9082. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  9083. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  9084. };
  9085. fetch(<span class="hljs-string">'/api/boards/{board}/lists/{list}'</span>,
  9086. {
  9087. <span class="hljs-attr">method</span>: <span class="hljs-string">'DELETE'</span>,
  9088. <span class="hljs-attr">headers</span>: headers
  9089. })
  9090. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  9091. <span class="hljs-keyword">return</span> res.json();
  9092. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  9093. <span class="hljs-built_in">console</span>.log(body);
  9094. });
  9095. </code></pre>
  9096. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  9097. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  9098. headers = {
  9099. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  9100. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  9101. }
  9102. result = RestClient.delete <span class="hljs-string">'/api/boards/{board}/lists/{list}'</span>,
  9103. <span class="hljs-symbol">params:</span> {
  9104. }, <span class="hljs-symbol">headers:</span> headers
  9105. p JSON.parse(result)
  9106. </code></pre>
  9107. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  9108. headers = {
  9109. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  9110. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  9111. }
  9112. r = requests.delete(<span class="hljs-string">'/api/boards/{board}/lists/{list}'</span>, params={
  9113. }, headers = headers)
  9114. <span class="hljs-keyword">print</span> r.json()
  9115. </code></pre>
  9116. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/lists/{list}"</span>);
  9117. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  9118. con.setRequestMethod(<span class="hljs-string">"DELETE"</span>);
  9119. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  9120. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  9121. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  9122. String inputLine;
  9123. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  9124. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  9125. response.append(inputLine);
  9126. }
  9127. in.close();
  9128. System.out.println(response.toString());
  9129. </code></pre>
  9130. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  9131. <span class="hljs-keyword">import</span> (
  9132. <span class="hljs-string">"bytes"</span>
  9133. <span class="hljs-string">"net/http"</span>
  9134. )
  9135. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  9136. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  9137. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  9138. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  9139. }
  9140. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  9141. req, err := http.NewRequest(<span class="hljs-string">"DELETE"</span>, <span class="hljs-string">"/api/boards/{board}/lists/{list}"</span>, data)
  9142. req.Header = headers
  9143. client := &amp;http.Client{}
  9144. resp, err := client.Do(req)
  9145. <span class="hljs-comment">// ...</span>
  9146. }
  9147. </code></pre>
  9148. <p><code>DELETE /api/boards/{board}/lists/{list}</code></p>
  9149. <p><em>Delete a List</em></p>
  9150. <p>This <strong>deletes</strong> a list from a board.
  9151. The list is not put in the recycle bin.</p>
  9152. <h3 id="delete_list-parameters">Parameters</h3>
  9153. <table>
  9154. <thead>
  9155. <tr>
  9156. <th>Name</th>
  9157. <th>In</th>
  9158. <th>Type</th>
  9159. <th>Required</th>
  9160. <th>Description</th>
  9161. </tr>
  9162. </thead>
  9163. <tbody>
  9164. <tr>
  9165. <td>board</td>
  9166. <td>path</td>
  9167. <td>string</td>
  9168. <td>true</td>
  9169. <td>the board ID</td>
  9170. </tr>
  9171. <tr>
  9172. <td>list</td>
  9173. <td>path</td>
  9174. <td>string</td>
  9175. <td>true</td>
  9176. <td>the ID of the list to remove</td>
  9177. </tr>
  9178. </tbody>
  9179. </table>
  9180. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  9181. <p><strong>board</strong>: the board ID</p>
  9182. <p><strong>list</strong>: the ID of the list to remove</p>
  9183. <blockquote>
  9184. <p>Example responses</p>
  9185. </blockquote>
  9186. <blockquote>
  9187. <p>200 Response</p>
  9188. </blockquote>
  9189. <pre class="highlight tab tab-json"><code>{
  9190. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>
  9191. }
  9192. </code></pre>
  9193. <h3 id="delete_list-responses">Responses</h3>
  9194. <table>
  9195. <thead>
  9196. <tr>
  9197. <th>Status</th>
  9198. <th>Meaning</th>
  9199. <th>Description</th>
  9200. <th>Schema</th>
  9201. </tr>
  9202. </thead>
  9203. <tbody>
  9204. <tr>
  9205. <td>200</td>
  9206. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  9207. <td>200 response</td>
  9208. <td>Inline</td>
  9209. </tr>
  9210. </tbody>
  9211. </table>
  9212. <h3 id="delete_list-responseschema">Response Schema</h3>
  9213. <p>Status Code <strong>200</strong></p>
  9214. <table>
  9215. <thead>
  9216. <tr>
  9217. <th>Name</th>
  9218. <th>Type</th>
  9219. <th>Required</th>
  9220. <th>Restrictions</th>
  9221. <th>Description</th>
  9222. </tr>
  9223. </thead>
  9224. <tbody>
  9225. <tr>
  9226. <td>» _id</td>
  9227. <td>string</td>
  9228. <td>false</td>
  9229. <td>none</td>
  9230. <td>none</td>
  9231. </tr>
  9232. </tbody>
  9233. </table>
  9234. <aside class="warning">
  9235. To perform this operation, you must be authenticated by means of one of the following methods:
  9236. UserSecurity
  9237. </aside>
  9238. <h1 id="wekan-rest-api-users">Users</h1>
  9239. <h2 id="add_board_member">add_board_member</h2>
  9240. <p><a id="opIdadd_board_member"></a></p>
  9241. <blockquote>
  9242. <p>Code samples</p>
  9243. </blockquote>
  9244. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  9245. curl -X POST /api/boards/{board}/members/{user}/add \
  9246. -H <span class="hljs-string">'Content-Type: multipart/form-data'</span> \
  9247. -H <span class="hljs-string">'Accept: application/json'</span> \
  9248. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  9249. </code></pre>
  9250. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">POST</span> <span class="hljs-string">/api/boards/{board}/members/{user}/add</span> HTTP/1.1
  9251. <span class="fortran">Content-<span class="hljs-keyword">Type</span>: multipart/<span class="hljs-keyword">form</span>-<span class="hljs-keyword">data</span>
  9252. Accept: application/json
  9253. </span></code></pre>
  9254. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  9255. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  9256. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  9257. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  9258. };
  9259. $.ajax({
  9260. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/members/{user}/add'</span>,
  9261. <span class="hljs-attr">method</span>: <span class="hljs-string">'post'</span>,
  9262. <span class="hljs-attr">headers</span>: headers,
  9263. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  9264. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  9265. }
  9266. })
  9267. </code></pre>
  9268. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  9269. <span class="hljs-keyword">const</span> inputBody = <span class="hljs-string">'{
  9270. "action": "string",
  9271. "isAdmin": true,
  9272. "isNoComments": true,
  9273. "isCommentOnly": true
  9274. }'</span>;
  9275. <span class="hljs-keyword">const</span> headers = {
  9276. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  9277. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  9278. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  9279. };
  9280. fetch(<span class="hljs-string">'/api/boards/{board}/members/{user}/add'</span>,
  9281. {
  9282. <span class="hljs-attr">method</span>: <span class="hljs-string">'POST'</span>,
  9283. <span class="hljs-attr">body</span>: inputBody,
  9284. <span class="hljs-attr">headers</span>: headers
  9285. })
  9286. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  9287. <span class="hljs-keyword">return</span> res.json();
  9288. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  9289. <span class="hljs-built_in">console</span>.log(body);
  9290. });
  9291. </code></pre>
  9292. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  9293. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  9294. headers = {
  9295. <span class="hljs-string">'Content-Type'</span> =&gt; <span class="hljs-string">'multipart/form-data'</span>,
  9296. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  9297. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  9298. }
  9299. result = RestClient.post <span class="hljs-string">'/api/boards/{board}/members/{user}/add'</span>,
  9300. <span class="hljs-symbol">params:</span> {
  9301. }, <span class="hljs-symbol">headers:</span> headers
  9302. p JSON.parse(result)
  9303. </code></pre>
  9304. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  9305. headers = {
  9306. <span class="hljs-string">'Content-Type'</span>: <span class="hljs-string">'multipart/form-data'</span>,
  9307. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  9308. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  9309. }
  9310. r = requests.post(<span class="hljs-string">'/api/boards/{board}/members/{user}/add'</span>, params={
  9311. }, headers = headers)
  9312. <span class="hljs-keyword">print</span> r.json()
  9313. </code></pre>
  9314. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/members/{user}/add"</span>);
  9315. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  9316. con.setRequestMethod(<span class="hljs-string">"POST"</span>);
  9317. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  9318. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  9319. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  9320. String inputLine;
  9321. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  9322. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  9323. response.append(inputLine);
  9324. }
  9325. in.close();
  9326. System.out.println(response.toString());
  9327. </code></pre>
  9328. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  9329. <span class="hljs-keyword">import</span> (
  9330. <span class="hljs-string">"bytes"</span>
  9331. <span class="hljs-string">"net/http"</span>
  9332. )
  9333. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  9334. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  9335. <span class="hljs-string">"Content-Type"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"multipart/form-data"</span>},
  9336. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  9337. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  9338. }
  9339. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  9340. req, err := http.NewRequest(<span class="hljs-string">"POST"</span>, <span class="hljs-string">"/api/boards/{board}/members/{user}/add"</span>, data)
  9341. req.Header = headers
  9342. client := &amp;http.Client{}
  9343. resp, err := client.Do(req)
  9344. <span class="hljs-comment">// ...</span>
  9345. }
  9346. </code></pre>
  9347. <p><code>POST /api/boards/{board}/members/{user}/add</code></p>
  9348. <p><em>Add New Board Member with Role</em></p>
  9349. <p>Only the admin user (the first user) can call the REST API.</p>
  9350. <p><strong>Note</strong>: see <a href="#set_board_member_permission">Boards.set_board_member_permission</a>
  9351. to later change the permissions.</p>
  9352. <blockquote>
  9353. <p>Body parameter</p>
  9354. </blockquote>
  9355. <pre class="highlight tab tab-yaml"><code><span class="hljs-attr">action:</span> <span class="hljs-string">string</span>
  9356. <span class="hljs-attr">isAdmin:</span> <span class="hljs-literal">true</span>
  9357. <span class="hljs-attr">isNoComments:</span> <span class="hljs-literal">true</span>
  9358. <span class="hljs-attr">isCommentOnly:</span> <span class="hljs-literal">true</span>
  9359. </code></pre>
  9360. <h3 id="add_board_member-parameters">Parameters</h3>
  9361. <table>
  9362. <thead>
  9363. <tr>
  9364. <th>Name</th>
  9365. <th>In</th>
  9366. <th>Type</th>
  9367. <th>Required</th>
  9368. <th>Description</th>
  9369. </tr>
  9370. </thead>
  9371. <tbody>
  9372. <tr>
  9373. <td>board</td>
  9374. <td>path</td>
  9375. <td>string</td>
  9376. <td>true</td>
  9377. <td>the board ID</td>
  9378. </tr>
  9379. <tr>
  9380. <td>user</td>
  9381. <td>path</td>
  9382. <td>string</td>
  9383. <td>true</td>
  9384. <td>the user ID</td>
  9385. </tr>
  9386. <tr>
  9387. <td>body</td>
  9388. <td>body</td>
  9389. <td>object</td>
  9390. <td>false</td>
  9391. <td>none</td>
  9392. </tr>
  9393. <tr>
  9394. <td>» action</td>
  9395. <td>body</td>
  9396. <td>string</td>
  9397. <td>true</td>
  9398. <td>the action value</td>
  9399. </tr>
  9400. <tr>
  9401. <td>» isAdmin</td>
  9402. <td>body</td>
  9403. <td>boolean</td>
  9404. <td>true</td>
  9405. <td>is the user an admin of the board</td>
  9406. </tr>
  9407. <tr>
  9408. <td>» isNoComments</td>
  9409. <td>body</td>
  9410. <td>boolean</td>
  9411. <td>true</td>
  9412. <td>disable comments</td>
  9413. </tr>
  9414. <tr>
  9415. <td>» isCommentOnly</td>
  9416. <td>body</td>
  9417. <td>boolean</td>
  9418. <td>true</td>
  9419. <td>only enable comments</td>
  9420. </tr>
  9421. </tbody>
  9422. </table>
  9423. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  9424. <p><strong>board</strong>: the board ID</p>
  9425. <p><strong>user</strong>: the user ID</p>
  9426. <blockquote>
  9427. <p>Example responses</p>
  9428. </blockquote>
  9429. <blockquote>
  9430. <p>200 Response</p>
  9431. </blockquote>
  9432. <pre class="highlight tab tab-json"><code>{
  9433. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>,
  9434. <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>
  9435. }
  9436. </code></pre>
  9437. <h3 id="add_board_member-responses">Responses</h3>
  9438. <table>
  9439. <thead>
  9440. <tr>
  9441. <th>Status</th>
  9442. <th>Meaning</th>
  9443. <th>Description</th>
  9444. <th>Schema</th>
  9445. </tr>
  9446. </thead>
  9447. <tbody>
  9448. <tr>
  9449. <td>200</td>
  9450. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  9451. <td>200 response</td>
  9452. <td>Inline</td>
  9453. </tr>
  9454. </tbody>
  9455. </table>
  9456. <h3 id="add_board_member-responseschema">Response Schema</h3>
  9457. <p>Status Code <strong>200</strong></p>
  9458. <table>
  9459. <thead>
  9460. <tr>
  9461. <th>Name</th>
  9462. <th>Type</th>
  9463. <th>Required</th>
  9464. <th>Restrictions</th>
  9465. <th>Description</th>
  9466. </tr>
  9467. </thead>
  9468. <tbody>
  9469. <tr>
  9470. <td>» _id</td>
  9471. <td>string</td>
  9472. <td>false</td>
  9473. <td>none</td>
  9474. <td>none</td>
  9475. </tr>
  9476. <tr>
  9477. <td>» title</td>
  9478. <td>string</td>
  9479. <td>false</td>
  9480. <td>none</td>
  9481. <td>none</td>
  9482. </tr>
  9483. </tbody>
  9484. </table>
  9485. <aside class="warning">
  9486. To perform this operation, you must be authenticated by means of one of the following methods:
  9487. UserSecurity
  9488. </aside>
  9489. <h2 id="remove_board_member">remove_board_member</h2>
  9490. <p><a id="opIdremove_board_member"></a></p>
  9491. <blockquote>
  9492. <p>Code samples</p>
  9493. </blockquote>
  9494. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  9495. curl -X POST /api/boards/{board}/members/{user}/remove \
  9496. -H <span class="hljs-string">'Content-Type: multipart/form-data'</span> \
  9497. -H <span class="hljs-string">'Accept: application/json'</span> \
  9498. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  9499. </code></pre>
  9500. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">POST</span> <span class="hljs-string">/api/boards/{board}/members/{user}/remove</span> HTTP/1.1
  9501. <span class="fortran">Content-<span class="hljs-keyword">Type</span>: multipart/<span class="hljs-keyword">form</span>-<span class="hljs-keyword">data</span>
  9502. Accept: application/json
  9503. </span></code></pre>
  9504. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  9505. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  9506. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  9507. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  9508. };
  9509. $.ajax({
  9510. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/members/{user}/remove'</span>,
  9511. <span class="hljs-attr">method</span>: <span class="hljs-string">'post'</span>,
  9512. <span class="hljs-attr">headers</span>: headers,
  9513. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  9514. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  9515. }
  9516. })
  9517. </code></pre>
  9518. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  9519. <span class="hljs-keyword">const</span> inputBody = <span class="hljs-string">'{
  9520. "action": "string"
  9521. }'</span>;
  9522. <span class="hljs-keyword">const</span> headers = {
  9523. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  9524. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  9525. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  9526. };
  9527. fetch(<span class="hljs-string">'/api/boards/{board}/members/{user}/remove'</span>,
  9528. {
  9529. <span class="hljs-attr">method</span>: <span class="hljs-string">'POST'</span>,
  9530. <span class="hljs-attr">body</span>: inputBody,
  9531. <span class="hljs-attr">headers</span>: headers
  9532. })
  9533. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  9534. <span class="hljs-keyword">return</span> res.json();
  9535. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  9536. <span class="hljs-built_in">console</span>.log(body);
  9537. });
  9538. </code></pre>
  9539. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  9540. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  9541. headers = {
  9542. <span class="hljs-string">'Content-Type'</span> =&gt; <span class="hljs-string">'multipart/form-data'</span>,
  9543. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  9544. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  9545. }
  9546. result = RestClient.post <span class="hljs-string">'/api/boards/{board}/members/{user}/remove'</span>,
  9547. <span class="hljs-symbol">params:</span> {
  9548. }, <span class="hljs-symbol">headers:</span> headers
  9549. p JSON.parse(result)
  9550. </code></pre>
  9551. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  9552. headers = {
  9553. <span class="hljs-string">'Content-Type'</span>: <span class="hljs-string">'multipart/form-data'</span>,
  9554. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  9555. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  9556. }
  9557. r = requests.post(<span class="hljs-string">'/api/boards/{board}/members/{user}/remove'</span>, params={
  9558. }, headers = headers)
  9559. <span class="hljs-keyword">print</span> r.json()
  9560. </code></pre>
  9561. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/members/{user}/remove"</span>);
  9562. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  9563. con.setRequestMethod(<span class="hljs-string">"POST"</span>);
  9564. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  9565. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  9566. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  9567. String inputLine;
  9568. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  9569. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  9570. response.append(inputLine);
  9571. }
  9572. in.close();
  9573. System.out.println(response.toString());
  9574. </code></pre>
  9575. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  9576. <span class="hljs-keyword">import</span> (
  9577. <span class="hljs-string">"bytes"</span>
  9578. <span class="hljs-string">"net/http"</span>
  9579. )
  9580. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  9581. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  9582. <span class="hljs-string">"Content-Type"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"multipart/form-data"</span>},
  9583. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  9584. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  9585. }
  9586. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  9587. req, err := http.NewRequest(<span class="hljs-string">"POST"</span>, <span class="hljs-string">"/api/boards/{board}/members/{user}/remove"</span>, data)
  9588. req.Header = headers
  9589. client := &amp;http.Client{}
  9590. resp, err := client.Do(req)
  9591. <span class="hljs-comment">// ...</span>
  9592. }
  9593. </code></pre>
  9594. <p><code>POST /api/boards/{board}/members/{user}/remove</code></p>
  9595. <p><em>Remove Member from Board</em></p>
  9596. <p>Only the admin user (the first user) can call the REST API.</p>
  9597. <blockquote>
  9598. <p>Body parameter</p>
  9599. </blockquote>
  9600. <pre class="highlight tab tab-yaml"><code><span class="hljs-attr">action:</span> <span class="hljs-string">string</span>
  9601. </code></pre>
  9602. <h3 id="remove_board_member-parameters">Parameters</h3>
  9603. <table>
  9604. <thead>
  9605. <tr>
  9606. <th>Name</th>
  9607. <th>In</th>
  9608. <th>Type</th>
  9609. <th>Required</th>
  9610. <th>Description</th>
  9611. </tr>
  9612. </thead>
  9613. <tbody>
  9614. <tr>
  9615. <td>board</td>
  9616. <td>path</td>
  9617. <td>string</td>
  9618. <td>true</td>
  9619. <td>the board ID</td>
  9620. </tr>
  9621. <tr>
  9622. <td>user</td>
  9623. <td>path</td>
  9624. <td>string</td>
  9625. <td>true</td>
  9626. <td>the user ID</td>
  9627. </tr>
  9628. <tr>
  9629. <td>body</td>
  9630. <td>body</td>
  9631. <td>object</td>
  9632. <td>false</td>
  9633. <td>none</td>
  9634. </tr>
  9635. <tr>
  9636. <td>» action</td>
  9637. <td>body</td>
  9638. <td>string</td>
  9639. <td>true</td>
  9640. <td>the action (needs to be <code>remove</code>)</td>
  9641. </tr>
  9642. </tbody>
  9643. </table>
  9644. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  9645. <p><strong>board</strong>: the board ID</p>
  9646. <p><strong>user</strong>: the user ID</p>
  9647. <blockquote>
  9648. <p>Example responses</p>
  9649. </blockquote>
  9650. <blockquote>
  9651. <p>200 Response</p>
  9652. </blockquote>
  9653. <pre class="highlight tab tab-json"><code>{
  9654. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>,
  9655. <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>
  9656. }
  9657. </code></pre>
  9658. <h3 id="remove_board_member-responses">Responses</h3>
  9659. <table>
  9660. <thead>
  9661. <tr>
  9662. <th>Status</th>
  9663. <th>Meaning</th>
  9664. <th>Description</th>
  9665. <th>Schema</th>
  9666. </tr>
  9667. </thead>
  9668. <tbody>
  9669. <tr>
  9670. <td>200</td>
  9671. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  9672. <td>200 response</td>
  9673. <td>Inline</td>
  9674. </tr>
  9675. </tbody>
  9676. </table>
  9677. <h3 id="remove_board_member-responseschema">Response Schema</h3>
  9678. <p>Status Code <strong>200</strong></p>
  9679. <table>
  9680. <thead>
  9681. <tr>
  9682. <th>Name</th>
  9683. <th>Type</th>
  9684. <th>Required</th>
  9685. <th>Restrictions</th>
  9686. <th>Description</th>
  9687. </tr>
  9688. </thead>
  9689. <tbody>
  9690. <tr>
  9691. <td>» _id</td>
  9692. <td>string</td>
  9693. <td>false</td>
  9694. <td>none</td>
  9695. <td>none</td>
  9696. </tr>
  9697. <tr>
  9698. <td>» title</td>
  9699. <td>string</td>
  9700. <td>false</td>
  9701. <td>none</td>
  9702. <td>none</td>
  9703. </tr>
  9704. </tbody>
  9705. </table>
  9706. <aside class="warning">
  9707. To perform this operation, you must be authenticated by means of one of the following methods:
  9708. UserSecurity
  9709. </aside>
  9710. <h2 id="get_current_user">get_current_user</h2>
  9711. <p><a id="opIdget_current_user"></a></p>
  9712. <blockquote>
  9713. <p>Code samples</p>
  9714. </blockquote>
  9715. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  9716. curl -X GET /api/user \
  9717. -H <span class="hljs-string">'Accept: application/json'</span> \
  9718. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  9719. </code></pre>
  9720. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">GET</span> <span class="hljs-string">/api/user</span> HTTP/1.1
  9721. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  9722. <span class="undefined"></span></span></code></pre>
  9723. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  9724. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  9725. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  9726. };
  9727. $.ajax({
  9728. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/user'</span>,
  9729. <span class="hljs-attr">method</span>: <span class="hljs-string">'get'</span>,
  9730. <span class="hljs-attr">headers</span>: headers,
  9731. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  9732. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  9733. }
  9734. })
  9735. </code></pre>
  9736. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  9737. <span class="hljs-keyword">const</span> headers = {
  9738. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  9739. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  9740. };
  9741. fetch(<span class="hljs-string">'/api/user'</span>,
  9742. {
  9743. <span class="hljs-attr">method</span>: <span class="hljs-string">'GET'</span>,
  9744. <span class="hljs-attr">headers</span>: headers
  9745. })
  9746. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  9747. <span class="hljs-keyword">return</span> res.json();
  9748. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  9749. <span class="hljs-built_in">console</span>.log(body);
  9750. });
  9751. </code></pre>
  9752. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  9753. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  9754. headers = {
  9755. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  9756. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  9757. }
  9758. result = RestClient.get <span class="hljs-string">'/api/user'</span>,
  9759. <span class="hljs-symbol">params:</span> {
  9760. }, <span class="hljs-symbol">headers:</span> headers
  9761. p JSON.parse(result)
  9762. </code></pre>
  9763. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  9764. headers = {
  9765. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  9766. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  9767. }
  9768. r = requests.get(<span class="hljs-string">'/api/user'</span>, params={
  9769. }, headers = headers)
  9770. <span class="hljs-keyword">print</span> r.json()
  9771. </code></pre>
  9772. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/user"</span>);
  9773. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  9774. con.setRequestMethod(<span class="hljs-string">"GET"</span>);
  9775. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  9776. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  9777. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  9778. String inputLine;
  9779. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  9780. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  9781. response.append(inputLine);
  9782. }
  9783. in.close();
  9784. System.out.println(response.toString());
  9785. </code></pre>
  9786. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  9787. <span class="hljs-keyword">import</span> (
  9788. <span class="hljs-string">"bytes"</span>
  9789. <span class="hljs-string">"net/http"</span>
  9790. )
  9791. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  9792. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  9793. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  9794. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  9795. }
  9796. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  9797. req, err := http.NewRequest(<span class="hljs-string">"GET"</span>, <span class="hljs-string">"/api/user"</span>, data)
  9798. req.Header = headers
  9799. client := &amp;http.Client{}
  9800. resp, err := client.Do(req)
  9801. <span class="hljs-comment">// ...</span>
  9802. }
  9803. </code></pre>
  9804. <p><code>GET /api/user</code></p>
  9805. <p><em>returns the current user</em></p>
  9806. <blockquote>
  9807. <p>Example responses</p>
  9808. </blockquote>
  9809. <blockquote>
  9810. <p>200 Response</p>
  9811. </blockquote>
  9812. <pre class="highlight tab tab-json"><code>{
  9813. <span class="hljs-attr">"username"</span>: <span class="hljs-string">"string"</span>,
  9814. <span class="hljs-attr">"emails"</span>: [
  9815. {
  9816. <span class="hljs-attr">"address"</span>: <span class="hljs-string">"string"</span>,
  9817. <span class="hljs-attr">"verified"</span>: <span class="hljs-literal">true</span>
  9818. }
  9819. ],
  9820. <span class="hljs-attr">"createdAt"</span>: <span class="hljs-string">"string"</span>,
  9821. <span class="hljs-attr">"modifiedAt"</span>: <span class="hljs-string">"string"</span>,
  9822. <span class="hljs-attr">"profile"</span>: {
  9823. <span class="hljs-attr">"avatarUrl"</span>: <span class="hljs-string">"string"</span>,
  9824. <span class="hljs-attr">"emailBuffer"</span>: [
  9825. <span class="hljs-string">"string"</span>
  9826. ],
  9827. <span class="hljs-attr">"fullname"</span>: <span class="hljs-string">"string"</span>,
  9828. <span class="hljs-attr">"showDesktopDragHandles"</span>: <span class="hljs-literal">true</span>,
  9829. <span class="hljs-attr">"hideCheckedItems"</span>: <span class="hljs-literal">true</span>,
  9830. <span class="hljs-attr">"hiddenSystemMessages"</span>: <span class="hljs-literal">true</span>,
  9831. <span class="hljs-attr">"hiddenMinicardLabelText"</span>: <span class="hljs-literal">true</span>,
  9832. <span class="hljs-attr">"initials"</span>: <span class="hljs-string">"string"</span>,
  9833. <span class="hljs-attr">"invitedBoards"</span>: [
  9834. <span class="hljs-string">"string"</span>
  9835. ],
  9836. <span class="hljs-attr">"language"</span>: <span class="hljs-string">"string"</span>,
  9837. <span class="hljs-attr">"notifications"</span>: [],
  9838. <span class="hljs-attr">"activity"</span>: <span class="hljs-string">"string"</span>,
  9839. <span class="hljs-attr">"read"</span>: <span class="hljs-string">"string"</span>,
  9840. <span class="hljs-attr">"showCardsCountAt"</span>: <span class="hljs-number">0</span>,
  9841. <span class="hljs-attr">"startDayOfWeek"</span>: <span class="hljs-number">0</span>,
  9842. <span class="hljs-attr">"starredBoards"</span>: [
  9843. <span class="hljs-string">"string"</span>
  9844. ],
  9845. <span class="hljs-attr">"icode"</span>: <span class="hljs-string">"string"</span>,
  9846. <span class="hljs-attr">"boardView"</span>: <span class="hljs-string">"board-view-swimlanes"</span>,
  9847. <span class="hljs-attr">"listSortBy"</span>: <span class="hljs-string">"-modifiedat"</span>,
  9848. <span class="hljs-attr">"templatesBoardId"</span>: <span class="hljs-string">"string"</span>,
  9849. <span class="hljs-attr">"cardTemplatesSwimlaneId"</span>: <span class="hljs-string">"string"</span>,
  9850. <span class="hljs-attr">"listTemplatesSwimlaneId"</span>: <span class="hljs-string">"string"</span>,
  9851. <span class="hljs-attr">"boardTemplatesSwimlaneId"</span>: <span class="hljs-string">"string"</span>
  9852. },
  9853. <span class="hljs-attr">"services"</span>: {},
  9854. <span class="hljs-attr">"heartbeat"</span>: <span class="hljs-string">"string"</span>,
  9855. <span class="hljs-attr">"isAdmin"</span>: <span class="hljs-literal">true</span>,
  9856. <span class="hljs-attr">"createdThroughApi"</span>: <span class="hljs-literal">true</span>,
  9857. <span class="hljs-attr">"loginDisabled"</span>: <span class="hljs-literal">true</span>,
  9858. <span class="hljs-attr">"authenticationMethod"</span>: <span class="hljs-string">"string"</span>,
  9859. <span class="hljs-attr">"sessionData"</span>: {
  9860. <span class="hljs-attr">"totalHits"</span>: <span class="hljs-number">0</span>,
  9861. <span class="hljs-attr">"lastHit"</span>: <span class="hljs-number">0</span>
  9862. }
  9863. }
  9864. </code></pre>
  9865. <h3 id="get_current_user-responses">Responses</h3>
  9866. <table>
  9867. <thead>
  9868. <tr>
  9869. <th>Status</th>
  9870. <th>Meaning</th>
  9871. <th>Description</th>
  9872. <th>Schema</th>
  9873. </tr>
  9874. </thead>
  9875. <tbody>
  9876. <tr>
  9877. <td>200</td>
  9878. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  9879. <td>200 response</td>
  9880. <td><a href="#schemausers">Users</a></td>
  9881. </tr>
  9882. </tbody>
  9883. </table>
  9884. <aside class="warning">
  9885. To perform this operation, you must be authenticated by means of one of the following methods:
  9886. UserSecurity
  9887. </aside>
  9888. <h2 id="get_all_users">get_all_users</h2>
  9889. <p><a id="opIdget_all_users"></a></p>
  9890. <blockquote>
  9891. <p>Code samples</p>
  9892. </blockquote>
  9893. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  9894. curl -X GET /api/users \
  9895. -H <span class="hljs-string">'Accept: application/json'</span> \
  9896. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  9897. </code></pre>
  9898. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">GET</span> <span class="hljs-string">/api/users</span> HTTP/1.1
  9899. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  9900. <span class="undefined"></span></span></code></pre>
  9901. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  9902. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  9903. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  9904. };
  9905. $.ajax({
  9906. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/users'</span>,
  9907. <span class="hljs-attr">method</span>: <span class="hljs-string">'get'</span>,
  9908. <span class="hljs-attr">headers</span>: headers,
  9909. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  9910. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  9911. }
  9912. })
  9913. </code></pre>
  9914. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  9915. <span class="hljs-keyword">const</span> headers = {
  9916. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  9917. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  9918. };
  9919. fetch(<span class="hljs-string">'/api/users'</span>,
  9920. {
  9921. <span class="hljs-attr">method</span>: <span class="hljs-string">'GET'</span>,
  9922. <span class="hljs-attr">headers</span>: headers
  9923. })
  9924. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  9925. <span class="hljs-keyword">return</span> res.json();
  9926. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  9927. <span class="hljs-built_in">console</span>.log(body);
  9928. });
  9929. </code></pre>
  9930. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  9931. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  9932. headers = {
  9933. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  9934. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  9935. }
  9936. result = RestClient.get <span class="hljs-string">'/api/users'</span>,
  9937. <span class="hljs-symbol">params:</span> {
  9938. }, <span class="hljs-symbol">headers:</span> headers
  9939. p JSON.parse(result)
  9940. </code></pre>
  9941. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  9942. headers = {
  9943. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  9944. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  9945. }
  9946. r = requests.get(<span class="hljs-string">'/api/users'</span>, params={
  9947. }, headers = headers)
  9948. <span class="hljs-keyword">print</span> r.json()
  9949. </code></pre>
  9950. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/users"</span>);
  9951. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  9952. con.setRequestMethod(<span class="hljs-string">"GET"</span>);
  9953. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  9954. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  9955. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  9956. String inputLine;
  9957. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  9958. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  9959. response.append(inputLine);
  9960. }
  9961. in.close();
  9962. System.out.println(response.toString());
  9963. </code></pre>
  9964. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  9965. <span class="hljs-keyword">import</span> (
  9966. <span class="hljs-string">"bytes"</span>
  9967. <span class="hljs-string">"net/http"</span>
  9968. )
  9969. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  9970. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  9971. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  9972. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  9973. }
  9974. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  9975. req, err := http.NewRequest(<span class="hljs-string">"GET"</span>, <span class="hljs-string">"/api/users"</span>, data)
  9976. req.Header = headers
  9977. client := &amp;http.Client{}
  9978. resp, err := client.Do(req)
  9979. <span class="hljs-comment">// ...</span>
  9980. }
  9981. </code></pre>
  9982. <p><code>GET /api/users</code></p>
  9983. <p><em>return all the users</em></p>
  9984. <p>Only the admin user (the first user) can call the REST API.</p>
  9985. <blockquote>
  9986. <p>Example responses</p>
  9987. </blockquote>
  9988. <blockquote>
  9989. <p>200 Response</p>
  9990. </blockquote>
  9991. <pre class="highlight tab tab-json"><code>[
  9992. {
  9993. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>,
  9994. <span class="hljs-attr">"username"</span>: <span class="hljs-string">"string"</span>
  9995. }
  9996. ]
  9997. </code></pre>
  9998. <h3 id="get_all_users-responses">Responses</h3>
  9999. <table>
  10000. <thead>
  10001. <tr>
  10002. <th>Status</th>
  10003. <th>Meaning</th>
  10004. <th>Description</th>
  10005. <th>Schema</th>
  10006. </tr>
  10007. </thead>
  10008. <tbody>
  10009. <tr>
  10010. <td>200</td>
  10011. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  10012. <td>200 response</td>
  10013. <td>Inline</td>
  10014. </tr>
  10015. </tbody>
  10016. </table>
  10017. <h3 id="get_all_users-responseschema">Response Schema</h3>
  10018. <p>Status Code <strong>200</strong></p>
  10019. <table>
  10020. <thead>
  10021. <tr>
  10022. <th>Name</th>
  10023. <th>Type</th>
  10024. <th>Required</th>
  10025. <th>Restrictions</th>
  10026. <th>Description</th>
  10027. </tr>
  10028. </thead>
  10029. <tbody>
  10030. <tr>
  10031. <td>» _id</td>
  10032. <td>string</td>
  10033. <td>false</td>
  10034. <td>none</td>
  10035. <td>none</td>
  10036. </tr>
  10037. <tr>
  10038. <td>» username</td>
  10039. <td>string</td>
  10040. <td>false</td>
  10041. <td>none</td>
  10042. <td>none</td>
  10043. </tr>
  10044. </tbody>
  10045. </table>
  10046. <aside class="warning">
  10047. To perform this operation, you must be authenticated by means of one of the following methods:
  10048. UserSecurity
  10049. </aside>
  10050. <h2 id="new_user">new_user</h2>
  10051. <p><a id="opIdnew_user"></a></p>
  10052. <blockquote>
  10053. <p>Code samples</p>
  10054. </blockquote>
  10055. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  10056. curl -X POST /api/users \
  10057. -H <span class="hljs-string">'Content-Type: multipart/form-data'</span> \
  10058. -H <span class="hljs-string">'Accept: application/json'</span> \
  10059. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  10060. </code></pre>
  10061. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">POST</span> <span class="hljs-string">/api/users</span> HTTP/1.1
  10062. <span class="fortran">Content-<span class="hljs-keyword">Type</span>: multipart/<span class="hljs-keyword">form</span>-<span class="hljs-keyword">data</span>
  10063. Accept: application/json
  10064. </span></code></pre>
  10065. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  10066. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  10067. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  10068. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  10069. };
  10070. $.ajax({
  10071. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/users'</span>,
  10072. <span class="hljs-attr">method</span>: <span class="hljs-string">'post'</span>,
  10073. <span class="hljs-attr">headers</span>: headers,
  10074. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  10075. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  10076. }
  10077. })
  10078. </code></pre>
  10079. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  10080. <span class="hljs-keyword">const</span> inputBody = <span class="hljs-string">'{
  10081. "username": "string",
  10082. "email": "string",
  10083. "password": "string"
  10084. }'</span>;
  10085. <span class="hljs-keyword">const</span> headers = {
  10086. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  10087. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  10088. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  10089. };
  10090. fetch(<span class="hljs-string">'/api/users'</span>,
  10091. {
  10092. <span class="hljs-attr">method</span>: <span class="hljs-string">'POST'</span>,
  10093. <span class="hljs-attr">body</span>: inputBody,
  10094. <span class="hljs-attr">headers</span>: headers
  10095. })
  10096. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  10097. <span class="hljs-keyword">return</span> res.json();
  10098. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  10099. <span class="hljs-built_in">console</span>.log(body);
  10100. });
  10101. </code></pre>
  10102. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  10103. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  10104. headers = {
  10105. <span class="hljs-string">'Content-Type'</span> =&gt; <span class="hljs-string">'multipart/form-data'</span>,
  10106. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  10107. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  10108. }
  10109. result = RestClient.post <span class="hljs-string">'/api/users'</span>,
  10110. <span class="hljs-symbol">params:</span> {
  10111. }, <span class="hljs-symbol">headers:</span> headers
  10112. p JSON.parse(result)
  10113. </code></pre>
  10114. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  10115. headers = {
  10116. <span class="hljs-string">'Content-Type'</span>: <span class="hljs-string">'multipart/form-data'</span>,
  10117. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  10118. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  10119. }
  10120. r = requests.post(<span class="hljs-string">'/api/users'</span>, params={
  10121. }, headers = headers)
  10122. <span class="hljs-keyword">print</span> r.json()
  10123. </code></pre>
  10124. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/users"</span>);
  10125. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  10126. con.setRequestMethod(<span class="hljs-string">"POST"</span>);
  10127. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  10128. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  10129. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  10130. String inputLine;
  10131. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  10132. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  10133. response.append(inputLine);
  10134. }
  10135. in.close();
  10136. System.out.println(response.toString());
  10137. </code></pre>
  10138. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  10139. <span class="hljs-keyword">import</span> (
  10140. <span class="hljs-string">"bytes"</span>
  10141. <span class="hljs-string">"net/http"</span>
  10142. )
  10143. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  10144. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  10145. <span class="hljs-string">"Content-Type"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"multipart/form-data"</span>},
  10146. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  10147. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  10148. }
  10149. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  10150. req, err := http.NewRequest(<span class="hljs-string">"POST"</span>, <span class="hljs-string">"/api/users"</span>, data)
  10151. req.Header = headers
  10152. client := &amp;http.Client{}
  10153. resp, err := client.Do(req)
  10154. <span class="hljs-comment">// ...</span>
  10155. }
  10156. </code></pre>
  10157. <p><code>POST /api/users</code></p>
  10158. <p><em>Create a new user</em></p>
  10159. <p>Only the admin user (the first user) can call the REST API.</p>
  10160. <blockquote>
  10161. <p>Body parameter</p>
  10162. </blockquote>
  10163. <pre class="highlight tab tab-yaml"><code><span class="hljs-attr">username:</span> <span class="hljs-string">string</span>
  10164. <span class="hljs-attr">email:</span> <span class="hljs-string">string</span>
  10165. <span class="hljs-attr">password:</span> <span class="hljs-string">string</span>
  10166. </code></pre>
  10167. <h3 id="new_user-parameters">Parameters</h3>
  10168. <table>
  10169. <thead>
  10170. <tr>
  10171. <th>Name</th>
  10172. <th>In</th>
  10173. <th>Type</th>
  10174. <th>Required</th>
  10175. <th>Description</th>
  10176. </tr>
  10177. </thead>
  10178. <tbody>
  10179. <tr>
  10180. <td>body</td>
  10181. <td>body</td>
  10182. <td>object</td>
  10183. <td>false</td>
  10184. <td>none</td>
  10185. </tr>
  10186. <tr>
  10187. <td>» username</td>
  10188. <td>body</td>
  10189. <td>string</td>
  10190. <td>true</td>
  10191. <td>the new username</td>
  10192. </tr>
  10193. <tr>
  10194. <td>» email</td>
  10195. <td>body</td>
  10196. <td>string</td>
  10197. <td>true</td>
  10198. <td>the email of the new user</td>
  10199. </tr>
  10200. <tr>
  10201. <td>» password</td>
  10202. <td>body</td>
  10203. <td>string</td>
  10204. <td>true</td>
  10205. <td>the password of the new user</td>
  10206. </tr>
  10207. </tbody>
  10208. </table>
  10209. <blockquote>
  10210. <p>Example responses</p>
  10211. </blockquote>
  10212. <blockquote>
  10213. <p>200 Response</p>
  10214. </blockquote>
  10215. <pre class="highlight tab tab-json"><code>{
  10216. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>
  10217. }
  10218. </code></pre>
  10219. <h3 id="new_user-responses">Responses</h3>
  10220. <table>
  10221. <thead>
  10222. <tr>
  10223. <th>Status</th>
  10224. <th>Meaning</th>
  10225. <th>Description</th>
  10226. <th>Schema</th>
  10227. </tr>
  10228. </thead>
  10229. <tbody>
  10230. <tr>
  10231. <td>200</td>
  10232. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  10233. <td>200 response</td>
  10234. <td>Inline</td>
  10235. </tr>
  10236. </tbody>
  10237. </table>
  10238. <h3 id="new_user-responseschema">Response Schema</h3>
  10239. <p>Status Code <strong>200</strong></p>
  10240. <table>
  10241. <thead>
  10242. <tr>
  10243. <th>Name</th>
  10244. <th>Type</th>
  10245. <th>Required</th>
  10246. <th>Restrictions</th>
  10247. <th>Description</th>
  10248. </tr>
  10249. </thead>
  10250. <tbody>
  10251. <tr>
  10252. <td>» _id</td>
  10253. <td>string</td>
  10254. <td>false</td>
  10255. <td>none</td>
  10256. <td>none</td>
  10257. </tr>
  10258. </tbody>
  10259. </table>
  10260. <aside class="warning">
  10261. To perform this operation, you must be authenticated by means of one of the following methods:
  10262. UserSecurity
  10263. </aside>
  10264. <h2 id="get_user">get_user</h2>
  10265. <p><a id="opIdget_user"></a></p>
  10266. <blockquote>
  10267. <p>Code samples</p>
  10268. </blockquote>
  10269. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  10270. curl -X GET /api/users/{user} \
  10271. -H <span class="hljs-string">'Accept: application/json'</span> \
  10272. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  10273. </code></pre>
  10274. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">GET</span> <span class="hljs-string">/api/users/{user}</span> HTTP/1.1
  10275. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  10276. <span class="undefined"></span></span></code></pre>
  10277. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  10278. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  10279. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  10280. };
  10281. $.ajax({
  10282. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/users/{user}'</span>,
  10283. <span class="hljs-attr">method</span>: <span class="hljs-string">'get'</span>,
  10284. <span class="hljs-attr">headers</span>: headers,
  10285. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  10286. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  10287. }
  10288. })
  10289. </code></pre>
  10290. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  10291. <span class="hljs-keyword">const</span> headers = {
  10292. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  10293. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  10294. };
  10295. fetch(<span class="hljs-string">'/api/users/{user}'</span>,
  10296. {
  10297. <span class="hljs-attr">method</span>: <span class="hljs-string">'GET'</span>,
  10298. <span class="hljs-attr">headers</span>: headers
  10299. })
  10300. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  10301. <span class="hljs-keyword">return</span> res.json();
  10302. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  10303. <span class="hljs-built_in">console</span>.log(body);
  10304. });
  10305. </code></pre>
  10306. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  10307. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  10308. headers = {
  10309. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  10310. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  10311. }
  10312. result = RestClient.get <span class="hljs-string">'/api/users/{user}'</span>,
  10313. <span class="hljs-symbol">params:</span> {
  10314. }, <span class="hljs-symbol">headers:</span> headers
  10315. p JSON.parse(result)
  10316. </code></pre>
  10317. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  10318. headers = {
  10319. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  10320. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  10321. }
  10322. r = requests.get(<span class="hljs-string">'/api/users/{user}'</span>, params={
  10323. }, headers = headers)
  10324. <span class="hljs-keyword">print</span> r.json()
  10325. </code></pre>
  10326. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/users/{user}"</span>);
  10327. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  10328. con.setRequestMethod(<span class="hljs-string">"GET"</span>);
  10329. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  10330. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  10331. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  10332. String inputLine;
  10333. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  10334. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  10335. response.append(inputLine);
  10336. }
  10337. in.close();
  10338. System.out.println(response.toString());
  10339. </code></pre>
  10340. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  10341. <span class="hljs-keyword">import</span> (
  10342. <span class="hljs-string">"bytes"</span>
  10343. <span class="hljs-string">"net/http"</span>
  10344. )
  10345. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  10346. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  10347. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  10348. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  10349. }
  10350. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  10351. req, err := http.NewRequest(<span class="hljs-string">"GET"</span>, <span class="hljs-string">"/api/users/{user}"</span>, data)
  10352. req.Header = headers
  10353. client := &amp;http.Client{}
  10354. resp, err := client.Do(req)
  10355. <span class="hljs-comment">// ...</span>
  10356. }
  10357. </code></pre>
  10358. <p><code>GET /api/users/{user}</code></p>
  10359. <p><em>get a given user</em></p>
  10360. <p>Only the admin user (the first user) can call the REST API.</p>
  10361. <h3 id="get_user-parameters">Parameters</h3>
  10362. <table>
  10363. <thead>
  10364. <tr>
  10365. <th>Name</th>
  10366. <th>In</th>
  10367. <th>Type</th>
  10368. <th>Required</th>
  10369. <th>Description</th>
  10370. </tr>
  10371. </thead>
  10372. <tbody>
  10373. <tr>
  10374. <td>user</td>
  10375. <td>path</td>
  10376. <td>string</td>
  10377. <td>true</td>
  10378. <td>the user ID</td>
  10379. </tr>
  10380. </tbody>
  10381. </table>
  10382. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  10383. <p><strong>user</strong>: the user ID</p>
  10384. <blockquote>
  10385. <p>Example responses</p>
  10386. </blockquote>
  10387. <blockquote>
  10388. <p>200 Response</p>
  10389. </blockquote>
  10390. <pre class="highlight tab tab-json"><code>{
  10391. <span class="hljs-attr">"username"</span>: <span class="hljs-string">"string"</span>,
  10392. <span class="hljs-attr">"emails"</span>: [
  10393. {
  10394. <span class="hljs-attr">"address"</span>: <span class="hljs-string">"string"</span>,
  10395. <span class="hljs-attr">"verified"</span>: <span class="hljs-literal">true</span>
  10396. }
  10397. ],
  10398. <span class="hljs-attr">"createdAt"</span>: <span class="hljs-string">"string"</span>,
  10399. <span class="hljs-attr">"modifiedAt"</span>: <span class="hljs-string">"string"</span>,
  10400. <span class="hljs-attr">"profile"</span>: {
  10401. <span class="hljs-attr">"avatarUrl"</span>: <span class="hljs-string">"string"</span>,
  10402. <span class="hljs-attr">"emailBuffer"</span>: [
  10403. <span class="hljs-string">"string"</span>
  10404. ],
  10405. <span class="hljs-attr">"fullname"</span>: <span class="hljs-string">"string"</span>,
  10406. <span class="hljs-attr">"showDesktopDragHandles"</span>: <span class="hljs-literal">true</span>,
  10407. <span class="hljs-attr">"hideCheckedItems"</span>: <span class="hljs-literal">true</span>,
  10408. <span class="hljs-attr">"hiddenSystemMessages"</span>: <span class="hljs-literal">true</span>,
  10409. <span class="hljs-attr">"hiddenMinicardLabelText"</span>: <span class="hljs-literal">true</span>,
  10410. <span class="hljs-attr">"initials"</span>: <span class="hljs-string">"string"</span>,
  10411. <span class="hljs-attr">"invitedBoards"</span>: [
  10412. <span class="hljs-string">"string"</span>
  10413. ],
  10414. <span class="hljs-attr">"language"</span>: <span class="hljs-string">"string"</span>,
  10415. <span class="hljs-attr">"notifications"</span>: [],
  10416. <span class="hljs-attr">"activity"</span>: <span class="hljs-string">"string"</span>,
  10417. <span class="hljs-attr">"read"</span>: <span class="hljs-string">"string"</span>,
  10418. <span class="hljs-attr">"showCardsCountAt"</span>: <span class="hljs-number">0</span>,
  10419. <span class="hljs-attr">"startDayOfWeek"</span>: <span class="hljs-number">0</span>,
  10420. <span class="hljs-attr">"starredBoards"</span>: [
  10421. <span class="hljs-string">"string"</span>
  10422. ],
  10423. <span class="hljs-attr">"icode"</span>: <span class="hljs-string">"string"</span>,
  10424. <span class="hljs-attr">"boardView"</span>: <span class="hljs-string">"board-view-swimlanes"</span>,
  10425. <span class="hljs-attr">"listSortBy"</span>: <span class="hljs-string">"-modifiedat"</span>,
  10426. <span class="hljs-attr">"templatesBoardId"</span>: <span class="hljs-string">"string"</span>,
  10427. <span class="hljs-attr">"cardTemplatesSwimlaneId"</span>: <span class="hljs-string">"string"</span>,
  10428. <span class="hljs-attr">"listTemplatesSwimlaneId"</span>: <span class="hljs-string">"string"</span>,
  10429. <span class="hljs-attr">"boardTemplatesSwimlaneId"</span>: <span class="hljs-string">"string"</span>
  10430. },
  10431. <span class="hljs-attr">"services"</span>: {},
  10432. <span class="hljs-attr">"heartbeat"</span>: <span class="hljs-string">"string"</span>,
  10433. <span class="hljs-attr">"isAdmin"</span>: <span class="hljs-literal">true</span>,
  10434. <span class="hljs-attr">"createdThroughApi"</span>: <span class="hljs-literal">true</span>,
  10435. <span class="hljs-attr">"loginDisabled"</span>: <span class="hljs-literal">true</span>,
  10436. <span class="hljs-attr">"authenticationMethod"</span>: <span class="hljs-string">"string"</span>,
  10437. <span class="hljs-attr">"sessionData"</span>: {
  10438. <span class="hljs-attr">"totalHits"</span>: <span class="hljs-number">0</span>,
  10439. <span class="hljs-attr">"lastHit"</span>: <span class="hljs-number">0</span>
  10440. }
  10441. }
  10442. </code></pre>
  10443. <h3 id="get_user-responses">Responses</h3>
  10444. <table>
  10445. <thead>
  10446. <tr>
  10447. <th>Status</th>
  10448. <th>Meaning</th>
  10449. <th>Description</th>
  10450. <th>Schema</th>
  10451. </tr>
  10452. </thead>
  10453. <tbody>
  10454. <tr>
  10455. <td>200</td>
  10456. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  10457. <td>200 response</td>
  10458. <td><a href="#schemausers">Users</a></td>
  10459. </tr>
  10460. </tbody>
  10461. </table>
  10462. <aside class="warning">
  10463. To perform this operation, you must be authenticated by means of one of the following methods:
  10464. UserSecurity
  10465. </aside>
  10466. <h2 id="edit_user">edit_user</h2>
  10467. <p><a id="opIdedit_user"></a></p>
  10468. <blockquote>
  10469. <p>Code samples</p>
  10470. </blockquote>
  10471. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  10472. curl -X PUT /api/users/{user} \
  10473. -H <span class="hljs-string">'Content-Type: multipart/form-data'</span> \
  10474. -H <span class="hljs-string">'Accept: application/json'</span> \
  10475. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  10476. </code></pre>
  10477. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">PUT</span> <span class="hljs-string">/api/users/{user}</span> HTTP/1.1
  10478. <span class="fortran">Content-<span class="hljs-keyword">Type</span>: multipart/<span class="hljs-keyword">form</span>-<span class="hljs-keyword">data</span>
  10479. Accept: application/json
  10480. </span></code></pre>
  10481. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  10482. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  10483. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  10484. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  10485. };
  10486. $.ajax({
  10487. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/users/{user}'</span>,
  10488. <span class="hljs-attr">method</span>: <span class="hljs-string">'put'</span>,
  10489. <span class="hljs-attr">headers</span>: headers,
  10490. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  10491. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  10492. }
  10493. })
  10494. </code></pre>
  10495. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  10496. <span class="hljs-keyword">const</span> inputBody = <span class="hljs-string">'{
  10497. "action": "string"
  10498. }'</span>;
  10499. <span class="hljs-keyword">const</span> headers = {
  10500. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  10501. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  10502. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  10503. };
  10504. fetch(<span class="hljs-string">'/api/users/{user}'</span>,
  10505. {
  10506. <span class="hljs-attr">method</span>: <span class="hljs-string">'PUT'</span>,
  10507. <span class="hljs-attr">body</span>: inputBody,
  10508. <span class="hljs-attr">headers</span>: headers
  10509. })
  10510. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  10511. <span class="hljs-keyword">return</span> res.json();
  10512. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  10513. <span class="hljs-built_in">console</span>.log(body);
  10514. });
  10515. </code></pre>
  10516. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  10517. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  10518. headers = {
  10519. <span class="hljs-string">'Content-Type'</span> =&gt; <span class="hljs-string">'multipart/form-data'</span>,
  10520. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  10521. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  10522. }
  10523. result = RestClient.put <span class="hljs-string">'/api/users/{user}'</span>,
  10524. <span class="hljs-symbol">params:</span> {
  10525. }, <span class="hljs-symbol">headers:</span> headers
  10526. p JSON.parse(result)
  10527. </code></pre>
  10528. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  10529. headers = {
  10530. <span class="hljs-string">'Content-Type'</span>: <span class="hljs-string">'multipart/form-data'</span>,
  10531. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  10532. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  10533. }
  10534. r = requests.put(<span class="hljs-string">'/api/users/{user}'</span>, params={
  10535. }, headers = headers)
  10536. <span class="hljs-keyword">print</span> r.json()
  10537. </code></pre>
  10538. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/users/{user}"</span>);
  10539. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  10540. con.setRequestMethod(<span class="hljs-string">"PUT"</span>);
  10541. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  10542. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  10543. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  10544. String inputLine;
  10545. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  10546. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  10547. response.append(inputLine);
  10548. }
  10549. in.close();
  10550. System.out.println(response.toString());
  10551. </code></pre>
  10552. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  10553. <span class="hljs-keyword">import</span> (
  10554. <span class="hljs-string">"bytes"</span>
  10555. <span class="hljs-string">"net/http"</span>
  10556. )
  10557. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  10558. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  10559. <span class="hljs-string">"Content-Type"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"multipart/form-data"</span>},
  10560. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  10561. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  10562. }
  10563. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  10564. req, err := http.NewRequest(<span class="hljs-string">"PUT"</span>, <span class="hljs-string">"/api/users/{user}"</span>, data)
  10565. req.Header = headers
  10566. client := &amp;http.Client{}
  10567. resp, err := client.Do(req)
  10568. <span class="hljs-comment">// ...</span>
  10569. }
  10570. </code></pre>
  10571. <p><code>PUT /api/users/{user}</code></p>
  10572. <p><em>edit a given user</em></p>
  10573. <p>Only the admin user (the first user) can call the REST API.</p>
  10574. <p>Possible values for <em>action</em>:</p>
  10575. <ul>
  10576. <li><code>takeOwnership</code>: The admin takes the ownership of ALL boards of the user (archived and not archived) where the user is admin on.</li>
  10577. <li><code>disableLogin</code>: Disable a user (the user is not allowed to login and his login tokens are purged)</li>
  10578. <li><code>enableLogin</code>: Enable a user</li>
  10579. </ul>
  10580. <blockquote>
  10581. <p>Body parameter</p>
  10582. </blockquote>
  10583. <pre class="highlight tab tab-yaml"><code><span class="hljs-attr">action:</span> <span class="hljs-string">string</span>
  10584. </code></pre>
  10585. <h3 id="edit_user-parameters">Parameters</h3>
  10586. <table>
  10587. <thead>
  10588. <tr>
  10589. <th>Name</th>
  10590. <th>In</th>
  10591. <th>Type</th>
  10592. <th>Required</th>
  10593. <th>Description</th>
  10594. </tr>
  10595. </thead>
  10596. <tbody>
  10597. <tr>
  10598. <td>user</td>
  10599. <td>path</td>
  10600. <td>string</td>
  10601. <td>true</td>
  10602. <td>the user ID</td>
  10603. </tr>
  10604. <tr>
  10605. <td>body</td>
  10606. <td>body</td>
  10607. <td>object</td>
  10608. <td>false</td>
  10609. <td>none</td>
  10610. </tr>
  10611. <tr>
  10612. <td>» action</td>
  10613. <td>body</td>
  10614. <td>string</td>
  10615. <td>true</td>
  10616. <td>the action</td>
  10617. </tr>
  10618. </tbody>
  10619. </table>
  10620. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  10621. <p><strong>user</strong>: the user ID</p>
  10622. <blockquote>
  10623. <p>Example responses</p>
  10624. </blockquote>
  10625. <blockquote>
  10626. <p>200 Response</p>
  10627. </blockquote>
  10628. <pre class="highlight tab tab-json"><code>{
  10629. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>,
  10630. <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>
  10631. }
  10632. </code></pre>
  10633. <h3 id="edit_user-responses">Responses</h3>
  10634. <table>
  10635. <thead>
  10636. <tr>
  10637. <th>Status</th>
  10638. <th>Meaning</th>
  10639. <th>Description</th>
  10640. <th>Schema</th>
  10641. </tr>
  10642. </thead>
  10643. <tbody>
  10644. <tr>
  10645. <td>200</td>
  10646. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  10647. <td>200 response</td>
  10648. <td>Inline</td>
  10649. </tr>
  10650. </tbody>
  10651. </table>
  10652. <h3 id="edit_user-responseschema">Response Schema</h3>
  10653. <p>Status Code <strong>200</strong></p>
  10654. <table>
  10655. <thead>
  10656. <tr>
  10657. <th>Name</th>
  10658. <th>Type</th>
  10659. <th>Required</th>
  10660. <th>Restrictions</th>
  10661. <th>Description</th>
  10662. </tr>
  10663. </thead>
  10664. <tbody>
  10665. <tr>
  10666. <td>» _id</td>
  10667. <td>string</td>
  10668. <td>false</td>
  10669. <td>none</td>
  10670. <td>none</td>
  10671. </tr>
  10672. <tr>
  10673. <td>» title</td>
  10674. <td>string</td>
  10675. <td>false</td>
  10676. <td>none</td>
  10677. <td>none</td>
  10678. </tr>
  10679. </tbody>
  10680. </table>
  10681. <aside class="warning">
  10682. To perform this operation, you must be authenticated by means of one of the following methods:
  10683. UserSecurity
  10684. </aside>
  10685. <h2 id="delete_user">delete_user</h2>
  10686. <p><a id="opIddelete_user"></a></p>
  10687. <blockquote>
  10688. <p>Code samples</p>
  10689. </blockquote>
  10690. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  10691. curl -X DELETE /api/users/{user} \
  10692. -H <span class="hljs-string">'Accept: application/json'</span> \
  10693. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  10694. </code></pre>
  10695. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">DELETE</span> <span class="hljs-string">/api/users/{user}</span> HTTP/1.1
  10696. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  10697. <span class="undefined"></span></span></code></pre>
  10698. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  10699. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  10700. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  10701. };
  10702. $.ajax({
  10703. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/users/{user}'</span>,
  10704. <span class="hljs-attr">method</span>: <span class="hljs-string">'delete'</span>,
  10705. <span class="hljs-attr">headers</span>: headers,
  10706. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  10707. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  10708. }
  10709. })
  10710. </code></pre>
  10711. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  10712. <span class="hljs-keyword">const</span> headers = {
  10713. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  10714. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  10715. };
  10716. fetch(<span class="hljs-string">'/api/users/{user}'</span>,
  10717. {
  10718. <span class="hljs-attr">method</span>: <span class="hljs-string">'DELETE'</span>,
  10719. <span class="hljs-attr">headers</span>: headers
  10720. })
  10721. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  10722. <span class="hljs-keyword">return</span> res.json();
  10723. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  10724. <span class="hljs-built_in">console</span>.log(body);
  10725. });
  10726. </code></pre>
  10727. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  10728. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  10729. headers = {
  10730. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  10731. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  10732. }
  10733. result = RestClient.delete <span class="hljs-string">'/api/users/{user}'</span>,
  10734. <span class="hljs-symbol">params:</span> {
  10735. }, <span class="hljs-symbol">headers:</span> headers
  10736. p JSON.parse(result)
  10737. </code></pre>
  10738. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  10739. headers = {
  10740. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  10741. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  10742. }
  10743. r = requests.delete(<span class="hljs-string">'/api/users/{user}'</span>, params={
  10744. }, headers = headers)
  10745. <span class="hljs-keyword">print</span> r.json()
  10746. </code></pre>
  10747. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/users/{user}"</span>);
  10748. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  10749. con.setRequestMethod(<span class="hljs-string">"DELETE"</span>);
  10750. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  10751. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  10752. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  10753. String inputLine;
  10754. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  10755. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  10756. response.append(inputLine);
  10757. }
  10758. in.close();
  10759. System.out.println(response.toString());
  10760. </code></pre>
  10761. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  10762. <span class="hljs-keyword">import</span> (
  10763. <span class="hljs-string">"bytes"</span>
  10764. <span class="hljs-string">"net/http"</span>
  10765. )
  10766. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  10767. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  10768. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  10769. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  10770. }
  10771. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  10772. req, err := http.NewRequest(<span class="hljs-string">"DELETE"</span>, <span class="hljs-string">"/api/users/{user}"</span>, data)
  10773. req.Header = headers
  10774. client := &amp;http.Client{}
  10775. resp, err := client.Do(req)
  10776. <span class="hljs-comment">// ...</span>
  10777. }
  10778. </code></pre>
  10779. <p><code>DELETE /api/users/{user}</code></p>
  10780. <p><em>Delete a user</em></p>
  10781. <p>Only the admin user (the first user) can call the REST API.</p>
  10782. <h3 id="delete_user-parameters">Parameters</h3>
  10783. <table>
  10784. <thead>
  10785. <tr>
  10786. <th>Name</th>
  10787. <th>In</th>
  10788. <th>Type</th>
  10789. <th>Required</th>
  10790. <th>Description</th>
  10791. </tr>
  10792. </thead>
  10793. <tbody>
  10794. <tr>
  10795. <td>user</td>
  10796. <td>path</td>
  10797. <td>string</td>
  10798. <td>true</td>
  10799. <td>the ID of the user to delete</td>
  10800. </tr>
  10801. </tbody>
  10802. </table>
  10803. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  10804. <p><strong>user</strong>: the ID of the user to delete</p>
  10805. <blockquote>
  10806. <p>Example responses</p>
  10807. </blockquote>
  10808. <blockquote>
  10809. <p>200 Response</p>
  10810. </blockquote>
  10811. <pre class="highlight tab tab-json"><code>{
  10812. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>
  10813. }
  10814. </code></pre>
  10815. <h3 id="delete_user-responses">Responses</h3>
  10816. <table>
  10817. <thead>
  10818. <tr>
  10819. <th>Status</th>
  10820. <th>Meaning</th>
  10821. <th>Description</th>
  10822. <th>Schema</th>
  10823. </tr>
  10824. </thead>
  10825. <tbody>
  10826. <tr>
  10827. <td>200</td>
  10828. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  10829. <td>200 response</td>
  10830. <td>Inline</td>
  10831. </tr>
  10832. </tbody>
  10833. </table>
  10834. <h3 id="delete_user-responseschema">Response Schema</h3>
  10835. <p>Status Code <strong>200</strong></p>
  10836. <table>
  10837. <thead>
  10838. <tr>
  10839. <th>Name</th>
  10840. <th>Type</th>
  10841. <th>Required</th>
  10842. <th>Restrictions</th>
  10843. <th>Description</th>
  10844. </tr>
  10845. </thead>
  10846. <tbody>
  10847. <tr>
  10848. <td>» _id</td>
  10849. <td>string</td>
  10850. <td>false</td>
  10851. <td>none</td>
  10852. <td>none</td>
  10853. </tr>
  10854. </tbody>
  10855. </table>
  10856. <aside class="warning">
  10857. To perform this operation, you must be authenticated by means of one of the following methods:
  10858. UserSecurity
  10859. </aside>
  10860. <h1 id="wekan-rest-api-swimlanes">Swimlanes</h1>
  10861. <h2 id="get_all_swimlanes">get_all_swimlanes</h2>
  10862. <p><a id="opIdget_all_swimlanes"></a></p>
  10863. <blockquote>
  10864. <p>Code samples</p>
  10865. </blockquote>
  10866. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  10867. curl -X GET /api/boards/{board}/swimlanes \
  10868. -H <span class="hljs-string">'Accept: application/json'</span> \
  10869. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  10870. </code></pre>
  10871. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">GET</span> <span class="hljs-string">/api/boards/{board}/swimlanes</span> HTTP/1.1
  10872. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  10873. <span class="undefined"></span></span></code></pre>
  10874. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  10875. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  10876. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  10877. };
  10878. $.ajax({
  10879. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/swimlanes'</span>,
  10880. <span class="hljs-attr">method</span>: <span class="hljs-string">'get'</span>,
  10881. <span class="hljs-attr">headers</span>: headers,
  10882. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  10883. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  10884. }
  10885. })
  10886. </code></pre>
  10887. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  10888. <span class="hljs-keyword">const</span> headers = {
  10889. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  10890. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  10891. };
  10892. fetch(<span class="hljs-string">'/api/boards/{board}/swimlanes'</span>,
  10893. {
  10894. <span class="hljs-attr">method</span>: <span class="hljs-string">'GET'</span>,
  10895. <span class="hljs-attr">headers</span>: headers
  10896. })
  10897. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  10898. <span class="hljs-keyword">return</span> res.json();
  10899. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  10900. <span class="hljs-built_in">console</span>.log(body);
  10901. });
  10902. </code></pre>
  10903. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  10904. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  10905. headers = {
  10906. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  10907. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  10908. }
  10909. result = RestClient.get <span class="hljs-string">'/api/boards/{board}/swimlanes'</span>,
  10910. <span class="hljs-symbol">params:</span> {
  10911. }, <span class="hljs-symbol">headers:</span> headers
  10912. p JSON.parse(result)
  10913. </code></pre>
  10914. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  10915. headers = {
  10916. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  10917. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  10918. }
  10919. r = requests.get(<span class="hljs-string">'/api/boards/{board}/swimlanes'</span>, params={
  10920. }, headers = headers)
  10921. <span class="hljs-keyword">print</span> r.json()
  10922. </code></pre>
  10923. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/swimlanes"</span>);
  10924. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  10925. con.setRequestMethod(<span class="hljs-string">"GET"</span>);
  10926. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  10927. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  10928. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  10929. String inputLine;
  10930. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  10931. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  10932. response.append(inputLine);
  10933. }
  10934. in.close();
  10935. System.out.println(response.toString());
  10936. </code></pre>
  10937. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  10938. <span class="hljs-keyword">import</span> (
  10939. <span class="hljs-string">"bytes"</span>
  10940. <span class="hljs-string">"net/http"</span>
  10941. )
  10942. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  10943. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  10944. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  10945. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  10946. }
  10947. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  10948. req, err := http.NewRequest(<span class="hljs-string">"GET"</span>, <span class="hljs-string">"/api/boards/{board}/swimlanes"</span>, data)
  10949. req.Header = headers
  10950. client := &amp;http.Client{}
  10951. resp, err := client.Do(req)
  10952. <span class="hljs-comment">// ...</span>
  10953. }
  10954. </code></pre>
  10955. <p><code>GET /api/boards/{board}/swimlanes</code></p>
  10956. <p><em>Get the list of swimlanes attached to a board</em></p>
  10957. <h3 id="get_all_swimlanes-parameters">Parameters</h3>
  10958. <table>
  10959. <thead>
  10960. <tr>
  10961. <th>Name</th>
  10962. <th>In</th>
  10963. <th>Type</th>
  10964. <th>Required</th>
  10965. <th>Description</th>
  10966. </tr>
  10967. </thead>
  10968. <tbody>
  10969. <tr>
  10970. <td>board</td>
  10971. <td>path</td>
  10972. <td>string</td>
  10973. <td>true</td>
  10974. <td>the ID of the board</td>
  10975. </tr>
  10976. </tbody>
  10977. </table>
  10978. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  10979. <p><strong>board</strong>: the ID of the board</p>
  10980. <blockquote>
  10981. <p>Example responses</p>
  10982. </blockquote>
  10983. <blockquote>
  10984. <p>200 Response</p>
  10985. </blockquote>
  10986. <pre class="highlight tab tab-json"><code>[
  10987. {
  10988. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>,
  10989. <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>
  10990. }
  10991. ]
  10992. </code></pre>
  10993. <h3 id="get_all_swimlanes-responses">Responses</h3>
  10994. <table>
  10995. <thead>
  10996. <tr>
  10997. <th>Status</th>
  10998. <th>Meaning</th>
  10999. <th>Description</th>
  11000. <th>Schema</th>
  11001. </tr>
  11002. </thead>
  11003. <tbody>
  11004. <tr>
  11005. <td>200</td>
  11006. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  11007. <td>200 response</td>
  11008. <td>Inline</td>
  11009. </tr>
  11010. </tbody>
  11011. </table>
  11012. <h3 id="get_all_swimlanes-responseschema">Response Schema</h3>
  11013. <p>Status Code <strong>200</strong></p>
  11014. <table>
  11015. <thead>
  11016. <tr>
  11017. <th>Name</th>
  11018. <th>Type</th>
  11019. <th>Required</th>
  11020. <th>Restrictions</th>
  11021. <th>Description</th>
  11022. </tr>
  11023. </thead>
  11024. <tbody>
  11025. <tr>
  11026. <td>» _id</td>
  11027. <td>string</td>
  11028. <td>false</td>
  11029. <td>none</td>
  11030. <td>none</td>
  11031. </tr>
  11032. <tr>
  11033. <td>» title</td>
  11034. <td>string</td>
  11035. <td>false</td>
  11036. <td>none</td>
  11037. <td>none</td>
  11038. </tr>
  11039. </tbody>
  11040. </table>
  11041. <aside class="warning">
  11042. To perform this operation, you must be authenticated by means of one of the following methods:
  11043. UserSecurity
  11044. </aside>
  11045. <h2 id="new_swimlane">new_swimlane</h2>
  11046. <p><a id="opIdnew_swimlane"></a></p>
  11047. <blockquote>
  11048. <p>Code samples</p>
  11049. </blockquote>
  11050. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  11051. curl -X POST /api/boards/{board}/swimlanes \
  11052. -H <span class="hljs-string">'Content-Type: multipart/form-data'</span> \
  11053. -H <span class="hljs-string">'Accept: application/json'</span> \
  11054. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  11055. </code></pre>
  11056. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">POST</span> <span class="hljs-string">/api/boards/{board}/swimlanes</span> HTTP/1.1
  11057. <span class="fortran">Content-<span class="hljs-keyword">Type</span>: multipart/<span class="hljs-keyword">form</span>-<span class="hljs-keyword">data</span>
  11058. Accept: application/json
  11059. </span></code></pre>
  11060. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  11061. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  11062. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  11063. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  11064. };
  11065. $.ajax({
  11066. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/swimlanes'</span>,
  11067. <span class="hljs-attr">method</span>: <span class="hljs-string">'post'</span>,
  11068. <span class="hljs-attr">headers</span>: headers,
  11069. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  11070. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  11071. }
  11072. })
  11073. </code></pre>
  11074. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  11075. <span class="hljs-keyword">const</span> inputBody = <span class="hljs-string">'{
  11076. "title": "string"
  11077. }'</span>;
  11078. <span class="hljs-keyword">const</span> headers = {
  11079. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  11080. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  11081. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  11082. };
  11083. fetch(<span class="hljs-string">'/api/boards/{board}/swimlanes'</span>,
  11084. {
  11085. <span class="hljs-attr">method</span>: <span class="hljs-string">'POST'</span>,
  11086. <span class="hljs-attr">body</span>: inputBody,
  11087. <span class="hljs-attr">headers</span>: headers
  11088. })
  11089. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  11090. <span class="hljs-keyword">return</span> res.json();
  11091. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  11092. <span class="hljs-built_in">console</span>.log(body);
  11093. });
  11094. </code></pre>
  11095. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  11096. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  11097. headers = {
  11098. <span class="hljs-string">'Content-Type'</span> =&gt; <span class="hljs-string">'multipart/form-data'</span>,
  11099. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  11100. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  11101. }
  11102. result = RestClient.post <span class="hljs-string">'/api/boards/{board}/swimlanes'</span>,
  11103. <span class="hljs-symbol">params:</span> {
  11104. }, <span class="hljs-symbol">headers:</span> headers
  11105. p JSON.parse(result)
  11106. </code></pre>
  11107. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  11108. headers = {
  11109. <span class="hljs-string">'Content-Type'</span>: <span class="hljs-string">'multipart/form-data'</span>,
  11110. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  11111. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  11112. }
  11113. r = requests.post(<span class="hljs-string">'/api/boards/{board}/swimlanes'</span>, params={
  11114. }, headers = headers)
  11115. <span class="hljs-keyword">print</span> r.json()
  11116. </code></pre>
  11117. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/swimlanes"</span>);
  11118. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  11119. con.setRequestMethod(<span class="hljs-string">"POST"</span>);
  11120. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  11121. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  11122. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  11123. String inputLine;
  11124. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  11125. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  11126. response.append(inputLine);
  11127. }
  11128. in.close();
  11129. System.out.println(response.toString());
  11130. </code></pre>
  11131. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  11132. <span class="hljs-keyword">import</span> (
  11133. <span class="hljs-string">"bytes"</span>
  11134. <span class="hljs-string">"net/http"</span>
  11135. )
  11136. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  11137. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  11138. <span class="hljs-string">"Content-Type"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"multipart/form-data"</span>},
  11139. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  11140. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  11141. }
  11142. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  11143. req, err := http.NewRequest(<span class="hljs-string">"POST"</span>, <span class="hljs-string">"/api/boards/{board}/swimlanes"</span>, data)
  11144. req.Header = headers
  11145. client := &amp;http.Client{}
  11146. resp, err := client.Do(req)
  11147. <span class="hljs-comment">// ...</span>
  11148. }
  11149. </code></pre>
  11150. <p><code>POST /api/boards/{board}/swimlanes</code></p>
  11151. <p><em>Add a swimlane to a board</em></p>
  11152. <blockquote>
  11153. <p>Body parameter</p>
  11154. </blockquote>
  11155. <pre class="highlight tab tab-yaml"><code><span class="hljs-attr">title:</span> <span class="hljs-string">string</span>
  11156. </code></pre>
  11157. <h3 id="new_swimlane-parameters">Parameters</h3>
  11158. <table>
  11159. <thead>
  11160. <tr>
  11161. <th>Name</th>
  11162. <th>In</th>
  11163. <th>Type</th>
  11164. <th>Required</th>
  11165. <th>Description</th>
  11166. </tr>
  11167. </thead>
  11168. <tbody>
  11169. <tr>
  11170. <td>board</td>
  11171. <td>path</td>
  11172. <td>string</td>
  11173. <td>true</td>
  11174. <td>the ID of the board</td>
  11175. </tr>
  11176. <tr>
  11177. <td>body</td>
  11178. <td>body</td>
  11179. <td>object</td>
  11180. <td>false</td>
  11181. <td>none</td>
  11182. </tr>
  11183. <tr>
  11184. <td>» title</td>
  11185. <td>body</td>
  11186. <td>string</td>
  11187. <td>true</td>
  11188. <td>the new title of the swimlane</td>
  11189. </tr>
  11190. </tbody>
  11191. </table>
  11192. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  11193. <p><strong>board</strong>: the ID of the board</p>
  11194. <blockquote>
  11195. <p>Example responses</p>
  11196. </blockquote>
  11197. <blockquote>
  11198. <p>200 Response</p>
  11199. </blockquote>
  11200. <pre class="highlight tab tab-json"><code>{
  11201. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>
  11202. }
  11203. </code></pre>
  11204. <h3 id="new_swimlane-responses">Responses</h3>
  11205. <table>
  11206. <thead>
  11207. <tr>
  11208. <th>Status</th>
  11209. <th>Meaning</th>
  11210. <th>Description</th>
  11211. <th>Schema</th>
  11212. </tr>
  11213. </thead>
  11214. <tbody>
  11215. <tr>
  11216. <td>200</td>
  11217. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  11218. <td>200 response</td>
  11219. <td>Inline</td>
  11220. </tr>
  11221. </tbody>
  11222. </table>
  11223. <h3 id="new_swimlane-responseschema">Response Schema</h3>
  11224. <p>Status Code <strong>200</strong></p>
  11225. <table>
  11226. <thead>
  11227. <tr>
  11228. <th>Name</th>
  11229. <th>Type</th>
  11230. <th>Required</th>
  11231. <th>Restrictions</th>
  11232. <th>Description</th>
  11233. </tr>
  11234. </thead>
  11235. <tbody>
  11236. <tr>
  11237. <td>» _id</td>
  11238. <td>string</td>
  11239. <td>false</td>
  11240. <td>none</td>
  11241. <td>none</td>
  11242. </tr>
  11243. </tbody>
  11244. </table>
  11245. <aside class="warning">
  11246. To perform this operation, you must be authenticated by means of one of the following methods:
  11247. UserSecurity
  11248. </aside>
  11249. <h2 id="get_swimlane">get_swimlane</h2>
  11250. <p><a id="opIdget_swimlane"></a></p>
  11251. <blockquote>
  11252. <p>Code samples</p>
  11253. </blockquote>
  11254. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  11255. curl -X GET /api/boards/{board}/swimlanes/{swimlane} \
  11256. -H <span class="hljs-string">'Accept: application/json'</span> \
  11257. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  11258. </code></pre>
  11259. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">GET</span> <span class="hljs-string">/api/boards/{board}/swimlanes/{swimlane}</span> HTTP/1.1
  11260. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  11261. <span class="undefined"></span></span></code></pre>
  11262. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  11263. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  11264. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  11265. };
  11266. $.ajax({
  11267. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/swimlanes/{swimlane}'</span>,
  11268. <span class="hljs-attr">method</span>: <span class="hljs-string">'get'</span>,
  11269. <span class="hljs-attr">headers</span>: headers,
  11270. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  11271. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  11272. }
  11273. })
  11274. </code></pre>
  11275. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  11276. <span class="hljs-keyword">const</span> headers = {
  11277. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  11278. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  11279. };
  11280. fetch(<span class="hljs-string">'/api/boards/{board}/swimlanes/{swimlane}'</span>,
  11281. {
  11282. <span class="hljs-attr">method</span>: <span class="hljs-string">'GET'</span>,
  11283. <span class="hljs-attr">headers</span>: headers
  11284. })
  11285. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  11286. <span class="hljs-keyword">return</span> res.json();
  11287. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  11288. <span class="hljs-built_in">console</span>.log(body);
  11289. });
  11290. </code></pre>
  11291. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  11292. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  11293. headers = {
  11294. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  11295. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  11296. }
  11297. result = RestClient.get <span class="hljs-string">'/api/boards/{board}/swimlanes/{swimlane}'</span>,
  11298. <span class="hljs-symbol">params:</span> {
  11299. }, <span class="hljs-symbol">headers:</span> headers
  11300. p JSON.parse(result)
  11301. </code></pre>
  11302. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  11303. headers = {
  11304. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  11305. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  11306. }
  11307. r = requests.get(<span class="hljs-string">'/api/boards/{board}/swimlanes/{swimlane}'</span>, params={
  11308. }, headers = headers)
  11309. <span class="hljs-keyword">print</span> r.json()
  11310. </code></pre>
  11311. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/swimlanes/{swimlane}"</span>);
  11312. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  11313. con.setRequestMethod(<span class="hljs-string">"GET"</span>);
  11314. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  11315. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  11316. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  11317. String inputLine;
  11318. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  11319. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  11320. response.append(inputLine);
  11321. }
  11322. in.close();
  11323. System.out.println(response.toString());
  11324. </code></pre>
  11325. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  11326. <span class="hljs-keyword">import</span> (
  11327. <span class="hljs-string">"bytes"</span>
  11328. <span class="hljs-string">"net/http"</span>
  11329. )
  11330. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  11331. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  11332. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  11333. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  11334. }
  11335. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  11336. req, err := http.NewRequest(<span class="hljs-string">"GET"</span>, <span class="hljs-string">"/api/boards/{board}/swimlanes/{swimlane}"</span>, data)
  11337. req.Header = headers
  11338. client := &amp;http.Client{}
  11339. resp, err := client.Do(req)
  11340. <span class="hljs-comment">// ...</span>
  11341. }
  11342. </code></pre>
  11343. <p><code>GET /api/boards/{board}/swimlanes/{swimlane}</code></p>
  11344. <p><em>Get a swimlane</em></p>
  11345. <h3 id="get_swimlane-parameters">Parameters</h3>
  11346. <table>
  11347. <thead>
  11348. <tr>
  11349. <th>Name</th>
  11350. <th>In</th>
  11351. <th>Type</th>
  11352. <th>Required</th>
  11353. <th>Description</th>
  11354. </tr>
  11355. </thead>
  11356. <tbody>
  11357. <tr>
  11358. <td>board</td>
  11359. <td>path</td>
  11360. <td>string</td>
  11361. <td>true</td>
  11362. <td>the ID of the board</td>
  11363. </tr>
  11364. <tr>
  11365. <td>swimlane</td>
  11366. <td>path</td>
  11367. <td>string</td>
  11368. <td>true</td>
  11369. <td>the ID of the swimlane</td>
  11370. </tr>
  11371. </tbody>
  11372. </table>
  11373. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  11374. <p><strong>board</strong>: the ID of the board</p>
  11375. <p><strong>swimlane</strong>: the ID of the swimlane</p>
  11376. <blockquote>
  11377. <p>Example responses</p>
  11378. </blockquote>
  11379. <blockquote>
  11380. <p>200 Response</p>
  11381. </blockquote>
  11382. <pre class="highlight tab tab-json"><code>{
  11383. <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
  11384. <span class="hljs-attr">"archived"</span>: <span class="hljs-literal">true</span>,
  11385. <span class="hljs-attr">"boardId"</span>: <span class="hljs-string">"string"</span>,
  11386. <span class="hljs-attr">"createdAt"</span>: <span class="hljs-string">"string"</span>,
  11387. <span class="hljs-attr">"sort"</span>: <span class="hljs-number">0</span>,
  11388. <span class="hljs-attr">"color"</span>: <span class="hljs-string">"white"</span>,
  11389. <span class="hljs-attr">"updatedAt"</span>: <span class="hljs-string">"string"</span>,
  11390. <span class="hljs-attr">"modifiedAt"</span>: <span class="hljs-string">"string"</span>,
  11391. <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
  11392. }
  11393. </code></pre>
  11394. <h3 id="get_swimlane-responses">Responses</h3>
  11395. <table>
  11396. <thead>
  11397. <tr>
  11398. <th>Status</th>
  11399. <th>Meaning</th>
  11400. <th>Description</th>
  11401. <th>Schema</th>
  11402. </tr>
  11403. </thead>
  11404. <tbody>
  11405. <tr>
  11406. <td>200</td>
  11407. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  11408. <td>200 response</td>
  11409. <td><a href="#schemaswimlanes">Swimlanes</a></td>
  11410. </tr>
  11411. </tbody>
  11412. </table>
  11413. <aside class="warning">
  11414. To perform this operation, you must be authenticated by means of one of the following methods:
  11415. UserSecurity
  11416. </aside>
  11417. <h2 id="delete_swimlane">delete_swimlane</h2>
  11418. <p><a id="opIddelete_swimlane"></a></p>
  11419. <blockquote>
  11420. <p>Code samples</p>
  11421. </blockquote>
  11422. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  11423. curl -X DELETE /api/boards/{board}/swimlanes/{swimlane} \
  11424. -H <span class="hljs-string">'Accept: application/json'</span> \
  11425. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  11426. </code></pre>
  11427. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">DELETE</span> <span class="hljs-string">/api/boards/{board}/swimlanes/{swimlane}</span> HTTP/1.1
  11428. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  11429. <span class="undefined"></span></span></code></pre>
  11430. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  11431. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  11432. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  11433. };
  11434. $.ajax({
  11435. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/swimlanes/{swimlane}'</span>,
  11436. <span class="hljs-attr">method</span>: <span class="hljs-string">'delete'</span>,
  11437. <span class="hljs-attr">headers</span>: headers,
  11438. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  11439. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  11440. }
  11441. })
  11442. </code></pre>
  11443. <pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
  11444. <span class="hljs-keyword">const</span> headers = {
  11445. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  11446. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  11447. };
  11448. fetch(<span class="hljs-string">'/api/boards/{board}/swimlanes/{swimlane}'</span>,
  11449. {
  11450. <span class="hljs-attr">method</span>: <span class="hljs-string">'DELETE'</span>,
  11451. <span class="hljs-attr">headers</span>: headers
  11452. })
  11453. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  11454. <span class="hljs-keyword">return</span> res.json();
  11455. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  11456. <span class="hljs-built_in">console</span>.log(body);
  11457. });
  11458. </code></pre>
  11459. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  11460. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  11461. headers = {
  11462. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  11463. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  11464. }
  11465. result = RestClient.delete <span class="hljs-string">'/api/boards/{board}/swimlanes/{swimlane}'</span>,
  11466. <span class="hljs-symbol">params:</span> {
  11467. }, <span class="hljs-symbol">headers:</span> headers
  11468. p JSON.parse(result)
  11469. </code></pre>
  11470. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  11471. headers = {
  11472. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  11473. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  11474. }
  11475. r = requests.delete(<span class="hljs-string">'/api/boards/{board}/swimlanes/{swimlane}'</span>, params={
  11476. }, headers = headers)
  11477. <span class="hljs-keyword">print</span> r.json()
  11478. </code></pre>
  11479. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/swimlanes/{swimlane}"</span>);
  11480. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  11481. con.setRequestMethod(<span class="hljs-string">"DELETE"</span>);
  11482. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  11483. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  11484. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  11485. String inputLine;
  11486. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  11487. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  11488. response.append(inputLine);
  11489. }
  11490. in.close();
  11491. System.out.println(response.toString());
  11492. </code></pre>
  11493. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  11494. <span class="hljs-keyword">import</span> (
  11495. <span class="hljs-string">"bytes"</span>
  11496. <span class="hljs-string">"net/http"</span>
  11497. )
  11498. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  11499. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  11500. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  11501. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  11502. }
  11503. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  11504. req, err := http.NewRequest(<span class="hljs-string">"DELETE"</span>, <span class="hljs-string">"/api/boards/{board}/swimlanes/{swimlane}"</span>, data)
  11505. req.Header = headers
  11506. client := &amp;http.Client{}
  11507. resp, err := client.Do(req)
  11508. <span class="hljs-comment">// ...</span>
  11509. }
  11510. </code></pre>
  11511. <p><code>DELETE /api/boards/{board}/swimlanes/{swimlane}</code></p>
  11512. <p><em>Delete a swimlane</em></p>
  11513. <p>The swimlane will be deleted, not moved to the recycle bin</p>
  11514. <h3 id="delete_swimlane-parameters">Parameters</h3>
  11515. <table>
  11516. <thead>
  11517. <tr>
  11518. <th>Name</th>
  11519. <th>In</th>
  11520. <th>Type</th>
  11521. <th>Required</th>
  11522. <th>Description</th>
  11523. </tr>
  11524. </thead>
  11525. <tbody>
  11526. <tr>
  11527. <td>board</td>
  11528. <td>path</td>
  11529. <td>string</td>
  11530. <td>true</td>
  11531. <td>the ID of the board</td>
  11532. </tr>
  11533. <tr>
  11534. <td>swimlane</td>
  11535. <td>path</td>
  11536. <td>string</td>
  11537. <td>true</td>
  11538. <td>the ID of the swimlane</td>
  11539. </tr>
  11540. </tbody>
  11541. </table>
  11542. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  11543. <p><strong>board</strong>: the ID of the board</p>
  11544. <p><strong>swimlane</strong>: the ID of the swimlane</p>
  11545. <blockquote>
  11546. <p>Example responses</p>
  11547. </blockquote>
  11548. <blockquote>
  11549. <p>200 Response</p>
  11550. </blockquote>
  11551. <pre class="highlight tab tab-json"><code>{
  11552. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>
  11553. }
  11554. </code></pre>
  11555. <h3 id="delete_swimlane-responses">Responses</h3>
  11556. <table>
  11557. <thead>
  11558. <tr>
  11559. <th>Status</th>
  11560. <th>Meaning</th>
  11561. <th>Description</th>
  11562. <th>Schema</th>
  11563. </tr>
  11564. </thead>
  11565. <tbody>
  11566. <tr>
  11567. <td>200</td>
  11568. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  11569. <td>200 response</td>
  11570. <td>Inline</td>
  11571. </tr>
  11572. </tbody>
  11573. </table>
  11574. <h3 id="delete_swimlane-responseschema">Response Schema</h3>
  11575. <p>Status Code <strong>200</strong></p>
  11576. <table>
  11577. <thead>
  11578. <tr>
  11579. <th>Name</th>
  11580. <th>Type</th>
  11581. <th>Required</th>
  11582. <th>Restrictions</th>
  11583. <th>Description</th>
  11584. </tr>
  11585. </thead>
  11586. <tbody>
  11587. <tr>
  11588. <td>» _id</td>
  11589. <td>string</td>
  11590. <td>false</td>
  11591. <td>none</td>
  11592. <td>none</td>
  11593. </tr>
  11594. </tbody>
  11595. </table>
  11596. <aside class="warning">
  11597. To perform this operation, you must be authenticated by means of one of the following methods:
  11598. UserSecurity
  11599. </aside>
  11600. <h1 id="schemas">Schemas</h1>
  11601. <h2 id="tocscardcomments">CardComments</h2>
  11602. <p><a id="schemacardcomments"></a></p>
  11603. <pre class="highlight tab tab-json"><code>{
  11604. <span class="hljs-attr">"boardId"</span>: <span class="hljs-string">"string"</span>,
  11605. <span class="hljs-attr">"cardId"</span>: <span class="hljs-string">"string"</span>,
  11606. <span class="hljs-attr">"text"</span>: <span class="hljs-string">"string"</span>,
  11607. <span class="hljs-attr">"createdAt"</span>: <span class="hljs-string">"string"</span>,
  11608. <span class="hljs-attr">"modifiedAt"</span>: <span class="hljs-string">"string"</span>,
  11609. <span class="hljs-attr">"userId"</span>: <span class="hljs-string">"string"</span>
  11610. }
  11611. </code></pre>
  11612. <p><em>A comment on a card</em></p>
  11613. <h3 id="properties">Properties</h3>
  11614. <table>
  11615. <thead>
  11616. <tr>
  11617. <th>Name</th>
  11618. <th>Type</th>
  11619. <th>Required</th>
  11620. <th>Restrictions</th>
  11621. <th>Description</th>
  11622. </tr>
  11623. </thead>
  11624. <tbody>
  11625. <tr>
  11626. <td>boardId</td>
  11627. <td>string</td>
  11628. <td>true</td>
  11629. <td>none</td>
  11630. <td>the board ID</td>
  11631. </tr>
  11632. <tr>
  11633. <td>cardId</td>
  11634. <td>string</td>
  11635. <td>true</td>
  11636. <td>none</td>
  11637. <td>the card ID</td>
  11638. </tr>
  11639. <tr>
  11640. <td>text</td>
  11641. <td>string</td>
  11642. <td>true</td>
  11643. <td>none</td>
  11644. <td>the text of the comment</td>
  11645. </tr>
  11646. <tr>
  11647. <td>createdAt</td>
  11648. <td>string</td>
  11649. <td>true</td>
  11650. <td>none</td>
  11651. <td>when was the comment created</td>
  11652. </tr>
  11653. <tr>
  11654. <td>modifiedAt</td>
  11655. <td>string</td>
  11656. <td>true</td>
  11657. <td>none</td>
  11658. <td>none</td>
  11659. </tr>
  11660. <tr>
  11661. <td>userId</td>
  11662. <td>string</td>
  11663. <td>true</td>
  11664. <td>none</td>
  11665. <td>the author ID of the comment</td>
  11666. </tr>
  11667. </tbody>
  11668. </table>
  11669. <h2 id="tocscards">Cards</h2>
  11670. <p><a id="schemacards"></a></p>
  11671. <pre class="highlight tab tab-json"><code>{
  11672. <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
  11673. <span class="hljs-attr">"archived"</span>: <span class="hljs-literal">true</span>,
  11674. <span class="hljs-attr">"parentId"</span>: <span class="hljs-string">"string"</span>,
  11675. <span class="hljs-attr">"listId"</span>: <span class="hljs-string">"string"</span>,
  11676. <span class="hljs-attr">"swimlaneId"</span>: <span class="hljs-string">"string"</span>,
  11677. <span class="hljs-attr">"boardId"</span>: <span class="hljs-string">"string"</span>,
  11678. <span class="hljs-attr">"coverId"</span>: <span class="hljs-string">"string"</span>,
  11679. <span class="hljs-attr">"color"</span>: <span class="hljs-string">"white"</span>,
  11680. <span class="hljs-attr">"createdAt"</span>: <span class="hljs-string">"string"</span>,
  11681. <span class="hljs-attr">"modifiedAt"</span>: <span class="hljs-string">"string"</span>,
  11682. <span class="hljs-attr">"customFields"</span>: [
  11683. {}
  11684. ],
  11685. <span class="hljs-attr">"dateLastActivity"</span>: <span class="hljs-string">"string"</span>,
  11686. <span class="hljs-attr">"description"</span>: <span class="hljs-string">"string"</span>,
  11687. <span class="hljs-attr">"requestedBy"</span>: <span class="hljs-string">"string"</span>,
  11688. <span class="hljs-attr">"assignedBy"</span>: <span class="hljs-string">"string"</span>,
  11689. <span class="hljs-attr">"labelIds"</span>: [
  11690. <span class="hljs-string">"string"</span>
  11691. ],
  11692. <span class="hljs-attr">"members"</span>: [
  11693. <span class="hljs-string">"string"</span>
  11694. ],
  11695. <span class="hljs-attr">"assignees"</span>: [
  11696. <span class="hljs-string">"string"</span>
  11697. ],
  11698. <span class="hljs-attr">"receivedAt"</span>: <span class="hljs-string">"string"</span>,
  11699. <span class="hljs-attr">"startAt"</span>: <span class="hljs-string">"string"</span>,
  11700. <span class="hljs-attr">"dueAt"</span>: <span class="hljs-string">"string"</span>,
  11701. <span class="hljs-attr">"endAt"</span>: <span class="hljs-string">"string"</span>,
  11702. <span class="hljs-attr">"spentTime"</span>: <span class="hljs-number">0</span>,
  11703. <span class="hljs-attr">"isOvertime"</span>: <span class="hljs-literal">true</span>,
  11704. <span class="hljs-attr">"userId"</span>: <span class="hljs-string">"string"</span>,
  11705. <span class="hljs-attr">"sort"</span>: <span class="hljs-number">0</span>,
  11706. <span class="hljs-attr">"subtaskSort"</span>: <span class="hljs-number">0</span>,
  11707. <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>,
  11708. <span class="hljs-attr">"linkedId"</span>: <span class="hljs-string">"string"</span>,
  11709. <span class="hljs-attr">"vote"</span>: {
  11710. <span class="hljs-attr">"question"</span>: <span class="hljs-string">"string"</span>,
  11711. <span class="hljs-attr">"positive"</span>: [
  11712. <span class="hljs-string">"string"</span>
  11713. ],
  11714. <span class="hljs-attr">"negative"</span>: [
  11715. <span class="hljs-string">"string"</span>
  11716. ],
  11717. <span class="hljs-attr">"end"</span>: <span class="hljs-string">"string"</span>,
  11718. <span class="hljs-attr">"public"</span>: <span class="hljs-literal">true</span>,
  11719. <span class="hljs-attr">"allowNonBoardMembers"</span>: <span class="hljs-literal">true</span>
  11720. }
  11721. }
  11722. </code></pre>
  11723. <h3 id="properties">Properties</h3>
  11724. <table>
  11725. <thead>
  11726. <tr>
  11727. <th>Name</th>
  11728. <th>Type</th>
  11729. <th>Required</th>
  11730. <th>Restrictions</th>
  11731. <th>Description</th>
  11732. </tr>
  11733. </thead>
  11734. <tbody>
  11735. <tr>
  11736. <td>title</td>
  11737. <td>string|null</td>
  11738. <td>false</td>
  11739. <td>none</td>
  11740. <td>the title of the card</td>
  11741. </tr>
  11742. <tr>
  11743. <td>archived</td>
  11744. <td>boolean</td>
  11745. <td>true</td>
  11746. <td>none</td>
  11747. <td>is the card archived</td>
  11748. </tr>
  11749. <tr>
  11750. <td>parentId</td>
  11751. <td>string|null</td>
  11752. <td>false</td>
  11753. <td>none</td>
  11754. <td>ID of the parent card</td>
  11755. </tr>
  11756. <tr>
  11757. <td>listId</td>
  11758. <td>string|null</td>
  11759. <td>false</td>
  11760. <td>none</td>
  11761. <td>List ID where the card is</td>
  11762. </tr>
  11763. <tr>
  11764. <td>swimlaneId</td>
  11765. <td>string</td>
  11766. <td>true</td>
  11767. <td>none</td>
  11768. <td>Swimlane ID where the card is</td>
  11769. </tr>
  11770. <tr>
  11771. <td>boardId</td>
  11772. <td>string|null</td>
  11773. <td>false</td>
  11774. <td>none</td>
  11775. <td>Board ID of the card</td>
  11776. </tr>
  11777. <tr>
  11778. <td>coverId</td>
  11779. <td>string|null</td>
  11780. <td>false</td>
  11781. <td>none</td>
  11782. <td>Cover ID of the card</td>
  11783. </tr>
  11784. <tr>
  11785. <td>color</td>
  11786. <td>string|null</td>
  11787. <td>false</td>
  11788. <td>none</td>
  11789. <td>none</td>
  11790. </tr>
  11791. <tr>
  11792. <td>createdAt</td>
  11793. <td>string</td>
  11794. <td>true</td>
  11795. <td>none</td>
  11796. <td>creation date</td>
  11797. </tr>
  11798. <tr>
  11799. <td>modifiedAt</td>
  11800. <td>string</td>
  11801. <td>true</td>
  11802. <td>none</td>
  11803. <td>none</td>
  11804. </tr>
  11805. <tr>
  11806. <td>customFields</td>
  11807. <td>[<a href="#schemacardscustomfields">CardsCustomfields</a>]|null</td>
  11808. <td>false</td>
  11809. <td>none</td>
  11810. <td>list of custom fields</td>
  11811. </tr>
  11812. <tr>
  11813. <td>dateLastActivity</td>
  11814. <td>string</td>
  11815. <td>true</td>
  11816. <td>none</td>
  11817. <td>Date of last activity</td>
  11818. </tr>
  11819. <tr>
  11820. <td>description</td>
  11821. <td>string|null</td>
  11822. <td>false</td>
  11823. <td>none</td>
  11824. <td>description of the card</td>
  11825. </tr>
  11826. <tr>
  11827. <td>requestedBy</td>
  11828. <td>string|null</td>
  11829. <td>false</td>
  11830. <td>none</td>
  11831. <td>who requested the card (ID of the user)</td>
  11832. </tr>
  11833. <tr>
  11834. <td>assignedBy</td>
  11835. <td>string|null</td>
  11836. <td>false</td>
  11837. <td>none</td>
  11838. <td>who assigned the card (ID of the user)</td>
  11839. </tr>
  11840. <tr>
  11841. <td>labelIds</td>
  11842. <td>[string]|null</td>
  11843. <td>false</td>
  11844. <td>none</td>
  11845. <td>list of labels ID the card has</td>
  11846. </tr>
  11847. <tr>
  11848. <td>members</td>
  11849. <td>[string]|null</td>
  11850. <td>false</td>
  11851. <td>none</td>
  11852. <td>list of members (user IDs)</td>
  11853. </tr>
  11854. <tr>
  11855. <td>assignees</td>
  11856. <td>[string]|null</td>
  11857. <td>false</td>
  11858. <td>none</td>
  11859. <td>who is assignee of the card (user ID), maximum one ID of assignee in array.</td>
  11860. </tr>
  11861. <tr>
  11862. <td>receivedAt</td>
  11863. <td>string|null</td>
  11864. <td>false</td>
  11865. <td>none</td>
  11866. <td>Date the card was received</td>
  11867. </tr>
  11868. <tr>
  11869. <td>startAt</td>
  11870. <td>string|null</td>
  11871. <td>false</td>
  11872. <td>none</td>
  11873. <td>Date the card was started to be worked on</td>
  11874. </tr>
  11875. <tr>
  11876. <td>dueAt</td>
  11877. <td>string|null</td>
  11878. <td>false</td>
  11879. <td>none</td>
  11880. <td>Date the card is due</td>
  11881. </tr>
  11882. <tr>
  11883. <td>endAt</td>
  11884. <td>string|null</td>
  11885. <td>false</td>
  11886. <td>none</td>
  11887. <td>Date the card ended</td>
  11888. </tr>
  11889. <tr>
  11890. <td>spentTime</td>
  11891. <td>number|null</td>
  11892. <td>false</td>
  11893. <td>none</td>
  11894. <td>How much time has been spent on this</td>
  11895. </tr>
  11896. <tr>
  11897. <td>isOvertime</td>
  11898. <td>boolean|null</td>
  11899. <td>false</td>
  11900. <td>none</td>
  11901. <td>is the card over time?</td>
  11902. </tr>
  11903. <tr>
  11904. <td>userId</td>
  11905. <td>string</td>
  11906. <td>true</td>
  11907. <td>none</td>
  11908. <td>user ID of the author of the card</td>
  11909. </tr>
  11910. <tr>
  11911. <td>sort</td>
  11912. <td>number</td>
  11913. <td>true</td>
  11914. <td>none</td>
  11915. <td>Sort value</td>
  11916. </tr>
  11917. <tr>
  11918. <td>subtaskSort</td>
  11919. <td>number|null</td>
  11920. <td>false</td>
  11921. <td>none</td>
  11922. <td>subtask sort value</td>
  11923. </tr>
  11924. <tr>
  11925. <td>type</td>
  11926. <td>string</td>
  11927. <td>true</td>
  11928. <td>none</td>
  11929. <td>type of the card</td>
  11930. </tr>
  11931. <tr>
  11932. <td>linkedId</td>
  11933. <td>string|null</td>
  11934. <td>false</td>
  11935. <td>none</td>
  11936. <td>ID of the linked card</td>
  11937. </tr>
  11938. <tr>
  11939. <td>vote</td>
  11940. <td><a href="#schemacardsvote">CardsVote</a></td>
  11941. <td>false</td>
  11942. <td>none</td>
  11943. <td>vote object, see below</td>
  11944. </tr>
  11945. </tbody>
  11946. </table>
  11947. <h4 id="enumerated-values">Enumerated Values</h4>
  11948. <table>
  11949. <thead>
  11950. <tr>
  11951. <th>Property</th>
  11952. <th>Value</th>
  11953. </tr>
  11954. </thead>
  11955. <tbody>
  11956. <tr>
  11957. <td>color</td>
  11958. <td>white</td>
  11959. </tr>
  11960. <tr>
  11961. <td>color</td>
  11962. <td>green</td>
  11963. </tr>
  11964. <tr>
  11965. <td>color</td>
  11966. <td>yellow</td>
  11967. </tr>
  11968. <tr>
  11969. <td>color</td>
  11970. <td>orange</td>
  11971. </tr>
  11972. <tr>
  11973. <td>color</td>
  11974. <td>red</td>
  11975. </tr>
  11976. <tr>
  11977. <td>color</td>
  11978. <td>purple</td>
  11979. </tr>
  11980. <tr>
  11981. <td>color</td>
  11982. <td>blue</td>
  11983. </tr>
  11984. <tr>
  11985. <td>color</td>
  11986. <td>sky</td>
  11987. </tr>
  11988. <tr>
  11989. <td>color</td>
  11990. <td>lime</td>
  11991. </tr>
  11992. <tr>
  11993. <td>color</td>
  11994. <td>pink</td>
  11995. </tr>
  11996. <tr>
  11997. <td>color</td>
  11998. <td>black</td>
  11999. </tr>
  12000. <tr>
  12001. <td>color</td>
  12002. <td>silver</td>
  12003. </tr>
  12004. <tr>
  12005. <td>color</td>
  12006. <td>peachpuff</td>
  12007. </tr>
  12008. <tr>
  12009. <td>color</td>
  12010. <td>crimson</td>
  12011. </tr>
  12012. <tr>
  12013. <td>color</td>
  12014. <td>plum</td>
  12015. </tr>
  12016. <tr>
  12017. <td>color</td>
  12018. <td>darkgreen</td>
  12019. </tr>
  12020. <tr>
  12021. <td>color</td>
  12022. <td>slateblue</td>
  12023. </tr>
  12024. <tr>
  12025. <td>color</td>
  12026. <td>magenta</td>
  12027. </tr>
  12028. <tr>
  12029. <td>color</td>
  12030. <td>gold</td>
  12031. </tr>
  12032. <tr>
  12033. <td>color</td>
  12034. <td>navy</td>
  12035. </tr>
  12036. <tr>
  12037. <td>color</td>
  12038. <td>gray</td>
  12039. </tr>
  12040. <tr>
  12041. <td>color</td>
  12042. <td>saddlebrown</td>
  12043. </tr>
  12044. <tr>
  12045. <td>color</td>
  12046. <td>paleturquoise</td>
  12047. </tr>
  12048. <tr>
  12049. <td>color</td>
  12050. <td>mistyrose</td>
  12051. </tr>
  12052. <tr>
  12053. <td>color</td>
  12054. <td>indigo</td>
  12055. </tr>
  12056. </tbody>
  12057. </table>
  12058. <h2 id="tocscardsvote">CardsVote</h2>
  12059. <p><a id="schemacardsvote"></a></p>
  12060. <pre class="highlight tab tab-json"><code>{
  12061. <span class="hljs-attr">"question"</span>: <span class="hljs-string">"string"</span>,
  12062. <span class="hljs-attr">"positive"</span>: [
  12063. <span class="hljs-string">"string"</span>
  12064. ],
  12065. <span class="hljs-attr">"negative"</span>: [
  12066. <span class="hljs-string">"string"</span>
  12067. ],
  12068. <span class="hljs-attr">"end"</span>: <span class="hljs-string">"string"</span>,
  12069. <span class="hljs-attr">"public"</span>: <span class="hljs-literal">true</span>,
  12070. <span class="hljs-attr">"allowNonBoardMembers"</span>: <span class="hljs-literal">true</span>
  12071. }
  12072. </code></pre>
  12073. <h3 id="properties">Properties</h3>
  12074. <table>
  12075. <thead>
  12076. <tr>
  12077. <th>Name</th>
  12078. <th>Type</th>
  12079. <th>Required</th>
  12080. <th>Restrictions</th>
  12081. <th>Description</th>
  12082. </tr>
  12083. </thead>
  12084. <tbody>
  12085. <tr>
  12086. <td>question</td>
  12087. <td>string</td>
  12088. <td>true</td>
  12089. <td>none</td>
  12090. <td>none</td>
  12091. </tr>
  12092. <tr>
  12093. <td>positive</td>
  12094. <td>[string]</td>
  12095. <td>false</td>
  12096. <td>none</td>
  12097. <td>list of members (user IDs)</td>
  12098. </tr>
  12099. <tr>
  12100. <td>negative</td>
  12101. <td>[string]</td>
  12102. <td>false</td>
  12103. <td>none</td>
  12104. <td>list of members (user IDs)</td>
  12105. </tr>
  12106. <tr>
  12107. <td>end</td>
  12108. <td>string</td>
  12109. <td>false</td>
  12110. <td>none</td>
  12111. <td>none</td>
  12112. </tr>
  12113. <tr>
  12114. <td>public</td>
  12115. <td>boolean</td>
  12116. <td>true</td>
  12117. <td>none</td>
  12118. <td>none</td>
  12119. </tr>
  12120. <tr>
  12121. <td>allowNonBoardMembers</td>
  12122. <td>boolean</td>
  12123. <td>true</td>
  12124. <td>none</td>
  12125. <td>none</td>
  12126. </tr>
  12127. </tbody>
  12128. </table>
  12129. <h2 id="tocscardscustomfields">CardsCustomfields</h2>
  12130. <p><a id="schemacardscustomfields"></a></p>
  12131. <pre class="highlight tab tab-json"><code>{}
  12132. </code></pre>
  12133. <h3 id="properties">Properties</h3>
  12134. <p><em>None</em></p>
  12135. <h2 id="tocschecklistitems">ChecklistItems</h2>
  12136. <p><a id="schemachecklistitems"></a></p>
  12137. <pre class="highlight tab tab-json"><code>{
  12138. <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
  12139. <span class="hljs-attr">"sort"</span>: <span class="hljs-number">0</span>,
  12140. <span class="hljs-attr">"isFinished"</span>: <span class="hljs-literal">true</span>,
  12141. <span class="hljs-attr">"checklistId"</span>: <span class="hljs-string">"string"</span>,
  12142. <span class="hljs-attr">"cardId"</span>: <span class="hljs-string">"string"</span>,
  12143. <span class="hljs-attr">"createdAt"</span>: <span class="hljs-string">"string"</span>,
  12144. <span class="hljs-attr">"modifiedAt"</span>: <span class="hljs-string">"string"</span>
  12145. }
  12146. </code></pre>
  12147. <p><em>An item in a checklist</em></p>
  12148. <h3 id="properties">Properties</h3>
  12149. <table>
  12150. <thead>
  12151. <tr>
  12152. <th>Name</th>
  12153. <th>Type</th>
  12154. <th>Required</th>
  12155. <th>Restrictions</th>
  12156. <th>Description</th>
  12157. </tr>
  12158. </thead>
  12159. <tbody>
  12160. <tr>
  12161. <td>title</td>
  12162. <td>string</td>
  12163. <td>true</td>
  12164. <td>none</td>
  12165. <td>the text of the item</td>
  12166. </tr>
  12167. <tr>
  12168. <td>sort</td>
  12169. <td>number</td>
  12170. <td>true</td>
  12171. <td>none</td>
  12172. <td>the sorting field of the item</td>
  12173. </tr>
  12174. <tr>
  12175. <td>isFinished</td>
  12176. <td>boolean</td>
  12177. <td>true</td>
  12178. <td>none</td>
  12179. <td>Is the item checked?</td>
  12180. </tr>
  12181. <tr>
  12182. <td>checklistId</td>
  12183. <td>string</td>
  12184. <td>true</td>
  12185. <td>none</td>
  12186. <td>the checklist ID the item is attached to</td>
  12187. </tr>
  12188. <tr>
  12189. <td>cardId</td>
  12190. <td>string</td>
  12191. <td>true</td>
  12192. <td>none</td>
  12193. <td>the card ID the item is attached to</td>
  12194. </tr>
  12195. <tr>
  12196. <td>createdAt</td>
  12197. <td>string|null</td>
  12198. <td>false</td>
  12199. <td>none</td>
  12200. <td>none</td>
  12201. </tr>
  12202. <tr>
  12203. <td>modifiedAt</td>
  12204. <td>string</td>
  12205. <td>true</td>
  12206. <td>none</td>
  12207. <td>none</td>
  12208. </tr>
  12209. </tbody>
  12210. </table>
  12211. <h2 id="tocschecklists">Checklists</h2>
  12212. <p><a id="schemachecklists"></a></p>
  12213. <pre class="highlight tab tab-json"><code>{
  12214. <span class="hljs-attr">"cardId"</span>: <span class="hljs-string">"string"</span>,
  12215. <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
  12216. <span class="hljs-attr">"finishedAt"</span>: <span class="hljs-string">"string"</span>,
  12217. <span class="hljs-attr">"createdAt"</span>: <span class="hljs-string">"string"</span>,
  12218. <span class="hljs-attr">"modifiedAt"</span>: <span class="hljs-string">"string"</span>,
  12219. <span class="hljs-attr">"sort"</span>: <span class="hljs-number">0</span>
  12220. }
  12221. </code></pre>
  12222. <p><em>A Checklist</em></p>
  12223. <h3 id="properties">Properties</h3>
  12224. <table>
  12225. <thead>
  12226. <tr>
  12227. <th>Name</th>
  12228. <th>Type</th>
  12229. <th>Required</th>
  12230. <th>Restrictions</th>
  12231. <th>Description</th>
  12232. </tr>
  12233. </thead>
  12234. <tbody>
  12235. <tr>
  12236. <td>cardId</td>
  12237. <td>string</td>
  12238. <td>true</td>
  12239. <td>none</td>
  12240. <td>The ID of the card the checklist is in</td>
  12241. </tr>
  12242. <tr>
  12243. <td>title</td>
  12244. <td>string</td>
  12245. <td>true</td>
  12246. <td>none</td>
  12247. <td>the title of the checklist</td>
  12248. </tr>
  12249. <tr>
  12250. <td>finishedAt</td>
  12251. <td>string|null</td>
  12252. <td>false</td>
  12253. <td>none</td>
  12254. <td>When was the checklist finished</td>
  12255. </tr>
  12256. <tr>
  12257. <td>createdAt</td>
  12258. <td>string</td>
  12259. <td>true</td>
  12260. <td>none</td>
  12261. <td>Creation date of the checklist</td>
  12262. </tr>
  12263. <tr>
  12264. <td>modifiedAt</td>
  12265. <td>string</td>
  12266. <td>true</td>
  12267. <td>none</td>
  12268. <td>none</td>
  12269. </tr>
  12270. <tr>
  12271. <td>sort</td>
  12272. <td>number</td>
  12273. <td>true</td>
  12274. <td>none</td>
  12275. <td>sorting value of the checklist</td>
  12276. </tr>
  12277. </tbody>
  12278. </table>
  12279. <h2 id="tocscustomfields">CustomFields</h2>
  12280. <p><a id="schemacustomfields"></a></p>
  12281. <pre class="highlight tab tab-json"><code>{
  12282. <span class="hljs-attr">"boardIds"</span>: [
  12283. <span class="hljs-string">"string"</span>
  12284. ],
  12285. <span class="hljs-attr">"name"</span>: <span class="hljs-string">"string"</span>,
  12286. <span class="hljs-attr">"type"</span>: <span class="hljs-string">"text"</span>,
  12287. <span class="hljs-attr">"settings"</span>: {
  12288. <span class="hljs-attr">"currencyCode"</span>: <span class="hljs-string">"string"</span>,
  12289. <span class="hljs-attr">"dropdownItems"</span>: [
  12290. {}
  12291. ]
  12292. },
  12293. <span class="hljs-attr">"showOnCard"</span>: <span class="hljs-literal">true</span>,
  12294. <span class="hljs-attr">"automaticallyOnCard"</span>: <span class="hljs-literal">true</span>,
  12295. <span class="hljs-attr">"alwaysOnCard"</span>: <span class="hljs-literal">true</span>,
  12296. <span class="hljs-attr">"showLabelOnMiniCard"</span>: <span class="hljs-literal">true</span>,
  12297. <span class="hljs-attr">"createdAt"</span>: <span class="hljs-string">"string"</span>,
  12298. <span class="hljs-attr">"modifiedAt"</span>: <span class="hljs-string">"string"</span>
  12299. }
  12300. </code></pre>
  12301. <p><em>A custom field on a card in the board</em></p>
  12302. <h3 id="properties">Properties</h3>
  12303. <table>
  12304. <thead>
  12305. <tr>
  12306. <th>Name</th>
  12307. <th>Type</th>
  12308. <th>Required</th>
  12309. <th>Restrictions</th>
  12310. <th>Description</th>
  12311. </tr>
  12312. </thead>
  12313. <tbody>
  12314. <tr>
  12315. <td>boardIds</td>
  12316. <td>[string]</td>
  12317. <td>true</td>
  12318. <td>none</td>
  12319. <td>the ID of the board</td>
  12320. </tr>
  12321. <tr>
  12322. <td>name</td>
  12323. <td>string</td>
  12324. <td>true</td>
  12325. <td>none</td>
  12326. <td>name of the custom field</td>
  12327. </tr>
  12328. <tr>
  12329. <td>type</td>
  12330. <td>string</td>
  12331. <td>true</td>
  12332. <td>none</td>
  12333. <td>type of the custom field</td>
  12334. </tr>
  12335. <tr>
  12336. <td>settings</td>
  12337. <td><a href="#schemacustomfieldssettings">CustomFieldsSettings</a></td>
  12338. <td>true</td>
  12339. <td>none</td>
  12340. <td>settings of the custom field</td>
  12341. </tr>
  12342. <tr>
  12343. <td>showOnCard</td>
  12344. <td>boolean</td>
  12345. <td>true</td>
  12346. <td>none</td>
  12347. <td>should we show on the cards this custom field</td>
  12348. </tr>
  12349. <tr>
  12350. <td>automaticallyOnCard</td>
  12351. <td>boolean</td>
  12352. <td>true</td>
  12353. <td>none</td>
  12354. <td>should the custom fields automatically be added on cards?</td>
  12355. </tr>
  12356. <tr>
  12357. <td>alwaysOnCard</td>
  12358. <td>boolean</td>
  12359. <td>true</td>
  12360. <td>none</td>
  12361. <td>should the custom field be automatically added to all cards?</td>
  12362. </tr>
  12363. <tr>
  12364. <td>showLabelOnMiniCard</td>
  12365. <td>boolean</td>
  12366. <td>true</td>
  12367. <td>none</td>
  12368. <td>should the label of the custom field be shown on minicards?</td>
  12369. </tr>
  12370. <tr>
  12371. <td>createdAt</td>
  12372. <td>string|null</td>
  12373. <td>false</td>
  12374. <td>none</td>
  12375. <td>none</td>
  12376. </tr>
  12377. <tr>
  12378. <td>modifiedAt</td>
  12379. <td>string</td>
  12380. <td>true</td>
  12381. <td>none</td>
  12382. <td>none</td>
  12383. </tr>
  12384. </tbody>
  12385. </table>
  12386. <h4 id="enumerated-values">Enumerated Values</h4>
  12387. <table>
  12388. <thead>
  12389. <tr>
  12390. <th>Property</th>
  12391. <th>Value</th>
  12392. </tr>
  12393. </thead>
  12394. <tbody>
  12395. <tr>
  12396. <td>type</td>
  12397. <td>text</td>
  12398. </tr>
  12399. <tr>
  12400. <td>type</td>
  12401. <td>number</td>
  12402. </tr>
  12403. <tr>
  12404. <td>type</td>
  12405. <td>date</td>
  12406. </tr>
  12407. <tr>
  12408. <td>type</td>
  12409. <td>dropdown</td>
  12410. </tr>
  12411. <tr>
  12412. <td>type</td>
  12413. <td>checkbox</td>
  12414. </tr>
  12415. <tr>
  12416. <td>type</td>
  12417. <td>currency</td>
  12418. </tr>
  12419. </tbody>
  12420. </table>
  12421. <h2 id="tocscustomfieldssettings">CustomFieldsSettings</h2>
  12422. <p><a id="schemacustomfieldssettings"></a></p>
  12423. <pre class="highlight tab tab-json"><code>{
  12424. <span class="hljs-attr">"currencyCode"</span>: <span class="hljs-string">"string"</span>,
  12425. <span class="hljs-attr">"dropdownItems"</span>: [
  12426. {}
  12427. ]
  12428. }
  12429. </code></pre>
  12430. <h3 id="properties">Properties</h3>
  12431. <table>
  12432. <thead>
  12433. <tr>
  12434. <th>Name</th>
  12435. <th>Type</th>
  12436. <th>Required</th>
  12437. <th>Restrictions</th>
  12438. <th>Description</th>
  12439. </tr>
  12440. </thead>
  12441. <tbody>
  12442. <tr>
  12443. <td>currencyCode</td>
  12444. <td>string</td>
  12445. <td>false</td>
  12446. <td>none</td>
  12447. <td>none</td>
  12448. </tr>
  12449. <tr>
  12450. <td>dropdownItems</td>
  12451. <td>[<a href="#schemacustomfieldssettingsdropdownitems">CustomFieldsSettingsDropdownitems</a>]</td>
  12452. <td>false</td>
  12453. <td>none</td>
  12454. <td>list of drop down items objects</td>
  12455. </tr>
  12456. </tbody>
  12457. </table>
  12458. <h2 id="tocscustomfieldssettingsdropdownitems">CustomFieldsSettingsDropdownitems</h2>
  12459. <p><a id="schemacustomfieldssettingsdropdownitems"></a></p>
  12460. <pre class="highlight tab tab-json"><code>{}
  12461. </code></pre>
  12462. <h3 id="properties">Properties</h3>
  12463. <p><em>None</em></p>
  12464. <h2 id="tocsintegrations">Integrations</h2>
  12465. <p><a id="schemaintegrations"></a></p>
  12466. <pre class="highlight tab tab-json"><code>{
  12467. <span class="hljs-attr">"enabled"</span>: <span class="hljs-literal">true</span>,
  12468. <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
  12469. <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>,
  12470. <span class="hljs-attr">"activities"</span>: [
  12471. <span class="hljs-string">"string"</span>
  12472. ],
  12473. <span class="hljs-attr">"url"</span>: <span class="hljs-string">"string"</span>,
  12474. <span class="hljs-attr">"token"</span>: <span class="hljs-string">"string"</span>,
  12475. <span class="hljs-attr">"boardId"</span>: <span class="hljs-string">"string"</span>,
  12476. <span class="hljs-attr">"createdAt"</span>: <span class="hljs-string">"string"</span>,
  12477. <span class="hljs-attr">"modifiedAt"</span>: <span class="hljs-string">"string"</span>,
  12478. <span class="hljs-attr">"userId"</span>: <span class="hljs-string">"string"</span>
  12479. }
  12480. </code></pre>
  12481. <p><em>Integration with third-party applications</em></p>
  12482. <h3 id="properties">Properties</h3>
  12483. <table>
  12484. <thead>
  12485. <tr>
  12486. <th>Name</th>
  12487. <th>Type</th>
  12488. <th>Required</th>
  12489. <th>Restrictions</th>
  12490. <th>Description</th>
  12491. </tr>
  12492. </thead>
  12493. <tbody>
  12494. <tr>
  12495. <td>enabled</td>
  12496. <td>boolean</td>
  12497. <td>true</td>
  12498. <td>none</td>
  12499. <td>is the integration enabled?</td>
  12500. </tr>
  12501. <tr>
  12502. <td>title</td>
  12503. <td>string|null</td>
  12504. <td>false</td>
  12505. <td>none</td>
  12506. <td>name of the integration</td>
  12507. </tr>
  12508. <tr>
  12509. <td>type</td>
  12510. <td>string</td>
  12511. <td>true</td>
  12512. <td>none</td>
  12513. <td>type of the integratation (Default to 'outgoing-webhooks')</td>
  12514. </tr>
  12515. <tr>
  12516. <td>activities</td>
  12517. <td>[string]</td>
  12518. <td>true</td>
  12519. <td>none</td>
  12520. <td>activities the integration gets triggered (list)</td>
  12521. </tr>
  12522. <tr>
  12523. <td>url</td>
  12524. <td>string</td>
  12525. <td>true</td>
  12526. <td>none</td>
  12527. <td>none</td>
  12528. </tr>
  12529. <tr>
  12530. <td>token</td>
  12531. <td>string|null</td>
  12532. <td>false</td>
  12533. <td>none</td>
  12534. <td>token of the integration</td>
  12535. </tr>
  12536. <tr>
  12537. <td>boardId</td>
  12538. <td>string</td>
  12539. <td>true</td>
  12540. <td>none</td>
  12541. <td>Board ID of the integration</td>
  12542. </tr>
  12543. <tr>
  12544. <td>createdAt</td>
  12545. <td>string</td>
  12546. <td>true</td>
  12547. <td>none</td>
  12548. <td>Creation date of the integration</td>
  12549. </tr>
  12550. <tr>
  12551. <td>modifiedAt</td>
  12552. <td>string</td>
  12553. <td>true</td>
  12554. <td>none</td>
  12555. <td>none</td>
  12556. </tr>
  12557. <tr>
  12558. <td>userId</td>
  12559. <td>string</td>
  12560. <td>true</td>
  12561. <td>none</td>
  12562. <td>user ID who created the interation</td>
  12563. </tr>
  12564. </tbody>
  12565. </table>
  12566. <h2 id="tocslists">Lists</h2>
  12567. <p><a id="schemalists"></a></p>
  12568. <pre class="highlight tab tab-json"><code>{
  12569. <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
  12570. <span class="hljs-attr">"starred"</span>: <span class="hljs-literal">true</span>,
  12571. <span class="hljs-attr">"archived"</span>: <span class="hljs-literal">true</span>,
  12572. <span class="hljs-attr">"boardId"</span>: <span class="hljs-string">"string"</span>,
  12573. <span class="hljs-attr">"swimlaneId"</span>: <span class="hljs-string">"string"</span>,
  12574. <span class="hljs-attr">"createdAt"</span>: <span class="hljs-string">"string"</span>,
  12575. <span class="hljs-attr">"sort"</span>: <span class="hljs-number">0</span>,
  12576. <span class="hljs-attr">"updatedAt"</span>: <span class="hljs-string">"string"</span>,
  12577. <span class="hljs-attr">"modifiedAt"</span>: <span class="hljs-string">"string"</span>,
  12578. <span class="hljs-attr">"wipLimit"</span>: {
  12579. <span class="hljs-attr">"value"</span>: <span class="hljs-number">0</span>,
  12580. <span class="hljs-attr">"enabled"</span>: <span class="hljs-literal">true</span>,
  12581. <span class="hljs-attr">"soft"</span>: <span class="hljs-literal">true</span>
  12582. },
  12583. <span class="hljs-attr">"color"</span>: <span class="hljs-string">"white"</span>,
  12584. <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
  12585. }
  12586. </code></pre>
  12587. <p><em>A list (column) in the Wekan board.</em></p>
  12588. <h3 id="properties">Properties</h3>
  12589. <table>
  12590. <thead>
  12591. <tr>
  12592. <th>Name</th>
  12593. <th>Type</th>
  12594. <th>Required</th>
  12595. <th>Restrictions</th>
  12596. <th>Description</th>
  12597. </tr>
  12598. </thead>
  12599. <tbody>
  12600. <tr>
  12601. <td>title</td>
  12602. <td>string</td>
  12603. <td>true</td>
  12604. <td>none</td>
  12605. <td>the title of the list</td>
  12606. </tr>
  12607. <tr>
  12608. <td>starred</td>
  12609. <td>boolean|null</td>
  12610. <td>false</td>
  12611. <td>none</td>
  12612. <td>if a list is stared then we put it on the top</td>
  12613. </tr>
  12614. <tr>
  12615. <td>archived</td>
  12616. <td>boolean</td>
  12617. <td>true</td>
  12618. <td>none</td>
  12619. <td>is the list archived</td>
  12620. </tr>
  12621. <tr>
  12622. <td>boardId</td>
  12623. <td>string</td>
  12624. <td>true</td>
  12625. <td>none</td>
  12626. <td>the board associated to this list</td>
  12627. </tr>
  12628. <tr>
  12629. <td>swimlaneId</td>
  12630. <td>string</td>
  12631. <td>true</td>
  12632. <td>none</td>
  12633. <td>the swimlane associated to this list. Used for templates</td>
  12634. </tr>
  12635. <tr>
  12636. <td>createdAt</td>
  12637. <td>string</td>
  12638. <td>true</td>
  12639. <td>none</td>
  12640. <td>creation date</td>
  12641. </tr>
  12642. <tr>
  12643. <td>sort</td>
  12644. <td>number|null</td>
  12645. <td>false</td>
  12646. <td>none</td>
  12647. <td>is the list sorted</td>
  12648. </tr>
  12649. <tr>
  12650. <td>updatedAt</td>
  12651. <td>string|null</td>
  12652. <td>false</td>
  12653. <td>none</td>
  12654. <td>last update of the list</td>
  12655. </tr>
  12656. <tr>
  12657. <td>modifiedAt</td>
  12658. <td>string</td>
  12659. <td>true</td>
  12660. <td>none</td>
  12661. <td>none</td>
  12662. </tr>
  12663. <tr>
  12664. <td>wipLimit</td>
  12665. <td><a href="#schemalistswiplimit">ListsWiplimit</a></td>
  12666. <td>false</td>
  12667. <td>none</td>
  12668. <td>WIP object, see below</td>
  12669. </tr>
  12670. <tr>
  12671. <td>color</td>
  12672. <td>string|null</td>
  12673. <td>false</td>
  12674. <td>none</td>
  12675. <td>the color of the list</td>
  12676. </tr>
  12677. <tr>
  12678. <td>type</td>
  12679. <td>string</td>
  12680. <td>true</td>
  12681. <td>none</td>
  12682. <td>The type of list</td>
  12683. </tr>
  12684. </tbody>
  12685. </table>
  12686. <h4 id="enumerated-values">Enumerated Values</h4>
  12687. <table>
  12688. <thead>
  12689. <tr>
  12690. <th>Property</th>
  12691. <th>Value</th>
  12692. </tr>
  12693. </thead>
  12694. <tbody>
  12695. <tr>
  12696. <td>color</td>
  12697. <td>white</td>
  12698. </tr>
  12699. <tr>
  12700. <td>color</td>
  12701. <td>green</td>
  12702. </tr>
  12703. <tr>
  12704. <td>color</td>
  12705. <td>yellow</td>
  12706. </tr>
  12707. <tr>
  12708. <td>color</td>
  12709. <td>orange</td>
  12710. </tr>
  12711. <tr>
  12712. <td>color</td>
  12713. <td>red</td>
  12714. </tr>
  12715. <tr>
  12716. <td>color</td>
  12717. <td>purple</td>
  12718. </tr>
  12719. <tr>
  12720. <td>color</td>
  12721. <td>blue</td>
  12722. </tr>
  12723. <tr>
  12724. <td>color</td>
  12725. <td>sky</td>
  12726. </tr>
  12727. <tr>
  12728. <td>color</td>
  12729. <td>lime</td>
  12730. </tr>
  12731. <tr>
  12732. <td>color</td>
  12733. <td>pink</td>
  12734. </tr>
  12735. <tr>
  12736. <td>color</td>
  12737. <td>black</td>
  12738. </tr>
  12739. <tr>
  12740. <td>color</td>
  12741. <td>peachpuff</td>
  12742. </tr>
  12743. <tr>
  12744. <td>color</td>
  12745. <td>crimson</td>
  12746. </tr>
  12747. <tr>
  12748. <td>color</td>
  12749. <td>plum</td>
  12750. </tr>
  12751. <tr>
  12752. <td>color</td>
  12753. <td>darkgreen</td>
  12754. </tr>
  12755. <tr>
  12756. <td>color</td>
  12757. <td>slateblue</td>
  12758. </tr>
  12759. <tr>
  12760. <td>color</td>
  12761. <td>magenta</td>
  12762. </tr>
  12763. <tr>
  12764. <td>color</td>
  12765. <td>gold</td>
  12766. </tr>
  12767. <tr>
  12768. <td>color</td>
  12769. <td>navy</td>
  12770. </tr>
  12771. <tr>
  12772. <td>color</td>
  12773. <td>gray</td>
  12774. </tr>
  12775. <tr>
  12776. <td>color</td>
  12777. <td>saddlebrown</td>
  12778. </tr>
  12779. <tr>
  12780. <td>color</td>
  12781. <td>paleturquoise</td>
  12782. </tr>
  12783. <tr>
  12784. <td>color</td>
  12785. <td>mistyrose</td>
  12786. </tr>
  12787. <tr>
  12788. <td>color</td>
  12789. <td>indigo</td>
  12790. </tr>
  12791. </tbody>
  12792. </table>
  12793. <h2 id="tocslistswiplimit">ListsWiplimit</h2>
  12794. <p><a id="schemalistswiplimit"></a></p>
  12795. <pre class="highlight tab tab-json"><code>{
  12796. <span class="hljs-attr">"value"</span>: <span class="hljs-number">0</span>,
  12797. <span class="hljs-attr">"enabled"</span>: <span class="hljs-literal">true</span>,
  12798. <span class="hljs-attr">"soft"</span>: <span class="hljs-literal">true</span>
  12799. }
  12800. </code></pre>
  12801. <h3 id="properties">Properties</h3>
  12802. <table>
  12803. <thead>
  12804. <tr>
  12805. <th>Name</th>
  12806. <th>Type</th>
  12807. <th>Required</th>
  12808. <th>Restrictions</th>
  12809. <th>Description</th>
  12810. </tr>
  12811. </thead>
  12812. <tbody>
  12813. <tr>
  12814. <td>value</td>
  12815. <td>number</td>
  12816. <td>true</td>
  12817. <td>none</td>
  12818. <td>value of the WIP</td>
  12819. </tr>
  12820. <tr>
  12821. <td>enabled</td>
  12822. <td>boolean</td>
  12823. <td>true</td>
  12824. <td>none</td>
  12825. <td>is the WIP enabled</td>
  12826. </tr>
  12827. <tr>
  12828. <td>soft</td>
  12829. <td>boolean</td>
  12830. <td>true</td>
  12831. <td>none</td>
  12832. <td>is the WIP a soft or hard requirement</td>
  12833. </tr>
  12834. </tbody>
  12835. </table>
  12836. <h2 id="tocsswimlanes">Swimlanes</h2>
  12837. <p><a id="schemaswimlanes"></a></p>
  12838. <pre class="highlight tab tab-json"><code>{
  12839. <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
  12840. <span class="hljs-attr">"archived"</span>: <span class="hljs-literal">true</span>,
  12841. <span class="hljs-attr">"boardId"</span>: <span class="hljs-string">"string"</span>,
  12842. <span class="hljs-attr">"createdAt"</span>: <span class="hljs-string">"string"</span>,
  12843. <span class="hljs-attr">"sort"</span>: <span class="hljs-number">0</span>,
  12844. <span class="hljs-attr">"color"</span>: <span class="hljs-string">"white"</span>,
  12845. <span class="hljs-attr">"updatedAt"</span>: <span class="hljs-string">"string"</span>,
  12846. <span class="hljs-attr">"modifiedAt"</span>: <span class="hljs-string">"string"</span>,
  12847. <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
  12848. }
  12849. </code></pre>
  12850. <p><em>A swimlane is an line in the kaban board.</em></p>
  12851. <h3 id="properties">Properties</h3>
  12852. <table>
  12853. <thead>
  12854. <tr>
  12855. <th>Name</th>
  12856. <th>Type</th>
  12857. <th>Required</th>
  12858. <th>Restrictions</th>
  12859. <th>Description</th>
  12860. </tr>
  12861. </thead>
  12862. <tbody>
  12863. <tr>
  12864. <td>title</td>
  12865. <td>string</td>
  12866. <td>true</td>
  12867. <td>none</td>
  12868. <td>the title of the swimlane</td>
  12869. </tr>
  12870. <tr>
  12871. <td>archived</td>
  12872. <td>boolean</td>
  12873. <td>true</td>
  12874. <td>none</td>
  12875. <td>is the swimlane archived?</td>
  12876. </tr>
  12877. <tr>
  12878. <td>boardId</td>
  12879. <td>string</td>
  12880. <td>true</td>
  12881. <td>none</td>
  12882. <td>the ID of the board the swimlane is attached to</td>
  12883. </tr>
  12884. <tr>
  12885. <td>createdAt</td>
  12886. <td>string</td>
  12887. <td>true</td>
  12888. <td>none</td>
  12889. <td>creation date of the swimlane</td>
  12890. </tr>
  12891. <tr>
  12892. <td>sort</td>
  12893. <td>number|null</td>
  12894. <td>false</td>
  12895. <td>none</td>
  12896. <td>the sort value of the swimlane</td>
  12897. </tr>
  12898. <tr>
  12899. <td>color</td>
  12900. <td>string|null</td>
  12901. <td>false</td>
  12902. <td>none</td>
  12903. <td>the color of the swimlane</td>
  12904. </tr>
  12905. <tr>
  12906. <td>updatedAt</td>
  12907. <td>string|null</td>
  12908. <td>false</td>
  12909. <td>none</td>
  12910. <td>when was the swimlane last edited</td>
  12911. </tr>
  12912. <tr>
  12913. <td>modifiedAt</td>
  12914. <td>string</td>
  12915. <td>true</td>
  12916. <td>none</td>
  12917. <td>none</td>
  12918. </tr>
  12919. <tr>
  12920. <td>type</td>
  12921. <td>string</td>
  12922. <td>true</td>
  12923. <td>none</td>
  12924. <td>The type of swimlane</td>
  12925. </tr>
  12926. </tbody>
  12927. </table>
  12928. <h4 id="enumerated-values">Enumerated Values</h4>
  12929. <table>
  12930. <thead>
  12931. <tr>
  12932. <th>Property</th>
  12933. <th>Value</th>
  12934. </tr>
  12935. </thead>
  12936. <tbody>
  12937. <tr>
  12938. <td>color</td>
  12939. <td>white</td>
  12940. </tr>
  12941. <tr>
  12942. <td>color</td>
  12943. <td>green</td>
  12944. </tr>
  12945. <tr>
  12946. <td>color</td>
  12947. <td>yellow</td>
  12948. </tr>
  12949. <tr>
  12950. <td>color</td>
  12951. <td>orange</td>
  12952. </tr>
  12953. <tr>
  12954. <td>color</td>
  12955. <td>red</td>
  12956. </tr>
  12957. <tr>
  12958. <td>color</td>
  12959. <td>purple</td>
  12960. </tr>
  12961. <tr>
  12962. <td>color</td>
  12963. <td>blue</td>
  12964. </tr>
  12965. <tr>
  12966. <td>color</td>
  12967. <td>sky</td>
  12968. </tr>
  12969. <tr>
  12970. <td>color</td>
  12971. <td>lime</td>
  12972. </tr>
  12973. <tr>
  12974. <td>color</td>
  12975. <td>pink</td>
  12976. </tr>
  12977. <tr>
  12978. <td>color</td>
  12979. <td>black</td>
  12980. </tr>
  12981. <tr>
  12982. <td>color</td>
  12983. <td>peachpuff</td>
  12984. </tr>
  12985. <tr>
  12986. <td>color</td>
  12987. <td>crimson</td>
  12988. </tr>
  12989. <tr>
  12990. <td>color</td>
  12991. <td>plum</td>
  12992. </tr>
  12993. <tr>
  12994. <td>color</td>
  12995. <td>darkgreen</td>
  12996. </tr>
  12997. <tr>
  12998. <td>color</td>
  12999. <td>slateblue</td>
  13000. </tr>
  13001. <tr>
  13002. <td>color</td>
  13003. <td>magenta</td>
  13004. </tr>
  13005. <tr>
  13006. <td>color</td>
  13007. <td>gold</td>
  13008. </tr>
  13009. <tr>
  13010. <td>color</td>
  13011. <td>navy</td>
  13012. </tr>
  13013. <tr>
  13014. <td>color</td>
  13015. <td>gray</td>
  13016. </tr>
  13017. <tr>
  13018. <td>color</td>
  13019. <td>saddlebrown</td>
  13020. </tr>
  13021. <tr>
  13022. <td>color</td>
  13023. <td>paleturquoise</td>
  13024. </tr>
  13025. <tr>
  13026. <td>color</td>
  13027. <td>mistyrose</td>
  13028. </tr>
  13029. <tr>
  13030. <td>color</td>
  13031. <td>indigo</td>
  13032. </tr>
  13033. </tbody>
  13034. </table>
  13035. <h2 id="tocsusers">Users</h2>
  13036. <p><a id="schemausers"></a></p>
  13037. <pre class="highlight tab tab-json"><code>{
  13038. <span class="hljs-attr">"username"</span>: <span class="hljs-string">"string"</span>,
  13039. <span class="hljs-attr">"emails"</span>: [
  13040. {
  13041. <span class="hljs-attr">"address"</span>: <span class="hljs-string">"string"</span>,
  13042. <span class="hljs-attr">"verified"</span>: <span class="hljs-literal">true</span>
  13043. }
  13044. ],
  13045. <span class="hljs-attr">"createdAt"</span>: <span class="hljs-string">"string"</span>,
  13046. <span class="hljs-attr">"modifiedAt"</span>: <span class="hljs-string">"string"</span>,
  13047. <span class="hljs-attr">"profile"</span>: {
  13048. <span class="hljs-attr">"avatarUrl"</span>: <span class="hljs-string">"string"</span>,
  13049. <span class="hljs-attr">"emailBuffer"</span>: [
  13050. <span class="hljs-string">"string"</span>
  13051. ],
  13052. <span class="hljs-attr">"fullname"</span>: <span class="hljs-string">"string"</span>,
  13053. <span class="hljs-attr">"showDesktopDragHandles"</span>: <span class="hljs-literal">true</span>,
  13054. <span class="hljs-attr">"hideCheckedItems"</span>: <span class="hljs-literal">true</span>,
  13055. <span class="hljs-attr">"hiddenSystemMessages"</span>: <span class="hljs-literal">true</span>,
  13056. <span class="hljs-attr">"hiddenMinicardLabelText"</span>: <span class="hljs-literal">true</span>,
  13057. <span class="hljs-attr">"initials"</span>: <span class="hljs-string">"string"</span>,
  13058. <span class="hljs-attr">"invitedBoards"</span>: [
  13059. <span class="hljs-string">"string"</span>
  13060. ],
  13061. <span class="hljs-attr">"language"</span>: <span class="hljs-string">"string"</span>,
  13062. <span class="hljs-attr">"notifications"</span>: [],
  13063. <span class="hljs-attr">"activity"</span>: <span class="hljs-string">"string"</span>,
  13064. <span class="hljs-attr">"read"</span>: <span class="hljs-string">"string"</span>,
  13065. <span class="hljs-attr">"showCardsCountAt"</span>: <span class="hljs-number">0</span>,
  13066. <span class="hljs-attr">"startDayOfWeek"</span>: <span class="hljs-number">0</span>,
  13067. <span class="hljs-attr">"starredBoards"</span>: [
  13068. <span class="hljs-string">"string"</span>
  13069. ],
  13070. <span class="hljs-attr">"icode"</span>: <span class="hljs-string">"string"</span>,
  13071. <span class="hljs-attr">"boardView"</span>: <span class="hljs-string">"board-view-swimlanes"</span>,
  13072. <span class="hljs-attr">"listSortBy"</span>: <span class="hljs-string">"-modifiedat"</span>,
  13073. <span class="hljs-attr">"templatesBoardId"</span>: <span class="hljs-string">"string"</span>,
  13074. <span class="hljs-attr">"cardTemplatesSwimlaneId"</span>: <span class="hljs-string">"string"</span>,
  13075. <span class="hljs-attr">"listTemplatesSwimlaneId"</span>: <span class="hljs-string">"string"</span>,
  13076. <span class="hljs-attr">"boardTemplatesSwimlaneId"</span>: <span class="hljs-string">"string"</span>
  13077. },
  13078. <span class="hljs-attr">"services"</span>: {},
  13079. <span class="hljs-attr">"heartbeat"</span>: <span class="hljs-string">"string"</span>,
  13080. <span class="hljs-attr">"isAdmin"</span>: <span class="hljs-literal">true</span>,
  13081. <span class="hljs-attr">"createdThroughApi"</span>: <span class="hljs-literal">true</span>,
  13082. <span class="hljs-attr">"loginDisabled"</span>: <span class="hljs-literal">true</span>,
  13083. <span class="hljs-attr">"authenticationMethod"</span>: <span class="hljs-string">"string"</span>,
  13084. <span class="hljs-attr">"sessionData"</span>: {
  13085. <span class="hljs-attr">"totalHits"</span>: <span class="hljs-number">0</span>,
  13086. <span class="hljs-attr">"lastHit"</span>: <span class="hljs-number">0</span>
  13087. }
  13088. }
  13089. </code></pre>
  13090. <p><em>A User in wekan</em></p>
  13091. <h3 id="properties">Properties</h3>
  13092. <table>
  13093. <thead>
  13094. <tr>
  13095. <th>Name</th>
  13096. <th>Type</th>
  13097. <th>Required</th>
  13098. <th>Restrictions</th>
  13099. <th>Description</th>
  13100. </tr>
  13101. </thead>
  13102. <tbody>
  13103. <tr>
  13104. <td>username</td>
  13105. <td>string|null</td>
  13106. <td>false</td>
  13107. <td>none</td>
  13108. <td>the username of the user</td>
  13109. </tr>
  13110. <tr>
  13111. <td>emails</td>
  13112. <td>[<a href="#schemausersemails">UsersEmails</a>]|null</td>
  13113. <td>false</td>
  13114. <td>none</td>
  13115. <td>the list of emails attached to a user</td>
  13116. </tr>
  13117. <tr>
  13118. <td>createdAt</td>
  13119. <td>string</td>
  13120. <td>true</td>
  13121. <td>none</td>
  13122. <td>creation date of the user</td>
  13123. </tr>
  13124. <tr>
  13125. <td>modifiedAt</td>
  13126. <td>string</td>
  13127. <td>true</td>
  13128. <td>none</td>
  13129. <td>none</td>
  13130. </tr>
  13131. <tr>
  13132. <td>profile</td>
  13133. <td><a href="#schemausersprofile">UsersProfile</a></td>
  13134. <td>false</td>
  13135. <td>none</td>
  13136. <td>profile settings</td>
  13137. </tr>
  13138. <tr>
  13139. <td>services</td>
  13140. <td>object|null</td>
  13141. <td>false</td>
  13142. <td>none</td>
  13143. <td>services field of the user</td>
  13144. </tr>
  13145. <tr>
  13146. <td>heartbeat</td>
  13147. <td>string|null</td>
  13148. <td>false</td>
  13149. <td>none</td>
  13150. <td>last time the user has been seen</td>
  13151. </tr>
  13152. <tr>
  13153. <td>isAdmin</td>
  13154. <td>boolean|null</td>
  13155. <td>false</td>
  13156. <td>none</td>
  13157. <td>is the user an admin of the board?</td>
  13158. </tr>
  13159. <tr>
  13160. <td>createdThroughApi</td>
  13161. <td>boolean|null</td>
  13162. <td>false</td>
  13163. <td>none</td>
  13164. <td>was the user created through the API?</td>
  13165. </tr>
  13166. <tr>
  13167. <td>loginDisabled</td>
  13168. <td>boolean|null</td>
  13169. <td>false</td>
  13170. <td>none</td>
  13171. <td>loginDisabled field of the user</td>
  13172. </tr>
  13173. <tr>
  13174. <td>authenticationMethod</td>
  13175. <td>string</td>
  13176. <td>true</td>
  13177. <td>none</td>
  13178. <td>authentication method of the user</td>
  13179. </tr>
  13180. <tr>
  13181. <td>sessionData</td>
  13182. <td><a href="#schemauserssessiondata">UsersSessiondata</a></td>
  13183. <td>false</td>
  13184. <td>none</td>
  13185. <td>profile settings</td>
  13186. </tr>
  13187. </tbody>
  13188. </table>
  13189. <h2 id="tocsusersemails">UsersEmails</h2>
  13190. <p><a id="schemausersemails"></a></p>
  13191. <pre class="highlight tab tab-json"><code>{
  13192. <span class="hljs-attr">"address"</span>: <span class="hljs-string">"string"</span>,
  13193. <span class="hljs-attr">"verified"</span>: <span class="hljs-literal">true</span>
  13194. }
  13195. </code></pre>
  13196. <h3 id="properties">Properties</h3>
  13197. <table>
  13198. <thead>
  13199. <tr>
  13200. <th>Name</th>
  13201. <th>Type</th>
  13202. <th>Required</th>
  13203. <th>Restrictions</th>
  13204. <th>Description</th>
  13205. </tr>
  13206. </thead>
  13207. <tbody>
  13208. <tr>
  13209. <td>address</td>
  13210. <td>string</td>
  13211. <td>true</td>
  13212. <td>none</td>
  13213. <td>The email address</td>
  13214. </tr>
  13215. <tr>
  13216. <td>verified</td>
  13217. <td>boolean</td>
  13218. <td>true</td>
  13219. <td>none</td>
  13220. <td>Has the email been verified</td>
  13221. </tr>
  13222. </tbody>
  13223. </table>
  13224. <h2 id="tocsusersprofile">UsersProfile</h2>
  13225. <p><a id="schemausersprofile"></a></p>
  13226. <pre class="highlight tab tab-json"><code>{
  13227. <span class="hljs-attr">"avatarUrl"</span>: <span class="hljs-string">"string"</span>,
  13228. <span class="hljs-attr">"emailBuffer"</span>: [
  13229. <span class="hljs-string">"string"</span>
  13230. ],
  13231. <span class="hljs-attr">"fullname"</span>: <span class="hljs-string">"string"</span>,
  13232. <span class="hljs-attr">"showDesktopDragHandles"</span>: <span class="hljs-literal">true</span>,
  13233. <span class="hljs-attr">"hideCheckedItems"</span>: <span class="hljs-literal">true</span>,
  13234. <span class="hljs-attr">"hiddenSystemMessages"</span>: <span class="hljs-literal">true</span>,
  13235. <span class="hljs-attr">"hiddenMinicardLabelText"</span>: <span class="hljs-literal">true</span>,
  13236. <span class="hljs-attr">"initials"</span>: <span class="hljs-string">"string"</span>,
  13237. <span class="hljs-attr">"invitedBoards"</span>: [
  13238. <span class="hljs-string">"string"</span>
  13239. ],
  13240. <span class="hljs-attr">"language"</span>: <span class="hljs-string">"string"</span>,
  13241. <span class="hljs-attr">"notifications"</span>: [],
  13242. <span class="hljs-attr">"activity"</span>: <span class="hljs-string">"string"</span>,
  13243. <span class="hljs-attr">"read"</span>: <span class="hljs-string">"string"</span>,
  13244. <span class="hljs-attr">"showCardsCountAt"</span>: <span class="hljs-number">0</span>,
  13245. <span class="hljs-attr">"startDayOfWeek"</span>: <span class="hljs-number">0</span>,
  13246. <span class="hljs-attr">"starredBoards"</span>: [
  13247. <span class="hljs-string">"string"</span>
  13248. ],
  13249. <span class="hljs-attr">"icode"</span>: <span class="hljs-string">"string"</span>,
  13250. <span class="hljs-attr">"boardView"</span>: <span class="hljs-string">"board-view-swimlanes"</span>,
  13251. <span class="hljs-attr">"listSortBy"</span>: <span class="hljs-string">"-modifiedat"</span>,
  13252. <span class="hljs-attr">"templatesBoardId"</span>: <span class="hljs-string">"string"</span>,
  13253. <span class="hljs-attr">"cardTemplatesSwimlaneId"</span>: <span class="hljs-string">"string"</span>,
  13254. <span class="hljs-attr">"listTemplatesSwimlaneId"</span>: <span class="hljs-string">"string"</span>,
  13255. <span class="hljs-attr">"boardTemplatesSwimlaneId"</span>: <span class="hljs-string">"string"</span>
  13256. }
  13257. </code></pre>
  13258. <h3 id="properties">Properties</h3>
  13259. <table>
  13260. <thead>
  13261. <tr>
  13262. <th>Name</th>
  13263. <th>Type</th>
  13264. <th>Required</th>
  13265. <th>Restrictions</th>
  13266. <th>Description</th>
  13267. </tr>
  13268. </thead>
  13269. <tbody>
  13270. <tr>
  13271. <td>avatarUrl</td>
  13272. <td>string</td>
  13273. <td>false</td>
  13274. <td>none</td>
  13275. <td>URL of the avatar of the user</td>
  13276. </tr>
  13277. <tr>
  13278. <td>emailBuffer</td>
  13279. <td>[string]</td>
  13280. <td>false</td>
  13281. <td>none</td>
  13282. <td>list of email buffers of the user</td>
  13283. </tr>
  13284. <tr>
  13285. <td>fullname</td>
  13286. <td>string</td>
  13287. <td>false</td>
  13288. <td>none</td>
  13289. <td>full name of the user</td>
  13290. </tr>
  13291. <tr>
  13292. <td>showDesktopDragHandles</td>
  13293. <td>boolean</td>
  13294. <td>false</td>
  13295. <td>none</td>
  13296. <td>does the user want to hide system messages?</td>
  13297. </tr>
  13298. <tr>
  13299. <td>hideCheckedItems</td>
  13300. <td>boolean</td>
  13301. <td>false</td>
  13302. <td>none</td>
  13303. <td>does the user want to hide checked checklist items?</td>
  13304. </tr>
  13305. <tr>
  13306. <td>hiddenSystemMessages</td>
  13307. <td>boolean</td>
  13308. <td>false</td>
  13309. <td>none</td>
  13310. <td>does the user want to hide system messages?</td>
  13311. </tr>
  13312. <tr>
  13313. <td>hiddenMinicardLabelText</td>
  13314. <td>boolean</td>
  13315. <td>false</td>
  13316. <td>none</td>
  13317. <td>does the user want to hide minicard label texts?</td>
  13318. </tr>
  13319. <tr>
  13320. <td>initials</td>
  13321. <td>string</td>
  13322. <td>false</td>
  13323. <td>none</td>
  13324. <td>initials of the user</td>
  13325. </tr>
  13326. <tr>
  13327. <td>invitedBoards</td>
  13328. <td>[string]</td>
  13329. <td>false</td>
  13330. <td>none</td>
  13331. <td>board IDs the user has been invited to</td>
  13332. </tr>
  13333. <tr>
  13334. <td>language</td>
  13335. <td>string</td>
  13336. <td>false</td>
  13337. <td>none</td>
  13338. <td>language of the user</td>
  13339. </tr>
  13340. <tr>
  13341. <td>notifications</td>
  13342. <td>[<a href="#schemausersprofilenotifications">UsersProfileNotifications</a>]</td>
  13343. <td>false</td>
  13344. <td>none</td>
  13345. <td>enabled notifications for the user</td>
  13346. </tr>
  13347. <tr>
  13348. <td>activity</td>
  13349. <td>string</td>
  13350. <td>true</td>
  13351. <td>none</td>
  13352. <td>The id of the activity this notification references</td>
  13353. </tr>
  13354. <tr>
  13355. <td>read</td>
  13356. <td>string</td>
  13357. <td>false</td>
  13358. <td>none</td>
  13359. <td>the date on which this notification was read</td>
  13360. </tr>
  13361. <tr>
  13362. <td>showCardsCountAt</td>
  13363. <td>number</td>
  13364. <td>false</td>
  13365. <td>none</td>
  13366. <td>showCardCountAt field of the user</td>
  13367. </tr>
  13368. <tr>
  13369. <td>startDayOfWeek</td>
  13370. <td>number</td>
  13371. <td>false</td>
  13372. <td>none</td>
  13373. <td>startDayOfWeek field of the user</td>
  13374. </tr>
  13375. <tr>
  13376. <td>starredBoards</td>
  13377. <td>[string]</td>
  13378. <td>false</td>
  13379. <td>none</td>
  13380. <td>list of starred board IDs</td>
  13381. </tr>
  13382. <tr>
  13383. <td>icode</td>
  13384. <td>string</td>
  13385. <td>false</td>
  13386. <td>none</td>
  13387. <td>icode</td>
  13388. </tr>
  13389. <tr>
  13390. <td>boardView</td>
  13391. <td>string</td>
  13392. <td>false</td>
  13393. <td>none</td>
  13394. <td>boardView field of the user</td>
  13395. </tr>
  13396. <tr>
  13397. <td>listSortBy</td>
  13398. <td>string</td>
  13399. <td>false</td>
  13400. <td>none</td>
  13401. <td>default sort list for user</td>
  13402. </tr>
  13403. <tr>
  13404. <td>templatesBoardId</td>
  13405. <td>string</td>
  13406. <td>true</td>
  13407. <td>none</td>
  13408. <td>Reference to the templates board</td>
  13409. </tr>
  13410. <tr>
  13411. <td>cardTemplatesSwimlaneId</td>
  13412. <td>string</td>
  13413. <td>true</td>
  13414. <td>none</td>
  13415. <td>Reference to the card templates swimlane Id</td>
  13416. </tr>
  13417. <tr>
  13418. <td>listTemplatesSwimlaneId</td>
  13419. <td>string</td>
  13420. <td>true</td>
  13421. <td>none</td>
  13422. <td>Reference to the list templates swimlane Id</td>
  13423. </tr>
  13424. <tr>
  13425. <td>boardTemplatesSwimlaneId</td>
  13426. <td>string</td>
  13427. <td>true</td>
  13428. <td>none</td>
  13429. <td>Reference to the board templates swimlane Id</td>
  13430. </tr>
  13431. </tbody>
  13432. </table>
  13433. <h4 id="enumerated-values">Enumerated Values</h4>
  13434. <table>
  13435. <thead>
  13436. <tr>
  13437. <th>Property</th>
  13438. <th>Value</th>
  13439. </tr>
  13440. </thead>
  13441. <tbody>
  13442. <tr>
  13443. <td>boardView</td>
  13444. <td>board-view-swimlanes</td>
  13445. </tr>
  13446. <tr>
  13447. <td>boardView</td>
  13448. <td>board-view-lists</td>
  13449. </tr>
  13450. <tr>
  13451. <td>boardView</td>
  13452. <td>board-view-cal</td>
  13453. </tr>
  13454. <tr>
  13455. <td>listSortBy</td>
  13456. <td>-modifiedat</td>
  13457. </tr>
  13458. <tr>
  13459. <td>listSortBy</td>
  13460. <td>modifiedat</td>
  13461. </tr>
  13462. <tr>
  13463. <td>listSortBy</td>
  13464. <td>-title</td>
  13465. </tr>
  13466. <tr>
  13467. <td>listSortBy</td>
  13468. <td>title</td>
  13469. </tr>
  13470. <tr>
  13471. <td>listSortBy</td>
  13472. <td>-sort</td>
  13473. </tr>
  13474. <tr>
  13475. <td>listSortBy</td>
  13476. <td>sort</td>
  13477. </tr>
  13478. </tbody>
  13479. </table>
  13480. <h2 id="tocsuserssessiondata">UsersSessiondata</h2>
  13481. <p><a id="schemauserssessiondata"></a></p>
  13482. <pre class="highlight tab tab-json"><code>{
  13483. <span class="hljs-attr">"totalHits"</span>: <span class="hljs-number">0</span>,
  13484. <span class="hljs-attr">"lastHit"</span>: <span class="hljs-number">0</span>
  13485. }
  13486. </code></pre>
  13487. <h3 id="properties">Properties</h3>
  13488. <table>
  13489. <thead>
  13490. <tr>
  13491. <th>Name</th>
  13492. <th>Type</th>
  13493. <th>Required</th>
  13494. <th>Restrictions</th>
  13495. <th>Description</th>
  13496. </tr>
  13497. </thead>
  13498. <tbody>
  13499. <tr>
  13500. <td>totalHits</td>
  13501. <td>number</td>
  13502. <td>false</td>
  13503. <td>none</td>
  13504. <td>Total hits from last search</td>
  13505. </tr>
  13506. <tr>
  13507. <td>lastHit</td>
  13508. <td>number</td>
  13509. <td>false</td>
  13510. <td>none</td>
  13511. <td>last hit that was returned</td>
  13512. </tr>
  13513. </tbody>
  13514. </table>
  13515. </div>
  13516. <div class="dark-box">
  13517. <div class="lang-selector">
  13518. <a href="#" data-language-name="shell">Shell</a>
  13519. <a href="#" data-language-name="http">HTTP</a>
  13520. <a href="#" data-language-name="javascript">JavaScript</a>
  13521. <a href="#" data-language-name="javascript--nodejs">Node.js</a>
  13522. <a href="#" data-language-name="ruby">Ruby</a>
  13523. <a href="#" data-language-name="python">Python</a>
  13524. <a href="#" data-language-name="java">Java</a>
  13525. <a href="#" data-language-name="go">Go</a>
  13526. </div>
  13527. </div>
  13528. </div>
  13529. </body>
  13530. </html>