wekan.html 499 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995
  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 v3.98">Wekan REST API v3.98</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-boards" class="toc-h1 toc-link" data-title="Boards">Boards</a>
  1366. <ul class="toc-list-h2">
  1367. <li>
  1368. <a href="#get_public_boards" class="toc-h2 toc-link" data-title="get_public_boards">get_public_boards</a>
  1369. </li>
  1370. <li>
  1371. <a href="#new_board" class="toc-h2 toc-link" data-title="new_board">new_board</a>
  1372. </li>
  1373. <li>
  1374. <a href="#get_board" class="toc-h2 toc-link" data-title="get_board">get_board</a>
  1375. </li>
  1376. <li>
  1377. <a href="#delete_board" class="toc-h2 toc-link" data-title="delete_board">delete_board</a>
  1378. </li>
  1379. <li>
  1380. <a href="#export" class="toc-h2 toc-link" data-title="export">export</a>
  1381. </li>
  1382. <li>
  1383. <a href="#add_board_label" class="toc-h2 toc-link" data-title="add_board_label">add_board_label</a>
  1384. </li>
  1385. <li>
  1386. <a href="#set_board_member_permission" class="toc-h2 toc-link" data-title="set_board_member_permission">set_board_member_permission</a>
  1387. </li>
  1388. <li>
  1389. <a href="#get_boards_from_user" class="toc-h2 toc-link" data-title="get_boards_from_user">get_boards_from_user</a>
  1390. </li>
  1391. </ul>
  1392. </li>
  1393. <li>
  1394. <a href="#wekan-rest-api-checklists" class="toc-h1 toc-link" data-title="Checklists">Checklists</a>
  1395. <ul class="toc-list-h2">
  1396. <li>
  1397. <a href="#get_board_card_checklists" class="toc-h2 toc-link" data-title="get_board_card_checklists">get_board_card_checklists</a>
  1398. </li>
  1399. <li>
  1400. <a href="#post_board_card_checklists" class="toc-h2 toc-link" data-title="post_board_card_checklists">post_board_card_checklists</a>
  1401. </li>
  1402. <li>
  1403. <a href="#get_board_card_checklist" class="toc-h2 toc-link" data-title="get_board_card_checklist">get_board_card_checklist</a>
  1404. </li>
  1405. <li>
  1406. <a href="#delete_board_card_checklist" class="toc-h2 toc-link" data-title="delete_board_card_checklist">delete_board_card_checklist</a>
  1407. </li>
  1408. </ul>
  1409. </li>
  1410. <li>
  1411. <a href="#wekan-rest-api-checklistitems" class="toc-h1 toc-link" data-title="ChecklistItems">ChecklistItems</a>
  1412. <ul class="toc-list-h2">
  1413. <li>
  1414. <a href="#get_board_card_checklist_item" class="toc-h2 toc-link" data-title="get_board_card_checklist_item">get_board_card_checklist_item</a>
  1415. </li>
  1416. <li>
  1417. <a href="#put_board_card_checklist_item" class="toc-h2 toc-link" data-title="put_board_card_checklist_item">put_board_card_checklist_item</a>
  1418. </li>
  1419. <li>
  1420. <a href="#delete_board_card_checklist_item" class="toc-h2 toc-link" data-title="delete_board_card_checklist_item">delete_board_card_checklist_item</a>
  1421. </li>
  1422. </ul>
  1423. </li>
  1424. <li>
  1425. <a href="#wekan-rest-api-cardcomments" class="toc-h1 toc-link" data-title="CardComments">CardComments</a>
  1426. <ul class="toc-list-h2">
  1427. <li>
  1428. <a href="#get_all_comments" class="toc-h2 toc-link" data-title="get_all_comments">get_all_comments</a>
  1429. </li>
  1430. <li>
  1431. <a href="#post_board_card_comments" class="toc-h2 toc-link" data-title="post_board_card_comments">post_board_card_comments</a>
  1432. </li>
  1433. <li>
  1434. <a href="#get_board_card_comment" class="toc-h2 toc-link" data-title="get_board_card_comment">get_board_card_comment</a>
  1435. </li>
  1436. <li>
  1437. <a href="#delete_board_card_comment" class="toc-h2 toc-link" data-title="delete_board_card_comment">delete_board_card_comment</a>
  1438. </li>
  1439. </ul>
  1440. </li>
  1441. <li>
  1442. <a href="#wekan-rest-api-customfields" class="toc-h1 toc-link" data-title="CustomFields">CustomFields</a>
  1443. <ul class="toc-list-h2">
  1444. <li>
  1445. <a href="#get_all_custom_fields" class="toc-h2 toc-link" data-title="get_all_custom_fields">get_all_custom_fields</a>
  1446. </li>
  1447. <li>
  1448. <a href="#new_custom_field" class="toc-h2 toc-link" data-title="new_custom_field">new_custom_field</a>
  1449. </li>
  1450. <li>
  1451. <a href="#get_board_customfield" class="toc-h2 toc-link" data-title="get_board_customField">get_board_customField</a>
  1452. </li>
  1453. <li>
  1454. <a href="#delete_board_customfield" class="toc-h2 toc-link" data-title="delete_board_customField">delete_board_customField</a>
  1455. </li>
  1456. </ul>
  1457. </li>
  1458. <li>
  1459. <a href="#wekan-rest-api-integrations" class="toc-h1 toc-link" data-title="Integrations">Integrations</a>
  1460. <ul class="toc-list-h2">
  1461. <li>
  1462. <a href="#get_all_integrations" class="toc-h2 toc-link" data-title="get_all_integrations">get_all_integrations</a>
  1463. </li>
  1464. <li>
  1465. <a href="#new_integration" class="toc-h2 toc-link" data-title="new_integration">new_integration</a>
  1466. </li>
  1467. <li>
  1468. <a href="#get_integration" class="toc-h2 toc-link" data-title="get_integration">get_integration</a>
  1469. </li>
  1470. <li>
  1471. <a href="#edit_integration" class="toc-h2 toc-link" data-title="edit_integration">edit_integration</a>
  1472. </li>
  1473. <li>
  1474. <a href="#delete_integration" class="toc-h2 toc-link" data-title="delete_integration">delete_integration</a>
  1475. </li>
  1476. <li>
  1477. <a href="#delete_board_int_activities" class="toc-h2 toc-link" data-title="delete_board_int_activities">delete_board_int_activities</a>
  1478. </li>
  1479. <li>
  1480. <a href="#post_board_int_activities" class="toc-h2 toc-link" data-title="post_board_int_activities">post_board_int_activities</a>
  1481. </li>
  1482. </ul>
  1483. </li>
  1484. <li>
  1485. <a href="#wekan-rest-api-lists" class="toc-h1 toc-link" data-title="Lists">Lists</a>
  1486. <ul class="toc-list-h2">
  1487. <li>
  1488. <a href="#get_all_lists" class="toc-h2 toc-link" data-title="get_all_lists">get_all_lists</a>
  1489. </li>
  1490. <li>
  1491. <a href="#new_list" class="toc-h2 toc-link" data-title="new_list">new_list</a>
  1492. </li>
  1493. <li>
  1494. <a href="#get_list" class="toc-h2 toc-link" data-title="get_list">get_list</a>
  1495. </li>
  1496. <li>
  1497. <a href="#delete_list" class="toc-h2 toc-link" data-title="delete_list">delete_list</a>
  1498. </li>
  1499. </ul>
  1500. </li>
  1501. <li>
  1502. <a href="#wekan-rest-api-swimlanes" class="toc-h1 toc-link" data-title="Swimlanes">Swimlanes</a>
  1503. <ul class="toc-list-h2">
  1504. <li>
  1505. <a href="#get_all_swimlanes" class="toc-h2 toc-link" data-title="get_all_swimlanes">get_all_swimlanes</a>
  1506. </li>
  1507. <li>
  1508. <a href="#new_swimlane" class="toc-h2 toc-link" data-title="new_swimlane">new_swimlane</a>
  1509. </li>
  1510. <li>
  1511. <a href="#get_swimlane" class="toc-h2 toc-link" data-title="get_swimlane">get_swimlane</a>
  1512. </li>
  1513. <li>
  1514. <a href="#delete_board_swimlane" class="toc-h2 toc-link" data-title="delete_board_swimlane">delete_board_swimlane</a>
  1515. </li>
  1516. </ul>
  1517. </li>
  1518. <li>
  1519. <a href="#schemas" class="toc-h1 toc-link" data-title="Schemas">Schemas</a>
  1520. <ul class="toc-list-h2">
  1521. <li>
  1522. <a href="#tocsboards" class="toc-h2 toc-link" data-title="Boards">Boards</a>
  1523. </li>
  1524. <li>
  1525. <a href="#tocsboardslabels" class="toc-h2 toc-link" data-title="BoardsLabels">BoardsLabels</a>
  1526. </li>
  1527. <li>
  1528. <a href="#tocsboardsmembers" class="toc-h2 toc-link" data-title="BoardsMembers">BoardsMembers</a>
  1529. </li>
  1530. <li>
  1531. <a href="#tocscardcomments" class="toc-h2 toc-link" data-title="CardComments">CardComments</a>
  1532. </li>
  1533. <li>
  1534. <a href="#tocschecklistitems" class="toc-h2 toc-link" data-title="ChecklistItems">ChecklistItems</a>
  1535. </li>
  1536. <li>
  1537. <a href="#tocschecklists" class="toc-h2 toc-link" data-title="Checklists">Checklists</a>
  1538. </li>
  1539. <li>
  1540. <a href="#tocscustomfields" class="toc-h2 toc-link" data-title="CustomFields">CustomFields</a>
  1541. </li>
  1542. <li>
  1543. <a href="#tocscustomfieldssettings" class="toc-h2 toc-link" data-title="CustomFieldsSettings">CustomFieldsSettings</a>
  1544. </li>
  1545. <li>
  1546. <a href="#tocscustomfieldssettingsdropdownitems" class="toc-h2 toc-link" data-title="CustomFieldsSettingsDropdownitems">CustomFieldsSettingsDropdownitems</a>
  1547. </li>
  1548. <li>
  1549. <a href="#tocsintegrations" class="toc-h2 toc-link" data-title="Integrations">Integrations</a>
  1550. </li>
  1551. <li>
  1552. <a href="#tocslists" class="toc-h2 toc-link" data-title="Lists">Lists</a>
  1553. </li>
  1554. <li>
  1555. <a href="#tocslistswiplimit" class="toc-h2 toc-link" data-title="ListsWiplimit">ListsWiplimit</a>
  1556. </li>
  1557. <li>
  1558. <a href="#tocsswimlanes" class="toc-h2 toc-link" data-title="Swimlanes">Swimlanes</a>
  1559. </li>
  1560. </ul>
  1561. </li>
  1562. </ul>
  1563. </div>
  1564. <ul class="toc-footer">
  1565. </ul>
  1566. </div>
  1567. <div class="page-wrapper">
  1568. <div class="dark-box"></div>
  1569. <div class="content">
  1570. <h1 id="wekan-rest-api">Wekan REST API v3.98</h1>
  1571. <blockquote>
  1572. <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>
  1573. </blockquote>
  1574. <p>The REST API allows you to control and extend Wekan with ease.</p>
  1575. <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>
  1576. <blockquote>
  1577. <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>
  1578. </blockquote>
  1579. <h1 id="production-security-concerns">Production Security Concerns</h1>
  1580. <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>
  1581. <ul>
  1582. <li>Only call via HTTPS</li>
  1583. <li>Implement a timed authorization token expiration strategy</li>
  1584. <li>Ensure the calling user only has permissions for what they are calling and no more</li>
  1585. </ul>
  1586. <h1 id="authentication">Authentication</h1>
  1587. <ul>
  1588. <li>API Key (UserSecurity)
  1589. <ul>
  1590. <li>Parameter Name: <strong>Authorization</strong>, in: header.</li>
  1591. </ul>
  1592. </li>
  1593. </ul>
  1594. <h1 id="wekan-rest-api-login">Login</h1>
  1595. <h2 id="login">login</h2>
  1596. <p><a id="opIdlogin"></a></p>
  1597. <blockquote>
  1598. <p>Code samples</p>
  1599. </blockquote>
  1600. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  1601. curl -X POST /users/login \
  1602. -H <span class="hljs-string">'Content-Type: application/x-www-form-urlencoded'</span> \
  1603. -H <span class="hljs-string">'Accept: */*'</span>
  1604. </code></pre>
  1605. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">POST</span> <span class="hljs-string">/users/login</span> HTTP/1.1
  1606. <span class="http"><span class="hljs-attribute">Content-Type</span>: application/x-www-form-urlencoded
  1607. <span class="hljs-attribute">Accept</span>: */*
  1608. <span class="undefined"></span></span></code></pre>
  1609. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  1610. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'application/x-www-form-urlencoded'</span>,
  1611. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'*/*'</span>
  1612. };
  1613. $.ajax({
  1614. <span class="hljs-attr">url</span>: <span class="hljs-string">'/users/login'</span>,
  1615. <span class="hljs-attr">method</span>: <span class="hljs-string">'post'</span>,
  1616. <span class="hljs-attr">headers</span>: headers,
  1617. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  1618. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  1619. }
  1620. })
  1621. </code></pre>
  1622. <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>);
  1623. <span class="hljs-keyword">const</span> inputBody = <span class="hljs-string">'{
  1624. "username": "string",
  1625. "password": "pa$$word"
  1626. }'</span>;
  1627. <span class="hljs-keyword">const</span> headers = {
  1628. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'application/x-www-form-urlencoded'</span>,
  1629. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'*/*'</span>
  1630. };
  1631. fetch(<span class="hljs-string">'/users/login'</span>,
  1632. {
  1633. <span class="hljs-attr">method</span>: <span class="hljs-string">'POST'</span>,
  1634. <span class="hljs-attr">body</span>: inputBody,
  1635. <span class="hljs-attr">headers</span>: headers
  1636. })
  1637. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  1638. <span class="hljs-keyword">return</span> res.json();
  1639. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  1640. <span class="hljs-built_in">console</span>.log(body);
  1641. });
  1642. </code></pre>
  1643. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  1644. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  1645. headers = {
  1646. <span class="hljs-string">'Content-Type'</span> =&gt; <span class="hljs-string">'application/x-www-form-urlencoded'</span>,
  1647. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'*/*'</span>
  1648. }
  1649. result = RestClient.post <span class="hljs-string">'/users/login'</span>,
  1650. <span class="hljs-symbol">params:</span> {
  1651. }, <span class="hljs-symbol">headers:</span> headers
  1652. p JSON.parse(result)
  1653. </code></pre>
  1654. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  1655. 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. r = requests.post(<span class="hljs-string">'/users/login'</span>, params={
  1660. }, headers = headers)
  1661. <span class="hljs-keyword">print</span> r.json()
  1662. </code></pre>
  1663. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/users/login"</span>);
  1664. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  1665. con.setRequestMethod(<span class="hljs-string">"POST"</span>);
  1666. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  1667. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  1668. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  1669. String inputLine;
  1670. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  1671. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  1672. response.append(inputLine);
  1673. }
  1674. in.close();
  1675. System.out.println(response.toString());
  1676. </code></pre>
  1677. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  1678. <span class="hljs-keyword">import</span> (
  1679. <span class="hljs-string">"bytes"</span>
  1680. <span class="hljs-string">"net/http"</span>
  1681. )
  1682. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  1683. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  1684. <span class="hljs-string">"Content-Type"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/x-www-form-urlencoded"</span>},
  1685. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"*/*"</span>},
  1686. }
  1687. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  1688. req, err := http.NewRequest(<span class="hljs-string">"POST"</span>, <span class="hljs-string">"/users/login"</span>, data)
  1689. req.Header = headers
  1690. client := &amp;http.Client{}
  1691. resp, err := client.Do(req)
  1692. <span class="hljs-comment">// ...</span>
  1693. }
  1694. </code></pre>
  1695. <p><code>POST /users/login</code></p>
  1696. <p><em>Login with REST API</em></p>
  1697. <blockquote>
  1698. <p>Body parameter</p>
  1699. </blockquote>
  1700. <pre class="highlight tab tab-yaml"><code><span class="hljs-attr">username:</span> <span class="hljs-string">string</span>
  1701. <span class="hljs-attr">password:</span> <span class="hljs-string">pa$$word</span>
  1702. </code></pre>
  1703. <h3 id="login-parameters">Parameters</h3>
  1704. <table>
  1705. <thead>
  1706. <tr>
  1707. <th>Name</th>
  1708. <th>In</th>
  1709. <th>Type</th>
  1710. <th>Required</th>
  1711. <th>Description</th>
  1712. </tr>
  1713. </thead>
  1714. <tbody>
  1715. <tr>
  1716. <td>body</td>
  1717. <td>body</td>
  1718. <td>object</td>
  1719. <td>false</td>
  1720. <td>none</td>
  1721. </tr>
  1722. <tr>
  1723. <td>» username</td>
  1724. <td>body</td>
  1725. <td>string</td>
  1726. <td>true</td>
  1727. <td>Your username</td>
  1728. </tr>
  1729. <tr>
  1730. <td>» password</td>
  1731. <td>body</td>
  1732. <td>string(password)</td>
  1733. <td>true</td>
  1734. <td>Your password</td>
  1735. </tr>
  1736. </tbody>
  1737. </table>
  1738. <blockquote>
  1739. <p>Example responses</p>
  1740. </blockquote>
  1741. <blockquote>
  1742. <p>200 Response</p>
  1743. </blockquote>
  1744. <h3 id="login-responses">Responses</h3>
  1745. <table>
  1746. <thead>
  1747. <tr>
  1748. <th>Status</th>
  1749. <th>Meaning</th>
  1750. <th>Description</th>
  1751. <th>Schema</th>
  1752. </tr>
  1753. </thead>
  1754. <tbody>
  1755. <tr>
  1756. <td>200</td>
  1757. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  1758. <td>Successful authentication</td>
  1759. <td>Inline</td>
  1760. </tr>
  1761. <tr>
  1762. <td>400</td>
  1763. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.5.1">Bad Request</a></td>
  1764. <td>Error in authentication</td>
  1765. <td>Inline</td>
  1766. </tr>
  1767. <tr>
  1768. <td>default</td>
  1769. <td>Default</td>
  1770. <td>Error in authentication</td>
  1771. <td>None</td>
  1772. </tr>
  1773. </tbody>
  1774. </table>
  1775. <h3 id="login-responseschema">Response Schema</h3>
  1776. <p>Status Code <strong>200</strong></p>
  1777. <table>
  1778. <thead>
  1779. <tr>
  1780. <th>Name</th>
  1781. <th>Type</th>
  1782. <th>Required</th>
  1783. <th>Restrictions</th>
  1784. <th>Description</th>
  1785. </tr>
  1786. </thead>
  1787. <tbody>
  1788. <tr>
  1789. <td>» id</td>
  1790. <td>string</td>
  1791. <td>false</td>
  1792. <td>none</td>
  1793. <td>none</td>
  1794. </tr>
  1795. <tr>
  1796. <td>» token</td>
  1797. <td>string</td>
  1798. <td>false</td>
  1799. <td>none</td>
  1800. <td>none</td>
  1801. </tr>
  1802. <tr>
  1803. <td>» tokenExpires</td>
  1804. <td>string</td>
  1805. <td>false</td>
  1806. <td>none</td>
  1807. <td>none</td>
  1808. </tr>
  1809. </tbody>
  1810. </table>
  1811. <p>Status Code <strong>400</strong></p>
  1812. <table>
  1813. <thead>
  1814. <tr>
  1815. <th>Name</th>
  1816. <th>Type</th>
  1817. <th>Required</th>
  1818. <th>Restrictions</th>
  1819. <th>Description</th>
  1820. </tr>
  1821. </thead>
  1822. <tbody>
  1823. <tr>
  1824. <td>» error</td>
  1825. <td>number</td>
  1826. <td>false</td>
  1827. <td>none</td>
  1828. <td>none</td>
  1829. </tr>
  1830. <tr>
  1831. <td>» reason</td>
  1832. <td>string</td>
  1833. <td>false</td>
  1834. <td>none</td>
  1835. <td>none</td>
  1836. </tr>
  1837. </tbody>
  1838. </table>
  1839. <aside class="success">
  1840. This operation does not require authentication
  1841. </aside>
  1842. <h2 id="register">register</h2>
  1843. <p><a id="opIdregister"></a></p>
  1844. <blockquote>
  1845. <p>Code samples</p>
  1846. </blockquote>
  1847. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  1848. curl -X POST /users/register \
  1849. -H <span class="hljs-string">'Content-Type: application/x-www-form-urlencoded'</span> \
  1850. -H <span class="hljs-string">'Accept: */*'</span>
  1851. </code></pre>
  1852. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">POST</span> <span class="hljs-string">/users/register</span> HTTP/1.1
  1853. <span class="http"><span class="hljs-attribute">Content-Type</span>: application/x-www-form-urlencoded
  1854. <span class="hljs-attribute">Accept</span>: */*
  1855. <span class="undefined"></span></span></code></pre>
  1856. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  1857. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'application/x-www-form-urlencoded'</span>,
  1858. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'*/*'</span>
  1859. };
  1860. $.ajax({
  1861. <span class="hljs-attr">url</span>: <span class="hljs-string">'/users/register'</span>,
  1862. <span class="hljs-attr">method</span>: <span class="hljs-string">'post'</span>,
  1863. <span class="hljs-attr">headers</span>: headers,
  1864. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  1865. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  1866. }
  1867. })
  1868. </code></pre>
  1869. <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>);
  1870. <span class="hljs-keyword">const</span> inputBody = <span class="hljs-string">'{
  1871. "username": "string",
  1872. "password": "pa$$word",
  1873. "email": "string"
  1874. }'</span>;
  1875. <span class="hljs-keyword">const</span> headers = {
  1876. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'application/x-www-form-urlencoded'</span>,
  1877. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'*/*'</span>
  1878. };
  1879. fetch(<span class="hljs-string">'/users/register'</span>,
  1880. {
  1881. <span class="hljs-attr">method</span>: <span class="hljs-string">'POST'</span>,
  1882. <span class="hljs-attr">body</span>: inputBody,
  1883. <span class="hljs-attr">headers</span>: headers
  1884. })
  1885. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  1886. <span class="hljs-keyword">return</span> res.json();
  1887. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  1888. <span class="hljs-built_in">console</span>.log(body);
  1889. });
  1890. </code></pre>
  1891. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  1892. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  1893. headers = {
  1894. <span class="hljs-string">'Content-Type'</span> =&gt; <span class="hljs-string">'application/x-www-form-urlencoded'</span>,
  1895. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'*/*'</span>
  1896. }
  1897. result = RestClient.post <span class="hljs-string">'/users/register'</span>,
  1898. <span class="hljs-symbol">params:</span> {
  1899. }, <span class="hljs-symbol">headers:</span> headers
  1900. p JSON.parse(result)
  1901. </code></pre>
  1902. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  1903. headers = {
  1904. <span class="hljs-string">'Content-Type'</span>: <span class="hljs-string">'application/x-www-form-urlencoded'</span>,
  1905. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'*/*'</span>
  1906. }
  1907. r = requests.post(<span class="hljs-string">'/users/register'</span>, params={
  1908. }, headers = headers)
  1909. <span class="hljs-keyword">print</span> r.json()
  1910. </code></pre>
  1911. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/users/register"</span>);
  1912. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  1913. con.setRequestMethod(<span class="hljs-string">"POST"</span>);
  1914. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  1915. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  1916. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  1917. String inputLine;
  1918. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  1919. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  1920. response.append(inputLine);
  1921. }
  1922. in.close();
  1923. System.out.println(response.toString());
  1924. </code></pre>
  1925. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  1926. <span class="hljs-keyword">import</span> (
  1927. <span class="hljs-string">"bytes"</span>
  1928. <span class="hljs-string">"net/http"</span>
  1929. )
  1930. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  1931. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  1932. <span class="hljs-string">"Content-Type"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/x-www-form-urlencoded"</span>},
  1933. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"*/*"</span>},
  1934. }
  1935. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  1936. req, err := http.NewRequest(<span class="hljs-string">"POST"</span>, <span class="hljs-string">"/users/register"</span>, data)
  1937. req.Header = headers
  1938. client := &amp;http.Client{}
  1939. resp, err := client.Do(req)
  1940. <span class="hljs-comment">// ...</span>
  1941. }
  1942. </code></pre>
  1943. <p><code>POST /users/register</code></p>
  1944. <p><em>Register with REST API</em></p>
  1945. <p>Notes:</p>
  1946. <ul>
  1947. <li>You will need to provide the token for any of the authenticated methods.</li>
  1948. </ul>
  1949. <blockquote>
  1950. <p>Body parameter</p>
  1951. </blockquote>
  1952. <pre class="highlight tab tab-yaml"><code><span class="hljs-attr">username:</span> <span class="hljs-string">string</span>
  1953. <span class="hljs-attr">password:</span> <span class="hljs-string">pa$$word</span>
  1954. <span class="hljs-attr">email:</span> <span class="hljs-string">string</span>
  1955. </code></pre>
  1956. <h3 id="register-parameters">Parameters</h3>
  1957. <table>
  1958. <thead>
  1959. <tr>
  1960. <th>Name</th>
  1961. <th>In</th>
  1962. <th>Type</th>
  1963. <th>Required</th>
  1964. <th>Description</th>
  1965. </tr>
  1966. </thead>
  1967. <tbody>
  1968. <tr>
  1969. <td>body</td>
  1970. <td>body</td>
  1971. <td>object</td>
  1972. <td>false</td>
  1973. <td>none</td>
  1974. </tr>
  1975. <tr>
  1976. <td>» username</td>
  1977. <td>body</td>
  1978. <td>string</td>
  1979. <td>true</td>
  1980. <td>Your username</td>
  1981. </tr>
  1982. <tr>
  1983. <td>» password</td>
  1984. <td>body</td>
  1985. <td>string(password)</td>
  1986. <td>true</td>
  1987. <td>Your password</td>
  1988. </tr>
  1989. <tr>
  1990. <td>» email</td>
  1991. <td>body</td>
  1992. <td>string</td>
  1993. <td>true</td>
  1994. <td>Your email</td>
  1995. </tr>
  1996. </tbody>
  1997. </table>
  1998. <blockquote>
  1999. <p>Example responses</p>
  2000. </blockquote>
  2001. <blockquote>
  2002. <p>200 Response</p>
  2003. </blockquote>
  2004. <h3 id="register-responses">Responses</h3>
  2005. <table>
  2006. <thead>
  2007. <tr>
  2008. <th>Status</th>
  2009. <th>Meaning</th>
  2010. <th>Description</th>
  2011. <th>Schema</th>
  2012. </tr>
  2013. </thead>
  2014. <tbody>
  2015. <tr>
  2016. <td>200</td>
  2017. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  2018. <td>Successful registration</td>
  2019. <td>Inline</td>
  2020. </tr>
  2021. <tr>
  2022. <td>400</td>
  2023. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.5.1">Bad Request</a></td>
  2024. <td>Error in registration</td>
  2025. <td>Inline</td>
  2026. </tr>
  2027. <tr>
  2028. <td>default</td>
  2029. <td>Default</td>
  2030. <td>Error in registration</td>
  2031. <td>None</td>
  2032. </tr>
  2033. </tbody>
  2034. </table>
  2035. <h3 id="register-responseschema">Response Schema</h3>
  2036. <p>Status Code <strong>200</strong></p>
  2037. <table>
  2038. <thead>
  2039. <tr>
  2040. <th>Name</th>
  2041. <th>Type</th>
  2042. <th>Required</th>
  2043. <th>Restrictions</th>
  2044. <th>Description</th>
  2045. </tr>
  2046. </thead>
  2047. <tbody>
  2048. <tr>
  2049. <td>» id</td>
  2050. <td>string</td>
  2051. <td>false</td>
  2052. <td>none</td>
  2053. <td>none</td>
  2054. </tr>
  2055. <tr>
  2056. <td>» token</td>
  2057. <td>string</td>
  2058. <td>false</td>
  2059. <td>none</td>
  2060. <td>none</td>
  2061. </tr>
  2062. <tr>
  2063. <td>» tokenExpires</td>
  2064. <td>string</td>
  2065. <td>false</td>
  2066. <td>none</td>
  2067. <td>none</td>
  2068. </tr>
  2069. </tbody>
  2070. </table>
  2071. <p>Status Code <strong>400</strong></p>
  2072. <table>
  2073. <thead>
  2074. <tr>
  2075. <th>Name</th>
  2076. <th>Type</th>
  2077. <th>Required</th>
  2078. <th>Restrictions</th>
  2079. <th>Description</th>
  2080. </tr>
  2081. </thead>
  2082. <tbody>
  2083. <tr>
  2084. <td>» error</td>
  2085. <td>number</td>
  2086. <td>false</td>
  2087. <td>none</td>
  2088. <td>none</td>
  2089. </tr>
  2090. <tr>
  2091. <td>» reason</td>
  2092. <td>string</td>
  2093. <td>false</td>
  2094. <td>none</td>
  2095. <td>none</td>
  2096. </tr>
  2097. </tbody>
  2098. </table>
  2099. <aside class="success">
  2100. This operation does not require authentication
  2101. </aside>
  2102. <h1 id="wekan-rest-api-boards">Boards</h1>
  2103. <h2 id="get_public_boards">get_public_boards</h2>
  2104. <p><a id="opIdget_public_boards"></a></p>
  2105. <blockquote>
  2106. <p>Code samples</p>
  2107. </blockquote>
  2108. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  2109. curl -X GET /api/boards \
  2110. -H <span class="hljs-string">'Accept: application/json'</span> \
  2111. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  2112. </code></pre>
  2113. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">GET</span> <span class="hljs-string">/api/boards</span> HTTP/1.1
  2114. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  2115. <span class="undefined"></span></span></code></pre>
  2116. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  2117. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  2118. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  2119. };
  2120. $.ajax({
  2121. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards'</span>,
  2122. <span class="hljs-attr">method</span>: <span class="hljs-string">'get'</span>,
  2123. <span class="hljs-attr">headers</span>: headers,
  2124. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  2125. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  2126. }
  2127. })
  2128. </code></pre>
  2129. <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>);
  2130. <span class="hljs-keyword">const</span> headers = {
  2131. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  2132. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  2133. };
  2134. fetch(<span class="hljs-string">'/api/boards'</span>,
  2135. {
  2136. <span class="hljs-attr">method</span>: <span class="hljs-string">'GET'</span>,
  2137. <span class="hljs-attr">headers</span>: headers
  2138. })
  2139. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  2140. <span class="hljs-keyword">return</span> res.json();
  2141. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  2142. <span class="hljs-built_in">console</span>.log(body);
  2143. });
  2144. </code></pre>
  2145. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  2146. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  2147. headers = {
  2148. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  2149. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  2150. }
  2151. result = RestClient.get <span class="hljs-string">'/api/boards'</span>,
  2152. <span class="hljs-symbol">params:</span> {
  2153. }, <span class="hljs-symbol">headers:</span> headers
  2154. p JSON.parse(result)
  2155. </code></pre>
  2156. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  2157. headers = {
  2158. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  2159. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  2160. }
  2161. r = requests.get(<span class="hljs-string">'/api/boards'</span>, params={
  2162. }, headers = headers)
  2163. <span class="hljs-keyword">print</span> r.json()
  2164. </code></pre>
  2165. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards"</span>);
  2166. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  2167. con.setRequestMethod(<span class="hljs-string">"GET"</span>);
  2168. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  2169. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  2170. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  2171. String inputLine;
  2172. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  2173. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  2174. response.append(inputLine);
  2175. }
  2176. in.close();
  2177. System.out.println(response.toString());
  2178. </code></pre>
  2179. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  2180. <span class="hljs-keyword">import</span> (
  2181. <span class="hljs-string">"bytes"</span>
  2182. <span class="hljs-string">"net/http"</span>
  2183. )
  2184. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  2185. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  2186. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  2187. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  2188. }
  2189. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  2190. req, err := http.NewRequest(<span class="hljs-string">"GET"</span>, <span class="hljs-string">"/api/boards"</span>, data)
  2191. req.Header = headers
  2192. client := &amp;http.Client{}
  2193. resp, err := client.Do(req)
  2194. <span class="hljs-comment">// ...</span>
  2195. }
  2196. </code></pre>
  2197. <p><code>GET /api/boards</code></p>
  2198. <p><em>Get all public boards</em></p>
  2199. <blockquote>
  2200. <p>Example responses</p>
  2201. </blockquote>
  2202. <blockquote>
  2203. <p>200 Response</p>
  2204. </blockquote>
  2205. <pre class="highlight tab tab-json"><code>[
  2206. {
  2207. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>,
  2208. <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>
  2209. }
  2210. ]
  2211. </code></pre>
  2212. <h3 id="get_public_boards-responses">Responses</h3>
  2213. <table>
  2214. <thead>
  2215. <tr>
  2216. <th>Status</th>
  2217. <th>Meaning</th>
  2218. <th>Description</th>
  2219. <th>Schema</th>
  2220. </tr>
  2221. </thead>
  2222. <tbody>
  2223. <tr>
  2224. <td>200</td>
  2225. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  2226. <td>200 response</td>
  2227. <td>Inline</td>
  2228. </tr>
  2229. </tbody>
  2230. </table>
  2231. <h3 id="get_public_boards-responseschema">Response Schema</h3>
  2232. <p>Status Code <strong>200</strong></p>
  2233. <table>
  2234. <thead>
  2235. <tr>
  2236. <th>Name</th>
  2237. <th>Type</th>
  2238. <th>Required</th>
  2239. <th>Restrictions</th>
  2240. <th>Description</th>
  2241. </tr>
  2242. </thead>
  2243. <tbody>
  2244. <tr>
  2245. <td>» _id</td>
  2246. <td>string</td>
  2247. <td>false</td>
  2248. <td>none</td>
  2249. <td>none</td>
  2250. </tr>
  2251. <tr>
  2252. <td>» title</td>
  2253. <td>string</td>
  2254. <td>false</td>
  2255. <td>none</td>
  2256. <td>none</td>
  2257. </tr>
  2258. </tbody>
  2259. </table>
  2260. <aside class="warning">
  2261. To perform this operation, you must be authenticated by means of one of the following methods:
  2262. UserSecurity
  2263. </aside>
  2264. <h2 id="new_board">new_board</h2>
  2265. <p><a id="opIdnew_board"></a></p>
  2266. <blockquote>
  2267. <p>Code samples</p>
  2268. </blockquote>
  2269. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  2270. curl -X POST /api/boards \
  2271. -H <span class="hljs-string">'Content-Type: multipart/form-data'</span> \
  2272. -H <span class="hljs-string">'Accept: application/json'</span> \
  2273. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  2274. </code></pre>
  2275. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">POST</span> <span class="hljs-string">/api/boards</span> HTTP/1.1
  2276. <span class="fortran">Content-<span class="hljs-keyword">Type</span>: multipart/<span class="hljs-keyword">form</span>-<span class="hljs-keyword">data</span>
  2277. Accept: application/json
  2278. </span></code></pre>
  2279. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  2280. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  2281. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  2282. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  2283. };
  2284. $.ajax({
  2285. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards'</span>,
  2286. <span class="hljs-attr">method</span>: <span class="hljs-string">'post'</span>,
  2287. <span class="hljs-attr">headers</span>: headers,
  2288. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  2289. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  2290. }
  2291. })
  2292. </code></pre>
  2293. <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>);
  2294. <span class="hljs-keyword">const</span> inputBody = <span class="hljs-string">'{
  2295. "title": "string",
  2296. "owner": "string",
  2297. "isAdmin": true,
  2298. "isActive": true,
  2299. "isNoComments": true,
  2300. "isCommentOnly": true,
  2301. "isWorker": true,
  2302. "permission": "string",
  2303. "color": "string"
  2304. }'</span>;
  2305. <span class="hljs-keyword">const</span> headers = {
  2306. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  2307. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  2308. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  2309. };
  2310. fetch(<span class="hljs-string">'/api/boards'</span>,
  2311. {
  2312. <span class="hljs-attr">method</span>: <span class="hljs-string">'POST'</span>,
  2313. <span class="hljs-attr">body</span>: inputBody,
  2314. <span class="hljs-attr">headers</span>: headers
  2315. })
  2316. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  2317. <span class="hljs-keyword">return</span> res.json();
  2318. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  2319. <span class="hljs-built_in">console</span>.log(body);
  2320. });
  2321. </code></pre>
  2322. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  2323. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  2324. headers = {
  2325. <span class="hljs-string">'Content-Type'</span> =&gt; <span class="hljs-string">'multipart/form-data'</span>,
  2326. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  2327. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  2328. }
  2329. result = RestClient.post <span class="hljs-string">'/api/boards'</span>,
  2330. <span class="hljs-symbol">params:</span> {
  2331. }, <span class="hljs-symbol">headers:</span> headers
  2332. p JSON.parse(result)
  2333. </code></pre>
  2334. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  2335. headers = {
  2336. <span class="hljs-string">'Content-Type'</span>: <span class="hljs-string">'multipart/form-data'</span>,
  2337. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  2338. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  2339. }
  2340. r = requests.post(<span class="hljs-string">'/api/boards'</span>, params={
  2341. }, headers = headers)
  2342. <span class="hljs-keyword">print</span> r.json()
  2343. </code></pre>
  2344. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards"</span>);
  2345. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  2346. con.setRequestMethod(<span class="hljs-string">"POST"</span>);
  2347. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  2348. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  2349. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  2350. String inputLine;
  2351. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  2352. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  2353. response.append(inputLine);
  2354. }
  2355. in.close();
  2356. System.out.println(response.toString());
  2357. </code></pre>
  2358. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  2359. <span class="hljs-keyword">import</span> (
  2360. <span class="hljs-string">"bytes"</span>
  2361. <span class="hljs-string">"net/http"</span>
  2362. )
  2363. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  2364. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  2365. <span class="hljs-string">"Content-Type"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"multipart/form-data"</span>},
  2366. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  2367. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  2368. }
  2369. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  2370. req, err := http.NewRequest(<span class="hljs-string">"POST"</span>, <span class="hljs-string">"/api/boards"</span>, data)
  2371. req.Header = headers
  2372. client := &amp;http.Client{}
  2373. resp, err := client.Do(req)
  2374. <span class="hljs-comment">// ...</span>
  2375. }
  2376. </code></pre>
  2377. <p><code>POST /api/boards</code></p>
  2378. <p><em>Create a board</em></p>
  2379. <p>This allows to create a board.</p>
  2380. <p>The color has to be chosen between <code>belize</code>, <code>nephritis</code>, <code>pomegranate</code>,
  2381. <code>pumpkin</code>, <code>wisteria</code>, <code>moderatepink</code>, <code>strongcyan</code>,
  2382. <code>limegreen</code>, <code>midnight</code>, <code>dark</code>, <code>relax</code>, <code>corteza</code>:</p>
  2383. <img src="https://wekan.github.io/board-colors.png" alt="Wekan logo" />
  2384. <blockquote>
  2385. <p>Body parameter</p>
  2386. </blockquote>
  2387. <pre class="highlight tab tab-yaml"><code><span class="hljs-attr">title:</span> <span class="hljs-string">string</span>
  2388. <span class="hljs-attr">owner:</span> <span class="hljs-string">string</span>
  2389. <span class="hljs-attr">isAdmin:</span> <span class="hljs-literal">true</span>
  2390. <span class="hljs-attr">isActive:</span> <span class="hljs-literal">true</span>
  2391. <span class="hljs-attr">isNoComments:</span> <span class="hljs-literal">true</span>
  2392. <span class="hljs-attr">isCommentOnly:</span> <span class="hljs-literal">true</span>
  2393. <span class="hljs-attr">isWorker:</span> <span class="hljs-literal">true</span>
  2394. <span class="hljs-attr">permission:</span> <span class="hljs-string">string</span>
  2395. <span class="hljs-attr">color:</span> <span class="hljs-string">string</span>
  2396. </code></pre>
  2397. <h3 id="new_board-parameters">Parameters</h3>
  2398. <table>
  2399. <thead>
  2400. <tr>
  2401. <th>Name</th>
  2402. <th>In</th>
  2403. <th>Type</th>
  2404. <th>Required</th>
  2405. <th>Description</th>
  2406. </tr>
  2407. </thead>
  2408. <tbody>
  2409. <tr>
  2410. <td>body</td>
  2411. <td>body</td>
  2412. <td>object</td>
  2413. <td>false</td>
  2414. <td>none</td>
  2415. </tr>
  2416. <tr>
  2417. <td>» title</td>
  2418. <td>body</td>
  2419. <td>string</td>
  2420. <td>true</td>
  2421. <td>the new title of the board</td>
  2422. </tr>
  2423. <tr>
  2424. <td>» owner</td>
  2425. <td>body</td>
  2426. <td>string</td>
  2427. <td>true</td>
  2428. <td>&quot;ABCDE12345&quot; &lt;= User ID in Wekan.</td>
  2429. </tr>
  2430. <tr>
  2431. <td>» isAdmin</td>
  2432. <td>body</td>
  2433. <td>boolean</td>
  2434. <td>false</td>
  2435. <td>is the owner an admin of the board (default true)</td>
  2436. </tr>
  2437. <tr>
  2438. <td>» isActive</td>
  2439. <td>body</td>
  2440. <td>boolean</td>
  2441. <td>false</td>
  2442. <td>is the board active (default true)</td>
  2443. </tr>
  2444. <tr>
  2445. <td>» isNoComments</td>
  2446. <td>body</td>
  2447. <td>boolean</td>
  2448. <td>false</td>
  2449. <td>disable comments (default false)</td>
  2450. </tr>
  2451. <tr>
  2452. <td>» isCommentOnly</td>
  2453. <td>body</td>
  2454. <td>boolean</td>
  2455. <td>false</td>
  2456. <td>only enable comments (default false)</td>
  2457. </tr>
  2458. <tr>
  2459. <td>» isWorker</td>
  2460. <td>body</td>
  2461. <td>boolean</td>
  2462. <td>false</td>
  2463. <td>only move cards, assign himself to card and comment (default false)</td>
  2464. </tr>
  2465. <tr>
  2466. <td>» permission</td>
  2467. <td>body</td>
  2468. <td>string</td>
  2469. <td>false</td>
  2470. <td>&quot;private&quot; board &lt;== Set to &quot;public&quot; if you</td>
  2471. </tr>
  2472. <tr>
  2473. <td>» color</td>
  2474. <td>body</td>
  2475. <td>string</td>
  2476. <td>false</td>
  2477. <td>the color of the board</td>
  2478. </tr>
  2479. </tbody>
  2480. </table>
  2481. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  2482. <p><strong>» owner</strong>: &quot;ABCDE12345&quot; &lt;= User ID in Wekan.
  2483. (Not username or email)</p>
  2484. <p><strong>» permission</strong>: &quot;private&quot; board &lt;== Set to &quot;public&quot; if you
  2485. want public Wekan board</p>
  2486. <blockquote>
  2487. <p>Example responses</p>
  2488. </blockquote>
  2489. <blockquote>
  2490. <p>200 Response</p>
  2491. </blockquote>
  2492. <pre class="highlight tab tab-json"><code>{
  2493. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>,
  2494. <span class="hljs-attr">"defaultSwimlaneId"</span>: <span class="hljs-string">"string"</span>
  2495. }
  2496. </code></pre>
  2497. <h3 id="new_board-responses">Responses</h3>
  2498. <table>
  2499. <thead>
  2500. <tr>
  2501. <th>Status</th>
  2502. <th>Meaning</th>
  2503. <th>Description</th>
  2504. <th>Schema</th>
  2505. </tr>
  2506. </thead>
  2507. <tbody>
  2508. <tr>
  2509. <td>200</td>
  2510. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  2511. <td>200 response</td>
  2512. <td>Inline</td>
  2513. </tr>
  2514. </tbody>
  2515. </table>
  2516. <h3 id="new_board-responseschema">Response Schema</h3>
  2517. <p>Status Code <strong>200</strong></p>
  2518. <table>
  2519. <thead>
  2520. <tr>
  2521. <th>Name</th>
  2522. <th>Type</th>
  2523. <th>Required</th>
  2524. <th>Restrictions</th>
  2525. <th>Description</th>
  2526. </tr>
  2527. </thead>
  2528. <tbody>
  2529. <tr>
  2530. <td>» _id</td>
  2531. <td>string</td>
  2532. <td>false</td>
  2533. <td>none</td>
  2534. <td>none</td>
  2535. </tr>
  2536. <tr>
  2537. <td>» defaultSwimlaneId</td>
  2538. <td>string</td>
  2539. <td>false</td>
  2540. <td>none</td>
  2541. <td>none</td>
  2542. </tr>
  2543. </tbody>
  2544. </table>
  2545. <aside class="warning">
  2546. To perform this operation, you must be authenticated by means of one of the following methods:
  2547. UserSecurity
  2548. </aside>
  2549. <h2 id="get_board">get_board</h2>
  2550. <p><a id="opIdget_board"></a></p>
  2551. <blockquote>
  2552. <p>Code samples</p>
  2553. </blockquote>
  2554. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  2555. curl -X GET /api/boards/{board} \
  2556. -H <span class="hljs-string">'Accept: application/json'</span> \
  2557. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  2558. </code></pre>
  2559. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">GET</span> <span class="hljs-string">/api/boards/{board}</span> HTTP/1.1
  2560. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  2561. <span class="undefined"></span></span></code></pre>
  2562. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  2563. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  2564. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  2565. };
  2566. $.ajax({
  2567. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}'</span>,
  2568. <span class="hljs-attr">method</span>: <span class="hljs-string">'get'</span>,
  2569. <span class="hljs-attr">headers</span>: headers,
  2570. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  2571. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  2572. }
  2573. })
  2574. </code></pre>
  2575. <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>);
  2576. <span class="hljs-keyword">const</span> headers = {
  2577. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  2578. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  2579. };
  2580. fetch(<span class="hljs-string">'/api/boards/{board}'</span>,
  2581. {
  2582. <span class="hljs-attr">method</span>: <span class="hljs-string">'GET'</span>,
  2583. <span class="hljs-attr">headers</span>: headers
  2584. })
  2585. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  2586. <span class="hljs-keyword">return</span> res.json();
  2587. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  2588. <span class="hljs-built_in">console</span>.log(body);
  2589. });
  2590. </code></pre>
  2591. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  2592. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  2593. headers = {
  2594. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  2595. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  2596. }
  2597. result = RestClient.get <span class="hljs-string">'/api/boards/{board}'</span>,
  2598. <span class="hljs-symbol">params:</span> {
  2599. }, <span class="hljs-symbol">headers:</span> headers
  2600. p JSON.parse(result)
  2601. </code></pre>
  2602. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  2603. headers = {
  2604. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  2605. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  2606. }
  2607. r = requests.get(<span class="hljs-string">'/api/boards/{board}'</span>, params={
  2608. }, headers = headers)
  2609. <span class="hljs-keyword">print</span> r.json()
  2610. </code></pre>
  2611. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}"</span>);
  2612. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  2613. con.setRequestMethod(<span class="hljs-string">"GET"</span>);
  2614. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  2615. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  2616. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  2617. String inputLine;
  2618. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  2619. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  2620. response.append(inputLine);
  2621. }
  2622. in.close();
  2623. System.out.println(response.toString());
  2624. </code></pre>
  2625. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  2626. <span class="hljs-keyword">import</span> (
  2627. <span class="hljs-string">"bytes"</span>
  2628. <span class="hljs-string">"net/http"</span>
  2629. )
  2630. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  2631. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  2632. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  2633. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  2634. }
  2635. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  2636. req, err := http.NewRequest(<span class="hljs-string">"GET"</span>, <span class="hljs-string">"/api/boards/{board}"</span>, data)
  2637. req.Header = headers
  2638. client := &amp;http.Client{}
  2639. resp, err := client.Do(req)
  2640. <span class="hljs-comment">// ...</span>
  2641. }
  2642. </code></pre>
  2643. <p><code>GET /api/boards/{board}</code></p>
  2644. <p><em>Get the board with that particular ID</em></p>
  2645. <h3 id="get_board-parameters">Parameters</h3>
  2646. <table>
  2647. <thead>
  2648. <tr>
  2649. <th>Name</th>
  2650. <th>In</th>
  2651. <th>Type</th>
  2652. <th>Required</th>
  2653. <th>Description</th>
  2654. </tr>
  2655. </thead>
  2656. <tbody>
  2657. <tr>
  2658. <td>board</td>
  2659. <td>path</td>
  2660. <td>string</td>
  2661. <td>true</td>
  2662. <td>the ID of the board to retrieve the data</td>
  2663. </tr>
  2664. </tbody>
  2665. </table>
  2666. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  2667. <p><strong>board</strong>: the ID of the board to retrieve the data</p>
  2668. <blockquote>
  2669. <p>Example responses</p>
  2670. </blockquote>
  2671. <blockquote>
  2672. <p>200 Response</p>
  2673. </blockquote>
  2674. <pre class="highlight tab tab-json"><code>{
  2675. <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
  2676. <span class="hljs-attr">"slug"</span>: <span class="hljs-string">"string"</span>,
  2677. <span class="hljs-attr">"archived"</span>: <span class="hljs-literal">true</span>,
  2678. <span class="hljs-attr">"createdAt"</span>: <span class="hljs-string">"string"</span>,
  2679. <span class="hljs-attr">"modifiedAt"</span>: <span class="hljs-string">"string"</span>,
  2680. <span class="hljs-attr">"stars"</span>: <span class="hljs-number">0</span>,
  2681. <span class="hljs-attr">"labels"</span>: [
  2682. {
  2683. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>,
  2684. <span class="hljs-attr">"name"</span>: <span class="hljs-string">"string"</span>,
  2685. <span class="hljs-attr">"color"</span>: <span class="hljs-string">"green"</span>
  2686. }
  2687. ],
  2688. <span class="hljs-attr">"members"</span>: [
  2689. {
  2690. <span class="hljs-attr">"userId"</span>: <span class="hljs-string">"string"</span>,
  2691. <span class="hljs-attr">"isAdmin"</span>: <span class="hljs-literal">true</span>,
  2692. <span class="hljs-attr">"isActive"</span>: <span class="hljs-literal">true</span>,
  2693. <span class="hljs-attr">"isNoComments"</span>: <span class="hljs-literal">true</span>,
  2694. <span class="hljs-attr">"isCommentOnly"</span>: <span class="hljs-literal">true</span>,
  2695. <span class="hljs-attr">"isWorker"</span>: <span class="hljs-literal">true</span>
  2696. }
  2697. ],
  2698. <span class="hljs-attr">"permission"</span>: <span class="hljs-string">"public"</span>,
  2699. <span class="hljs-attr">"color"</span>: <span class="hljs-string">"belize"</span>,
  2700. <span class="hljs-attr">"description"</span>: <span class="hljs-string">"string"</span>,
  2701. <span class="hljs-attr">"subtasksDefaultBoardId"</span>: <span class="hljs-string">"string"</span>,
  2702. <span class="hljs-attr">"subtasksDefaultListId"</span>: <span class="hljs-string">"string"</span>,
  2703. <span class="hljs-attr">"dateSettingsDefaultBoardId"</span>: <span class="hljs-string">"string"</span>,
  2704. <span class="hljs-attr">"dateSettingsDefaultListId"</span>: <span class="hljs-string">"string"</span>,
  2705. <span class="hljs-attr">"allowsSubtasks"</span>: <span class="hljs-literal">true</span>,
  2706. <span class="hljs-attr">"allowsAttachments"</span>: <span class="hljs-literal">true</span>,
  2707. <span class="hljs-attr">"allowsChecklists"</span>: <span class="hljs-literal">true</span>,
  2708. <span class="hljs-attr">"allowsComments"</span>: <span class="hljs-literal">true</span>,
  2709. <span class="hljs-attr">"allowsDescriptionTitle"</span>: <span class="hljs-literal">true</span>,
  2710. <span class="hljs-attr">"allowsDescriptionText"</span>: <span class="hljs-literal">true</span>,
  2711. <span class="hljs-attr">"allowsActivities"</span>: <span class="hljs-literal">true</span>,
  2712. <span class="hljs-attr">"allowsLabels"</span>: <span class="hljs-literal">true</span>,
  2713. <span class="hljs-attr">"allowsAssignee"</span>: <span class="hljs-literal">true</span>,
  2714. <span class="hljs-attr">"allowsMembers"</span>: <span class="hljs-literal">true</span>,
  2715. <span class="hljs-attr">"allowsRequestedBy"</span>: <span class="hljs-literal">true</span>,
  2716. <span class="hljs-attr">"allowsAssignedBy"</span>: <span class="hljs-literal">true</span>,
  2717. <span class="hljs-attr">"allowsReceivedDate"</span>: <span class="hljs-literal">true</span>,
  2718. <span class="hljs-attr">"allowsStartDate"</span>: <span class="hljs-literal">true</span>,
  2719. <span class="hljs-attr">"allowsEndDate"</span>: <span class="hljs-literal">true</span>,
  2720. <span class="hljs-attr">"allowsDueDate"</span>: <span class="hljs-literal">true</span>,
  2721. <span class="hljs-attr">"presentParentTask"</span>: <span class="hljs-string">"prefix-with-full-path"</span>,
  2722. <span class="hljs-attr">"startAt"</span>: <span class="hljs-string">"string"</span>,
  2723. <span class="hljs-attr">"dueAt"</span>: <span class="hljs-string">"string"</span>,
  2724. <span class="hljs-attr">"endAt"</span>: <span class="hljs-string">"string"</span>,
  2725. <span class="hljs-attr">"spentTime"</span>: <span class="hljs-number">0</span>,
  2726. <span class="hljs-attr">"isOvertime"</span>: <span class="hljs-literal">true</span>,
  2727. <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>,
  2728. <span class="hljs-attr">"sort"</span>: <span class="hljs-number">0</span>
  2729. }
  2730. </code></pre>
  2731. <h3 id="get_board-responses">Responses</h3>
  2732. <table>
  2733. <thead>
  2734. <tr>
  2735. <th>Status</th>
  2736. <th>Meaning</th>
  2737. <th>Description</th>
  2738. <th>Schema</th>
  2739. </tr>
  2740. </thead>
  2741. <tbody>
  2742. <tr>
  2743. <td>200</td>
  2744. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  2745. <td>200 response</td>
  2746. <td><a href="#schemaboards">Boards</a></td>
  2747. </tr>
  2748. </tbody>
  2749. </table>
  2750. <aside class="warning">
  2751. To perform this operation, you must be authenticated by means of one of the following methods:
  2752. UserSecurity
  2753. </aside>
  2754. <h2 id="delete_board">delete_board</h2>
  2755. <p><a id="opIddelete_board"></a></p>
  2756. <blockquote>
  2757. <p>Code samples</p>
  2758. </blockquote>
  2759. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  2760. curl -X DELETE /api/boards/{board} \
  2761. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  2762. </code></pre>
  2763. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">DELETE</span> <span class="hljs-string">/api/boards/{board}</span> HTTP/1.1
  2764. <span class="undefined"></span></code></pre>
  2765. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  2766. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  2767. };
  2768. $.ajax({
  2769. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}'</span>,
  2770. <span class="hljs-attr">method</span>: <span class="hljs-string">'delete'</span>,
  2771. <span class="hljs-attr">headers</span>: headers,
  2772. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  2773. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  2774. }
  2775. })
  2776. </code></pre>
  2777. <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>);
  2778. <span class="hljs-keyword">const</span> headers = {
  2779. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  2780. };
  2781. fetch(<span class="hljs-string">'/api/boards/{board}'</span>,
  2782. {
  2783. <span class="hljs-attr">method</span>: <span class="hljs-string">'DELETE'</span>,
  2784. <span class="hljs-attr">headers</span>: headers
  2785. })
  2786. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  2787. <span class="hljs-keyword">return</span> res.json();
  2788. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  2789. <span class="hljs-built_in">console</span>.log(body);
  2790. });
  2791. </code></pre>
  2792. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  2793. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  2794. headers = {
  2795. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  2796. }
  2797. result = RestClient.delete <span class="hljs-string">'/api/boards/{board}'</span>,
  2798. <span class="hljs-symbol">params:</span> {
  2799. }, <span class="hljs-symbol">headers:</span> headers
  2800. p JSON.parse(result)
  2801. </code></pre>
  2802. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  2803. headers = {
  2804. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  2805. }
  2806. r = requests.delete(<span class="hljs-string">'/api/boards/{board}'</span>, params={
  2807. }, headers = headers)
  2808. <span class="hljs-keyword">print</span> r.json()
  2809. </code></pre>
  2810. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}"</span>);
  2811. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  2812. con.setRequestMethod(<span class="hljs-string">"DELETE"</span>);
  2813. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  2814. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  2815. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  2816. String inputLine;
  2817. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  2818. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  2819. response.append(inputLine);
  2820. }
  2821. in.close();
  2822. System.out.println(response.toString());
  2823. </code></pre>
  2824. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  2825. <span class="hljs-keyword">import</span> (
  2826. <span class="hljs-string">"bytes"</span>
  2827. <span class="hljs-string">"net/http"</span>
  2828. )
  2829. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  2830. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  2831. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  2832. }
  2833. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  2834. req, err := http.NewRequest(<span class="hljs-string">"DELETE"</span>, <span class="hljs-string">"/api/boards/{board}"</span>, data)
  2835. req.Header = headers
  2836. client := &amp;http.Client{}
  2837. resp, err := client.Do(req)
  2838. <span class="hljs-comment">// ...</span>
  2839. }
  2840. </code></pre>
  2841. <p><code>DELETE /api/boards/{board}</code></p>
  2842. <p><em>Delete a board</em></p>
  2843. <h3 id="delete_board-parameters">Parameters</h3>
  2844. <table>
  2845. <thead>
  2846. <tr>
  2847. <th>Name</th>
  2848. <th>In</th>
  2849. <th>Type</th>
  2850. <th>Required</th>
  2851. <th>Description</th>
  2852. </tr>
  2853. </thead>
  2854. <tbody>
  2855. <tr>
  2856. <td>board</td>
  2857. <td>path</td>
  2858. <td>string</td>
  2859. <td>true</td>
  2860. <td>the ID of the board</td>
  2861. </tr>
  2862. </tbody>
  2863. </table>
  2864. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  2865. <p><strong>board</strong>: the ID of the board</p>
  2866. <h3 id="delete_board-responses">Responses</h3>
  2867. <table>
  2868. <thead>
  2869. <tr>
  2870. <th>Status</th>
  2871. <th>Meaning</th>
  2872. <th>Description</th>
  2873. <th>Schema</th>
  2874. </tr>
  2875. </thead>
  2876. <tbody>
  2877. <tr>
  2878. <td>200</td>
  2879. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  2880. <td>200 response</td>
  2881. <td>None</td>
  2882. </tr>
  2883. </tbody>
  2884. </table>
  2885. <aside class="warning">
  2886. To perform this operation, you must be authenticated by means of one of the following methods:
  2887. UserSecurity
  2888. </aside>
  2889. <h2 id="export">export</h2>
  2890. <p><a id="opIdexport"></a></p>
  2891. <blockquote>
  2892. <p>Code samples</p>
  2893. </blockquote>
  2894. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  2895. curl -X GET /api/boards/{board}/<span class="hljs-built_in">export</span> \
  2896. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  2897. </code></pre>
  2898. <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
  2899. <span class="undefined"></span></code></pre>
  2900. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  2901. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  2902. };
  2903. $.ajax({
  2904. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/export'</span>,
  2905. <span class="hljs-attr">method</span>: <span class="hljs-string">'get'</span>,
  2906. <span class="hljs-attr">headers</span>: headers,
  2907. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  2908. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  2909. }
  2910. })
  2911. </code></pre>
  2912. <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>);
  2913. <span class="hljs-keyword">const</span> headers = {
  2914. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  2915. };
  2916. fetch(<span class="hljs-string">'/api/boards/{board}/export'</span>,
  2917. {
  2918. <span class="hljs-attr">method</span>: <span class="hljs-string">'GET'</span>,
  2919. <span class="hljs-attr">headers</span>: headers
  2920. })
  2921. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  2922. <span class="hljs-keyword">return</span> res.json();
  2923. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  2924. <span class="hljs-built_in">console</span>.log(body);
  2925. });
  2926. </code></pre>
  2927. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  2928. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  2929. headers = {
  2930. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  2931. }
  2932. result = RestClient.get <span class="hljs-string">'/api/boards/{board}/export'</span>,
  2933. <span class="hljs-symbol">params:</span> {
  2934. }, <span class="hljs-symbol">headers:</span> headers
  2935. p JSON.parse(result)
  2936. </code></pre>
  2937. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  2938. headers = {
  2939. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  2940. }
  2941. r = requests.get(<span class="hljs-string">'/api/boards/{board}/export'</span>, params={
  2942. }, headers = headers)
  2943. <span class="hljs-keyword">print</span> r.json()
  2944. </code></pre>
  2945. <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>);
  2946. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  2947. con.setRequestMethod(<span class="hljs-string">"GET"</span>);
  2948. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  2949. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  2950. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  2951. String inputLine;
  2952. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  2953. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  2954. response.append(inputLine);
  2955. }
  2956. in.close();
  2957. System.out.println(response.toString());
  2958. </code></pre>
  2959. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  2960. <span class="hljs-keyword">import</span> (
  2961. <span class="hljs-string">"bytes"</span>
  2962. <span class="hljs-string">"net/http"</span>
  2963. )
  2964. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  2965. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  2966. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  2967. }
  2968. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  2969. req, err := http.NewRequest(<span class="hljs-string">"GET"</span>, <span class="hljs-string">"/api/boards/{board}/export"</span>, data)
  2970. req.Header = headers
  2971. client := &amp;http.Client{}
  2972. resp, err := client.Do(req)
  2973. <span class="hljs-comment">// ...</span>
  2974. }
  2975. </code></pre>
  2976. <p><code>GET /api/boards/{board}/export</code></p>
  2977. <p><em>This route is used to export the board.</em></p>
  2978. <p>If user is already logged-in, pass loginToken as param
  2979. &quot;authToken&quot;: '/api/boards/:boardId/export?authToken=:token'</p>
  2980. <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>
  2981. for detailed explanations</p>
  2982. <h3 id="export-parameters">Parameters</h3>
  2983. <table>
  2984. <thead>
  2985. <tr>
  2986. <th>Name</th>
  2987. <th>In</th>
  2988. <th>Type</th>
  2989. <th>Required</th>
  2990. <th>Description</th>
  2991. </tr>
  2992. </thead>
  2993. <tbody>
  2994. <tr>
  2995. <td>board</td>
  2996. <td>path</td>
  2997. <td>string</td>
  2998. <td>true</td>
  2999. <td>the ID of the board we are exporting</td>
  3000. </tr>
  3001. </tbody>
  3002. </table>
  3003. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  3004. <p><strong>board</strong>: the ID of the board we are exporting</p>
  3005. <h3 id="export-responses">Responses</h3>
  3006. <table>
  3007. <thead>
  3008. <tr>
  3009. <th>Status</th>
  3010. <th>Meaning</th>
  3011. <th>Description</th>
  3012. <th>Schema</th>
  3013. </tr>
  3014. </thead>
  3015. <tbody>
  3016. <tr>
  3017. <td>200</td>
  3018. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  3019. <td>200 response</td>
  3020. <td>None</td>
  3021. </tr>
  3022. </tbody>
  3023. </table>
  3024. <aside class="warning">
  3025. To perform this operation, you must be authenticated by means of one of the following methods:
  3026. UserSecurity
  3027. </aside>
  3028. <h2 id="add_board_label">add_board_label</h2>
  3029. <p><a id="opIdadd_board_label"></a></p>
  3030. <blockquote>
  3031. <p>Code samples</p>
  3032. </blockquote>
  3033. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  3034. curl -X PUT /api/boards/{board}/labels \
  3035. -H <span class="hljs-string">'Content-Type: multipart/form-data'</span> \
  3036. -H <span class="hljs-string">'Accept: application/json'</span> \
  3037. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  3038. </code></pre>
  3039. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">PUT</span> <span class="hljs-string">/api/boards/{board}/labels</span> HTTP/1.1
  3040. <span class="fortran">Content-<span class="hljs-keyword">Type</span>: multipart/<span class="hljs-keyword">form</span>-<span class="hljs-keyword">data</span>
  3041. Accept: application/json
  3042. </span></code></pre>
  3043. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  3044. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  3045. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  3046. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  3047. };
  3048. $.ajax({
  3049. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/labels'</span>,
  3050. <span class="hljs-attr">method</span>: <span class="hljs-string">'put'</span>,
  3051. <span class="hljs-attr">headers</span>: headers,
  3052. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  3053. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  3054. }
  3055. })
  3056. </code></pre>
  3057. <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>);
  3058. <span class="hljs-keyword">const</span> inputBody = <span class="hljs-string">'{
  3059. "label": "string"
  3060. }'</span>;
  3061. <span class="hljs-keyword">const</span> headers = {
  3062. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  3063. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  3064. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  3065. };
  3066. fetch(<span class="hljs-string">'/api/boards/{board}/labels'</span>,
  3067. {
  3068. <span class="hljs-attr">method</span>: <span class="hljs-string">'PUT'</span>,
  3069. <span class="hljs-attr">body</span>: inputBody,
  3070. <span class="hljs-attr">headers</span>: headers
  3071. })
  3072. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  3073. <span class="hljs-keyword">return</span> res.json();
  3074. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  3075. <span class="hljs-built_in">console</span>.log(body);
  3076. });
  3077. </code></pre>
  3078. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  3079. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  3080. headers = {
  3081. <span class="hljs-string">'Content-Type'</span> =&gt; <span class="hljs-string">'multipart/form-data'</span>,
  3082. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  3083. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  3084. }
  3085. result = RestClient.put <span class="hljs-string">'/api/boards/{board}/labels'</span>,
  3086. <span class="hljs-symbol">params:</span> {
  3087. }, <span class="hljs-symbol">headers:</span> headers
  3088. p JSON.parse(result)
  3089. </code></pre>
  3090. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  3091. headers = {
  3092. <span class="hljs-string">'Content-Type'</span>: <span class="hljs-string">'multipart/form-data'</span>,
  3093. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  3094. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  3095. }
  3096. r = requests.put(<span class="hljs-string">'/api/boards/{board}/labels'</span>, params={
  3097. }, headers = headers)
  3098. <span class="hljs-keyword">print</span> r.json()
  3099. </code></pre>
  3100. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/labels"</span>);
  3101. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  3102. con.setRequestMethod(<span class="hljs-string">"PUT"</span>);
  3103. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  3104. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  3105. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  3106. String inputLine;
  3107. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  3108. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  3109. response.append(inputLine);
  3110. }
  3111. in.close();
  3112. System.out.println(response.toString());
  3113. </code></pre>
  3114. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  3115. <span class="hljs-keyword">import</span> (
  3116. <span class="hljs-string">"bytes"</span>
  3117. <span class="hljs-string">"net/http"</span>
  3118. )
  3119. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  3120. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  3121. <span class="hljs-string">"Content-Type"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"multipart/form-data"</span>},
  3122. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  3123. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  3124. }
  3125. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  3126. req, err := http.NewRequest(<span class="hljs-string">"PUT"</span>, <span class="hljs-string">"/api/boards/{board}/labels"</span>, data)
  3127. req.Header = headers
  3128. client := &amp;http.Client{}
  3129. resp, err := client.Do(req)
  3130. <span class="hljs-comment">// ...</span>
  3131. }
  3132. </code></pre>
  3133. <p><code>PUT /api/boards/{board}/labels</code></p>
  3134. <p><em>Add a label to a board</em></p>
  3135. <p>If the board doesn't have the name/color label, this function
  3136. adds the label to the board.</p>
  3137. <blockquote>
  3138. <p>Body parameter</p>
  3139. </blockquote>
  3140. <pre class="highlight tab tab-yaml"><code><span class="hljs-attr">label:</span> <span class="hljs-string">string</span>
  3141. </code></pre>
  3142. <h3 id="add_board_label-parameters">Parameters</h3>
  3143. <table>
  3144. <thead>
  3145. <tr>
  3146. <th>Name</th>
  3147. <th>In</th>
  3148. <th>Type</th>
  3149. <th>Required</th>
  3150. <th>Description</th>
  3151. </tr>
  3152. </thead>
  3153. <tbody>
  3154. <tr>
  3155. <td>board</td>
  3156. <td>path</td>
  3157. <td>string</td>
  3158. <td>true</td>
  3159. <td>the board</td>
  3160. </tr>
  3161. <tr>
  3162. <td>body</td>
  3163. <td>body</td>
  3164. <td>object</td>
  3165. <td>false</td>
  3166. <td>none</td>
  3167. </tr>
  3168. <tr>
  3169. <td>» label</td>
  3170. <td>body</td>
  3171. <td>string</td>
  3172. <td>true</td>
  3173. <td>the label value</td>
  3174. </tr>
  3175. </tbody>
  3176. </table>
  3177. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  3178. <p><strong>board</strong>: the board</p>
  3179. <blockquote>
  3180. <p>Example responses</p>
  3181. </blockquote>
  3182. <blockquote>
  3183. <p>200 Response</p>
  3184. </blockquote>
  3185. <pre class="highlight tab tab-json"><code><span class="hljs-string">"string"</span>
  3186. </code></pre>
  3187. <h3 id="add_board_label-responses">Responses</h3>
  3188. <table>
  3189. <thead>
  3190. <tr>
  3191. <th>Status</th>
  3192. <th>Meaning</th>
  3193. <th>Description</th>
  3194. <th>Schema</th>
  3195. </tr>
  3196. </thead>
  3197. <tbody>
  3198. <tr>
  3199. <td>200</td>
  3200. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  3201. <td>200 response</td>
  3202. <td>string</td>
  3203. </tr>
  3204. </tbody>
  3205. </table>
  3206. <aside class="warning">
  3207. To perform this operation, you must be authenticated by means of one of the following methods:
  3208. UserSecurity
  3209. </aside>
  3210. <h2 id="set_board_member_permission">set_board_member_permission</h2>
  3211. <p><a id="opIdset_board_member_permission"></a></p>
  3212. <blockquote>
  3213. <p>Code samples</p>
  3214. </blockquote>
  3215. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  3216. curl -X POST /api/boards/{board}/members/{member} \
  3217. -H <span class="hljs-string">'Content-Type: multipart/form-data'</span> \
  3218. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  3219. </code></pre>
  3220. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">POST</span> <span class="hljs-string">/api/boards/{board}/members/{member}</span> HTTP/1.1
  3221. <span class="fortran">Content-<span class="hljs-keyword">Type</span>: multipart/<span class="hljs-keyword">form</span>-<span class="hljs-keyword">data</span>
  3222. </span></code></pre>
  3223. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  3224. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  3225. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  3226. };
  3227. $.ajax({
  3228. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/members/{member}'</span>,
  3229. <span class="hljs-attr">method</span>: <span class="hljs-string">'post'</span>,
  3230. <span class="hljs-attr">headers</span>: headers,
  3231. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  3232. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  3233. }
  3234. })
  3235. </code></pre>
  3236. <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>);
  3237. <span class="hljs-keyword">const</span> inputBody = <span class="hljs-string">'{
  3238. "isAdmin": true,
  3239. "isNoComments": true,
  3240. "isCommentOnly": true,
  3241. "isWorker": true
  3242. }'</span>;
  3243. <span class="hljs-keyword">const</span> headers = {
  3244. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  3245. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  3246. };
  3247. fetch(<span class="hljs-string">'/api/boards/{board}/members/{member}'</span>,
  3248. {
  3249. <span class="hljs-attr">method</span>: <span class="hljs-string">'POST'</span>,
  3250. <span class="hljs-attr">body</span>: inputBody,
  3251. <span class="hljs-attr">headers</span>: headers
  3252. })
  3253. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  3254. <span class="hljs-keyword">return</span> res.json();
  3255. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  3256. <span class="hljs-built_in">console</span>.log(body);
  3257. });
  3258. </code></pre>
  3259. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  3260. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  3261. headers = {
  3262. <span class="hljs-string">'Content-Type'</span> =&gt; <span class="hljs-string">'multipart/form-data'</span>,
  3263. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  3264. }
  3265. result = RestClient.post <span class="hljs-string">'/api/boards/{board}/members/{member}'</span>,
  3266. <span class="hljs-symbol">params:</span> {
  3267. }, <span class="hljs-symbol">headers:</span> headers
  3268. p JSON.parse(result)
  3269. </code></pre>
  3270. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  3271. headers = {
  3272. <span class="hljs-string">'Content-Type'</span>: <span class="hljs-string">'multipart/form-data'</span>,
  3273. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  3274. }
  3275. r = requests.post(<span class="hljs-string">'/api/boards/{board}/members/{member}'</span>, params={
  3276. }, headers = headers)
  3277. <span class="hljs-keyword">print</span> r.json()
  3278. </code></pre>
  3279. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/members/{member}"</span>);
  3280. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  3281. con.setRequestMethod(<span class="hljs-string">"POST"</span>);
  3282. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  3283. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  3284. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  3285. String inputLine;
  3286. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  3287. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  3288. response.append(inputLine);
  3289. }
  3290. in.close();
  3291. System.out.println(response.toString());
  3292. </code></pre>
  3293. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  3294. <span class="hljs-keyword">import</span> (
  3295. <span class="hljs-string">"bytes"</span>
  3296. <span class="hljs-string">"net/http"</span>
  3297. )
  3298. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  3299. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  3300. <span class="hljs-string">"Content-Type"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"multipart/form-data"</span>},
  3301. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  3302. }
  3303. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  3304. req, err := http.NewRequest(<span class="hljs-string">"POST"</span>, <span class="hljs-string">"/api/boards/{board}/members/{member}"</span>, data)
  3305. req.Header = headers
  3306. client := &amp;http.Client{}
  3307. resp, err := client.Do(req)
  3308. <span class="hljs-comment">// ...</span>
  3309. }
  3310. </code></pre>
  3311. <p><code>POST /api/boards/{board}/members/{member}</code></p>
  3312. <p><em>Change the permission of a member of a board</em></p>
  3313. <blockquote>
  3314. <p>Body parameter</p>
  3315. </blockquote>
  3316. <pre class="highlight tab tab-yaml"><code><span class="hljs-attr">isAdmin:</span> <span class="hljs-literal">true</span>
  3317. <span class="hljs-attr">isNoComments:</span> <span class="hljs-literal">true</span>
  3318. <span class="hljs-attr">isCommentOnly:</span> <span class="hljs-literal">true</span>
  3319. <span class="hljs-attr">isWorker:</span> <span class="hljs-literal">true</span>
  3320. </code></pre>
  3321. <h3 id="set_board_member_permission-parameters">Parameters</h3>
  3322. <table>
  3323. <thead>
  3324. <tr>
  3325. <th>Name</th>
  3326. <th>In</th>
  3327. <th>Type</th>
  3328. <th>Required</th>
  3329. <th>Description</th>
  3330. </tr>
  3331. </thead>
  3332. <tbody>
  3333. <tr>
  3334. <td>board</td>
  3335. <td>path</td>
  3336. <td>string</td>
  3337. <td>true</td>
  3338. <td>the ID of the board that we are changing</td>
  3339. </tr>
  3340. <tr>
  3341. <td>member</td>
  3342. <td>path</td>
  3343. <td>string</td>
  3344. <td>true</td>
  3345. <td>the ID of the user to change permissions</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>» isAdmin</td>
  3356. <td>body</td>
  3357. <td>boolean</td>
  3358. <td>true</td>
  3359. <td>admin capability</td>
  3360. </tr>
  3361. <tr>
  3362. <td>» isNoComments</td>
  3363. <td>body</td>
  3364. <td>boolean</td>
  3365. <td>true</td>
  3366. <td>NoComments capability</td>
  3367. </tr>
  3368. <tr>
  3369. <td>» isCommentOnly</td>
  3370. <td>body</td>
  3371. <td>boolean</td>
  3372. <td>true</td>
  3373. <td>CommentsOnly capability</td>
  3374. </tr>
  3375. <tr>
  3376. <td>» isWorker</td>
  3377. <td>body</td>
  3378. <td>boolean</td>
  3379. <td>true</td>
  3380. <td>Worker capability</td>
  3381. </tr>
  3382. </tbody>
  3383. </table>
  3384. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  3385. <p><strong>board</strong>: the ID of the board that we are changing</p>
  3386. <p><strong>member</strong>: the ID of the user to change permissions</p>
  3387. <h3 id="set_board_member_permission-responses">Responses</h3>
  3388. <table>
  3389. <thead>
  3390. <tr>
  3391. <th>Status</th>
  3392. <th>Meaning</th>
  3393. <th>Description</th>
  3394. <th>Schema</th>
  3395. </tr>
  3396. </thead>
  3397. <tbody>
  3398. <tr>
  3399. <td>200</td>
  3400. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  3401. <td>200 response</td>
  3402. <td>None</td>
  3403. </tr>
  3404. </tbody>
  3405. </table>
  3406. <aside class="warning">
  3407. To perform this operation, you must be authenticated by means of one of the following methods:
  3408. UserSecurity
  3409. </aside>
  3410. <h2 id="get_boards_from_user">get_boards_from_user</h2>
  3411. <p><a id="opIdget_boards_from_user"></a></p>
  3412. <blockquote>
  3413. <p>Code samples</p>
  3414. </blockquote>
  3415. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  3416. curl -X GET /api/users/{user}/boards \
  3417. -H <span class="hljs-string">'Accept: application/json'</span> \
  3418. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  3419. </code></pre>
  3420. <pre class="highlight tab tab-http"><code><span class="hljs-keyword">GET</span> <span class="hljs-string">/api/users/{user}/boards</span> HTTP/1.1
  3421. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  3422. <span class="undefined"></span></span></code></pre>
  3423. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  3424. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  3425. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  3426. };
  3427. $.ajax({
  3428. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/users/{user}/boards'</span>,
  3429. <span class="hljs-attr">method</span>: <span class="hljs-string">'get'</span>,
  3430. <span class="hljs-attr">headers</span>: headers,
  3431. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  3432. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  3433. }
  3434. })
  3435. </code></pre>
  3436. <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>);
  3437. <span class="hljs-keyword">const</span> headers = {
  3438. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  3439. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  3440. };
  3441. fetch(<span class="hljs-string">'/api/users/{user}/boards'</span>,
  3442. {
  3443. <span class="hljs-attr">method</span>: <span class="hljs-string">'GET'</span>,
  3444. <span class="hljs-attr">headers</span>: headers
  3445. })
  3446. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  3447. <span class="hljs-keyword">return</span> res.json();
  3448. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  3449. <span class="hljs-built_in">console</span>.log(body);
  3450. });
  3451. </code></pre>
  3452. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  3453. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  3454. headers = {
  3455. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  3456. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  3457. }
  3458. result = RestClient.get <span class="hljs-string">'/api/users/{user}/boards'</span>,
  3459. <span class="hljs-symbol">params:</span> {
  3460. }, <span class="hljs-symbol">headers:</span> headers
  3461. p JSON.parse(result)
  3462. </code></pre>
  3463. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  3464. headers = {
  3465. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  3466. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  3467. }
  3468. r = requests.get(<span class="hljs-string">'/api/users/{user}/boards'</span>, params={
  3469. }, headers = headers)
  3470. <span class="hljs-keyword">print</span> r.json()
  3471. </code></pre>
  3472. <pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/users/{user}/boards"</span>);
  3473. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  3474. con.setRequestMethod(<span class="hljs-string">"GET"</span>);
  3475. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  3476. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  3477. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  3478. String inputLine;
  3479. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  3480. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  3481. response.append(inputLine);
  3482. }
  3483. in.close();
  3484. System.out.println(response.toString());
  3485. </code></pre>
  3486. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  3487. <span class="hljs-keyword">import</span> (
  3488. <span class="hljs-string">"bytes"</span>
  3489. <span class="hljs-string">"net/http"</span>
  3490. )
  3491. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  3492. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  3493. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  3494. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  3495. }
  3496. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  3497. req, err := http.NewRequest(<span class="hljs-string">"GET"</span>, <span class="hljs-string">"/api/users/{user}/boards"</span>, data)
  3498. req.Header = headers
  3499. client := &amp;http.Client{}
  3500. resp, err := client.Do(req)
  3501. <span class="hljs-comment">// ...</span>
  3502. }
  3503. </code></pre>
  3504. <p><code>GET /api/users/{user}/boards</code></p>
  3505. <p><em>Get all boards attached to a user</em></p>
  3506. <h3 id="get_boards_from_user-parameters">Parameters</h3>
  3507. <table>
  3508. <thead>
  3509. <tr>
  3510. <th>Name</th>
  3511. <th>In</th>
  3512. <th>Type</th>
  3513. <th>Required</th>
  3514. <th>Description</th>
  3515. </tr>
  3516. </thead>
  3517. <tbody>
  3518. <tr>
  3519. <td>user</td>
  3520. <td>path</td>
  3521. <td>string</td>
  3522. <td>true</td>
  3523. <td>the ID of the user to retrieve the data</td>
  3524. </tr>
  3525. </tbody>
  3526. </table>
  3527. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  3528. <p><strong>user</strong>: the ID of the user to retrieve the data</p>
  3529. <blockquote>
  3530. <p>Example responses</p>
  3531. </blockquote>
  3532. <blockquote>
  3533. <p>200 Response</p>
  3534. </blockquote>
  3535. <pre class="highlight tab tab-json"><code>[
  3536. {
  3537. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>,
  3538. <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>
  3539. }
  3540. ]
  3541. </code></pre>
  3542. <h3 id="get_boards_from_user-responses">Responses</h3>
  3543. <table>
  3544. <thead>
  3545. <tr>
  3546. <th>Status</th>
  3547. <th>Meaning</th>
  3548. <th>Description</th>
  3549. <th>Schema</th>
  3550. </tr>
  3551. </thead>
  3552. <tbody>
  3553. <tr>
  3554. <td>200</td>
  3555. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  3556. <td>200 response</td>
  3557. <td>Inline</td>
  3558. </tr>
  3559. </tbody>
  3560. </table>
  3561. <h3 id="get_boards_from_user-responseschema">Response Schema</h3>
  3562. <p>Status Code <strong>200</strong></p>
  3563. <table>
  3564. <thead>
  3565. <tr>
  3566. <th>Name</th>
  3567. <th>Type</th>
  3568. <th>Required</th>
  3569. <th>Restrictions</th>
  3570. <th>Description</th>
  3571. </tr>
  3572. </thead>
  3573. <tbody>
  3574. <tr>
  3575. <td>» _id</td>
  3576. <td>string</td>
  3577. <td>false</td>
  3578. <td>none</td>
  3579. <td>none</td>
  3580. </tr>
  3581. <tr>
  3582. <td>» title</td>
  3583. <td>string</td>
  3584. <td>false</td>
  3585. <td>none</td>
  3586. <td>none</td>
  3587. </tr>
  3588. </tbody>
  3589. </table>
  3590. <aside class="warning">
  3591. To perform this operation, you must be authenticated by means of one of the following methods:
  3592. UserSecurity
  3593. </aside>
  3594. <h1 id="wekan-rest-api-checklists">Checklists</h1>
  3595. <h2 id="get_board_card_checklists">get_board_card_checklists</h2>
  3596. <p><a id="opIdget_board_card_checklists"></a></p>
  3597. <blockquote>
  3598. <p>Code samples</p>
  3599. </blockquote>
  3600. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  3601. curl -X GET /api/boards/{board}/cards/{card}/checklists \
  3602. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  3603. </code></pre>
  3604. <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
  3605. <span class="undefined"></span></code></pre>
  3606. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  3607. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  3608. };
  3609. $.ajax({
  3610. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists'</span>,
  3611. <span class="hljs-attr">method</span>: <span class="hljs-string">'get'</span>,
  3612. <span class="hljs-attr">headers</span>: headers,
  3613. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  3614. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  3615. }
  3616. })
  3617. </code></pre>
  3618. <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>);
  3619. <span class="hljs-keyword">const</span> headers = {
  3620. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  3621. };
  3622. fetch(<span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists'</span>,
  3623. {
  3624. <span class="hljs-attr">method</span>: <span class="hljs-string">'GET'</span>,
  3625. <span class="hljs-attr">headers</span>: headers
  3626. })
  3627. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  3628. <span class="hljs-keyword">return</span> res.json();
  3629. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  3630. <span class="hljs-built_in">console</span>.log(body);
  3631. });
  3632. </code></pre>
  3633. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  3634. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  3635. headers = {
  3636. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  3637. }
  3638. result = RestClient.get <span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists'</span>,
  3639. <span class="hljs-symbol">params:</span> {
  3640. }, <span class="hljs-symbol">headers:</span> headers
  3641. p JSON.parse(result)
  3642. </code></pre>
  3643. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  3644. headers = {
  3645. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  3646. }
  3647. r = requests.get(<span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists'</span>, params={
  3648. }, headers = headers)
  3649. <span class="hljs-keyword">print</span> r.json()
  3650. </code></pre>
  3651. <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>);
  3652. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  3653. con.setRequestMethod(<span class="hljs-string">"GET"</span>);
  3654. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  3655. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  3656. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  3657. String inputLine;
  3658. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  3659. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  3660. response.append(inputLine);
  3661. }
  3662. in.close();
  3663. System.out.println(response.toString());
  3664. </code></pre>
  3665. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  3666. <span class="hljs-keyword">import</span> (
  3667. <span class="hljs-string">"bytes"</span>
  3668. <span class="hljs-string">"net/http"</span>
  3669. )
  3670. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  3671. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  3672. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  3673. }
  3674. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  3675. req, err := http.NewRequest(<span class="hljs-string">"GET"</span>, <span class="hljs-string">"/api/boards/{board}/cards/{card}/checklists"</span>, data)
  3676. req.Header = headers
  3677. client := &amp;http.Client{}
  3678. resp, err := client.Do(req)
  3679. <span class="hljs-comment">// ...</span>
  3680. }
  3681. </code></pre>
  3682. <p><code>GET /api/boards/{board}/cards/{card}/checklists</code></p>
  3683. <h3 id="get_board_card_checklists-parameters">Parameters</h3>
  3684. <table>
  3685. <thead>
  3686. <tr>
  3687. <th>Name</th>
  3688. <th>In</th>
  3689. <th>Type</th>
  3690. <th>Required</th>
  3691. <th>Description</th>
  3692. </tr>
  3693. </thead>
  3694. <tbody>
  3695. <tr>
  3696. <td>board</td>
  3697. <td>path</td>
  3698. <td>string</td>
  3699. <td>true</td>
  3700. <td>the board value</td>
  3701. </tr>
  3702. <tr>
  3703. <td>card</td>
  3704. <td>path</td>
  3705. <td>string</td>
  3706. <td>true</td>
  3707. <td>the card value</td>
  3708. </tr>
  3709. </tbody>
  3710. </table>
  3711. <h3 id="get_board_card_checklists-responses">Responses</h3>
  3712. <table>
  3713. <thead>
  3714. <tr>
  3715. <th>Status</th>
  3716. <th>Meaning</th>
  3717. <th>Description</th>
  3718. <th>Schema</th>
  3719. </tr>
  3720. </thead>
  3721. <tbody>
  3722. <tr>
  3723. <td>200</td>
  3724. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  3725. <td>200 response</td>
  3726. <td>None</td>
  3727. </tr>
  3728. </tbody>
  3729. </table>
  3730. <aside class="warning">
  3731. To perform this operation, you must be authenticated by means of one of the following methods:
  3732. UserSecurity
  3733. </aside>
  3734. <h2 id="post_board_card_checklists">post_board_card_checklists</h2>
  3735. <p><a id="opIdpost_board_card_checklists"></a></p>
  3736. <blockquote>
  3737. <p>Code samples</p>
  3738. </blockquote>
  3739. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  3740. curl -X POST /api/boards/{board}/cards/{card}/checklists \
  3741. -H <span class="hljs-string">'Content-Type: multipart/form-data'</span> \
  3742. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  3743. </code></pre>
  3744. <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
  3745. <span class="fortran">Content-<span class="hljs-keyword">Type</span>: multipart/<span class="hljs-keyword">form</span>-<span class="hljs-keyword">data</span>
  3746. </span></code></pre>
  3747. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  3748. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  3749. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  3750. };
  3751. $.ajax({
  3752. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists'</span>,
  3753. <span class="hljs-attr">method</span>: <span class="hljs-string">'post'</span>,
  3754. <span class="hljs-attr">headers</span>: headers,
  3755. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  3756. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  3757. }
  3758. })
  3759. </code></pre>
  3760. <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>);
  3761. <span class="hljs-keyword">const</span> inputBody = <span class="hljs-string">'{
  3762. "title": "string",
  3763. "items": "string"
  3764. }'</span>;
  3765. <span class="hljs-keyword">const</span> headers = {
  3766. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  3767. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  3768. };
  3769. fetch(<span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists'</span>,
  3770. {
  3771. <span class="hljs-attr">method</span>: <span class="hljs-string">'POST'</span>,
  3772. <span class="hljs-attr">body</span>: inputBody,
  3773. <span class="hljs-attr">headers</span>: headers
  3774. })
  3775. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  3776. <span class="hljs-keyword">return</span> res.json();
  3777. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  3778. <span class="hljs-built_in">console</span>.log(body);
  3779. });
  3780. </code></pre>
  3781. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  3782. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  3783. headers = {
  3784. <span class="hljs-string">'Content-Type'</span> =&gt; <span class="hljs-string">'multipart/form-data'</span>,
  3785. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  3786. }
  3787. result = RestClient.post <span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists'</span>,
  3788. <span class="hljs-symbol">params:</span> {
  3789. }, <span class="hljs-symbol">headers:</span> headers
  3790. p JSON.parse(result)
  3791. </code></pre>
  3792. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  3793. headers = {
  3794. <span class="hljs-string">'Content-Type'</span>: <span class="hljs-string">'multipart/form-data'</span>,
  3795. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  3796. }
  3797. r = requests.post(<span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists'</span>, params={
  3798. }, headers = headers)
  3799. <span class="hljs-keyword">print</span> r.json()
  3800. </code></pre>
  3801. <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>);
  3802. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  3803. con.setRequestMethod(<span class="hljs-string">"POST"</span>);
  3804. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  3805. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  3806. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  3807. String inputLine;
  3808. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  3809. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  3810. response.append(inputLine);
  3811. }
  3812. in.close();
  3813. System.out.println(response.toString());
  3814. </code></pre>
  3815. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  3816. <span class="hljs-keyword">import</span> (
  3817. <span class="hljs-string">"bytes"</span>
  3818. <span class="hljs-string">"net/http"</span>
  3819. )
  3820. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  3821. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  3822. <span class="hljs-string">"Content-Type"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"multipart/form-data"</span>},
  3823. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  3824. }
  3825. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  3826. req, err := http.NewRequest(<span class="hljs-string">"POST"</span>, <span class="hljs-string">"/api/boards/{board}/cards/{card}/checklists"</span>, data)
  3827. req.Header = headers
  3828. client := &amp;http.Client{}
  3829. resp, err := client.Do(req)
  3830. <span class="hljs-comment">// ...</span>
  3831. }
  3832. </code></pre>
  3833. <p><code>POST /api/boards/{board}/cards/{card}/checklists</code></p>
  3834. <blockquote>
  3835. <p>Body parameter</p>
  3836. </blockquote>
  3837. <pre class="highlight tab tab-yaml"><code><span class="hljs-attr">title:</span> <span class="hljs-string">string</span>
  3838. <span class="hljs-attr">items:</span> <span class="hljs-string">string</span>
  3839. </code></pre>
  3840. <h3 id="post_board_card_checklists-parameters">Parameters</h3>
  3841. <table>
  3842. <thead>
  3843. <tr>
  3844. <th>Name</th>
  3845. <th>In</th>
  3846. <th>Type</th>
  3847. <th>Required</th>
  3848. <th>Description</th>
  3849. </tr>
  3850. </thead>
  3851. <tbody>
  3852. <tr>
  3853. <td>board</td>
  3854. <td>path</td>
  3855. <td>string</td>
  3856. <td>true</td>
  3857. <td>the board value</td>
  3858. </tr>
  3859. <tr>
  3860. <td>card</td>
  3861. <td>path</td>
  3862. <td>string</td>
  3863. <td>true</td>
  3864. <td>the card value</td>
  3865. </tr>
  3866. <tr>
  3867. <td>body</td>
  3868. <td>body</td>
  3869. <td>object</td>
  3870. <td>false</td>
  3871. <td>none</td>
  3872. </tr>
  3873. <tr>
  3874. <td>» title</td>
  3875. <td>body</td>
  3876. <td>string</td>
  3877. <td>true</td>
  3878. <td>the title value</td>
  3879. </tr>
  3880. <tr>
  3881. <td>» items</td>
  3882. <td>body</td>
  3883. <td>string</td>
  3884. <td>true</td>
  3885. <td>the items value</td>
  3886. </tr>
  3887. </tbody>
  3888. </table>
  3889. <h3 id="post_board_card_checklists-responses">Responses</h3>
  3890. <table>
  3891. <thead>
  3892. <tr>
  3893. <th>Status</th>
  3894. <th>Meaning</th>
  3895. <th>Description</th>
  3896. <th>Schema</th>
  3897. </tr>
  3898. </thead>
  3899. <tbody>
  3900. <tr>
  3901. <td>200</td>
  3902. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  3903. <td>200 response</td>
  3904. <td>None</td>
  3905. </tr>
  3906. </tbody>
  3907. </table>
  3908. <aside class="warning">
  3909. To perform this operation, you must be authenticated by means of one of the following methods:
  3910. UserSecurity
  3911. </aside>
  3912. <h2 id="get_board_card_checklist">get_board_card_checklist</h2>
  3913. <p><a id="opIdget_board_card_checklist"></a></p>
  3914. <blockquote>
  3915. <p>Code samples</p>
  3916. </blockquote>
  3917. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  3918. curl -X GET /api/boards/{board}/cards/{card}/checklists/{checklist} \
  3919. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  3920. </code></pre>
  3921. <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
  3922. <span class="undefined"></span></code></pre>
  3923. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  3924. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  3925. };
  3926. $.ajax({
  3927. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists/{checklist}'</span>,
  3928. <span class="hljs-attr">method</span>: <span class="hljs-string">'get'</span>,
  3929. <span class="hljs-attr">headers</span>: headers,
  3930. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  3931. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  3932. }
  3933. })
  3934. </code></pre>
  3935. <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>);
  3936. <span class="hljs-keyword">const</span> headers = {
  3937. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  3938. };
  3939. fetch(<span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists/{checklist}'</span>,
  3940. {
  3941. <span class="hljs-attr">method</span>: <span class="hljs-string">'GET'</span>,
  3942. <span class="hljs-attr">headers</span>: headers
  3943. })
  3944. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  3945. <span class="hljs-keyword">return</span> res.json();
  3946. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  3947. <span class="hljs-built_in">console</span>.log(body);
  3948. });
  3949. </code></pre>
  3950. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  3951. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  3952. headers = {
  3953. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  3954. }
  3955. result = RestClient.get <span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists/{checklist}'</span>,
  3956. <span class="hljs-symbol">params:</span> {
  3957. }, <span class="hljs-symbol">headers:</span> headers
  3958. p JSON.parse(result)
  3959. </code></pre>
  3960. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  3961. headers = {
  3962. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  3963. }
  3964. r = requests.get(<span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists/{checklist}'</span>, params={
  3965. }, headers = headers)
  3966. <span class="hljs-keyword">print</span> r.json()
  3967. </code></pre>
  3968. <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>);
  3969. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  3970. con.setRequestMethod(<span class="hljs-string">"GET"</span>);
  3971. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  3972. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  3973. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  3974. String inputLine;
  3975. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  3976. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  3977. response.append(inputLine);
  3978. }
  3979. in.close();
  3980. System.out.println(response.toString());
  3981. </code></pre>
  3982. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  3983. <span class="hljs-keyword">import</span> (
  3984. <span class="hljs-string">"bytes"</span>
  3985. <span class="hljs-string">"net/http"</span>
  3986. )
  3987. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  3988. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  3989. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  3990. }
  3991. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  3992. req, err := http.NewRequest(<span class="hljs-string">"GET"</span>, <span class="hljs-string">"/api/boards/{board}/cards/{card}/checklists/{checklist}"</span>, data)
  3993. req.Header = headers
  3994. client := &amp;http.Client{}
  3995. resp, err := client.Do(req)
  3996. <span class="hljs-comment">// ...</span>
  3997. }
  3998. </code></pre>
  3999. <p><code>GET /api/boards/{board}/cards/{card}/checklists/{checklist}</code></p>
  4000. <h3 id="get_board_card_checklist-parameters">Parameters</h3>
  4001. <table>
  4002. <thead>
  4003. <tr>
  4004. <th>Name</th>
  4005. <th>In</th>
  4006. <th>Type</th>
  4007. <th>Required</th>
  4008. <th>Description</th>
  4009. </tr>
  4010. </thead>
  4011. <tbody>
  4012. <tr>
  4013. <td>board</td>
  4014. <td>path</td>
  4015. <td>string</td>
  4016. <td>true</td>
  4017. <td>the board value</td>
  4018. </tr>
  4019. <tr>
  4020. <td>card</td>
  4021. <td>path</td>
  4022. <td>string</td>
  4023. <td>true</td>
  4024. <td>the card value</td>
  4025. </tr>
  4026. <tr>
  4027. <td>checklist</td>
  4028. <td>path</td>
  4029. <td>string</td>
  4030. <td>true</td>
  4031. <td>the checklist value</td>
  4032. </tr>
  4033. </tbody>
  4034. </table>
  4035. <h3 id="get_board_card_checklist-responses">Responses</h3>
  4036. <table>
  4037. <thead>
  4038. <tr>
  4039. <th>Status</th>
  4040. <th>Meaning</th>
  4041. <th>Description</th>
  4042. <th>Schema</th>
  4043. </tr>
  4044. </thead>
  4045. <tbody>
  4046. <tr>
  4047. <td>200</td>
  4048. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  4049. <td>200 response</td>
  4050. <td>None</td>
  4051. </tr>
  4052. </tbody>
  4053. </table>
  4054. <aside class="warning">
  4055. To perform this operation, you must be authenticated by means of one of the following methods:
  4056. UserSecurity
  4057. </aside>
  4058. <h2 id="delete_board_card_checklist">delete_board_card_checklist</h2>
  4059. <p><a id="opIddelete_board_card_checklist"></a></p>
  4060. <blockquote>
  4061. <p>Code samples</p>
  4062. </blockquote>
  4063. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  4064. curl -X DELETE /api/boards/{board}/cards/{card}/checklists/{checklist} \
  4065. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  4066. </code></pre>
  4067. <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
  4068. <span class="undefined"></span></code></pre>
  4069. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  4070. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  4071. };
  4072. $.ajax({
  4073. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists/{checklist}'</span>,
  4074. <span class="hljs-attr">method</span>: <span class="hljs-string">'delete'</span>,
  4075. <span class="hljs-attr">headers</span>: headers,
  4076. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  4077. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  4078. }
  4079. })
  4080. </code></pre>
  4081. <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>);
  4082. <span class="hljs-keyword">const</span> headers = {
  4083. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  4084. };
  4085. fetch(<span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists/{checklist}'</span>,
  4086. {
  4087. <span class="hljs-attr">method</span>: <span class="hljs-string">'DELETE'</span>,
  4088. <span class="hljs-attr">headers</span>: headers
  4089. })
  4090. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  4091. <span class="hljs-keyword">return</span> res.json();
  4092. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  4093. <span class="hljs-built_in">console</span>.log(body);
  4094. });
  4095. </code></pre>
  4096. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  4097. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  4098. headers = {
  4099. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  4100. }
  4101. result = RestClient.delete <span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists/{checklist}'</span>,
  4102. <span class="hljs-symbol">params:</span> {
  4103. }, <span class="hljs-symbol">headers:</span> headers
  4104. p JSON.parse(result)
  4105. </code></pre>
  4106. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  4107. headers = {
  4108. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  4109. }
  4110. r = requests.delete(<span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists/{checklist}'</span>, params={
  4111. }, headers = headers)
  4112. <span class="hljs-keyword">print</span> r.json()
  4113. </code></pre>
  4114. <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>);
  4115. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  4116. con.setRequestMethod(<span class="hljs-string">"DELETE"</span>);
  4117. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  4118. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  4119. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  4120. String inputLine;
  4121. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  4122. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  4123. response.append(inputLine);
  4124. }
  4125. in.close();
  4126. System.out.println(response.toString());
  4127. </code></pre>
  4128. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  4129. <span class="hljs-keyword">import</span> (
  4130. <span class="hljs-string">"bytes"</span>
  4131. <span class="hljs-string">"net/http"</span>
  4132. )
  4133. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  4134. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</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">"DELETE"</span>, <span class="hljs-string">"/api/boards/{board}/cards/{card}/checklists/{checklist}"</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>DELETE /api/boards/{board}/cards/{card}/checklists/{checklist}</code></p>
  4146. <h3 id="delete_board_card_checklist-parameters">Parameters</h3>
  4147. <table>
  4148. <thead>
  4149. <tr>
  4150. <th>Name</th>
  4151. <th>In</th>
  4152. <th>Type</th>
  4153. <th>Required</th>
  4154. <th>Description</th>
  4155. </tr>
  4156. </thead>
  4157. <tbody>
  4158. <tr>
  4159. <td>board</td>
  4160. <td>path</td>
  4161. <td>string</td>
  4162. <td>true</td>
  4163. <td>the board value</td>
  4164. </tr>
  4165. <tr>
  4166. <td>card</td>
  4167. <td>path</td>
  4168. <td>string</td>
  4169. <td>true</td>
  4170. <td>the card value</td>
  4171. </tr>
  4172. <tr>
  4173. <td>checklist</td>
  4174. <td>path</td>
  4175. <td>string</td>
  4176. <td>true</td>
  4177. <td>the checklist value</td>
  4178. </tr>
  4179. </tbody>
  4180. </table>
  4181. <h3 id="delete_board_card_checklist-responses">Responses</h3>
  4182. <table>
  4183. <thead>
  4184. <tr>
  4185. <th>Status</th>
  4186. <th>Meaning</th>
  4187. <th>Description</th>
  4188. <th>Schema</th>
  4189. </tr>
  4190. </thead>
  4191. <tbody>
  4192. <tr>
  4193. <td>200</td>
  4194. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  4195. <td>200 response</td>
  4196. <td>None</td>
  4197. </tr>
  4198. </tbody>
  4199. </table>
  4200. <aside class="warning">
  4201. To perform this operation, you must be authenticated by means of one of the following methods:
  4202. UserSecurity
  4203. </aside>
  4204. <h1 id="wekan-rest-api-checklistitems">ChecklistItems</h1>
  4205. <h2 id="get_board_card_checklist_item">get_board_card_checklist_item</h2>
  4206. <p><a id="opIdget_board_card_checklist_item"></a></p>
  4207. <blockquote>
  4208. <p>Code samples</p>
  4209. </blockquote>
  4210. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  4211. curl -X GET /api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item} \
  4212. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  4213. </code></pre>
  4214. <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
  4215. <span class="undefined"></span></code></pre>
  4216. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  4217. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  4218. };
  4219. $.ajax({
  4220. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item}'</span>,
  4221. <span class="hljs-attr">method</span>: <span class="hljs-string">'get'</span>,
  4222. <span class="hljs-attr">headers</span>: headers,
  4223. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  4224. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  4225. }
  4226. })
  4227. </code></pre>
  4228. <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>);
  4229. <span class="hljs-keyword">const</span> headers = {
  4230. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  4231. };
  4232. fetch(<span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item}'</span>,
  4233. {
  4234. <span class="hljs-attr">method</span>: <span class="hljs-string">'GET'</span>,
  4235. <span class="hljs-attr">headers</span>: headers
  4236. })
  4237. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  4238. <span class="hljs-keyword">return</span> res.json();
  4239. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  4240. <span class="hljs-built_in">console</span>.log(body);
  4241. });
  4242. </code></pre>
  4243. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  4244. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  4245. headers = {
  4246. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  4247. }
  4248. result = RestClient.get <span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item}'</span>,
  4249. <span class="hljs-symbol">params:</span> {
  4250. }, <span class="hljs-symbol">headers:</span> headers
  4251. p JSON.parse(result)
  4252. </code></pre>
  4253. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  4254. headers = {
  4255. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  4256. }
  4257. r = requests.get(<span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item}'</span>, params={
  4258. }, headers = headers)
  4259. <span class="hljs-keyword">print</span> r.json()
  4260. </code></pre>
  4261. <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>);
  4262. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  4263. con.setRequestMethod(<span class="hljs-string">"GET"</span>);
  4264. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  4265. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  4266. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  4267. String inputLine;
  4268. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  4269. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  4270. response.append(inputLine);
  4271. }
  4272. in.close();
  4273. System.out.println(response.toString());
  4274. </code></pre>
  4275. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  4276. <span class="hljs-keyword">import</span> (
  4277. <span class="hljs-string">"bytes"</span>
  4278. <span class="hljs-string">"net/http"</span>
  4279. )
  4280. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  4281. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  4282. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  4283. }
  4284. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  4285. 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)
  4286. req.Header = headers
  4287. client := &amp;http.Client{}
  4288. resp, err := client.Do(req)
  4289. <span class="hljs-comment">// ...</span>
  4290. }
  4291. </code></pre>
  4292. <p><code>GET /api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item}</code></p>
  4293. <h3 id="get_board_card_checklist_item-parameters">Parameters</h3>
  4294. <table>
  4295. <thead>
  4296. <tr>
  4297. <th>Name</th>
  4298. <th>In</th>
  4299. <th>Type</th>
  4300. <th>Required</th>
  4301. <th>Description</th>
  4302. </tr>
  4303. </thead>
  4304. <tbody>
  4305. <tr>
  4306. <td>board</td>
  4307. <td>path</td>
  4308. <td>string</td>
  4309. <td>true</td>
  4310. <td>the board value</td>
  4311. </tr>
  4312. <tr>
  4313. <td>card</td>
  4314. <td>path</td>
  4315. <td>string</td>
  4316. <td>true</td>
  4317. <td>the card value</td>
  4318. </tr>
  4319. <tr>
  4320. <td>checklist</td>
  4321. <td>path</td>
  4322. <td>string</td>
  4323. <td>true</td>
  4324. <td>the checklist value</td>
  4325. </tr>
  4326. <tr>
  4327. <td>item</td>
  4328. <td>path</td>
  4329. <td>string</td>
  4330. <td>true</td>
  4331. <td>the item value</td>
  4332. </tr>
  4333. </tbody>
  4334. </table>
  4335. <h3 id="get_board_card_checklist_item-responses">Responses</h3>
  4336. <table>
  4337. <thead>
  4338. <tr>
  4339. <th>Status</th>
  4340. <th>Meaning</th>
  4341. <th>Description</th>
  4342. <th>Schema</th>
  4343. </tr>
  4344. </thead>
  4345. <tbody>
  4346. <tr>
  4347. <td>200</td>
  4348. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  4349. <td>200 response</td>
  4350. <td>None</td>
  4351. </tr>
  4352. </tbody>
  4353. </table>
  4354. <aside class="warning">
  4355. To perform this operation, you must be authenticated by means of one of the following methods:
  4356. UserSecurity
  4357. </aside>
  4358. <h2 id="put_board_card_checklist_item">put_board_card_checklist_item</h2>
  4359. <p><a id="opIdput_board_card_checklist_item"></a></p>
  4360. <blockquote>
  4361. <p>Code samples</p>
  4362. </blockquote>
  4363. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  4364. curl -X PUT /api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item} \
  4365. -H <span class="hljs-string">'Content-Type: multipart/form-data'</span> \
  4366. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  4367. </code></pre>
  4368. <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
  4369. <span class="fortran">Content-<span class="hljs-keyword">Type</span>: multipart/<span class="hljs-keyword">form</span>-<span class="hljs-keyword">data</span>
  4370. </span></code></pre>
  4371. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  4372. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  4373. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  4374. };
  4375. $.ajax({
  4376. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item}'</span>,
  4377. <span class="hljs-attr">method</span>: <span class="hljs-string">'put'</span>,
  4378. <span class="hljs-attr">headers</span>: headers,
  4379. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  4380. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  4381. }
  4382. })
  4383. </code></pre>
  4384. <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>);
  4385. <span class="hljs-keyword">const</span> inputBody = <span class="hljs-string">'{
  4386. "isFinished": "string",
  4387. "title": "string"
  4388. }'</span>;
  4389. <span class="hljs-keyword">const</span> headers = {
  4390. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  4391. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  4392. };
  4393. fetch(<span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item}'</span>,
  4394. {
  4395. <span class="hljs-attr">method</span>: <span class="hljs-string">'PUT'</span>,
  4396. <span class="hljs-attr">body</span>: inputBody,
  4397. <span class="hljs-attr">headers</span>: headers
  4398. })
  4399. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  4400. <span class="hljs-keyword">return</span> res.json();
  4401. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  4402. <span class="hljs-built_in">console</span>.log(body);
  4403. });
  4404. </code></pre>
  4405. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  4406. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  4407. headers = {
  4408. <span class="hljs-string">'Content-Type'</span> =&gt; <span class="hljs-string">'multipart/form-data'</span>,
  4409. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  4410. }
  4411. result = RestClient.put <span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item}'</span>,
  4412. <span class="hljs-symbol">params:</span> {
  4413. }, <span class="hljs-symbol">headers:</span> headers
  4414. p JSON.parse(result)
  4415. </code></pre>
  4416. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  4417. headers = {
  4418. <span class="hljs-string">'Content-Type'</span>: <span class="hljs-string">'multipart/form-data'</span>,
  4419. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  4420. }
  4421. r = requests.put(<span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item}'</span>, params={
  4422. }, headers = headers)
  4423. <span class="hljs-keyword">print</span> r.json()
  4424. </code></pre>
  4425. <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>);
  4426. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  4427. con.setRequestMethod(<span class="hljs-string">"PUT"</span>);
  4428. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  4429. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  4430. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  4431. String inputLine;
  4432. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  4433. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  4434. response.append(inputLine);
  4435. }
  4436. in.close();
  4437. System.out.println(response.toString());
  4438. </code></pre>
  4439. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  4440. <span class="hljs-keyword">import</span> (
  4441. <span class="hljs-string">"bytes"</span>
  4442. <span class="hljs-string">"net/http"</span>
  4443. )
  4444. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  4445. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  4446. <span class="hljs-string">"Content-Type"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"multipart/form-data"</span>},
  4447. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  4448. }
  4449. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  4450. 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)
  4451. req.Header = headers
  4452. client := &amp;http.Client{}
  4453. resp, err := client.Do(req)
  4454. <span class="hljs-comment">// ...</span>
  4455. }
  4456. </code></pre>
  4457. <p><code>PUT /api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item}</code></p>
  4458. <blockquote>
  4459. <p>Body parameter</p>
  4460. </blockquote>
  4461. <pre class="highlight tab tab-yaml"><code><span class="hljs-attr">isFinished:</span> <span class="hljs-string">string</span>
  4462. <span class="hljs-attr">title:</span> <span class="hljs-string">string</span>
  4463. </code></pre>
  4464. <h3 id="put_board_card_checklist_item-parameters">Parameters</h3>
  4465. <table>
  4466. <thead>
  4467. <tr>
  4468. <th>Name</th>
  4469. <th>In</th>
  4470. <th>Type</th>
  4471. <th>Required</th>
  4472. <th>Description</th>
  4473. </tr>
  4474. </thead>
  4475. <tbody>
  4476. <tr>
  4477. <td>board</td>
  4478. <td>path</td>
  4479. <td>string</td>
  4480. <td>true</td>
  4481. <td>the board value</td>
  4482. </tr>
  4483. <tr>
  4484. <td>card</td>
  4485. <td>path</td>
  4486. <td>string</td>
  4487. <td>true</td>
  4488. <td>the card value</td>
  4489. </tr>
  4490. <tr>
  4491. <td>checklist</td>
  4492. <td>path</td>
  4493. <td>string</td>
  4494. <td>true</td>
  4495. <td>the checklist value</td>
  4496. </tr>
  4497. <tr>
  4498. <td>item</td>
  4499. <td>path</td>
  4500. <td>string</td>
  4501. <td>true</td>
  4502. <td>the item value</td>
  4503. </tr>
  4504. <tr>
  4505. <td>body</td>
  4506. <td>body</td>
  4507. <td>object</td>
  4508. <td>false</td>
  4509. <td>none</td>
  4510. </tr>
  4511. <tr>
  4512. <td>» isFinished</td>
  4513. <td>body</td>
  4514. <td>string</td>
  4515. <td>true</td>
  4516. <td>the isFinished value</td>
  4517. </tr>
  4518. <tr>
  4519. <td>» title</td>
  4520. <td>body</td>
  4521. <td>string</td>
  4522. <td>true</td>
  4523. <td>the title value</td>
  4524. </tr>
  4525. </tbody>
  4526. </table>
  4527. <h3 id="put_board_card_checklist_item-responses">Responses</h3>
  4528. <table>
  4529. <thead>
  4530. <tr>
  4531. <th>Status</th>
  4532. <th>Meaning</th>
  4533. <th>Description</th>
  4534. <th>Schema</th>
  4535. </tr>
  4536. </thead>
  4537. <tbody>
  4538. <tr>
  4539. <td>200</td>
  4540. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  4541. <td>200 response</td>
  4542. <td>None</td>
  4543. </tr>
  4544. </tbody>
  4545. </table>
  4546. <aside class="warning">
  4547. To perform this operation, you must be authenticated by means of one of the following methods:
  4548. UserSecurity
  4549. </aside>
  4550. <h2 id="delete_board_card_checklist_item">delete_board_card_checklist_item</h2>
  4551. <p><a id="opIddelete_board_card_checklist_item"></a></p>
  4552. <blockquote>
  4553. <p>Code samples</p>
  4554. </blockquote>
  4555. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  4556. curl -X DELETE /api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item} \
  4557. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  4558. </code></pre>
  4559. <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
  4560. <span class="undefined"></span></code></pre>
  4561. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  4562. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  4563. };
  4564. $.ajax({
  4565. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item}'</span>,
  4566. <span class="hljs-attr">method</span>: <span class="hljs-string">'delete'</span>,
  4567. <span class="hljs-attr">headers</span>: headers,
  4568. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  4569. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  4570. }
  4571. })
  4572. </code></pre>
  4573. <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>);
  4574. <span class="hljs-keyword">const</span> headers = {
  4575. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  4576. };
  4577. fetch(<span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item}'</span>,
  4578. {
  4579. <span class="hljs-attr">method</span>: <span class="hljs-string">'DELETE'</span>,
  4580. <span class="hljs-attr">headers</span>: headers
  4581. })
  4582. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  4583. <span class="hljs-keyword">return</span> res.json();
  4584. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  4585. <span class="hljs-built_in">console</span>.log(body);
  4586. });
  4587. </code></pre>
  4588. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  4589. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  4590. headers = {
  4591. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  4592. }
  4593. result = RestClient.delete <span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item}'</span>,
  4594. <span class="hljs-symbol">params:</span> {
  4595. }, <span class="hljs-symbol">headers:</span> headers
  4596. p JSON.parse(result)
  4597. </code></pre>
  4598. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  4599. headers = {
  4600. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  4601. }
  4602. r = requests.delete(<span class="hljs-string">'/api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item}'</span>, params={
  4603. }, headers = headers)
  4604. <span class="hljs-keyword">print</span> r.json()
  4605. </code></pre>
  4606. <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>);
  4607. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  4608. con.setRequestMethod(<span class="hljs-string">"DELETE"</span>);
  4609. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  4610. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  4611. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  4612. String inputLine;
  4613. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  4614. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  4615. response.append(inputLine);
  4616. }
  4617. in.close();
  4618. System.out.println(response.toString());
  4619. </code></pre>
  4620. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  4621. <span class="hljs-keyword">import</span> (
  4622. <span class="hljs-string">"bytes"</span>
  4623. <span class="hljs-string">"net/http"</span>
  4624. )
  4625. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  4626. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  4627. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  4628. }
  4629. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  4630. 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)
  4631. req.Header = headers
  4632. client := &amp;http.Client{}
  4633. resp, err := client.Do(req)
  4634. <span class="hljs-comment">// ...</span>
  4635. }
  4636. </code></pre>
  4637. <p><code>DELETE /api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item}</code></p>
  4638. <h3 id="delete_board_card_checklist_item-parameters">Parameters</h3>
  4639. <table>
  4640. <thead>
  4641. <tr>
  4642. <th>Name</th>
  4643. <th>In</th>
  4644. <th>Type</th>
  4645. <th>Required</th>
  4646. <th>Description</th>
  4647. </tr>
  4648. </thead>
  4649. <tbody>
  4650. <tr>
  4651. <td>board</td>
  4652. <td>path</td>
  4653. <td>string</td>
  4654. <td>true</td>
  4655. <td>the board value</td>
  4656. </tr>
  4657. <tr>
  4658. <td>card</td>
  4659. <td>path</td>
  4660. <td>string</td>
  4661. <td>true</td>
  4662. <td>the card value</td>
  4663. </tr>
  4664. <tr>
  4665. <td>checklist</td>
  4666. <td>path</td>
  4667. <td>string</td>
  4668. <td>true</td>
  4669. <td>the checklist value</td>
  4670. </tr>
  4671. <tr>
  4672. <td>item</td>
  4673. <td>path</td>
  4674. <td>string</td>
  4675. <td>true</td>
  4676. <td>the item value</td>
  4677. </tr>
  4678. </tbody>
  4679. </table>
  4680. <h3 id="delete_board_card_checklist_item-responses">Responses</h3>
  4681. <table>
  4682. <thead>
  4683. <tr>
  4684. <th>Status</th>
  4685. <th>Meaning</th>
  4686. <th>Description</th>
  4687. <th>Schema</th>
  4688. </tr>
  4689. </thead>
  4690. <tbody>
  4691. <tr>
  4692. <td>200</td>
  4693. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  4694. <td>200 response</td>
  4695. <td>None</td>
  4696. </tr>
  4697. </tbody>
  4698. </table>
  4699. <aside class="warning">
  4700. To perform this operation, you must be authenticated by means of one of the following methods:
  4701. UserSecurity
  4702. </aside>
  4703. <h1 id="wekan-rest-api-cardcomments">CardComments</h1>
  4704. <h2 id="get_all_comments">get_all_comments</h2>
  4705. <p><a id="opIdget_all_comments"></a></p>
  4706. <blockquote>
  4707. <p>Code samples</p>
  4708. </blockquote>
  4709. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  4710. curl -X GET /api/boards/{board}/cards/{card}/comments \
  4711. -H <span class="hljs-string">'Accept: application/json'</span> \
  4712. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  4713. </code></pre>
  4714. <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
  4715. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  4716. <span class="undefined"></span></span></code></pre>
  4717. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  4718. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  4719. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  4720. };
  4721. $.ajax({
  4722. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/cards/{card}/comments'</span>,
  4723. <span class="hljs-attr">method</span>: <span class="hljs-string">'get'</span>,
  4724. <span class="hljs-attr">headers</span>: headers,
  4725. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  4726. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  4727. }
  4728. })
  4729. </code></pre>
  4730. <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>);
  4731. <span class="hljs-keyword">const</span> headers = {
  4732. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  4733. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  4734. };
  4735. fetch(<span class="hljs-string">'/api/boards/{board}/cards/{card}/comments'</span>,
  4736. {
  4737. <span class="hljs-attr">method</span>: <span class="hljs-string">'GET'</span>,
  4738. <span class="hljs-attr">headers</span>: headers
  4739. })
  4740. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  4741. <span class="hljs-keyword">return</span> res.json();
  4742. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  4743. <span class="hljs-built_in">console</span>.log(body);
  4744. });
  4745. </code></pre>
  4746. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  4747. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  4748. headers = {
  4749. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  4750. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  4751. }
  4752. result = RestClient.get <span class="hljs-string">'/api/boards/{board}/cards/{card}/comments'</span>,
  4753. <span class="hljs-symbol">params:</span> {
  4754. }, <span class="hljs-symbol">headers:</span> headers
  4755. p JSON.parse(result)
  4756. </code></pre>
  4757. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  4758. headers = {
  4759. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  4760. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  4761. }
  4762. r = requests.get(<span class="hljs-string">'/api/boards/{board}/cards/{card}/comments'</span>, params={
  4763. }, headers = headers)
  4764. <span class="hljs-keyword">print</span> r.json()
  4765. </code></pre>
  4766. <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>);
  4767. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  4768. con.setRequestMethod(<span class="hljs-string">"GET"</span>);
  4769. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  4770. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  4771. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  4772. String inputLine;
  4773. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  4774. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  4775. response.append(inputLine);
  4776. }
  4777. in.close();
  4778. System.out.println(response.toString());
  4779. </code></pre>
  4780. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  4781. <span class="hljs-keyword">import</span> (
  4782. <span class="hljs-string">"bytes"</span>
  4783. <span class="hljs-string">"net/http"</span>
  4784. )
  4785. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  4786. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  4787. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  4788. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  4789. }
  4790. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  4791. req, err := http.NewRequest(<span class="hljs-string">"GET"</span>, <span class="hljs-string">"/api/boards/{board}/cards/{card}/comments"</span>, data)
  4792. req.Header = headers
  4793. client := &amp;http.Client{}
  4794. resp, err := client.Do(req)
  4795. <span class="hljs-comment">// ...</span>
  4796. }
  4797. </code></pre>
  4798. <p><code>GET /api/boards/{board}/cards/{card}/comments</code></p>
  4799. <p><em>Get all comments attached to a card</em></p>
  4800. <h3 id="get_all_comments-parameters">Parameters</h3>
  4801. <table>
  4802. <thead>
  4803. <tr>
  4804. <th>Name</th>
  4805. <th>In</th>
  4806. <th>Type</th>
  4807. <th>Required</th>
  4808. <th>Description</th>
  4809. </tr>
  4810. </thead>
  4811. <tbody>
  4812. <tr>
  4813. <td>board</td>
  4814. <td>path</td>
  4815. <td>string</td>
  4816. <td>true</td>
  4817. <td>the board ID of the card</td>
  4818. </tr>
  4819. <tr>
  4820. <td>card</td>
  4821. <td>path</td>
  4822. <td>string</td>
  4823. <td>true</td>
  4824. <td>the ID of the card</td>
  4825. </tr>
  4826. </tbody>
  4827. </table>
  4828. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  4829. <p><strong>board</strong>: the board ID of the card</p>
  4830. <p><strong>card</strong>: the ID of the card</p>
  4831. <blockquote>
  4832. <p>Example responses</p>
  4833. </blockquote>
  4834. <blockquote>
  4835. <p>200 Response</p>
  4836. </blockquote>
  4837. <pre class="highlight tab tab-json"><code>[
  4838. {
  4839. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>,
  4840. <span class="hljs-attr">"comment"</span>: <span class="hljs-string">"string"</span>,
  4841. <span class="hljs-attr">"authorId"</span>: <span class="hljs-string">"string"</span>
  4842. }
  4843. ]
  4844. </code></pre>
  4845. <h3 id="get_all_comments-responses">Responses</h3>
  4846. <table>
  4847. <thead>
  4848. <tr>
  4849. <th>Status</th>
  4850. <th>Meaning</th>
  4851. <th>Description</th>
  4852. <th>Schema</th>
  4853. </tr>
  4854. </thead>
  4855. <tbody>
  4856. <tr>
  4857. <td>200</td>
  4858. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  4859. <td>200 response</td>
  4860. <td>Inline</td>
  4861. </tr>
  4862. </tbody>
  4863. </table>
  4864. <h3 id="get_all_comments-responseschema">Response Schema</h3>
  4865. <p>Status Code <strong>200</strong></p>
  4866. <table>
  4867. <thead>
  4868. <tr>
  4869. <th>Name</th>
  4870. <th>Type</th>
  4871. <th>Required</th>
  4872. <th>Restrictions</th>
  4873. <th>Description</th>
  4874. </tr>
  4875. </thead>
  4876. <tbody>
  4877. <tr>
  4878. <td>» _id</td>
  4879. <td>string</td>
  4880. <td>false</td>
  4881. <td>none</td>
  4882. <td>none</td>
  4883. </tr>
  4884. <tr>
  4885. <td>» comment</td>
  4886. <td>string</td>
  4887. <td>false</td>
  4888. <td>none</td>
  4889. <td>none</td>
  4890. </tr>
  4891. <tr>
  4892. <td>» authorId</td>
  4893. <td>string</td>
  4894. <td>false</td>
  4895. <td>none</td>
  4896. <td>none</td>
  4897. </tr>
  4898. </tbody>
  4899. </table>
  4900. <aside class="warning">
  4901. To perform this operation, you must be authenticated by means of one of the following methods:
  4902. UserSecurity
  4903. </aside>
  4904. <h2 id="post_board_card_comments">post_board_card_comments</h2>
  4905. <p><a id="opIdpost_board_card_comments"></a></p>
  4906. <blockquote>
  4907. <p>Code samples</p>
  4908. </blockquote>
  4909. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  4910. curl -X POST /api/boards/{board}/cards/{card}/comments \
  4911. -H <span class="hljs-string">'Content-Type: multipart/form-data'</span> \
  4912. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  4913. </code></pre>
  4914. <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
  4915. <span class="fortran">Content-<span class="hljs-keyword">Type</span>: multipart/<span class="hljs-keyword">form</span>-<span class="hljs-keyword">data</span>
  4916. </span></code></pre>
  4917. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  4918. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  4919. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  4920. };
  4921. $.ajax({
  4922. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/cards/{card}/comments'</span>,
  4923. <span class="hljs-attr">method</span>: <span class="hljs-string">'post'</span>,
  4924. <span class="hljs-attr">headers</span>: headers,
  4925. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  4926. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  4927. }
  4928. })
  4929. </code></pre>
  4930. <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>);
  4931. <span class="hljs-keyword">const</span> inputBody = <span class="hljs-string">'{
  4932. "authorId": "string",
  4933. "comment": "string"
  4934. }'</span>;
  4935. <span class="hljs-keyword">const</span> headers = {
  4936. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  4937. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  4938. };
  4939. fetch(<span class="hljs-string">'/api/boards/{board}/cards/{card}/comments'</span>,
  4940. {
  4941. <span class="hljs-attr">method</span>: <span class="hljs-string">'POST'</span>,
  4942. <span class="hljs-attr">body</span>: inputBody,
  4943. <span class="hljs-attr">headers</span>: headers
  4944. })
  4945. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  4946. <span class="hljs-keyword">return</span> res.json();
  4947. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  4948. <span class="hljs-built_in">console</span>.log(body);
  4949. });
  4950. </code></pre>
  4951. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  4952. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  4953. headers = {
  4954. <span class="hljs-string">'Content-Type'</span> =&gt; <span class="hljs-string">'multipart/form-data'</span>,
  4955. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  4956. }
  4957. result = RestClient.post <span class="hljs-string">'/api/boards/{board}/cards/{card}/comments'</span>,
  4958. <span class="hljs-symbol">params:</span> {
  4959. }, <span class="hljs-symbol">headers:</span> headers
  4960. p JSON.parse(result)
  4961. </code></pre>
  4962. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  4963. headers = {
  4964. <span class="hljs-string">'Content-Type'</span>: <span class="hljs-string">'multipart/form-data'</span>,
  4965. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  4966. }
  4967. r = requests.post(<span class="hljs-string">'/api/boards/{board}/cards/{card}/comments'</span>, params={
  4968. }, headers = headers)
  4969. <span class="hljs-keyword">print</span> r.json()
  4970. </code></pre>
  4971. <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>);
  4972. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  4973. con.setRequestMethod(<span class="hljs-string">"POST"</span>);
  4974. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  4975. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  4976. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  4977. String inputLine;
  4978. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  4979. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  4980. response.append(inputLine);
  4981. }
  4982. in.close();
  4983. System.out.println(response.toString());
  4984. </code></pre>
  4985. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  4986. <span class="hljs-keyword">import</span> (
  4987. <span class="hljs-string">"bytes"</span>
  4988. <span class="hljs-string">"net/http"</span>
  4989. )
  4990. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  4991. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  4992. <span class="hljs-string">"Content-Type"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"multipart/form-data"</span>},
  4993. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  4994. }
  4995. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  4996. req, err := http.NewRequest(<span class="hljs-string">"POST"</span>, <span class="hljs-string">"/api/boards/{board}/cards/{card}/comments"</span>, data)
  4997. req.Header = headers
  4998. client := &amp;http.Client{}
  4999. resp, err := client.Do(req)
  5000. <span class="hljs-comment">// ...</span>
  5001. }
  5002. </code></pre>
  5003. <p><code>POST /api/boards/{board}/cards/{card}/comments</code></p>
  5004. <blockquote>
  5005. <p>Body parameter</p>
  5006. </blockquote>
  5007. <pre class="highlight tab tab-yaml"><code><span class="hljs-attr">authorId:</span> <span class="hljs-string">string</span>
  5008. <span class="hljs-attr">comment:</span> <span class="hljs-string">string</span>
  5009. </code></pre>
  5010. <h3 id="post_board_card_comments-parameters">Parameters</h3>
  5011. <table>
  5012. <thead>
  5013. <tr>
  5014. <th>Name</th>
  5015. <th>In</th>
  5016. <th>Type</th>
  5017. <th>Required</th>
  5018. <th>Description</th>
  5019. </tr>
  5020. </thead>
  5021. <tbody>
  5022. <tr>
  5023. <td>board</td>
  5024. <td>path</td>
  5025. <td>string</td>
  5026. <td>true</td>
  5027. <td>the board value</td>
  5028. </tr>
  5029. <tr>
  5030. <td>card</td>
  5031. <td>path</td>
  5032. <td>string</td>
  5033. <td>true</td>
  5034. <td>the card value</td>
  5035. </tr>
  5036. <tr>
  5037. <td>body</td>
  5038. <td>body</td>
  5039. <td>object</td>
  5040. <td>false</td>
  5041. <td>none</td>
  5042. </tr>
  5043. <tr>
  5044. <td>» authorId</td>
  5045. <td>body</td>
  5046. <td>string</td>
  5047. <td>true</td>
  5048. <td>the authorId value</td>
  5049. </tr>
  5050. <tr>
  5051. <td>» comment</td>
  5052. <td>body</td>
  5053. <td>string</td>
  5054. <td>true</td>
  5055. <td>the comment value</td>
  5056. </tr>
  5057. </tbody>
  5058. </table>
  5059. <h3 id="post_board_card_comments-responses">Responses</h3>
  5060. <table>
  5061. <thead>
  5062. <tr>
  5063. <th>Status</th>
  5064. <th>Meaning</th>
  5065. <th>Description</th>
  5066. <th>Schema</th>
  5067. </tr>
  5068. </thead>
  5069. <tbody>
  5070. <tr>
  5071. <td>200</td>
  5072. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  5073. <td>200 response</td>
  5074. <td>None</td>
  5075. </tr>
  5076. </tbody>
  5077. </table>
  5078. <aside class="warning">
  5079. To perform this operation, you must be authenticated by means of one of the following methods:
  5080. UserSecurity
  5081. </aside>
  5082. <h2 id="get_board_card_comment">get_board_card_comment</h2>
  5083. <p><a id="opIdget_board_card_comment"></a></p>
  5084. <blockquote>
  5085. <p>Code samples</p>
  5086. </blockquote>
  5087. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  5088. curl -X GET /api/boards/{board}/cards/{card}/comments/{comment} \
  5089. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  5090. </code></pre>
  5091. <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
  5092. <span class="undefined"></span></code></pre>
  5093. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  5094. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  5095. };
  5096. $.ajax({
  5097. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/cards/{card}/comments/{comment}'</span>,
  5098. <span class="hljs-attr">method</span>: <span class="hljs-string">'get'</span>,
  5099. <span class="hljs-attr">headers</span>: headers,
  5100. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  5101. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  5102. }
  5103. })
  5104. </code></pre>
  5105. <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>);
  5106. <span class="hljs-keyword">const</span> headers = {
  5107. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  5108. };
  5109. fetch(<span class="hljs-string">'/api/boards/{board}/cards/{card}/comments/{comment}'</span>,
  5110. {
  5111. <span class="hljs-attr">method</span>: <span class="hljs-string">'GET'</span>,
  5112. <span class="hljs-attr">headers</span>: headers
  5113. })
  5114. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  5115. <span class="hljs-keyword">return</span> res.json();
  5116. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  5117. <span class="hljs-built_in">console</span>.log(body);
  5118. });
  5119. </code></pre>
  5120. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  5121. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  5122. headers = {
  5123. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  5124. }
  5125. result = RestClient.get <span class="hljs-string">'/api/boards/{board}/cards/{card}/comments/{comment}'</span>,
  5126. <span class="hljs-symbol">params:</span> {
  5127. }, <span class="hljs-symbol">headers:</span> headers
  5128. p JSON.parse(result)
  5129. </code></pre>
  5130. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  5131. headers = {
  5132. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  5133. }
  5134. r = requests.get(<span class="hljs-string">'/api/boards/{board}/cards/{card}/comments/{comment}'</span>, params={
  5135. }, headers = headers)
  5136. <span class="hljs-keyword">print</span> r.json()
  5137. </code></pre>
  5138. <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>);
  5139. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  5140. con.setRequestMethod(<span class="hljs-string">"GET"</span>);
  5141. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  5142. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  5143. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  5144. String inputLine;
  5145. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  5146. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  5147. response.append(inputLine);
  5148. }
  5149. in.close();
  5150. System.out.println(response.toString());
  5151. </code></pre>
  5152. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  5153. <span class="hljs-keyword">import</span> (
  5154. <span class="hljs-string">"bytes"</span>
  5155. <span class="hljs-string">"net/http"</span>
  5156. )
  5157. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  5158. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  5159. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  5160. }
  5161. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  5162. req, err := http.NewRequest(<span class="hljs-string">"GET"</span>, <span class="hljs-string">"/api/boards/{board}/cards/{card}/comments/{comment}"</span>, data)
  5163. req.Header = headers
  5164. client := &amp;http.Client{}
  5165. resp, err := client.Do(req)
  5166. <span class="hljs-comment">// ...</span>
  5167. }
  5168. </code></pre>
  5169. <p><code>GET /api/boards/{board}/cards/{card}/comments/{comment}</code></p>
  5170. <h3 id="get_board_card_comment-parameters">Parameters</h3>
  5171. <table>
  5172. <thead>
  5173. <tr>
  5174. <th>Name</th>
  5175. <th>In</th>
  5176. <th>Type</th>
  5177. <th>Required</th>
  5178. <th>Description</th>
  5179. </tr>
  5180. </thead>
  5181. <tbody>
  5182. <tr>
  5183. <td>board</td>
  5184. <td>path</td>
  5185. <td>string</td>
  5186. <td>true</td>
  5187. <td>the board value</td>
  5188. </tr>
  5189. <tr>
  5190. <td>card</td>
  5191. <td>path</td>
  5192. <td>string</td>
  5193. <td>true</td>
  5194. <td>the card value</td>
  5195. </tr>
  5196. <tr>
  5197. <td>comment</td>
  5198. <td>path</td>
  5199. <td>string</td>
  5200. <td>true</td>
  5201. <td>the comment value</td>
  5202. </tr>
  5203. </tbody>
  5204. </table>
  5205. <h3 id="get_board_card_comment-responses">Responses</h3>
  5206. <table>
  5207. <thead>
  5208. <tr>
  5209. <th>Status</th>
  5210. <th>Meaning</th>
  5211. <th>Description</th>
  5212. <th>Schema</th>
  5213. </tr>
  5214. </thead>
  5215. <tbody>
  5216. <tr>
  5217. <td>200</td>
  5218. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  5219. <td>200 response</td>
  5220. <td>None</td>
  5221. </tr>
  5222. </tbody>
  5223. </table>
  5224. <aside class="warning">
  5225. To perform this operation, you must be authenticated by means of one of the following methods:
  5226. UserSecurity
  5227. </aside>
  5228. <h2 id="delete_board_card_comment">delete_board_card_comment</h2>
  5229. <p><a id="opIddelete_board_card_comment"></a></p>
  5230. <blockquote>
  5231. <p>Code samples</p>
  5232. </blockquote>
  5233. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  5234. curl -X DELETE /api/boards/{board}/cards/{card}/comments/{comment} \
  5235. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  5236. </code></pre>
  5237. <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
  5238. <span class="undefined"></span></code></pre>
  5239. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  5240. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  5241. };
  5242. $.ajax({
  5243. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/cards/{card}/comments/{comment}'</span>,
  5244. <span class="hljs-attr">method</span>: <span class="hljs-string">'delete'</span>,
  5245. <span class="hljs-attr">headers</span>: headers,
  5246. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  5247. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  5248. }
  5249. })
  5250. </code></pre>
  5251. <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>);
  5252. <span class="hljs-keyword">const</span> headers = {
  5253. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  5254. };
  5255. fetch(<span class="hljs-string">'/api/boards/{board}/cards/{card}/comments/{comment}'</span>,
  5256. {
  5257. <span class="hljs-attr">method</span>: <span class="hljs-string">'DELETE'</span>,
  5258. <span class="hljs-attr">headers</span>: headers
  5259. })
  5260. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  5261. <span class="hljs-keyword">return</span> res.json();
  5262. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  5263. <span class="hljs-built_in">console</span>.log(body);
  5264. });
  5265. </code></pre>
  5266. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  5267. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  5268. headers = {
  5269. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  5270. }
  5271. result = RestClient.delete <span class="hljs-string">'/api/boards/{board}/cards/{card}/comments/{comment}'</span>,
  5272. <span class="hljs-symbol">params:</span> {
  5273. }, <span class="hljs-symbol">headers:</span> headers
  5274. p JSON.parse(result)
  5275. </code></pre>
  5276. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  5277. headers = {
  5278. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  5279. }
  5280. r = requests.delete(<span class="hljs-string">'/api/boards/{board}/cards/{card}/comments/{comment}'</span>, params={
  5281. }, headers = headers)
  5282. <span class="hljs-keyword">print</span> r.json()
  5283. </code></pre>
  5284. <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>);
  5285. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  5286. con.setRequestMethod(<span class="hljs-string">"DELETE"</span>);
  5287. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  5288. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  5289. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  5290. String inputLine;
  5291. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  5292. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  5293. response.append(inputLine);
  5294. }
  5295. in.close();
  5296. System.out.println(response.toString());
  5297. </code></pre>
  5298. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  5299. <span class="hljs-keyword">import</span> (
  5300. <span class="hljs-string">"bytes"</span>
  5301. <span class="hljs-string">"net/http"</span>
  5302. )
  5303. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  5304. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  5305. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  5306. }
  5307. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  5308. req, err := http.NewRequest(<span class="hljs-string">"DELETE"</span>, <span class="hljs-string">"/api/boards/{board}/cards/{card}/comments/{comment}"</span>, data)
  5309. req.Header = headers
  5310. client := &amp;http.Client{}
  5311. resp, err := client.Do(req)
  5312. <span class="hljs-comment">// ...</span>
  5313. }
  5314. </code></pre>
  5315. <p><code>DELETE /api/boards/{board}/cards/{card}/comments/{comment}</code></p>
  5316. <h3 id="delete_board_card_comment-parameters">Parameters</h3>
  5317. <table>
  5318. <thead>
  5319. <tr>
  5320. <th>Name</th>
  5321. <th>In</th>
  5322. <th>Type</th>
  5323. <th>Required</th>
  5324. <th>Description</th>
  5325. </tr>
  5326. </thead>
  5327. <tbody>
  5328. <tr>
  5329. <td>board</td>
  5330. <td>path</td>
  5331. <td>string</td>
  5332. <td>true</td>
  5333. <td>the board value</td>
  5334. </tr>
  5335. <tr>
  5336. <td>card</td>
  5337. <td>path</td>
  5338. <td>string</td>
  5339. <td>true</td>
  5340. <td>the card value</td>
  5341. </tr>
  5342. <tr>
  5343. <td>comment</td>
  5344. <td>path</td>
  5345. <td>string</td>
  5346. <td>true</td>
  5347. <td>the comment value</td>
  5348. </tr>
  5349. </tbody>
  5350. </table>
  5351. <h3 id="delete_board_card_comment-responses">Responses</h3>
  5352. <table>
  5353. <thead>
  5354. <tr>
  5355. <th>Status</th>
  5356. <th>Meaning</th>
  5357. <th>Description</th>
  5358. <th>Schema</th>
  5359. </tr>
  5360. </thead>
  5361. <tbody>
  5362. <tr>
  5363. <td>200</td>
  5364. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  5365. <td>200 response</td>
  5366. <td>None</td>
  5367. </tr>
  5368. </tbody>
  5369. </table>
  5370. <aside class="warning">
  5371. To perform this operation, you must be authenticated by means of one of the following methods:
  5372. UserSecurity
  5373. </aside>
  5374. <h1 id="wekan-rest-api-customfields">CustomFields</h1>
  5375. <h2 id="get_all_custom_fields">get_all_custom_fields</h2>
  5376. <p><a id="opIdget_all_custom_fields"></a></p>
  5377. <blockquote>
  5378. <p>Code samples</p>
  5379. </blockquote>
  5380. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  5381. curl -X GET /api/boards/{board}/custom-fields \
  5382. -H <span class="hljs-string">'Accept: application/json'</span> \
  5383. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  5384. </code></pre>
  5385. <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
  5386. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  5387. <span class="undefined"></span></span></code></pre>
  5388. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  5389. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  5390. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  5391. };
  5392. $.ajax({
  5393. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/custom-fields'</span>,
  5394. <span class="hljs-attr">method</span>: <span class="hljs-string">'get'</span>,
  5395. <span class="hljs-attr">headers</span>: headers,
  5396. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  5397. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  5398. }
  5399. })
  5400. </code></pre>
  5401. <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>);
  5402. <span class="hljs-keyword">const</span> headers = {
  5403. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  5404. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  5405. };
  5406. fetch(<span class="hljs-string">'/api/boards/{board}/custom-fields'</span>,
  5407. {
  5408. <span class="hljs-attr">method</span>: <span class="hljs-string">'GET'</span>,
  5409. <span class="hljs-attr">headers</span>: headers
  5410. })
  5411. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  5412. <span class="hljs-keyword">return</span> res.json();
  5413. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  5414. <span class="hljs-built_in">console</span>.log(body);
  5415. });
  5416. </code></pre>
  5417. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  5418. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  5419. headers = {
  5420. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  5421. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  5422. }
  5423. result = RestClient.get <span class="hljs-string">'/api/boards/{board}/custom-fields'</span>,
  5424. <span class="hljs-symbol">params:</span> {
  5425. }, <span class="hljs-symbol">headers:</span> headers
  5426. p JSON.parse(result)
  5427. </code></pre>
  5428. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  5429. headers = {
  5430. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  5431. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  5432. }
  5433. r = requests.get(<span class="hljs-string">'/api/boards/{board}/custom-fields'</span>, params={
  5434. }, headers = headers)
  5435. <span class="hljs-keyword">print</span> r.json()
  5436. </code></pre>
  5437. <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>);
  5438. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  5439. con.setRequestMethod(<span class="hljs-string">"GET"</span>);
  5440. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  5441. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  5442. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  5443. String inputLine;
  5444. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  5445. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  5446. response.append(inputLine);
  5447. }
  5448. in.close();
  5449. System.out.println(response.toString());
  5450. </code></pre>
  5451. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  5452. <span class="hljs-keyword">import</span> (
  5453. <span class="hljs-string">"bytes"</span>
  5454. <span class="hljs-string">"net/http"</span>
  5455. )
  5456. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  5457. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  5458. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  5459. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  5460. }
  5461. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  5462. req, err := http.NewRequest(<span class="hljs-string">"GET"</span>, <span class="hljs-string">"/api/boards/{board}/custom-fields"</span>, data)
  5463. req.Header = headers
  5464. client := &amp;http.Client{}
  5465. resp, err := client.Do(req)
  5466. <span class="hljs-comment">// ...</span>
  5467. }
  5468. </code></pre>
  5469. <p><code>GET /api/boards/{board}/custom-fields</code></p>
  5470. <p><em>Get the list of Custom Fields attached to a board</em></p>
  5471. <h3 id="get_all_custom_fields-parameters">Parameters</h3>
  5472. <table>
  5473. <thead>
  5474. <tr>
  5475. <th>Name</th>
  5476. <th>In</th>
  5477. <th>Type</th>
  5478. <th>Required</th>
  5479. <th>Description</th>
  5480. </tr>
  5481. </thead>
  5482. <tbody>
  5483. <tr>
  5484. <td>board</td>
  5485. <td>path</td>
  5486. <td>string</td>
  5487. <td>true</td>
  5488. <td>the board value</td>
  5489. </tr>
  5490. </tbody>
  5491. </table>
  5492. <blockquote>
  5493. <p>Example responses</p>
  5494. </blockquote>
  5495. <blockquote>
  5496. <p>200 Response</p>
  5497. </blockquote>
  5498. <pre class="highlight tab tab-json"><code>[
  5499. {
  5500. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>,
  5501. <span class="hljs-attr">"name"</span>: <span class="hljs-string">"string"</span>,
  5502. <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
  5503. }
  5504. ]
  5505. </code></pre>
  5506. <h3 id="get_all_custom_fields-responses">Responses</h3>
  5507. <table>
  5508. <thead>
  5509. <tr>
  5510. <th>Status</th>
  5511. <th>Meaning</th>
  5512. <th>Description</th>
  5513. <th>Schema</th>
  5514. </tr>
  5515. </thead>
  5516. <tbody>
  5517. <tr>
  5518. <td>200</td>
  5519. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  5520. <td>200 response</td>
  5521. <td>Inline</td>
  5522. </tr>
  5523. </tbody>
  5524. </table>
  5525. <h3 id="get_all_custom_fields-responseschema">Response Schema</h3>
  5526. <p>Status Code <strong>200</strong></p>
  5527. <table>
  5528. <thead>
  5529. <tr>
  5530. <th>Name</th>
  5531. <th>Type</th>
  5532. <th>Required</th>
  5533. <th>Restrictions</th>
  5534. <th>Description</th>
  5535. </tr>
  5536. </thead>
  5537. <tbody>
  5538. <tr>
  5539. <td>» _id</td>
  5540. <td>string</td>
  5541. <td>false</td>
  5542. <td>none</td>
  5543. <td>none</td>
  5544. </tr>
  5545. <tr>
  5546. <td>» name</td>
  5547. <td>string</td>
  5548. <td>false</td>
  5549. <td>none</td>
  5550. <td>none</td>
  5551. </tr>
  5552. <tr>
  5553. <td>» type</td>
  5554. <td>string</td>
  5555. <td>false</td>
  5556. <td>none</td>
  5557. <td>none</td>
  5558. </tr>
  5559. </tbody>
  5560. </table>
  5561. <aside class="warning">
  5562. To perform this operation, you must be authenticated by means of one of the following methods:
  5563. UserSecurity
  5564. </aside>
  5565. <h2 id="new_custom_field">new_custom_field</h2>
  5566. <p><a id="opIdnew_custom_field"></a></p>
  5567. <blockquote>
  5568. <p>Code samples</p>
  5569. </blockquote>
  5570. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  5571. curl -X POST /api/boards/{board}/custom-fields \
  5572. -H <span class="hljs-string">'Content-Type: multipart/form-data'</span> \
  5573. -H <span class="hljs-string">'Accept: application/json'</span> \
  5574. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  5575. </code></pre>
  5576. <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
  5577. <span class="fortran">Content-<span class="hljs-keyword">Type</span>: multipart/<span class="hljs-keyword">form</span>-<span class="hljs-keyword">data</span>
  5578. Accept: application/json
  5579. </span></code></pre>
  5580. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  5581. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  5582. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  5583. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  5584. };
  5585. $.ajax({
  5586. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/custom-fields'</span>,
  5587. <span class="hljs-attr">method</span>: <span class="hljs-string">'post'</span>,
  5588. <span class="hljs-attr">headers</span>: headers,
  5589. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  5590. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  5591. }
  5592. })
  5593. </code></pre>
  5594. <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>);
  5595. <span class="hljs-keyword">const</span> inputBody = <span class="hljs-string">'{
  5596. "name": "string",
  5597. "type": "string",
  5598. "settings": "string",
  5599. "showOnCard": true,
  5600. "automaticallyOnCard": true,
  5601. "showLabelOnMiniCard": true,
  5602. "authorId": "string"
  5603. }'</span>;
  5604. <span class="hljs-keyword">const</span> headers = {
  5605. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  5606. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  5607. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  5608. };
  5609. fetch(<span class="hljs-string">'/api/boards/{board}/custom-fields'</span>,
  5610. {
  5611. <span class="hljs-attr">method</span>: <span class="hljs-string">'POST'</span>,
  5612. <span class="hljs-attr">body</span>: inputBody,
  5613. <span class="hljs-attr">headers</span>: headers
  5614. })
  5615. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  5616. <span class="hljs-keyword">return</span> res.json();
  5617. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  5618. <span class="hljs-built_in">console</span>.log(body);
  5619. });
  5620. </code></pre>
  5621. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  5622. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  5623. headers = {
  5624. <span class="hljs-string">'Content-Type'</span> =&gt; <span class="hljs-string">'multipart/form-data'</span>,
  5625. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  5626. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  5627. }
  5628. result = RestClient.post <span class="hljs-string">'/api/boards/{board}/custom-fields'</span>,
  5629. <span class="hljs-symbol">params:</span> {
  5630. }, <span class="hljs-symbol">headers:</span> headers
  5631. p JSON.parse(result)
  5632. </code></pre>
  5633. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  5634. headers = {
  5635. <span class="hljs-string">'Content-Type'</span>: <span class="hljs-string">'multipart/form-data'</span>,
  5636. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  5637. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  5638. }
  5639. r = requests.post(<span class="hljs-string">'/api/boards/{board}/custom-fields'</span>, params={
  5640. }, headers = headers)
  5641. <span class="hljs-keyword">print</span> r.json()
  5642. </code></pre>
  5643. <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>);
  5644. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  5645. con.setRequestMethod(<span class="hljs-string">"POST"</span>);
  5646. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  5647. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  5648. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  5649. String inputLine;
  5650. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  5651. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  5652. response.append(inputLine);
  5653. }
  5654. in.close();
  5655. System.out.println(response.toString());
  5656. </code></pre>
  5657. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  5658. <span class="hljs-keyword">import</span> (
  5659. <span class="hljs-string">"bytes"</span>
  5660. <span class="hljs-string">"net/http"</span>
  5661. )
  5662. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  5663. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  5664. <span class="hljs-string">"Content-Type"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"multipart/form-data"</span>},
  5665. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  5666. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  5667. }
  5668. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  5669. req, err := http.NewRequest(<span class="hljs-string">"POST"</span>, <span class="hljs-string">"/api/boards/{board}/custom-fields"</span>, data)
  5670. req.Header = headers
  5671. client := &amp;http.Client{}
  5672. resp, err := client.Do(req)
  5673. <span class="hljs-comment">// ...</span>
  5674. }
  5675. </code></pre>
  5676. <p><code>POST /api/boards/{board}/custom-fields</code></p>
  5677. <p><em>Create a Custom Field</em></p>
  5678. <blockquote>
  5679. <p>Body parameter</p>
  5680. </blockquote>
  5681. <pre class="highlight tab tab-yaml"><code><span class="hljs-attr">name:</span> <span class="hljs-string">string</span>
  5682. <span class="hljs-attr">type:</span> <span class="hljs-string">string</span>
  5683. <span class="hljs-attr">settings:</span> <span class="hljs-string">string</span>
  5684. <span class="hljs-attr">showOnCard:</span> <span class="hljs-literal">true</span>
  5685. <span class="hljs-attr">automaticallyOnCard:</span> <span class="hljs-literal">true</span>
  5686. <span class="hljs-attr">showLabelOnMiniCard:</span> <span class="hljs-literal">true</span>
  5687. <span class="hljs-attr">authorId:</span> <span class="hljs-string">string</span>
  5688. </code></pre>
  5689. <h3 id="new_custom_field-parameters">Parameters</h3>
  5690. <table>
  5691. <thead>
  5692. <tr>
  5693. <th>Name</th>
  5694. <th>In</th>
  5695. <th>Type</th>
  5696. <th>Required</th>
  5697. <th>Description</th>
  5698. </tr>
  5699. </thead>
  5700. <tbody>
  5701. <tr>
  5702. <td>board</td>
  5703. <td>path</td>
  5704. <td>string</td>
  5705. <td>true</td>
  5706. <td>the board value</td>
  5707. </tr>
  5708. <tr>
  5709. <td>body</td>
  5710. <td>body</td>
  5711. <td>object</td>
  5712. <td>false</td>
  5713. <td>none</td>
  5714. </tr>
  5715. <tr>
  5716. <td>» name</td>
  5717. <td>body</td>
  5718. <td>string</td>
  5719. <td>true</td>
  5720. <td>the name of the custom field</td>
  5721. </tr>
  5722. <tr>
  5723. <td>» type</td>
  5724. <td>body</td>
  5725. <td>string</td>
  5726. <td>true</td>
  5727. <td>the type of the custom field</td>
  5728. </tr>
  5729. <tr>
  5730. <td>» settings</td>
  5731. <td>body</td>
  5732. <td>string</td>
  5733. <td>true</td>
  5734. <td>the settings object of the custom field</td>
  5735. </tr>
  5736. <tr>
  5737. <td>» showOnCard</td>
  5738. <td>body</td>
  5739. <td>boolean</td>
  5740. <td>true</td>
  5741. <td>should we show the custom field on cards?</td>
  5742. </tr>
  5743. <tr>
  5744. <td>» automaticallyOnCard</td>
  5745. <td>body</td>
  5746. <td>boolean</td>
  5747. <td>true</td>
  5748. <td>should the custom fields automatically be added on cards?</td>
  5749. </tr>
  5750. <tr>
  5751. <td>» showLabelOnMiniCard</td>
  5752. <td>body</td>
  5753. <td>boolean</td>
  5754. <td>true</td>
  5755. <td>should the label of the custom field be shown on minicards?</td>
  5756. </tr>
  5757. <tr>
  5758. <td>» authorId</td>
  5759. <td>body</td>
  5760. <td>string</td>
  5761. <td>true</td>
  5762. <td>the authorId value</td>
  5763. </tr>
  5764. </tbody>
  5765. </table>
  5766. <blockquote>
  5767. <p>Example responses</p>
  5768. </blockquote>
  5769. <blockquote>
  5770. <p>200 Response</p>
  5771. </blockquote>
  5772. <pre class="highlight tab tab-json"><code>{
  5773. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>
  5774. }
  5775. </code></pre>
  5776. <h3 id="new_custom_field-responses">Responses</h3>
  5777. <table>
  5778. <thead>
  5779. <tr>
  5780. <th>Status</th>
  5781. <th>Meaning</th>
  5782. <th>Description</th>
  5783. <th>Schema</th>
  5784. </tr>
  5785. </thead>
  5786. <tbody>
  5787. <tr>
  5788. <td>200</td>
  5789. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  5790. <td>200 response</td>
  5791. <td>Inline</td>
  5792. </tr>
  5793. </tbody>
  5794. </table>
  5795. <h3 id="new_custom_field-responseschema">Response Schema</h3>
  5796. <p>Status Code <strong>200</strong></p>
  5797. <table>
  5798. <thead>
  5799. <tr>
  5800. <th>Name</th>
  5801. <th>Type</th>
  5802. <th>Required</th>
  5803. <th>Restrictions</th>
  5804. <th>Description</th>
  5805. </tr>
  5806. </thead>
  5807. <tbody>
  5808. <tr>
  5809. <td>» _id</td>
  5810. <td>string</td>
  5811. <td>false</td>
  5812. <td>none</td>
  5813. <td>none</td>
  5814. </tr>
  5815. </tbody>
  5816. </table>
  5817. <aside class="warning">
  5818. To perform this operation, you must be authenticated by means of one of the following methods:
  5819. UserSecurity
  5820. </aside>
  5821. <h2 id="get_board_customfield">get_board_customField</h2>
  5822. <p><a id="opIdget_board_customField"></a></p>
  5823. <blockquote>
  5824. <p>Code samples</p>
  5825. </blockquote>
  5826. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  5827. curl -X GET /api/boards/{board}/custom-fields/{customField} \
  5828. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  5829. </code></pre>
  5830. <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
  5831. <span class="undefined"></span></code></pre>
  5832. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  5833. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  5834. };
  5835. $.ajax({
  5836. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/custom-fields/{customField}'</span>,
  5837. <span class="hljs-attr">method</span>: <span class="hljs-string">'get'</span>,
  5838. <span class="hljs-attr">headers</span>: headers,
  5839. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  5840. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  5841. }
  5842. })
  5843. </code></pre>
  5844. <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>);
  5845. <span class="hljs-keyword">const</span> headers = {
  5846. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  5847. };
  5848. fetch(<span class="hljs-string">'/api/boards/{board}/custom-fields/{customField}'</span>,
  5849. {
  5850. <span class="hljs-attr">method</span>: <span class="hljs-string">'GET'</span>,
  5851. <span class="hljs-attr">headers</span>: headers
  5852. })
  5853. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  5854. <span class="hljs-keyword">return</span> res.json();
  5855. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  5856. <span class="hljs-built_in">console</span>.log(body);
  5857. });
  5858. </code></pre>
  5859. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  5860. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  5861. headers = {
  5862. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  5863. }
  5864. result = RestClient.get <span class="hljs-string">'/api/boards/{board}/custom-fields/{customField}'</span>,
  5865. <span class="hljs-symbol">params:</span> {
  5866. }, <span class="hljs-symbol">headers:</span> headers
  5867. p JSON.parse(result)
  5868. </code></pre>
  5869. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  5870. headers = {
  5871. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  5872. }
  5873. r = requests.get(<span class="hljs-string">'/api/boards/{board}/custom-fields/{customField}'</span>, params={
  5874. }, headers = headers)
  5875. <span class="hljs-keyword">print</span> r.json()
  5876. </code></pre>
  5877. <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>);
  5878. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  5879. con.setRequestMethod(<span class="hljs-string">"GET"</span>);
  5880. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  5881. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  5882. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  5883. String inputLine;
  5884. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  5885. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  5886. response.append(inputLine);
  5887. }
  5888. in.close();
  5889. System.out.println(response.toString());
  5890. </code></pre>
  5891. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  5892. <span class="hljs-keyword">import</span> (
  5893. <span class="hljs-string">"bytes"</span>
  5894. <span class="hljs-string">"net/http"</span>
  5895. )
  5896. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  5897. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  5898. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  5899. }
  5900. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  5901. req, err := http.NewRequest(<span class="hljs-string">"GET"</span>, <span class="hljs-string">"/api/boards/{board}/custom-fields/{customField}"</span>, data)
  5902. req.Header = headers
  5903. client := &amp;http.Client{}
  5904. resp, err := client.Do(req)
  5905. <span class="hljs-comment">// ...</span>
  5906. }
  5907. </code></pre>
  5908. <p><code>GET /api/boards/{board}/custom-fields/{customField}</code></p>
  5909. <h3 id="get_board_customfield-parameters">Parameters</h3>
  5910. <table>
  5911. <thead>
  5912. <tr>
  5913. <th>Name</th>
  5914. <th>In</th>
  5915. <th>Type</th>
  5916. <th>Required</th>
  5917. <th>Description</th>
  5918. </tr>
  5919. </thead>
  5920. <tbody>
  5921. <tr>
  5922. <td>board</td>
  5923. <td>path</td>
  5924. <td>string</td>
  5925. <td>true</td>
  5926. <td>the board value</td>
  5927. </tr>
  5928. <tr>
  5929. <td>customField</td>
  5930. <td>path</td>
  5931. <td>string</td>
  5932. <td>true</td>
  5933. <td>the customField value</td>
  5934. </tr>
  5935. </tbody>
  5936. </table>
  5937. <h3 id="get_board_customfield-responses">Responses</h3>
  5938. <table>
  5939. <thead>
  5940. <tr>
  5941. <th>Status</th>
  5942. <th>Meaning</th>
  5943. <th>Description</th>
  5944. <th>Schema</th>
  5945. </tr>
  5946. </thead>
  5947. <tbody>
  5948. <tr>
  5949. <td>200</td>
  5950. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  5951. <td>200 response</td>
  5952. <td>None</td>
  5953. </tr>
  5954. </tbody>
  5955. </table>
  5956. <aside class="warning">
  5957. To perform this operation, you must be authenticated by means of one of the following methods:
  5958. UserSecurity
  5959. </aside>
  5960. <h2 id="delete_board_customfield">delete_board_customField</h2>
  5961. <p><a id="opIddelete_board_customField"></a></p>
  5962. <blockquote>
  5963. <p>Code samples</p>
  5964. </blockquote>
  5965. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  5966. curl -X DELETE /api/boards/{board}/custom-fields/{customField} \
  5967. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  5968. </code></pre>
  5969. <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
  5970. <span class="undefined"></span></code></pre>
  5971. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  5972. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  5973. };
  5974. $.ajax({
  5975. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/custom-fields/{customField}'</span>,
  5976. <span class="hljs-attr">method</span>: <span class="hljs-string">'delete'</span>,
  5977. <span class="hljs-attr">headers</span>: headers,
  5978. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  5979. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  5980. }
  5981. })
  5982. </code></pre>
  5983. <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>);
  5984. <span class="hljs-keyword">const</span> headers = {
  5985. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  5986. };
  5987. fetch(<span class="hljs-string">'/api/boards/{board}/custom-fields/{customField}'</span>,
  5988. {
  5989. <span class="hljs-attr">method</span>: <span class="hljs-string">'DELETE'</span>,
  5990. <span class="hljs-attr">headers</span>: headers
  5991. })
  5992. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  5993. <span class="hljs-keyword">return</span> res.json();
  5994. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  5995. <span class="hljs-built_in">console</span>.log(body);
  5996. });
  5997. </code></pre>
  5998. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  5999. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  6000. headers = {
  6001. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  6002. }
  6003. result = RestClient.delete <span class="hljs-string">'/api/boards/{board}/custom-fields/{customField}'</span>,
  6004. <span class="hljs-symbol">params:</span> {
  6005. }, <span class="hljs-symbol">headers:</span> headers
  6006. p JSON.parse(result)
  6007. </code></pre>
  6008. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  6009. headers = {
  6010. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  6011. }
  6012. r = requests.delete(<span class="hljs-string">'/api/boards/{board}/custom-fields/{customField}'</span>, params={
  6013. }, headers = headers)
  6014. <span class="hljs-keyword">print</span> r.json()
  6015. </code></pre>
  6016. <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>);
  6017. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  6018. con.setRequestMethod(<span class="hljs-string">"DELETE"</span>);
  6019. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  6020. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  6021. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  6022. String inputLine;
  6023. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  6024. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  6025. response.append(inputLine);
  6026. }
  6027. in.close();
  6028. System.out.println(response.toString());
  6029. </code></pre>
  6030. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  6031. <span class="hljs-keyword">import</span> (
  6032. <span class="hljs-string">"bytes"</span>
  6033. <span class="hljs-string">"net/http"</span>
  6034. )
  6035. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  6036. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  6037. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  6038. }
  6039. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  6040. req, err := http.NewRequest(<span class="hljs-string">"DELETE"</span>, <span class="hljs-string">"/api/boards/{board}/custom-fields/{customField}"</span>, data)
  6041. req.Header = headers
  6042. client := &amp;http.Client{}
  6043. resp, err := client.Do(req)
  6044. <span class="hljs-comment">// ...</span>
  6045. }
  6046. </code></pre>
  6047. <p><code>DELETE /api/boards/{board}/custom-fields/{customField}</code></p>
  6048. <h3 id="delete_board_customfield-parameters">Parameters</h3>
  6049. <table>
  6050. <thead>
  6051. <tr>
  6052. <th>Name</th>
  6053. <th>In</th>
  6054. <th>Type</th>
  6055. <th>Required</th>
  6056. <th>Description</th>
  6057. </tr>
  6058. </thead>
  6059. <tbody>
  6060. <tr>
  6061. <td>board</td>
  6062. <td>path</td>
  6063. <td>string</td>
  6064. <td>true</td>
  6065. <td>the board value</td>
  6066. </tr>
  6067. <tr>
  6068. <td>customField</td>
  6069. <td>path</td>
  6070. <td>string</td>
  6071. <td>true</td>
  6072. <td>the customField value</td>
  6073. </tr>
  6074. </tbody>
  6075. </table>
  6076. <h3 id="delete_board_customfield-responses">Responses</h3>
  6077. <table>
  6078. <thead>
  6079. <tr>
  6080. <th>Status</th>
  6081. <th>Meaning</th>
  6082. <th>Description</th>
  6083. <th>Schema</th>
  6084. </tr>
  6085. </thead>
  6086. <tbody>
  6087. <tr>
  6088. <td>200</td>
  6089. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  6090. <td>200 response</td>
  6091. <td>None</td>
  6092. </tr>
  6093. </tbody>
  6094. </table>
  6095. <aside class="warning">
  6096. To perform this operation, you must be authenticated by means of one of the following methods:
  6097. UserSecurity
  6098. </aside>
  6099. <h1 id="wekan-rest-api-integrations">Integrations</h1>
  6100. <h2 id="get_all_integrations">get_all_integrations</h2>
  6101. <p><a id="opIdget_all_integrations"></a></p>
  6102. <blockquote>
  6103. <p>Code samples</p>
  6104. </blockquote>
  6105. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  6106. curl -X GET /api/boards/{board}/integrations \
  6107. -H <span class="hljs-string">'Accept: application/json'</span> \
  6108. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  6109. </code></pre>
  6110. <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
  6111. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  6112. <span class="undefined"></span></span></code></pre>
  6113. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  6114. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  6115. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  6116. };
  6117. $.ajax({
  6118. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/integrations'</span>,
  6119. <span class="hljs-attr">method</span>: <span class="hljs-string">'get'</span>,
  6120. <span class="hljs-attr">headers</span>: headers,
  6121. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  6122. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  6123. }
  6124. })
  6125. </code></pre>
  6126. <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>);
  6127. <span class="hljs-keyword">const</span> headers = {
  6128. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  6129. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  6130. };
  6131. fetch(<span class="hljs-string">'/api/boards/{board}/integrations'</span>,
  6132. {
  6133. <span class="hljs-attr">method</span>: <span class="hljs-string">'GET'</span>,
  6134. <span class="hljs-attr">headers</span>: headers
  6135. })
  6136. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  6137. <span class="hljs-keyword">return</span> res.json();
  6138. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  6139. <span class="hljs-built_in">console</span>.log(body);
  6140. });
  6141. </code></pre>
  6142. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  6143. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  6144. headers = {
  6145. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  6146. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  6147. }
  6148. result = RestClient.get <span class="hljs-string">'/api/boards/{board}/integrations'</span>,
  6149. <span class="hljs-symbol">params:</span> {
  6150. }, <span class="hljs-symbol">headers:</span> headers
  6151. p JSON.parse(result)
  6152. </code></pre>
  6153. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  6154. headers = {
  6155. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  6156. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  6157. }
  6158. r = requests.get(<span class="hljs-string">'/api/boards/{board}/integrations'</span>, params={
  6159. }, headers = headers)
  6160. <span class="hljs-keyword">print</span> r.json()
  6161. </code></pre>
  6162. <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>);
  6163. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  6164. con.setRequestMethod(<span class="hljs-string">"GET"</span>);
  6165. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  6166. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  6167. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  6168. String inputLine;
  6169. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  6170. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  6171. response.append(inputLine);
  6172. }
  6173. in.close();
  6174. System.out.println(response.toString());
  6175. </code></pre>
  6176. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  6177. <span class="hljs-keyword">import</span> (
  6178. <span class="hljs-string">"bytes"</span>
  6179. <span class="hljs-string">"net/http"</span>
  6180. )
  6181. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  6182. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  6183. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  6184. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  6185. }
  6186. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  6187. req, err := http.NewRequest(<span class="hljs-string">"GET"</span>, <span class="hljs-string">"/api/boards/{board}/integrations"</span>, data)
  6188. req.Header = headers
  6189. client := &amp;http.Client{}
  6190. resp, err := client.Do(req)
  6191. <span class="hljs-comment">// ...</span>
  6192. }
  6193. </code></pre>
  6194. <p><code>GET /api/boards/{board}/integrations</code></p>
  6195. <p><em>Get all integrations in board</em></p>
  6196. <h3 id="get_all_integrations-parameters">Parameters</h3>
  6197. <table>
  6198. <thead>
  6199. <tr>
  6200. <th>Name</th>
  6201. <th>In</th>
  6202. <th>Type</th>
  6203. <th>Required</th>
  6204. <th>Description</th>
  6205. </tr>
  6206. </thead>
  6207. <tbody>
  6208. <tr>
  6209. <td>board</td>
  6210. <td>path</td>
  6211. <td>string</td>
  6212. <td>true</td>
  6213. <td>the board ID</td>
  6214. </tr>
  6215. </tbody>
  6216. </table>
  6217. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  6218. <p><strong>board</strong>: the board ID</p>
  6219. <blockquote>
  6220. <p>Example responses</p>
  6221. </blockquote>
  6222. <blockquote>
  6223. <p>200 Response</p>
  6224. </blockquote>
  6225. <pre class="highlight tab tab-json"><code>[
  6226. {
  6227. <span class="hljs-attr">"enabled"</span>: <span class="hljs-literal">true</span>,
  6228. <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
  6229. <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>,
  6230. <span class="hljs-attr">"activities"</span>: [
  6231. <span class="hljs-string">"string"</span>
  6232. ],
  6233. <span class="hljs-attr">"url"</span>: <span class="hljs-string">"string"</span>,
  6234. <span class="hljs-attr">"token"</span>: <span class="hljs-string">"string"</span>,
  6235. <span class="hljs-attr">"boardId"</span>: <span class="hljs-string">"string"</span>,
  6236. <span class="hljs-attr">"createdAt"</span>: <span class="hljs-string">"string"</span>,
  6237. <span class="hljs-attr">"modifiedAt"</span>: <span class="hljs-string">"string"</span>,
  6238. <span class="hljs-attr">"userId"</span>: <span class="hljs-string">"string"</span>
  6239. }
  6240. ]
  6241. </code></pre>
  6242. <h3 id="get_all_integrations-responses">Responses</h3>
  6243. <table>
  6244. <thead>
  6245. <tr>
  6246. <th>Status</th>
  6247. <th>Meaning</th>
  6248. <th>Description</th>
  6249. <th>Schema</th>
  6250. </tr>
  6251. </thead>
  6252. <tbody>
  6253. <tr>
  6254. <td>200</td>
  6255. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  6256. <td>200 response</td>
  6257. <td>Inline</td>
  6258. </tr>
  6259. </tbody>
  6260. </table>
  6261. <h3 id="get_all_integrations-responseschema">Response Schema</h3>
  6262. <p>Status Code <strong>200</strong></p>
  6263. <table>
  6264. <thead>
  6265. <tr>
  6266. <th>Name</th>
  6267. <th>Type</th>
  6268. <th>Required</th>
  6269. <th>Restrictions</th>
  6270. <th>Description</th>
  6271. </tr>
  6272. </thead>
  6273. <tbody>
  6274. <tr>
  6275. <td><em>anonymous</em></td>
  6276. <td>[<a href="#schemaintegrations">Integrations</a>]</td>
  6277. <td>false</td>
  6278. <td>none</td>
  6279. <td>[Integration with third-party applications]</td>
  6280. </tr>
  6281. <tr>
  6282. <td>» enabled</td>
  6283. <td>boolean</td>
  6284. <td>true</td>
  6285. <td>none</td>
  6286. <td>is the integration enabled?</td>
  6287. </tr>
  6288. <tr>
  6289. <td>» title</td>
  6290. <td>string|null</td>
  6291. <td>false</td>
  6292. <td>none</td>
  6293. <td>name of the integration</td>
  6294. </tr>
  6295. <tr>
  6296. <td>» type</td>
  6297. <td>string</td>
  6298. <td>true</td>
  6299. <td>none</td>
  6300. <td>type of the integratation (Default to 'outgoing-webhooks')</td>
  6301. </tr>
  6302. <tr>
  6303. <td>» activities</td>
  6304. <td>[string]</td>
  6305. <td>true</td>
  6306. <td>none</td>
  6307. <td>activities the integration gets triggered (list)</td>
  6308. </tr>
  6309. <tr>
  6310. <td>» url</td>
  6311. <td>string</td>
  6312. <td>true</td>
  6313. <td>none</td>
  6314. <td>none</td>
  6315. </tr>
  6316. <tr>
  6317. <td>» token</td>
  6318. <td>string|null</td>
  6319. <td>false</td>
  6320. <td>none</td>
  6321. <td>token of the integration</td>
  6322. </tr>
  6323. <tr>
  6324. <td>» boardId</td>
  6325. <td>string</td>
  6326. <td>true</td>
  6327. <td>none</td>
  6328. <td>Board ID of the integration</td>
  6329. </tr>
  6330. <tr>
  6331. <td>» createdAt</td>
  6332. <td>string</td>
  6333. <td>true</td>
  6334. <td>none</td>
  6335. <td>Creation date of the integration</td>
  6336. </tr>
  6337. <tr>
  6338. <td>» modifiedAt</td>
  6339. <td>string</td>
  6340. <td>true</td>
  6341. <td>none</td>
  6342. <td>none</td>
  6343. </tr>
  6344. <tr>
  6345. <td>» userId</td>
  6346. <td>string</td>
  6347. <td>true</td>
  6348. <td>none</td>
  6349. <td>user ID who created the interation</td>
  6350. </tr>
  6351. </tbody>
  6352. </table>
  6353. <aside class="warning">
  6354. To perform this operation, you must be authenticated by means of one of the following methods:
  6355. UserSecurity
  6356. </aside>
  6357. <h2 id="new_integration">new_integration</h2>
  6358. <p><a id="opIdnew_integration"></a></p>
  6359. <blockquote>
  6360. <p>Code samples</p>
  6361. </blockquote>
  6362. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  6363. curl -X POST /api/boards/{board}/integrations \
  6364. -H <span class="hljs-string">'Content-Type: multipart/form-data'</span> \
  6365. -H <span class="hljs-string">'Accept: application/json'</span> \
  6366. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  6367. </code></pre>
  6368. <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
  6369. <span class="fortran">Content-<span class="hljs-keyword">Type</span>: multipart/<span class="hljs-keyword">form</span>-<span class="hljs-keyword">data</span>
  6370. Accept: application/json
  6371. </span></code></pre>
  6372. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  6373. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  6374. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  6375. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  6376. };
  6377. $.ajax({
  6378. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/integrations'</span>,
  6379. <span class="hljs-attr">method</span>: <span class="hljs-string">'post'</span>,
  6380. <span class="hljs-attr">headers</span>: headers,
  6381. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  6382. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  6383. }
  6384. })
  6385. </code></pre>
  6386. <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>);
  6387. <span class="hljs-keyword">const</span> inputBody = <span class="hljs-string">'{
  6388. "url": "string"
  6389. }'</span>;
  6390. <span class="hljs-keyword">const</span> headers = {
  6391. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  6392. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  6393. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  6394. };
  6395. fetch(<span class="hljs-string">'/api/boards/{board}/integrations'</span>,
  6396. {
  6397. <span class="hljs-attr">method</span>: <span class="hljs-string">'POST'</span>,
  6398. <span class="hljs-attr">body</span>: inputBody,
  6399. <span class="hljs-attr">headers</span>: headers
  6400. })
  6401. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  6402. <span class="hljs-keyword">return</span> res.json();
  6403. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  6404. <span class="hljs-built_in">console</span>.log(body);
  6405. });
  6406. </code></pre>
  6407. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  6408. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  6409. headers = {
  6410. <span class="hljs-string">'Content-Type'</span> =&gt; <span class="hljs-string">'multipart/form-data'</span>,
  6411. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  6412. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  6413. }
  6414. result = RestClient.post <span class="hljs-string">'/api/boards/{board}/integrations'</span>,
  6415. <span class="hljs-symbol">params:</span> {
  6416. }, <span class="hljs-symbol">headers:</span> headers
  6417. p JSON.parse(result)
  6418. </code></pre>
  6419. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  6420. headers = {
  6421. <span class="hljs-string">'Content-Type'</span>: <span class="hljs-string">'multipart/form-data'</span>,
  6422. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  6423. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  6424. }
  6425. r = requests.post(<span class="hljs-string">'/api/boards/{board}/integrations'</span>, params={
  6426. }, headers = headers)
  6427. <span class="hljs-keyword">print</span> r.json()
  6428. </code></pre>
  6429. <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>);
  6430. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  6431. con.setRequestMethod(<span class="hljs-string">"POST"</span>);
  6432. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  6433. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  6434. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  6435. String inputLine;
  6436. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  6437. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  6438. response.append(inputLine);
  6439. }
  6440. in.close();
  6441. System.out.println(response.toString());
  6442. </code></pre>
  6443. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  6444. <span class="hljs-keyword">import</span> (
  6445. <span class="hljs-string">"bytes"</span>
  6446. <span class="hljs-string">"net/http"</span>
  6447. )
  6448. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  6449. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  6450. <span class="hljs-string">"Content-Type"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"multipart/form-data"</span>},
  6451. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  6452. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  6453. }
  6454. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  6455. req, err := http.NewRequest(<span class="hljs-string">"POST"</span>, <span class="hljs-string">"/api/boards/{board}/integrations"</span>, data)
  6456. req.Header = headers
  6457. client := &amp;http.Client{}
  6458. resp, err := client.Do(req)
  6459. <span class="hljs-comment">// ...</span>
  6460. }
  6461. </code></pre>
  6462. <p><code>POST /api/boards/{board}/integrations</code></p>
  6463. <p><em>Create a new integration</em></p>
  6464. <blockquote>
  6465. <p>Body parameter</p>
  6466. </blockquote>
  6467. <pre class="highlight tab tab-yaml"><code><span class="hljs-attr">url:</span> <span class="hljs-string">string</span>
  6468. </code></pre>
  6469. <h3 id="new_integration-parameters">Parameters</h3>
  6470. <table>
  6471. <thead>
  6472. <tr>
  6473. <th>Name</th>
  6474. <th>In</th>
  6475. <th>Type</th>
  6476. <th>Required</th>
  6477. <th>Description</th>
  6478. </tr>
  6479. </thead>
  6480. <tbody>
  6481. <tr>
  6482. <td>board</td>
  6483. <td>path</td>
  6484. <td>string</td>
  6485. <td>true</td>
  6486. <td>the board ID</td>
  6487. </tr>
  6488. <tr>
  6489. <td>body</td>
  6490. <td>body</td>
  6491. <td>object</td>
  6492. <td>false</td>
  6493. <td>none</td>
  6494. </tr>
  6495. <tr>
  6496. <td>» url</td>
  6497. <td>body</td>
  6498. <td>string</td>
  6499. <td>true</td>
  6500. <td>the URL of the integration</td>
  6501. </tr>
  6502. </tbody>
  6503. </table>
  6504. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  6505. <p><strong>board</strong>: the board ID</p>
  6506. <blockquote>
  6507. <p>Example responses</p>
  6508. </blockquote>
  6509. <blockquote>
  6510. <p>200 Response</p>
  6511. </blockquote>
  6512. <pre class="highlight tab tab-json"><code>{
  6513. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>
  6514. }
  6515. </code></pre>
  6516. <h3 id="new_integration-responses">Responses</h3>
  6517. <table>
  6518. <thead>
  6519. <tr>
  6520. <th>Status</th>
  6521. <th>Meaning</th>
  6522. <th>Description</th>
  6523. <th>Schema</th>
  6524. </tr>
  6525. </thead>
  6526. <tbody>
  6527. <tr>
  6528. <td>200</td>
  6529. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  6530. <td>200 response</td>
  6531. <td>Inline</td>
  6532. </tr>
  6533. </tbody>
  6534. </table>
  6535. <h3 id="new_integration-responseschema">Response Schema</h3>
  6536. <p>Status Code <strong>200</strong></p>
  6537. <table>
  6538. <thead>
  6539. <tr>
  6540. <th>Name</th>
  6541. <th>Type</th>
  6542. <th>Required</th>
  6543. <th>Restrictions</th>
  6544. <th>Description</th>
  6545. </tr>
  6546. </thead>
  6547. <tbody>
  6548. <tr>
  6549. <td>» _id</td>
  6550. <td>string</td>
  6551. <td>false</td>
  6552. <td>none</td>
  6553. <td>none</td>
  6554. </tr>
  6555. </tbody>
  6556. </table>
  6557. <aside class="warning">
  6558. To perform this operation, you must be authenticated by means of one of the following methods:
  6559. UserSecurity
  6560. </aside>
  6561. <h2 id="get_integration">get_integration</h2>
  6562. <p><a id="opIdget_integration"></a></p>
  6563. <blockquote>
  6564. <p>Code samples</p>
  6565. </blockquote>
  6566. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  6567. curl -X GET /api/boards/{board}/integrations/{int} \
  6568. -H <span class="hljs-string">'Accept: application/json'</span> \
  6569. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  6570. </code></pre>
  6571. <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
  6572. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  6573. <span class="undefined"></span></span></code></pre>
  6574. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  6575. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  6576. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  6577. };
  6578. $.ajax({
  6579. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/integrations/{int}'</span>,
  6580. <span class="hljs-attr">method</span>: <span class="hljs-string">'get'</span>,
  6581. <span class="hljs-attr">headers</span>: headers,
  6582. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  6583. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  6584. }
  6585. })
  6586. </code></pre>
  6587. <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>);
  6588. <span class="hljs-keyword">const</span> headers = {
  6589. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  6590. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  6591. };
  6592. fetch(<span class="hljs-string">'/api/boards/{board}/integrations/{int}'</span>,
  6593. {
  6594. <span class="hljs-attr">method</span>: <span class="hljs-string">'GET'</span>,
  6595. <span class="hljs-attr">headers</span>: headers
  6596. })
  6597. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  6598. <span class="hljs-keyword">return</span> res.json();
  6599. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  6600. <span class="hljs-built_in">console</span>.log(body);
  6601. });
  6602. </code></pre>
  6603. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  6604. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  6605. headers = {
  6606. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  6607. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  6608. }
  6609. result = RestClient.get <span class="hljs-string">'/api/boards/{board}/integrations/{int}'</span>,
  6610. <span class="hljs-symbol">params:</span> {
  6611. }, <span class="hljs-symbol">headers:</span> headers
  6612. p JSON.parse(result)
  6613. </code></pre>
  6614. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  6615. headers = {
  6616. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  6617. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  6618. }
  6619. r = requests.get(<span class="hljs-string">'/api/boards/{board}/integrations/{int}'</span>, params={
  6620. }, headers = headers)
  6621. <span class="hljs-keyword">print</span> r.json()
  6622. </code></pre>
  6623. <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>);
  6624. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  6625. con.setRequestMethod(<span class="hljs-string">"GET"</span>);
  6626. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  6627. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  6628. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  6629. String inputLine;
  6630. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  6631. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  6632. response.append(inputLine);
  6633. }
  6634. in.close();
  6635. System.out.println(response.toString());
  6636. </code></pre>
  6637. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  6638. <span class="hljs-keyword">import</span> (
  6639. <span class="hljs-string">"bytes"</span>
  6640. <span class="hljs-string">"net/http"</span>
  6641. )
  6642. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  6643. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  6644. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  6645. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  6646. }
  6647. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  6648. req, err := http.NewRequest(<span class="hljs-string">"GET"</span>, <span class="hljs-string">"/api/boards/{board}/integrations/{int}"</span>, data)
  6649. req.Header = headers
  6650. client := &amp;http.Client{}
  6651. resp, err := client.Do(req)
  6652. <span class="hljs-comment">// ...</span>
  6653. }
  6654. </code></pre>
  6655. <p><code>GET /api/boards/{board}/integrations/{int}</code></p>
  6656. <p><em>Get a single integration in board</em></p>
  6657. <h3 id="get_integration-parameters">Parameters</h3>
  6658. <table>
  6659. <thead>
  6660. <tr>
  6661. <th>Name</th>
  6662. <th>In</th>
  6663. <th>Type</th>
  6664. <th>Required</th>
  6665. <th>Description</th>
  6666. </tr>
  6667. </thead>
  6668. <tbody>
  6669. <tr>
  6670. <td>board</td>
  6671. <td>path</td>
  6672. <td>string</td>
  6673. <td>true</td>
  6674. <td>the board ID</td>
  6675. </tr>
  6676. <tr>
  6677. <td>int</td>
  6678. <td>path</td>
  6679. <td>string</td>
  6680. <td>true</td>
  6681. <td>the integration ID</td>
  6682. </tr>
  6683. </tbody>
  6684. </table>
  6685. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  6686. <p><strong>board</strong>: the board ID</p>
  6687. <p><strong>int</strong>: the integration ID</p>
  6688. <blockquote>
  6689. <p>Example responses</p>
  6690. </blockquote>
  6691. <blockquote>
  6692. <p>200 Response</p>
  6693. </blockquote>
  6694. <pre class="highlight tab tab-json"><code>{
  6695. <span class="hljs-attr">"enabled"</span>: <span class="hljs-literal">true</span>,
  6696. <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
  6697. <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>,
  6698. <span class="hljs-attr">"activities"</span>: [
  6699. <span class="hljs-string">"string"</span>
  6700. ],
  6701. <span class="hljs-attr">"url"</span>: <span class="hljs-string">"string"</span>,
  6702. <span class="hljs-attr">"token"</span>: <span class="hljs-string">"string"</span>,
  6703. <span class="hljs-attr">"boardId"</span>: <span class="hljs-string">"string"</span>,
  6704. <span class="hljs-attr">"createdAt"</span>: <span class="hljs-string">"string"</span>,
  6705. <span class="hljs-attr">"modifiedAt"</span>: <span class="hljs-string">"string"</span>,
  6706. <span class="hljs-attr">"userId"</span>: <span class="hljs-string">"string"</span>
  6707. }
  6708. </code></pre>
  6709. <h3 id="get_integration-responses">Responses</h3>
  6710. <table>
  6711. <thead>
  6712. <tr>
  6713. <th>Status</th>
  6714. <th>Meaning</th>
  6715. <th>Description</th>
  6716. <th>Schema</th>
  6717. </tr>
  6718. </thead>
  6719. <tbody>
  6720. <tr>
  6721. <td>200</td>
  6722. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  6723. <td>200 response</td>
  6724. <td><a href="#schemaintegrations">Integrations</a></td>
  6725. </tr>
  6726. </tbody>
  6727. </table>
  6728. <aside class="warning">
  6729. To perform this operation, you must be authenticated by means of one of the following methods:
  6730. UserSecurity
  6731. </aside>
  6732. <h2 id="edit_integration">edit_integration</h2>
  6733. <p><a id="opIdedit_integration"></a></p>
  6734. <blockquote>
  6735. <p>Code samples</p>
  6736. </blockquote>
  6737. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  6738. curl -X PUT /api/boards/{board}/integrations/{int} \
  6739. -H <span class="hljs-string">'Content-Type: multipart/form-data'</span> \
  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">PUT</span> <span class="hljs-string">/api/boards/{board}/integrations/{int}</span> HTTP/1.1
  6744. <span class="fortran">Content-<span class="hljs-keyword">Type</span>: multipart/<span class="hljs-keyword">form</span>-<span class="hljs-keyword">data</span>
  6745. Accept: application/json
  6746. </span></code></pre>
  6747. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  6748. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  6749. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  6750. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  6751. };
  6752. $.ajax({
  6753. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/integrations/{int}'</span>,
  6754. <span class="hljs-attr">method</span>: <span class="hljs-string">'put'</span>,
  6755. <span class="hljs-attr">headers</span>: headers,
  6756. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  6757. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  6758. }
  6759. })
  6760. </code></pre>
  6761. <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>);
  6762. <span class="hljs-keyword">const</span> inputBody = <span class="hljs-string">'{
  6763. "enabled": "string",
  6764. "title": "string",
  6765. "url": "string",
  6766. "token": "string",
  6767. "activities": "string"
  6768. }'</span>;
  6769. <span class="hljs-keyword">const</span> headers = {
  6770. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  6771. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  6772. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  6773. };
  6774. fetch(<span class="hljs-string">'/api/boards/{board}/integrations/{int}'</span>,
  6775. {
  6776. <span class="hljs-attr">method</span>: <span class="hljs-string">'PUT'</span>,
  6777. <span class="hljs-attr">body</span>: inputBody,
  6778. <span class="hljs-attr">headers</span>: headers
  6779. })
  6780. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  6781. <span class="hljs-keyword">return</span> res.json();
  6782. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  6783. <span class="hljs-built_in">console</span>.log(body);
  6784. });
  6785. </code></pre>
  6786. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  6787. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  6788. headers = {
  6789. <span class="hljs-string">'Content-Type'</span> =&gt; <span class="hljs-string">'multipart/form-data'</span>,
  6790. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  6791. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  6792. }
  6793. result = RestClient.put <span class="hljs-string">'/api/boards/{board}/integrations/{int}'</span>,
  6794. <span class="hljs-symbol">params:</span> {
  6795. }, <span class="hljs-symbol">headers:</span> headers
  6796. p JSON.parse(result)
  6797. </code></pre>
  6798. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  6799. headers = {
  6800. <span class="hljs-string">'Content-Type'</span>: <span class="hljs-string">'multipart/form-data'</span>,
  6801. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  6802. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  6803. }
  6804. r = requests.put(<span class="hljs-string">'/api/boards/{board}/integrations/{int}'</span>, params={
  6805. }, headers = headers)
  6806. <span class="hljs-keyword">print</span> r.json()
  6807. </code></pre>
  6808. <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>);
  6809. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  6810. con.setRequestMethod(<span class="hljs-string">"PUT"</span>);
  6811. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  6812. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  6813. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  6814. String inputLine;
  6815. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  6816. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  6817. response.append(inputLine);
  6818. }
  6819. in.close();
  6820. System.out.println(response.toString());
  6821. </code></pre>
  6822. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  6823. <span class="hljs-keyword">import</span> (
  6824. <span class="hljs-string">"bytes"</span>
  6825. <span class="hljs-string">"net/http"</span>
  6826. )
  6827. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  6828. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  6829. <span class="hljs-string">"Content-Type"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"multipart/form-data"</span>},
  6830. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  6831. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  6832. }
  6833. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  6834. req, err := http.NewRequest(<span class="hljs-string">"PUT"</span>, <span class="hljs-string">"/api/boards/{board}/integrations/{int}"</span>, data)
  6835. req.Header = headers
  6836. client := &amp;http.Client{}
  6837. resp, err := client.Do(req)
  6838. <span class="hljs-comment">// ...</span>
  6839. }
  6840. </code></pre>
  6841. <p><code>PUT /api/boards/{board}/integrations/{int}</code></p>
  6842. <p><em>Edit integration data</em></p>
  6843. <blockquote>
  6844. <p>Body parameter</p>
  6845. </blockquote>
  6846. <pre class="highlight tab tab-yaml"><code><span class="hljs-attr">enabled:</span> <span class="hljs-string">string</span>
  6847. <span class="hljs-attr">title:</span> <span class="hljs-string">string</span>
  6848. <span class="hljs-attr">url:</span> <span class="hljs-string">string</span>
  6849. <span class="hljs-attr">token:</span> <span class="hljs-string">string</span>
  6850. <span class="hljs-attr">activities:</span> <span class="hljs-string">string</span>
  6851. </code></pre>
  6852. <h3 id="edit_integration-parameters">Parameters</h3>
  6853. <table>
  6854. <thead>
  6855. <tr>
  6856. <th>Name</th>
  6857. <th>In</th>
  6858. <th>Type</th>
  6859. <th>Required</th>
  6860. <th>Description</th>
  6861. </tr>
  6862. </thead>
  6863. <tbody>
  6864. <tr>
  6865. <td>board</td>
  6866. <td>path</td>
  6867. <td>string</td>
  6868. <td>true</td>
  6869. <td>the board ID</td>
  6870. </tr>
  6871. <tr>
  6872. <td>int</td>
  6873. <td>path</td>
  6874. <td>string</td>
  6875. <td>true</td>
  6876. <td>the integration ID</td>
  6877. </tr>
  6878. <tr>
  6879. <td>body</td>
  6880. <td>body</td>
  6881. <td>object</td>
  6882. <td>false</td>
  6883. <td>none</td>
  6884. </tr>
  6885. <tr>
  6886. <td>» enabled</td>
  6887. <td>body</td>
  6888. <td>string</td>
  6889. <td>false</td>
  6890. <td>is the integration enabled?</td>
  6891. </tr>
  6892. <tr>
  6893. <td>» title</td>
  6894. <td>body</td>
  6895. <td>string</td>
  6896. <td>false</td>
  6897. <td>new name of the integration</td>
  6898. </tr>
  6899. <tr>
  6900. <td>» url</td>
  6901. <td>body</td>
  6902. <td>string</td>
  6903. <td>false</td>
  6904. <td>new URL of the integration</td>
  6905. </tr>
  6906. <tr>
  6907. <td>» token</td>
  6908. <td>body</td>
  6909. <td>string</td>
  6910. <td>false</td>
  6911. <td>new token of the integration</td>
  6912. </tr>
  6913. <tr>
  6914. <td>» activities</td>
  6915. <td>body</td>
  6916. <td>string</td>
  6917. <td>false</td>
  6918. <td>new list of activities of the integration</td>
  6919. </tr>
  6920. </tbody>
  6921. </table>
  6922. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  6923. <p><strong>board</strong>: the board ID</p>
  6924. <p><strong>int</strong>: the integration ID</p>
  6925. <blockquote>
  6926. <p>Example responses</p>
  6927. </blockquote>
  6928. <blockquote>
  6929. <p>200 Response</p>
  6930. </blockquote>
  6931. <pre class="highlight tab tab-json"><code>{
  6932. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>
  6933. }
  6934. </code></pre>
  6935. <h3 id="edit_integration-responses">Responses</h3>
  6936. <table>
  6937. <thead>
  6938. <tr>
  6939. <th>Status</th>
  6940. <th>Meaning</th>
  6941. <th>Description</th>
  6942. <th>Schema</th>
  6943. </tr>
  6944. </thead>
  6945. <tbody>
  6946. <tr>
  6947. <td>200</td>
  6948. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  6949. <td>200 response</td>
  6950. <td>Inline</td>
  6951. </tr>
  6952. </tbody>
  6953. </table>
  6954. <h3 id="edit_integration-responseschema">Response Schema</h3>
  6955. <p>Status Code <strong>200</strong></p>
  6956. <table>
  6957. <thead>
  6958. <tr>
  6959. <th>Name</th>
  6960. <th>Type</th>
  6961. <th>Required</th>
  6962. <th>Restrictions</th>
  6963. <th>Description</th>
  6964. </tr>
  6965. </thead>
  6966. <tbody>
  6967. <tr>
  6968. <td>» _id</td>
  6969. <td>string</td>
  6970. <td>false</td>
  6971. <td>none</td>
  6972. <td>none</td>
  6973. </tr>
  6974. </tbody>
  6975. </table>
  6976. <aside class="warning">
  6977. To perform this operation, you must be authenticated by means of one of the following methods:
  6978. UserSecurity
  6979. </aside>
  6980. <h2 id="delete_integration">delete_integration</h2>
  6981. <p><a id="opIddelete_integration"></a></p>
  6982. <blockquote>
  6983. <p>Code samples</p>
  6984. </blockquote>
  6985. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  6986. curl -X DELETE /api/boards/{board}/integrations/{int} \
  6987. -H <span class="hljs-string">'Accept: application/json'</span> \
  6988. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  6989. </code></pre>
  6990. <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
  6991. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  6992. <span class="undefined"></span></span></code></pre>
  6993. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  6994. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  6995. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  6996. };
  6997. $.ajax({
  6998. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/integrations/{int}'</span>,
  6999. <span class="hljs-attr">method</span>: <span class="hljs-string">'delete'</span>,
  7000. <span class="hljs-attr">headers</span>: headers,
  7001. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  7002. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  7003. }
  7004. })
  7005. </code></pre>
  7006. <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>);
  7007. <span class="hljs-keyword">const</span> headers = {
  7008. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  7009. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  7010. };
  7011. fetch(<span class="hljs-string">'/api/boards/{board}/integrations/{int}'</span>,
  7012. {
  7013. <span class="hljs-attr">method</span>: <span class="hljs-string">'DELETE'</span>,
  7014. <span class="hljs-attr">headers</span>: headers
  7015. })
  7016. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  7017. <span class="hljs-keyword">return</span> res.json();
  7018. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  7019. <span class="hljs-built_in">console</span>.log(body);
  7020. });
  7021. </code></pre>
  7022. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  7023. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  7024. headers = {
  7025. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  7026. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  7027. }
  7028. result = RestClient.delete <span class="hljs-string">'/api/boards/{board}/integrations/{int}'</span>,
  7029. <span class="hljs-symbol">params:</span> {
  7030. }, <span class="hljs-symbol">headers:</span> headers
  7031. p JSON.parse(result)
  7032. </code></pre>
  7033. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  7034. headers = {
  7035. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  7036. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  7037. }
  7038. r = requests.delete(<span class="hljs-string">'/api/boards/{board}/integrations/{int}'</span>, params={
  7039. }, headers = headers)
  7040. <span class="hljs-keyword">print</span> r.json()
  7041. </code></pre>
  7042. <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>);
  7043. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  7044. con.setRequestMethod(<span class="hljs-string">"DELETE"</span>);
  7045. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  7046. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  7047. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  7048. String inputLine;
  7049. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  7050. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  7051. response.append(inputLine);
  7052. }
  7053. in.close();
  7054. System.out.println(response.toString());
  7055. </code></pre>
  7056. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  7057. <span class="hljs-keyword">import</span> (
  7058. <span class="hljs-string">"bytes"</span>
  7059. <span class="hljs-string">"net/http"</span>
  7060. )
  7061. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  7062. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  7063. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  7064. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  7065. }
  7066. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  7067. req, err := http.NewRequest(<span class="hljs-string">"DELETE"</span>, <span class="hljs-string">"/api/boards/{board}/integrations/{int}"</span>, data)
  7068. req.Header = headers
  7069. client := &amp;http.Client{}
  7070. resp, err := client.Do(req)
  7071. <span class="hljs-comment">// ...</span>
  7072. }
  7073. </code></pre>
  7074. <p><code>DELETE /api/boards/{board}/integrations/{int}</code></p>
  7075. <p><em>Delete integration</em></p>
  7076. <h3 id="delete_integration-parameters">Parameters</h3>
  7077. <table>
  7078. <thead>
  7079. <tr>
  7080. <th>Name</th>
  7081. <th>In</th>
  7082. <th>Type</th>
  7083. <th>Required</th>
  7084. <th>Description</th>
  7085. </tr>
  7086. </thead>
  7087. <tbody>
  7088. <tr>
  7089. <td>board</td>
  7090. <td>path</td>
  7091. <td>string</td>
  7092. <td>true</td>
  7093. <td>the board ID</td>
  7094. </tr>
  7095. <tr>
  7096. <td>int</td>
  7097. <td>path</td>
  7098. <td>string</td>
  7099. <td>true</td>
  7100. <td>the integration ID</td>
  7101. </tr>
  7102. </tbody>
  7103. </table>
  7104. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  7105. <p><strong>board</strong>: the board ID</p>
  7106. <p><strong>int</strong>: the integration ID</p>
  7107. <blockquote>
  7108. <p>Example responses</p>
  7109. </blockquote>
  7110. <blockquote>
  7111. <p>200 Response</p>
  7112. </blockquote>
  7113. <pre class="highlight tab tab-json"><code>{
  7114. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>
  7115. }
  7116. </code></pre>
  7117. <h3 id="delete_integration-responses">Responses</h3>
  7118. <table>
  7119. <thead>
  7120. <tr>
  7121. <th>Status</th>
  7122. <th>Meaning</th>
  7123. <th>Description</th>
  7124. <th>Schema</th>
  7125. </tr>
  7126. </thead>
  7127. <tbody>
  7128. <tr>
  7129. <td>200</td>
  7130. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  7131. <td>200 response</td>
  7132. <td>Inline</td>
  7133. </tr>
  7134. </tbody>
  7135. </table>
  7136. <h3 id="delete_integration-responseschema">Response Schema</h3>
  7137. <p>Status Code <strong>200</strong></p>
  7138. <table>
  7139. <thead>
  7140. <tr>
  7141. <th>Name</th>
  7142. <th>Type</th>
  7143. <th>Required</th>
  7144. <th>Restrictions</th>
  7145. <th>Description</th>
  7146. </tr>
  7147. </thead>
  7148. <tbody>
  7149. <tr>
  7150. <td>» _id</td>
  7151. <td>string</td>
  7152. <td>false</td>
  7153. <td>none</td>
  7154. <td>none</td>
  7155. </tr>
  7156. </tbody>
  7157. </table>
  7158. <aside class="warning">
  7159. To perform this operation, you must be authenticated by means of one of the following methods:
  7160. UserSecurity
  7161. </aside>
  7162. <h2 id="delete_board_int_activities">delete_board_int_activities</h2>
  7163. <p><a id="opIddelete_board_int_activities"></a></p>
  7164. <blockquote>
  7165. <p>Code samples</p>
  7166. </blockquote>
  7167. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  7168. curl -X DELETE /api/boards/{board}/integrations/{int}/activities \
  7169. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  7170. </code></pre>
  7171. <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
  7172. <span class="undefined"></span></code></pre>
  7173. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  7174. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  7175. };
  7176. $.ajax({
  7177. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/integrations/{int}/activities'</span>,
  7178. <span class="hljs-attr">method</span>: <span class="hljs-string">'delete'</span>,
  7179. <span class="hljs-attr">headers</span>: headers,
  7180. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  7181. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  7182. }
  7183. })
  7184. </code></pre>
  7185. <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>);
  7186. <span class="hljs-keyword">const</span> headers = {
  7187. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  7188. };
  7189. fetch(<span class="hljs-string">'/api/boards/{board}/integrations/{int}/activities'</span>,
  7190. {
  7191. <span class="hljs-attr">method</span>: <span class="hljs-string">'DELETE'</span>,
  7192. <span class="hljs-attr">headers</span>: headers
  7193. })
  7194. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  7195. <span class="hljs-keyword">return</span> res.json();
  7196. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  7197. <span class="hljs-built_in">console</span>.log(body);
  7198. });
  7199. </code></pre>
  7200. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  7201. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  7202. headers = {
  7203. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  7204. }
  7205. result = RestClient.delete <span class="hljs-string">'/api/boards/{board}/integrations/{int}/activities'</span>,
  7206. <span class="hljs-symbol">params:</span> {
  7207. }, <span class="hljs-symbol">headers:</span> headers
  7208. p JSON.parse(result)
  7209. </code></pre>
  7210. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  7211. headers = {
  7212. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  7213. }
  7214. r = requests.delete(<span class="hljs-string">'/api/boards/{board}/integrations/{int}/activities'</span>, params={
  7215. }, headers = headers)
  7216. <span class="hljs-keyword">print</span> r.json()
  7217. </code></pre>
  7218. <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>);
  7219. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  7220. con.setRequestMethod(<span class="hljs-string">"DELETE"</span>);
  7221. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  7222. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  7223. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  7224. String inputLine;
  7225. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  7226. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  7227. response.append(inputLine);
  7228. }
  7229. in.close();
  7230. System.out.println(response.toString());
  7231. </code></pre>
  7232. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  7233. <span class="hljs-keyword">import</span> (
  7234. <span class="hljs-string">"bytes"</span>
  7235. <span class="hljs-string">"net/http"</span>
  7236. )
  7237. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  7238. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  7239. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  7240. }
  7241. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  7242. req, err := http.NewRequest(<span class="hljs-string">"DELETE"</span>, <span class="hljs-string">"/api/boards/{board}/integrations/{int}/activities"</span>, data)
  7243. req.Header = headers
  7244. client := &amp;http.Client{}
  7245. resp, err := client.Do(req)
  7246. <span class="hljs-comment">// ...</span>
  7247. }
  7248. </code></pre>
  7249. <p><code>DELETE /api/boards/{board}/integrations/{int}/activities</code></p>
  7250. <h3 id="delete_board_int_activities-parameters">Parameters</h3>
  7251. <table>
  7252. <thead>
  7253. <tr>
  7254. <th>Name</th>
  7255. <th>In</th>
  7256. <th>Type</th>
  7257. <th>Required</th>
  7258. <th>Description</th>
  7259. </tr>
  7260. </thead>
  7261. <tbody>
  7262. <tr>
  7263. <td>board</td>
  7264. <td>path</td>
  7265. <td>string</td>
  7266. <td>true</td>
  7267. <td>the board value</td>
  7268. </tr>
  7269. <tr>
  7270. <td>int</td>
  7271. <td>path</td>
  7272. <td>string</td>
  7273. <td>true</td>
  7274. <td>the int value</td>
  7275. </tr>
  7276. </tbody>
  7277. </table>
  7278. <h3 id="delete_board_int_activities-responses">Responses</h3>
  7279. <table>
  7280. <thead>
  7281. <tr>
  7282. <th>Status</th>
  7283. <th>Meaning</th>
  7284. <th>Description</th>
  7285. <th>Schema</th>
  7286. </tr>
  7287. </thead>
  7288. <tbody>
  7289. <tr>
  7290. <td>200</td>
  7291. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  7292. <td>200 response</td>
  7293. <td>None</td>
  7294. </tr>
  7295. </tbody>
  7296. </table>
  7297. <aside class="warning">
  7298. To perform this operation, you must be authenticated by means of one of the following methods:
  7299. UserSecurity
  7300. </aside>
  7301. <h2 id="post_board_int_activities">post_board_int_activities</h2>
  7302. <p><a id="opIdpost_board_int_activities"></a></p>
  7303. <blockquote>
  7304. <p>Code samples</p>
  7305. </blockquote>
  7306. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  7307. curl -X POST /api/boards/{board}/integrations/{int}/activities \
  7308. -H <span class="hljs-string">'Content-Type: multipart/form-data'</span> \
  7309. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  7310. </code></pre>
  7311. <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
  7312. <span class="fortran">Content-<span class="hljs-keyword">Type</span>: multipart/<span class="hljs-keyword">form</span>-<span class="hljs-keyword">data</span>
  7313. </span></code></pre>
  7314. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  7315. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  7316. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  7317. };
  7318. $.ajax({
  7319. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/integrations/{int}/activities'</span>,
  7320. <span class="hljs-attr">method</span>: <span class="hljs-string">'post'</span>,
  7321. <span class="hljs-attr">headers</span>: headers,
  7322. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  7323. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  7324. }
  7325. })
  7326. </code></pre>
  7327. <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>);
  7328. <span class="hljs-keyword">const</span> inputBody = <span class="hljs-string">'{
  7329. "activities": "string"
  7330. }'</span>;
  7331. <span class="hljs-keyword">const</span> headers = {
  7332. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  7333. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  7334. };
  7335. fetch(<span class="hljs-string">'/api/boards/{board}/integrations/{int}/activities'</span>,
  7336. {
  7337. <span class="hljs-attr">method</span>: <span class="hljs-string">'POST'</span>,
  7338. <span class="hljs-attr">body</span>: inputBody,
  7339. <span class="hljs-attr">headers</span>: headers
  7340. })
  7341. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  7342. <span class="hljs-keyword">return</span> res.json();
  7343. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  7344. <span class="hljs-built_in">console</span>.log(body);
  7345. });
  7346. </code></pre>
  7347. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  7348. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  7349. headers = {
  7350. <span class="hljs-string">'Content-Type'</span> =&gt; <span class="hljs-string">'multipart/form-data'</span>,
  7351. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  7352. }
  7353. result = RestClient.post <span class="hljs-string">'/api/boards/{board}/integrations/{int}/activities'</span>,
  7354. <span class="hljs-symbol">params:</span> {
  7355. }, <span class="hljs-symbol">headers:</span> headers
  7356. p JSON.parse(result)
  7357. </code></pre>
  7358. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  7359. headers = {
  7360. <span class="hljs-string">'Content-Type'</span>: <span class="hljs-string">'multipart/form-data'</span>,
  7361. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  7362. }
  7363. r = requests.post(<span class="hljs-string">'/api/boards/{board}/integrations/{int}/activities'</span>, params={
  7364. }, headers = headers)
  7365. <span class="hljs-keyword">print</span> r.json()
  7366. </code></pre>
  7367. <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>);
  7368. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  7369. con.setRequestMethod(<span class="hljs-string">"POST"</span>);
  7370. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  7371. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  7372. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  7373. String inputLine;
  7374. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  7375. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  7376. response.append(inputLine);
  7377. }
  7378. in.close();
  7379. System.out.println(response.toString());
  7380. </code></pre>
  7381. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  7382. <span class="hljs-keyword">import</span> (
  7383. <span class="hljs-string">"bytes"</span>
  7384. <span class="hljs-string">"net/http"</span>
  7385. )
  7386. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  7387. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  7388. <span class="hljs-string">"Content-Type"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"multipart/form-data"</span>},
  7389. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  7390. }
  7391. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  7392. req, err := http.NewRequest(<span class="hljs-string">"POST"</span>, <span class="hljs-string">"/api/boards/{board}/integrations/{int}/activities"</span>, data)
  7393. req.Header = headers
  7394. client := &amp;http.Client{}
  7395. resp, err := client.Do(req)
  7396. <span class="hljs-comment">// ...</span>
  7397. }
  7398. </code></pre>
  7399. <p><code>POST /api/boards/{board}/integrations/{int}/activities</code></p>
  7400. <blockquote>
  7401. <p>Body parameter</p>
  7402. </blockquote>
  7403. <pre class="highlight tab tab-yaml"><code><span class="hljs-attr">activities:</span> <span class="hljs-string">string</span>
  7404. </code></pre>
  7405. <h3 id="post_board_int_activities-parameters">Parameters</h3>
  7406. <table>
  7407. <thead>
  7408. <tr>
  7409. <th>Name</th>
  7410. <th>In</th>
  7411. <th>Type</th>
  7412. <th>Required</th>
  7413. <th>Description</th>
  7414. </tr>
  7415. </thead>
  7416. <tbody>
  7417. <tr>
  7418. <td>board</td>
  7419. <td>path</td>
  7420. <td>string</td>
  7421. <td>true</td>
  7422. <td>the board value</td>
  7423. </tr>
  7424. <tr>
  7425. <td>int</td>
  7426. <td>path</td>
  7427. <td>string</td>
  7428. <td>true</td>
  7429. <td>the int value</td>
  7430. </tr>
  7431. <tr>
  7432. <td>body</td>
  7433. <td>body</td>
  7434. <td>object</td>
  7435. <td>false</td>
  7436. <td>none</td>
  7437. </tr>
  7438. <tr>
  7439. <td>» activities</td>
  7440. <td>body</td>
  7441. <td>string</td>
  7442. <td>true</td>
  7443. <td>the activities value</td>
  7444. </tr>
  7445. </tbody>
  7446. </table>
  7447. <h3 id="post_board_int_activities-responses">Responses</h3>
  7448. <table>
  7449. <thead>
  7450. <tr>
  7451. <th>Status</th>
  7452. <th>Meaning</th>
  7453. <th>Description</th>
  7454. <th>Schema</th>
  7455. </tr>
  7456. </thead>
  7457. <tbody>
  7458. <tr>
  7459. <td>200</td>
  7460. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  7461. <td>200 response</td>
  7462. <td>None</td>
  7463. </tr>
  7464. </tbody>
  7465. </table>
  7466. <aside class="warning">
  7467. To perform this operation, you must be authenticated by means of one of the following methods:
  7468. UserSecurity
  7469. </aside>
  7470. <h1 id="wekan-rest-api-lists">Lists</h1>
  7471. <h2 id="get_all_lists">get_all_lists</h2>
  7472. <p><a id="opIdget_all_lists"></a></p>
  7473. <blockquote>
  7474. <p>Code samples</p>
  7475. </blockquote>
  7476. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  7477. curl -X GET /api/boards/{board}/lists \
  7478. -H <span class="hljs-string">'Accept: application/json'</span> \
  7479. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  7480. </code></pre>
  7481. <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
  7482. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  7483. <span class="undefined"></span></span></code></pre>
  7484. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  7485. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  7486. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  7487. };
  7488. $.ajax({
  7489. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/lists'</span>,
  7490. <span class="hljs-attr">method</span>: <span class="hljs-string">'get'</span>,
  7491. <span class="hljs-attr">headers</span>: headers,
  7492. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  7493. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  7494. }
  7495. })
  7496. </code></pre>
  7497. <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>);
  7498. <span class="hljs-keyword">const</span> headers = {
  7499. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  7500. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  7501. };
  7502. fetch(<span class="hljs-string">'/api/boards/{board}/lists'</span>,
  7503. {
  7504. <span class="hljs-attr">method</span>: <span class="hljs-string">'GET'</span>,
  7505. <span class="hljs-attr">headers</span>: headers
  7506. })
  7507. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  7508. <span class="hljs-keyword">return</span> res.json();
  7509. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  7510. <span class="hljs-built_in">console</span>.log(body);
  7511. });
  7512. </code></pre>
  7513. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  7514. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  7515. headers = {
  7516. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  7517. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  7518. }
  7519. result = RestClient.get <span class="hljs-string">'/api/boards/{board}/lists'</span>,
  7520. <span class="hljs-symbol">params:</span> {
  7521. }, <span class="hljs-symbol">headers:</span> headers
  7522. p JSON.parse(result)
  7523. </code></pre>
  7524. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  7525. headers = {
  7526. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  7527. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  7528. }
  7529. r = requests.get(<span class="hljs-string">'/api/boards/{board}/lists'</span>, params={
  7530. }, headers = headers)
  7531. <span class="hljs-keyword">print</span> r.json()
  7532. </code></pre>
  7533. <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>);
  7534. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  7535. con.setRequestMethod(<span class="hljs-string">"GET"</span>);
  7536. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  7537. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  7538. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  7539. String inputLine;
  7540. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  7541. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  7542. response.append(inputLine);
  7543. }
  7544. in.close();
  7545. System.out.println(response.toString());
  7546. </code></pre>
  7547. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  7548. <span class="hljs-keyword">import</span> (
  7549. <span class="hljs-string">"bytes"</span>
  7550. <span class="hljs-string">"net/http"</span>
  7551. )
  7552. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  7553. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  7554. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  7555. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  7556. }
  7557. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  7558. req, err := http.NewRequest(<span class="hljs-string">"GET"</span>, <span class="hljs-string">"/api/boards/{board}/lists"</span>, data)
  7559. req.Header = headers
  7560. client := &amp;http.Client{}
  7561. resp, err := client.Do(req)
  7562. <span class="hljs-comment">// ...</span>
  7563. }
  7564. </code></pre>
  7565. <p><code>GET /api/boards/{board}/lists</code></p>
  7566. <p><em>Get the list of Lists attached to a board</em></p>
  7567. <h3 id="get_all_lists-parameters">Parameters</h3>
  7568. <table>
  7569. <thead>
  7570. <tr>
  7571. <th>Name</th>
  7572. <th>In</th>
  7573. <th>Type</th>
  7574. <th>Required</th>
  7575. <th>Description</th>
  7576. </tr>
  7577. </thead>
  7578. <tbody>
  7579. <tr>
  7580. <td>board</td>
  7581. <td>path</td>
  7582. <td>string</td>
  7583. <td>true</td>
  7584. <td>the board ID</td>
  7585. </tr>
  7586. </tbody>
  7587. </table>
  7588. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  7589. <p><strong>board</strong>: the board ID</p>
  7590. <blockquote>
  7591. <p>Example responses</p>
  7592. </blockquote>
  7593. <blockquote>
  7594. <p>200 Response</p>
  7595. </blockquote>
  7596. <pre class="highlight tab tab-json"><code>[
  7597. {
  7598. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>,
  7599. <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>
  7600. }
  7601. ]
  7602. </code></pre>
  7603. <h3 id="get_all_lists-responses">Responses</h3>
  7604. <table>
  7605. <thead>
  7606. <tr>
  7607. <th>Status</th>
  7608. <th>Meaning</th>
  7609. <th>Description</th>
  7610. <th>Schema</th>
  7611. </tr>
  7612. </thead>
  7613. <tbody>
  7614. <tr>
  7615. <td>200</td>
  7616. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  7617. <td>200 response</td>
  7618. <td>Inline</td>
  7619. </tr>
  7620. </tbody>
  7621. </table>
  7622. <h3 id="get_all_lists-responseschema">Response Schema</h3>
  7623. <p>Status Code <strong>200</strong></p>
  7624. <table>
  7625. <thead>
  7626. <tr>
  7627. <th>Name</th>
  7628. <th>Type</th>
  7629. <th>Required</th>
  7630. <th>Restrictions</th>
  7631. <th>Description</th>
  7632. </tr>
  7633. </thead>
  7634. <tbody>
  7635. <tr>
  7636. <td>» _id</td>
  7637. <td>string</td>
  7638. <td>false</td>
  7639. <td>none</td>
  7640. <td>none</td>
  7641. </tr>
  7642. <tr>
  7643. <td>» title</td>
  7644. <td>string</td>
  7645. <td>false</td>
  7646. <td>none</td>
  7647. <td>none</td>
  7648. </tr>
  7649. </tbody>
  7650. </table>
  7651. <aside class="warning">
  7652. To perform this operation, you must be authenticated by means of one of the following methods:
  7653. UserSecurity
  7654. </aside>
  7655. <h2 id="new_list">new_list</h2>
  7656. <p><a id="opIdnew_list"></a></p>
  7657. <blockquote>
  7658. <p>Code samples</p>
  7659. </blockquote>
  7660. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  7661. curl -X POST /api/boards/{board}/lists \
  7662. -H <span class="hljs-string">'Content-Type: multipart/form-data'</span> \
  7663. -H <span class="hljs-string">'Accept: application/json'</span> \
  7664. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  7665. </code></pre>
  7666. <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
  7667. <span class="fortran">Content-<span class="hljs-keyword">Type</span>: multipart/<span class="hljs-keyword">form</span>-<span class="hljs-keyword">data</span>
  7668. Accept: application/json
  7669. </span></code></pre>
  7670. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  7671. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  7672. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  7673. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  7674. };
  7675. $.ajax({
  7676. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/lists'</span>,
  7677. <span class="hljs-attr">method</span>: <span class="hljs-string">'post'</span>,
  7678. <span class="hljs-attr">headers</span>: headers,
  7679. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  7680. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  7681. }
  7682. })
  7683. </code></pre>
  7684. <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>);
  7685. <span class="hljs-keyword">const</span> inputBody = <span class="hljs-string">'{
  7686. "title": "string"
  7687. }'</span>;
  7688. <span class="hljs-keyword">const</span> headers = {
  7689. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  7690. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  7691. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  7692. };
  7693. fetch(<span class="hljs-string">'/api/boards/{board}/lists'</span>,
  7694. {
  7695. <span class="hljs-attr">method</span>: <span class="hljs-string">'POST'</span>,
  7696. <span class="hljs-attr">body</span>: inputBody,
  7697. <span class="hljs-attr">headers</span>: headers
  7698. })
  7699. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  7700. <span class="hljs-keyword">return</span> res.json();
  7701. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  7702. <span class="hljs-built_in">console</span>.log(body);
  7703. });
  7704. </code></pre>
  7705. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  7706. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  7707. headers = {
  7708. <span class="hljs-string">'Content-Type'</span> =&gt; <span class="hljs-string">'multipart/form-data'</span>,
  7709. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  7710. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  7711. }
  7712. result = RestClient.post <span class="hljs-string">'/api/boards/{board}/lists'</span>,
  7713. <span class="hljs-symbol">params:</span> {
  7714. }, <span class="hljs-symbol">headers:</span> headers
  7715. p JSON.parse(result)
  7716. </code></pre>
  7717. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  7718. headers = {
  7719. <span class="hljs-string">'Content-Type'</span>: <span class="hljs-string">'multipart/form-data'</span>,
  7720. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  7721. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  7722. }
  7723. r = requests.post(<span class="hljs-string">'/api/boards/{board}/lists'</span>, params={
  7724. }, headers = headers)
  7725. <span class="hljs-keyword">print</span> r.json()
  7726. </code></pre>
  7727. <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>);
  7728. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  7729. con.setRequestMethod(<span class="hljs-string">"POST"</span>);
  7730. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  7731. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  7732. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  7733. String inputLine;
  7734. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  7735. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  7736. response.append(inputLine);
  7737. }
  7738. in.close();
  7739. System.out.println(response.toString());
  7740. </code></pre>
  7741. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  7742. <span class="hljs-keyword">import</span> (
  7743. <span class="hljs-string">"bytes"</span>
  7744. <span class="hljs-string">"net/http"</span>
  7745. )
  7746. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  7747. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  7748. <span class="hljs-string">"Content-Type"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"multipart/form-data"</span>},
  7749. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  7750. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  7751. }
  7752. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  7753. req, err := http.NewRequest(<span class="hljs-string">"POST"</span>, <span class="hljs-string">"/api/boards/{board}/lists"</span>, data)
  7754. req.Header = headers
  7755. client := &amp;http.Client{}
  7756. resp, err := client.Do(req)
  7757. <span class="hljs-comment">// ...</span>
  7758. }
  7759. </code></pre>
  7760. <p><code>POST /api/boards/{board}/lists</code></p>
  7761. <p><em>Add a List to a board</em></p>
  7762. <blockquote>
  7763. <p>Body parameter</p>
  7764. </blockquote>
  7765. <pre class="highlight tab tab-yaml"><code><span class="hljs-attr">title:</span> <span class="hljs-string">string</span>
  7766. </code></pre>
  7767. <h3 id="new_list-parameters">Parameters</h3>
  7768. <table>
  7769. <thead>
  7770. <tr>
  7771. <th>Name</th>
  7772. <th>In</th>
  7773. <th>Type</th>
  7774. <th>Required</th>
  7775. <th>Description</th>
  7776. </tr>
  7777. </thead>
  7778. <tbody>
  7779. <tr>
  7780. <td>board</td>
  7781. <td>path</td>
  7782. <td>string</td>
  7783. <td>true</td>
  7784. <td>the board ID</td>
  7785. </tr>
  7786. <tr>
  7787. <td>body</td>
  7788. <td>body</td>
  7789. <td>object</td>
  7790. <td>false</td>
  7791. <td>none</td>
  7792. </tr>
  7793. <tr>
  7794. <td>» title</td>
  7795. <td>body</td>
  7796. <td>string</td>
  7797. <td>true</td>
  7798. <td>the title of the List</td>
  7799. </tr>
  7800. </tbody>
  7801. </table>
  7802. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  7803. <p><strong>board</strong>: the board ID</p>
  7804. <blockquote>
  7805. <p>Example responses</p>
  7806. </blockquote>
  7807. <blockquote>
  7808. <p>200 Response</p>
  7809. </blockquote>
  7810. <pre class="highlight tab tab-json"><code>{
  7811. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>
  7812. }
  7813. </code></pre>
  7814. <h3 id="new_list-responses">Responses</h3>
  7815. <table>
  7816. <thead>
  7817. <tr>
  7818. <th>Status</th>
  7819. <th>Meaning</th>
  7820. <th>Description</th>
  7821. <th>Schema</th>
  7822. </tr>
  7823. </thead>
  7824. <tbody>
  7825. <tr>
  7826. <td>200</td>
  7827. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  7828. <td>200 response</td>
  7829. <td>Inline</td>
  7830. </tr>
  7831. </tbody>
  7832. </table>
  7833. <h3 id="new_list-responseschema">Response Schema</h3>
  7834. <p>Status Code <strong>200</strong></p>
  7835. <table>
  7836. <thead>
  7837. <tr>
  7838. <th>Name</th>
  7839. <th>Type</th>
  7840. <th>Required</th>
  7841. <th>Restrictions</th>
  7842. <th>Description</th>
  7843. </tr>
  7844. </thead>
  7845. <tbody>
  7846. <tr>
  7847. <td>» _id</td>
  7848. <td>string</td>
  7849. <td>false</td>
  7850. <td>none</td>
  7851. <td>none</td>
  7852. </tr>
  7853. </tbody>
  7854. </table>
  7855. <aside class="warning">
  7856. To perform this operation, you must be authenticated by means of one of the following methods:
  7857. UserSecurity
  7858. </aside>
  7859. <h2 id="get_list">get_list</h2>
  7860. <p><a id="opIdget_list"></a></p>
  7861. <blockquote>
  7862. <p>Code samples</p>
  7863. </blockquote>
  7864. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  7865. curl -X GET /api/boards/{board}/lists/{list} \
  7866. -H <span class="hljs-string">'Accept: application/json'</span> \
  7867. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  7868. </code></pre>
  7869. <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
  7870. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  7871. <span class="undefined"></span></span></code></pre>
  7872. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  7873. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  7874. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  7875. };
  7876. $.ajax({
  7877. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/lists/{list}'</span>,
  7878. <span class="hljs-attr">method</span>: <span class="hljs-string">'get'</span>,
  7879. <span class="hljs-attr">headers</span>: headers,
  7880. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  7881. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  7882. }
  7883. })
  7884. </code></pre>
  7885. <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>);
  7886. <span class="hljs-keyword">const</span> headers = {
  7887. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  7888. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  7889. };
  7890. fetch(<span class="hljs-string">'/api/boards/{board}/lists/{list}'</span>,
  7891. {
  7892. <span class="hljs-attr">method</span>: <span class="hljs-string">'GET'</span>,
  7893. <span class="hljs-attr">headers</span>: headers
  7894. })
  7895. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  7896. <span class="hljs-keyword">return</span> res.json();
  7897. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  7898. <span class="hljs-built_in">console</span>.log(body);
  7899. });
  7900. </code></pre>
  7901. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  7902. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  7903. headers = {
  7904. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  7905. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  7906. }
  7907. result = RestClient.get <span class="hljs-string">'/api/boards/{board}/lists/{list}'</span>,
  7908. <span class="hljs-symbol">params:</span> {
  7909. }, <span class="hljs-symbol">headers:</span> headers
  7910. p JSON.parse(result)
  7911. </code></pre>
  7912. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  7913. headers = {
  7914. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  7915. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  7916. }
  7917. r = requests.get(<span class="hljs-string">'/api/boards/{board}/lists/{list}'</span>, params={
  7918. }, headers = headers)
  7919. <span class="hljs-keyword">print</span> r.json()
  7920. </code></pre>
  7921. <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>);
  7922. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  7923. con.setRequestMethod(<span class="hljs-string">"GET"</span>);
  7924. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  7925. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  7926. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  7927. String inputLine;
  7928. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  7929. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  7930. response.append(inputLine);
  7931. }
  7932. in.close();
  7933. System.out.println(response.toString());
  7934. </code></pre>
  7935. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  7936. <span class="hljs-keyword">import</span> (
  7937. <span class="hljs-string">"bytes"</span>
  7938. <span class="hljs-string">"net/http"</span>
  7939. )
  7940. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  7941. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  7942. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  7943. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  7944. }
  7945. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  7946. req, err := http.NewRequest(<span class="hljs-string">"GET"</span>, <span class="hljs-string">"/api/boards/{board}/lists/{list}"</span>, data)
  7947. req.Header = headers
  7948. client := &amp;http.Client{}
  7949. resp, err := client.Do(req)
  7950. <span class="hljs-comment">// ...</span>
  7951. }
  7952. </code></pre>
  7953. <p><code>GET /api/boards/{board}/lists/{list}</code></p>
  7954. <p><em>Get a List attached to a board</em></p>
  7955. <h3 id="get_list-parameters">Parameters</h3>
  7956. <table>
  7957. <thead>
  7958. <tr>
  7959. <th>Name</th>
  7960. <th>In</th>
  7961. <th>Type</th>
  7962. <th>Required</th>
  7963. <th>Description</th>
  7964. </tr>
  7965. </thead>
  7966. <tbody>
  7967. <tr>
  7968. <td>board</td>
  7969. <td>path</td>
  7970. <td>string</td>
  7971. <td>true</td>
  7972. <td>the board ID</td>
  7973. </tr>
  7974. <tr>
  7975. <td>list</td>
  7976. <td>path</td>
  7977. <td>string</td>
  7978. <td>true</td>
  7979. <td>the List ID</td>
  7980. </tr>
  7981. </tbody>
  7982. </table>
  7983. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  7984. <p><strong>board</strong>: the board ID</p>
  7985. <p><strong>list</strong>: the List ID</p>
  7986. <blockquote>
  7987. <p>Example responses</p>
  7988. </blockquote>
  7989. <blockquote>
  7990. <p>200 Response</p>
  7991. </blockquote>
  7992. <pre class="highlight tab tab-json"><code>{
  7993. <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
  7994. <span class="hljs-attr">"starred"</span>: <span class="hljs-literal">true</span>,
  7995. <span class="hljs-attr">"archived"</span>: <span class="hljs-literal">true</span>,
  7996. <span class="hljs-attr">"boardId"</span>: <span class="hljs-string">"string"</span>,
  7997. <span class="hljs-attr">"swimlaneId"</span>: <span class="hljs-string">"string"</span>,
  7998. <span class="hljs-attr">"createdAt"</span>: <span class="hljs-string">"string"</span>,
  7999. <span class="hljs-attr">"sort"</span>: <span class="hljs-number">0</span>,
  8000. <span class="hljs-attr">"updatedAt"</span>: <span class="hljs-string">"string"</span>,
  8001. <span class="hljs-attr">"modifiedAt"</span>: <span class="hljs-string">"string"</span>,
  8002. <span class="hljs-attr">"wipLimit"</span>: {
  8003. <span class="hljs-attr">"value"</span>: <span class="hljs-number">0</span>,
  8004. <span class="hljs-attr">"enabled"</span>: <span class="hljs-literal">true</span>,
  8005. <span class="hljs-attr">"soft"</span>: <span class="hljs-literal">true</span>
  8006. },
  8007. <span class="hljs-attr">"color"</span>: <span class="hljs-string">"white"</span>,
  8008. <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
  8009. }
  8010. </code></pre>
  8011. <h3 id="get_list-responses">Responses</h3>
  8012. <table>
  8013. <thead>
  8014. <tr>
  8015. <th>Status</th>
  8016. <th>Meaning</th>
  8017. <th>Description</th>
  8018. <th>Schema</th>
  8019. </tr>
  8020. </thead>
  8021. <tbody>
  8022. <tr>
  8023. <td>200</td>
  8024. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  8025. <td>200 response</td>
  8026. <td><a href="#schemalists">Lists</a></td>
  8027. </tr>
  8028. </tbody>
  8029. </table>
  8030. <aside class="warning">
  8031. To perform this operation, you must be authenticated by means of one of the following methods:
  8032. UserSecurity
  8033. </aside>
  8034. <h2 id="delete_list">delete_list</h2>
  8035. <p><a id="opIddelete_list"></a></p>
  8036. <blockquote>
  8037. <p>Code samples</p>
  8038. </blockquote>
  8039. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  8040. curl -X DELETE /api/boards/{board}/lists/{list} \
  8041. -H <span class="hljs-string">'Accept: application/json'</span> \
  8042. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  8043. </code></pre>
  8044. <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
  8045. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  8046. <span class="undefined"></span></span></code></pre>
  8047. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  8048. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  8049. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  8050. };
  8051. $.ajax({
  8052. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/lists/{list}'</span>,
  8053. <span class="hljs-attr">method</span>: <span class="hljs-string">'delete'</span>,
  8054. <span class="hljs-attr">headers</span>: headers,
  8055. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  8056. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  8057. }
  8058. })
  8059. </code></pre>
  8060. <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>);
  8061. <span class="hljs-keyword">const</span> headers = {
  8062. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  8063. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  8064. };
  8065. fetch(<span class="hljs-string">'/api/boards/{board}/lists/{list}'</span>,
  8066. {
  8067. <span class="hljs-attr">method</span>: <span class="hljs-string">'DELETE'</span>,
  8068. <span class="hljs-attr">headers</span>: headers
  8069. })
  8070. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  8071. <span class="hljs-keyword">return</span> res.json();
  8072. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  8073. <span class="hljs-built_in">console</span>.log(body);
  8074. });
  8075. </code></pre>
  8076. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  8077. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  8078. headers = {
  8079. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  8080. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  8081. }
  8082. result = RestClient.delete <span class="hljs-string">'/api/boards/{board}/lists/{list}'</span>,
  8083. <span class="hljs-symbol">params:</span> {
  8084. }, <span class="hljs-symbol">headers:</span> headers
  8085. p JSON.parse(result)
  8086. </code></pre>
  8087. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  8088. headers = {
  8089. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  8090. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  8091. }
  8092. r = requests.delete(<span class="hljs-string">'/api/boards/{board}/lists/{list}'</span>, params={
  8093. }, headers = headers)
  8094. <span class="hljs-keyword">print</span> r.json()
  8095. </code></pre>
  8096. <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>);
  8097. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  8098. con.setRequestMethod(<span class="hljs-string">"DELETE"</span>);
  8099. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  8100. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  8101. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  8102. String inputLine;
  8103. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  8104. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  8105. response.append(inputLine);
  8106. }
  8107. in.close();
  8108. System.out.println(response.toString());
  8109. </code></pre>
  8110. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  8111. <span class="hljs-keyword">import</span> (
  8112. <span class="hljs-string">"bytes"</span>
  8113. <span class="hljs-string">"net/http"</span>
  8114. )
  8115. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  8116. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  8117. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  8118. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  8119. }
  8120. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  8121. req, err := http.NewRequest(<span class="hljs-string">"DELETE"</span>, <span class="hljs-string">"/api/boards/{board}/lists/{list}"</span>, data)
  8122. req.Header = headers
  8123. client := &amp;http.Client{}
  8124. resp, err := client.Do(req)
  8125. <span class="hljs-comment">// ...</span>
  8126. }
  8127. </code></pre>
  8128. <p><code>DELETE /api/boards/{board}/lists/{list}</code></p>
  8129. <p><em>Delete a List</em></p>
  8130. <p>This <strong>deletes</strong> a list from a board.
  8131. The list is not put in the recycle bin.</p>
  8132. <h3 id="delete_list-parameters">Parameters</h3>
  8133. <table>
  8134. <thead>
  8135. <tr>
  8136. <th>Name</th>
  8137. <th>In</th>
  8138. <th>Type</th>
  8139. <th>Required</th>
  8140. <th>Description</th>
  8141. </tr>
  8142. </thead>
  8143. <tbody>
  8144. <tr>
  8145. <td>board</td>
  8146. <td>path</td>
  8147. <td>string</td>
  8148. <td>true</td>
  8149. <td>the board ID</td>
  8150. </tr>
  8151. <tr>
  8152. <td>list</td>
  8153. <td>path</td>
  8154. <td>string</td>
  8155. <td>true</td>
  8156. <td>the ID of the list to remove</td>
  8157. </tr>
  8158. </tbody>
  8159. </table>
  8160. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  8161. <p><strong>board</strong>: the board ID</p>
  8162. <p><strong>list</strong>: the ID of the list to remove</p>
  8163. <blockquote>
  8164. <p>Example responses</p>
  8165. </blockquote>
  8166. <blockquote>
  8167. <p>200 Response</p>
  8168. </blockquote>
  8169. <pre class="highlight tab tab-json"><code>{
  8170. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>
  8171. }
  8172. </code></pre>
  8173. <h3 id="delete_list-responses">Responses</h3>
  8174. <table>
  8175. <thead>
  8176. <tr>
  8177. <th>Status</th>
  8178. <th>Meaning</th>
  8179. <th>Description</th>
  8180. <th>Schema</th>
  8181. </tr>
  8182. </thead>
  8183. <tbody>
  8184. <tr>
  8185. <td>200</td>
  8186. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  8187. <td>200 response</td>
  8188. <td>Inline</td>
  8189. </tr>
  8190. </tbody>
  8191. </table>
  8192. <h3 id="delete_list-responseschema">Response Schema</h3>
  8193. <p>Status Code <strong>200</strong></p>
  8194. <table>
  8195. <thead>
  8196. <tr>
  8197. <th>Name</th>
  8198. <th>Type</th>
  8199. <th>Required</th>
  8200. <th>Restrictions</th>
  8201. <th>Description</th>
  8202. </tr>
  8203. </thead>
  8204. <tbody>
  8205. <tr>
  8206. <td>» _id</td>
  8207. <td>string</td>
  8208. <td>false</td>
  8209. <td>none</td>
  8210. <td>none</td>
  8211. </tr>
  8212. </tbody>
  8213. </table>
  8214. <aside class="warning">
  8215. To perform this operation, you must be authenticated by means of one of the following methods:
  8216. UserSecurity
  8217. </aside>
  8218. <h1 id="wekan-rest-api-swimlanes">Swimlanes</h1>
  8219. <h2 id="get_all_swimlanes">get_all_swimlanes</h2>
  8220. <p><a id="opIdget_all_swimlanes"></a></p>
  8221. <blockquote>
  8222. <p>Code samples</p>
  8223. </blockquote>
  8224. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  8225. curl -X GET /api/boards/{board}/swimlanes \
  8226. -H <span class="hljs-string">'Accept: application/json'</span> \
  8227. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  8228. </code></pre>
  8229. <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
  8230. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  8231. <span class="undefined"></span></span></code></pre>
  8232. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  8233. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  8234. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  8235. };
  8236. $.ajax({
  8237. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/swimlanes'</span>,
  8238. <span class="hljs-attr">method</span>: <span class="hljs-string">'get'</span>,
  8239. <span class="hljs-attr">headers</span>: headers,
  8240. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  8241. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  8242. }
  8243. })
  8244. </code></pre>
  8245. <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>);
  8246. <span class="hljs-keyword">const</span> headers = {
  8247. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  8248. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  8249. };
  8250. fetch(<span class="hljs-string">'/api/boards/{board}/swimlanes'</span>,
  8251. {
  8252. <span class="hljs-attr">method</span>: <span class="hljs-string">'GET'</span>,
  8253. <span class="hljs-attr">headers</span>: headers
  8254. })
  8255. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  8256. <span class="hljs-keyword">return</span> res.json();
  8257. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  8258. <span class="hljs-built_in">console</span>.log(body);
  8259. });
  8260. </code></pre>
  8261. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  8262. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  8263. headers = {
  8264. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  8265. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  8266. }
  8267. result = RestClient.get <span class="hljs-string">'/api/boards/{board}/swimlanes'</span>,
  8268. <span class="hljs-symbol">params:</span> {
  8269. }, <span class="hljs-symbol">headers:</span> headers
  8270. p JSON.parse(result)
  8271. </code></pre>
  8272. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  8273. headers = {
  8274. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  8275. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  8276. }
  8277. r = requests.get(<span class="hljs-string">'/api/boards/{board}/swimlanes'</span>, params={
  8278. }, headers = headers)
  8279. <span class="hljs-keyword">print</span> r.json()
  8280. </code></pre>
  8281. <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>);
  8282. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  8283. con.setRequestMethod(<span class="hljs-string">"GET"</span>);
  8284. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  8285. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  8286. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  8287. String inputLine;
  8288. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  8289. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  8290. response.append(inputLine);
  8291. }
  8292. in.close();
  8293. System.out.println(response.toString());
  8294. </code></pre>
  8295. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  8296. <span class="hljs-keyword">import</span> (
  8297. <span class="hljs-string">"bytes"</span>
  8298. <span class="hljs-string">"net/http"</span>
  8299. )
  8300. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  8301. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  8302. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  8303. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  8304. }
  8305. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  8306. req, err := http.NewRequest(<span class="hljs-string">"GET"</span>, <span class="hljs-string">"/api/boards/{board}/swimlanes"</span>, data)
  8307. req.Header = headers
  8308. client := &amp;http.Client{}
  8309. resp, err := client.Do(req)
  8310. <span class="hljs-comment">// ...</span>
  8311. }
  8312. </code></pre>
  8313. <p><code>GET /api/boards/{board}/swimlanes</code></p>
  8314. <p><em>Get the list of swimlanes attached to a board</em></p>
  8315. <h3 id="get_all_swimlanes-parameters">Parameters</h3>
  8316. <table>
  8317. <thead>
  8318. <tr>
  8319. <th>Name</th>
  8320. <th>In</th>
  8321. <th>Type</th>
  8322. <th>Required</th>
  8323. <th>Description</th>
  8324. </tr>
  8325. </thead>
  8326. <tbody>
  8327. <tr>
  8328. <td>board</td>
  8329. <td>path</td>
  8330. <td>string</td>
  8331. <td>true</td>
  8332. <td>the ID of the board</td>
  8333. </tr>
  8334. </tbody>
  8335. </table>
  8336. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  8337. <p><strong>board</strong>: the ID of the board</p>
  8338. <blockquote>
  8339. <p>Example responses</p>
  8340. </blockquote>
  8341. <blockquote>
  8342. <p>200 Response</p>
  8343. </blockquote>
  8344. <pre class="highlight tab tab-json"><code>[
  8345. {
  8346. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>,
  8347. <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>
  8348. }
  8349. ]
  8350. </code></pre>
  8351. <h3 id="get_all_swimlanes-responses">Responses</h3>
  8352. <table>
  8353. <thead>
  8354. <tr>
  8355. <th>Status</th>
  8356. <th>Meaning</th>
  8357. <th>Description</th>
  8358. <th>Schema</th>
  8359. </tr>
  8360. </thead>
  8361. <tbody>
  8362. <tr>
  8363. <td>200</td>
  8364. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  8365. <td>200 response</td>
  8366. <td>Inline</td>
  8367. </tr>
  8368. </tbody>
  8369. </table>
  8370. <h3 id="get_all_swimlanes-responseschema">Response Schema</h3>
  8371. <p>Status Code <strong>200</strong></p>
  8372. <table>
  8373. <thead>
  8374. <tr>
  8375. <th>Name</th>
  8376. <th>Type</th>
  8377. <th>Required</th>
  8378. <th>Restrictions</th>
  8379. <th>Description</th>
  8380. </tr>
  8381. </thead>
  8382. <tbody>
  8383. <tr>
  8384. <td>» _id</td>
  8385. <td>string</td>
  8386. <td>false</td>
  8387. <td>none</td>
  8388. <td>none</td>
  8389. </tr>
  8390. <tr>
  8391. <td>» title</td>
  8392. <td>string</td>
  8393. <td>false</td>
  8394. <td>none</td>
  8395. <td>none</td>
  8396. </tr>
  8397. </tbody>
  8398. </table>
  8399. <aside class="warning">
  8400. To perform this operation, you must be authenticated by means of one of the following methods:
  8401. UserSecurity
  8402. </aside>
  8403. <h2 id="new_swimlane">new_swimlane</h2>
  8404. <p><a id="opIdnew_swimlane"></a></p>
  8405. <blockquote>
  8406. <p>Code samples</p>
  8407. </blockquote>
  8408. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  8409. curl -X POST /api/boards/{board}/swimlanes \
  8410. -H <span class="hljs-string">'Content-Type: multipart/form-data'</span> \
  8411. -H <span class="hljs-string">'Accept: application/json'</span> \
  8412. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  8413. </code></pre>
  8414. <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
  8415. <span class="fortran">Content-<span class="hljs-keyword">Type</span>: multipart/<span class="hljs-keyword">form</span>-<span class="hljs-keyword">data</span>
  8416. Accept: application/json
  8417. </span></code></pre>
  8418. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  8419. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  8420. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  8421. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  8422. };
  8423. $.ajax({
  8424. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/swimlanes'</span>,
  8425. <span class="hljs-attr">method</span>: <span class="hljs-string">'post'</span>,
  8426. <span class="hljs-attr">headers</span>: headers,
  8427. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  8428. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  8429. }
  8430. })
  8431. </code></pre>
  8432. <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>);
  8433. <span class="hljs-keyword">const</span> inputBody = <span class="hljs-string">'{
  8434. "title": "string"
  8435. }'</span>;
  8436. <span class="hljs-keyword">const</span> headers = {
  8437. <span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
  8438. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  8439. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  8440. };
  8441. fetch(<span class="hljs-string">'/api/boards/{board}/swimlanes'</span>,
  8442. {
  8443. <span class="hljs-attr">method</span>: <span class="hljs-string">'POST'</span>,
  8444. <span class="hljs-attr">body</span>: inputBody,
  8445. <span class="hljs-attr">headers</span>: headers
  8446. })
  8447. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  8448. <span class="hljs-keyword">return</span> res.json();
  8449. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  8450. <span class="hljs-built_in">console</span>.log(body);
  8451. });
  8452. </code></pre>
  8453. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  8454. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  8455. headers = {
  8456. <span class="hljs-string">'Content-Type'</span> =&gt; <span class="hljs-string">'multipart/form-data'</span>,
  8457. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  8458. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  8459. }
  8460. result = RestClient.post <span class="hljs-string">'/api/boards/{board}/swimlanes'</span>,
  8461. <span class="hljs-symbol">params:</span> {
  8462. }, <span class="hljs-symbol">headers:</span> headers
  8463. p JSON.parse(result)
  8464. </code></pre>
  8465. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  8466. headers = {
  8467. <span class="hljs-string">'Content-Type'</span>: <span class="hljs-string">'multipart/form-data'</span>,
  8468. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  8469. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  8470. }
  8471. r = requests.post(<span class="hljs-string">'/api/boards/{board}/swimlanes'</span>, params={
  8472. }, headers = headers)
  8473. <span class="hljs-keyword">print</span> r.json()
  8474. </code></pre>
  8475. <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>);
  8476. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  8477. con.setRequestMethod(<span class="hljs-string">"POST"</span>);
  8478. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  8479. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  8480. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  8481. String inputLine;
  8482. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  8483. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  8484. response.append(inputLine);
  8485. }
  8486. in.close();
  8487. System.out.println(response.toString());
  8488. </code></pre>
  8489. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  8490. <span class="hljs-keyword">import</span> (
  8491. <span class="hljs-string">"bytes"</span>
  8492. <span class="hljs-string">"net/http"</span>
  8493. )
  8494. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  8495. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  8496. <span class="hljs-string">"Content-Type"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"multipart/form-data"</span>},
  8497. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  8498. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  8499. }
  8500. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  8501. req, err := http.NewRequest(<span class="hljs-string">"POST"</span>, <span class="hljs-string">"/api/boards/{board}/swimlanes"</span>, data)
  8502. req.Header = headers
  8503. client := &amp;http.Client{}
  8504. resp, err := client.Do(req)
  8505. <span class="hljs-comment">// ...</span>
  8506. }
  8507. </code></pre>
  8508. <p><code>POST /api/boards/{board}/swimlanes</code></p>
  8509. <p><em>Add a swimlane to a board</em></p>
  8510. <blockquote>
  8511. <p>Body parameter</p>
  8512. </blockquote>
  8513. <pre class="highlight tab tab-yaml"><code><span class="hljs-attr">title:</span> <span class="hljs-string">string</span>
  8514. </code></pre>
  8515. <h3 id="new_swimlane-parameters">Parameters</h3>
  8516. <table>
  8517. <thead>
  8518. <tr>
  8519. <th>Name</th>
  8520. <th>In</th>
  8521. <th>Type</th>
  8522. <th>Required</th>
  8523. <th>Description</th>
  8524. </tr>
  8525. </thead>
  8526. <tbody>
  8527. <tr>
  8528. <td>board</td>
  8529. <td>path</td>
  8530. <td>string</td>
  8531. <td>true</td>
  8532. <td>the ID of the board</td>
  8533. </tr>
  8534. <tr>
  8535. <td>body</td>
  8536. <td>body</td>
  8537. <td>object</td>
  8538. <td>false</td>
  8539. <td>none</td>
  8540. </tr>
  8541. <tr>
  8542. <td>» title</td>
  8543. <td>body</td>
  8544. <td>string</td>
  8545. <td>true</td>
  8546. <td>the new title of the swimlane</td>
  8547. </tr>
  8548. </tbody>
  8549. </table>
  8550. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  8551. <p><strong>board</strong>: the ID of the board</p>
  8552. <blockquote>
  8553. <p>Example responses</p>
  8554. </blockquote>
  8555. <blockquote>
  8556. <p>200 Response</p>
  8557. </blockquote>
  8558. <pre class="highlight tab tab-json"><code>{
  8559. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>
  8560. }
  8561. </code></pre>
  8562. <h3 id="new_swimlane-responses">Responses</h3>
  8563. <table>
  8564. <thead>
  8565. <tr>
  8566. <th>Status</th>
  8567. <th>Meaning</th>
  8568. <th>Description</th>
  8569. <th>Schema</th>
  8570. </tr>
  8571. </thead>
  8572. <tbody>
  8573. <tr>
  8574. <td>200</td>
  8575. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  8576. <td>200 response</td>
  8577. <td>Inline</td>
  8578. </tr>
  8579. </tbody>
  8580. </table>
  8581. <h3 id="new_swimlane-responseschema">Response Schema</h3>
  8582. <p>Status Code <strong>200</strong></p>
  8583. <table>
  8584. <thead>
  8585. <tr>
  8586. <th>Name</th>
  8587. <th>Type</th>
  8588. <th>Required</th>
  8589. <th>Restrictions</th>
  8590. <th>Description</th>
  8591. </tr>
  8592. </thead>
  8593. <tbody>
  8594. <tr>
  8595. <td>» _id</td>
  8596. <td>string</td>
  8597. <td>false</td>
  8598. <td>none</td>
  8599. <td>none</td>
  8600. </tr>
  8601. </tbody>
  8602. </table>
  8603. <aside class="warning">
  8604. To perform this operation, you must be authenticated by means of one of the following methods:
  8605. UserSecurity
  8606. </aside>
  8607. <h2 id="get_swimlane">get_swimlane</h2>
  8608. <p><a id="opIdget_swimlane"></a></p>
  8609. <blockquote>
  8610. <p>Code samples</p>
  8611. </blockquote>
  8612. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  8613. curl -X GET /api/boards/{board}/swimlanes/{swimlane} \
  8614. -H <span class="hljs-string">'Accept: application/json'</span> \
  8615. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  8616. </code></pre>
  8617. <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
  8618. <span class="http"><span class="hljs-attribute">Accept</span>: application/json
  8619. <span class="undefined"></span></span></code></pre>
  8620. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  8621. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  8622. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  8623. };
  8624. $.ajax({
  8625. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/swimlanes/{swimlane}'</span>,
  8626. <span class="hljs-attr">method</span>: <span class="hljs-string">'get'</span>,
  8627. <span class="hljs-attr">headers</span>: headers,
  8628. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  8629. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  8630. }
  8631. })
  8632. </code></pre>
  8633. <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>);
  8634. <span class="hljs-keyword">const</span> headers = {
  8635. <span class="hljs-string">'Accept'</span>:<span class="hljs-string">'application/json'</span>,
  8636. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  8637. };
  8638. fetch(<span class="hljs-string">'/api/boards/{board}/swimlanes/{swimlane}'</span>,
  8639. {
  8640. <span class="hljs-attr">method</span>: <span class="hljs-string">'GET'</span>,
  8641. <span class="hljs-attr">headers</span>: headers
  8642. })
  8643. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  8644. <span class="hljs-keyword">return</span> res.json();
  8645. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  8646. <span class="hljs-built_in">console</span>.log(body);
  8647. });
  8648. </code></pre>
  8649. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  8650. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  8651. headers = {
  8652. <span class="hljs-string">'Accept'</span> =&gt; <span class="hljs-string">'application/json'</span>,
  8653. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  8654. }
  8655. result = RestClient.get <span class="hljs-string">'/api/boards/{board}/swimlanes/{swimlane}'</span>,
  8656. <span class="hljs-symbol">params:</span> {
  8657. }, <span class="hljs-symbol">headers:</span> headers
  8658. p JSON.parse(result)
  8659. </code></pre>
  8660. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  8661. headers = {
  8662. <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'application/json'</span>,
  8663. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  8664. }
  8665. r = requests.get(<span class="hljs-string">'/api/boards/{board}/swimlanes/{swimlane}'</span>, params={
  8666. }, headers = headers)
  8667. <span class="hljs-keyword">print</span> r.json()
  8668. </code></pre>
  8669. <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>);
  8670. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  8671. con.setRequestMethod(<span class="hljs-string">"GET"</span>);
  8672. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  8673. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  8674. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  8675. String inputLine;
  8676. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  8677. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  8678. response.append(inputLine);
  8679. }
  8680. in.close();
  8681. System.out.println(response.toString());
  8682. </code></pre>
  8683. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  8684. <span class="hljs-keyword">import</span> (
  8685. <span class="hljs-string">"bytes"</span>
  8686. <span class="hljs-string">"net/http"</span>
  8687. )
  8688. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  8689. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  8690. <span class="hljs-string">"Accept"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"application/json"</span>},
  8691. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  8692. }
  8693. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  8694. req, err := http.NewRequest(<span class="hljs-string">"GET"</span>, <span class="hljs-string">"/api/boards/{board}/swimlanes/{swimlane}"</span>, data)
  8695. req.Header = headers
  8696. client := &amp;http.Client{}
  8697. resp, err := client.Do(req)
  8698. <span class="hljs-comment">// ...</span>
  8699. }
  8700. </code></pre>
  8701. <p><code>GET /api/boards/{board}/swimlanes/{swimlane}</code></p>
  8702. <p><em>Get a swimlane</em></p>
  8703. <h3 id="get_swimlane-parameters">Parameters</h3>
  8704. <table>
  8705. <thead>
  8706. <tr>
  8707. <th>Name</th>
  8708. <th>In</th>
  8709. <th>Type</th>
  8710. <th>Required</th>
  8711. <th>Description</th>
  8712. </tr>
  8713. </thead>
  8714. <tbody>
  8715. <tr>
  8716. <td>board</td>
  8717. <td>path</td>
  8718. <td>string</td>
  8719. <td>true</td>
  8720. <td>the ID of the board</td>
  8721. </tr>
  8722. <tr>
  8723. <td>swimlane</td>
  8724. <td>path</td>
  8725. <td>string</td>
  8726. <td>true</td>
  8727. <td>the ID of the swimlane</td>
  8728. </tr>
  8729. </tbody>
  8730. </table>
  8731. <h4 id="detailed-descriptions">Detailed descriptions</h4>
  8732. <p><strong>board</strong>: the ID of the board</p>
  8733. <p><strong>swimlane</strong>: the ID of the swimlane</p>
  8734. <blockquote>
  8735. <p>Example responses</p>
  8736. </blockquote>
  8737. <blockquote>
  8738. <p>200 Response</p>
  8739. </blockquote>
  8740. <pre class="highlight tab tab-json"><code>{
  8741. <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
  8742. <span class="hljs-attr">"archived"</span>: <span class="hljs-literal">true</span>,
  8743. <span class="hljs-attr">"boardId"</span>: <span class="hljs-string">"string"</span>,
  8744. <span class="hljs-attr">"createdAt"</span>: <span class="hljs-string">"string"</span>,
  8745. <span class="hljs-attr">"sort"</span>: <span class="hljs-number">0</span>,
  8746. <span class="hljs-attr">"color"</span>: <span class="hljs-string">"white"</span>,
  8747. <span class="hljs-attr">"updatedAt"</span>: <span class="hljs-string">"string"</span>,
  8748. <span class="hljs-attr">"modifiedAt"</span>: <span class="hljs-string">"string"</span>,
  8749. <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
  8750. }
  8751. </code></pre>
  8752. <h3 id="get_swimlane-responses">Responses</h3>
  8753. <table>
  8754. <thead>
  8755. <tr>
  8756. <th>Status</th>
  8757. <th>Meaning</th>
  8758. <th>Description</th>
  8759. <th>Schema</th>
  8760. </tr>
  8761. </thead>
  8762. <tbody>
  8763. <tr>
  8764. <td>200</td>
  8765. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  8766. <td>200 response</td>
  8767. <td><a href="#schemaswimlanes">Swimlanes</a></td>
  8768. </tr>
  8769. </tbody>
  8770. </table>
  8771. <aside class="warning">
  8772. To perform this operation, you must be authenticated by means of one of the following methods:
  8773. UserSecurity
  8774. </aside>
  8775. <h2 id="delete_board_swimlane">delete_board_swimlane</h2>
  8776. <p><a id="opIddelete_board_swimlane"></a></p>
  8777. <blockquote>
  8778. <p>Code samples</p>
  8779. </blockquote>
  8780. <pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
  8781. curl -X DELETE /api/boards/{board}/swimlanes/{swimlane} \
  8782. -H <span class="hljs-string">'Authorization: API_KEY'</span>
  8783. </code></pre>
  8784. <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
  8785. <span class="undefined"></span></code></pre>
  8786. <pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">var</span> headers = {
  8787. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  8788. };
  8789. $.ajax({
  8790. <span class="hljs-attr">url</span>: <span class="hljs-string">'/api/boards/{board}/swimlanes/{swimlane}'</span>,
  8791. <span class="hljs-attr">method</span>: <span class="hljs-string">'delete'</span>,
  8792. <span class="hljs-attr">headers</span>: headers,
  8793. <span class="hljs-attr">success</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">data</span>) </span>{
  8794. <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(data));
  8795. }
  8796. })
  8797. </code></pre>
  8798. <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>);
  8799. <span class="hljs-keyword">const</span> headers = {
  8800. <span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
  8801. };
  8802. fetch(<span class="hljs-string">'/api/boards/{board}/swimlanes/{swimlane}'</span>,
  8803. {
  8804. <span class="hljs-attr">method</span>: <span class="hljs-string">'DELETE'</span>,
  8805. <span class="hljs-attr">headers</span>: headers
  8806. })
  8807. .then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
  8808. <span class="hljs-keyword">return</span> res.json();
  8809. }).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
  8810. <span class="hljs-built_in">console</span>.log(body);
  8811. });
  8812. </code></pre>
  8813. <pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
  8814. <span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
  8815. headers = {
  8816. <span class="hljs-string">'Authorization'</span> =&gt; <span class="hljs-string">'API_KEY'</span>
  8817. }
  8818. result = RestClient.delete <span class="hljs-string">'/api/boards/{board}/swimlanes/{swimlane}'</span>,
  8819. <span class="hljs-symbol">params:</span> {
  8820. }, <span class="hljs-symbol">headers:</span> headers
  8821. p JSON.parse(result)
  8822. </code></pre>
  8823. <pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
  8824. headers = {
  8825. <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
  8826. }
  8827. r = requests.delete(<span class="hljs-string">'/api/boards/{board}/swimlanes/{swimlane}'</span>, params={
  8828. }, headers = headers)
  8829. <span class="hljs-keyword">print</span> r.json()
  8830. </code></pre>
  8831. <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>);
  8832. HttpURLConnection con = (HttpURLConnection) obj.openConnection();
  8833. con.setRequestMethod(<span class="hljs-string">"DELETE"</span>);
  8834. <span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
  8835. BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
  8836. <span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
  8837. String inputLine;
  8838. StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
  8839. <span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
  8840. response.append(inputLine);
  8841. }
  8842. in.close();
  8843. System.out.println(response.toString());
  8844. </code></pre>
  8845. <pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
  8846. <span class="hljs-keyword">import</span> (
  8847. <span class="hljs-string">"bytes"</span>
  8848. <span class="hljs-string">"net/http"</span>
  8849. )
  8850. <span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
  8851. headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
  8852. <span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
  8853. }
  8854. data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
  8855. req, err := http.NewRequest(<span class="hljs-string">"DELETE"</span>, <span class="hljs-string">"/api/boards/{board}/swimlanes/{swimlane}"</span>, data)
  8856. req.Header = headers
  8857. client := &amp;http.Client{}
  8858. resp, err := client.Do(req)
  8859. <span class="hljs-comment">// ...</span>
  8860. }
  8861. </code></pre>
  8862. <p><code>DELETE /api/boards/{board}/swimlanes/{swimlane}</code></p>
  8863. <h3 id="delete_board_swimlane-parameters">Parameters</h3>
  8864. <table>
  8865. <thead>
  8866. <tr>
  8867. <th>Name</th>
  8868. <th>In</th>
  8869. <th>Type</th>
  8870. <th>Required</th>
  8871. <th>Description</th>
  8872. </tr>
  8873. </thead>
  8874. <tbody>
  8875. <tr>
  8876. <td>board</td>
  8877. <td>path</td>
  8878. <td>string</td>
  8879. <td>true</td>
  8880. <td>the board value</td>
  8881. </tr>
  8882. <tr>
  8883. <td>swimlane</td>
  8884. <td>path</td>
  8885. <td>string</td>
  8886. <td>true</td>
  8887. <td>the swimlane value</td>
  8888. </tr>
  8889. </tbody>
  8890. </table>
  8891. <h3 id="delete_board_swimlane-responses">Responses</h3>
  8892. <table>
  8893. <thead>
  8894. <tr>
  8895. <th>Status</th>
  8896. <th>Meaning</th>
  8897. <th>Description</th>
  8898. <th>Schema</th>
  8899. </tr>
  8900. </thead>
  8901. <tbody>
  8902. <tr>
  8903. <td>200</td>
  8904. <td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
  8905. <td>200 response</td>
  8906. <td>None</td>
  8907. </tr>
  8908. </tbody>
  8909. </table>
  8910. <aside class="warning">
  8911. To perform this operation, you must be authenticated by means of one of the following methods:
  8912. UserSecurity
  8913. </aside>
  8914. <h1 id="schemas">Schemas</h1>
  8915. <h2 id="tocsboards">Boards</h2>
  8916. <p><a id="schemaboards"></a></p>
  8917. <pre class="highlight tab tab-json"><code>{
  8918. <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
  8919. <span class="hljs-attr">"slug"</span>: <span class="hljs-string">"string"</span>,
  8920. <span class="hljs-attr">"archived"</span>: <span class="hljs-literal">true</span>,
  8921. <span class="hljs-attr">"createdAt"</span>: <span class="hljs-string">"string"</span>,
  8922. <span class="hljs-attr">"modifiedAt"</span>: <span class="hljs-string">"string"</span>,
  8923. <span class="hljs-attr">"stars"</span>: <span class="hljs-number">0</span>,
  8924. <span class="hljs-attr">"labels"</span>: [
  8925. {
  8926. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>,
  8927. <span class="hljs-attr">"name"</span>: <span class="hljs-string">"string"</span>,
  8928. <span class="hljs-attr">"color"</span>: <span class="hljs-string">"green"</span>
  8929. }
  8930. ],
  8931. <span class="hljs-attr">"members"</span>: [
  8932. {
  8933. <span class="hljs-attr">"userId"</span>: <span class="hljs-string">"string"</span>,
  8934. <span class="hljs-attr">"isAdmin"</span>: <span class="hljs-literal">true</span>,
  8935. <span class="hljs-attr">"isActive"</span>: <span class="hljs-literal">true</span>,
  8936. <span class="hljs-attr">"isNoComments"</span>: <span class="hljs-literal">true</span>,
  8937. <span class="hljs-attr">"isCommentOnly"</span>: <span class="hljs-literal">true</span>,
  8938. <span class="hljs-attr">"isWorker"</span>: <span class="hljs-literal">true</span>
  8939. }
  8940. ],
  8941. <span class="hljs-attr">"permission"</span>: <span class="hljs-string">"public"</span>,
  8942. <span class="hljs-attr">"color"</span>: <span class="hljs-string">"belize"</span>,
  8943. <span class="hljs-attr">"description"</span>: <span class="hljs-string">"string"</span>,
  8944. <span class="hljs-attr">"subtasksDefaultBoardId"</span>: <span class="hljs-string">"string"</span>,
  8945. <span class="hljs-attr">"subtasksDefaultListId"</span>: <span class="hljs-string">"string"</span>,
  8946. <span class="hljs-attr">"dateSettingsDefaultBoardId"</span>: <span class="hljs-string">"string"</span>,
  8947. <span class="hljs-attr">"dateSettingsDefaultListId"</span>: <span class="hljs-string">"string"</span>,
  8948. <span class="hljs-attr">"allowsSubtasks"</span>: <span class="hljs-literal">true</span>,
  8949. <span class="hljs-attr">"allowsAttachments"</span>: <span class="hljs-literal">true</span>,
  8950. <span class="hljs-attr">"allowsChecklists"</span>: <span class="hljs-literal">true</span>,
  8951. <span class="hljs-attr">"allowsComments"</span>: <span class="hljs-literal">true</span>,
  8952. <span class="hljs-attr">"allowsDescriptionTitle"</span>: <span class="hljs-literal">true</span>,
  8953. <span class="hljs-attr">"allowsDescriptionText"</span>: <span class="hljs-literal">true</span>,
  8954. <span class="hljs-attr">"allowsActivities"</span>: <span class="hljs-literal">true</span>,
  8955. <span class="hljs-attr">"allowsLabels"</span>: <span class="hljs-literal">true</span>,
  8956. <span class="hljs-attr">"allowsAssignee"</span>: <span class="hljs-literal">true</span>,
  8957. <span class="hljs-attr">"allowsMembers"</span>: <span class="hljs-literal">true</span>,
  8958. <span class="hljs-attr">"allowsRequestedBy"</span>: <span class="hljs-literal">true</span>,
  8959. <span class="hljs-attr">"allowsAssignedBy"</span>: <span class="hljs-literal">true</span>,
  8960. <span class="hljs-attr">"allowsReceivedDate"</span>: <span class="hljs-literal">true</span>,
  8961. <span class="hljs-attr">"allowsStartDate"</span>: <span class="hljs-literal">true</span>,
  8962. <span class="hljs-attr">"allowsEndDate"</span>: <span class="hljs-literal">true</span>,
  8963. <span class="hljs-attr">"allowsDueDate"</span>: <span class="hljs-literal">true</span>,
  8964. <span class="hljs-attr">"presentParentTask"</span>: <span class="hljs-string">"prefix-with-full-path"</span>,
  8965. <span class="hljs-attr">"startAt"</span>: <span class="hljs-string">"string"</span>,
  8966. <span class="hljs-attr">"dueAt"</span>: <span class="hljs-string">"string"</span>,
  8967. <span class="hljs-attr">"endAt"</span>: <span class="hljs-string">"string"</span>,
  8968. <span class="hljs-attr">"spentTime"</span>: <span class="hljs-number">0</span>,
  8969. <span class="hljs-attr">"isOvertime"</span>: <span class="hljs-literal">true</span>,
  8970. <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>,
  8971. <span class="hljs-attr">"sort"</span>: <span class="hljs-number">0</span>
  8972. }
  8973. </code></pre>
  8974. <p><em>This is a Board.</em></p>
  8975. <h3 id="properties">Properties</h3>
  8976. <table>
  8977. <thead>
  8978. <tr>
  8979. <th>Name</th>
  8980. <th>Type</th>
  8981. <th>Required</th>
  8982. <th>Restrictions</th>
  8983. <th>Description</th>
  8984. </tr>
  8985. </thead>
  8986. <tbody>
  8987. <tr>
  8988. <td>title</td>
  8989. <td>string</td>
  8990. <td>true</td>
  8991. <td>none</td>
  8992. <td>The title of the board</td>
  8993. </tr>
  8994. <tr>
  8995. <td>slug</td>
  8996. <td>string</td>
  8997. <td>true</td>
  8998. <td>none</td>
  8999. <td>The title slugified.</td>
  9000. </tr>
  9001. <tr>
  9002. <td>archived</td>
  9003. <td>boolean</td>
  9004. <td>true</td>
  9005. <td>none</td>
  9006. <td>Is the board archived?</td>
  9007. </tr>
  9008. <tr>
  9009. <td>createdAt</td>
  9010. <td>string</td>
  9011. <td>true</td>
  9012. <td>none</td>
  9013. <td>Creation time of the board</td>
  9014. </tr>
  9015. <tr>
  9016. <td>modifiedAt</td>
  9017. <td>string|null</td>
  9018. <td>false</td>
  9019. <td>none</td>
  9020. <td>Last modification time of the board</td>
  9021. </tr>
  9022. <tr>
  9023. <td>stars</td>
  9024. <td>number</td>
  9025. <td>true</td>
  9026. <td>none</td>
  9027. <td>How many stars the board has</td>
  9028. </tr>
  9029. <tr>
  9030. <td>labels</td>
  9031. <td>[<a href="#schemaboardslabels">BoardsLabels</a>]</td>
  9032. <td>true</td>
  9033. <td>none</td>
  9034. <td>List of labels attached to a board</td>
  9035. </tr>
  9036. <tr>
  9037. <td>members</td>
  9038. <td>[<a href="#schemaboardsmembers">BoardsMembers</a>]</td>
  9039. <td>true</td>
  9040. <td>none</td>
  9041. <td>List of members of a board</td>
  9042. </tr>
  9043. <tr>
  9044. <td>permission</td>
  9045. <td>string</td>
  9046. <td>true</td>
  9047. <td>none</td>
  9048. <td>visibility of the board</td>
  9049. </tr>
  9050. <tr>
  9051. <td>color</td>
  9052. <td>string</td>
  9053. <td>true</td>
  9054. <td>none</td>
  9055. <td>The color of the board.</td>
  9056. </tr>
  9057. <tr>
  9058. <td>description</td>
  9059. <td>string|null</td>
  9060. <td>false</td>
  9061. <td>none</td>
  9062. <td>The description of the board</td>
  9063. </tr>
  9064. <tr>
  9065. <td>subtasksDefaultBoardId</td>
  9066. <td>string|null</td>
  9067. <td>false</td>
  9068. <td>none</td>
  9069. <td>The default board ID assigned to subtasks.</td>
  9070. </tr>
  9071. <tr>
  9072. <td>subtasksDefaultListId</td>
  9073. <td>string|null</td>
  9074. <td>false</td>
  9075. <td>none</td>
  9076. <td>The default List ID assigned to subtasks.</td>
  9077. </tr>
  9078. <tr>
  9079. <td>dateSettingsDefaultBoardId</td>
  9080. <td>string|null</td>
  9081. <td>false</td>
  9082. <td>none</td>
  9083. <td>none</td>
  9084. </tr>
  9085. <tr>
  9086. <td>dateSettingsDefaultListId</td>
  9087. <td>string|null</td>
  9088. <td>false</td>
  9089. <td>none</td>
  9090. <td>none</td>
  9091. </tr>
  9092. <tr>
  9093. <td>allowsSubtasks</td>
  9094. <td>boolean</td>
  9095. <td>true</td>
  9096. <td>none</td>
  9097. <td>Does the board allows subtasks?</td>
  9098. </tr>
  9099. <tr>
  9100. <td>allowsAttachments</td>
  9101. <td>boolean</td>
  9102. <td>true</td>
  9103. <td>none</td>
  9104. <td>Does the board allows attachments?</td>
  9105. </tr>
  9106. <tr>
  9107. <td>allowsChecklists</td>
  9108. <td>boolean</td>
  9109. <td>true</td>
  9110. <td>none</td>
  9111. <td>Does the board allows checklists?</td>
  9112. </tr>
  9113. <tr>
  9114. <td>allowsComments</td>
  9115. <td>boolean</td>
  9116. <td>true</td>
  9117. <td>none</td>
  9118. <td>Does the board allows comments?</td>
  9119. </tr>
  9120. <tr>
  9121. <td>allowsDescriptionTitle</td>
  9122. <td>boolean</td>
  9123. <td>true</td>
  9124. <td>none</td>
  9125. <td>Does the board allows description title?</td>
  9126. </tr>
  9127. <tr>
  9128. <td>allowsDescriptionText</td>
  9129. <td>boolean</td>
  9130. <td>true</td>
  9131. <td>none</td>
  9132. <td>Does the board allows description text?</td>
  9133. </tr>
  9134. <tr>
  9135. <td>allowsActivities</td>
  9136. <td>boolean</td>
  9137. <td>true</td>
  9138. <td>none</td>
  9139. <td>Does the board allows comments?</td>
  9140. </tr>
  9141. <tr>
  9142. <td>allowsLabels</td>
  9143. <td>boolean</td>
  9144. <td>true</td>
  9145. <td>none</td>
  9146. <td>Does the board allows labels?</td>
  9147. </tr>
  9148. <tr>
  9149. <td>allowsAssignee</td>
  9150. <td>boolean</td>
  9151. <td>true</td>
  9152. <td>none</td>
  9153. <td>Does the board allows assignee?</td>
  9154. </tr>
  9155. <tr>
  9156. <td>allowsMembers</td>
  9157. <td>boolean</td>
  9158. <td>true</td>
  9159. <td>none</td>
  9160. <td>Does the board allows members?</td>
  9161. </tr>
  9162. <tr>
  9163. <td>allowsRequestedBy</td>
  9164. <td>boolean</td>
  9165. <td>true</td>
  9166. <td>none</td>
  9167. <td>Does the board allows requested by?</td>
  9168. </tr>
  9169. <tr>
  9170. <td>allowsAssignedBy</td>
  9171. <td>boolean</td>
  9172. <td>true</td>
  9173. <td>none</td>
  9174. <td>Does the board allows requested by?</td>
  9175. </tr>
  9176. <tr>
  9177. <td>allowsReceivedDate</td>
  9178. <td>boolean</td>
  9179. <td>true</td>
  9180. <td>none</td>
  9181. <td>Does the board allows received date?</td>
  9182. </tr>
  9183. <tr>
  9184. <td>allowsStartDate</td>
  9185. <td>boolean</td>
  9186. <td>true</td>
  9187. <td>none</td>
  9188. <td>Does the board allows start date?</td>
  9189. </tr>
  9190. <tr>
  9191. <td>allowsEndDate</td>
  9192. <td>boolean</td>
  9193. <td>true</td>
  9194. <td>none</td>
  9195. <td>Does the board allows end date?</td>
  9196. </tr>
  9197. <tr>
  9198. <td>allowsDueDate</td>
  9199. <td>boolean</td>
  9200. <td>true</td>
  9201. <td>none</td>
  9202. <td>Does the board allows due date?</td>
  9203. </tr>
  9204. <tr>
  9205. <td>presentParentTask</td>
  9206. <td>string|null</td>
  9207. <td>false</td>
  9208. <td>none</td>
  9209. <td>Controls how to present the parent task: - <code>prefix-with-full-path</code>: add a prefix with the full path - <code>prefix-with-parent</code>: add a prefisx with the parent name - <code>subtext-with-full-path</code>: add a subtext with the full path - <code>subtext-with-parent</code>: add a subtext with the parent name - <code>no-parent</code>: does not show the parent at all</td>
  9210. </tr>
  9211. <tr>
  9212. <td>startAt</td>
  9213. <td>string|null</td>
  9214. <td>false</td>
  9215. <td>none</td>
  9216. <td>Starting date of the board.</td>
  9217. </tr>
  9218. <tr>
  9219. <td>dueAt</td>
  9220. <td>string|null</td>
  9221. <td>false</td>
  9222. <td>none</td>
  9223. <td>Due date of the board.</td>
  9224. </tr>
  9225. <tr>
  9226. <td>endAt</td>
  9227. <td>string|null</td>
  9228. <td>false</td>
  9229. <td>none</td>
  9230. <td>End date of the board.</td>
  9231. </tr>
  9232. <tr>
  9233. <td>spentTime</td>
  9234. <td>number|null</td>
  9235. <td>false</td>
  9236. <td>none</td>
  9237. <td>Time spent in the board.</td>
  9238. </tr>
  9239. <tr>
  9240. <td>isOvertime</td>
  9241. <td>boolean|null</td>
  9242. <td>false</td>
  9243. <td>none</td>
  9244. <td>Is the board overtimed?</td>
  9245. </tr>
  9246. <tr>
  9247. <td>type</td>
  9248. <td>string</td>
  9249. <td>true</td>
  9250. <td>none</td>
  9251. <td>The type of board</td>
  9252. </tr>
  9253. <tr>
  9254. <td>sort</td>
  9255. <td>number</td>
  9256. <td>true</td>
  9257. <td>none</td>
  9258. <td>Sort value</td>
  9259. </tr>
  9260. </tbody>
  9261. </table>
  9262. <h4 id="enumerated-values">Enumerated Values</h4>
  9263. <table>
  9264. <thead>
  9265. <tr>
  9266. <th>Property</th>
  9267. <th>Value</th>
  9268. </tr>
  9269. </thead>
  9270. <tbody>
  9271. <tr>
  9272. <td>permission</td>
  9273. <td>public</td>
  9274. </tr>
  9275. <tr>
  9276. <td>permission</td>
  9277. <td>private</td>
  9278. </tr>
  9279. <tr>
  9280. <td>color</td>
  9281. <td>belize</td>
  9282. </tr>
  9283. <tr>
  9284. <td>color</td>
  9285. <td>nephritis</td>
  9286. </tr>
  9287. <tr>
  9288. <td>color</td>
  9289. <td>pomegranate</td>
  9290. </tr>
  9291. <tr>
  9292. <td>color</td>
  9293. <td>pumpkin</td>
  9294. </tr>
  9295. <tr>
  9296. <td>color</td>
  9297. <td>wisteria</td>
  9298. </tr>
  9299. <tr>
  9300. <td>color</td>
  9301. <td>moderatepink</td>
  9302. </tr>
  9303. <tr>
  9304. <td>color</td>
  9305. <td>strongcyan</td>
  9306. </tr>
  9307. <tr>
  9308. <td>color</td>
  9309. <td>limegreen</td>
  9310. </tr>
  9311. <tr>
  9312. <td>color</td>
  9313. <td>midnight</td>
  9314. </tr>
  9315. <tr>
  9316. <td>color</td>
  9317. <td>dark</td>
  9318. </tr>
  9319. <tr>
  9320. <td>color</td>
  9321. <td>relax</td>
  9322. </tr>
  9323. <tr>
  9324. <td>color</td>
  9325. <td>corteza</td>
  9326. </tr>
  9327. <tr>
  9328. <td>presentParentTask</td>
  9329. <td>prefix-with-full-path</td>
  9330. </tr>
  9331. <tr>
  9332. <td>presentParentTask</td>
  9333. <td>prefix-with-parent</td>
  9334. </tr>
  9335. <tr>
  9336. <td>presentParentTask</td>
  9337. <td>subtext-with-full-path</td>
  9338. </tr>
  9339. <tr>
  9340. <td>presentParentTask</td>
  9341. <td>subtext-with-parent</td>
  9342. </tr>
  9343. <tr>
  9344. <td>presentParentTask</td>
  9345. <td>no-parent</td>
  9346. </tr>
  9347. </tbody>
  9348. </table>
  9349. <h2 id="tocsboardslabels">BoardsLabels</h2>
  9350. <p><a id="schemaboardslabels"></a></p>
  9351. <pre class="highlight tab tab-json"><code>{
  9352. <span class="hljs-attr">"_id"</span>: <span class="hljs-string">"string"</span>,
  9353. <span class="hljs-attr">"name"</span>: <span class="hljs-string">"string"</span>,
  9354. <span class="hljs-attr">"color"</span>: <span class="hljs-string">"green"</span>
  9355. }
  9356. </code></pre>
  9357. <h3 id="properties">Properties</h3>
  9358. <table>
  9359. <thead>
  9360. <tr>
  9361. <th>Name</th>
  9362. <th>Type</th>
  9363. <th>Required</th>
  9364. <th>Restrictions</th>
  9365. <th>Description</th>
  9366. </tr>
  9367. </thead>
  9368. <tbody>
  9369. <tr>
  9370. <td>_id</td>
  9371. <td>string</td>
  9372. <td>true</td>
  9373. <td>none</td>
  9374. <td>Unique id of a label</td>
  9375. </tr>
  9376. <tr>
  9377. <td>name</td>
  9378. <td>string</td>
  9379. <td>false</td>
  9380. <td>none</td>
  9381. <td>Name of a label</td>
  9382. </tr>
  9383. <tr>
  9384. <td>color</td>
  9385. <td>string</td>
  9386. <td>true</td>
  9387. <td>none</td>
  9388. <td>color of a label. Can be amongst <code>green</code>, <code>yellow</code>, <code>orange</code>, <code>red</code>, <code>purple</code>, <code>blue</code>, <code>sky</code>, <code>lime</code>, <code>pink</code>, <code>black</code>, <code>silver</code>, <code>peachpuff</code>, <code>crimson</code>, <code>plum</code>, <code>darkgreen</code>, <code>slateblue</code>, <code>magenta</code>, <code>gold</code>, <code>navy</code>, <code>gray</code>, <code>saddlebrown</code>, <code>paleturquoise</code>, <code>mistyrose</code>, <code>indigo</code></td>
  9389. </tr>
  9390. </tbody>
  9391. </table>
  9392. <h4 id="enumerated-values">Enumerated Values</h4>
  9393. <table>
  9394. <thead>
  9395. <tr>
  9396. <th>Property</th>
  9397. <th>Value</th>
  9398. </tr>
  9399. </thead>
  9400. <tbody>
  9401. <tr>
  9402. <td>color</td>
  9403. <td>green</td>
  9404. </tr>
  9405. <tr>
  9406. <td>color</td>
  9407. <td>yellow</td>
  9408. </tr>
  9409. <tr>
  9410. <td>color</td>
  9411. <td>orange</td>
  9412. </tr>
  9413. <tr>
  9414. <td>color</td>
  9415. <td>red</td>
  9416. </tr>
  9417. <tr>
  9418. <td>color</td>
  9419. <td>purple</td>
  9420. </tr>
  9421. <tr>
  9422. <td>color</td>
  9423. <td>blue</td>
  9424. </tr>
  9425. <tr>
  9426. <td>color</td>
  9427. <td>sky</td>
  9428. </tr>
  9429. <tr>
  9430. <td>color</td>
  9431. <td>lime</td>
  9432. </tr>
  9433. <tr>
  9434. <td>color</td>
  9435. <td>pink</td>
  9436. </tr>
  9437. <tr>
  9438. <td>color</td>
  9439. <td>black</td>
  9440. </tr>
  9441. <tr>
  9442. <td>color</td>
  9443. <td>silver</td>
  9444. </tr>
  9445. <tr>
  9446. <td>color</td>
  9447. <td>peachpuff</td>
  9448. </tr>
  9449. <tr>
  9450. <td>color</td>
  9451. <td>crimson</td>
  9452. </tr>
  9453. <tr>
  9454. <td>color</td>
  9455. <td>plum</td>
  9456. </tr>
  9457. <tr>
  9458. <td>color</td>
  9459. <td>darkgreen</td>
  9460. </tr>
  9461. <tr>
  9462. <td>color</td>
  9463. <td>slateblue</td>
  9464. </tr>
  9465. <tr>
  9466. <td>color</td>
  9467. <td>magenta</td>
  9468. </tr>
  9469. <tr>
  9470. <td>color</td>
  9471. <td>gold</td>
  9472. </tr>
  9473. <tr>
  9474. <td>color</td>
  9475. <td>navy</td>
  9476. </tr>
  9477. <tr>
  9478. <td>color</td>
  9479. <td>gray</td>
  9480. </tr>
  9481. <tr>
  9482. <td>color</td>
  9483. <td>saddlebrown</td>
  9484. </tr>
  9485. <tr>
  9486. <td>color</td>
  9487. <td>paleturquoise</td>
  9488. </tr>
  9489. <tr>
  9490. <td>color</td>
  9491. <td>mistyrose</td>
  9492. </tr>
  9493. <tr>
  9494. <td>color</td>
  9495. <td>indigo</td>
  9496. </tr>
  9497. </tbody>
  9498. </table>
  9499. <h2 id="tocsboardsmembers">BoardsMembers</h2>
  9500. <p><a id="schemaboardsmembers"></a></p>
  9501. <pre class="highlight tab tab-json"><code>{
  9502. <span class="hljs-attr">"userId"</span>: <span class="hljs-string">"string"</span>,
  9503. <span class="hljs-attr">"isAdmin"</span>: <span class="hljs-literal">true</span>,
  9504. <span class="hljs-attr">"isActive"</span>: <span class="hljs-literal">true</span>,
  9505. <span class="hljs-attr">"isNoComments"</span>: <span class="hljs-literal">true</span>,
  9506. <span class="hljs-attr">"isCommentOnly"</span>: <span class="hljs-literal">true</span>,
  9507. <span class="hljs-attr">"isWorker"</span>: <span class="hljs-literal">true</span>
  9508. }
  9509. </code></pre>
  9510. <h3 id="properties">Properties</h3>
  9511. <table>
  9512. <thead>
  9513. <tr>
  9514. <th>Name</th>
  9515. <th>Type</th>
  9516. <th>Required</th>
  9517. <th>Restrictions</th>
  9518. <th>Description</th>
  9519. </tr>
  9520. </thead>
  9521. <tbody>
  9522. <tr>
  9523. <td>userId</td>
  9524. <td>string</td>
  9525. <td>true</td>
  9526. <td>none</td>
  9527. <td>The uniq ID of the member</td>
  9528. </tr>
  9529. <tr>
  9530. <td>isAdmin</td>
  9531. <td>boolean</td>
  9532. <td>true</td>
  9533. <td>none</td>
  9534. <td>Is the member an admin of the board?</td>
  9535. </tr>
  9536. <tr>
  9537. <td>isActive</td>
  9538. <td>boolean</td>
  9539. <td>true</td>
  9540. <td>none</td>
  9541. <td>Is the member active?</td>
  9542. </tr>
  9543. <tr>
  9544. <td>isNoComments</td>
  9545. <td>boolean</td>
  9546. <td>false</td>
  9547. <td>none</td>
  9548. <td>Is the member not allowed to make comments</td>
  9549. </tr>
  9550. <tr>
  9551. <td>isCommentOnly</td>
  9552. <td>boolean</td>
  9553. <td>false</td>
  9554. <td>none</td>
  9555. <td>Is the member only allowed to comment on the board</td>
  9556. </tr>
  9557. <tr>
  9558. <td>isWorker</td>
  9559. <td>boolean</td>
  9560. <td>false</td>
  9561. <td>none</td>
  9562. <td>Is the member only allowed to move card, assign himself to card and comment</td>
  9563. </tr>
  9564. </tbody>
  9565. </table>
  9566. <h2 id="tocscardcomments">CardComments</h2>
  9567. <p><a id="schemacardcomments"></a></p>
  9568. <pre class="highlight tab tab-json"><code>{
  9569. <span class="hljs-attr">"boardId"</span>: <span class="hljs-string">"string"</span>,
  9570. <span class="hljs-attr">"cardId"</span>: <span class="hljs-string">"string"</span>,
  9571. <span class="hljs-attr">"text"</span>: <span class="hljs-string">"string"</span>,
  9572. <span class="hljs-attr">"createdAt"</span>: <span class="hljs-string">"string"</span>,
  9573. <span class="hljs-attr">"modifiedAt"</span>: <span class="hljs-string">"string"</span>,
  9574. <span class="hljs-attr">"userId"</span>: <span class="hljs-string">"string"</span>
  9575. }
  9576. </code></pre>
  9577. <p><em>A comment on a card</em></p>
  9578. <h3 id="properties">Properties</h3>
  9579. <table>
  9580. <thead>
  9581. <tr>
  9582. <th>Name</th>
  9583. <th>Type</th>
  9584. <th>Required</th>
  9585. <th>Restrictions</th>
  9586. <th>Description</th>
  9587. </tr>
  9588. </thead>
  9589. <tbody>
  9590. <tr>
  9591. <td>boardId</td>
  9592. <td>string</td>
  9593. <td>true</td>
  9594. <td>none</td>
  9595. <td>the board ID</td>
  9596. </tr>
  9597. <tr>
  9598. <td>cardId</td>
  9599. <td>string</td>
  9600. <td>true</td>
  9601. <td>none</td>
  9602. <td>the card ID</td>
  9603. </tr>
  9604. <tr>
  9605. <td>text</td>
  9606. <td>string</td>
  9607. <td>true</td>
  9608. <td>none</td>
  9609. <td>the text of the comment</td>
  9610. </tr>
  9611. <tr>
  9612. <td>createdAt</td>
  9613. <td>string</td>
  9614. <td>true</td>
  9615. <td>none</td>
  9616. <td>when was the comment created</td>
  9617. </tr>
  9618. <tr>
  9619. <td>modifiedAt</td>
  9620. <td>string</td>
  9621. <td>true</td>
  9622. <td>none</td>
  9623. <td>none</td>
  9624. </tr>
  9625. <tr>
  9626. <td>userId</td>
  9627. <td>string</td>
  9628. <td>true</td>
  9629. <td>none</td>
  9630. <td>the author ID of the comment</td>
  9631. </tr>
  9632. </tbody>
  9633. </table>
  9634. <h2 id="tocschecklistitems">ChecklistItems</h2>
  9635. <p><a id="schemachecklistitems"></a></p>
  9636. <pre class="highlight tab tab-json"><code>{
  9637. <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
  9638. <span class="hljs-attr">"sort"</span>: <span class="hljs-number">0</span>,
  9639. <span class="hljs-attr">"isFinished"</span>: <span class="hljs-literal">true</span>,
  9640. <span class="hljs-attr">"checklistId"</span>: <span class="hljs-string">"string"</span>,
  9641. <span class="hljs-attr">"cardId"</span>: <span class="hljs-string">"string"</span>,
  9642. <span class="hljs-attr">"createdAt"</span>: <span class="hljs-string">"string"</span>,
  9643. <span class="hljs-attr">"modifiedAt"</span>: <span class="hljs-string">"string"</span>
  9644. }
  9645. </code></pre>
  9646. <p><em>An item in a checklist</em></p>
  9647. <h3 id="properties">Properties</h3>
  9648. <table>
  9649. <thead>
  9650. <tr>
  9651. <th>Name</th>
  9652. <th>Type</th>
  9653. <th>Required</th>
  9654. <th>Restrictions</th>
  9655. <th>Description</th>
  9656. </tr>
  9657. </thead>
  9658. <tbody>
  9659. <tr>
  9660. <td>title</td>
  9661. <td>string</td>
  9662. <td>true</td>
  9663. <td>none</td>
  9664. <td>the text of the item</td>
  9665. </tr>
  9666. <tr>
  9667. <td>sort</td>
  9668. <td>number</td>
  9669. <td>true</td>
  9670. <td>none</td>
  9671. <td>the sorting field of the item</td>
  9672. </tr>
  9673. <tr>
  9674. <td>isFinished</td>
  9675. <td>boolean</td>
  9676. <td>true</td>
  9677. <td>none</td>
  9678. <td>Is the item checked?</td>
  9679. </tr>
  9680. <tr>
  9681. <td>checklistId</td>
  9682. <td>string</td>
  9683. <td>true</td>
  9684. <td>none</td>
  9685. <td>the checklist ID the item is attached to</td>
  9686. </tr>
  9687. <tr>
  9688. <td>cardId</td>
  9689. <td>string</td>
  9690. <td>true</td>
  9691. <td>none</td>
  9692. <td>the card ID the item is attached to</td>
  9693. </tr>
  9694. <tr>
  9695. <td>createdAt</td>
  9696. <td>string|null</td>
  9697. <td>false</td>
  9698. <td>none</td>
  9699. <td>none</td>
  9700. </tr>
  9701. <tr>
  9702. <td>modifiedAt</td>
  9703. <td>string</td>
  9704. <td>true</td>
  9705. <td>none</td>
  9706. <td>none</td>
  9707. </tr>
  9708. </tbody>
  9709. </table>
  9710. <h2 id="tocschecklists">Checklists</h2>
  9711. <p><a id="schemachecklists"></a></p>
  9712. <pre class="highlight tab tab-json"><code>{
  9713. <span class="hljs-attr">"cardId"</span>: <span class="hljs-string">"string"</span>,
  9714. <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
  9715. <span class="hljs-attr">"finishedAt"</span>: <span class="hljs-string">"string"</span>,
  9716. <span class="hljs-attr">"createdAt"</span>: <span class="hljs-string">"string"</span>,
  9717. <span class="hljs-attr">"modifiedAt"</span>: <span class="hljs-string">"string"</span>,
  9718. <span class="hljs-attr">"sort"</span>: <span class="hljs-number">0</span>
  9719. }
  9720. </code></pre>
  9721. <p><em>A Checklist</em></p>
  9722. <h3 id="properties">Properties</h3>
  9723. <table>
  9724. <thead>
  9725. <tr>
  9726. <th>Name</th>
  9727. <th>Type</th>
  9728. <th>Required</th>
  9729. <th>Restrictions</th>
  9730. <th>Description</th>
  9731. </tr>
  9732. </thead>
  9733. <tbody>
  9734. <tr>
  9735. <td>cardId</td>
  9736. <td>string</td>
  9737. <td>true</td>
  9738. <td>none</td>
  9739. <td>The ID of the card the checklist is in</td>
  9740. </tr>
  9741. <tr>
  9742. <td>title</td>
  9743. <td>string</td>
  9744. <td>true</td>
  9745. <td>none</td>
  9746. <td>the title of the checklist</td>
  9747. </tr>
  9748. <tr>
  9749. <td>finishedAt</td>
  9750. <td>string|null</td>
  9751. <td>false</td>
  9752. <td>none</td>
  9753. <td>When was the checklist finished</td>
  9754. </tr>
  9755. <tr>
  9756. <td>createdAt</td>
  9757. <td>string</td>
  9758. <td>true</td>
  9759. <td>none</td>
  9760. <td>Creation date of the checklist</td>
  9761. </tr>
  9762. <tr>
  9763. <td>modifiedAt</td>
  9764. <td>string</td>
  9765. <td>true</td>
  9766. <td>none</td>
  9767. <td>none</td>
  9768. </tr>
  9769. <tr>
  9770. <td>sort</td>
  9771. <td>number</td>
  9772. <td>true</td>
  9773. <td>none</td>
  9774. <td>sorting value of the checklist</td>
  9775. </tr>
  9776. </tbody>
  9777. </table>
  9778. <h2 id="tocscustomfields">CustomFields</h2>
  9779. <p><a id="schemacustomfields"></a></p>
  9780. <pre class="highlight tab tab-json"><code>{
  9781. <span class="hljs-attr">"boardIds"</span>: [
  9782. <span class="hljs-string">"string"</span>
  9783. ],
  9784. <span class="hljs-attr">"name"</span>: <span class="hljs-string">"string"</span>,
  9785. <span class="hljs-attr">"type"</span>: <span class="hljs-string">"text"</span>,
  9786. <span class="hljs-attr">"settings"</span>: {
  9787. <span class="hljs-attr">"dropdownItems"</span>: [
  9788. {}
  9789. ]
  9790. },
  9791. <span class="hljs-attr">"showOnCard"</span>: <span class="hljs-literal">true</span>,
  9792. <span class="hljs-attr">"automaticallyOnCard"</span>: <span class="hljs-literal">true</span>,
  9793. <span class="hljs-attr">"showLabelOnMiniCard"</span>: <span class="hljs-literal">true</span>,
  9794. <span class="hljs-attr">"createdAt"</span>: <span class="hljs-string">"string"</span>,
  9795. <span class="hljs-attr">"modifiedAt"</span>: <span class="hljs-string">"string"</span>
  9796. }
  9797. </code></pre>
  9798. <p><em>A custom field on a card in the board</em></p>
  9799. <h3 id="properties">Properties</h3>
  9800. <table>
  9801. <thead>
  9802. <tr>
  9803. <th>Name</th>
  9804. <th>Type</th>
  9805. <th>Required</th>
  9806. <th>Restrictions</th>
  9807. <th>Description</th>
  9808. </tr>
  9809. </thead>
  9810. <tbody>
  9811. <tr>
  9812. <td>boardIds</td>
  9813. <td>[string]</td>
  9814. <td>true</td>
  9815. <td>none</td>
  9816. <td>the ID of the board</td>
  9817. </tr>
  9818. <tr>
  9819. <td>name</td>
  9820. <td>string</td>
  9821. <td>true</td>
  9822. <td>none</td>
  9823. <td>name of the custom field</td>
  9824. </tr>
  9825. <tr>
  9826. <td>type</td>
  9827. <td>string</td>
  9828. <td>true</td>
  9829. <td>none</td>
  9830. <td>type of the custom field</td>
  9831. </tr>
  9832. <tr>
  9833. <td>settings</td>
  9834. <td><a href="#schemacustomfieldssettings">CustomFieldsSettings</a></td>
  9835. <td>true</td>
  9836. <td>none</td>
  9837. <td>settings of the custom field</td>
  9838. </tr>
  9839. <tr>
  9840. <td>showOnCard</td>
  9841. <td>boolean</td>
  9842. <td>true</td>
  9843. <td>none</td>
  9844. <td>should we show on the cards this custom field</td>
  9845. </tr>
  9846. <tr>
  9847. <td>automaticallyOnCard</td>
  9848. <td>boolean</td>
  9849. <td>true</td>
  9850. <td>none</td>
  9851. <td>should the custom fields automatically be added on cards?</td>
  9852. </tr>
  9853. <tr>
  9854. <td>showLabelOnMiniCard</td>
  9855. <td>boolean</td>
  9856. <td>true</td>
  9857. <td>none</td>
  9858. <td>should the label of the custom field be shown on minicards?</td>
  9859. </tr>
  9860. <tr>
  9861. <td>createdAt</td>
  9862. <td>string|null</td>
  9863. <td>false</td>
  9864. <td>none</td>
  9865. <td>none</td>
  9866. </tr>
  9867. <tr>
  9868. <td>modifiedAt</td>
  9869. <td>string</td>
  9870. <td>true</td>
  9871. <td>none</td>
  9872. <td>none</td>
  9873. </tr>
  9874. </tbody>
  9875. </table>
  9876. <h4 id="enumerated-values">Enumerated Values</h4>
  9877. <table>
  9878. <thead>
  9879. <tr>
  9880. <th>Property</th>
  9881. <th>Value</th>
  9882. </tr>
  9883. </thead>
  9884. <tbody>
  9885. <tr>
  9886. <td>type</td>
  9887. <td>text</td>
  9888. </tr>
  9889. <tr>
  9890. <td>type</td>
  9891. <td>number</td>
  9892. </tr>
  9893. <tr>
  9894. <td>type</td>
  9895. <td>date</td>
  9896. </tr>
  9897. <tr>
  9898. <td>type</td>
  9899. <td>dropdown</td>
  9900. </tr>
  9901. </tbody>
  9902. </table>
  9903. <h2 id="tocscustomfieldssettings">CustomFieldsSettings</h2>
  9904. <p><a id="schemacustomfieldssettings"></a></p>
  9905. <pre class="highlight tab tab-json"><code>{
  9906. <span class="hljs-attr">"dropdownItems"</span>: [
  9907. {}
  9908. ]
  9909. }
  9910. </code></pre>
  9911. <h3 id="properties">Properties</h3>
  9912. <table>
  9913. <thead>
  9914. <tr>
  9915. <th>Name</th>
  9916. <th>Type</th>
  9917. <th>Required</th>
  9918. <th>Restrictions</th>
  9919. <th>Description</th>
  9920. </tr>
  9921. </thead>
  9922. <tbody>
  9923. <tr>
  9924. <td>dropdownItems</td>
  9925. <td>[<a href="#schemacustomfieldssettingsdropdownitems">CustomFieldsSettingsDropdownitems</a>]</td>
  9926. <td>false</td>
  9927. <td>none</td>
  9928. <td>list of drop down items objects</td>
  9929. </tr>
  9930. </tbody>
  9931. </table>
  9932. <h2 id="tocscustomfieldssettingsdropdownitems">CustomFieldsSettingsDropdownitems</h2>
  9933. <p><a id="schemacustomfieldssettingsdropdownitems"></a></p>
  9934. <pre class="highlight tab tab-json"><code>{}
  9935. </code></pre>
  9936. <h3 id="properties">Properties</h3>
  9937. <p><em>None</em></p>
  9938. <h2 id="tocsintegrations">Integrations</h2>
  9939. <p><a id="schemaintegrations"></a></p>
  9940. <pre class="highlight tab tab-json"><code>{
  9941. <span class="hljs-attr">"enabled"</span>: <span class="hljs-literal">true</span>,
  9942. <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
  9943. <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>,
  9944. <span class="hljs-attr">"activities"</span>: [
  9945. <span class="hljs-string">"string"</span>
  9946. ],
  9947. <span class="hljs-attr">"url"</span>: <span class="hljs-string">"string"</span>,
  9948. <span class="hljs-attr">"token"</span>: <span class="hljs-string">"string"</span>,
  9949. <span class="hljs-attr">"boardId"</span>: <span class="hljs-string">"string"</span>,
  9950. <span class="hljs-attr">"createdAt"</span>: <span class="hljs-string">"string"</span>,
  9951. <span class="hljs-attr">"modifiedAt"</span>: <span class="hljs-string">"string"</span>,
  9952. <span class="hljs-attr">"userId"</span>: <span class="hljs-string">"string"</span>
  9953. }
  9954. </code></pre>
  9955. <p><em>Integration with third-party applications</em></p>
  9956. <h3 id="properties">Properties</h3>
  9957. <table>
  9958. <thead>
  9959. <tr>
  9960. <th>Name</th>
  9961. <th>Type</th>
  9962. <th>Required</th>
  9963. <th>Restrictions</th>
  9964. <th>Description</th>
  9965. </tr>
  9966. </thead>
  9967. <tbody>
  9968. <tr>
  9969. <td>enabled</td>
  9970. <td>boolean</td>
  9971. <td>true</td>
  9972. <td>none</td>
  9973. <td>is the integration enabled?</td>
  9974. </tr>
  9975. <tr>
  9976. <td>title</td>
  9977. <td>string|null</td>
  9978. <td>false</td>
  9979. <td>none</td>
  9980. <td>name of the integration</td>
  9981. </tr>
  9982. <tr>
  9983. <td>type</td>
  9984. <td>string</td>
  9985. <td>true</td>
  9986. <td>none</td>
  9987. <td>type of the integratation (Default to 'outgoing-webhooks')</td>
  9988. </tr>
  9989. <tr>
  9990. <td>activities</td>
  9991. <td>[string]</td>
  9992. <td>true</td>
  9993. <td>none</td>
  9994. <td>activities the integration gets triggered (list)</td>
  9995. </tr>
  9996. <tr>
  9997. <td>url</td>
  9998. <td>string</td>
  9999. <td>true</td>
  10000. <td>none</td>
  10001. <td>none</td>
  10002. </tr>
  10003. <tr>
  10004. <td>token</td>
  10005. <td>string|null</td>
  10006. <td>false</td>
  10007. <td>none</td>
  10008. <td>token of the integration</td>
  10009. </tr>
  10010. <tr>
  10011. <td>boardId</td>
  10012. <td>string</td>
  10013. <td>true</td>
  10014. <td>none</td>
  10015. <td>Board ID of the integration</td>
  10016. </tr>
  10017. <tr>
  10018. <td>createdAt</td>
  10019. <td>string</td>
  10020. <td>true</td>
  10021. <td>none</td>
  10022. <td>Creation date of the integration</td>
  10023. </tr>
  10024. <tr>
  10025. <td>modifiedAt</td>
  10026. <td>string</td>
  10027. <td>true</td>
  10028. <td>none</td>
  10029. <td>none</td>
  10030. </tr>
  10031. <tr>
  10032. <td>userId</td>
  10033. <td>string</td>
  10034. <td>true</td>
  10035. <td>none</td>
  10036. <td>user ID who created the interation</td>
  10037. </tr>
  10038. </tbody>
  10039. </table>
  10040. <h2 id="tocslists">Lists</h2>
  10041. <p><a id="schemalists"></a></p>
  10042. <pre class="highlight tab tab-json"><code>{
  10043. <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
  10044. <span class="hljs-attr">"starred"</span>: <span class="hljs-literal">true</span>,
  10045. <span class="hljs-attr">"archived"</span>: <span class="hljs-literal">true</span>,
  10046. <span class="hljs-attr">"boardId"</span>: <span class="hljs-string">"string"</span>,
  10047. <span class="hljs-attr">"swimlaneId"</span>: <span class="hljs-string">"string"</span>,
  10048. <span class="hljs-attr">"createdAt"</span>: <span class="hljs-string">"string"</span>,
  10049. <span class="hljs-attr">"sort"</span>: <span class="hljs-number">0</span>,
  10050. <span class="hljs-attr">"updatedAt"</span>: <span class="hljs-string">"string"</span>,
  10051. <span class="hljs-attr">"modifiedAt"</span>: <span class="hljs-string">"string"</span>,
  10052. <span class="hljs-attr">"wipLimit"</span>: {
  10053. <span class="hljs-attr">"value"</span>: <span class="hljs-number">0</span>,
  10054. <span class="hljs-attr">"enabled"</span>: <span class="hljs-literal">true</span>,
  10055. <span class="hljs-attr">"soft"</span>: <span class="hljs-literal">true</span>
  10056. },
  10057. <span class="hljs-attr">"color"</span>: <span class="hljs-string">"white"</span>,
  10058. <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
  10059. }
  10060. </code></pre>
  10061. <p><em>A list (column) in the Wekan board.</em></p>
  10062. <h3 id="properties">Properties</h3>
  10063. <table>
  10064. <thead>
  10065. <tr>
  10066. <th>Name</th>
  10067. <th>Type</th>
  10068. <th>Required</th>
  10069. <th>Restrictions</th>
  10070. <th>Description</th>
  10071. </tr>
  10072. </thead>
  10073. <tbody>
  10074. <tr>
  10075. <td>title</td>
  10076. <td>string</td>
  10077. <td>true</td>
  10078. <td>none</td>
  10079. <td>the title of the list</td>
  10080. </tr>
  10081. <tr>
  10082. <td>starred</td>
  10083. <td>boolean|null</td>
  10084. <td>false</td>
  10085. <td>none</td>
  10086. <td>if a list is stared then we put it on the top</td>
  10087. </tr>
  10088. <tr>
  10089. <td>archived</td>
  10090. <td>boolean</td>
  10091. <td>true</td>
  10092. <td>none</td>
  10093. <td>is the list archived</td>
  10094. </tr>
  10095. <tr>
  10096. <td>boardId</td>
  10097. <td>string</td>
  10098. <td>true</td>
  10099. <td>none</td>
  10100. <td>the board associated to this list</td>
  10101. </tr>
  10102. <tr>
  10103. <td>swimlaneId</td>
  10104. <td>string</td>
  10105. <td>true</td>
  10106. <td>none</td>
  10107. <td>the swimlane associated to this list. Used for templates</td>
  10108. </tr>
  10109. <tr>
  10110. <td>createdAt</td>
  10111. <td>string</td>
  10112. <td>true</td>
  10113. <td>none</td>
  10114. <td>creation date</td>
  10115. </tr>
  10116. <tr>
  10117. <td>sort</td>
  10118. <td>number|null</td>
  10119. <td>false</td>
  10120. <td>none</td>
  10121. <td>is the list sorted</td>
  10122. </tr>
  10123. <tr>
  10124. <td>updatedAt</td>
  10125. <td>string|null</td>
  10126. <td>false</td>
  10127. <td>none</td>
  10128. <td>last update of the list</td>
  10129. </tr>
  10130. <tr>
  10131. <td>modifiedAt</td>
  10132. <td>string</td>
  10133. <td>true</td>
  10134. <td>none</td>
  10135. <td>none</td>
  10136. </tr>
  10137. <tr>
  10138. <td>wipLimit</td>
  10139. <td><a href="#schemalistswiplimit">ListsWiplimit</a></td>
  10140. <td>false</td>
  10141. <td>none</td>
  10142. <td>WIP object, see below</td>
  10143. </tr>
  10144. <tr>
  10145. <td>color</td>
  10146. <td>string|null</td>
  10147. <td>false</td>
  10148. <td>none</td>
  10149. <td>the color of the list</td>
  10150. </tr>
  10151. <tr>
  10152. <td>type</td>
  10153. <td>string</td>
  10154. <td>true</td>
  10155. <td>none</td>
  10156. <td>The type of list</td>
  10157. </tr>
  10158. </tbody>
  10159. </table>
  10160. <h4 id="enumerated-values">Enumerated Values</h4>
  10161. <table>
  10162. <thead>
  10163. <tr>
  10164. <th>Property</th>
  10165. <th>Value</th>
  10166. </tr>
  10167. </thead>
  10168. <tbody>
  10169. <tr>
  10170. <td>color</td>
  10171. <td>white</td>
  10172. </tr>
  10173. <tr>
  10174. <td>color</td>
  10175. <td>green</td>
  10176. </tr>
  10177. <tr>
  10178. <td>color</td>
  10179. <td>yellow</td>
  10180. </tr>
  10181. <tr>
  10182. <td>color</td>
  10183. <td>orange</td>
  10184. </tr>
  10185. <tr>
  10186. <td>color</td>
  10187. <td>red</td>
  10188. </tr>
  10189. <tr>
  10190. <td>color</td>
  10191. <td>purple</td>
  10192. </tr>
  10193. <tr>
  10194. <td>color</td>
  10195. <td>blue</td>
  10196. </tr>
  10197. <tr>
  10198. <td>color</td>
  10199. <td>sky</td>
  10200. </tr>
  10201. <tr>
  10202. <td>color</td>
  10203. <td>lime</td>
  10204. </tr>
  10205. <tr>
  10206. <td>color</td>
  10207. <td>pink</td>
  10208. </tr>
  10209. <tr>
  10210. <td>color</td>
  10211. <td>black</td>
  10212. </tr>
  10213. <tr>
  10214. <td>color</td>
  10215. <td>peachpuff</td>
  10216. </tr>
  10217. <tr>
  10218. <td>color</td>
  10219. <td>crimson</td>
  10220. </tr>
  10221. <tr>
  10222. <td>color</td>
  10223. <td>plum</td>
  10224. </tr>
  10225. <tr>
  10226. <td>color</td>
  10227. <td>darkgreen</td>
  10228. </tr>
  10229. <tr>
  10230. <td>color</td>
  10231. <td>slateblue</td>
  10232. </tr>
  10233. <tr>
  10234. <td>color</td>
  10235. <td>magenta</td>
  10236. </tr>
  10237. <tr>
  10238. <td>color</td>
  10239. <td>gold</td>
  10240. </tr>
  10241. <tr>
  10242. <td>color</td>
  10243. <td>navy</td>
  10244. </tr>
  10245. <tr>
  10246. <td>color</td>
  10247. <td>gray</td>
  10248. </tr>
  10249. <tr>
  10250. <td>color</td>
  10251. <td>saddlebrown</td>
  10252. </tr>
  10253. <tr>
  10254. <td>color</td>
  10255. <td>paleturquoise</td>
  10256. </tr>
  10257. <tr>
  10258. <td>color</td>
  10259. <td>mistyrose</td>
  10260. </tr>
  10261. <tr>
  10262. <td>color</td>
  10263. <td>indigo</td>
  10264. </tr>
  10265. </tbody>
  10266. </table>
  10267. <h2 id="tocslistswiplimit">ListsWiplimit</h2>
  10268. <p><a id="schemalistswiplimit"></a></p>
  10269. <pre class="highlight tab tab-json"><code>{
  10270. <span class="hljs-attr">"value"</span>: <span class="hljs-number">0</span>,
  10271. <span class="hljs-attr">"enabled"</span>: <span class="hljs-literal">true</span>,
  10272. <span class="hljs-attr">"soft"</span>: <span class="hljs-literal">true</span>
  10273. }
  10274. </code></pre>
  10275. <h3 id="properties">Properties</h3>
  10276. <table>
  10277. <thead>
  10278. <tr>
  10279. <th>Name</th>
  10280. <th>Type</th>
  10281. <th>Required</th>
  10282. <th>Restrictions</th>
  10283. <th>Description</th>
  10284. </tr>
  10285. </thead>
  10286. <tbody>
  10287. <tr>
  10288. <td>value</td>
  10289. <td>number</td>
  10290. <td>true</td>
  10291. <td>none</td>
  10292. <td>value of the WIP</td>
  10293. </tr>
  10294. <tr>
  10295. <td>enabled</td>
  10296. <td>boolean</td>
  10297. <td>true</td>
  10298. <td>none</td>
  10299. <td>is the WIP enabled</td>
  10300. </tr>
  10301. <tr>
  10302. <td>soft</td>
  10303. <td>boolean</td>
  10304. <td>true</td>
  10305. <td>none</td>
  10306. <td>is the WIP a soft or hard requirement</td>
  10307. </tr>
  10308. </tbody>
  10309. </table>
  10310. <h2 id="tocsswimlanes">Swimlanes</h2>
  10311. <p><a id="schemaswimlanes"></a></p>
  10312. <pre class="highlight tab tab-json"><code>{
  10313. <span class="hljs-attr">"title"</span>: <span class="hljs-string">"string"</span>,
  10314. <span class="hljs-attr">"archived"</span>: <span class="hljs-literal">true</span>,
  10315. <span class="hljs-attr">"boardId"</span>: <span class="hljs-string">"string"</span>,
  10316. <span class="hljs-attr">"createdAt"</span>: <span class="hljs-string">"string"</span>,
  10317. <span class="hljs-attr">"sort"</span>: <span class="hljs-number">0</span>,
  10318. <span class="hljs-attr">"color"</span>: <span class="hljs-string">"white"</span>,
  10319. <span class="hljs-attr">"updatedAt"</span>: <span class="hljs-string">"string"</span>,
  10320. <span class="hljs-attr">"modifiedAt"</span>: <span class="hljs-string">"string"</span>,
  10321. <span class="hljs-attr">"type"</span>: <span class="hljs-string">"string"</span>
  10322. }
  10323. </code></pre>
  10324. <p><em>A swimlane is an line in the kaban board.</em></p>
  10325. <h3 id="properties">Properties</h3>
  10326. <table>
  10327. <thead>
  10328. <tr>
  10329. <th>Name</th>
  10330. <th>Type</th>
  10331. <th>Required</th>
  10332. <th>Restrictions</th>
  10333. <th>Description</th>
  10334. </tr>
  10335. </thead>
  10336. <tbody>
  10337. <tr>
  10338. <td>title</td>
  10339. <td>string</td>
  10340. <td>true</td>
  10341. <td>none</td>
  10342. <td>the title of the swimlane</td>
  10343. </tr>
  10344. <tr>
  10345. <td>archived</td>
  10346. <td>boolean</td>
  10347. <td>true</td>
  10348. <td>none</td>
  10349. <td>is the swimlane archived?</td>
  10350. </tr>
  10351. <tr>
  10352. <td>boardId</td>
  10353. <td>string</td>
  10354. <td>true</td>
  10355. <td>none</td>
  10356. <td>the ID of the board the swimlane is attached to</td>
  10357. </tr>
  10358. <tr>
  10359. <td>createdAt</td>
  10360. <td>string</td>
  10361. <td>true</td>
  10362. <td>none</td>
  10363. <td>creation date of the swimlane</td>
  10364. </tr>
  10365. <tr>
  10366. <td>sort</td>
  10367. <td>number|null</td>
  10368. <td>false</td>
  10369. <td>none</td>
  10370. <td>the sort value of the swimlane</td>
  10371. </tr>
  10372. <tr>
  10373. <td>color</td>
  10374. <td>string|null</td>
  10375. <td>false</td>
  10376. <td>none</td>
  10377. <td>the color of the swimlane</td>
  10378. </tr>
  10379. <tr>
  10380. <td>updatedAt</td>
  10381. <td>string|null</td>
  10382. <td>false</td>
  10383. <td>none</td>
  10384. <td>when was the swimlane last edited</td>
  10385. </tr>
  10386. <tr>
  10387. <td>modifiedAt</td>
  10388. <td>string</td>
  10389. <td>true</td>
  10390. <td>none</td>
  10391. <td>none</td>
  10392. </tr>
  10393. <tr>
  10394. <td>type</td>
  10395. <td>string</td>
  10396. <td>true</td>
  10397. <td>none</td>
  10398. <td>The type of swimlane</td>
  10399. </tr>
  10400. </tbody>
  10401. </table>
  10402. <h4 id="enumerated-values">Enumerated Values</h4>
  10403. <table>
  10404. <thead>
  10405. <tr>
  10406. <th>Property</th>
  10407. <th>Value</th>
  10408. </tr>
  10409. </thead>
  10410. <tbody>
  10411. <tr>
  10412. <td>color</td>
  10413. <td>white</td>
  10414. </tr>
  10415. <tr>
  10416. <td>color</td>
  10417. <td>green</td>
  10418. </tr>
  10419. <tr>
  10420. <td>color</td>
  10421. <td>yellow</td>
  10422. </tr>
  10423. <tr>
  10424. <td>color</td>
  10425. <td>orange</td>
  10426. </tr>
  10427. <tr>
  10428. <td>color</td>
  10429. <td>red</td>
  10430. </tr>
  10431. <tr>
  10432. <td>color</td>
  10433. <td>purple</td>
  10434. </tr>
  10435. <tr>
  10436. <td>color</td>
  10437. <td>blue</td>
  10438. </tr>
  10439. <tr>
  10440. <td>color</td>
  10441. <td>sky</td>
  10442. </tr>
  10443. <tr>
  10444. <td>color</td>
  10445. <td>lime</td>
  10446. </tr>
  10447. <tr>
  10448. <td>color</td>
  10449. <td>pink</td>
  10450. </tr>
  10451. <tr>
  10452. <td>color</td>
  10453. <td>black</td>
  10454. </tr>
  10455. <tr>
  10456. <td>color</td>
  10457. <td>peachpuff</td>
  10458. </tr>
  10459. <tr>
  10460. <td>color</td>
  10461. <td>crimson</td>
  10462. </tr>
  10463. <tr>
  10464. <td>color</td>
  10465. <td>plum</td>
  10466. </tr>
  10467. <tr>
  10468. <td>color</td>
  10469. <td>darkgreen</td>
  10470. </tr>
  10471. <tr>
  10472. <td>color</td>
  10473. <td>slateblue</td>
  10474. </tr>
  10475. <tr>
  10476. <td>color</td>
  10477. <td>magenta</td>
  10478. </tr>
  10479. <tr>
  10480. <td>color</td>
  10481. <td>gold</td>
  10482. </tr>
  10483. <tr>
  10484. <td>color</td>
  10485. <td>navy</td>
  10486. </tr>
  10487. <tr>
  10488. <td>color</td>
  10489. <td>gray</td>
  10490. </tr>
  10491. <tr>
  10492. <td>color</td>
  10493. <td>saddlebrown</td>
  10494. </tr>
  10495. <tr>
  10496. <td>color</td>
  10497. <td>paleturquoise</td>
  10498. </tr>
  10499. <tr>
  10500. <td>color</td>
  10501. <td>mistyrose</td>
  10502. </tr>
  10503. <tr>
  10504. <td>color</td>
  10505. <td>indigo</td>
  10506. </tr>
  10507. </tbody>
  10508. </table>
  10509. </div>
  10510. <div class="dark-box">
  10511. <div class="lang-selector">
  10512. <a href="#" data-language-name="shell">Shell</a>
  10513. <a href="#" data-language-name="http">HTTP</a>
  10514. <a href="#" data-language-name="javascript">JavaScript</a>
  10515. <a href="#" data-language-name="javascript--nodejs">Node.js</a>
  10516. <a href="#" data-language-name="ruby">Ruby</a>
  10517. <a href="#" data-language-name="python">Python</a>
  10518. <a href="#" data-language-name="java">Java</a>
  10519. <a href="#" data-language-name="go">Go</a>
  10520. </div>
  10521. </div>
  10522. </div>
  10523. </body>
  10524. </html>