openapi.json 42 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070
  1. {
  2. "openapi": "3.0.3",
  3. "info": {
  4. "title": "user_status",
  5. "version": "0.0.1",
  6. "description": "User status",
  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. "user_status"
  27. ],
  28. "properties": {
  29. "user_status": {
  30. "type": "object",
  31. "required": [
  32. "enabled",
  33. "restore",
  34. "supports_emoji"
  35. ],
  36. "properties": {
  37. "enabled": {
  38. "type": "boolean"
  39. },
  40. "restore": {
  41. "type": "boolean"
  42. },
  43. "supports_emoji": {
  44. "type": "boolean"
  45. }
  46. }
  47. }
  48. }
  49. },
  50. "ClearAt": {
  51. "type": "object",
  52. "required": [
  53. "type",
  54. "time"
  55. ],
  56. "properties": {
  57. "type": {
  58. "type": "string",
  59. "enum": [
  60. "period",
  61. "end-of"
  62. ]
  63. },
  64. "time": {
  65. "oneOf": [
  66. {
  67. "type": "integer",
  68. "format": "int64"
  69. },
  70. {
  71. "$ref": "#/components/schemas/ClearAtTimeType"
  72. }
  73. ]
  74. }
  75. }
  76. },
  77. "ClearAtTimeType": {
  78. "type": "string",
  79. "enum": [
  80. "day",
  81. "week"
  82. ]
  83. },
  84. "OCSMeta": {
  85. "type": "object",
  86. "required": [
  87. "status",
  88. "statuscode"
  89. ],
  90. "properties": {
  91. "status": {
  92. "type": "string"
  93. },
  94. "statuscode": {
  95. "type": "integer"
  96. },
  97. "message": {
  98. "type": "string"
  99. },
  100. "totalitems": {
  101. "type": "string"
  102. },
  103. "itemsperpage": {
  104. "type": "string"
  105. }
  106. }
  107. },
  108. "Predefined": {
  109. "type": "object",
  110. "required": [
  111. "id",
  112. "icon",
  113. "message",
  114. "clearAt",
  115. "visible"
  116. ],
  117. "properties": {
  118. "id": {
  119. "type": "string"
  120. },
  121. "icon": {
  122. "type": "string"
  123. },
  124. "message": {
  125. "type": "string"
  126. },
  127. "clearAt": {
  128. "$ref": "#/components/schemas/ClearAt",
  129. "nullable": true
  130. },
  131. "visible": {
  132. "type": "boolean",
  133. "nullable": true
  134. }
  135. }
  136. },
  137. "Private": {
  138. "allOf": [
  139. {
  140. "$ref": "#/components/schemas/Public"
  141. },
  142. {
  143. "type": "object",
  144. "required": [
  145. "messageId",
  146. "messageIsPredefined",
  147. "statusIsUserDefined"
  148. ],
  149. "properties": {
  150. "messageId": {
  151. "type": "string",
  152. "nullable": true
  153. },
  154. "messageIsPredefined": {
  155. "type": "boolean"
  156. },
  157. "statusIsUserDefined": {
  158. "type": "boolean"
  159. }
  160. }
  161. }
  162. ]
  163. },
  164. "Public": {
  165. "type": "object",
  166. "required": [
  167. "userId",
  168. "message",
  169. "icon",
  170. "clearAt",
  171. "status"
  172. ],
  173. "properties": {
  174. "userId": {
  175. "type": "string"
  176. },
  177. "message": {
  178. "type": "string",
  179. "nullable": true
  180. },
  181. "icon": {
  182. "type": "string",
  183. "nullable": true
  184. },
  185. "clearAt": {
  186. "type": "integer",
  187. "format": "int64",
  188. "nullable": true
  189. },
  190. "status": {
  191. "$ref": "#/components/schemas/Type"
  192. }
  193. }
  194. },
  195. "Type": {
  196. "type": "string",
  197. "enum": [
  198. "online",
  199. "away",
  200. "dnd",
  201. "busy",
  202. "offline",
  203. "invisible"
  204. ]
  205. }
  206. }
  207. },
  208. "paths": {
  209. "/ocs/v2.php/apps/user_status/api/v1/statuses": {
  210. "get": {
  211. "operationId": "statuses-find-all",
  212. "summary": "Find statuses of users",
  213. "tags": [
  214. "statuses"
  215. ],
  216. "security": [
  217. {
  218. "bearer_auth": []
  219. },
  220. {
  221. "basic_auth": []
  222. }
  223. ],
  224. "parameters": [
  225. {
  226. "name": "limit",
  227. "in": "query",
  228. "description": "Maximum number of statuses to find",
  229. "schema": {
  230. "type": "integer",
  231. "format": "int64",
  232. "nullable": true
  233. }
  234. },
  235. {
  236. "name": "offset",
  237. "in": "query",
  238. "description": "Offset for finding statuses",
  239. "schema": {
  240. "type": "integer",
  241. "format": "int64",
  242. "nullable": true
  243. }
  244. },
  245. {
  246. "name": "OCS-APIRequest",
  247. "in": "header",
  248. "description": "Required to be true for the API request to pass",
  249. "required": true,
  250. "schema": {
  251. "type": "boolean",
  252. "default": true
  253. }
  254. }
  255. ],
  256. "responses": {
  257. "200": {
  258. "description": "Statuses returned",
  259. "content": {
  260. "application/json": {
  261. "schema": {
  262. "type": "object",
  263. "required": [
  264. "ocs"
  265. ],
  266. "properties": {
  267. "ocs": {
  268. "type": "object",
  269. "required": [
  270. "meta",
  271. "data"
  272. ],
  273. "properties": {
  274. "meta": {
  275. "$ref": "#/components/schemas/OCSMeta"
  276. },
  277. "data": {
  278. "type": "array",
  279. "items": {
  280. "$ref": "#/components/schemas/Public"
  281. }
  282. }
  283. }
  284. }
  285. }
  286. }
  287. }
  288. }
  289. }
  290. }
  291. }
  292. },
  293. "/ocs/v2.php/apps/user_status/api/v1/statuses/{userId}": {
  294. "get": {
  295. "operationId": "statuses-find",
  296. "summary": "Find the status of a user",
  297. "tags": [
  298. "statuses"
  299. ],
  300. "security": [
  301. {
  302. "bearer_auth": []
  303. },
  304. {
  305. "basic_auth": []
  306. }
  307. ],
  308. "parameters": [
  309. {
  310. "name": "userId",
  311. "in": "path",
  312. "description": "ID of the user",
  313. "required": true,
  314. "schema": {
  315. "type": "string"
  316. }
  317. },
  318. {
  319. "name": "OCS-APIRequest",
  320. "in": "header",
  321. "description": "Required to be true for the API request to pass",
  322. "required": true,
  323. "schema": {
  324. "type": "boolean",
  325. "default": true
  326. }
  327. }
  328. ],
  329. "responses": {
  330. "200": {
  331. "description": "Status returned",
  332. "content": {
  333. "application/json": {
  334. "schema": {
  335. "type": "object",
  336. "required": [
  337. "ocs"
  338. ],
  339. "properties": {
  340. "ocs": {
  341. "type": "object",
  342. "required": [
  343. "meta",
  344. "data"
  345. ],
  346. "properties": {
  347. "meta": {
  348. "$ref": "#/components/schemas/OCSMeta"
  349. },
  350. "data": {
  351. "$ref": "#/components/schemas/Public"
  352. }
  353. }
  354. }
  355. }
  356. }
  357. }
  358. }
  359. },
  360. "404": {
  361. "description": "The user was not found",
  362. "content": {
  363. "text/plain": {
  364. "schema": {
  365. "type": "string"
  366. }
  367. }
  368. }
  369. }
  370. }
  371. }
  372. },
  373. "/ocs/v2.php/apps/user_status/api/v1/user_status": {
  374. "get": {
  375. "operationId": "user_status-get-status",
  376. "summary": "Get the status of the current user",
  377. "tags": [
  378. "user_status"
  379. ],
  380. "security": [
  381. {
  382. "bearer_auth": []
  383. },
  384. {
  385. "basic_auth": []
  386. }
  387. ],
  388. "parameters": [
  389. {
  390. "name": "OCS-APIRequest",
  391. "in": "header",
  392. "description": "Required to be true for the API request to pass",
  393. "required": true,
  394. "schema": {
  395. "type": "boolean",
  396. "default": true
  397. }
  398. }
  399. ],
  400. "responses": {
  401. "200": {
  402. "description": "The status was found successfully",
  403. "content": {
  404. "application/json": {
  405. "schema": {
  406. "type": "object",
  407. "required": [
  408. "ocs"
  409. ],
  410. "properties": {
  411. "ocs": {
  412. "type": "object",
  413. "required": [
  414. "meta",
  415. "data"
  416. ],
  417. "properties": {
  418. "meta": {
  419. "$ref": "#/components/schemas/OCSMeta"
  420. },
  421. "data": {
  422. "$ref": "#/components/schemas/Private"
  423. }
  424. }
  425. }
  426. }
  427. }
  428. }
  429. }
  430. },
  431. "404": {
  432. "description": "The user was not found",
  433. "content": {
  434. "text/plain": {
  435. "schema": {
  436. "type": "string"
  437. }
  438. }
  439. }
  440. }
  441. }
  442. }
  443. },
  444. "/ocs/v2.php/apps/user_status/api/v1/user_status/status": {
  445. "put": {
  446. "operationId": "user_status-set-status",
  447. "summary": "Update the status type of the current user",
  448. "tags": [
  449. "user_status"
  450. ],
  451. "security": [
  452. {
  453. "bearer_auth": []
  454. },
  455. {
  456. "basic_auth": []
  457. }
  458. ],
  459. "parameters": [
  460. {
  461. "name": "statusType",
  462. "in": "query",
  463. "description": "The new status type",
  464. "required": true,
  465. "schema": {
  466. "type": "string"
  467. }
  468. },
  469. {
  470. "name": "OCS-APIRequest",
  471. "in": "header",
  472. "description": "Required to be true for the API request to pass",
  473. "required": true,
  474. "schema": {
  475. "type": "boolean",
  476. "default": true
  477. }
  478. }
  479. ],
  480. "responses": {
  481. "200": {
  482. "description": "The status was updated successfully",
  483. "content": {
  484. "application/json": {
  485. "schema": {
  486. "type": "object",
  487. "required": [
  488. "ocs"
  489. ],
  490. "properties": {
  491. "ocs": {
  492. "type": "object",
  493. "required": [
  494. "meta",
  495. "data"
  496. ],
  497. "properties": {
  498. "meta": {
  499. "$ref": "#/components/schemas/OCSMeta"
  500. },
  501. "data": {
  502. "$ref": "#/components/schemas/Private"
  503. }
  504. }
  505. }
  506. }
  507. }
  508. }
  509. }
  510. },
  511. "400": {
  512. "description": "The status type is invalid",
  513. "content": {
  514. "text/plain": {
  515. "schema": {
  516. "type": "string"
  517. }
  518. }
  519. }
  520. }
  521. }
  522. }
  523. },
  524. "/ocs/v2.php/apps/user_status/api/v1/user_status/message/predefined": {
  525. "put": {
  526. "operationId": "user_status-set-predefined-message",
  527. "summary": "Set the message to a predefined message for the current user",
  528. "tags": [
  529. "user_status"
  530. ],
  531. "security": [
  532. {
  533. "bearer_auth": []
  534. },
  535. {
  536. "basic_auth": []
  537. }
  538. ],
  539. "parameters": [
  540. {
  541. "name": "messageId",
  542. "in": "query",
  543. "description": "ID of the predefined message",
  544. "required": true,
  545. "schema": {
  546. "type": "string"
  547. }
  548. },
  549. {
  550. "name": "clearAt",
  551. "in": "query",
  552. "description": "When the message should be cleared",
  553. "schema": {
  554. "type": "integer",
  555. "format": "int64",
  556. "nullable": true
  557. }
  558. },
  559. {
  560. "name": "OCS-APIRequest",
  561. "in": "header",
  562. "description": "Required to be true for the API request to pass",
  563. "required": true,
  564. "schema": {
  565. "type": "boolean",
  566. "default": true
  567. }
  568. }
  569. ],
  570. "responses": {
  571. "200": {
  572. "description": "The message was updated successfully",
  573. "content": {
  574. "application/json": {
  575. "schema": {
  576. "type": "object",
  577. "required": [
  578. "ocs"
  579. ],
  580. "properties": {
  581. "ocs": {
  582. "type": "object",
  583. "required": [
  584. "meta",
  585. "data"
  586. ],
  587. "properties": {
  588. "meta": {
  589. "$ref": "#/components/schemas/OCSMeta"
  590. },
  591. "data": {
  592. "$ref": "#/components/schemas/Private"
  593. }
  594. }
  595. }
  596. }
  597. }
  598. }
  599. }
  600. },
  601. "400": {
  602. "description": "The clearAt or message-id is invalid",
  603. "content": {
  604. "text/plain": {
  605. "schema": {
  606. "type": "string"
  607. }
  608. }
  609. }
  610. }
  611. }
  612. }
  613. },
  614. "/ocs/v2.php/apps/user_status/api/v1/user_status/message/custom": {
  615. "put": {
  616. "operationId": "user_status-set-custom-message",
  617. "summary": "Set the message to a custom message for the current user",
  618. "tags": [
  619. "user_status"
  620. ],
  621. "security": [
  622. {
  623. "bearer_auth": []
  624. },
  625. {
  626. "basic_auth": []
  627. }
  628. ],
  629. "parameters": [
  630. {
  631. "name": "statusIcon",
  632. "in": "query",
  633. "description": "Icon of the status",
  634. "schema": {
  635. "type": "string",
  636. "nullable": true
  637. }
  638. },
  639. {
  640. "name": "message",
  641. "in": "query",
  642. "description": "Message of the status",
  643. "schema": {
  644. "type": "string",
  645. "nullable": true
  646. }
  647. },
  648. {
  649. "name": "clearAt",
  650. "in": "query",
  651. "description": "When the message should be cleared",
  652. "schema": {
  653. "type": "integer",
  654. "format": "int64",
  655. "nullable": true
  656. }
  657. },
  658. {
  659. "name": "OCS-APIRequest",
  660. "in": "header",
  661. "description": "Required to be true for the API request to pass",
  662. "required": true,
  663. "schema": {
  664. "type": "boolean",
  665. "default": true
  666. }
  667. }
  668. ],
  669. "responses": {
  670. "200": {
  671. "description": "The message was updated successfully",
  672. "content": {
  673. "application/json": {
  674. "schema": {
  675. "type": "object",
  676. "required": [
  677. "ocs"
  678. ],
  679. "properties": {
  680. "ocs": {
  681. "type": "object",
  682. "required": [
  683. "meta",
  684. "data"
  685. ],
  686. "properties": {
  687. "meta": {
  688. "$ref": "#/components/schemas/OCSMeta"
  689. },
  690. "data": {
  691. "$ref": "#/components/schemas/Private"
  692. }
  693. }
  694. }
  695. }
  696. }
  697. }
  698. }
  699. },
  700. "400": {
  701. "description": "The clearAt or icon is invalid or the message is too long",
  702. "content": {
  703. "text/plain": {
  704. "schema": {
  705. "type": "string"
  706. }
  707. }
  708. }
  709. }
  710. }
  711. }
  712. },
  713. "/ocs/v2.php/apps/user_status/api/v1/user_status/message": {
  714. "delete": {
  715. "operationId": "user_status-clear-message",
  716. "summary": "Clear the message of the current user",
  717. "tags": [
  718. "user_status"
  719. ],
  720. "security": [
  721. {
  722. "bearer_auth": []
  723. },
  724. {
  725. "basic_auth": []
  726. }
  727. ],
  728. "parameters": [
  729. {
  730. "name": "OCS-APIRequest",
  731. "in": "header",
  732. "description": "Required to be true for the API request to pass",
  733. "required": true,
  734. "schema": {
  735. "type": "boolean",
  736. "default": true
  737. }
  738. }
  739. ],
  740. "responses": {
  741. "200": {
  742. "description": "Message cleared successfully",
  743. "content": {
  744. "application/json": {
  745. "schema": {
  746. "type": "object",
  747. "required": [
  748. "ocs"
  749. ],
  750. "properties": {
  751. "ocs": {
  752. "type": "object",
  753. "required": [
  754. "meta",
  755. "data"
  756. ],
  757. "properties": {
  758. "meta": {
  759. "$ref": "#/components/schemas/OCSMeta"
  760. },
  761. "data": {}
  762. }
  763. }
  764. }
  765. }
  766. }
  767. }
  768. }
  769. }
  770. }
  771. },
  772. "/ocs/v2.php/apps/user_status/api/v1/user_status/revert/{messageId}": {
  773. "delete": {
  774. "operationId": "user_status-revert-status",
  775. "summary": "Revert the status to the previous status",
  776. "tags": [
  777. "user_status"
  778. ],
  779. "security": [
  780. {
  781. "bearer_auth": []
  782. },
  783. {
  784. "basic_auth": []
  785. }
  786. ],
  787. "parameters": [
  788. {
  789. "name": "messageId",
  790. "in": "path",
  791. "description": "ID of the message to delete",
  792. "required": true,
  793. "schema": {
  794. "type": "string"
  795. }
  796. },
  797. {
  798. "name": "OCS-APIRequest",
  799. "in": "header",
  800. "description": "Required to be true for the API request to pass",
  801. "required": true,
  802. "schema": {
  803. "type": "boolean",
  804. "default": true
  805. }
  806. }
  807. ],
  808. "responses": {
  809. "200": {
  810. "description": "Status reverted",
  811. "content": {
  812. "application/json": {
  813. "schema": {
  814. "type": "object",
  815. "required": [
  816. "ocs"
  817. ],
  818. "properties": {
  819. "ocs": {
  820. "type": "object",
  821. "required": [
  822. "meta",
  823. "data"
  824. ],
  825. "properties": {
  826. "meta": {
  827. "$ref": "#/components/schemas/OCSMeta"
  828. },
  829. "data": {
  830. "oneOf": [
  831. {
  832. "$ref": "#/components/schemas/Private"
  833. },
  834. {
  835. "type": "array",
  836. "maxLength": 0
  837. }
  838. ]
  839. }
  840. }
  841. }
  842. }
  843. }
  844. }
  845. }
  846. }
  847. }
  848. }
  849. },
  850. "/ocs/v2.php/apps/user_status/api/v1/predefined_statuses": {
  851. "get": {
  852. "operationId": "predefined_status-find-all",
  853. "summary": "Get all predefined messages",
  854. "tags": [
  855. "predefined_status"
  856. ],
  857. "security": [
  858. {
  859. "bearer_auth": []
  860. },
  861. {
  862. "basic_auth": []
  863. }
  864. ],
  865. "parameters": [
  866. {
  867. "name": "OCS-APIRequest",
  868. "in": "header",
  869. "description": "Required to be true for the API request to pass",
  870. "required": true,
  871. "schema": {
  872. "type": "boolean",
  873. "default": true
  874. }
  875. }
  876. ],
  877. "responses": {
  878. "200": {
  879. "description": "Predefined statuses returned",
  880. "content": {
  881. "application/json": {
  882. "schema": {
  883. "type": "object",
  884. "required": [
  885. "ocs"
  886. ],
  887. "properties": {
  888. "ocs": {
  889. "type": "object",
  890. "required": [
  891. "meta",
  892. "data"
  893. ],
  894. "properties": {
  895. "meta": {
  896. "$ref": "#/components/schemas/OCSMeta"
  897. },
  898. "data": {
  899. "type": "array",
  900. "items": {
  901. "$ref": "#/components/schemas/Predefined"
  902. }
  903. }
  904. }
  905. }
  906. }
  907. }
  908. }
  909. }
  910. }
  911. }
  912. }
  913. },
  914. "/ocs/v2.php/apps/user_status/api/v1/heartbeat": {
  915. "put": {
  916. "operationId": "heartbeat-heartbeat",
  917. "summary": "Keep the status alive",
  918. "tags": [
  919. "heartbeat"
  920. ],
  921. "security": [
  922. {
  923. "bearer_auth": []
  924. },
  925. {
  926. "basic_auth": []
  927. }
  928. ],
  929. "parameters": [
  930. {
  931. "name": "status",
  932. "in": "query",
  933. "description": "Only online, away",
  934. "required": true,
  935. "schema": {
  936. "type": "string"
  937. }
  938. },
  939. {
  940. "name": "OCS-APIRequest",
  941. "in": "header",
  942. "description": "Required to be true for the API request to pass",
  943. "required": true,
  944. "schema": {
  945. "type": "boolean",
  946. "default": true
  947. }
  948. }
  949. ],
  950. "responses": {
  951. "200": {
  952. "description": "Status successfully updated",
  953. "content": {
  954. "application/json": {
  955. "schema": {
  956. "type": "object",
  957. "required": [
  958. "ocs"
  959. ],
  960. "properties": {
  961. "ocs": {
  962. "type": "object",
  963. "required": [
  964. "meta",
  965. "data"
  966. ],
  967. "properties": {
  968. "meta": {
  969. "$ref": "#/components/schemas/OCSMeta"
  970. },
  971. "data": {
  972. "$ref": "#/components/schemas/Private"
  973. }
  974. }
  975. }
  976. }
  977. }
  978. }
  979. }
  980. },
  981. "400": {
  982. "description": "Invalid status to update",
  983. "content": {
  984. "application/json": {
  985. "schema": {
  986. "type": "object",
  987. "required": [
  988. "ocs"
  989. ],
  990. "properties": {
  991. "ocs": {
  992. "type": "object",
  993. "required": [
  994. "meta",
  995. "data"
  996. ],
  997. "properties": {
  998. "meta": {
  999. "$ref": "#/components/schemas/OCSMeta"
  1000. },
  1001. "data": {}
  1002. }
  1003. }
  1004. }
  1005. }
  1006. }
  1007. }
  1008. },
  1009. "500": {
  1010. "description": "",
  1011. "content": {
  1012. "application/json": {
  1013. "schema": {
  1014. "type": "object",
  1015. "required": [
  1016. "ocs"
  1017. ],
  1018. "properties": {
  1019. "ocs": {
  1020. "type": "object",
  1021. "required": [
  1022. "meta",
  1023. "data"
  1024. ],
  1025. "properties": {
  1026. "meta": {
  1027. "$ref": "#/components/schemas/OCSMeta"
  1028. },
  1029. "data": {}
  1030. }
  1031. }
  1032. }
  1033. }
  1034. }
  1035. }
  1036. },
  1037. "204": {
  1038. "description": "User has no status to keep alive",
  1039. "content": {
  1040. "application/json": {
  1041. "schema": {
  1042. "type": "object",
  1043. "required": [
  1044. "ocs"
  1045. ],
  1046. "properties": {
  1047. "ocs": {
  1048. "type": "object",
  1049. "required": [
  1050. "meta",
  1051. "data"
  1052. ],
  1053. "properties": {
  1054. "meta": {
  1055. "$ref": "#/components/schemas/OCSMeta"
  1056. },
  1057. "data": {}
  1058. }
  1059. }
  1060. }
  1061. }
  1062. }
  1063. }
  1064. }
  1065. }
  1066. }
  1067. }
  1068. },
  1069. "tags": []
  1070. }