schema.json 98 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503
  1. {
  2. "openapi": "3.0.0",
  3. "info": {
  4. "title": "n8n Public API",
  5. "description": "n8n Public API",
  6. "termsOfService": "https://n8n.io/legal/#terms",
  7. "contact": {
  8. "email": "hello@n8n.io"
  9. },
  10. "license": {
  11. "name": "Sustainable Use License",
  12. "url": "https://github.com/n8n-io/n8n/blob/master/LICENSE.md"
  13. },
  14. "version": "1.1.1"
  15. },
  16. "servers": [
  17. {
  18. "url": "/api/v1"
  19. }
  20. ],
  21. "security": [
  22. {
  23. "ApiKeyAuth": []
  24. }
  25. ],
  26. "tags": [
  27. {
  28. "name": "User",
  29. "description": "Operations about users"
  30. },
  31. {
  32. "name": "Audit",
  33. "description": "Operations about security audit"
  34. },
  35. {
  36. "name": "Execution",
  37. "description": "Operations about executions"
  38. },
  39. {
  40. "name": "Workflow",
  41. "description": "Operations about workflows"
  42. },
  43. {
  44. "name": "Credential",
  45. "description": "Operations about credentials"
  46. },
  47. {
  48. "name": "Tags",
  49. "description": "Operations about tags"
  50. },
  51. {
  52. "name": "SourceControl",
  53. "description": "Operations about source control"
  54. },
  55. {
  56. "name": "Variables",
  57. "description": "Operations about variables"
  58. },
  59. {
  60. "name": "Projects",
  61. "description": "Operations about projects"
  62. }
  63. ],
  64. "externalDocs": {
  65. "description": "n8n API documentation",
  66. "url": "https://docs.n8n.io/api/"
  67. },
  68. "paths": {
  69. "/audit": {
  70. "post": {
  71. "x-eov-operation-id": "generateAudit",
  72. "x-eov-operation-handler": "v1/handlers/audit/audit.handler",
  73. "tags": [
  74. "Audit"
  75. ],
  76. "summary": "Generate an audit",
  77. "description": "Generate a security audit for your n8n instance.",
  78. "requestBody": {
  79. "required": false,
  80. "content": {
  81. "application/json": {
  82. "schema": {
  83. "type": "object",
  84. "properties": {
  85. "additionalOptions": {
  86. "type": "object",
  87. "properties": {
  88. "daysAbandonedWorkflow": {
  89. "type": "integer",
  90. "description": "Days for a workflow to be considered abandoned if not executed"
  91. },
  92. "categories": {
  93. "type": "array",
  94. "items": {
  95. "type": "string",
  96. "enum": [
  97. "credentials",
  98. "database",
  99. "nodes",
  100. "filesystem",
  101. "instance"
  102. ]
  103. }
  104. }
  105. }
  106. }
  107. }
  108. }
  109. }
  110. }
  111. },
  112. "responses": {
  113. "200": {
  114. "description": "Operation successful.",
  115. "content": {
  116. "application/json": {
  117. "schema": {
  118. "$ref": "#/components/schemas/audit"
  119. }
  120. }
  121. }
  122. },
  123. "401": {
  124. "$ref": "#/components/responses/unauthorized"
  125. },
  126. "500": {
  127. "description": "Internal server error."
  128. }
  129. }
  130. }
  131. },
  132. "/credentials": {
  133. "post": {
  134. "x-eov-operation-id": "createCredential",
  135. "x-eov-operation-handler": "v1/handlers/credentials/credentials.handler",
  136. "tags": [
  137. "Credential"
  138. ],
  139. "summary": "Create a credential",
  140. "description": "Creates a credential that can be used by nodes of the specified type.",
  141. "requestBody": {
  142. "description": "Credential to be created.",
  143. "required": true,
  144. "content": {
  145. "application/json": {
  146. "schema": {
  147. "$ref": "#/components/schemas/credential"
  148. }
  149. }
  150. }
  151. },
  152. "responses": {
  153. "200": {
  154. "description": "Operation successful.",
  155. "content": {
  156. "application/json": {
  157. "schema": {
  158. "$ref": "#/components/schemas/create-credential-response"
  159. }
  160. }
  161. }
  162. },
  163. "401": {
  164. "$ref": "#/components/responses/unauthorized"
  165. },
  166. "415": {
  167. "description": "Unsupported media type."
  168. }
  169. }
  170. }
  171. },
  172. "/credentials/{id}": {
  173. "patch": {
  174. "x-eov-operation-id": "updateCredential",
  175. "x-eov-operation-handler": "v1/handlers/credentials/credentials.handler",
  176. "tags": [
  177. "Credential"
  178. ],
  179. "summary": "Update credential by ID",
  180. "description": "Updates an existing credential. You must be the owner of the credential.",
  181. "operationId": "updateCredential",
  182. "parameters": [
  183. {
  184. "name": "id",
  185. "in": "path",
  186. "description": "The credential ID that needs to be updated",
  187. "required": true,
  188. "schema": {
  189. "type": "string"
  190. }
  191. }
  192. ],
  193. "requestBody": {
  194. "description": "Credential data to update. All fields are optional.",
  195. "required": true,
  196. "content": {
  197. "application/json": {
  198. "schema": {
  199. "$ref": "#/components/schemas/update-credential-request"
  200. }
  201. }
  202. }
  203. },
  204. "responses": {
  205. "200": {
  206. "description": "Operation successful.",
  207. "content": {
  208. "application/json": {
  209. "schema": {
  210. "$ref": "#/components/schemas/create-credential-response"
  211. }
  212. }
  213. }
  214. },
  215. "400": {
  216. "description": "Bad request - invalid credential type or data."
  217. },
  218. "401": {
  219. "$ref": "#/components/responses/unauthorized"
  220. },
  221. "404": {
  222. "$ref": "#/components/responses/notFound"
  223. }
  224. }
  225. },
  226. "delete": {
  227. "x-eov-operation-id": "deleteCredential",
  228. "x-eov-operation-handler": "v1/handlers/credentials/credentials.handler",
  229. "tags": [
  230. "Credential"
  231. ],
  232. "summary": "Delete credential by ID",
  233. "description": "Deletes a credential from your instance. You must be the owner of the credentials",
  234. "operationId": "deleteCredential",
  235. "parameters": [
  236. {
  237. "name": "id",
  238. "in": "path",
  239. "description": "The credential ID that needs to be deleted",
  240. "required": true,
  241. "schema": {
  242. "type": "string"
  243. }
  244. }
  245. ],
  246. "responses": {
  247. "200": {
  248. "description": "Operation successful.",
  249. "content": {
  250. "application/json": {
  251. "schema": {
  252. "$ref": "#/components/schemas/credential"
  253. }
  254. }
  255. }
  256. },
  257. "401": {
  258. "$ref": "#/components/responses/unauthorized"
  259. },
  260. "404": {
  261. "$ref": "#/components/responses/notFound"
  262. }
  263. }
  264. }
  265. },
  266. "/credentials/schema/{credentialTypeName}": {
  267. "get": {
  268. "x-eov-operation-id": "getCredentialType",
  269. "x-eov-operation-handler": "v1/handlers/credentials/credentials.handler",
  270. "tags": [
  271. "Credential"
  272. ],
  273. "summary": "Show credential data schema",
  274. "parameters": [
  275. {
  276. "name": "credentialTypeName",
  277. "in": "path",
  278. "description": "The credential type name that you want to get the schema for",
  279. "required": true,
  280. "schema": {
  281. "type": "string"
  282. }
  283. }
  284. ],
  285. "responses": {
  286. "200": {
  287. "description": "Operation successful.",
  288. "content": {
  289. "application/json": {
  290. "schema": {
  291. "type": "object"
  292. },
  293. "examples": {
  294. "freshdeskApi": {
  295. "value": {
  296. "additionalProperties": false,
  297. "type": "object",
  298. "properties": {
  299. "apiKey": {
  300. "type": "string"
  301. },
  302. "domain": {
  303. "type": "string"
  304. }
  305. },
  306. "required": [
  307. "apiKey",
  308. "domain"
  309. ]
  310. }
  311. },
  312. "slackOAuth2Api": {
  313. "value": {
  314. "additionalProperties": false,
  315. "type": "object",
  316. "properties": {
  317. "clientId": {
  318. "type": "string"
  319. },
  320. "clientSecret": {
  321. "type": "string"
  322. }
  323. },
  324. "required": [
  325. "clientId",
  326. "clientSecret"
  327. ]
  328. }
  329. }
  330. }
  331. }
  332. }
  333. },
  334. "401": {
  335. "$ref": "#/components/responses/unauthorized"
  336. },
  337. "404": {
  338. "$ref": "#/components/responses/notFound"
  339. }
  340. }
  341. }
  342. },
  343. "/credentials/{id}/transfer": {
  344. "put": {
  345. "x-eov-operation-id": "transferCredential",
  346. "x-eov-operation-handler": "v1/handlers/credentials/credentials.handler",
  347. "tags": [
  348. "Credential"
  349. ],
  350. "summary": "Transfer a credential to another project.",
  351. "description": "Transfer a credential to another project.",
  352. "parameters": [
  353. {
  354. "$ref": "#/components/parameters/credentialId"
  355. }
  356. ],
  357. "requestBody": {
  358. "description": "Destination project for the credential transfer.",
  359. "content": {
  360. "application/json": {
  361. "schema": {
  362. "type": "object",
  363. "properties": {
  364. "destinationProjectId": {
  365. "type": "string",
  366. "description": "The ID of the project to transfer the credential to."
  367. }
  368. },
  369. "required": [
  370. "destinationProjectId"
  371. ]
  372. }
  373. }
  374. },
  375. "required": true
  376. },
  377. "responses": {
  378. "200": {
  379. "description": "Operation successful."
  380. },
  381. "400": {
  382. "$ref": "#/components/responses/badRequest"
  383. },
  384. "401": {
  385. "$ref": "#/components/responses/unauthorized"
  386. },
  387. "404": {
  388. "$ref": "#/components/responses/notFound"
  389. }
  390. }
  391. }
  392. },
  393. "/executions": {
  394. "get": {
  395. "x-eov-operation-id": "getExecutions",
  396. "x-eov-operation-handler": "v1/handlers/executions/executions.handler",
  397. "tags": [
  398. "Execution"
  399. ],
  400. "summary": "Retrieve all executions",
  401. "description": "Retrieve all executions from your instance.",
  402. "parameters": [
  403. {
  404. "$ref": "#/components/parameters/includeData"
  405. },
  406. {
  407. "name": "status",
  408. "in": "query",
  409. "description": "Status to filter the executions by.",
  410. "required": false,
  411. "schema": {
  412. "type": "string",
  413. "enum": [
  414. "canceled",
  415. "error",
  416. "running",
  417. "success",
  418. "waiting"
  419. ]
  420. }
  421. },
  422. {
  423. "name": "workflowId",
  424. "in": "query",
  425. "description": "Workflow to filter the executions by.",
  426. "required": false,
  427. "schema": {
  428. "type": "string",
  429. "example": "1000"
  430. }
  431. },
  432. {
  433. "name": "projectId",
  434. "in": "query",
  435. "required": false,
  436. "explode": false,
  437. "allowReserved": true,
  438. "schema": {
  439. "type": "string",
  440. "example": "VmwOO9HeTEj20kxM"
  441. }
  442. },
  443. {
  444. "$ref": "#/components/parameters/limit"
  445. },
  446. {
  447. "$ref": "#/components/parameters/cursor"
  448. }
  449. ],
  450. "responses": {
  451. "200": {
  452. "description": "Operation successful.",
  453. "content": {
  454. "application/json": {
  455. "schema": {
  456. "$ref": "#/components/schemas/executionList"
  457. }
  458. }
  459. }
  460. },
  461. "401": {
  462. "$ref": "#/components/responses/unauthorized"
  463. },
  464. "404": {
  465. "$ref": "#/components/responses/notFound"
  466. }
  467. }
  468. }
  469. },
  470. "/executions/{id}": {
  471. "get": {
  472. "x-eov-operation-id": "getExecution",
  473. "x-eov-operation-handler": "v1/handlers/executions/executions.handler",
  474. "tags": [
  475. "Execution"
  476. ],
  477. "summary": "Retrieve an execution",
  478. "description": "Retrieve an execution from your instance.",
  479. "parameters": [
  480. {
  481. "$ref": "#/components/parameters/executionId"
  482. },
  483. {
  484. "$ref": "#/components/parameters/includeData"
  485. }
  486. ],
  487. "responses": {
  488. "200": {
  489. "description": "Operation successful.",
  490. "content": {
  491. "application/json": {
  492. "schema": {
  493. "$ref": "#/components/schemas/execution"
  494. }
  495. }
  496. }
  497. },
  498. "401": {
  499. "$ref": "#/components/responses/unauthorized"
  500. },
  501. "404": {
  502. "$ref": "#/components/responses/notFound"
  503. }
  504. }
  505. },
  506. "delete": {
  507. "x-eov-operation-id": "deleteExecution",
  508. "x-eov-operation-handler": "v1/handlers/executions/executions.handler",
  509. "tags": [
  510. "Execution"
  511. ],
  512. "summary": "Delete an execution",
  513. "description": "Deletes an execution from your instance.",
  514. "parameters": [
  515. {
  516. "$ref": "#/components/parameters/executionId"
  517. }
  518. ],
  519. "responses": {
  520. "200": {
  521. "description": "Operation successful.",
  522. "content": {
  523. "application/json": {
  524. "schema": {
  525. "$ref": "#/components/schemas/execution"
  526. }
  527. }
  528. }
  529. },
  530. "401": {
  531. "$ref": "#/components/responses/unauthorized"
  532. },
  533. "404": {
  534. "$ref": "#/components/responses/notFound"
  535. }
  536. }
  537. }
  538. },
  539. "/executions/{id}/retry": {
  540. "post": {
  541. "x-eov-operation-id": "retryExecution",
  542. "x-eov-operation-handler": "v1/handlers/executions/executions.handler",
  543. "tags": [
  544. "Execution"
  545. ],
  546. "summary": "Retry an execution",
  547. "description": "Retry an execution from your instance.",
  548. "parameters": [
  549. {
  550. "$ref": "#/components/parameters/executionId"
  551. }
  552. ],
  553. "requestBody": {
  554. "required": false,
  555. "content": {
  556. "application/json": {
  557. "schema": {
  558. "type": "object",
  559. "properties": {
  560. "loadWorkflow": {
  561. "type": "boolean",
  562. "description": "Whether to load the currently saved workflow to execute instead of the one saved at the time of the execution. If set to true, it will retry with the latest version of the workflow."
  563. }
  564. }
  565. }
  566. }
  567. }
  568. },
  569. "responses": {
  570. "200": {
  571. "description": "Operation successful.",
  572. "content": {
  573. "application/json": {
  574. "schema": {
  575. "$ref": "#/components/schemas/execution"
  576. }
  577. }
  578. }
  579. },
  580. "401": {
  581. "$ref": "#/components/responses/unauthorized"
  582. },
  583. "404": {
  584. "$ref": "#/components/responses/notFound"
  585. },
  586. "409": {
  587. "$ref": "#/components/responses/conflict"
  588. }
  589. }
  590. }
  591. },
  592. "/tags": {
  593. "post": {
  594. "x-eov-operation-id": "createTag",
  595. "x-eov-operation-handler": "v1/handlers/tags/tags.handler",
  596. "tags": [
  597. "Tags"
  598. ],
  599. "summary": "Create a tag",
  600. "description": "Create a tag in your instance.",
  601. "requestBody": {
  602. "description": "Created tag object.",
  603. "content": {
  604. "application/json": {
  605. "schema": {
  606. "$ref": "#/components/schemas/tag"
  607. }
  608. }
  609. },
  610. "required": true
  611. },
  612. "responses": {
  613. "201": {
  614. "description": "A tag object",
  615. "content": {
  616. "application/json": {
  617. "schema": {
  618. "$ref": "#/components/schemas/tag"
  619. }
  620. }
  621. }
  622. },
  623. "400": {
  624. "$ref": "#/components/responses/badRequest"
  625. },
  626. "401": {
  627. "$ref": "#/components/responses/unauthorized"
  628. },
  629. "409": {
  630. "$ref": "#/components/responses/conflict"
  631. }
  632. }
  633. },
  634. "get": {
  635. "x-eov-operation-id": "getTags",
  636. "x-eov-operation-handler": "v1/handlers/tags/tags.handler",
  637. "tags": [
  638. "Tags"
  639. ],
  640. "summary": "Retrieve all tags",
  641. "description": "Retrieve all tags from your instance.",
  642. "parameters": [
  643. {
  644. "$ref": "#/components/parameters/limit"
  645. },
  646. {
  647. "$ref": "#/components/parameters/cursor"
  648. }
  649. ],
  650. "responses": {
  651. "200": {
  652. "description": "Operation successful.",
  653. "content": {
  654. "application/json": {
  655. "schema": {
  656. "$ref": "#/components/schemas/tagList"
  657. }
  658. }
  659. }
  660. },
  661. "401": {
  662. "$ref": "#/components/responses/unauthorized"
  663. }
  664. }
  665. }
  666. },
  667. "/tags/{id}": {
  668. "get": {
  669. "x-eov-operation-id": "getTag",
  670. "x-eov-operation-handler": "v1/handlers/tags/tags.handler",
  671. "tags": [
  672. "Tags"
  673. ],
  674. "summary": "Retrieves a tag",
  675. "description": "Retrieves a tag.",
  676. "parameters": [
  677. {
  678. "$ref": "#/components/parameters/tagId"
  679. }
  680. ],
  681. "responses": {
  682. "200": {
  683. "description": "Operation successful.",
  684. "content": {
  685. "application/json": {
  686. "schema": {
  687. "$ref": "#/components/schemas/tag"
  688. }
  689. }
  690. }
  691. },
  692. "401": {
  693. "$ref": "#/components/responses/unauthorized"
  694. },
  695. "404": {
  696. "$ref": "#/components/responses/notFound"
  697. }
  698. }
  699. },
  700. "delete": {
  701. "x-eov-operation-id": "deleteTag",
  702. "x-eov-operation-handler": "v1/handlers/tags/tags.handler",
  703. "tags": [
  704. "Tags"
  705. ],
  706. "summary": "Delete a tag",
  707. "description": "Deletes a tag.",
  708. "parameters": [
  709. {
  710. "$ref": "#/components/parameters/tagId"
  711. }
  712. ],
  713. "responses": {
  714. "200": {
  715. "description": "Operation successful.",
  716. "content": {
  717. "application/json": {
  718. "schema": {
  719. "$ref": "#/components/schemas/tag"
  720. }
  721. }
  722. }
  723. },
  724. "401": {
  725. "$ref": "#/components/responses/unauthorized"
  726. },
  727. "403": {
  728. "$ref": "#/components/responses/forbidden"
  729. },
  730. "404": {
  731. "$ref": "#/components/responses/notFound"
  732. }
  733. }
  734. },
  735. "put": {
  736. "x-eov-operation-id": "updateTag",
  737. "x-eov-operation-handler": "v1/handlers/tags/tags.handler",
  738. "tags": [
  739. "Tags"
  740. ],
  741. "summary": "Update a tag",
  742. "description": "Update a tag.",
  743. "parameters": [
  744. {
  745. "$ref": "#/components/parameters/tagId"
  746. }
  747. ],
  748. "requestBody": {
  749. "description": "Updated tag object.",
  750. "content": {
  751. "application/json": {
  752. "schema": {
  753. "$ref": "#/components/schemas/tag"
  754. }
  755. }
  756. },
  757. "required": true
  758. },
  759. "responses": {
  760. "200": {
  761. "description": "Tag object",
  762. "content": {
  763. "application/json": {
  764. "schema": {
  765. "$ref": "#/components/schemas/tag"
  766. }
  767. }
  768. }
  769. },
  770. "400": {
  771. "$ref": "#/components/responses/badRequest"
  772. },
  773. "401": {
  774. "$ref": "#/components/responses/unauthorized"
  775. },
  776. "404": {
  777. "$ref": "#/components/responses/notFound"
  778. },
  779. "409": {
  780. "$ref": "#/components/responses/conflict"
  781. }
  782. }
  783. }
  784. },
  785. "/workflows": {
  786. "post": {
  787. "x-eov-operation-id": "createWorkflow",
  788. "x-eov-operation-handler": "v1/handlers/workflows/workflows.handler",
  789. "tags": [
  790. "Workflow"
  791. ],
  792. "summary": "Create a workflow",
  793. "description": "Create a workflow in your instance.",
  794. "requestBody": {
  795. "description": "Created workflow object.",
  796. "content": {
  797. "application/json": {
  798. "schema": {
  799. "$ref": "#/components/schemas/workflow"
  800. }
  801. }
  802. },
  803. "required": true
  804. },
  805. "responses": {
  806. "200": {
  807. "description": "A workflow object",
  808. "content": {
  809. "application/json": {
  810. "schema": {
  811. "$ref": "#/components/schemas/workflow"
  812. }
  813. }
  814. }
  815. },
  816. "400": {
  817. "$ref": "#/components/responses/badRequest"
  818. },
  819. "401": {
  820. "$ref": "#/components/responses/unauthorized"
  821. }
  822. }
  823. },
  824. "get": {
  825. "x-eov-operation-id": "getWorkflows",
  826. "x-eov-operation-handler": "v1/handlers/workflows/workflows.handler",
  827. "tags": [
  828. "Workflow"
  829. ],
  830. "summary": "Retrieve all workflows",
  831. "description": "Retrieve all workflows from your instance.",
  832. "parameters": [
  833. {
  834. "name": "active",
  835. "in": "query",
  836. "schema": {
  837. "type": "boolean",
  838. "example": true
  839. }
  840. },
  841. {
  842. "name": "tags",
  843. "in": "query",
  844. "required": false,
  845. "explode": false,
  846. "allowReserved": true,
  847. "schema": {
  848. "type": "string",
  849. "example": "test,production"
  850. }
  851. },
  852. {
  853. "name": "name",
  854. "in": "query",
  855. "required": false,
  856. "explode": false,
  857. "allowReserved": true,
  858. "schema": {
  859. "type": "string",
  860. "example": "My Workflow"
  861. }
  862. },
  863. {
  864. "name": "projectId",
  865. "in": "query",
  866. "required": false,
  867. "explode": false,
  868. "allowReserved": true,
  869. "schema": {
  870. "type": "string",
  871. "example": "VmwOO9HeTEj20kxM"
  872. }
  873. },
  874. {
  875. "name": "excludePinnedData",
  876. "in": "query",
  877. "required": false,
  878. "description": "Set this to avoid retrieving pinned data",
  879. "schema": {
  880. "type": "boolean",
  881. "example": true
  882. }
  883. },
  884. {
  885. "$ref": "#/components/parameters/limit"
  886. },
  887. {
  888. "$ref": "#/components/parameters/cursor"
  889. }
  890. ],
  891. "responses": {
  892. "200": {
  893. "description": "Operation successful.",
  894. "content": {
  895. "application/json": {
  896. "schema": {
  897. "$ref": "#/components/schemas/workflowList"
  898. }
  899. }
  900. }
  901. },
  902. "401": {
  903. "$ref": "#/components/responses/unauthorized"
  904. }
  905. }
  906. }
  907. },
  908. "/workflows/{id}": {
  909. "get": {
  910. "x-eov-operation-id": "getWorkflow",
  911. "x-eov-operation-handler": "v1/handlers/workflows/workflows.handler",
  912. "tags": [
  913. "Workflow"
  914. ],
  915. "summary": "Retrieve a workflow",
  916. "description": "Retrieve a workflow.",
  917. "parameters": [
  918. {
  919. "name": "excludePinnedData",
  920. "in": "query",
  921. "required": false,
  922. "description": "Set this to avoid retrieving pinned data",
  923. "schema": {
  924. "type": "boolean",
  925. "example": true
  926. }
  927. },
  928. {
  929. "$ref": "#/components/parameters/workflowId"
  930. }
  931. ],
  932. "responses": {
  933. "200": {
  934. "description": "Operation successful.",
  935. "content": {
  936. "application/json": {
  937. "schema": {
  938. "$ref": "#/components/schemas/workflow"
  939. }
  940. }
  941. }
  942. },
  943. "401": {
  944. "$ref": "#/components/responses/unauthorized"
  945. },
  946. "404": {
  947. "$ref": "#/components/responses/notFound"
  948. }
  949. }
  950. },
  951. "delete": {
  952. "x-eov-operation-id": "deleteWorkflow",
  953. "x-eov-operation-handler": "v1/handlers/workflows/workflows.handler",
  954. "tags": [
  955. "Workflow"
  956. ],
  957. "summary": "Delete a workflow",
  958. "description": "Delete a workflow.",
  959. "parameters": [
  960. {
  961. "$ref": "#/components/parameters/workflowId"
  962. }
  963. ],
  964. "responses": {
  965. "200": {
  966. "description": "Operation successful.",
  967. "content": {
  968. "application/json": {
  969. "schema": {
  970. "$ref": "#/components/schemas/workflow"
  971. }
  972. }
  973. }
  974. },
  975. "401": {
  976. "$ref": "#/components/responses/unauthorized"
  977. },
  978. "404": {
  979. "$ref": "#/components/responses/notFound"
  980. }
  981. }
  982. },
  983. "put": {
  984. "x-eov-operation-id": "updateWorkflow",
  985. "x-eov-operation-handler": "v1/handlers/workflows/workflows.handler",
  986. "tags": [
  987. "Workflow"
  988. ],
  989. "summary": "Update a workflow",
  990. "description": "Update a workflow. If the workflow is published, the updated version will be automatically re-published.",
  991. "parameters": [
  992. {
  993. "$ref": "#/components/parameters/workflowId"
  994. }
  995. ],
  996. "requestBody": {
  997. "description": "Updated workflow object.",
  998. "content": {
  999. "application/json": {
  1000. "schema": {
  1001. "$ref": "#/components/schemas/workflow"
  1002. }
  1003. }
  1004. },
  1005. "required": true
  1006. },
  1007. "responses": {
  1008. "200": {
  1009. "description": "Workflow object",
  1010. "content": {
  1011. "application/json": {
  1012. "schema": {
  1013. "$ref": "#/components/schemas/workflow"
  1014. }
  1015. }
  1016. }
  1017. },
  1018. "400": {
  1019. "$ref": "#/components/responses/badRequest"
  1020. },
  1021. "401": {
  1022. "$ref": "#/components/responses/unauthorized"
  1023. },
  1024. "404": {
  1025. "$ref": "#/components/responses/notFound"
  1026. }
  1027. }
  1028. }
  1029. },
  1030. "/workflows/{id}/{versionId}": {
  1031. "get": {
  1032. "x-eov-operation-id": "getWorkflowVersion",
  1033. "x-eov-operation-handler": "v1/handlers/workflows/workflows.handler",
  1034. "tags": [
  1035. "Workflow"
  1036. ],
  1037. "summary": "Retrieves a specific version of a workflow",
  1038. "description": "Retrieves a specific version of a workflow from workflow history.",
  1039. "parameters": [
  1040. {
  1041. "$ref": "#/components/parameters/workflowId"
  1042. },
  1043. {
  1044. "name": "versionId",
  1045. "in": "path",
  1046. "required": true,
  1047. "description": "The version ID to retrieve",
  1048. "schema": {
  1049. "type": "string"
  1050. },
  1051. "example": "abc123-def456-ghi789"
  1052. }
  1053. ],
  1054. "responses": {
  1055. "200": {
  1056. "description": "Operation successful.",
  1057. "content": {
  1058. "application/json": {
  1059. "schema": {
  1060. "$ref": "#/components/schemas/workflowVersion"
  1061. }
  1062. }
  1063. }
  1064. },
  1065. "401": {
  1066. "$ref": "#/components/responses/unauthorized"
  1067. },
  1068. "404": {
  1069. "$ref": "#/components/responses/notFound"
  1070. }
  1071. }
  1072. }
  1073. },
  1074. "/workflows/{id}/activate": {
  1075. "post": {
  1076. "x-eov-operation-id": "activateWorkflow",
  1077. "x-eov-operation-handler": "v1/handlers/workflows/workflows.handler",
  1078. "tags": [
  1079. "Workflow"
  1080. ],
  1081. "summary": "Publish a workflow",
  1082. "description": "Publish a workflow. In n8n v1, this action was termed activating a workflow.",
  1083. "parameters": [
  1084. {
  1085. "$ref": "#/components/parameters/workflowId"
  1086. }
  1087. ],
  1088. "requestBody": {
  1089. "description": "Optional parameters to publish the workflow.",
  1090. "content": {
  1091. "application/json": {
  1092. "schema": {
  1093. "type": "object",
  1094. "properties": {
  1095. "versionId": {
  1096. "type": "string",
  1097. "description": "The specific version ID to activate or publish. If not provided, the latest version is used."
  1098. },
  1099. "name": {
  1100. "type": "string",
  1101. "description": "Optional name for the workflow version during activation."
  1102. },
  1103. "description": {
  1104. "type": "string",
  1105. "description": "Optional description for the workflow version during activation."
  1106. }
  1107. }
  1108. }
  1109. }
  1110. },
  1111. "required": false
  1112. },
  1113. "responses": {
  1114. "200": {
  1115. "description": "Workflow object",
  1116. "content": {
  1117. "application/json": {
  1118. "schema": {
  1119. "$ref": "#/components/schemas/workflow"
  1120. }
  1121. }
  1122. }
  1123. },
  1124. "400": {
  1125. "$ref": "#/components/responses/badRequest"
  1126. },
  1127. "401": {
  1128. "$ref": "#/components/responses/unauthorized"
  1129. },
  1130. "404": {
  1131. "$ref": "#/components/responses/notFound"
  1132. }
  1133. }
  1134. }
  1135. },
  1136. "/workflows/{id}/deactivate": {
  1137. "post": {
  1138. "x-eov-operation-id": "deactivateWorkflow",
  1139. "x-eov-operation-handler": "v1/handlers/workflows/workflows.handler",
  1140. "tags": [
  1141. "Workflow"
  1142. ],
  1143. "summary": "Deactivate a workflow",
  1144. "description": "Deactivate a workflow.",
  1145. "parameters": [
  1146. {
  1147. "$ref": "#/components/parameters/workflowId"
  1148. }
  1149. ],
  1150. "responses": {
  1151. "200": {
  1152. "description": "Workflow object",
  1153. "content": {
  1154. "application/json": {
  1155. "schema": {
  1156. "$ref": "#/components/schemas/workflow"
  1157. }
  1158. }
  1159. }
  1160. },
  1161. "401": {
  1162. "$ref": "#/components/responses/unauthorized"
  1163. },
  1164. "404": {
  1165. "$ref": "#/components/responses/notFound"
  1166. }
  1167. }
  1168. }
  1169. },
  1170. "/workflows/{id}/transfer": {
  1171. "put": {
  1172. "x-eov-operation-id": "transferWorkflow",
  1173. "x-eov-operation-handler": "v1/handlers/workflows/workflows.handler",
  1174. "tags": [
  1175. "Workflow"
  1176. ],
  1177. "summary": "Transfer a workflow to another project",
  1178. "description": "Transfer a workflow to another project",
  1179. "parameters": [
  1180. {
  1181. "$ref": "#/components/parameters/workflowId"
  1182. }
  1183. ],
  1184. "requestBody": {
  1185. "description": "Destination project information for the workflow transfer.",
  1186. "content": {
  1187. "application/json": {
  1188. "schema": {
  1189. "type": "object",
  1190. "properties": {
  1191. "destinationProjectId": {
  1192. "type": "string",
  1193. "description": "The ID of the project to transfer the workflow to."
  1194. }
  1195. },
  1196. "required": [
  1197. "destinationProjectId"
  1198. ]
  1199. }
  1200. }
  1201. },
  1202. "required": true
  1203. },
  1204. "responses": {
  1205. "200": {
  1206. "description": "Operation successful."
  1207. },
  1208. "400": {
  1209. "$ref": "#/components/responses/badRequest"
  1210. },
  1211. "401": {
  1212. "$ref": "#/components/responses/unauthorized"
  1213. },
  1214. "404": {
  1215. "$ref": "#/components/responses/notFound"
  1216. }
  1217. }
  1218. }
  1219. },
  1220. "/workflows/{id}/tags": {
  1221. "get": {
  1222. "x-eov-operation-id": "getWorkflowTags",
  1223. "x-eov-operation-handler": "v1/handlers/workflows/workflows.handler",
  1224. "tags": [
  1225. "Workflow"
  1226. ],
  1227. "summary": "Get workflow tags",
  1228. "description": "Get workflow tags.",
  1229. "parameters": [
  1230. {
  1231. "$ref": "#/components/parameters/workflowId"
  1232. }
  1233. ],
  1234. "responses": {
  1235. "200": {
  1236. "description": "List of tags",
  1237. "content": {
  1238. "application/json": {
  1239. "schema": {
  1240. "$ref": "#/components/schemas/workflowTags"
  1241. }
  1242. }
  1243. }
  1244. },
  1245. "400": {
  1246. "$ref": "#/components/responses/badRequest"
  1247. },
  1248. "401": {
  1249. "$ref": "#/components/responses/unauthorized"
  1250. },
  1251. "404": {
  1252. "$ref": "#/components/responses/notFound"
  1253. }
  1254. }
  1255. },
  1256. "put": {
  1257. "x-eov-operation-id": "updateWorkflowTags",
  1258. "x-eov-operation-handler": "v1/handlers/workflows/workflows.handler",
  1259. "tags": [
  1260. "Workflow"
  1261. ],
  1262. "summary": "Update tags of a workflow",
  1263. "description": "Update tags of a workflow.",
  1264. "parameters": [
  1265. {
  1266. "$ref": "#/components/parameters/workflowId"
  1267. }
  1268. ],
  1269. "requestBody": {
  1270. "description": "List of tags",
  1271. "content": {
  1272. "application/json": {
  1273. "schema": {
  1274. "$ref": "#/components/schemas/tagIds"
  1275. }
  1276. }
  1277. },
  1278. "required": true
  1279. },
  1280. "responses": {
  1281. "200": {
  1282. "description": "List of tags after add the tag",
  1283. "content": {
  1284. "application/json": {
  1285. "schema": {
  1286. "$ref": "#/components/schemas/workflowTags"
  1287. }
  1288. }
  1289. }
  1290. },
  1291. "400": {
  1292. "$ref": "#/components/responses/badRequest"
  1293. },
  1294. "401": {
  1295. "$ref": "#/components/responses/unauthorized"
  1296. },
  1297. "404": {
  1298. "$ref": "#/components/responses/notFound"
  1299. }
  1300. }
  1301. }
  1302. },
  1303. "/users": {
  1304. "get": {
  1305. "x-eov-operation-id": "getUsers",
  1306. "x-eov-operation-handler": "v1/handlers/users/users.handler.ee",
  1307. "tags": [
  1308. "User"
  1309. ],
  1310. "summary": "Retrieve all users",
  1311. "description": "Retrieve all users from your instance. Only available for the instance owner.",
  1312. "parameters": [
  1313. {
  1314. "$ref": "#/components/parameters/limit"
  1315. },
  1316. {
  1317. "$ref": "#/components/parameters/cursor"
  1318. },
  1319. {
  1320. "$ref": "#/components/parameters/includeRole"
  1321. },
  1322. {
  1323. "name": "projectId",
  1324. "in": "query",
  1325. "required": false,
  1326. "explode": false,
  1327. "allowReserved": true,
  1328. "schema": {
  1329. "type": "string",
  1330. "example": "VmwOO9HeTEj20kxM"
  1331. }
  1332. }
  1333. ],
  1334. "responses": {
  1335. "200": {
  1336. "description": "Operation successful.",
  1337. "content": {
  1338. "application/json": {
  1339. "schema": {
  1340. "$ref": "#/components/schemas/userList"
  1341. }
  1342. }
  1343. }
  1344. },
  1345. "401": {
  1346. "$ref": "#/components/responses/unauthorized"
  1347. }
  1348. }
  1349. },
  1350. "post": {
  1351. "x-eov-operation-id": "createUser",
  1352. "x-eov-operation-handler": "v1/handlers/users/users.handler.ee",
  1353. "tags": [
  1354. "User"
  1355. ],
  1356. "summary": "Create multiple users",
  1357. "description": "Create one or more users.",
  1358. "requestBody": {
  1359. "description": "Array of users to be created.",
  1360. "required": true,
  1361. "content": {
  1362. "application/json": {
  1363. "schema": {
  1364. "type": "array",
  1365. "items": {
  1366. "type": "object",
  1367. "properties": {
  1368. "email": {
  1369. "type": "string",
  1370. "format": "email"
  1371. },
  1372. "role": {
  1373. "type": "string",
  1374. "example": "global:member"
  1375. }
  1376. },
  1377. "required": [
  1378. "email"
  1379. ]
  1380. }
  1381. }
  1382. }
  1383. }
  1384. },
  1385. "responses": {
  1386. "200": {
  1387. "description": "Operation successful.",
  1388. "content": {
  1389. "application/json": {
  1390. "schema": {
  1391. "type": "object",
  1392. "properties": {
  1393. "user": {
  1394. "type": "object",
  1395. "properties": {
  1396. "id": {
  1397. "type": "string"
  1398. },
  1399. "email": {
  1400. "type": "string"
  1401. },
  1402. "inviteAcceptUrl": {
  1403. "type": "string"
  1404. },
  1405. "emailSent": {
  1406. "type": "boolean"
  1407. }
  1408. }
  1409. },
  1410. "error": {
  1411. "type": "string"
  1412. }
  1413. }
  1414. }
  1415. }
  1416. }
  1417. },
  1418. "401": {
  1419. "$ref": "#/components/responses/unauthorized"
  1420. },
  1421. "403": {
  1422. "$ref": "#/components/responses/forbidden"
  1423. }
  1424. }
  1425. }
  1426. },
  1427. "/users/{id}": {
  1428. "get": {
  1429. "x-eov-operation-id": "getUser",
  1430. "x-eov-operation-handler": "v1/handlers/users/users.handler.ee",
  1431. "tags": [
  1432. "User"
  1433. ],
  1434. "summary": "Get user by ID/Email",
  1435. "description": "Retrieve a user from your instance. Only available for the instance owner.",
  1436. "parameters": [
  1437. {
  1438. "$ref": "#/components/parameters/userIdentifier"
  1439. },
  1440. {
  1441. "$ref": "#/components/parameters/includeRole"
  1442. }
  1443. ],
  1444. "responses": {
  1445. "200": {
  1446. "description": "Operation successful.",
  1447. "content": {
  1448. "application/json": {
  1449. "schema": {
  1450. "$ref": "#/components/schemas/user"
  1451. }
  1452. }
  1453. }
  1454. },
  1455. "401": {
  1456. "$ref": "#/components/responses/unauthorized"
  1457. }
  1458. }
  1459. },
  1460. "delete": {
  1461. "x-eov-operation-id": "deleteUser",
  1462. "x-eov-operation-handler": "v1/handlers/users/users.handler.ee",
  1463. "tags": [
  1464. "User"
  1465. ],
  1466. "summary": "Delete a user",
  1467. "description": "Delete a user from your instance.",
  1468. "parameters": [
  1469. {
  1470. "$ref": "#/components/parameters/userIdentifier"
  1471. }
  1472. ],
  1473. "responses": {
  1474. "204": {
  1475. "description": "Operation successful."
  1476. },
  1477. "401": {
  1478. "$ref": "#/components/responses/unauthorized"
  1479. },
  1480. "403": {
  1481. "$ref": "#/components/responses/forbidden"
  1482. },
  1483. "404": {
  1484. "$ref": "#/components/responses/notFound"
  1485. }
  1486. }
  1487. }
  1488. },
  1489. "/users/{id}/role": {
  1490. "patch": {
  1491. "x-eov-operation-id": "changeRole",
  1492. "x-eov-operation-handler": "v1/handlers/users/users.handler.ee",
  1493. "tags": [
  1494. "User"
  1495. ],
  1496. "summary": "Change a user's global role",
  1497. "description": "Change a user's global role",
  1498. "parameters": [
  1499. {
  1500. "$ref": "#/components/parameters/userIdentifier"
  1501. }
  1502. ],
  1503. "requestBody": {
  1504. "description": "New role for the user",
  1505. "required": true,
  1506. "content": {
  1507. "application/json": {
  1508. "schema": {
  1509. "type": "object",
  1510. "properties": {
  1511. "newRoleName": {
  1512. "type": "string",
  1513. "example": "global:member"
  1514. }
  1515. },
  1516. "required": [
  1517. "newRoleName"
  1518. ]
  1519. }
  1520. }
  1521. }
  1522. },
  1523. "responses": {
  1524. "200": {
  1525. "description": "Operation successful."
  1526. },
  1527. "401": {
  1528. "$ref": "#/components/responses/unauthorized"
  1529. },
  1530. "403": {
  1531. "$ref": "#/components/responses/forbidden"
  1532. },
  1533. "404": {
  1534. "$ref": "#/components/responses/notFound"
  1535. }
  1536. }
  1537. }
  1538. },
  1539. "/source-control/pull": {
  1540. "post": {
  1541. "x-eov-operation-id": "pull",
  1542. "x-eov-operation-handler": "v1/handlers/source-control/source-control.handler",
  1543. "tags": [
  1544. "SourceControl"
  1545. ],
  1546. "summary": "Pull changes from the remote repository",
  1547. "description": "Requires the Source Control feature to be licensed and connected to a repository.",
  1548. "requestBody": {
  1549. "description": "Pull options",
  1550. "required": true,
  1551. "content": {
  1552. "application/json": {
  1553. "schema": {
  1554. "$ref": "#/components/schemas/pull"
  1555. }
  1556. }
  1557. }
  1558. },
  1559. "responses": {
  1560. "200": {
  1561. "description": "Import result",
  1562. "content": {
  1563. "application/json": {
  1564. "schema": {
  1565. "$ref": "#/components/schemas/importResult"
  1566. }
  1567. }
  1568. }
  1569. },
  1570. "400": {
  1571. "$ref": "#/components/responses/badRequest"
  1572. },
  1573. "409": {
  1574. "$ref": "#/components/responses/conflict"
  1575. }
  1576. }
  1577. }
  1578. },
  1579. "/variables": {
  1580. "post": {
  1581. "x-eov-operation-id": "createVariable",
  1582. "x-eov-operation-handler": "v1/handlers/variables/variables.handler",
  1583. "tags": [
  1584. "Variables"
  1585. ],
  1586. "summary": "Create a variable",
  1587. "description": "Create a variable in your instance.",
  1588. "requestBody": {
  1589. "description": "Payload for variable to create.",
  1590. "content": {
  1591. "application/json": {
  1592. "schema": {
  1593. "$ref": "#/components/schemas/variable.create"
  1594. }
  1595. }
  1596. },
  1597. "required": true
  1598. },
  1599. "responses": {
  1600. "201": {
  1601. "description": "Operation successful."
  1602. },
  1603. "400": {
  1604. "$ref": "#/components/responses/badRequest"
  1605. },
  1606. "401": {
  1607. "$ref": "#/components/responses/unauthorized"
  1608. }
  1609. }
  1610. },
  1611. "get": {
  1612. "x-eov-operation-id": "getVariables",
  1613. "x-eov-operation-handler": "v1/handlers/variables/variables.handler",
  1614. "tags": [
  1615. "Variables"
  1616. ],
  1617. "summary": "Retrieve variables",
  1618. "description": "Retrieve variables from your instance.",
  1619. "parameters": [
  1620. {
  1621. "$ref": "#/components/parameters/limit"
  1622. },
  1623. {
  1624. "$ref": "#/components/parameters/cursor"
  1625. },
  1626. {
  1627. "name": "projectId",
  1628. "in": "query",
  1629. "required": false,
  1630. "explode": false,
  1631. "allowReserved": true,
  1632. "schema": {
  1633. "type": "string",
  1634. "example": "VmwOO9HeTEj20kxM"
  1635. }
  1636. },
  1637. {
  1638. "name": "state",
  1639. "in": "query",
  1640. "required": false,
  1641. "schema": {
  1642. "type": "string",
  1643. "enum": [
  1644. "empty"
  1645. ]
  1646. }
  1647. }
  1648. ],
  1649. "responses": {
  1650. "200": {
  1651. "description": "Operation successful.",
  1652. "content": {
  1653. "application/json": {
  1654. "schema": {
  1655. "$ref": "#/components/schemas/variableList"
  1656. }
  1657. }
  1658. }
  1659. },
  1660. "401": {
  1661. "$ref": "#/components/responses/unauthorized"
  1662. }
  1663. }
  1664. }
  1665. },
  1666. "/variables/{id}": {
  1667. "delete": {
  1668. "x-eov-operation-id": "deleteVariable",
  1669. "x-eov-operation-handler": "v1/handlers/variables/variables.handler",
  1670. "tags": [
  1671. "Variables"
  1672. ],
  1673. "summary": "Delete a variable",
  1674. "description": "Delete a variable from your instance.",
  1675. "parameters": [
  1676. {
  1677. "$ref": "#/components/parameters/variableId"
  1678. }
  1679. ],
  1680. "responses": {
  1681. "204": {
  1682. "description": "Operation successful."
  1683. },
  1684. "401": {
  1685. "$ref": "#/components/responses/unauthorized"
  1686. },
  1687. "404": {
  1688. "$ref": "#/components/responses/notFound"
  1689. }
  1690. }
  1691. },
  1692. "put": {
  1693. "x-eov-operation-id": "updateVariable",
  1694. "x-eov-operation-handler": "v1/handlers/variables/variables.handler",
  1695. "tags": [
  1696. "Variables"
  1697. ],
  1698. "summary": "Update a variable",
  1699. "description": "Update a variable from your instance.",
  1700. "parameters": [
  1701. {
  1702. "$ref": "#/components/parameters/variableId"
  1703. }
  1704. ],
  1705. "requestBody": {
  1706. "description": "Payload for variable to update.",
  1707. "content": {
  1708. "application/json": {
  1709. "schema": {
  1710. "$ref": "#/components/schemas/variable.create"
  1711. }
  1712. }
  1713. },
  1714. "required": true
  1715. },
  1716. "responses": {
  1717. "204": {
  1718. "description": "Operation successful."
  1719. },
  1720. "400": {
  1721. "$ref": "#/components/responses/badRequest"
  1722. },
  1723. "401": {
  1724. "$ref": "#/components/responses/unauthorized"
  1725. },
  1726. "403": {
  1727. "$ref": "#/components/responses/forbidden"
  1728. },
  1729. "404": {
  1730. "$ref": "#/components/responses/notFound"
  1731. }
  1732. }
  1733. }
  1734. },
  1735. "/projects": {
  1736. "post": {
  1737. "x-eov-operation-id": "createProject",
  1738. "x-eov-operation-handler": "v1/handlers/projects/projects.handler",
  1739. "tags": [
  1740. "Projects"
  1741. ],
  1742. "summary": "Create a project",
  1743. "description": "Create a project on your instance.",
  1744. "requestBody": {
  1745. "description": "Payload for project to create.",
  1746. "content": {
  1747. "application/json": {
  1748. "schema": {
  1749. "$ref": "#/components/schemas/project"
  1750. }
  1751. }
  1752. },
  1753. "required": true
  1754. },
  1755. "responses": {
  1756. "201": {
  1757. "description": "Operation successful."
  1758. },
  1759. "400": {
  1760. "$ref": "#/components/responses/badRequest"
  1761. },
  1762. "401": {
  1763. "$ref": "#/components/responses/unauthorized"
  1764. }
  1765. }
  1766. },
  1767. "get": {
  1768. "x-eov-operation-id": "getProjects",
  1769. "x-eov-operation-handler": "v1/handlers/projects/projects.handler",
  1770. "tags": [
  1771. "Projects"
  1772. ],
  1773. "summary": "Retrieve projects",
  1774. "description": "Retrieve projects from your instance.",
  1775. "parameters": [
  1776. {
  1777. "$ref": "#/components/parameters/limit"
  1778. },
  1779. {
  1780. "$ref": "#/components/parameters/cursor"
  1781. }
  1782. ],
  1783. "responses": {
  1784. "200": {
  1785. "description": "Operation successful.",
  1786. "content": {
  1787. "application/json": {
  1788. "schema": {
  1789. "$ref": "#/components/schemas/projectList"
  1790. }
  1791. }
  1792. }
  1793. },
  1794. "401": {
  1795. "$ref": "#/components/responses/unauthorized"
  1796. }
  1797. }
  1798. }
  1799. },
  1800. "/projects/{projectId}": {
  1801. "delete": {
  1802. "x-eov-operation-id": "deleteProject",
  1803. "x-eov-operation-handler": "v1/handlers/projects/projects.handler",
  1804. "tags": [
  1805. "Projects"
  1806. ],
  1807. "summary": "Delete a project",
  1808. "description": "Delete a project from your instance.",
  1809. "parameters": [
  1810. {
  1811. "in": "path",
  1812. "name": "projectId",
  1813. "description": "The ID of the project.",
  1814. "required": true,
  1815. "schema": {
  1816. "type": "string"
  1817. }
  1818. }
  1819. ],
  1820. "responses": {
  1821. "204": {
  1822. "description": "Operation successful."
  1823. },
  1824. "401": {
  1825. "$ref": "#/components/responses/unauthorized"
  1826. },
  1827. "403": {
  1828. "$ref": "#/components/responses/forbidden"
  1829. },
  1830. "404": {
  1831. "$ref": "#/components/responses/notFound"
  1832. }
  1833. }
  1834. },
  1835. "put": {
  1836. "x-eov-operation-id": "updateProject",
  1837. "x-eov-operation-handler": "v1/handlers/projects/projects.handler",
  1838. "tags": [
  1839. "Projects"
  1840. ],
  1841. "summary": "Update a project",
  1842. "description": "Update a project on your instance.",
  1843. "parameters": [
  1844. {
  1845. "in": "path",
  1846. "name": "projectId",
  1847. "description": "The ID of the project.",
  1848. "required": true,
  1849. "schema": {
  1850. "type": "string"
  1851. }
  1852. }
  1853. ],
  1854. "requestBody": {
  1855. "description": "Updated project object.",
  1856. "content": {
  1857. "application/json": {
  1858. "schema": {
  1859. "$ref": "#/components/schemas/project"
  1860. }
  1861. }
  1862. },
  1863. "required": true
  1864. },
  1865. "responses": {
  1866. "204": {
  1867. "description": "Operation successful."
  1868. },
  1869. "400": {
  1870. "$ref": "#/components/responses/badRequest"
  1871. },
  1872. "401": {
  1873. "$ref": "#/components/responses/unauthorized"
  1874. },
  1875. "403": {
  1876. "$ref": "#/components/responses/forbidden"
  1877. },
  1878. "404": {
  1879. "$ref": "#/components/responses/notFound"
  1880. }
  1881. }
  1882. }
  1883. },
  1884. "/projects/{projectId}/users": {
  1885. "post": {
  1886. "x-eov-operation-id": "addUsersToProject",
  1887. "x-eov-operation-handler": "v1/handlers/projects/projects.handler",
  1888. "tags": [
  1889. "Projects"
  1890. ],
  1891. "summary": "Add one or more users to a project",
  1892. "description": "Add one or more users to a project on your instance.",
  1893. "parameters": [
  1894. {
  1895. "name": "projectId",
  1896. "in": "path",
  1897. "description": "The ID of the project.",
  1898. "required": true,
  1899. "schema": {
  1900. "type": "string"
  1901. }
  1902. }
  1903. ],
  1904. "requestBody": {
  1905. "description": "Payload containing an array of one or more users to add to the project.",
  1906. "content": {
  1907. "application/json": {
  1908. "schema": {
  1909. "type": "object",
  1910. "properties": {
  1911. "relations": {
  1912. "type": "array",
  1913. "description": "A list of userIds and roles to add to the project.",
  1914. "items": {
  1915. "type": "object",
  1916. "properties": {
  1917. "userId": {
  1918. "type": "string",
  1919. "description": "The unique identifier of the user.",
  1920. "example": "91765f0d-3b29-45df-adb9-35b23937eb92"
  1921. },
  1922. "role": {
  1923. "type": "string",
  1924. "description": "The role assigned to the user in the project.",
  1925. "example": "project:viewer"
  1926. }
  1927. },
  1928. "required": [
  1929. "userId",
  1930. "role"
  1931. ]
  1932. }
  1933. }
  1934. },
  1935. "required": [
  1936. "relations"
  1937. ]
  1938. }
  1939. }
  1940. }
  1941. },
  1942. "responses": {
  1943. "201": {
  1944. "description": "Operation successful."
  1945. },
  1946. "401": {
  1947. "$ref": "#/components/responses/unauthorized"
  1948. },
  1949. "403": {
  1950. "$ref": "#/components/responses/forbidden"
  1951. },
  1952. "404": {
  1953. "$ref": "#/components/responses/notFound"
  1954. }
  1955. }
  1956. }
  1957. },
  1958. "/projects/{projectId}/users/{userId}": {
  1959. "delete": {
  1960. "x-eov-operation-id": "deleteUserFromProject",
  1961. "x-eov-operation-handler": "v1/handlers/projects/projects.handler",
  1962. "tags": [
  1963. "Projects"
  1964. ],
  1965. "summary": "Delete a user from a project",
  1966. "description": "Delete a user from a project on your instance.",
  1967. "parameters": [
  1968. {
  1969. "name": "projectId",
  1970. "in": "path",
  1971. "description": "The ID of the project.",
  1972. "required": true,
  1973. "schema": {
  1974. "type": "string"
  1975. }
  1976. },
  1977. {
  1978. "name": "userId",
  1979. "in": "path",
  1980. "description": "The ID of the user.",
  1981. "required": true,
  1982. "schema": {
  1983. "type": "string"
  1984. }
  1985. }
  1986. ],
  1987. "responses": {
  1988. "204": {
  1989. "description": "Operation successful."
  1990. },
  1991. "401": {
  1992. "$ref": "#/components/responses/unauthorized"
  1993. },
  1994. "403": {
  1995. "$ref": "#/components/responses/forbidden"
  1996. },
  1997. "404": {
  1998. "$ref": "#/components/responses/notFound"
  1999. }
  2000. }
  2001. },
  2002. "patch": {
  2003. "x-eov-operation-id": "changeUserRoleInProject",
  2004. "x-eov-operation-handler": "v1/handlers/projects/projects.handler",
  2005. "tags": [
  2006. "Projects"
  2007. ],
  2008. "summary": "Change a user's role in a project",
  2009. "description": "Change a user's role in a project.",
  2010. "parameters": [
  2011. {
  2012. "name": "projectId",
  2013. "in": "path",
  2014. "description": "The ID of the project.",
  2015. "required": true,
  2016. "schema": {
  2017. "type": "string"
  2018. }
  2019. },
  2020. {
  2021. "name": "userId",
  2022. "in": "path",
  2023. "description": "The ID of the user.",
  2024. "required": true,
  2025. "schema": {
  2026. "type": "string"
  2027. }
  2028. }
  2029. ],
  2030. "requestBody": {
  2031. "description": "Payload containing the new role to assign to the project user.",
  2032. "content": {
  2033. "application/json": {
  2034. "schema": {
  2035. "type": "object",
  2036. "properties": {
  2037. "role": {
  2038. "type": "string",
  2039. "description": "The role assigned to the user in the project.",
  2040. "example": "project:viewer"
  2041. }
  2042. },
  2043. "required": [
  2044. "role"
  2045. ]
  2046. }
  2047. }
  2048. }
  2049. },
  2050. "responses": {
  2051. "204": {
  2052. "description": "Operation successful."
  2053. },
  2054. "401": {
  2055. "$ref": "#/components/responses/unauthorized"
  2056. },
  2057. "403": {
  2058. "$ref": "#/components/responses/forbidden"
  2059. },
  2060. "404": {
  2061. "$ref": "#/components/responses/notFound"
  2062. }
  2063. }
  2064. }
  2065. }
  2066. },
  2067. "components": {
  2068. "schemas": {
  2069. "audit": {
  2070. "type": "object",
  2071. "properties": {
  2072. "Credentials Risk Report": {
  2073. "type": "object",
  2074. "example": {
  2075. "risk": "credentials",
  2076. "sections": [
  2077. {
  2078. "title": "Credentials not used in any workflow",
  2079. "description": "These credentials are not used in any workflow. Keeping unused credentials in your instance is an unneeded security risk.",
  2080. "recommendation": "Consider deleting these credentials if you no longer need them.",
  2081. "location": [
  2082. {
  2083. "kind": "credential",
  2084. "id": "1",
  2085. "name": "My Test Account"
  2086. }
  2087. ]
  2088. }
  2089. ]
  2090. }
  2091. },
  2092. "Database Risk Report": {
  2093. "type": "object",
  2094. "example": {
  2095. "risk": "database",
  2096. "sections": [
  2097. {
  2098. "title": "Expressions in \"Execute Query\" fields in SQL nodes",
  2099. "description": "This SQL node has an expression in the \"Query\" field of an \"Execute Query\" operation. Building a SQL query with an expression may lead to a SQL injection attack.",
  2100. "recommendation": "Consider using the \"Query Parameters\" field to pass parameters to the query",
  2101. "or validating the input of the expression in the \"Query\" field.": null,
  2102. "location": [
  2103. {
  2104. "kind": "node",
  2105. "workflowId": "1",
  2106. "workflowName": "My Workflow",
  2107. "nodeId": "51eb5852-ce0b-4806-b4ff-e41322a4041a",
  2108. "nodeName": "MySQL",
  2109. "nodeType": "n8n-nodes-base.mySql"
  2110. }
  2111. ]
  2112. }
  2113. ]
  2114. }
  2115. },
  2116. "Filesystem Risk Report": {
  2117. "type": "object",
  2118. "example": {
  2119. "risk": "filesystem",
  2120. "sections": [
  2121. {
  2122. "title": "Nodes that interact with the filesystem",
  2123. "description": "This node reads from and writes to any accessible file in the host filesystem. Sensitive file content may be manipulated through a node operation.",
  2124. "recommendation": "Consider protecting any sensitive files in the host filesystem",
  2125. "or refactoring the workflow so that it does not require host filesystem interaction.": null,
  2126. "location": [
  2127. {
  2128. "kind": "node",
  2129. "workflowId": "1",
  2130. "workflowName": "My Workflow",
  2131. "nodeId": "51eb5852-ce0b-4806-b4ff-e41322a4041a",
  2132. "nodeName": "Ready Binary file",
  2133. "nodeType": "n8n-nodes-base.readBinaryFile"
  2134. }
  2135. ]
  2136. }
  2137. ]
  2138. }
  2139. },
  2140. "Nodes Risk Report": {
  2141. "type": "object",
  2142. "example": {
  2143. "risk": "nodes",
  2144. "sections": [
  2145. {
  2146. "title": "Community nodes",
  2147. "description": "This node is sourced from the community. Community nodes are not vetted by the n8n team and have full access to the host system.",
  2148. "recommendation": "Consider reviewing the source code in any community nodes installed in this n8n instance",
  2149. "and uninstalling any community nodes no longer used.": null,
  2150. "location": [
  2151. {
  2152. "kind": "community",
  2153. "nodeType": "n8n-nodes-test.test",
  2154. "packageUrl": "https://www.npmjs.com/package/n8n-nodes-test"
  2155. }
  2156. ]
  2157. }
  2158. ]
  2159. }
  2160. },
  2161. "Instance Risk Report": {
  2162. "type": "object",
  2163. "example": {
  2164. "risk": "execution",
  2165. "sections": [
  2166. {
  2167. "title": "Unprotected webhooks in instance",
  2168. "description": "These webhook nodes have the \"Authentication\" field set to \"None\" and are not directly connected to a node to validate the payload. Every unprotected webhook allows your workflow to be called by any third party who knows the webhook URL.",
  2169. "recommendation": "Consider setting the \"Authentication\" field to an option other than \"None\"",
  2170. "or validating the payload with one of the following nodes.": null,
  2171. "location": [
  2172. {
  2173. "kind": "community",
  2174. "nodeType": "n8n-nodes-test.test",
  2175. "packageUrl": "https://www.npmjs.com/package/n8n-nodes-test"
  2176. }
  2177. ]
  2178. }
  2179. ]
  2180. }
  2181. }
  2182. }
  2183. },
  2184. "credential": {
  2185. "required": [
  2186. "name",
  2187. "type",
  2188. "data"
  2189. ],
  2190. "type": "object",
  2191. "properties": {
  2192. "id": {
  2193. "type": "string",
  2194. "readOnly": true,
  2195. "example": "R2DjclaysHbqn778"
  2196. },
  2197. "name": {
  2198. "type": "string",
  2199. "example": "Joe's Github Credentials"
  2200. },
  2201. "type": {
  2202. "type": "string",
  2203. "example": "githubApi"
  2204. },
  2205. "data": {
  2206. "type": "object",
  2207. "writeOnly": true,
  2208. "example": {
  2209. "accessToken": "ada612vad6fa5df4adf5a5dsf4389adsf76da7s"
  2210. }
  2211. },
  2212. "isResolvable": {
  2213. "type": "boolean",
  2214. "example": false,
  2215. "description": "Whether this credential has resolvable fields"
  2216. },
  2217. "createdAt": {
  2218. "type": "string",
  2219. "format": "date-time",
  2220. "readOnly": true,
  2221. "example": "2022-04-29T11:02:29.842Z"
  2222. },
  2223. "updatedAt": {
  2224. "type": "string",
  2225. "format": "date-time",
  2226. "readOnly": true,
  2227. "example": "2022-04-29T11:02:29.842Z"
  2228. }
  2229. }
  2230. },
  2231. "create-credential-response": {
  2232. "required": [
  2233. "id",
  2234. "name",
  2235. "type",
  2236. "createdAt",
  2237. "updatedAt"
  2238. ],
  2239. "type": "object",
  2240. "properties": {
  2241. "id": {
  2242. "type": "string",
  2243. "readOnly": true,
  2244. "example": "vHxaz5UaCghVYl9C"
  2245. },
  2246. "name": {
  2247. "type": "string",
  2248. "example": "John's Github account"
  2249. },
  2250. "type": {
  2251. "type": "string",
  2252. "example": "githubApi"
  2253. },
  2254. "createdAt": {
  2255. "type": "string",
  2256. "format": "date-time",
  2257. "readOnly": true,
  2258. "example": "2022-04-29T11:02:29.842Z"
  2259. },
  2260. "updatedAt": {
  2261. "type": "string",
  2262. "format": "date-time",
  2263. "readOnly": true,
  2264. "example": "2022-04-29T11:02:29.842Z"
  2265. }
  2266. }
  2267. },
  2268. "update-credential-request": {
  2269. "type": "object",
  2270. "properties": {
  2271. "name": {
  2272. "type": "string",
  2273. "example": "Updated Credential Name",
  2274. "description": "The name of the credential"
  2275. },
  2276. "type": {
  2277. "type": "string",
  2278. "example": "githubApi",
  2279. "description": "The credential type. If changing type, data must also be provided."
  2280. },
  2281. "data": {
  2282. "type": "object",
  2283. "writeOnly": true,
  2284. "example": {
  2285. "accessToken": "new_token_value"
  2286. },
  2287. "description": "The credential data. Required when changing credential type."
  2288. },
  2289. "isGlobal": {
  2290. "type": "boolean",
  2291. "example": false,
  2292. "description": "Whether this credential is available globally"
  2293. },
  2294. "isResolvable": {
  2295. "type": "boolean",
  2296. "example": false,
  2297. "description": "Whether this credential has resolvable fields"
  2298. },
  2299. "isPartialData": {
  2300. "type": "boolean",
  2301. "example": false,
  2302. "default": false,
  2303. "description": "If true, unredacts and merges existing credential data with the provided data. If false, replaces the entire data object."
  2304. }
  2305. }
  2306. },
  2307. "execution": {
  2308. "type": "object",
  2309. "properties": {
  2310. "id": {
  2311. "type": "number",
  2312. "example": 1000
  2313. },
  2314. "data": {
  2315. "type": "object"
  2316. },
  2317. "finished": {
  2318. "type": "boolean",
  2319. "example": true
  2320. },
  2321. "mode": {
  2322. "type": "string",
  2323. "enum": [
  2324. "cli",
  2325. "error",
  2326. "integrated",
  2327. "internal",
  2328. "manual",
  2329. "retry",
  2330. "trigger",
  2331. "webhook",
  2332. "evaluation",
  2333. "chat"
  2334. ]
  2335. },
  2336. "retryOf": {
  2337. "type": "number",
  2338. "nullable": true
  2339. },
  2340. "retrySuccessId": {
  2341. "type": "number",
  2342. "nullable": true,
  2343. "example": "2"
  2344. },
  2345. "startedAt": {
  2346. "type": "string",
  2347. "format": "date-time"
  2348. },
  2349. "stoppedAt": {
  2350. "type": "string",
  2351. "format": "date-time",
  2352. "nullable": true,
  2353. "description": "The time at which the execution stopped. Will only be null for executions that still have the status 'running'."
  2354. },
  2355. "workflowId": {
  2356. "type": "number",
  2357. "example": "1000"
  2358. },
  2359. "waitTill": {
  2360. "type": "string",
  2361. "nullable": true,
  2362. "format": "date-time"
  2363. },
  2364. "customData": {
  2365. "type": "object"
  2366. },
  2367. "status": {
  2368. "type": "string",
  2369. "enum": [
  2370. "canceled",
  2371. "crashed",
  2372. "error",
  2373. "new",
  2374. "running",
  2375. "success",
  2376. "unknown",
  2377. "waiting"
  2378. ]
  2379. }
  2380. }
  2381. },
  2382. "executionList": {
  2383. "type": "object",
  2384. "properties": {
  2385. "data": {
  2386. "type": "array",
  2387. "items": {
  2388. "$ref": "#/components/schemas/execution"
  2389. }
  2390. },
  2391. "nextCursor": {
  2392. "type": "string",
  2393. "description": "Paginate through executions by setting the cursor parameter to a nextCursor attribute returned by a previous request. Default value fetches the first \"page\" of the collection.",
  2394. "nullable": true,
  2395. "example": "MTIzZTQ1NjctZTg5Yi0xMmQzLWE0NTYtNDI2NjE0MTc0MDA"
  2396. }
  2397. }
  2398. },
  2399. "tag": {
  2400. "type": "object",
  2401. "additionalProperties": false,
  2402. "required": [
  2403. "name"
  2404. ],
  2405. "properties": {
  2406. "id": {
  2407. "type": "string",
  2408. "readOnly": true,
  2409. "example": "2tUt1wbLX592XDdX"
  2410. },
  2411. "name": {
  2412. "type": "string",
  2413. "example": "Production"
  2414. },
  2415. "createdAt": {
  2416. "type": "string",
  2417. "format": "date-time",
  2418. "readOnly": true
  2419. },
  2420. "updatedAt": {
  2421. "type": "string",
  2422. "format": "date-time",
  2423. "readOnly": true
  2424. }
  2425. }
  2426. },
  2427. "tagList": {
  2428. "type": "object",
  2429. "properties": {
  2430. "data": {
  2431. "type": "array",
  2432. "items": {
  2433. "$ref": "#/components/schemas/tag"
  2434. }
  2435. },
  2436. "nextCursor": {
  2437. "type": "string",
  2438. "description": "Paginate through tags by setting the cursor parameter to a nextCursor attribute returned by a previous request. Default value fetches the first \"page\" of the collection.",
  2439. "nullable": true,
  2440. "example": "MTIzZTQ1NjctZTg5Yi0xMmQzLWE0NTYtNDI2NjE0MTc0MDA"
  2441. }
  2442. }
  2443. },
  2444. "node": {
  2445. "type": "object",
  2446. "additionalProperties": false,
  2447. "properties": {
  2448. "id": {
  2449. "type": "string",
  2450. "example": "0f5532f9-36ba-4bef-86c7-30d607400b15"
  2451. },
  2452. "name": {
  2453. "type": "string",
  2454. "example": "Jira"
  2455. },
  2456. "webhookId": {
  2457. "type": "string"
  2458. },
  2459. "disabled": {
  2460. "type": "boolean"
  2461. },
  2462. "notesInFlow": {
  2463. "type": "boolean"
  2464. },
  2465. "notes": {
  2466. "type": "string"
  2467. },
  2468. "type": {
  2469. "type": "string",
  2470. "example": "n8n-nodes-base.jira"
  2471. },
  2472. "typeVersion": {
  2473. "type": "number",
  2474. "example": 1
  2475. },
  2476. "executeOnce": {
  2477. "type": "boolean",
  2478. "example": false
  2479. },
  2480. "alwaysOutputData": {
  2481. "type": "boolean",
  2482. "example": false
  2483. },
  2484. "retryOnFail": {
  2485. "type": "boolean",
  2486. "example": false
  2487. },
  2488. "maxTries": {
  2489. "type": "number"
  2490. },
  2491. "waitBetweenTries": {
  2492. "type": "number"
  2493. },
  2494. "continueOnFail": {
  2495. "type": "boolean",
  2496. "example": false,
  2497. "description": "use onError instead",
  2498. "deprecated": true
  2499. },
  2500. "onError": {
  2501. "type": "string",
  2502. "example": "stopWorkflow"
  2503. },
  2504. "position": {
  2505. "type": "array",
  2506. "items": {
  2507. "type": "number"
  2508. },
  2509. "example": [
  2510. -100,
  2511. 80
  2512. ]
  2513. },
  2514. "parameters": {
  2515. "type": "object",
  2516. "additionalProperties": true,
  2517. "example": {
  2518. "additionalProperties": {}
  2519. }
  2520. },
  2521. "credentials": {
  2522. "type": "object",
  2523. "example": {
  2524. "jiraSoftwareCloudApi": {
  2525. "id": "35",
  2526. "name": "jiraApi"
  2527. }
  2528. }
  2529. },
  2530. "createdAt": {
  2531. "type": "string",
  2532. "format": "date-time",
  2533. "readOnly": true
  2534. },
  2535. "updatedAt": {
  2536. "type": "string",
  2537. "format": "date-time",
  2538. "readOnly": true
  2539. }
  2540. }
  2541. },
  2542. "workflowSettings": {
  2543. "type": "object",
  2544. "additionalProperties": false,
  2545. "properties": {
  2546. "saveExecutionProgress": {
  2547. "type": "boolean"
  2548. },
  2549. "saveManualExecutions": {
  2550. "type": "boolean"
  2551. },
  2552. "saveDataErrorExecution": {
  2553. "type": "string",
  2554. "enum": [
  2555. "all",
  2556. "none"
  2557. ]
  2558. },
  2559. "saveDataSuccessExecution": {
  2560. "type": "string",
  2561. "enum": [
  2562. "all",
  2563. "none"
  2564. ]
  2565. },
  2566. "executionTimeout": {
  2567. "type": "number",
  2568. "example": 3600,
  2569. "maxLength": 3600
  2570. },
  2571. "errorWorkflow": {
  2572. "type": "string",
  2573. "example": "VzqKEW0ShTXA5vPj",
  2574. "description": "The ID of the workflow that contains the error trigger node."
  2575. },
  2576. "timezone": {
  2577. "type": "string",
  2578. "example": "America/New_York"
  2579. },
  2580. "executionOrder": {
  2581. "type": "string",
  2582. "example": "v1"
  2583. },
  2584. "callerPolicy": {
  2585. "type": "string",
  2586. "enum": [
  2587. "any",
  2588. "none",
  2589. "workflowsFromAList",
  2590. "workflowsFromSameOwner"
  2591. ],
  2592. "default": "workflowsFromSameOwner",
  2593. "description": "Controls which workflows are allowed to call this workflow using the Execute Workflow node.\n\nAvailable options:\n- `any`: Any workflow can call this workflow (no restrictions)\n- `none`: No other workflows can call this workflow (completely blocked)\n- `workflowsFromSameOwner` (default): Only workflows owned by the same project can call this workflow\n * For personal projects: Only workflows created by the same user\n * For team projects: Only workflows within the same team project\n- `workflowsFromAList`: Only specific workflows listed in the `callerIds` field can call this workflow\n * Requires the `callerIds` field to specify which workflow IDs are allowed\n * See `callerIds` field documentation for usage\n",
  2594. "example": "workflowsFromSameOwner"
  2595. },
  2596. "callerIds": {
  2597. "type": "string",
  2598. "description": "Comma-separated list of workflow IDs allowed to call this workflow (only used with workflowsFromAList policy)",
  2599. "example": "14, 18, 23"
  2600. },
  2601. "timeSavedPerExecution": {
  2602. "type": "number",
  2603. "description": "Estimated time saved per execution in minutes"
  2604. },
  2605. "availableInMCP": {
  2606. "type": "boolean",
  2607. "default": false,
  2608. "description": "Controls whether this workflow is accessible via the Model Context Protocol (MCP).\n\nWhen enabled, this workflow can be called by MCP clients (AI assistants and other tools\nthat support MCP). This allows external AI tools to discover and execute this workflow\nas part of their capabilities.\n\nRequirements for enabling MCP access:\n- The workflow must be active (not deactivated)\n- The workflow must contain at least one active Webhook node\n- Only webhook-triggered workflows can be exposed via MCP\n\nSecurity note: When a workflow is available in MCP, it can be discovered and executed\nby any MCP client that has the appropriate API credentials for your n8n instance.\n",
  2609. "example": false
  2610. }
  2611. }
  2612. },
  2613. "sharedWorkflow": {
  2614. "type": "object",
  2615. "additionalProperties": false,
  2616. "properties": {
  2617. "role": {
  2618. "type": "string",
  2619. "example": "workflow:owner"
  2620. },
  2621. "workflowId": {
  2622. "type": "string",
  2623. "example": "2tUt1wbLX592XDdX"
  2624. },
  2625. "projectId": {
  2626. "type": "string",
  2627. "example": "2tUt1wbLX592XDdX"
  2628. },
  2629. "project": {
  2630. "type": "object",
  2631. "properties": {
  2632. "id": {
  2633. "type": "string",
  2634. "readOnly": true
  2635. },
  2636. "name": {
  2637. "type": "string"
  2638. },
  2639. "type": {
  2640. "type": "string",
  2641. "readOnly": true
  2642. }
  2643. }
  2644. },
  2645. "createdAt": {
  2646. "type": "string",
  2647. "format": "date-time",
  2648. "readOnly": true
  2649. },
  2650. "updatedAt": {
  2651. "type": "string",
  2652. "format": "date-time",
  2653. "readOnly": true
  2654. }
  2655. }
  2656. },
  2657. "activeVersion": {
  2658. "type": "object",
  2659. "readOnly": true,
  2660. "nullable": true,
  2661. "additionalProperties": false,
  2662. "properties": {
  2663. "versionId": {
  2664. "type": "string",
  2665. "readOnly": true,
  2666. "description": "Unique identifier for this workflow version",
  2667. "example": "7c6b9e3f-8d4a-4b2c-9f1e-6a5d3b8c7e4f"
  2668. },
  2669. "workflowId": {
  2670. "type": "string",
  2671. "readOnly": true,
  2672. "description": "The workflow this version belongs to",
  2673. "example": "2tUt1wbLX592XDdX"
  2674. },
  2675. "nodes": {
  2676. "type": "array",
  2677. "readOnly": true,
  2678. "items": {
  2679. "$ref": "#/components/schemas/node"
  2680. }
  2681. },
  2682. "connections": {
  2683. "type": "object",
  2684. "readOnly": true,
  2685. "example": {
  2686. "Jira": {
  2687. "main": [
  2688. [
  2689. {
  2690. "node": "Jira",
  2691. "type": "main",
  2692. "index": 0
  2693. }
  2694. ]
  2695. ]
  2696. }
  2697. }
  2698. },
  2699. "authors": {
  2700. "type": "string",
  2701. "readOnly": true,
  2702. "description": "Comma-separated list of author IDs who contributed to this version",
  2703. "example": "1,2,3"
  2704. },
  2705. "createdAt": {
  2706. "type": "string",
  2707. "format": "date-time",
  2708. "readOnly": true
  2709. },
  2710. "updatedAt": {
  2711. "type": "string",
  2712. "format": "date-time",
  2713. "readOnly": true
  2714. }
  2715. }
  2716. },
  2717. "workflow": {
  2718. "type": "object",
  2719. "additionalProperties": false,
  2720. "required": [
  2721. "name",
  2722. "nodes",
  2723. "connections",
  2724. "settings"
  2725. ],
  2726. "properties": {
  2727. "id": {
  2728. "type": "string",
  2729. "readOnly": true,
  2730. "example": "2tUt1wbLX592XDdX"
  2731. },
  2732. "name": {
  2733. "type": "string",
  2734. "example": "Workflow 1"
  2735. },
  2736. "active": {
  2737. "type": "boolean",
  2738. "readOnly": true
  2739. },
  2740. "createdAt": {
  2741. "type": "string",
  2742. "format": "date-time",
  2743. "readOnly": true
  2744. },
  2745. "updatedAt": {
  2746. "type": "string",
  2747. "format": "date-time",
  2748. "readOnly": true
  2749. },
  2750. "nodes": {
  2751. "type": "array",
  2752. "items": {
  2753. "$ref": "#/components/schemas/node"
  2754. }
  2755. },
  2756. "connections": {
  2757. "type": "object",
  2758. "example": {
  2759. "Jira": {
  2760. "main": [
  2761. [
  2762. {
  2763. "node": "Jira",
  2764. "type": "main",
  2765. "index": 0
  2766. }
  2767. ]
  2768. ]
  2769. }
  2770. }
  2771. },
  2772. "settings": {
  2773. "$ref": "#/components/schemas/workflowSettings"
  2774. },
  2775. "staticData": {
  2776. "example": {
  2777. "lastId": 1
  2778. },
  2779. "anyOf": [
  2780. {
  2781. "type": "string",
  2782. "format": "jsonString",
  2783. "nullable": true
  2784. },
  2785. {
  2786. "type": "object",
  2787. "nullable": true
  2788. }
  2789. ]
  2790. },
  2791. "tags": {
  2792. "type": "array",
  2793. "items": {
  2794. "$ref": "#/components/schemas/tag"
  2795. },
  2796. "readOnly": true
  2797. },
  2798. "shared": {
  2799. "type": "array",
  2800. "items": {
  2801. "$ref": "#/components/schemas/sharedWorkflow"
  2802. }
  2803. },
  2804. "activeVersion": {
  2805. "$ref": "#/components/schemas/activeVersion"
  2806. }
  2807. }
  2808. },
  2809. "workflowList": {
  2810. "type": "object",
  2811. "properties": {
  2812. "data": {
  2813. "type": "array",
  2814. "items": {
  2815. "$ref": "#/components/schemas/workflow"
  2816. }
  2817. },
  2818. "nextCursor": {
  2819. "type": "string",
  2820. "description": "Paginate through workflows by setting the cursor parameter to a nextCursor attribute returned by a previous request. Default value fetches the first \"page\" of the collection.",
  2821. "nullable": true,
  2822. "example": "MTIzZTQ1NjctZTg5Yi0xMmQzLWE0NTYtNDI2NjE0MTc0MDA"
  2823. }
  2824. }
  2825. },
  2826. "workflowVersion": {
  2827. "type": "object",
  2828. "additionalProperties": false,
  2829. "required": [
  2830. "versionId",
  2831. "workflowId",
  2832. "nodes",
  2833. "connections",
  2834. "authors"
  2835. ],
  2836. "properties": {
  2837. "versionId": {
  2838. "type": "string",
  2839. "readOnly": true,
  2840. "description": "The version ID of this workflow snapshot",
  2841. "example": "abc123-def456"
  2842. },
  2843. "workflowId": {
  2844. "type": "string",
  2845. "readOnly": true,
  2846. "description": "The workflow ID this version belongs to",
  2847. "example": "2tUt1wbLX592XDdX"
  2848. },
  2849. "nodes": {
  2850. "type": "array",
  2851. "items": {
  2852. "$ref": "#/components/schemas/node"
  2853. },
  2854. "description": "Nodes as they were in this version",
  2855. "readOnly": true
  2856. },
  2857. "connections": {
  2858. "type": "object",
  2859. "example": {
  2860. "Jira": {
  2861. "main": [
  2862. [
  2863. {
  2864. "node": "Jira",
  2865. "type": "main",
  2866. "index": 0
  2867. }
  2868. ]
  2869. ]
  2870. }
  2871. },
  2872. "description": "Connections as they were in this version",
  2873. "readOnly": true
  2874. },
  2875. "authors": {
  2876. "type": "string",
  2877. "readOnly": true,
  2878. "description": "Authors who created this version",
  2879. "example": "John Doe"
  2880. },
  2881. "name": {
  2882. "type": "string",
  2883. "nullable": true,
  2884. "description": "Workflow name at this version",
  2885. "example": "Workflow 1"
  2886. },
  2887. "description": {
  2888. "type": "string",
  2889. "nullable": true,
  2890. "description": "Workflow description at this version"
  2891. },
  2892. "createdAt": {
  2893. "type": "string",
  2894. "format": "date-time",
  2895. "readOnly": true,
  2896. "description": "When this version was created"
  2897. },
  2898. "updatedAt": {
  2899. "type": "string",
  2900. "format": "date-time",
  2901. "readOnly": true,
  2902. "description": "When this version was last updated"
  2903. }
  2904. }
  2905. },
  2906. "workflowTags": {
  2907. "type": "array",
  2908. "items": {
  2909. "$ref": "#/components/schemas/tag"
  2910. }
  2911. },
  2912. "tagIds": {
  2913. "type": "array",
  2914. "items": {
  2915. "type": "object",
  2916. "additionalProperties": false,
  2917. "required": [
  2918. "id"
  2919. ],
  2920. "properties": {
  2921. "id": {
  2922. "type": "string",
  2923. "example": "2tUt1wbLX592XDdX"
  2924. }
  2925. }
  2926. }
  2927. },
  2928. "user": {
  2929. "required": [
  2930. "email"
  2931. ],
  2932. "type": "object",
  2933. "properties": {
  2934. "id": {
  2935. "type": "string",
  2936. "readOnly": true,
  2937. "example": "123e4567-e89b-12d3-a456-426614174000"
  2938. },
  2939. "email": {
  2940. "type": "string",
  2941. "format": "email",
  2942. "example": "john.doe@company.com"
  2943. },
  2944. "firstName": {
  2945. "maxLength": 32,
  2946. "type": "string",
  2947. "description": "User's first name",
  2948. "readOnly": true,
  2949. "example": "john"
  2950. },
  2951. "lastName": {
  2952. "maxLength": 32,
  2953. "type": "string",
  2954. "description": "User's last name",
  2955. "readOnly": true,
  2956. "example": "Doe"
  2957. },
  2958. "isPending": {
  2959. "type": "boolean",
  2960. "description": "Whether the user finished setting up their account in response to the invitation (true) or not (false).",
  2961. "readOnly": true
  2962. },
  2963. "createdAt": {
  2964. "type": "string",
  2965. "description": "Time the user was created.",
  2966. "format": "date-time",
  2967. "readOnly": true
  2968. },
  2969. "updatedAt": {
  2970. "type": "string",
  2971. "description": "Last time the user was updated.",
  2972. "format": "date-time",
  2973. "readOnly": true
  2974. },
  2975. "role": {
  2976. "type": "string",
  2977. "example": "global:owner",
  2978. "readOnly": true
  2979. }
  2980. }
  2981. },
  2982. "userList": {
  2983. "type": "object",
  2984. "properties": {
  2985. "data": {
  2986. "type": "array",
  2987. "items": {
  2988. "$ref": "#/components/schemas/user"
  2989. }
  2990. },
  2991. "nextCursor": {
  2992. "type": "string",
  2993. "description": "Paginate through users by setting the cursor parameter to a nextCursor attribute returned by a previous request. Default value fetches the first \"page\" of the collection.",
  2994. "nullable": true,
  2995. "example": "MTIzZTQ1NjctZTg5Yi0xMmQzLWE0NTYtNDI2NjE0MTc0MDA"
  2996. }
  2997. }
  2998. },
  2999. "pull": {
  3000. "type": "object",
  3001. "properties": {
  3002. "force": {
  3003. "type": "boolean",
  3004. "example": true
  3005. },
  3006. "variables": {
  3007. "type": "object",
  3008. "example": {
  3009. "foo": "bar"
  3010. }
  3011. }
  3012. }
  3013. },
  3014. "importResult": {
  3015. "type": "object",
  3016. "additionalProperties": true,
  3017. "properties": {
  3018. "variables": {
  3019. "type": "object",
  3020. "properties": {
  3021. "added": {
  3022. "type": "array",
  3023. "items": {
  3024. "type": "string"
  3025. }
  3026. },
  3027. "changed": {
  3028. "type": "array",
  3029. "items": {
  3030. "type": "string"
  3031. }
  3032. }
  3033. }
  3034. },
  3035. "credentials": {
  3036. "type": "array",
  3037. "items": {
  3038. "type": "object",
  3039. "properties": {
  3040. "id": {
  3041. "type": "string"
  3042. },
  3043. "name": {
  3044. "type": "string"
  3045. },
  3046. "type": {
  3047. "type": "string"
  3048. }
  3049. }
  3050. }
  3051. },
  3052. "workflows": {
  3053. "type": "array",
  3054. "items": {
  3055. "type": "object",
  3056. "properties": {
  3057. "id": {
  3058. "type": "string"
  3059. },
  3060. "name": {
  3061. "type": "string"
  3062. }
  3063. }
  3064. }
  3065. },
  3066. "tags": {
  3067. "type": "object",
  3068. "properties": {
  3069. "tags": {
  3070. "type": "array",
  3071. "items": {
  3072. "type": "object",
  3073. "properties": {
  3074. "id": {
  3075. "type": "string"
  3076. },
  3077. "name": {
  3078. "type": "string"
  3079. }
  3080. }
  3081. }
  3082. },
  3083. "mappings": {
  3084. "type": "array",
  3085. "items": {
  3086. "type": "object",
  3087. "properties": {
  3088. "workflowId": {
  3089. "type": "string"
  3090. },
  3091. "tagId": {
  3092. "type": "string"
  3093. }
  3094. }
  3095. }
  3096. }
  3097. }
  3098. }
  3099. }
  3100. },
  3101. "project": {
  3102. "type": "object",
  3103. "additionalProperties": false,
  3104. "required": [
  3105. "name"
  3106. ],
  3107. "properties": {
  3108. "id": {
  3109. "type": "string",
  3110. "readOnly": true
  3111. },
  3112. "name": {
  3113. "type": "string"
  3114. },
  3115. "type": {
  3116. "type": "string",
  3117. "readOnly": true
  3118. }
  3119. }
  3120. },
  3121. "variable": {
  3122. "type": "object",
  3123. "additionalProperties": false,
  3124. "required": [
  3125. "key",
  3126. "value"
  3127. ],
  3128. "properties": {
  3129. "id": {
  3130. "type": "string",
  3131. "readOnly": true
  3132. },
  3133. "key": {
  3134. "type": "string"
  3135. },
  3136. "value": {
  3137. "type": "string",
  3138. "example": "test"
  3139. },
  3140. "type": {
  3141. "type": "string",
  3142. "readOnly": true
  3143. },
  3144. "project": {
  3145. "$ref": "#/components/schemas/project"
  3146. }
  3147. }
  3148. },
  3149. "variableList": {
  3150. "type": "object",
  3151. "properties": {
  3152. "data": {
  3153. "type": "array",
  3154. "items": {
  3155. "$ref": "#/components/schemas/variable"
  3156. }
  3157. },
  3158. "nextCursor": {
  3159. "type": "string",
  3160. "description": "Paginate through variables by setting the cursor parameter to a nextCursor attribute returned by a previous request. Default value fetches the first \"page\" of the collection.",
  3161. "nullable": true,
  3162. "example": "MTIzZTQ1NjctZTg5Yi0xMmQzLWE0NTYtNDI2NjE0MTc0MDA"
  3163. }
  3164. }
  3165. },
  3166. "variable.create": {
  3167. "type": "object",
  3168. "additionalProperties": false,
  3169. "required": [
  3170. "key",
  3171. "value"
  3172. ],
  3173. "properties": {
  3174. "id": {
  3175. "type": "string",
  3176. "readOnly": true
  3177. },
  3178. "key": {
  3179. "type": "string"
  3180. },
  3181. "value": {
  3182. "type": "string",
  3183. "example": "test"
  3184. },
  3185. "type": {
  3186. "type": "string",
  3187. "readOnly": true
  3188. },
  3189. "projectId": {
  3190. "type": "string",
  3191. "example": "VmwOO9HeTEj20kxM",
  3192. "nullable": true
  3193. }
  3194. }
  3195. },
  3196. "projectList": {
  3197. "type": "object",
  3198. "properties": {
  3199. "data": {
  3200. "type": "array",
  3201. "items": {
  3202. "$ref": "#/components/schemas/project"
  3203. }
  3204. },
  3205. "nextCursor": {
  3206. "type": "string",
  3207. "description": "Paginate through projects by setting the cursor parameter to a nextCursor attribute returned by a previous request. Default value fetches the first \"page\" of the collection.",
  3208. "nullable": true,
  3209. "example": "MTIzZTQ1NjctZTg5Yi0xMmQzLWE0NTYtNDI2NjE0MTc0MDA"
  3210. }
  3211. }
  3212. },
  3213. "error": {
  3214. "required": [
  3215. "message"
  3216. ],
  3217. "type": "object",
  3218. "properties": {
  3219. "code": {
  3220. "type": "string"
  3221. },
  3222. "message": {
  3223. "type": "string"
  3224. },
  3225. "description": {
  3226. "type": "string"
  3227. }
  3228. }
  3229. },
  3230. "role": {
  3231. "readOnly": true,
  3232. "type": "object",
  3233. "properties": {
  3234. "id": {
  3235. "type": "number",
  3236. "readOnly": true,
  3237. "example": 1
  3238. },
  3239. "name": {
  3240. "type": "string",
  3241. "example": "owner",
  3242. "readOnly": true
  3243. },
  3244. "scope": {
  3245. "type": "string",
  3246. "readOnly": true,
  3247. "example": "global"
  3248. },
  3249. "createdAt": {
  3250. "type": "string",
  3251. "description": "Time the role was created.",
  3252. "format": "date-time",
  3253. "readOnly": true
  3254. },
  3255. "updatedAt": {
  3256. "type": "string",
  3257. "description": "Last time the role was updated.",
  3258. "format": "date-time",
  3259. "readOnly": true
  3260. }
  3261. }
  3262. },
  3263. "credentialType": {
  3264. "type": "object",
  3265. "properties": {
  3266. "displayName": {
  3267. "type": "string",
  3268. "readOnly": true,
  3269. "example": "Email"
  3270. },
  3271. "name": {
  3272. "type": "string",
  3273. "readOnly": true,
  3274. "example": "email"
  3275. },
  3276. "type": {
  3277. "type": "string",
  3278. "readOnly": true,
  3279. "example": "string"
  3280. },
  3281. "default": {
  3282. "type": "string",
  3283. "readOnly": true,
  3284. "example": "string"
  3285. }
  3286. }
  3287. },
  3288. "Error": {
  3289. "$ref": "#/components/schemas/error"
  3290. },
  3291. "Role": {
  3292. "$ref": "#/components/schemas/role"
  3293. },
  3294. "Execution": {
  3295. "$ref": "#/components/schemas/execution"
  3296. },
  3297. "Node": {
  3298. "$ref": "#/components/schemas/node"
  3299. },
  3300. "Tag": {
  3301. "$ref": "#/components/schemas/tag"
  3302. },
  3303. "Workflow": {
  3304. "$ref": "#/components/schemas/workflow"
  3305. },
  3306. "WorkflowSettings": {
  3307. "$ref": "#/components/schemas/workflowSettings"
  3308. },
  3309. "ExecutionList": {
  3310. "$ref": "#/components/schemas/executionList"
  3311. },
  3312. "WorkflowList": {
  3313. "$ref": "#/components/schemas/workflowList"
  3314. },
  3315. "Credential": {
  3316. "$ref": "#/components/schemas/credential"
  3317. },
  3318. "CredentialType": {
  3319. "$ref": "#/components/schemas/credentialType"
  3320. },
  3321. "Audit": {
  3322. "$ref": "#/components/schemas/audit"
  3323. },
  3324. "Pull": {
  3325. "$ref": "#/components/schemas/pull"
  3326. },
  3327. "ImportResult": {
  3328. "$ref": "#/components/schemas/importResult"
  3329. },
  3330. "UserList": {
  3331. "$ref": "#/components/schemas/userList"
  3332. },
  3333. "User": {
  3334. "$ref": "#/components/schemas/user"
  3335. }
  3336. },
  3337. "responses": {
  3338. "unauthorized": {
  3339. "description": "Unauthorized"
  3340. },
  3341. "notFound": {
  3342. "description": "The specified resource was not found."
  3343. },
  3344. "badRequest": {
  3345. "description": "The request is invalid or provides malformed data."
  3346. },
  3347. "conflict": {
  3348. "description": "Conflict"
  3349. },
  3350. "forbidden": {
  3351. "description": "Forbidden"
  3352. },
  3353. "NotFound": {
  3354. "$ref": "#/components/responses/notFound"
  3355. },
  3356. "Unauthorized": {
  3357. "$ref": "#/components/responses/unauthorized"
  3358. },
  3359. "BadRequest": {
  3360. "$ref": "#/components/responses/badRequest"
  3361. },
  3362. "Conflict": {
  3363. "$ref": "#/components/responses/conflict"
  3364. },
  3365. "Forbidden": {
  3366. "$ref": "#/components/responses/forbidden"
  3367. }
  3368. },
  3369. "parameters": {
  3370. "credentialId": {
  3371. "name": "id",
  3372. "in": "path",
  3373. "description": "The ID of the credential.",
  3374. "required": true,
  3375. "schema": {
  3376. "type": "string"
  3377. }
  3378. },
  3379. "includeData": {
  3380. "name": "includeData",
  3381. "in": "query",
  3382. "description": "Whether or not to include the execution's detailed data.",
  3383. "required": false,
  3384. "schema": {
  3385. "type": "boolean"
  3386. }
  3387. },
  3388. "limit": {
  3389. "name": "limit",
  3390. "in": "query",
  3391. "description": "The maximum number of items to return.",
  3392. "required": false,
  3393. "schema": {
  3394. "type": "number",
  3395. "example": 100,
  3396. "default": 100,
  3397. "maximum": 250
  3398. }
  3399. },
  3400. "cursor": {
  3401. "name": "cursor",
  3402. "in": "query",
  3403. "description": "Paginate by setting the cursor parameter to the nextCursor attribute returned by the previous request's response. Default value fetches the first \"page\" of the collection. See pagination for more detail.",
  3404. "required": false,
  3405. "style": "form",
  3406. "schema": {
  3407. "type": "string"
  3408. }
  3409. },
  3410. "executionId": {
  3411. "name": "id",
  3412. "in": "path",
  3413. "description": "The ID of the execution.",
  3414. "required": true,
  3415. "schema": {
  3416. "type": "number"
  3417. }
  3418. },
  3419. "tagId": {
  3420. "name": "id",
  3421. "in": "path",
  3422. "description": "The ID of the tag.",
  3423. "required": true,
  3424. "schema": {
  3425. "type": "string"
  3426. }
  3427. },
  3428. "workflowId": {
  3429. "name": "id",
  3430. "in": "path",
  3431. "description": "The ID of the workflow.",
  3432. "required": true,
  3433. "schema": {
  3434. "type": "string"
  3435. }
  3436. },
  3437. "includeRole": {
  3438. "name": "includeRole",
  3439. "in": "query",
  3440. "description": "Whether to include the user's role or not.",
  3441. "required": false,
  3442. "schema": {
  3443. "type": "boolean",
  3444. "example": true,
  3445. "default": false
  3446. }
  3447. },
  3448. "userIdentifier": {
  3449. "name": "id",
  3450. "in": "path",
  3451. "description": "The ID or email of the user.",
  3452. "required": true,
  3453. "schema": {
  3454. "type": "string",
  3455. "format": "identifier"
  3456. }
  3457. },
  3458. "variableId": {
  3459. "name": "id",
  3460. "in": "path",
  3461. "description": "The ID of the variable.",
  3462. "required": true,
  3463. "schema": {
  3464. "type": "string"
  3465. }
  3466. },
  3467. "Cursor": {
  3468. "$ref": "#/components/parameters/cursor"
  3469. },
  3470. "Limit": {
  3471. "$ref": "#/components/parameters/limit"
  3472. },
  3473. "ExecutionId": {
  3474. "$ref": "#/components/parameters/executionId"
  3475. },
  3476. "WorkflowId": {
  3477. "$ref": "#/components/parameters/workflowId"
  3478. },
  3479. "TagId": {
  3480. "$ref": "#/components/parameters/tagId"
  3481. },
  3482. "IncludeData": {
  3483. "$ref": "#/components/parameters/includeData"
  3484. },
  3485. "UserIdentifier": {
  3486. "$ref": "#/components/parameters/userIdentifier"
  3487. },
  3488. "IncludeRole": {
  3489. "$ref": "#/components/parameters/includeRole"
  3490. },
  3491. "VariableId": {
  3492. "$ref": "#/components/parameters/variableId"
  3493. }
  3494. },
  3495. "securitySchemes": {
  3496. "ApiKeyAuth": {
  3497. "type": "apiKey",
  3498. "in": "header",
  3499. "name": "X-N8N-API-KEY"
  3500. }
  3501. }
  3502. }
  3503. }