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.

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