You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

openapi-administration.json 57KB

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