openapi-administration.json 60 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424
  1. {
  2. "openapi": "3.0.3",
  3. "info": {
  4. "title": "provisioning_api-administration",
  5. "version": "0.0.1",
  6. "description": "This application enables a set of APIs that external systems can use to manage accounts, groups and apps.",
  7. "license": {
  8. "name": "agpl"
  9. }
  10. },
  11. "components": {
  12. "securitySchemes": {
  13. "basic_auth": {
  14. "type": "http",
  15. "scheme": "basic"
  16. },
  17. "bearer_auth": {
  18. "type": "http",
  19. "scheme": "bearer"
  20. }
  21. },
  22. "schemas": {
  23. "Capabilities": {
  24. "type": "object",
  25. "required": [
  26. "provisioning_api"
  27. ],
  28. "properties": {
  29. "provisioning_api": {
  30. "type": "object",
  31. "required": [
  32. "version",
  33. "AccountPropertyScopesVersion",
  34. "AccountPropertyScopesFederatedEnabled",
  35. "AccountPropertyScopesPublishedEnabled"
  36. ],
  37. "properties": {
  38. "version": {
  39. "type": "string"
  40. },
  41. "AccountPropertyScopesVersion": {
  42. "type": "integer",
  43. "format": "int64"
  44. },
  45. "AccountPropertyScopesFederatedEnabled": {
  46. "type": "boolean"
  47. },
  48. "AccountPropertyScopesPublishedEnabled": {
  49. "type": "boolean"
  50. }
  51. }
  52. }
  53. }
  54. },
  55. "OCSMeta": {
  56. "type": "object",
  57. "required": [
  58. "status",
  59. "statuscode"
  60. ],
  61. "properties": {
  62. "status": {
  63. "type": "string"
  64. },
  65. "statuscode": {
  66. "type": "integer"
  67. },
  68. "message": {
  69. "type": "string"
  70. },
  71. "totalitems": {
  72. "type": "string"
  73. },
  74. "itemsperpage": {
  75. "type": "string"
  76. }
  77. }
  78. }
  79. }
  80. },
  81. "paths": {
  82. "/ocs/v2.php/cloud/apps": {
  83. "get": {
  84. "operationId": "apps-get-apps",
  85. "summary": "Get a list of installed apps",
  86. "description": "This endpoint requires admin access",
  87. "tags": [
  88. "apps"
  89. ],
  90. "security": [
  91. {
  92. "bearer_auth": []
  93. },
  94. {
  95. "basic_auth": []
  96. }
  97. ],
  98. "requestBody": {
  99. "required": false,
  100. "content": {
  101. "application/json": {
  102. "schema": {
  103. "type": "object",
  104. "properties": {
  105. "filter": {
  106. "type": "string",
  107. "nullable": true,
  108. "description": "Filter for enabled or disabled apps"
  109. }
  110. }
  111. }
  112. }
  113. }
  114. },
  115. "parameters": [
  116. {
  117. "name": "OCS-APIRequest",
  118. "in": "header",
  119. "description": "Required to be true for the API request to pass",
  120. "required": true,
  121. "schema": {
  122. "type": "boolean",
  123. "default": true
  124. }
  125. }
  126. ],
  127. "responses": {
  128. "200": {
  129. "description": "Installed apps returned",
  130. "content": {
  131. "application/json": {
  132. "schema": {
  133. "type": "object",
  134. "required": [
  135. "ocs"
  136. ],
  137. "properties": {
  138. "ocs": {
  139. "type": "object",
  140. "required": [
  141. "meta",
  142. "data"
  143. ],
  144. "properties": {
  145. "meta": {
  146. "$ref": "#/components/schemas/OCSMeta"
  147. },
  148. "data": {
  149. "type": "object",
  150. "required": [
  151. "apps"
  152. ],
  153. "properties": {
  154. "apps": {
  155. "type": "array",
  156. "items": {
  157. "type": "string"
  158. }
  159. }
  160. }
  161. }
  162. }
  163. }
  164. }
  165. }
  166. }
  167. }
  168. }
  169. }
  170. }
  171. },
  172. "/ocs/v2.php/cloud/apps/{app}": {
  173. "get": {
  174. "operationId": "apps-get-app-info",
  175. "summary": "Get the app info for an app",
  176. "description": "This endpoint requires admin access",
  177. "tags": [
  178. "apps"
  179. ],
  180. "security": [
  181. {
  182. "bearer_auth": []
  183. },
  184. {
  185. "basic_auth": []
  186. }
  187. ],
  188. "parameters": [
  189. {
  190. "name": "app",
  191. "in": "path",
  192. "description": "ID of the app",
  193. "required": true,
  194. "schema": {
  195. "type": "string"
  196. }
  197. },
  198. {
  199. "name": "OCS-APIRequest",
  200. "in": "header",
  201. "description": "Required to be true for the API request to pass",
  202. "required": true,
  203. "schema": {
  204. "type": "boolean",
  205. "default": true
  206. }
  207. }
  208. ],
  209. "responses": {
  210. "200": {
  211. "description": "App info returned",
  212. "content": {
  213. "application/json": {
  214. "schema": {
  215. "type": "object",
  216. "required": [
  217. "ocs"
  218. ],
  219. "properties": {
  220. "ocs": {
  221. "type": "object",
  222. "required": [
  223. "meta",
  224. "data"
  225. ],
  226. "properties": {
  227. "meta": {
  228. "$ref": "#/components/schemas/OCSMeta"
  229. },
  230. "data": {
  231. "type": "object",
  232. "additionalProperties": {
  233. "type": "object",
  234. "nullable": true
  235. }
  236. }
  237. }
  238. }
  239. }
  240. }
  241. }
  242. }
  243. }
  244. }
  245. },
  246. "post": {
  247. "operationId": "apps-enable",
  248. "summary": "Enable an app",
  249. "description": "This endpoint requires admin access\nThis endpoint requires password confirmation",
  250. "tags": [
  251. "apps"
  252. ],
  253. "security": [
  254. {
  255. "bearer_auth": []
  256. },
  257. {
  258. "basic_auth": []
  259. }
  260. ],
  261. "parameters": [
  262. {
  263. "name": "app",
  264. "in": "path",
  265. "description": "ID of the app",
  266. "required": true,
  267. "schema": {
  268. "type": "string"
  269. }
  270. },
  271. {
  272. "name": "OCS-APIRequest",
  273. "in": "header",
  274. "description": "Required to be true for the API request to pass",
  275. "required": true,
  276. "schema": {
  277. "type": "boolean",
  278. "default": true
  279. }
  280. }
  281. ],
  282. "responses": {
  283. "200": {
  284. "description": "App enabled successfully",
  285. "content": {
  286. "application/json": {
  287. "schema": {
  288. "type": "object",
  289. "required": [
  290. "ocs"
  291. ],
  292. "properties": {
  293. "ocs": {
  294. "type": "object",
  295. "required": [
  296. "meta",
  297. "data"
  298. ],
  299. "properties": {
  300. "meta": {
  301. "$ref": "#/components/schemas/OCSMeta"
  302. },
  303. "data": {}
  304. }
  305. }
  306. }
  307. }
  308. }
  309. }
  310. }
  311. }
  312. },
  313. "delete": {
  314. "operationId": "apps-disable",
  315. "summary": "Disable an app",
  316. "description": "This endpoint requires admin access\nThis endpoint requires password confirmation",
  317. "tags": [
  318. "apps"
  319. ],
  320. "security": [
  321. {
  322. "bearer_auth": []
  323. },
  324. {
  325. "basic_auth": []
  326. }
  327. ],
  328. "parameters": [
  329. {
  330. "name": "app",
  331. "in": "path",
  332. "description": "ID of the app",
  333. "required": true,
  334. "schema": {
  335. "type": "string"
  336. }
  337. },
  338. {
  339. "name": "OCS-APIRequest",
  340. "in": "header",
  341. "description": "Required to be true for the API request to pass",
  342. "required": true,
  343. "schema": {
  344. "type": "boolean",
  345. "default": true
  346. }
  347. }
  348. ],
  349. "responses": {
  350. "200": {
  351. "description": "App disabled successfully",
  352. "content": {
  353. "application/json": {
  354. "schema": {
  355. "type": "object",
  356. "required": [
  357. "ocs"
  358. ],
  359. "properties": {
  360. "ocs": {
  361. "type": "object",
  362. "required": [
  363. "meta",
  364. "data"
  365. ],
  366. "properties": {
  367. "meta": {
  368. "$ref": "#/components/schemas/OCSMeta"
  369. },
  370. "data": {}
  371. }
  372. }
  373. }
  374. }
  375. }
  376. }
  377. }
  378. }
  379. }
  380. },
  381. "/ocs/v2.php/cloud/groups/{groupId}/subadmins": {
  382. "get": {
  383. "operationId": "groups-get-sub-admins-of-group",
  384. "summary": "Get the list of user IDs that are a subadmin of the group",
  385. "description": "This endpoint requires admin access",
  386. "tags": [
  387. "groups"
  388. ],
  389. "security": [
  390. {
  391. "bearer_auth": []
  392. },
  393. {
  394. "basic_auth": []
  395. }
  396. ],
  397. "parameters": [
  398. {
  399. "name": "groupId",
  400. "in": "path",
  401. "description": "ID of the group",
  402. "required": true,
  403. "schema": {
  404. "type": "string",
  405. "pattern": "^.+$"
  406. }
  407. },
  408. {
  409. "name": "OCS-APIRequest",
  410. "in": "header",
  411. "description": "Required to be true for the API request to pass",
  412. "required": true,
  413. "schema": {
  414. "type": "boolean",
  415. "default": true
  416. }
  417. }
  418. ],
  419. "responses": {
  420. "200": {
  421. "description": "Sub admins returned",
  422. "content": {
  423. "application/json": {
  424. "schema": {
  425. "type": "object",
  426. "required": [
  427. "ocs"
  428. ],
  429. "properties": {
  430. "ocs": {
  431. "type": "object",
  432. "required": [
  433. "meta",
  434. "data"
  435. ],
  436. "properties": {
  437. "meta": {
  438. "$ref": "#/components/schemas/OCSMeta"
  439. },
  440. "data": {
  441. "type": "array",
  442. "items": {
  443. "type": "string"
  444. }
  445. }
  446. }
  447. }
  448. }
  449. }
  450. }
  451. }
  452. }
  453. }
  454. }
  455. },
  456. "/ocs/v2.php/cloud/groups": {
  457. "post": {
  458. "operationId": "groups-add-group",
  459. "summary": "Create a new group",
  460. "description": "This endpoint requires admin access\nThis endpoint requires password confirmation",
  461. "tags": [
  462. "groups"
  463. ],
  464. "security": [
  465. {
  466. "bearer_auth": []
  467. },
  468. {
  469. "basic_auth": []
  470. }
  471. ],
  472. "requestBody": {
  473. "required": true,
  474. "content": {
  475. "application/json": {
  476. "schema": {
  477. "type": "object",
  478. "required": [
  479. "groupid"
  480. ],
  481. "properties": {
  482. "groupid": {
  483. "type": "string",
  484. "description": "ID of the group"
  485. },
  486. "displayname": {
  487. "type": "string",
  488. "default": "",
  489. "description": "Display name of the group"
  490. }
  491. }
  492. }
  493. }
  494. }
  495. },
  496. "parameters": [
  497. {
  498. "name": "OCS-APIRequest",
  499. "in": "header",
  500. "description": "Required to be true for the API request to pass",
  501. "required": true,
  502. "schema": {
  503. "type": "boolean",
  504. "default": true
  505. }
  506. }
  507. ],
  508. "responses": {
  509. "200": {
  510. "description": "Group created successfully",
  511. "content": {
  512. "application/json": {
  513. "schema": {
  514. "type": "object",
  515. "required": [
  516. "ocs"
  517. ],
  518. "properties": {
  519. "ocs": {
  520. "type": "object",
  521. "required": [
  522. "meta",
  523. "data"
  524. ],
  525. "properties": {
  526. "meta": {
  527. "$ref": "#/components/schemas/OCSMeta"
  528. },
  529. "data": {}
  530. }
  531. }
  532. }
  533. }
  534. }
  535. }
  536. }
  537. }
  538. }
  539. },
  540. "/ocs/v2.php/cloud/groups/{groupId}": {
  541. "put": {
  542. "operationId": "groups-update-group",
  543. "summary": "Update a group",
  544. "description": "This endpoint requires admin access\nThis endpoint requires password confirmation",
  545. "tags": [
  546. "groups"
  547. ],
  548. "security": [
  549. {
  550. "bearer_auth": []
  551. },
  552. {
  553. "basic_auth": []
  554. }
  555. ],
  556. "requestBody": {
  557. "required": true,
  558. "content": {
  559. "application/json": {
  560. "schema": {
  561. "type": "object",
  562. "required": [
  563. "key",
  564. "value"
  565. ],
  566. "properties": {
  567. "key": {
  568. "type": "string",
  569. "description": "Key to update, only 'displayname'"
  570. },
  571. "value": {
  572. "type": "string",
  573. "description": "New value for the key"
  574. }
  575. }
  576. }
  577. }
  578. }
  579. },
  580. "parameters": [
  581. {
  582. "name": "groupId",
  583. "in": "path",
  584. "description": "ID of the group",
  585. "required": true,
  586. "schema": {
  587. "type": "string",
  588. "pattern": "^.+$"
  589. }
  590. },
  591. {
  592. "name": "OCS-APIRequest",
  593. "in": "header",
  594. "description": "Required to be true for the API request to pass",
  595. "required": true,
  596. "schema": {
  597. "type": "boolean",
  598. "default": true
  599. }
  600. }
  601. ],
  602. "responses": {
  603. "200": {
  604. "description": "Group updated successfully",
  605. "content": {
  606. "application/json": {
  607. "schema": {
  608. "type": "object",
  609. "required": [
  610. "ocs"
  611. ],
  612. "properties": {
  613. "ocs": {
  614. "type": "object",
  615. "required": [
  616. "meta",
  617. "data"
  618. ],
  619. "properties": {
  620. "meta": {
  621. "$ref": "#/components/schemas/OCSMeta"
  622. },
  623. "data": {}
  624. }
  625. }
  626. }
  627. }
  628. }
  629. }
  630. }
  631. }
  632. },
  633. "delete": {
  634. "operationId": "groups-delete-group",
  635. "summary": "Delete a group",
  636. "description": "This endpoint requires admin access\nThis endpoint requires password confirmation",
  637. "tags": [
  638. "groups"
  639. ],
  640. "security": [
  641. {
  642. "bearer_auth": []
  643. },
  644. {
  645. "basic_auth": []
  646. }
  647. ],
  648. "parameters": [
  649. {
  650. "name": "groupId",
  651. "in": "path",
  652. "description": "ID of the group",
  653. "required": true,
  654. "schema": {
  655. "type": "string",
  656. "pattern": "^.+$"
  657. }
  658. },
  659. {
  660. "name": "OCS-APIRequest",
  661. "in": "header",
  662. "description": "Required to be true for the API request to pass",
  663. "required": true,
  664. "schema": {
  665. "type": "boolean",
  666. "default": true
  667. }
  668. }
  669. ],
  670. "responses": {
  671. "200": {
  672. "description": "Group deleted successfully",
  673. "content": {
  674. "application/json": {
  675. "schema": {
  676. "type": "object",
  677. "required": [
  678. "ocs"
  679. ],
  680. "properties": {
  681. "ocs": {
  682. "type": "object",
  683. "required": [
  684. "meta",
  685. "data"
  686. ],
  687. "properties": {
  688. "meta": {
  689. "$ref": "#/components/schemas/OCSMeta"
  690. },
  691. "data": {}
  692. }
  693. }
  694. }
  695. }
  696. }
  697. }
  698. }
  699. }
  700. }
  701. },
  702. "/ocs/v2.php/cloud/users/{userId}/subadmins": {
  703. "get": {
  704. "operationId": "users-get-user-sub-admin-groups",
  705. "summary": "Get the groups a user is a subadmin of",
  706. "description": "This endpoint requires admin access",
  707. "tags": [
  708. "users"
  709. ],
  710. "security": [
  711. {
  712. "bearer_auth": []
  713. },
  714. {
  715. "basic_auth": []
  716. }
  717. ],
  718. "parameters": [
  719. {
  720. "name": "userId",
  721. "in": "path",
  722. "description": "ID if the user",
  723. "required": true,
  724. "schema": {
  725. "type": "string"
  726. }
  727. },
  728. {
  729. "name": "OCS-APIRequest",
  730. "in": "header",
  731. "description": "Required to be true for the API request to pass",
  732. "required": true,
  733. "schema": {
  734. "type": "boolean",
  735. "default": true
  736. }
  737. }
  738. ],
  739. "responses": {
  740. "200": {
  741. "description": "User subadmin groups returned",
  742. "content": {
  743. "application/json": {
  744. "schema": {
  745. "type": "object",
  746. "required": [
  747. "ocs"
  748. ],
  749. "properties": {
  750. "ocs": {
  751. "type": "object",
  752. "required": [
  753. "meta",
  754. "data"
  755. ],
  756. "properties": {
  757. "meta": {
  758. "$ref": "#/components/schemas/OCSMeta"
  759. },
  760. "data": {
  761. "type": "array",
  762. "items": {
  763. "type": "string"
  764. }
  765. }
  766. }
  767. }
  768. }
  769. }
  770. }
  771. }
  772. }
  773. }
  774. },
  775. "post": {
  776. "operationId": "users-add-sub-admin",
  777. "summary": "Make a user a subadmin of a group",
  778. "description": "This endpoint requires admin access\nThis endpoint requires password confirmation",
  779. "tags": [
  780. "users"
  781. ],
  782. "security": [
  783. {
  784. "bearer_auth": []
  785. },
  786. {
  787. "basic_auth": []
  788. }
  789. ],
  790. "requestBody": {
  791. "required": true,
  792. "content": {
  793. "application/json": {
  794. "schema": {
  795. "type": "object",
  796. "required": [
  797. "groupid"
  798. ],
  799. "properties": {
  800. "groupid": {
  801. "type": "string",
  802. "description": "ID of the group"
  803. }
  804. }
  805. }
  806. }
  807. }
  808. },
  809. "parameters": [
  810. {
  811. "name": "userId",
  812. "in": "path",
  813. "description": "ID of the user",
  814. "required": true,
  815. "schema": {
  816. "type": "string"
  817. }
  818. },
  819. {
  820. "name": "OCS-APIRequest",
  821. "in": "header",
  822. "description": "Required to be true for the API request to pass",
  823. "required": true,
  824. "schema": {
  825. "type": "boolean",
  826. "default": true
  827. }
  828. }
  829. ],
  830. "responses": {
  831. "200": {
  832. "description": "User added as group subadmin successfully",
  833. "content": {
  834. "application/json": {
  835. "schema": {
  836. "type": "object",
  837. "required": [
  838. "ocs"
  839. ],
  840. "properties": {
  841. "ocs": {
  842. "type": "object",
  843. "required": [
  844. "meta",
  845. "data"
  846. ],
  847. "properties": {
  848. "meta": {
  849. "$ref": "#/components/schemas/OCSMeta"
  850. },
  851. "data": {}
  852. }
  853. }
  854. }
  855. }
  856. }
  857. }
  858. }
  859. }
  860. },
  861. "delete": {
  862. "operationId": "users-remove-sub-admin",
  863. "summary": "Remove a user from the subadmins of a group",
  864. "description": "This endpoint requires admin access\nThis endpoint requires password confirmation",
  865. "tags": [
  866. "users"
  867. ],
  868. "security": [
  869. {
  870. "bearer_auth": []
  871. },
  872. {
  873. "basic_auth": []
  874. }
  875. ],
  876. "requestBody": {
  877. "required": true,
  878. "content": {
  879. "application/json": {
  880. "schema": {
  881. "type": "object",
  882. "required": [
  883. "groupid"
  884. ],
  885. "properties": {
  886. "groupid": {
  887. "type": "string",
  888. "description": "ID of the group"
  889. }
  890. }
  891. }
  892. }
  893. }
  894. },
  895. "parameters": [
  896. {
  897. "name": "userId",
  898. "in": "path",
  899. "description": "ID of the user",
  900. "required": true,
  901. "schema": {
  902. "type": "string"
  903. }
  904. },
  905. {
  906. "name": "OCS-APIRequest",
  907. "in": "header",
  908. "description": "Required to be true for the API request to pass",
  909. "required": true,
  910. "schema": {
  911. "type": "boolean",
  912. "default": true
  913. }
  914. }
  915. ],
  916. "responses": {
  917. "200": {
  918. "description": "User removed as group subadmin successfully",
  919. "content": {
  920. "application/json": {
  921. "schema": {
  922. "type": "object",
  923. "required": [
  924. "ocs"
  925. ],
  926. "properties": {
  927. "ocs": {
  928. "type": "object",
  929. "required": [
  930. "meta",
  931. "data"
  932. ],
  933. "properties": {
  934. "meta": {
  935. "$ref": "#/components/schemas/OCSMeta"
  936. },
  937. "data": {}
  938. }
  939. }
  940. }
  941. }
  942. }
  943. }
  944. }
  945. }
  946. }
  947. },
  948. "/ocs/v2.php/apps/provisioning_api/api/v1/config/apps": {
  949. "get": {
  950. "operationId": "app_config-get-apps",
  951. "summary": "Get a list of apps",
  952. "description": "This endpoint requires admin access",
  953. "tags": [
  954. "app_config"
  955. ],
  956. "security": [
  957. {
  958. "bearer_auth": []
  959. },
  960. {
  961. "basic_auth": []
  962. }
  963. ],
  964. "parameters": [
  965. {
  966. "name": "OCS-APIRequest",
  967. "in": "header",
  968. "description": "Required to be true for the API request to pass",
  969. "required": true,
  970. "schema": {
  971. "type": "boolean",
  972. "default": true
  973. }
  974. }
  975. ],
  976. "responses": {
  977. "200": {
  978. "description": "Apps returned",
  979. "content": {
  980. "application/json": {
  981. "schema": {
  982. "type": "object",
  983. "required": [
  984. "ocs"
  985. ],
  986. "properties": {
  987. "ocs": {
  988. "type": "object",
  989. "required": [
  990. "meta",
  991. "data"
  992. ],
  993. "properties": {
  994. "meta": {
  995. "$ref": "#/components/schemas/OCSMeta"
  996. },
  997. "data": {
  998. "type": "object",
  999. "required": [
  1000. "data"
  1001. ],
  1002. "properties": {
  1003. "data": {
  1004. "type": "array",
  1005. "items": {
  1006. "type": "string"
  1007. }
  1008. }
  1009. }
  1010. }
  1011. }
  1012. }
  1013. }
  1014. }
  1015. }
  1016. }
  1017. }
  1018. }
  1019. }
  1020. },
  1021. "/ocs/v2.php/apps/provisioning_api/api/v1/config/apps/{app}": {
  1022. "get": {
  1023. "operationId": "app_config-get-keys",
  1024. "summary": "Get the config keys of an app",
  1025. "description": "This endpoint requires admin access",
  1026. "tags": [
  1027. "app_config"
  1028. ],
  1029. "security": [
  1030. {
  1031. "bearer_auth": []
  1032. },
  1033. {
  1034. "basic_auth": []
  1035. }
  1036. ],
  1037. "parameters": [
  1038. {
  1039. "name": "app",
  1040. "in": "path",
  1041. "description": "ID of the app",
  1042. "required": true,
  1043. "schema": {
  1044. "type": "string"
  1045. }
  1046. },
  1047. {
  1048. "name": "OCS-APIRequest",
  1049. "in": "header",
  1050. "description": "Required to be true for the API request to pass",
  1051. "required": true,
  1052. "schema": {
  1053. "type": "boolean",
  1054. "default": true
  1055. }
  1056. }
  1057. ],
  1058. "responses": {
  1059. "200": {
  1060. "description": "Keys returned",
  1061. "content": {
  1062. "application/json": {
  1063. "schema": {
  1064. "type": "object",
  1065. "required": [
  1066. "ocs"
  1067. ],
  1068. "properties": {
  1069. "ocs": {
  1070. "type": "object",
  1071. "required": [
  1072. "meta",
  1073. "data"
  1074. ],
  1075. "properties": {
  1076. "meta": {
  1077. "$ref": "#/components/schemas/OCSMeta"
  1078. },
  1079. "data": {
  1080. "type": "object",
  1081. "required": [
  1082. "data"
  1083. ],
  1084. "properties": {
  1085. "data": {
  1086. "type": "array",
  1087. "items": {
  1088. "type": "string"
  1089. }
  1090. }
  1091. }
  1092. }
  1093. }
  1094. }
  1095. }
  1096. }
  1097. }
  1098. }
  1099. },
  1100. "403": {
  1101. "description": "App is not allowed",
  1102. "content": {
  1103. "application/json": {
  1104. "schema": {
  1105. "type": "object",
  1106. "required": [
  1107. "ocs"
  1108. ],
  1109. "properties": {
  1110. "ocs": {
  1111. "type": "object",
  1112. "required": [
  1113. "meta",
  1114. "data"
  1115. ],
  1116. "properties": {
  1117. "meta": {
  1118. "$ref": "#/components/schemas/OCSMeta"
  1119. },
  1120. "data": {
  1121. "type": "object",
  1122. "required": [
  1123. "data"
  1124. ],
  1125. "properties": {
  1126. "data": {
  1127. "type": "object",
  1128. "required": [
  1129. "message"
  1130. ],
  1131. "properties": {
  1132. "message": {
  1133. "type": "string"
  1134. }
  1135. }
  1136. }
  1137. }
  1138. }
  1139. }
  1140. }
  1141. }
  1142. }
  1143. }
  1144. }
  1145. }
  1146. }
  1147. }
  1148. },
  1149. "/ocs/v2.php/apps/provisioning_api/api/v1/config/apps/{app}/{key}": {
  1150. "get": {
  1151. "operationId": "app_config-get-value",
  1152. "summary": "Get a the config value of an app",
  1153. "description": "This endpoint requires admin access",
  1154. "tags": [
  1155. "app_config"
  1156. ],
  1157. "security": [
  1158. {
  1159. "bearer_auth": []
  1160. },
  1161. {
  1162. "basic_auth": []
  1163. }
  1164. ],
  1165. "requestBody": {
  1166. "required": false,
  1167. "content": {
  1168. "application/json": {
  1169. "schema": {
  1170. "type": "object",
  1171. "properties": {
  1172. "defaultValue": {
  1173. "type": "string",
  1174. "default": "",
  1175. "description": "Default returned value if the value is empty"
  1176. }
  1177. }
  1178. }
  1179. }
  1180. }
  1181. },
  1182. "parameters": [
  1183. {
  1184. "name": "app",
  1185. "in": "path",
  1186. "description": "ID of the app",
  1187. "required": true,
  1188. "schema": {
  1189. "type": "string"
  1190. }
  1191. },
  1192. {
  1193. "name": "key",
  1194. "in": "path",
  1195. "description": "Key",
  1196. "required": true,
  1197. "schema": {
  1198. "type": "string"
  1199. }
  1200. },
  1201. {
  1202. "name": "OCS-APIRequest",
  1203. "in": "header",
  1204. "description": "Required to be true for the API request to pass",
  1205. "required": true,
  1206. "schema": {
  1207. "type": "boolean",
  1208. "default": true
  1209. }
  1210. }
  1211. ],
  1212. "responses": {
  1213. "200": {
  1214. "description": "Value returned",
  1215. "content": {
  1216. "application/json": {
  1217. "schema": {
  1218. "type": "object",
  1219. "required": [
  1220. "ocs"
  1221. ],
  1222. "properties": {
  1223. "ocs": {
  1224. "type": "object",
  1225. "required": [
  1226. "meta",
  1227. "data"
  1228. ],
  1229. "properties": {
  1230. "meta": {
  1231. "$ref": "#/components/schemas/OCSMeta"
  1232. },
  1233. "data": {
  1234. "type": "object",
  1235. "required": [
  1236. "data"
  1237. ],
  1238. "properties": {
  1239. "data": {
  1240. "type": "string"
  1241. }
  1242. }
  1243. }
  1244. }
  1245. }
  1246. }
  1247. }
  1248. }
  1249. }
  1250. },
  1251. "403": {
  1252. "description": "App is not allowed",
  1253. "content": {
  1254. "application/json": {
  1255. "schema": {
  1256. "type": "object",
  1257. "required": [
  1258. "ocs"
  1259. ],
  1260. "properties": {
  1261. "ocs": {
  1262. "type": "object",
  1263. "required": [
  1264. "meta",
  1265. "data"
  1266. ],
  1267. "properties": {
  1268. "meta": {
  1269. "$ref": "#/components/schemas/OCSMeta"
  1270. },
  1271. "data": {
  1272. "type": "object",
  1273. "required": [
  1274. "data"
  1275. ],
  1276. "properties": {
  1277. "data": {
  1278. "type": "object",
  1279. "required": [
  1280. "message"
  1281. ],
  1282. "properties": {
  1283. "message": {
  1284. "type": "string"
  1285. }
  1286. }
  1287. }
  1288. }
  1289. }
  1290. }
  1291. }
  1292. }
  1293. }
  1294. }
  1295. }
  1296. }
  1297. }
  1298. },
  1299. "delete": {
  1300. "operationId": "app_config-delete-key",
  1301. "summary": "Delete a config key of an app",
  1302. "description": "This endpoint requires admin access\nThis endpoint requires password confirmation",
  1303. "tags": [
  1304. "app_config"
  1305. ],
  1306. "security": [
  1307. {
  1308. "bearer_auth": []
  1309. },
  1310. {
  1311. "basic_auth": []
  1312. }
  1313. ],
  1314. "parameters": [
  1315. {
  1316. "name": "app",
  1317. "in": "path",
  1318. "description": "ID of the app",
  1319. "required": true,
  1320. "schema": {
  1321. "type": "string"
  1322. }
  1323. },
  1324. {
  1325. "name": "key",
  1326. "in": "path",
  1327. "description": "Key to delete",
  1328. "required": true,
  1329. "schema": {
  1330. "type": "string"
  1331. }
  1332. },
  1333. {
  1334. "name": "OCS-APIRequest",
  1335. "in": "header",
  1336. "description": "Required to be true for the API request to pass",
  1337. "required": true,
  1338. "schema": {
  1339. "type": "boolean",
  1340. "default": true
  1341. }
  1342. }
  1343. ],
  1344. "responses": {
  1345. "200": {
  1346. "description": "Key deleted successfully",
  1347. "content": {
  1348. "application/json": {
  1349. "schema": {
  1350. "type": "object",
  1351. "required": [
  1352. "ocs"
  1353. ],
  1354. "properties": {
  1355. "ocs": {
  1356. "type": "object",
  1357. "required": [
  1358. "meta",
  1359. "data"
  1360. ],
  1361. "properties": {
  1362. "meta": {
  1363. "$ref": "#/components/schemas/OCSMeta"
  1364. },
  1365. "data": {}
  1366. }
  1367. }
  1368. }
  1369. }
  1370. }
  1371. }
  1372. },
  1373. "403": {
  1374. "description": "App or key is not allowed",
  1375. "content": {
  1376. "application/json": {
  1377. "schema": {
  1378. "type": "object",
  1379. "required": [
  1380. "ocs"
  1381. ],
  1382. "properties": {
  1383. "ocs": {
  1384. "type": "object",
  1385. "required": [
  1386. "meta",
  1387. "data"
  1388. ],
  1389. "properties": {
  1390. "meta": {
  1391. "$ref": "#/components/schemas/OCSMeta"
  1392. },
  1393. "data": {
  1394. "type": "object",
  1395. "required": [
  1396. "data"
  1397. ],
  1398. "properties": {
  1399. "data": {
  1400. "type": "object",
  1401. "required": [
  1402. "message"
  1403. ],
  1404. "properties": {
  1405. "message": {
  1406. "type": "string"
  1407. }
  1408. }
  1409. }
  1410. }
  1411. }
  1412. }
  1413. }
  1414. }
  1415. }
  1416. }
  1417. }
  1418. }
  1419. }
  1420. }
  1421. }
  1422. },
  1423. "tags": []
  1424. }