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.

19375 lines
823 KiB

  1. {
  2. "openapi": "3.0.3",
  3. "info": {
  4. "title": "spreed-full",
  5. "version": "0.0.1",
  6. "description": "Chat, video & audio-conferencing using WebRTC",
  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. "Bot": {
  24. "type": "object",
  25. "required": [
  26. "description",
  27. "id",
  28. "name",
  29. "state"
  30. ],
  31. "properties": {
  32. "description": {
  33. "type": "string",
  34. "nullable": true
  35. },
  36. "id": {
  37. "type": "integer",
  38. "format": "int64"
  39. },
  40. "name": {
  41. "type": "string"
  42. },
  43. "state": {
  44. "type": "integer",
  45. "format": "int64"
  46. }
  47. }
  48. },
  49. "BotWithDetails": {
  50. "allOf": [
  51. {
  52. "$ref": "#/components/schemas/Bot"
  53. },
  54. {
  55. "type": "object",
  56. "required": [
  57. "error_count",
  58. "features",
  59. "last_error_date",
  60. "last_error_message",
  61. "url",
  62. "url_hash"
  63. ],
  64. "properties": {
  65. "error_count": {
  66. "type": "integer",
  67. "format": "int64"
  68. },
  69. "features": {
  70. "type": "integer",
  71. "format": "int64"
  72. },
  73. "last_error_date": {
  74. "type": "integer",
  75. "format": "int64"
  76. },
  77. "last_error_message": {
  78. "type": "string"
  79. },
  80. "url": {
  81. "type": "string"
  82. },
  83. "url_hash": {
  84. "type": "string"
  85. }
  86. }
  87. }
  88. ]
  89. },
  90. "BotWithDetailsAndSecret": {
  91. "allOf": [
  92. {
  93. "$ref": "#/components/schemas/BotWithDetails"
  94. },
  95. {
  96. "type": "object",
  97. "required": [
  98. "secret"
  99. ],
  100. "properties": {
  101. "secret": {
  102. "type": "string"
  103. }
  104. }
  105. }
  106. ]
  107. },
  108. "CallPeer": {
  109. "type": "object",
  110. "required": [
  111. "actorId",
  112. "actorType",
  113. "displayName",
  114. "lastPing",
  115. "sessionId",
  116. "token"
  117. ],
  118. "properties": {
  119. "actorId": {
  120. "type": "string"
  121. },
  122. "actorType": {
  123. "type": "string"
  124. },
  125. "displayName": {
  126. "type": "string"
  127. },
  128. "lastPing": {
  129. "type": "integer",
  130. "format": "int64"
  131. },
  132. "sessionId": {
  133. "type": "string"
  134. },
  135. "token": {
  136. "type": "string"
  137. }
  138. }
  139. },
  140. "Capabilities": {
  141. "type": "object",
  142. "required": [
  143. "features",
  144. "config",
  145. "version"
  146. ],
  147. "properties": {
  148. "features": {
  149. "type": "array",
  150. "items": {
  151. "type": "string"
  152. }
  153. },
  154. "config": {
  155. "type": "object",
  156. "required": [
  157. "attachments",
  158. "call",
  159. "chat",
  160. "conversations",
  161. "federation",
  162. "previews",
  163. "signaling"
  164. ],
  165. "properties": {
  166. "attachments": {
  167. "type": "object",
  168. "required": [
  169. "allowed"
  170. ],
  171. "properties": {
  172. "allowed": {
  173. "type": "boolean"
  174. },
  175. "folder": {
  176. "type": "string"
  177. }
  178. }
  179. },
  180. "call": {
  181. "type": "object",
  182. "required": [
  183. "enabled",
  184. "breakout-rooms",
  185. "recording",
  186. "recording-consent",
  187. "supported-reactions",
  188. "predefined-backgrounds",
  189. "can-upload-background",
  190. "sip-enabled",
  191. "sip-dialout-enabled",
  192. "can-enable-sip"
  193. ],
  194. "properties": {
  195. "enabled": {
  196. "type": "boolean"
  197. },
  198. "breakout-rooms": {
  199. "type": "boolean"
  200. },
  201. "recording": {
  202. "type": "boolean"
  203. },
  204. "recording-consent": {
  205. "type": "integer",
  206. "format": "int64"
  207. },
  208. "supported-reactions": {
  209. "type": "array",
  210. "items": {
  211. "type": "string"
  212. }
  213. },
  214. "predefined-backgrounds": {
  215. "type": "array",
  216. "items": {
  217. "type": "string"
  218. }
  219. },
  220. "can-upload-background": {
  221. "type": "boolean"
  222. },
  223. "sip-enabled": {
  224. "type": "boolean"
  225. },
  226. "sip-dialout-enabled": {
  227. "type": "boolean"
  228. },
  229. "can-enable-sip": {
  230. "type": "boolean"
  231. }
  232. }
  233. },
  234. "chat": {
  235. "type": "object",
  236. "required": [
  237. "max-length",
  238. "read-privacy",
  239. "has-translation-providers",
  240. "typing-privacy"
  241. ],
  242. "properties": {
  243. "max-length": {
  244. "type": "integer",
  245. "format": "int64"
  246. },
  247. "read-privacy": {
  248. "type": "integer",
  249. "format": "int64"
  250. },
  251. "has-translation-providers": {
  252. "type": "boolean"
  253. },
  254. "typing-privacy": {
  255. "type": "integer",
  256. "format": "int64"
  257. }
  258. }
  259. },
  260. "conversations": {
  261. "type": "object",
  262. "required": [
  263. "can-create"
  264. ],
  265. "properties": {
  266. "can-create": {
  267. "type": "boolean"
  268. }
  269. }
  270. },
  271. "federation": {
  272. "type": "object",
  273. "required": [
  274. "enabled",
  275. "incoming-enabled",
  276. "outgoing-enabled",
  277. "only-trusted-servers"
  278. ],
  279. "properties": {
  280. "enabled": {
  281. "type": "boolean"
  282. },
  283. "incoming-enabled": {
  284. "type": "boolean"
  285. },
  286. "outgoing-enabled": {
  287. "type": "boolean"
  288. },
  289. "only-trusted-servers": {
  290. "type": "boolean"
  291. }
  292. }
  293. },
  294. "previews": {
  295. "type": "object",
  296. "required": [
  297. "max-gif-size"
  298. ],
  299. "properties": {
  300. "max-gif-size": {
  301. "type": "integer",
  302. "format": "int64"
  303. }
  304. }
  305. },
  306. "signaling": {
  307. "type": "object",
  308. "required": [
  309. "session-ping-limit"
  310. ],
  311. "properties": {
  312. "session-ping-limit": {
  313. "type": "integer",
  314. "format": "int64"
  315. },
  316. "hello-v2-token-key": {
  317. "type": "string"
  318. }
  319. }
  320. }
  321. }
  322. },
  323. "version": {
  324. "type": "string"
  325. }
  326. }
  327. },
  328. "ChatMentionSuggestion": {
  329. "type": "object",
  330. "required": [
  331. "id",
  332. "label",
  333. "source",
  334. "mentionId",
  335. "status",
  336. "statusClearAt",
  337. "statusIcon",
  338. "statusMessage"
  339. ],
  340. "properties": {
  341. "id": {
  342. "type": "string"
  343. },
  344. "label": {
  345. "type": "string"
  346. },
  347. "source": {
  348. "type": "string"
  349. },
  350. "mentionId": {
  351. "type": "string"
  352. },
  353. "status": {
  354. "type": "string",
  355. "nullable": true
  356. },
  357. "statusClearAt": {
  358. "type": "integer",
  359. "format": "int64",
  360. "nullable": true
  361. },
  362. "statusIcon": {
  363. "type": "string",
  364. "nullable": true
  365. },
  366. "statusMessage": {
  367. "type": "string",
  368. "nullable": true
  369. }
  370. }
  371. },
  372. "ChatMessage": {
  373. "type": "object",
  374. "required": [
  375. "actorDisplayName",
  376. "actorId",
  377. "actorType",
  378. "expirationTimestamp",
  379. "id",
  380. "isReplyable",
  381. "markdown",
  382. "message",
  383. "messageParameters",
  384. "messageType",
  385. "reactions",
  386. "referenceId",
  387. "systemMessage",
  388. "timestamp",
  389. "token"
  390. ],
  391. "properties": {
  392. "actorDisplayName": {
  393. "type": "string"
  394. },
  395. "actorId": {
  396. "type": "string"
  397. },
  398. "actorType": {
  399. "type": "string"
  400. },
  401. "deleted": {
  402. "type": "boolean",
  403. "enum": [
  404. true
  405. ]
  406. },
  407. "expirationTimestamp": {
  408. "type": "integer",
  409. "format": "int64"
  410. },
  411. "id": {
  412. "type": "integer",
  413. "format": "int64"
  414. },
  415. "isReplyable": {
  416. "type": "boolean"
  417. },
  418. "markdown": {
  419. "type": "boolean"
  420. },
  421. "message": {
  422. "type": "string"
  423. },
  424. "messageParameters": {
  425. "type": "object",
  426. "additionalProperties": {
  427. "$ref": "#/components/schemas/RichObjectParameter"
  428. }
  429. },
  430. "messageType": {
  431. "type": "string"
  432. },
  433. "reactions": {
  434. "type": "object",
  435. "additionalProperties": {
  436. "type": "integer",
  437. "format": "int64"
  438. }
  439. },
  440. "referenceId": {
  441. "type": "string"
  442. },
  443. "systemMessage": {
  444. "type": "string"
  445. },
  446. "timestamp": {
  447. "type": "integer",
  448. "format": "int64"
  449. },
  450. "token": {
  451. "type": "string"
  452. },
  453. "lastEditActorDisplayName": {
  454. "type": "string"
  455. },
  456. "lastEditActorId": {
  457. "type": "string"
  458. },
  459. "lastEditActorType": {
  460. "type": "string"
  461. },
  462. "lastEditTimestamp": {
  463. "type": "integer",
  464. "format": "int64"
  465. },
  466. "silent": {
  467. "type": "boolean"
  468. }
  469. }
  470. },
  471. "ChatMessageWithParent": {
  472. "allOf": [
  473. {
  474. "$ref": "#/components/schemas/ChatMessage"
  475. },
  476. {
  477. "type": "object",
  478. "properties": {
  479. "parent": {
  480. "$ref": "#/components/schemas/ChatMessage"
  481. }
  482. }
  483. }
  484. ]
  485. },
  486. "ChatReminder": {
  487. "type": "object",
  488. "required": [
  489. "messageId",
  490. "timestamp",
  491. "token",
  492. "userId"
  493. ],
  494. "properties": {
  495. "messageId": {
  496. "type": "integer",
  497. "format": "int64"
  498. },
  499. "timestamp": {
  500. "type": "integer",
  501. "format": "int64"
  502. },
  503. "token": {
  504. "type": "string"
  505. },
  506. "userId": {
  507. "type": "string"
  508. }
  509. }
  510. },
  511. "FederationInvite": {
  512. "type": "object",
  513. "required": [
  514. "id",
  515. "state",
  516. "localCloudId",
  517. "localToken",
  518. "remoteAttendeeId",
  519. "remoteServerUrl",
  520. "remoteToken",
  521. "roomName",
  522. "userId",
  523. "inviterCloudId",
  524. "inviterDisplayName"
  525. ],
  526. "properties": {
  527. "id": {
  528. "type": "integer",
  529. "format": "int64"
  530. },
  531. "state": {
  532. "type": "integer",
  533. "format": "int64"
  534. },
  535. "localCloudId": {
  536. "type": "string"
  537. },
  538. "localToken": {
  539. "type": "string"
  540. },
  541. "remoteAttendeeId": {
  542. "type": "integer",
  543. "format": "int64"
  544. },
  545. "remoteServerUrl": {
  546. "type": "string"
  547. },
  548. "remoteToken": {
  549. "type": "string"
  550. },
  551. "roomName": {
  552. "type": "string"
  553. },
  554. "userId": {
  555. "type": "string"
  556. },
  557. "inviterCloudId": {
  558. "type": "string"
  559. },
  560. "inviterDisplayName": {
  561. "type": "string"
  562. }
  563. }
  564. },
  565. "Matterbridge": {
  566. "type": "object",
  567. "required": [
  568. "enabled",
  569. "parts",
  570. "pid"
  571. ],
  572. "properties": {
  573. "enabled": {
  574. "type": "boolean"
  575. },
  576. "parts": {
  577. "$ref": "#/components/schemas/MatterbridgeConfigFields"
  578. },
  579. "pid": {
  580. "type": "integer",
  581. "format": "int64"
  582. }
  583. }
  584. },
  585. "MatterbridgeConfigFields": {
  586. "type": "array",
  587. "items": {
  588. "type": "object",
  589. "additionalProperties": {
  590. "type": "object"
  591. }
  592. }
  593. },
  594. "MatterbridgeProcessState": {
  595. "type": "object",
  596. "required": [
  597. "log",
  598. "running"
  599. ],
  600. "properties": {
  601. "log": {
  602. "type": "string"
  603. },
  604. "running": {
  605. "type": "boolean"
  606. }
  607. }
  608. },
  609. "MatterbridgeWithProcessState": {
  610. "allOf": [
  611. {
  612. "$ref": "#/components/schemas/Matterbridge"
  613. },
  614. {
  615. "$ref": "#/components/schemas/MatterbridgeProcessState"
  616. }
  617. ]
  618. },
  619. "OCSMeta": {
  620. "type": "object",
  621. "required": [
  622. "status",
  623. "statuscode"
  624. ],
  625. "properties": {
  626. "status": {
  627. "type": "string"
  628. },
  629. "statuscode": {
  630. "type": "integer"
  631. },
  632. "message": {
  633. "type": "string"
  634. },
  635. "totalitems": {
  636. "type": "string"
  637. },
  638. "itemsperpage": {
  639. "type": "string"
  640. }
  641. }
  642. },
  643. "Participant": {
  644. "type": "object",
  645. "required": [
  646. "actorId",
  647. "actorType",
  648. "attendeeId",
  649. "attendeePermissions",
  650. "attendeePin",
  651. "displayName",
  652. "inCall",
  653. "lastPing",
  654. "participantType",
  655. "permissions",
  656. "roomToken",
  657. "sessionIds"
  658. ],
  659. "properties": {
  660. "actorId": {
  661. "type": "string"
  662. },
  663. "actorType": {
  664. "type": "string"
  665. },
  666. "attendeeId": {
  667. "type": "integer",
  668. "format": "int64"
  669. },
  670. "attendeePermissions": {
  671. "type": "integer",
  672. "format": "int64"
  673. },
  674. "attendeePin": {
  675. "type": "string"
  676. },
  677. "displayName": {
  678. "type": "string"
  679. },
  680. "inCall": {
  681. "type": "integer",
  682. "format": "int64"
  683. },
  684. "lastPing": {
  685. "type": "integer",
  686. "format": "int64"
  687. },
  688. "participantType": {
  689. "type": "integer",
  690. "format": "int64"
  691. },
  692. "permissions": {
  693. "type": "integer",
  694. "format": "int64"
  695. },
  696. "roomToken": {
  697. "type": "string"
  698. },
  699. "sessionIds": {
  700. "type": "array",
  701. "items": {
  702. "type": "string"
  703. }
  704. },
  705. "status": {
  706. "type": "string"
  707. },
  708. "statusClearAt": {
  709. "type": "integer",
  710. "format": "int64",
  711. "nullable": true
  712. },
  713. "statusIcon": {
  714. "type": "string",
  715. "nullable": true
  716. },
  717. "statusMessage": {
  718. "type": "string",
  719. "nullable": true
  720. },
  721. "phoneNumber": {
  722. "type": "string",
  723. "nullable": true
  724. },
  725. "callId": {
  726. "type": "string",
  727. "nullable": true
  728. }
  729. }
  730. },
  731. "Poll": {
  732. "type": "object",
  733. "required": [
  734. "actorDisplayName",
  735. "actorId",
  736. "actorType",
  737. "id",
  738. "maxVotes",
  739. "options",
  740. "question",
  741. "resultMode",
  742. "status"
  743. ],
  744. "properties": {
  745. "actorDisplayName": {
  746. "type": "string"
  747. },
  748. "actorId": {
  749. "type": "string"
  750. },
  751. "actorType": {
  752. "type": "string"
  753. },
  754. "details": {
  755. "type": "array",
  756. "items": {
  757. "$ref": "#/components/schemas/PollVote"
  758. }
  759. },
  760. "id": {
  761. "type": "integer",
  762. "format": "int64"
  763. },
  764. "maxVotes": {
  765. "type": "integer",
  766. "format": "int64"
  767. },
  768. "numVoters": {
  769. "type": "integer",
  770. "format": "int64"
  771. },
  772. "options": {
  773. "type": "array",
  774. "items": {
  775. "type": "string"
  776. }
  777. },
  778. "question": {
  779. "type": "string"
  780. },
  781. "resultMode": {
  782. "type": "integer",
  783. "format": "int64"
  784. },
  785. "status": {
  786. "type": "integer",
  787. "format": "int64"
  788. },
  789. "votedSelf": {
  790. "type": "array",
  791. "items": {
  792. "type": "integer",
  793. "format": "int64"
  794. }
  795. },
  796. "votes": {
  797. "type": "object",
  798. "additionalProperties": {
  799. "type": "integer",
  800. "format": "int64"
  801. }
  802. }
  803. }
  804. },
  805. "PollVote": {
  806. "type": "object",
  807. "required": [
  808. "actorDisplayName",
  809. "actorId",
  810. "actorType",
  811. "optionId"
  812. ],
  813. "properties": {
  814. "actorDisplayName": {
  815. "type": "string"
  816. },
  817. "actorId": {
  818. "type": "string"
  819. },
  820. "actorType": {
  821. "type": "string"
  822. },
  823. "optionId": {
  824. "type": "integer",
  825. "format": "int64"
  826. }
  827. }
  828. },
  829. "PublicCapabilities": {
  830. "oneOf": [
  831. {
  832. "type": "object",
  833. "required": [
  834. "spreed"
  835. ],
  836. "properties": {
  837. "spreed": {
  838. "$ref": "#/components/schemas/Capabilities"
  839. }
  840. }
  841. },
  842. {
  843. "type": "array",
  844. "maxLength": 0
  845. }
  846. ]
  847. },
  848. "Reaction": {
  849. "type": "object",
  850. "required": [
  851. "actorDisplayName",
  852. "actorId",
  853. "actorType",
  854. "timestamp"
  855. ],
  856. "properties": {
  857. "actorDisplayName": {
  858. "type": "string"
  859. },
  860. "actorId": {
  861. "type": "string"
  862. },
  863. "actorType": {
  864. "type": "string"
  865. },
  866. "timestamp": {
  867. "type": "integer",
  868. "format": "int64"
  869. }
  870. }
  871. },
  872. "RichObjectParameter": {
  873. "type": "object",
  874. "required": [
  875. "type",
  876. "id",
  877. "name"
  878. ],
  879. "properties": {
  880. "type": {
  881. "type": "string"
  882. },
  883. "id": {
  884. "type": "string"
  885. },
  886. "name": {
  887. "type": "string"
  888. },
  889. "server": {
  890. "type": "string"
  891. },
  892. "link": {
  893. "type": "string"
  894. },
  895. "call-type": {
  896. "type": "string",
  897. "enum": [
  898. "one2one",
  899. "group",
  900. "public"
  901. ]
  902. },
  903. "icon-url": {
  904. "type": "string"
  905. },
  906. "message-id": {
  907. "type": "string"
  908. },
  909. "boardname": {
  910. "type": "string"
  911. },
  912. "stackname": {
  913. "type": "string"
  914. },
  915. "size": {
  916. "type": "string"
  917. },
  918. "path": {
  919. "type": "string"
  920. },
  921. "mimetype": {
  922. "type": "string"
  923. },
  924. "preview-available": {
  925. "type": "string",
  926. "enum": [
  927. "yes",
  928. "no"
  929. ]
  930. },
  931. "mtime": {
  932. "type": "string"
  933. },
  934. "latitude": {
  935. "type": "string"
  936. },
  937. "longitude": {
  938. "type": "string"
  939. },
  940. "description": {
  941. "type": "string"
  942. },
  943. "thumb": {
  944. "type": "string"
  945. },
  946. "website": {
  947. "type": "string"
  948. },
  949. "visibility": {
  950. "type": "string",
  951. "enum": [
  952. "0",
  953. "1"
  954. ]
  955. },
  956. "assignable": {
  957. "type": "string",
  958. "enum": [
  959. "0",
  960. "1"
  961. ]
  962. },
  963. "conversation": {
  964. "type": "string"
  965. }
  966. }
  967. },
  968. "Room": {
  969. "type": "object",
  970. "required": [
  971. "actorId",
  972. "actorType",
  973. "attendeeId",
  974. "attendeePermissions",
  975. "attendeePin",
  976. "avatarVersion",
  977. "breakoutRoomMode",
  978. "breakoutRoomStatus",
  979. "callFlag",
  980. "callPermissions",
  981. "callRecording",
  982. "callStartTime",
  983. "canDeleteConversation",
  984. "canEnableSIP",
  985. "canLeaveConversation",
  986. "canStartCall",
  987. "defaultPermissions",
  988. "description",
  989. "displayName",
  990. "hasCall",
  991. "hasPassword",
  992. "id",
  993. "isCustomAvatar",
  994. "isFavorite",
  995. "lastActivity",
  996. "lastCommonReadMessage",
  997. "lastMessage",
  998. "lastPing",
  999. "lastReadMessage",
  1000. "listable",
  1001. "lobbyState",
  1002. "lobbyTimer",
  1003. "messageExpiration",
  1004. "name",
  1005. "notificationCalls",
  1006. "notificationLevel",
  1007. "objectId",
  1008. "objectType",
  1009. "participantFlags",
  1010. "participantType",
  1011. "permissions",
  1012. "readOnly",
  1013. "recordingConsent",
  1014. "sessionId",
  1015. "sipEnabled",
  1016. "token",
  1017. "type",
  1018. "unreadMention",
  1019. "unreadMentionDirect",
  1020. "unreadMessages"
  1021. ],
  1022. "properties": {
  1023. "actorId": {
  1024. "type": "string"
  1025. },
  1026. "actorType": {
  1027. "type": "string"
  1028. },
  1029. "attendeeId": {
  1030. "type": "integer",
  1031. "format": "int64"
  1032. },
  1033. "attendeePermissions": {
  1034. "type": "integer",
  1035. "format": "int64"
  1036. },
  1037. "attendeePin": {
  1038. "type": "string",
  1039. "nullable": true
  1040. },
  1041. "avatarVersion": {
  1042. "type": "string"
  1043. },
  1044. "breakoutRoomMode": {
  1045. "type": "integer",
  1046. "format": "int64"
  1047. },
  1048. "breakoutRoomStatus": {
  1049. "type": "integer",
  1050. "format": "int64"
  1051. },
  1052. "callFlag": {
  1053. "type": "integer",
  1054. "format": "int64"
  1055. },
  1056. "callPermissions": {
  1057. "type": "integer",
  1058. "format": "int64"
  1059. },
  1060. "callRecording": {
  1061. "type": "integer",
  1062. "format": "int64"
  1063. },
  1064. "callStartTime": {
  1065. "type": "integer",
  1066. "format": "int64"
  1067. },
  1068. "canDeleteConversation": {
  1069. "type": "boolean"
  1070. },
  1071. "canEnableSIP": {
  1072. "type": "boolean"
  1073. },
  1074. "canLeaveConversation": {
  1075. "type": "boolean"
  1076. },
  1077. "canStartCall": {
  1078. "type": "boolean"
  1079. },
  1080. "defaultPermissions": {
  1081. "type": "integer",
  1082. "format": "int64"
  1083. },
  1084. "description": {
  1085. "type": "string"
  1086. },
  1087. "displayName": {
  1088. "type": "string"
  1089. },
  1090. "hasCall": {
  1091. "type": "boolean"
  1092. },
  1093. "hasPassword": {
  1094. "type": "boolean"
  1095. },
  1096. "id": {
  1097. "type": "integer",
  1098. "format": "int64"
  1099. },
  1100. "isCustomAvatar": {
  1101. "type": "boolean"
  1102. },
  1103. "isFavorite": {
  1104. "type": "boolean"
  1105. },
  1106. "lastActivity": {
  1107. "type": "integer",
  1108. "format": "int64"
  1109. },
  1110. "lastCommonReadMessage": {
  1111. "type": "integer",
  1112. "format": "int64"
  1113. },
  1114. "lastMessage": {
  1115. "oneOf": [
  1116. {
  1117. "$ref": "#/components/schemas/RoomLastMessage"
  1118. },
  1119. {
  1120. "type": "array",
  1121. "maxLength": 0
  1122. }
  1123. ]
  1124. },
  1125. "lastPing": {
  1126. "type": "integer",
  1127. "format": "int64"
  1128. },
  1129. "lastReadMessage": {
  1130. "type": "integer",
  1131. "format": "int64"
  1132. },
  1133. "listable": {
  1134. "type": "integer",
  1135. "format": "int64"
  1136. },
  1137. "lobbyState": {
  1138. "type": "integer",
  1139. "format": "int64"
  1140. },
  1141. "lobbyTimer": {
  1142. "type": "integer",
  1143. "format": "int64"
  1144. },
  1145. "messageExpiration": {
  1146. "type": "integer",
  1147. "format": "int64"
  1148. },
  1149. "name": {
  1150. "type": "string"
  1151. },
  1152. "notificationCalls": {
  1153. "type": "integer",
  1154. "format": "int64"
  1155. },
  1156. "notificationLevel": {
  1157. "type": "integer",
  1158. "format": "int64"
  1159. },
  1160. "objectId": {
  1161. "type": "string"
  1162. },
  1163. "objectType": {
  1164. "type": "string"
  1165. },
  1166. "participantFlags": {
  1167. "type": "integer",
  1168. "format": "int64"
  1169. },
  1170. "participantType": {
  1171. "type": "integer",
  1172. "format": "int64"
  1173. },
  1174. "permissions": {
  1175. "type": "integer",
  1176. "format": "int64"
  1177. },
  1178. "readOnly": {
  1179. "type": "integer",
  1180. "format": "int64"
  1181. },
  1182. "recordingConsent": {
  1183. "type": "integer",
  1184. "format": "int64"
  1185. },
  1186. "sessionId": {
  1187. "type": "string"
  1188. },
  1189. "sipEnabled": {
  1190. "type": "integer",
  1191. "format": "int64"
  1192. },
  1193. "status": {
  1194. "type": "string"
  1195. },
  1196. "statusClearAt": {
  1197. "type": "integer",
  1198. "format": "int64",
  1199. "nullable": true
  1200. },
  1201. "statusIcon": {
  1202. "type": "string",
  1203. "nullable": true
  1204. },
  1205. "statusMessage": {
  1206. "type": "string",
  1207. "nullable": true
  1208. },
  1209. "token": {
  1210. "type": "string"
  1211. },
  1212. "type": {
  1213. "type": "integer",
  1214. "format": "int64"
  1215. },
  1216. "unreadMention": {
  1217. "type": "boolean"
  1218. },
  1219. "unreadMentionDirect": {
  1220. "type": "boolean"
  1221. },
  1222. "unreadMessages": {
  1223. "type": "integer",
  1224. "format": "int64"
  1225. }
  1226. }
  1227. },
  1228. "RoomLastMessage": {
  1229. "oneOf": [
  1230. {
  1231. "$ref": "#/components/schemas/ChatMessage"
  1232. },
  1233. {
  1234. "$ref": "#/components/schemas/RoomProxyMessage"
  1235. }
  1236. ]
  1237. },
  1238. "RoomProxyMessage": {
  1239. "type": "object",
  1240. "required": [
  1241. "actorDisplayName",
  1242. "actorId",
  1243. "actorType",
  1244. "expirationTimestamp",
  1245. "message",
  1246. "messageParameters",
  1247. "messageType",
  1248. "systemMessage"
  1249. ],
  1250. "properties": {
  1251. "actorDisplayName": {
  1252. "type": "string"
  1253. },
  1254. "actorId": {
  1255. "type": "string"
  1256. },
  1257. "actorType": {
  1258. "type": "string"
  1259. },
  1260. "expirationTimestamp": {
  1261. "type": "integer",
  1262. "format": "int64"
  1263. },
  1264. "message": {
  1265. "type": "string"
  1266. },
  1267. "messageParameters": {
  1268. "type": "object",
  1269. "additionalProperties": {
  1270. "$ref": "#/components/schemas/RichObjectParameter"
  1271. }
  1272. },
  1273. "messageType": {
  1274. "type": "string"
  1275. },
  1276. "systemMessage": {
  1277. "type": "string"
  1278. }
  1279. }
  1280. },
  1281. "SignalingSession": {
  1282. "type": "object",
  1283. "required": [
  1284. "inCall",
  1285. "lastPing",
  1286. "participantPermissions",
  1287. "roomId",
  1288. "sessionId",
  1289. "userId"
  1290. ],
  1291. "properties": {
  1292. "inCall": {
  1293. "type": "integer",
  1294. "format": "int64"
  1295. },
  1296. "lastPing": {
  1297. "type": "integer",
  1298. "format": "int64"
  1299. },
  1300. "participantPermissions": {
  1301. "type": "integer",
  1302. "format": "int64"
  1303. },
  1304. "roomId": {
  1305. "type": "integer",
  1306. "format": "int64"
  1307. },
  1308. "sessionId": {
  1309. "type": "string"
  1310. },
  1311. "userId": {
  1312. "type": "string"
  1313. }
  1314. }
  1315. },
  1316. "SignalingSettings": {
  1317. "type": "object",
  1318. "required": [
  1319. "helloAuthParams",
  1320. "hideWarning",
  1321. "server",
  1322. "signalingMode",
  1323. "sipDialinInfo",
  1324. "stunservers",
  1325. "ticket",
  1326. "turnservers",
  1327. "userId"
  1328. ],
  1329. "properties": {
  1330. "helloAuthParams": {
  1331. "type": "object",
  1332. "required": [
  1333. "1.0",
  1334. "2.0"
  1335. ],
  1336. "properties": {
  1337. "1.0": {
  1338. "type": "object",
  1339. "required": [
  1340. "userid",
  1341. "ticket"
  1342. ],
  1343. "properties": {
  1344. "userid": {
  1345. "type": "string",
  1346. "nullable": true
  1347. },
  1348. "ticket": {
  1349. "type": "string"
  1350. }
  1351. }
  1352. },
  1353. "2.0": {
  1354. "type": "object",
  1355. "required": [
  1356. "token"
  1357. ],
  1358. "properties": {
  1359. "token": {
  1360. "type": "string"
  1361. }
  1362. }
  1363. }
  1364. }
  1365. },
  1366. "hideWarning": {
  1367. "type": "boolean"
  1368. },
  1369. "server": {
  1370. "type": "string"
  1371. },
  1372. "signalingMode": {
  1373. "type": "string"
  1374. },
  1375. "sipDialinInfo": {
  1376. "type": "string"
  1377. },
  1378. "stunservers": {
  1379. "type": "array",
  1380. "items": {
  1381. "type": "object",
  1382. "required": [
  1383. "urls"
  1384. ],
  1385. "properties": {
  1386. "urls": {
  1387. "type": "array",
  1388. "items": {
  1389. "type": "string"
  1390. }
  1391. }
  1392. }
  1393. }
  1394. },
  1395. "ticket": {
  1396. "type": "string"
  1397. },
  1398. "turnservers": {
  1399. "type": "array",
  1400. "items": {
  1401. "type": "object",
  1402. "required": [
  1403. "urls",
  1404. "username",
  1405. "credential"
  1406. ],
  1407. "properties": {
  1408. "urls": {
  1409. "type": "array",
  1410. "items": {
  1411. "type": "string"
  1412. }
  1413. },
  1414. "username": {
  1415. "type": "string"
  1416. },
  1417. "credential": {
  1418. "type": "object"
  1419. }
  1420. }
  1421. }
  1422. },
  1423. "userId": {
  1424. "type": "string",
  1425. "nullable": true
  1426. }
  1427. }
  1428. }
  1429. }
  1430. },
  1431. "paths": {
  1432. "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/avatar": {
  1433. "post": {
  1434. "operationId": "avatar-upload-avatar",
  1435. "summary": "Upload an avatar for a room",
  1436. "tags": [
  1437. "avatar"
  1438. ],
  1439. "security": [
  1440. {},
  1441. {
  1442. "bearer_auth": []
  1443. },
  1444. {
  1445. "basic_auth": []
  1446. }
  1447. ],
  1448. "parameters": [
  1449. {
  1450. "name": "apiVersion",
  1451. "in": "path",
  1452. "required": true,
  1453. "schema": {
  1454. "type": "string",
  1455. "enum": [
  1456. "v1"
  1457. ],
  1458. "default": "v1"
  1459. }
  1460. },
  1461. {
  1462. "name": "token",
  1463. "in": "path",
  1464. "required": true,
  1465. "schema": {
  1466. "type": "string",
  1467. "pattern": "^[a-z0-9]{4,30}$"
  1468. }
  1469. },
  1470. {
  1471. "name": "OCS-APIRequest",
  1472. "in": "header",
  1473. "description": "Required to be true for the API request to pass",
  1474. "required": true,
  1475. "schema": {
  1476. "type": "boolean",
  1477. "default": true
  1478. }
  1479. }
  1480. ],
  1481. "responses": {
  1482. "200": {
  1483. "description": "Avatar uploaded successfully",
  1484. "content": {
  1485. "application/json": {
  1486. "schema": {
  1487. "type": "object",
  1488. "required": [
  1489. "ocs"
  1490. ],
  1491. "properties": {
  1492. "ocs": {
  1493. "type": "object",
  1494. "required": [
  1495. "meta",
  1496. "data"
  1497. ],
  1498. "properties": {
  1499. "meta": {
  1500. "$ref": "#/components/schemas/OCSMeta"
  1501. },
  1502. "data": {
  1503. "$ref": "#/components/schemas/Room"
  1504. }
  1505. }
  1506. }
  1507. }
  1508. }
  1509. }
  1510. }
  1511. },
  1512. "400": {
  1513. "description": "Avatar invalid",
  1514. "content": {
  1515. "application/json": {
  1516. "schema": {
  1517. "type": "object",
  1518. "required": [
  1519. "ocs"
  1520. ],
  1521. "properties": {
  1522. "ocs": {
  1523. "type": "object",
  1524. "required": [
  1525. "meta",
  1526. "data"
  1527. ],
  1528. "properties": {
  1529. "meta": {
  1530. "$ref": "#/components/schemas/OCSMeta"
  1531. },
  1532. "data": {
  1533. "type": "object",
  1534. "required": [
  1535. "message"
  1536. ],
  1537. "properties": {
  1538. "message": {
  1539. "type": "string"
  1540. }
  1541. }
  1542. }
  1543. }
  1544. }
  1545. }
  1546. }
  1547. }
  1548. }
  1549. }
  1550. }
  1551. },
  1552. "get": {
  1553. "operationId": "avatar-get-avatar",
  1554. "summary": "Get the avatar of a room",
  1555. "tags": [
  1556. "avatar"
  1557. ],
  1558. "security": [
  1559. {},
  1560. {
  1561. "bearer_auth": []
  1562. },
  1563. {
  1564. "basic_auth": []
  1565. }
  1566. ],
  1567. "parameters": [
  1568. {
  1569. "name": "darkTheme",
  1570. "in": "query",
  1571. "description": "Theme used for background",
  1572. "schema": {
  1573. "type": "integer",
  1574. "default": 0,
  1575. "enum": [
  1576. 0,
  1577. 1
  1578. ]
  1579. }
  1580. },
  1581. {
  1582. "name": "apiVersion",
  1583. "in": "path",
  1584. "required": true,
  1585. "schema": {
  1586. "type": "string",
  1587. "enum": [
  1588. "v1"
  1589. ],
  1590. "default": "v1"
  1591. }
  1592. },
  1593. {
  1594. "name": "token",
  1595. "in": "path",
  1596. "required": true,
  1597. "schema": {
  1598. "type": "string",
  1599. "pattern": "^[a-z0-9]{4,30}$"
  1600. }
  1601. },
  1602. {
  1603. "name": "OCS-APIRequest",
  1604. "in": "header",
  1605. "description": "Required to be true for the API request to pass",
  1606. "required": true,
  1607. "schema": {
  1608. "type": "boolean",
  1609. "default": true
  1610. }
  1611. }
  1612. ],
  1613. "responses": {
  1614. "200": {
  1615. "description": "Room avatar returned",
  1616. "content": {
  1617. "*/*": {
  1618. "schema": {
  1619. "type": "string",
  1620. "format": "binary"
  1621. }
  1622. }
  1623. }
  1624. }
  1625. }
  1626. },
  1627. "delete": {
  1628. "operationId": "avatar-delete-avatar",
  1629. "summary": "Delete the avatar of a room",
  1630. "tags": [
  1631. "avatar"
  1632. ],
  1633. "security": [
  1634. {},
  1635. {
  1636. "bearer_auth": []
  1637. },
  1638. {
  1639. "basic_auth": []
  1640. }
  1641. ],
  1642. "parameters": [
  1643. {
  1644. "name": "apiVersion",
  1645. "in": "path",
  1646. "required": true,
  1647. "schema": {
  1648. "type": "string",
  1649. "enum": [
  1650. "v1"
  1651. ],
  1652. "default": "v1"
  1653. }
  1654. },
  1655. {
  1656. "name": "token",
  1657. "in": "path",
  1658. "required": true,
  1659. "schema": {
  1660. "type": "string",
  1661. "pattern": "^[a-z0-9]{4,30}$"
  1662. }
  1663. },
  1664. {
  1665. "name": "OCS-APIRequest",
  1666. "in": "header",
  1667. "description": "Required to be true for the API request to pass",
  1668. "required": true,
  1669. "schema": {
  1670. "type": "boolean",
  1671. "default": true
  1672. }
  1673. }
  1674. ],
  1675. "responses": {
  1676. "200": {
  1677. "description": "Avatar removed successfully",
  1678. "content": {
  1679. "application/json": {
  1680. "schema": {
  1681. "type": "object",
  1682. "required": [
  1683. "ocs"
  1684. ],
  1685. "properties": {
  1686. "ocs": {
  1687. "type": "object",
  1688. "required": [
  1689. "meta",
  1690. "data"
  1691. ],
  1692. "properties": {
  1693. "meta": {
  1694. "$ref": "#/components/schemas/OCSMeta"
  1695. },
  1696. "data": {
  1697. "$ref": "#/components/schemas/Room"
  1698. }
  1699. }
  1700. }
  1701. }
  1702. }
  1703. }
  1704. }
  1705. }
  1706. }
  1707. }
  1708. },
  1709. "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/avatar/emoji": {
  1710. "post": {
  1711. "operationId": "avatar-emoji-avatar",
  1712. "summary": "Set an emoji as avatar",
  1713. "tags": [
  1714. "avatar"
  1715. ],
  1716. "security": [
  1717. {},
  1718. {
  1719. "bearer_auth": []
  1720. },
  1721. {
  1722. "basic_auth": []
  1723. }
  1724. ],
  1725. "parameters": [
  1726. {
  1727. "name": "emoji",
  1728. "in": "query",
  1729. "description": "Emoji",
  1730. "required": true,
  1731. "schema": {
  1732. "type": "string"
  1733. }
  1734. },
  1735. {
  1736. "name": "color",
  1737. "in": "query",
  1738. "description": "Color of the emoji",
  1739. "schema": {
  1740. "type": "string",
  1741. "nullable": true
  1742. }
  1743. },
  1744. {
  1745. "name": "apiVersion",
  1746. "in": "path",
  1747. "required": true,
  1748. "schema": {
  1749. "type": "string",
  1750. "enum": [
  1751. "v1"
  1752. ],
  1753. "default": "v1"
  1754. }
  1755. },
  1756. {
  1757. "name": "token",
  1758. "in": "path",
  1759. "required": true,
  1760. "schema": {
  1761. "type": "string",
  1762. "pattern": "^[a-z0-9]{4,30}$"
  1763. }
  1764. },
  1765. {
  1766. "name": "OCS-APIRequest",
  1767. "in": "header",
  1768. "description": "Required to be true for the API request to pass",
  1769. "required": true,
  1770. "schema": {
  1771. "type": "boolean",
  1772. "default": true
  1773. }
  1774. }
  1775. ],
  1776. "responses": {
  1777. "200": {
  1778. "description": "Avatar set successfully",
  1779. "content": {
  1780. "application/json": {
  1781. "schema": {
  1782. "type": "object",
  1783. "required": [
  1784. "ocs"
  1785. ],
  1786. "properties": {
  1787. "ocs": {
  1788. "type": "object",
  1789. "required": [
  1790. "meta",
  1791. "data"
  1792. ],
  1793. "properties": {
  1794. "meta": {
  1795. "$ref": "#/components/schemas/OCSMeta"
  1796. },
  1797. "data": {
  1798. "$ref": "#/components/schemas/Room"
  1799. }
  1800. }
  1801. }
  1802. }
  1803. }
  1804. }
  1805. }
  1806. },
  1807. "400": {
  1808. "description": "Setting emoji avatar is not possible",
  1809. "content": {
  1810. "application/json": {
  1811. "schema": {
  1812. "type": "object",
  1813. "required": [
  1814. "ocs"
  1815. ],
  1816. "properties": {
  1817. "ocs": {
  1818. "type": "object",
  1819. "required": [
  1820. "meta",
  1821. "data"
  1822. ],
  1823. "properties": {
  1824. "meta": {
  1825. "$ref": "#/components/schemas/OCSMeta"
  1826. },
  1827. "data": {
  1828. "type": "object",
  1829. "required": [
  1830. "message"
  1831. ],
  1832. "properties": {
  1833. "message": {
  1834. "type": "string"
  1835. }
  1836. }
  1837. }
  1838. }
  1839. }
  1840. }
  1841. }
  1842. }
  1843. }
  1844. }
  1845. }
  1846. }
  1847. },
  1848. "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/avatar/dark": {
  1849. "get": {
  1850. "operationId": "avatar-get-avatar-dark",
  1851. "summary": "Get the dark mode avatar of a room",
  1852. "tags": [
  1853. "avatar"
  1854. ],
  1855. "security": [
  1856. {},
  1857. {
  1858. "bearer_auth": []
  1859. },
  1860. {
  1861. "basic_auth": []
  1862. }
  1863. ],
  1864. "parameters": [
  1865. {
  1866. "name": "apiVersion",
  1867. "in": "path",
  1868. "required": true,
  1869. "schema": {
  1870. "type": "string",
  1871. "enum": [
  1872. "v1"
  1873. ],
  1874. "default": "v1"
  1875. }
  1876. },
  1877. {
  1878. "name": "token",
  1879. "in": "path",
  1880. "required": true,
  1881. "schema": {
  1882. "type": "string",
  1883. "pattern": "^[a-z0-9]{4,30}$"
  1884. }
  1885. },
  1886. {
  1887. "name": "OCS-APIRequest",
  1888. "in": "header",
  1889. "description": "Required to be true for the API request to pass",
  1890. "required": true,
  1891. "schema": {
  1892. "type": "boolean",
  1893. "default": true
  1894. }
  1895. }
  1896. ],
  1897. "responses": {
  1898. "200": {
  1899. "description": "Room avatar returned",
  1900. "content": {
  1901. "*/*": {
  1902. "schema": {
  1903. "type": "string",
  1904. "format": "binary"
  1905. }
  1906. }
  1907. }
  1908. }
  1909. }
  1910. }
  1911. },
  1912. "/ocs/v2.php/apps/spreed/api/{apiVersion}/bot/{token}": {
  1913. "get": {
  1914. "operationId": "bot-list-bots",
  1915. "summary": "List bots",
  1916. "tags": [
  1917. "bot"
  1918. ],
  1919. "security": [
  1920. {
  1921. "bearer_auth": []
  1922. },
  1923. {
  1924. "basic_auth": []
  1925. }
  1926. ],
  1927. "parameters": [
  1928. {
  1929. "name": "apiVersion",
  1930. "in": "path",
  1931. "required": true,
  1932. "schema": {
  1933. "type": "string",
  1934. "enum": [
  1935. "v1"
  1936. ],
  1937. "default": "v1"
  1938. }
  1939. },
  1940. {
  1941. "name": "token",
  1942. "in": "path",
  1943. "required": true,
  1944. "schema": {
  1945. "type": "string",
  1946. "pattern": "^[a-z0-9]{4,30}$"
  1947. }
  1948. },
  1949. {
  1950. "name": "OCS-APIRequest",
  1951. "in": "header",
  1952. "description": "Required to be true for the API request to pass",
  1953. "required": true,
  1954. "schema": {
  1955. "type": "boolean",
  1956. "default": true
  1957. }
  1958. }
  1959. ],
  1960. "responses": {
  1961. "200": {
  1962. "description": "Bot list returned",
  1963. "content": {
  1964. "application/json": {
  1965. "schema": {
  1966. "type": "object",
  1967. "required": [
  1968. "ocs"
  1969. ],
  1970. "properties": {
  1971. "ocs": {
  1972. "type": "object",
  1973. "required": [
  1974. "meta",
  1975. "data"
  1976. ],
  1977. "properties": {
  1978. "meta": {
  1979. "$ref": "#/components/schemas/OCSMeta"
  1980. },
  1981. "data": {
  1982. "type": "array",
  1983. "items": {
  1984. "$ref": "#/components/schemas/Bot"
  1985. }
  1986. }
  1987. }
  1988. }
  1989. }
  1990. }
  1991. }
  1992. }
  1993. }
  1994. }
  1995. }
  1996. },
  1997. "/ocs/v2.php/apps/spreed/api/{apiVersion}/bot/{token}/{botId}": {
  1998. "post": {
  1999. "operationId": "bot-enable-bot",
  2000. "summary": "Enables a bot",
  2001. "tags": [
  2002. "bot"
  2003. ],
  2004. "security": [
  2005. {
  2006. "bearer_auth": []
  2007. },
  2008. {
  2009. "basic_auth": []
  2010. }
  2011. ],
  2012. "parameters": [
  2013. {
  2014. "name": "apiVersion",
  2015. "in": "path",
  2016. "required": true,
  2017. "schema": {
  2018. "type": "string",
  2019. "enum": [
  2020. "v1"
  2021. ],
  2022. "default": "v1"
  2023. }
  2024. },
  2025. {
  2026. "name": "token",
  2027. "in": "path",
  2028. "required": true,
  2029. "schema": {
  2030. "type": "string",
  2031. "pattern": "^[a-z0-9]{4,30}$"
  2032. }
  2033. },
  2034. {
  2035. "name": "botId",
  2036. "in": "path",
  2037. "description": "ID of the bot",
  2038. "required": true,
  2039. "schema": {
  2040. "type": "integer",
  2041. "format": "int64"
  2042. }
  2043. },
  2044. {
  2045. "name": "OCS-APIRequest",
  2046. "in": "header",
  2047. "description": "Required to be true for the API request to pass",
  2048. "required": true,
  2049. "schema": {
  2050. "type": "boolean",
  2051. "default": true
  2052. }
  2053. }
  2054. ],
  2055. "responses": {
  2056. "200": {
  2057. "description": "Bot already enabled",
  2058. "content": {
  2059. "application/json": {
  2060. "schema": {
  2061. "type": "object",
  2062. "required": [
  2063. "ocs"
  2064. ],
  2065. "properties": {
  2066. "ocs": {
  2067. "type": "object",
  2068. "required": [
  2069. "meta",
  2070. "data"
  2071. ],
  2072. "properties": {
  2073. "meta": {
  2074. "$ref": "#/components/schemas/OCSMeta"
  2075. },
  2076. "data": {
  2077. "$ref": "#/components/schemas/Bot",
  2078. "nullable": true
  2079. }
  2080. }
  2081. }
  2082. }
  2083. }
  2084. }
  2085. }
  2086. },
  2087. "201": {
  2088. "description": "Bot enabled successfully",
  2089. "content": {
  2090. "application/json": {
  2091. "schema": {
  2092. "type": "object",
  2093. "required": [
  2094. "ocs"
  2095. ],
  2096. "properties": {
  2097. "ocs": {
  2098. "type": "object",
  2099. "required": [
  2100. "meta",
  2101. "data"
  2102. ],
  2103. "properties": {
  2104. "meta": {
  2105. "$ref": "#/components/schemas/OCSMeta"
  2106. },
  2107. "data": {
  2108. "$ref": "#/components/schemas/Bot",
  2109. "nullable": true
  2110. }
  2111. }
  2112. }
  2113. }
  2114. }
  2115. }
  2116. }
  2117. },
  2118. "400": {
  2119. "description": "Enabling bot errored",
  2120. "content": {
  2121. "application/json": {
  2122. "schema": {
  2123. "type": "object",
  2124. "required": [
  2125. "ocs"
  2126. ],
  2127. "properties": {
  2128. "ocs": {
  2129. "type": "object",
  2130. "required": [
  2131. "meta",
  2132. "data"
  2133. ],
  2134. "properties": {
  2135. "meta": {
  2136. "$ref": "#/components/schemas/OCSMeta"
  2137. },
  2138. "data": {
  2139. "type": "object",
  2140. "required": [
  2141. "error"
  2142. ],
  2143. "properties": {
  2144. "error": {
  2145. "type": "string"
  2146. }
  2147. }
  2148. }
  2149. }
  2150. }
  2151. }
  2152. }
  2153. }
  2154. }
  2155. }
  2156. }
  2157. },
  2158. "delete": {
  2159. "operationId": "bot-disable-bot",
  2160. "summary": "Disables a bot",
  2161. "tags": [
  2162. "bot"
  2163. ],
  2164. "security": [
  2165. {
  2166. "bearer_auth": []
  2167. },
  2168. {
  2169. "basic_auth": []
  2170. }
  2171. ],
  2172. "parameters": [
  2173. {
  2174. "name": "apiVersion",
  2175. "in": "path",
  2176. "required": true,
  2177. "schema": {
  2178. "type": "string",
  2179. "enum": [
  2180. "v1"
  2181. ],
  2182. "default": "v1"
  2183. }
  2184. },
  2185. {
  2186. "name": "token",
  2187. "in": "path",
  2188. "required": true,
  2189. "schema": {
  2190. "type": "string",
  2191. "pattern": "^[a-z0-9]{4,30}$"
  2192. }
  2193. },
  2194. {
  2195. "name": "botId",
  2196. "in": "path",
  2197. "description": "ID of the bot",
  2198. "required": true,
  2199. "schema": {
  2200. "type": "integer",
  2201. "format": "int64"
  2202. }
  2203. },
  2204. {
  2205. "name": "OCS-APIRequest",
  2206. "in": "header",
  2207. "description": "Required to be true for the API request to pass",
  2208. "required": true,
  2209. "schema": {
  2210. "type": "boolean",
  2211. "default": true
  2212. }
  2213. }
  2214. ],
  2215. "responses": {
  2216. "200": {
  2217. "description": "Bot disabled successfully",
  2218. "content": {
  2219. "application/json": {
  2220. "schema": {
  2221. "type": "object",
  2222. "required": [
  2223. "ocs"
  2224. ],
  2225. "properties": {
  2226. "ocs": {
  2227. "type": "object",
  2228. "required": [
  2229. "meta",
  2230. "data"
  2231. ],
  2232. "properties": {
  2233. "meta": {
  2234. "$ref": "#/components/schemas/OCSMeta"
  2235. },
  2236. "data": {
  2237. "$ref": "#/components/schemas/Bot",
  2238. "nullable": true
  2239. }
  2240. }
  2241. }
  2242. }
  2243. }
  2244. }
  2245. }
  2246. },
  2247. "400": {
  2248. "description": "Disabling bot errored",
  2249. "content": {
  2250. "application/json": {
  2251. "schema": {
  2252. "type": "object",
  2253. "required": [
  2254. "ocs"
  2255. ],
  2256. "properties": {
  2257. "ocs": {
  2258. "type": "object",
  2259. "required": [
  2260. "meta",
  2261. "data"
  2262. ],
  2263. "properties": {
  2264. "meta": {
  2265. "$ref": "#/components/schemas/OCSMeta"
  2266. },
  2267. "data": {
  2268. "type": "object",
  2269. "required": [
  2270. "error"
  2271. ],
  2272. "properties": {
  2273. "error": {
  2274. "type": "string"
  2275. }
  2276. }
  2277. }
  2278. }
  2279. }
  2280. }
  2281. }
  2282. }
  2283. }
  2284. }
  2285. }
  2286. }
  2287. },
  2288. "/ocs/v2.php/apps/spreed/api/{apiVersion}/breakout-rooms/{token}": {
  2289. "post": {
  2290. "operationId": "breakout_room-configure-breakout-rooms",
  2291. "summary": "Configure the breakout rooms",
  2292. "tags": [
  2293. "breakout_room"
  2294. ],
  2295. "security": [
  2296. {
  2297. "bearer_auth": []
  2298. },
  2299. {
  2300. "basic_auth": []
  2301. }
  2302. ],
  2303. "parameters": [
  2304. {
  2305. "name": "mode",
  2306. "in": "query",
  2307. "description": "Mode of the breakout rooms",
  2308. "required": true,
  2309. "schema": {
  2310. "type": "integer",
  2311. "format": "int64",
  2312. "enum": [
  2313. 0,
  2314. 1,
  2315. 2,
  2316. 3
  2317. ]
  2318. }
  2319. },
  2320. {
  2321. "name": "amount",
  2322. "in": "query",
  2323. "description": "Number of breakout rooms - Constants {@see BreakoutRoom::MINIMUM_ROOM_AMOUNT} and {@see BreakoutRoom::MAXIMUM_ROOM_AMOUNT}",
  2324. "required": true,
  2325. "schema": {
  2326. "type": "integer",
  2327. "format": "int64",
  2328. "minimum": 1,
  2329. "maximum": 20
  2330. }
  2331. },
  2332. {
  2333. "name": "attendeeMap",
  2334. "in": "query",
  2335. "description": "Mapping of the attendees to breakout rooms",
  2336. "schema": {
  2337. "type": "string",
  2338. "default": "[]"
  2339. }
  2340. },
  2341. {
  2342. "name": "apiVersion",
  2343. "in": "path",
  2344. "required": true,
  2345. "schema": {
  2346. "type": "string",
  2347. "enum": [
  2348. "v1"
  2349. ],
  2350. "default": "v1"
  2351. }
  2352. },
  2353. {
  2354. "name": "token",
  2355. "in": "path",
  2356. "required": true,
  2357. "schema": {
  2358. "type": "string",
  2359. "pattern": "^[a-z0-9]{4,30}$"
  2360. }
  2361. },
  2362. {
  2363. "name": "OCS-APIRequest",
  2364. "in": "header",
  2365. "description": "Required to be true for the API request to pass",
  2366. "required": true,
  2367. "schema": {
  2368. "type": "boolean",
  2369. "default": true
  2370. }
  2371. }
  2372. ],
  2373. "responses": {
  2374. "200": {
  2375. "description": "Breakout rooms configured successfully",
  2376. "content": {
  2377. "application/json": {
  2378. "schema": {
  2379. "type": "object",
  2380. "required": [
  2381. "ocs"
  2382. ],
  2383. "properties": {
  2384. "ocs": {
  2385. "type": "object",
  2386. "required": [
  2387. "meta",
  2388. "data"
  2389. ],
  2390. "properties": {
  2391. "meta": {
  2392. "$ref": "#/components/schemas/OCSMeta"
  2393. },
  2394. "data": {
  2395. "type": "array",
  2396. "items": {
  2397. "$ref": "#/components/schemas/Room"
  2398. }
  2399. }
  2400. }
  2401. }
  2402. }
  2403. }
  2404. }
  2405. }
  2406. },
  2407. "400": {
  2408. "description": "Configuring breakout rooms errored",
  2409. "content": {
  2410. "application/json": {
  2411. "schema": {
  2412. "type": "object",
  2413. "required": [
  2414. "ocs"
  2415. ],
  2416. "properties": {
  2417. "ocs": {
  2418. "type": "object",
  2419. "required": [
  2420. "meta",
  2421. "data"
  2422. ],
  2423. "properties": {
  2424. "meta": {
  2425. "$ref": "#/components/schemas/OCSMeta"
  2426. },
  2427. "data": {
  2428. "type": "object",
  2429. "required": [
  2430. "error"
  2431. ],
  2432. "properties": {
  2433. "error": {
  2434. "type": "string"
  2435. }
  2436. }
  2437. }
  2438. }
  2439. }
  2440. }
  2441. }
  2442. }
  2443. }
  2444. }
  2445. }
  2446. },
  2447. "delete": {
  2448. "operationId": "breakout_room-remove-breakout-rooms",
  2449. "summary": "Remove the breakout rooms",
  2450. "tags": [
  2451. "breakout_room"
  2452. ],
  2453. "security": [
  2454. {
  2455. "bearer_auth": []
  2456. },
  2457. {
  2458. "basic_auth": []
  2459. }
  2460. ],
  2461. "parameters": [
  2462. {
  2463. "name": "apiVersion",
  2464. "in": "path",
  2465. "required": true,
  2466. "schema": {
  2467. "type": "string",
  2468. "enum": [
  2469. "v1"
  2470. ],
  2471. "default": "v1"
  2472. }
  2473. },
  2474. {
  2475. "name": "token",
  2476. "in": "path",
  2477. "required": true,
  2478. "schema": {
  2479. "type": "string",
  2480. "pattern": "^[a-z0-9]{4,30}$"
  2481. }
  2482. },
  2483. {
  2484. "name": "OCS-APIRequest",
  2485. "in": "header",
  2486. "description": "Required to be true for the API request to pass",
  2487. "required": true,
  2488. "schema": {
  2489. "type": "boolean",
  2490. "default": true
  2491. }
  2492. }
  2493. ],
  2494. "responses": {
  2495. "200": {
  2496. "description": "Breakout rooms removed successfully",
  2497. "content": {
  2498. "application/json": {
  2499. "schema": {
  2500. "type": "object",
  2501. "required": [
  2502. "ocs"
  2503. ],
  2504. "properties": {
  2505. "ocs": {
  2506. "type": "object",
  2507. "required": [
  2508. "meta",
  2509. "data"
  2510. ],
  2511. "properties": {
  2512. "meta": {
  2513. "$ref": "#/components/schemas/OCSMeta"
  2514. },
  2515. "data": {
  2516. "$ref": "#/components/schemas/Room"
  2517. }
  2518. }
  2519. }
  2520. }
  2521. }
  2522. }
  2523. }
  2524. }
  2525. }
  2526. }
  2527. },
  2528. "/ocs/v2.php/apps/spreed/api/{apiVersion}/breakout-rooms/{token}/broadcast": {
  2529. "post": {
  2530. "operationId": "breakout_room-broadcast-chat-message",
  2531. "summary": "Broadcast a chat message to all breakout rooms",
  2532. "tags": [
  2533. "breakout_room"
  2534. ],
  2535. "security": [
  2536. {
  2537. "bearer_auth": []
  2538. },
  2539. {
  2540. "basic_auth": []
  2541. }
  2542. ],
  2543. "parameters": [
  2544. {
  2545. "name": "message",
  2546. "in": "query",
  2547. "description": "Message to broadcast",
  2548. "required": true,
  2549. "schema": {
  2550. "type": "string"
  2551. }
  2552. },
  2553. {
  2554. "name": "apiVersion",
  2555. "in": "path",
  2556. "required": true,
  2557. "schema": {
  2558. "type": "string",
  2559. "enum": [
  2560. "v1"
  2561. ],
  2562. "default": "v1"
  2563. }
  2564. },
  2565. {
  2566. "name": "token",
  2567. "in": "path",
  2568. "required": true,
  2569. "schema": {
  2570. "type": "string",
  2571. "pattern": "^[a-z0-9]{4,30}$"
  2572. }
  2573. },
  2574. {
  2575. "name": "OCS-APIRequest",
  2576. "in": "header",
  2577. "description": "Required to be true for the API request to pass",
  2578. "required": true,
  2579. "schema": {
  2580. "type": "boolean",
  2581. "default": true
  2582. }
  2583. }
  2584. ],
  2585. "responses": {
  2586. "201": {
  2587. "description": "Chat message broadcasted successfully",
  2588. "content": {
  2589. "application/json": {
  2590. "schema": {
  2591. "type": "object",
  2592. "required": [
  2593. "ocs"
  2594. ],
  2595. "properties": {
  2596. "ocs": {
  2597. "type": "object",
  2598. "required": [
  2599. "meta",
  2600. "data"
  2601. ],
  2602. "properties": {
  2603. "meta": {
  2604. "$ref": "#/components/schemas/OCSMeta"
  2605. },
  2606. "data": {
  2607. "type": "array",
  2608. "items": {
  2609. "$ref": "#/components/schemas/Room"
  2610. }
  2611. }
  2612. }
  2613. }
  2614. }
  2615. }
  2616. }
  2617. }
  2618. },
  2619. "400": {
  2620. "description": "Broadcasting chat message is not possible",
  2621. "content": {
  2622. "application/json": {
  2623. "schema": {
  2624. "type": "object",
  2625. "required": [
  2626. "ocs"
  2627. ],
  2628. "properties": {
  2629. "ocs": {
  2630. "type": "object",
  2631. "required": [
  2632. "meta",
  2633. "data"
  2634. ],
  2635. "properties": {
  2636. "meta": {
  2637. "$ref": "#/components/schemas/OCSMeta"
  2638. },
  2639. "data": {
  2640. "type": "object",
  2641. "required": [
  2642. "error"
  2643. ],
  2644. "properties": {
  2645. "error": {
  2646. "type": "string"
  2647. }
  2648. }
  2649. }
  2650. }
  2651. }
  2652. }
  2653. }
  2654. }
  2655. }
  2656. },
  2657. "413": {
  2658. "description": "Chat message too long",
  2659. "content": {
  2660. "application/json": {
  2661. "schema": {
  2662. "type": "object",
  2663. "required": [
  2664. "ocs"
  2665. ],
  2666. "properties": {
  2667. "ocs": {
  2668. "type": "object",
  2669. "required": [
  2670. "meta",
  2671. "data"
  2672. ],
  2673. "properties": {
  2674. "meta": {
  2675. "$ref": "#/components/schemas/OCSMeta"
  2676. },
  2677. "data": {
  2678. "type": "object",
  2679. "required": [
  2680. "error"
  2681. ],
  2682. "properties": {
  2683. "error": {
  2684. "type": "string"
  2685. }
  2686. }
  2687. }
  2688. }
  2689. }
  2690. }
  2691. }
  2692. }
  2693. }
  2694. }
  2695. }
  2696. }
  2697. },
  2698. "/ocs/v2.php/apps/spreed/api/{apiVersion}/breakout-rooms/{token}/attendees": {
  2699. "post": {
  2700. "operationId": "breakout_room-apply-attendee-map",
  2701. "summary": "Apply an attendee map to the breakout rooms",
  2702. "tags": [
  2703. "breakout_room"
  2704. ],
  2705. "security": [
  2706. {
  2707. "bearer_auth": []
  2708. },
  2709. {
  2710. "basic_auth": []
  2711. }
  2712. ],
  2713. "parameters": [
  2714. {
  2715. "name": "attendeeMap",
  2716. "in": "query",
  2717. "description": "JSON encoded mapping of the attendees to breakout rooms `array<int, int>`",
  2718. "required": true,
  2719. "schema": {
  2720. "type": "string"
  2721. }
  2722. },
  2723. {
  2724. "name": "apiVersion",
  2725. "in": "path",
  2726. "required": true,
  2727. "schema": {
  2728. "type": "string",
  2729. "enum": [
  2730. "v1"
  2731. ],
  2732. "default": "v1"
  2733. }
  2734. },
  2735. {
  2736. "name": "token",
  2737. "in": "path",
  2738. "required": true,
  2739. "schema": {
  2740. "type": "string",
  2741. "pattern": "^[a-z0-9]{4,30}$"
  2742. }
  2743. },
  2744. {
  2745. "name": "OCS-APIRequest",
  2746. "in": "header",
  2747. "description": "Required to be true for the API request to pass",
  2748. "required": true,
  2749. "schema": {
  2750. "type": "boolean",
  2751. "default": true
  2752. }
  2753. }
  2754. ],
  2755. "responses": {
  2756. "200": {
  2757. "description": "Attendee map applied successfully",
  2758. "content": {
  2759. "application/json": {
  2760. "schema": {
  2761. "type": "object",
  2762. "required": [
  2763. "ocs"
  2764. ],
  2765. "properties": {
  2766. "ocs": {
  2767. "type": "object",
  2768. "required": [
  2769. "meta",
  2770. "data"
  2771. ],
  2772. "properties": {
  2773. "meta": {
  2774. "$ref": "#/components/schemas/OCSMeta"
  2775. },
  2776. "data": {
  2777. "type": "array",
  2778. "items": {
  2779. "$ref": "#/components/schemas/Room"
  2780. }
  2781. }
  2782. }
  2783. }
  2784. }
  2785. }
  2786. }
  2787. }
  2788. },
  2789. "400": {
  2790. "description": "Applying attendee map is not possible",
  2791. "content": {
  2792. "application/json": {
  2793. "schema": {
  2794. "type": "object",
  2795. "required": [
  2796. "ocs"
  2797. ],
  2798. "properties": {
  2799. "ocs": {
  2800. "type": "object",
  2801. "required": [
  2802. "meta",
  2803. "data"
  2804. ],
  2805. "properties": {
  2806. "meta": {
  2807. "$ref": "#/components/schemas/OCSMeta"
  2808. },
  2809. "data": {
  2810. "type": "object",
  2811. "required": [
  2812. "error"
  2813. ],
  2814. "properties": {
  2815. "error": {
  2816. "type": "string"
  2817. }
  2818. }
  2819. }
  2820. }
  2821. }
  2822. }
  2823. }
  2824. }
  2825. }
  2826. }
  2827. }
  2828. }
  2829. },
  2830. "/ocs/v2.php/apps/spreed/api/{apiVersion}/breakout-rooms/{token}/request-assistance": {
  2831. "post": {
  2832. "operationId": "breakout_room-request-assistance",
  2833. "summary": "Request assistance",
  2834. "tags": [
  2835. "breakout_room"
  2836. ],
  2837. "security": [
  2838. {
  2839. "bearer_auth": []
  2840. },
  2841. {
  2842. "basic_auth": []
  2843. }
  2844. ],
  2845. "parameters": [
  2846. {
  2847. "name": "apiVersion",
  2848. "in": "path",
  2849. "required": true,
  2850. "schema": {
  2851. "type": "string",
  2852. "enum": [
  2853. "v1"
  2854. ],
  2855. "default": "v1"
  2856. }
  2857. },
  2858. {
  2859. "name": "token",
  2860. "in": "path",
  2861. "required": true,
  2862. "schema": {
  2863. "type": "string",
  2864. "pattern": "^[a-z0-9]{4,30}$"
  2865. }
  2866. },
  2867. {
  2868. "name": "OCS-APIRequest",
  2869. "in": "header",
  2870. "description": "Required to be true for the API request to pass",
  2871. "required": true,
  2872. "schema": {
  2873. "type": "boolean",
  2874. "default": true
  2875. }
  2876. }
  2877. ],
  2878. "responses": {
  2879. "200": {
  2880. "description": "Assistance requested successfully",
  2881. "content": {
  2882. "application/json": {
  2883. "schema": {
  2884. "type": "object",
  2885. "required": [
  2886. "ocs"
  2887. ],
  2888. "properties": {
  2889. "ocs": {
  2890. "type": "object",
  2891. "required": [
  2892. "meta",
  2893. "data"
  2894. ],
  2895. "properties": {
  2896. "meta": {
  2897. "$ref": "#/components/schemas/OCSMeta"
  2898. },
  2899. "data": {
  2900. "$ref": "#/components/schemas/Room"
  2901. }
  2902. }
  2903. }
  2904. }
  2905. }
  2906. }
  2907. }
  2908. },
  2909. "400": {
  2910. "description": "Requesting assistance is not possible",
  2911. "content": {
  2912. "application/json": {
  2913. "schema": {
  2914. "type": "object",
  2915. "required": [
  2916. "ocs"
  2917. ],
  2918. "properties": {
  2919. "ocs": {
  2920. "type": "object",
  2921. "required": [
  2922. "meta",
  2923. "data"
  2924. ],
  2925. "properties": {
  2926. "meta": {
  2927. "$ref": "#/components/schemas/OCSMeta"
  2928. },
  2929. "data": {
  2930. "type": "object",
  2931. "required": [
  2932. "error"
  2933. ],
  2934. "properties": {
  2935. "error": {
  2936. "type": "string"
  2937. }
  2938. }
  2939. }
  2940. }
  2941. }
  2942. }
  2943. }
  2944. }
  2945. }
  2946. }
  2947. }
  2948. },
  2949. "delete": {
  2950. "operationId": "breakout_room-reset-request-for-assistance",
  2951. "summary": "Reset the request for assistance",
  2952. "tags": [
  2953. "breakout_room"
  2954. ],
  2955. "security": [
  2956. {
  2957. "bearer_auth": []
  2958. },
  2959. {
  2960. "basic_auth": []
  2961. }
  2962. ],
  2963. "parameters": [
  2964. {
  2965. "name": "apiVersion",
  2966. "in": "path",
  2967. "required": true,
  2968. "schema": {
  2969. "type": "string",
  2970. "enum": [
  2971. "v1"
  2972. ],
  2973. "default": "v1"
  2974. }
  2975. },
  2976. {
  2977. "name": "token",
  2978. "in": "path",
  2979. "required": true,
  2980. "schema": {
  2981. "type": "string",
  2982. "pattern": "^[a-z0-9]{4,30}$"
  2983. }
  2984. },
  2985. {
  2986. "name": "OCS-APIRequest",
  2987. "in": "header",
  2988. "description": "Required to be true for the API request to pass",
  2989. "required": true,
  2990. "schema": {
  2991. "type": "boolean",
  2992. "default": true
  2993. }
  2994. }
  2995. ],
  2996. "responses": {
  2997. "200": {
  2998. "description": "Request for assistance reset successfully",
  2999. "content": {
  3000. "application/json": {
  3001. "schema": {
  3002. "type": "object",
  3003. "required": [
  3004. "ocs"
  3005. ],
  3006. "properties": {
  3007. "ocs": {
  3008. "type": "object",
  3009. "required": [
  3010. "meta",
  3011. "data"
  3012. ],
  3013. "properties": {
  3014. "meta": {
  3015. "$ref": "#/components/schemas/OCSMeta"
  3016. },
  3017. "data": {
  3018. "$ref": "#/components/schemas/Room"
  3019. }
  3020. }
  3021. }
  3022. }
  3023. }
  3024. }
  3025. }
  3026. },
  3027. "400": {
  3028. "description": "Resetting the request for assistance is not possible",
  3029. "content": {
  3030. "application/json": {
  3031. "schema": {
  3032. "type": "object",
  3033. "required": [
  3034. "ocs"
  3035. ],
  3036. "properties": {
  3037. "ocs": {
  3038. "type": "object",
  3039. "required": [
  3040. "meta",
  3041. "data"
  3042. ],
  3043. "properties": {
  3044. "meta": {
  3045. "$ref": "#/components/schemas/OCSMeta"
  3046. },
  3047. "data": {
  3048. "type": "object",
  3049. "required": [
  3050. "error"
  3051. ],
  3052. "properties": {
  3053. "error": {
  3054. "type": "string"
  3055. }
  3056. }
  3057. }
  3058. }
  3059. }
  3060. }
  3061. }
  3062. }
  3063. }
  3064. }
  3065. }
  3066. }
  3067. },
  3068. "/ocs/v2.php/apps/spreed/api/{apiVersion}/breakout-rooms/{token}/rooms": {
  3069. "post": {
  3070. "operationId": "breakout_room-start-breakout-rooms",
  3071. "summary": "Start the breakout rooms",
  3072. "tags": [
  3073. "breakout_room"
  3074. ],
  3075. "security": [
  3076. {
  3077. "bearer_auth": []
  3078. },
  3079. {
  3080. "basic_auth": []
  3081. }
  3082. ],
  3083. "parameters": [
  3084. {
  3085. "name": "apiVersion",
  3086. "in": "path",
  3087. "required": true,
  3088. "schema": {
  3089. "type": "string",
  3090. "enum": [
  3091. "v1"
  3092. ],
  3093. "default": "v1"
  3094. }
  3095. },
  3096. {
  3097. "name": "token",
  3098. "in": "path",
  3099. "required": true,
  3100. "schema": {
  3101. "type": "string",
  3102. "pattern": "^[a-z0-9]{4,30}$"
  3103. }
  3104. },
  3105. {
  3106. "name": "OCS-APIRequest",
  3107. "in": "header",
  3108. "description": "Required to be true for the API request to pass",
  3109. "required": true,
  3110. "schema": {
  3111. "type": "boolean",
  3112. "default": true
  3113. }
  3114. }
  3115. ],
  3116. "responses": {
  3117. "200": {
  3118. "description": "Breakout rooms started successfully",
  3119. "content": {
  3120. "application/json": {
  3121. "schema": {
  3122. "type": "object",
  3123. "required": [
  3124. "ocs"
  3125. ],
  3126. "properties": {
  3127. "ocs": {
  3128. "type": "object",
  3129. "required": [
  3130. "meta",
  3131. "data"
  3132. ],
  3133. "properties": {
  3134. "meta": {
  3135. "$ref": "#/components/schemas/OCSMeta"
  3136. },
  3137. "data": {
  3138. "type": "array",
  3139. "items": {
  3140. "$ref": "#/components/schemas/Room"
  3141. }
  3142. }
  3143. }
  3144. }
  3145. }
  3146. }
  3147. }
  3148. }
  3149. },
  3150. "400": {
  3151. "description": "Starting breakout rooms is not possible",
  3152. "content": {
  3153. "application/json": {
  3154. "schema": {
  3155. "type": "object",
  3156. "required": [
  3157. "ocs"
  3158. ],
  3159. "properties": {
  3160. "ocs": {
  3161. "type": "object",
  3162. "required": [
  3163. "meta",
  3164. "data"
  3165. ],
  3166. "properties": {
  3167. "meta": {
  3168. "$ref": "#/components/schemas/OCSMeta"
  3169. },
  3170. "data": {
  3171. "type": "object",
  3172. "required": [
  3173. "error"
  3174. ],
  3175. "properties": {
  3176. "error": {
  3177. "type": "string"
  3178. }
  3179. }
  3180. }
  3181. }
  3182. }
  3183. }
  3184. }
  3185. }
  3186. }
  3187. }
  3188. }
  3189. },
  3190. "delete": {
  3191. "operationId": "breakout_room-stop-breakout-rooms",
  3192. "summary": "Stop the breakout rooms",
  3193. "tags": [
  3194. "breakout_room"
  3195. ],
  3196. "security": [
  3197. {
  3198. "bearer_auth": []
  3199. },
  3200. {
  3201. "basic_auth": []
  3202. }
  3203. ],
  3204. "parameters": [
  3205. {
  3206. "name": "apiVersion",
  3207. "in": "path",
  3208. "required": true,
  3209. "schema": {
  3210. "type": "string",
  3211. "enum": [
  3212. "v1"
  3213. ],
  3214. "default": "v1"
  3215. }
  3216. },
  3217. {
  3218. "name": "token",
  3219. "in": "path",
  3220. "required": true,
  3221. "schema": {
  3222. "type": "string",
  3223. "pattern": "^[a-z0-9]{4,30}$"
  3224. }
  3225. },
  3226. {
  3227. "name": "OCS-APIRequest",
  3228. "in": "header",
  3229. "description": "Required to be true for the API request to pass",
  3230. "required": true,
  3231. "schema": {
  3232. "type": "boolean",
  3233. "default": true
  3234. }
  3235. }
  3236. ],
  3237. "responses": {
  3238. "200": {
  3239. "description": "Breakout rooms stopped successfully",
  3240. "content": {
  3241. "application/json": {
  3242. "schema": {
  3243. "type": "object",
  3244. "required": [
  3245. "ocs"
  3246. ],
  3247. "properties": {
  3248. "ocs": {
  3249. "type": "object",
  3250. "required": [
  3251. "meta",
  3252. "data"
  3253. ],
  3254. "properties": {
  3255. "meta": {
  3256. "$ref": "#/components/schemas/OCSMeta"
  3257. },
  3258. "data": {
  3259. "type": "array",
  3260. "items": {
  3261. "$ref": "#/components/schemas/Room"
  3262. }
  3263. }
  3264. }
  3265. }
  3266. }
  3267. }
  3268. }
  3269. }
  3270. },
  3271. "400": {
  3272. "description": "Stopping breakout rooms is not possible",
  3273. "content": {
  3274. "application/json": {
  3275. "schema": {
  3276. "type": "object",
  3277. "required": [
  3278. "ocs"
  3279. ],
  3280. "properties": {
  3281. "ocs": {
  3282. "type": "object",
  3283. "required": [
  3284. "meta",
  3285. "data"
  3286. ],
  3287. "properties": {
  3288. "meta": {
  3289. "$ref": "#/components/schemas/OCSMeta"
  3290. },
  3291. "data": {
  3292. "type": "object",
  3293. "required": [
  3294. "error"
  3295. ],
  3296. "properties": {
  3297. "error": {
  3298. "type": "string"
  3299. }
  3300. }
  3301. }
  3302. }
  3303. }
  3304. }
  3305. }
  3306. }
  3307. }
  3308. }
  3309. }
  3310. }
  3311. },
  3312. "/ocs/v2.php/apps/spreed/api/{apiVersion}/breakout-rooms/{token}/switch": {
  3313. "post": {
  3314. "operationId": "breakout_room-switch-breakout-room",
  3315. "summary": "Switch to another breakout room",
  3316. "tags": [
  3317. "breakout_room"
  3318. ],
  3319. "security": [
  3320. {
  3321. "bearer_auth": []
  3322. },
  3323. {
  3324. "basic_auth": []
  3325. }
  3326. ],
  3327. "parameters": [
  3328. {
  3329. "name": "target",
  3330. "in": "query",
  3331. "description": "Target breakout room",
  3332. "required": true,
  3333. "schema": {
  3334. "type": "string"
  3335. }
  3336. },
  3337. {
  3338. "name": "apiVersion",
  3339. "in": "path",
  3340. "required": true,
  3341. "schema": {
  3342. "type": "string",
  3343. "enum": [
  3344. "v1"
  3345. ],
  3346. "default": "v1"
  3347. }
  3348. },
  3349. {
  3350. "name": "token",
  3351. "in": "path",
  3352. "required": true,
  3353. "schema": {
  3354. "type": "string",
  3355. "pattern": "^[a-z0-9]{4,30}$"
  3356. }
  3357. },
  3358. {
  3359. "name": "OCS-APIRequest",
  3360. "in": "header",
  3361. "description": "Required to be true for the API request to pass",
  3362. "required": true,
  3363. "schema": {
  3364. "type": "boolean",
  3365. "default": true
  3366. }
  3367. }
  3368. ],
  3369. "responses": {
  3370. "200": {
  3371. "description": "Switched to breakout room successfully",
  3372. "content": {
  3373. "application/json": {
  3374. "schema": {
  3375. "type": "object",
  3376. "required": [
  3377. "ocs"
  3378. ],
  3379. "properties": {
  3380. "ocs": {
  3381. "type": "object",
  3382. "required": [
  3383. "meta",
  3384. "data"
  3385. ],
  3386. "properties": {
  3387. "meta": {
  3388. "$ref": "#/components/schemas/OCSMeta"
  3389. },
  3390. "data": {
  3391. "$ref": "#/components/schemas/Room"
  3392. }
  3393. }
  3394. }
  3395. }
  3396. }
  3397. }
  3398. }
  3399. },
  3400. "400": {
  3401. "description": "Switching to breakout room is not possible",
  3402. "content": {
  3403. "application/json": {
  3404. "schema": {
  3405. "type": "object",
  3406. "required": [
  3407. "ocs"
  3408. ],
  3409. "properties": {
  3410. "ocs": {
  3411. "type": "object",
  3412. "required": [
  3413. "meta",
  3414. "data"
  3415. ],
  3416. "properties": {
  3417. "meta": {
  3418. "$ref": "#/components/schemas/OCSMeta"
  3419. },
  3420. "data": {
  3421. "type": "object",
  3422. "required": [
  3423. "error"
  3424. ],
  3425. "properties": {
  3426. "error": {
  3427. "type": "string"
  3428. }
  3429. }
  3430. }
  3431. }
  3432. }
  3433. }
  3434. }
  3435. }
  3436. }
  3437. }
  3438. }
  3439. }
  3440. },
  3441. "/ocs/v2.php/apps/spreed/api/{apiVersion}/call/{token}": {
  3442. "get": {
  3443. "operationId": "call-get-peers-for-call",
  3444. "summary": "Get the peers for a call",
  3445. "tags": [
  3446. "call"
  3447. ],
  3448. "security": [
  3449. {},
  3450. {
  3451. "bearer_auth": []
  3452. },
  3453. {
  3454. "basic_auth": []
  3455. }
  3456. ],
  3457. "parameters": [
  3458. {
  3459. "name": "apiVersion",
  3460. "in": "path",
  3461. "required": true,
  3462. "schema": {
  3463. "type": "string",
  3464. "enum": [
  3465. "v4"
  3466. ],
  3467. "default": "v4"
  3468. }
  3469. },
  3470. {
  3471. "name": "token",
  3472. "in": "path",
  3473. "required": true,
  3474. "schema": {
  3475. "type": "string",
  3476. "pattern": "^[a-z0-9]{4,30}$"
  3477. }
  3478. },
  3479. {
  3480. "name": "OCS-APIRequest",
  3481. "in": "header",
  3482. "description": "Required to be true for the API request to pass",
  3483. "required": true,
  3484. "schema": {
  3485. "type": "boolean",
  3486. "default": true
  3487. }
  3488. }
  3489. ],
  3490. "responses": {
  3491. "200": {
  3492. "description": "List of peers in the call returned",
  3493. "content": {
  3494. "application/json": {
  3495. "schema": {
  3496. "type": "object",
  3497. "required": [
  3498. "ocs"
  3499. ],
  3500. "properties": {
  3501. "ocs": {
  3502. "type": "object",
  3503. "required": [
  3504. "meta",
  3505. "data"
  3506. ],
  3507. "properties": {
  3508. "meta": {
  3509. "$ref": "#/components/schemas/OCSMeta"
  3510. },
  3511. "data": {
  3512. "type": "array",
  3513. "items": {
  3514. "$ref": "#/components/schemas/CallPeer"
  3515. }
  3516. }
  3517. }
  3518. }
  3519. }
  3520. }
  3521. }
  3522. }
  3523. }
  3524. }
  3525. },
  3526. "post": {
  3527. "operationId": "call-join-call",
  3528. "summary": "Join a call",
  3529. "tags": [
  3530. "call"
  3531. ],
  3532. "security": [
  3533. {},
  3534. {
  3535. "bearer_auth": []
  3536. },
  3537. {
  3538. "basic_auth": []
  3539. }
  3540. ],
  3541. "parameters": [
  3542. {
  3543. "name": "flags",
  3544. "in": "query",
  3545. "description": "In-Call flags",
  3546. "schema": {
  3547. "type": "integer",
  3548. "format": "int64",
  3549. "nullable": true,
  3550. "minimum": 0,
  3551. "maximum": 15
  3552. }
  3553. },
  3554. {
  3555. "name": "forcePermissions",
  3556. "in": "query",
  3557. "description": "In-call permissions",
  3558. "schema": {
  3559. "type": "integer",
  3560. "format": "int64",
  3561. "nullable": true,
  3562. "minimum": 0,
  3563. "maximum": 255
  3564. }
  3565. },
  3566. {
  3567. "name": "silent",
  3568. "in": "query",
  3569. "description": "Join the call silently",
  3570. "schema": {
  3571. "type": "integer",
  3572. "default": 0,
  3573. "enum": [
  3574. 0,
  3575. 1
  3576. ]
  3577. }
  3578. },
  3579. {
  3580. "name": "recordingConsent",
  3581. "in": "query",
  3582. "description": "When the user ticked a checkbox and agreed with being recorded (Only needed when the `config => call => recording-consent` capability is set to {@see RecordingService::CONSENT_REQUIRED_YES} or the capability is {@see RecordingService::CONSENT_REQUIRED_OPTIONAL} and the conversation `recordingConsent` value is {@see RecordingService::CONSENT_REQUIRED_YES} )",
  3583. "schema": {
  3584. "type": "integer",
  3585. "default": 0,
  3586. "enum": [
  3587. 0,
  3588. 1
  3589. ]
  3590. }
  3591. },
  3592. {
  3593. "name": "apiVersion",
  3594. "in": "path",
  3595. "required": true,
  3596. "schema": {
  3597. "type": "string",
  3598. "enum": [
  3599. "v4"
  3600. ],
  3601. "default": "v4"
  3602. }
  3603. },
  3604. {
  3605. "name": "token",
  3606. "in": "path",
  3607. "required": true,
  3608. "schema": {
  3609. "type": "string",
  3610. "pattern": "^[a-z0-9]{4,30}$"
  3611. }
  3612. },
  3613. {
  3614. "name": "OCS-APIRequest",
  3615. "in": "header",
  3616. "description": "Required to be true for the API request to pass",
  3617. "required": true,
  3618. "schema": {
  3619. "type": "boolean",
  3620. "default": true
  3621. }
  3622. }
  3623. ],
  3624. "responses": {
  3625. "200": {
  3626. "description": "Call joined successfully",
  3627. "content": {
  3628. "application/json": {
  3629. "schema": {
  3630. "type": "object",
  3631. "required": [
  3632. "ocs"
  3633. ],
  3634. "properties": {
  3635. "ocs": {
  3636. "type": "object",
  3637. "required": [
  3638. "meta",
  3639. "data"
  3640. ],
  3641. "properties": {
  3642. "meta": {
  3643. "$ref": "#/components/schemas/OCSMeta"
  3644. },
  3645. "data": {}
  3646. }
  3647. }
  3648. }
  3649. }
  3650. }
  3651. }
  3652. },
  3653. "404": {
  3654. "description": "Call not found",
  3655. "content": {
  3656. "application/json": {
  3657. "schema": {
  3658. "type": "object",
  3659. "required": [
  3660. "ocs"
  3661. ],
  3662. "properties": {
  3663. "ocs": {
  3664. "type": "object",
  3665. "required": [
  3666. "meta",
  3667. "data"
  3668. ],
  3669. "properties": {
  3670. "meta": {
  3671. "$ref": "#/components/schemas/OCSMeta"
  3672. },
  3673. "data": {}
  3674. }
  3675. }
  3676. }
  3677. }
  3678. }
  3679. }
  3680. },
  3681. "400": {
  3682. "description": "No recording consent was given",
  3683. "content": {
  3684. "application/json": {
  3685. "schema": {
  3686. "type": "object",
  3687. "required": [
  3688. "ocs"
  3689. ],
  3690. "properties": {
  3691. "ocs": {
  3692. "type": "object",
  3693. "required": [
  3694. "meta",
  3695. "data"
  3696. ],
  3697. "properties": {
  3698. "meta": {
  3699. "$ref": "#/components/schemas/OCSMeta"
  3700. },
  3701. "data": {
  3702. "type": "object",
  3703. "properties": {
  3704. "error": {
  3705. "type": "string"
  3706. }
  3707. }
  3708. }
  3709. }
  3710. }
  3711. }
  3712. }
  3713. }
  3714. }
  3715. }
  3716. }
  3717. },
  3718. "put": {
  3719. "operationId": "call-update-call-flags",
  3720. "summary": "Update the in-call flags",
  3721. "tags": [
  3722. "call"
  3723. ],
  3724. "security": [
  3725. {},
  3726. {
  3727. "bearer_auth": []
  3728. },
  3729. {
  3730. "basic_auth": []
  3731. }
  3732. ],
  3733. "parameters": [
  3734. {
  3735. "name": "flags",
  3736. "in": "query",
  3737. "description": "New flags",
  3738. "required": true,
  3739. "schema": {
  3740. "type": "integer",
  3741. "format": "int64",
  3742. "minimum": 0,
  3743. "maximum": 15
  3744. }
  3745. },
  3746. {
  3747. "name": "apiVersion",
  3748. "in": "path",
  3749. "required": true,
  3750. "schema": {
  3751. "type": "string",
  3752. "enum": [
  3753. "v4"
  3754. ],
  3755. "default": "v4"
  3756. }
  3757. },
  3758. {
  3759. "name": "token",
  3760. "in": "path",
  3761. "required": true,
  3762. "schema": {
  3763. "type": "string",
  3764. "pattern": "^[a-z0-9]{4,30}$"
  3765. }
  3766. },
  3767. {
  3768. "name": "OCS-APIRequest",
  3769. "in": "header",
  3770. "description": "Required to be true for the API request to pass",
  3771. "required": true,
  3772. "schema": {
  3773. "type": "boolean",
  3774. "default": true
  3775. }
  3776. }
  3777. ],
  3778. "responses": {
  3779. "200": {
  3780. "description": "In-call flags updated successfully",
  3781. "content": {
  3782. "application/json": {
  3783. "schema": {
  3784. "type": "object",
  3785. "required": [
  3786. "ocs"
  3787. ],
  3788. "properties": {
  3789. "ocs": {
  3790. "type": "object",
  3791. "required": [
  3792. "meta",
  3793. "data"
  3794. ],
  3795. "properties": {
  3796. "meta": {
  3797. "$ref": "#/components/schemas/OCSMeta"
  3798. },
  3799. "data": {}
  3800. }
  3801. }
  3802. }
  3803. }
  3804. }
  3805. }
  3806. },
  3807. "400": {
  3808. "description": "Updating in-call flags is not possible",
  3809. "content": {
  3810. "application/json": {
  3811. "schema": {
  3812. "type": "object",
  3813. "required": [
  3814. "ocs"
  3815. ],
  3816. "properties": {
  3817. "ocs": {
  3818. "type": "object",
  3819. "required": [
  3820. "meta",
  3821. "data"
  3822. ],
  3823. "properties": {
  3824. "meta": {
  3825. "$ref": "#/components/schemas/OCSMeta"
  3826. },
  3827. "data": {}
  3828. }
  3829. }
  3830. }
  3831. }
  3832. }
  3833. }
  3834. },
  3835. "404": {
  3836. "description": "Call session not found",
  3837. "content": {
  3838. "application/json": {
  3839. "schema": {
  3840. "type": "object",
  3841. "required": [
  3842. "ocs"
  3843. ],
  3844. "properties": {
  3845. "ocs": {
  3846. "type": "object",
  3847. "required": [
  3848. "meta",
  3849. "data"
  3850. ],
  3851. "properties": {
  3852. "meta": {
  3853. "$ref": "#/components/schemas/OCSMeta"
  3854. },
  3855. "data": {}
  3856. }
  3857. }
  3858. }
  3859. }
  3860. }
  3861. }
  3862. }
  3863. }
  3864. },
  3865. "delete": {
  3866. "operationId": "call-leave-call",
  3867. "summary": "Leave a call",
  3868. "tags": [
  3869. "call"
  3870. ],
  3871. "security": [
  3872. {},
  3873. {
  3874. "bearer_auth": []
  3875. },
  3876. {
  3877. "basic_auth": []
  3878. }
  3879. ],
  3880. "parameters": [
  3881. {
  3882. "name": "all",
  3883. "in": "query",
  3884. "description": "whether to also terminate the call for all participants",
  3885. "schema": {
  3886. "type": "integer",
  3887. "default": 0,
  3888. "enum": [
  3889. 0,
  3890. 1
  3891. ]
  3892. }
  3893. },
  3894. {
  3895. "name": "apiVersion",
  3896. "in": "path",
  3897. "required": true,
  3898. "schema": {
  3899. "type": "string",
  3900. "enum": [
  3901. "v4"
  3902. ],
  3903. "default": "v4"
  3904. }
  3905. },
  3906. {
  3907. "name": "token",
  3908. "in": "path",
  3909. "required": true,
  3910. "schema": {
  3911. "type": "string",
  3912. "pattern": "^[a-z0-9]{4,30}$"
  3913. }
  3914. },
  3915. {
  3916. "name": "OCS-APIRequest",
  3917. "in": "header",
  3918. "description": "Required to be true for the API request to pass",
  3919. "required": true,
  3920. "schema": {
  3921. "type": "boolean",
  3922. "default": true
  3923. }
  3924. }
  3925. ],
  3926. "responses": {
  3927. "200": {
  3928. "description": "Call left successfully",
  3929. "content": {
  3930. "application/json": {
  3931. "schema": {
  3932. "type": "object",
  3933. "required": [
  3934. "ocs"
  3935. ],
  3936. "properties": {
  3937. "ocs": {
  3938. "type": "object",
  3939. "required": [
  3940. "meta",
  3941. "data"
  3942. ],
  3943. "properties": {
  3944. "meta": {
  3945. "$ref": "#/components/schemas/OCSMeta"
  3946. },
  3947. "data": {}
  3948. }
  3949. }
  3950. }
  3951. }
  3952. }
  3953. }
  3954. },
  3955. "404": {
  3956. "description": "Call session not found",
  3957. "content": {
  3958. "application/json": {
  3959. "schema": {
  3960. "type": "object",
  3961. "required": [
  3962. "ocs"
  3963. ],
  3964. "properties": {
  3965. "ocs": {
  3966. "type": "object",
  3967. "required": [
  3968. "meta",
  3969. "data"
  3970. ],
  3971. "properties": {
  3972. "meta": {
  3973. "$ref": "#/components/schemas/OCSMeta"
  3974. },
  3975. "data": {}
  3976. }
  3977. }
  3978. }
  3979. }
  3980. }
  3981. }
  3982. }
  3983. }
  3984. }
  3985. },
  3986. "/ocs/v2.php/apps/spreed/api/{apiVersion}/call/{token}/ring/{attendeeId}": {
  3987. "post": {
  3988. "operationId": "call-ring-attendee",
  3989. "summary": "Ring an attendee",
  3990. "tags": [
  3991. "call"
  3992. ],
  3993. "security": [
  3994. {},
  3995. {
  3996. "bearer_auth": []
  3997. },
  3998. {
  3999. "basic_auth": []
  4000. }
  4001. ],
  4002. "parameters": [
  4003. {
  4004. "name": "apiVersion",
  4005. "in": "path",
  4006. "required": true,
  4007. "schema": {
  4008. "type": "string",
  4009. "enum": [
  4010. "v4"
  4011. ],
  4012. "default": "v4"
  4013. }
  4014. },
  4015. {
  4016. "name": "token",
  4017. "in": "path",
  4018. "required": true,
  4019. "schema": {
  4020. "type": "string",
  4021. "pattern": "^[a-z0-9]{4,30}$"
  4022. }
  4023. },
  4024. {
  4025. "name": "attendeeId",
  4026. "in": "path",
  4027. "description": "ID of the attendee to ring",
  4028. "required": true,
  4029. "schema": {
  4030. "type": "integer",
  4031. "format": "int64"
  4032. }
  4033. },
  4034. {
  4035. "name": "OCS-APIRequest",
  4036. "in": "header",
  4037. "description": "Required to be true for the API request to pass",
  4038. "required": true,
  4039. "schema": {
  4040. "type": "boolean",
  4041. "default": true
  4042. }
  4043. }
  4044. ],
  4045. "responses": {
  4046. "200": {
  4047. "description": "Attendee rang successfully",
  4048. "content": {
  4049. "application/json": {
  4050. "schema": {
  4051. "type": "object",
  4052. "required": [
  4053. "ocs"
  4054. ],
  4055. "properties": {
  4056. "ocs": {
  4057. "type": "object",
  4058. "required": [
  4059. "meta",
  4060. "data"
  4061. ],
  4062. "properties": {
  4063. "meta": {
  4064. "$ref": "#/components/schemas/OCSMeta"
  4065. },
  4066. "data": {}
  4067. }
  4068. }
  4069. }
  4070. }
  4071. }
  4072. }
  4073. },
  4074. "400": {
  4075. "description": "Ringing attendee is not possible",
  4076. "content": {
  4077. "application/json": {
  4078. "schema": {
  4079. "type": "object",
  4080. "required": [
  4081. "ocs"
  4082. ],
  4083. "properties": {
  4084. "ocs": {
  4085. "type": "object",
  4086. "required": [
  4087. "meta",
  4088. "data"
  4089. ],
  4090. "properties": {
  4091. "meta": {
  4092. "$ref": "#/components/schemas/OCSMeta"
  4093. },
  4094. "data": {}
  4095. }
  4096. }
  4097. }
  4098. }
  4099. }
  4100. }
  4101. },
  4102. "404": {
  4103. "description": "Attendee could not be found",
  4104. "content": {
  4105. "application/json": {
  4106. "schema": {
  4107. "type": "object",
  4108. "required": [
  4109. "ocs"
  4110. ],
  4111. "properties": {
  4112. "ocs": {
  4113. "type": "object",
  4114. "required": [
  4115. "meta",
  4116. "data"
  4117. ],
  4118. "properties": {
  4119. "meta": {
  4120. "$ref": "#/components/schemas/OCSMeta"
  4121. },
  4122. "data": {}
  4123. }
  4124. }
  4125. }
  4126. }
  4127. }
  4128. }
  4129. }
  4130. }
  4131. }
  4132. },
  4133. "/ocs/v2.php/apps/spreed/api/{apiVersion}/call/{token}/dialout/{attendeeId}": {
  4134. "post": {
  4135. "operationId": "call-sip-dial-out",
  4136. "summary": "Call a SIP dial-out attendee",
  4137. "tags": [
  4138. "call"
  4139. ],
  4140. "security": [
  4141. {},
  4142. {
  4143. "bearer_auth": []
  4144. },
  4145. {
  4146. "basic_auth": []
  4147. }
  4148. ],
  4149. "parameters": [
  4150. {
  4151. "name": "apiVersion",
  4152. "in": "path",
  4153. "required": true,
  4154. "schema": {
  4155. "type": "string",
  4156. "enum": [
  4157. "v4"
  4158. ],
  4159. "default": "v4"
  4160. }
  4161. },
  4162. {
  4163. "name": "token",
  4164. "in": "path",
  4165. "required": true,
  4166. "schema": {
  4167. "type": "string",
  4168. "pattern": "^[a-z0-9]{4,30}$"
  4169. }
  4170. },
  4171. {
  4172. "name": "attendeeId",
  4173. "in": "path",
  4174. "description": "ID of the attendee to call",
  4175. "required": true,
  4176. "schema": {
  4177. "type": "integer",
  4178. "format": "int64"
  4179. }
  4180. },
  4181. {
  4182. "name": "OCS-APIRequest",
  4183. "in": "header",
  4184. "description": "Required to be true for the API request to pass",
  4185. "required": true,
  4186. "schema": {
  4187. "type": "boolean",
  4188. "default": true
  4189. }
  4190. }
  4191. ],
  4192. "responses": {
  4193. "201": {
  4194. "description": "Dial-out initiated successfully",
  4195. "content": {
  4196. "application/json": {
  4197. "schema": {
  4198. "type": "object",
  4199. "required": [
  4200. "ocs"
  4201. ],
  4202. "properties": {
  4203. "ocs": {
  4204. "type": "object",
  4205. "required": [
  4206. "meta",
  4207. "data"
  4208. ],
  4209. "properties": {
  4210. "meta": {
  4211. "$ref": "#/components/schemas/OCSMeta"
  4212. },
  4213. "data": {
  4214. "type": "object",
  4215. "properties": {
  4216. "error": {
  4217. "type": "string"
  4218. },
  4219. "message": {
  4220. "type": "string"
  4221. }
  4222. }
  4223. }
  4224. }
  4225. }
  4226. }
  4227. }
  4228. }
  4229. }
  4230. },
  4231. "400": {
  4232. "description": "SIP dial-out not possible",
  4233. "content": {
  4234. "application/json": {
  4235. "schema": {
  4236. "type": "object",
  4237. "required": [
  4238. "ocs"
  4239. ],
  4240. "properties": {
  4241. "ocs": {
  4242. "type": "object",
  4243. "required": [
  4244. "meta",
  4245. "data"
  4246. ],
  4247. "properties": {
  4248. "meta": {
  4249. "$ref": "#/components/schemas/OCSMeta"
  4250. },
  4251. "data": {
  4252. "type": "object",
  4253. "properties": {
  4254. "error": {
  4255. "type": "string"
  4256. },
  4257. "message": {
  4258. "type": "string"
  4259. }
  4260. }
  4261. }
  4262. }
  4263. }
  4264. }
  4265. }
  4266. }
  4267. }
  4268. },
  4269. "404": {
  4270. "description": "Participant could not be found or is a wrong type",
  4271. "content": {
  4272. "application/json": {
  4273. "schema": {
  4274. "type": "object",
  4275. "required": [
  4276. "ocs"
  4277. ],
  4278. "properties": {
  4279. "ocs": {
  4280. "type": "object",
  4281. "required": [
  4282. "meta",
  4283. "data"
  4284. ],
  4285. "properties": {
  4286. "meta": {
  4287. "$ref": "#/components/schemas/OCSMeta"
  4288. },
  4289. "data": {
  4290. "type": "object",
  4291. "properties": {
  4292. "error": {
  4293. "type": "string"
  4294. },
  4295. "message": {
  4296. "type": "string"
  4297. }
  4298. }
  4299. }
  4300. }
  4301. }
  4302. }
  4303. }
  4304. }
  4305. }
  4306. },
  4307. "501": {
  4308. "description": "SIP dial-out is not configured on the server",
  4309. "content": {
  4310. "application/json": {
  4311. "schema": {
  4312. "type": "object",
  4313. "required": [
  4314. "ocs"
  4315. ],
  4316. "properties": {
  4317. "ocs": {
  4318. "type": "object",
  4319. "required": [
  4320. "meta",
  4321. "data"
  4322. ],
  4323. "properties": {
  4324. "meta": {
  4325. "$ref": "#/components/schemas/OCSMeta"
  4326. },
  4327. "data": {
  4328. "type": "object",
  4329. "properties": {
  4330. "error": {
  4331. "type": "string"
  4332. },
  4333. "message": {
  4334. "type": "string"
  4335. }
  4336. }
  4337. }
  4338. }
  4339. }
  4340. }
  4341. }
  4342. }
  4343. }
  4344. }
  4345. }
  4346. }
  4347. },
  4348. "/ocs/v2.php/apps/spreed/api/{apiVersion}/chat/{token}": {
  4349. "get": {
  4350. "operationId": "chat-receive-messages",
  4351. "summary": "Receives chat messages from the given room",
  4352. "description": "- Receiving the history ($lookIntoFuture=0): The next $limit messages after $lastKnownMessageId will be returned. The new $lastKnownMessageId for the follow up query is available as `X-Chat-Last-Given` header.\n- Looking into the future ($lookIntoFuture=1): If there are currently no messages the response will not be sent immediately. Instead, HTTP connection will be kept open waiting for new messages to arrive and, when they do, then the response will be sent. The connection will not be kept open indefinitely, though; the number of seconds to wait for new messages to arrive can be set using the timeout parameter; the default timeout is 30 seconds, maximum timeout is 60 seconds. If the timeout ends a successful but empty response will be sent. If messages have been returned (status=200) the new $lastKnownMessageId for the follow up query is available as `X-Chat-Last-Given` header.\nThe limit specifies the maximum number of messages that will be returned, although the actual number of returned messages could be lower if some messages are not visible to the participant. Note that if none of the messages are visible to the participant the returned number of messages will be 0, yet the status will still be 200. Also note that `X-Chat-Last-Given` may reference a message not visible and thus not returned, but it should be used nevertheless as the $lastKnownMessageId for the follow-up query.",
  4353. "tags": [
  4354. "chat"
  4355. ],
  4356. "security": [
  4357. {},
  4358. {
  4359. "bearer_auth": []
  4360. },
  4361. {
  4362. "basic_auth": []
  4363. }
  4364. ],
  4365. "parameters": [
  4366. {
  4367. "name": "lookIntoFuture",
  4368. "in": "query",
  4369. "description": "Polling for new messages (1) or getting the history of the chat (0)",
  4370. "required": true,
  4371. "schema": {
  4372. "type": "integer",
  4373. "format": "int64",
  4374. "enum": [
  4375. 0,
  4376. 1
  4377. ]
  4378. }
  4379. },
  4380. {
  4381. "name": "limit",
  4382. "in": "query",
  4383. "description": "Number of chat messages to receive (100 by default, 200 at most)",
  4384. "schema": {
  4385. "type": "integer",
  4386. "format": "int64",
  4387. "default": 100
  4388. }
  4389. },
  4390. {
  4391. "name": "lastKnownMessageId",
  4392. "in": "query",
  4393. "description": "The last known message (serves as offset)",
  4394. "schema": {
  4395. "type": "integer",
  4396. "format": "int64",
  4397. "default": 0,
  4398. "minimum": 0
  4399. }
  4400. },
  4401. {
  4402. "name": "lastCommonReadId",
  4403. "in": "query",
  4404. "description": "The last known common read message (so the response is 200 instead of 304 when it changes even when there are no messages)",
  4405. "schema": {
  4406. "type": "integer",
  4407. "format": "int64",
  4408. "default": 0,
  4409. "minimum": 0
  4410. }
  4411. },
  4412. {
  4413. "name": "timeout",
  4414. "in": "query",
  4415. "description": "Number of seconds to wait for new messages (30 by default, 30 at most)",
  4416. "schema": {
  4417. "type": "integer",
  4418. "format": "int64",
  4419. "default": 30,
  4420. "minimum": 0,
  4421. "maximum": 30
  4422. }
  4423. },
  4424. {
  4425. "name": "setReadMarker",
  4426. "in": "query",
  4427. "description": "Automatically set the last read marker when 1, if your client does this itself via chat/{token}/read set to 0",
  4428. "schema": {
  4429. "type": "integer",
  4430. "format": "int64",
  4431. "default": 1,
  4432. "enum": [
  4433. 0,
  4434. 1
  4435. ]
  4436. }
  4437. },
  4438. {
  4439. "name": "includeLastKnown",
  4440. "in": "query",
  4441. "description": "Include the $lastKnownMessageId in the messages when 1 (default 0)",
  4442. "schema": {
  4443. "type": "integer",
  4444. "format": "int64",
  4445. "default": 0,
  4446. "enum": [
  4447. 0,
  4448. 1
  4449. ]
  4450. }
  4451. },
  4452. {
  4453. "name": "noStatusUpdate",
  4454. "in": "query",
  4455. "description": "When the user status should not be automatically set to online set to 1 (default 0)",
  4456. "schema": {
  4457. "type": "integer",
  4458. "format": "int64",
  4459. "default": 0,
  4460. "enum": [
  4461. 0,
  4462. 1
  4463. ]
  4464. }
  4465. },
  4466. {
  4467. "name": "markNotificationsAsRead",
  4468. "in": "query",
  4469. "description": "Set to 0 when notifications should not be marked as read (default 1)",
  4470. "schema": {
  4471. "type": "integer",
  4472. "format": "int64",
  4473. "default": 1,
  4474. "enum": [
  4475. 0,
  4476. 1
  4477. ]
  4478. }
  4479. },
  4480. {
  4481. "name": "apiVersion",
  4482. "in": "path",
  4483. "required": true,
  4484. "schema": {
  4485. "type": "string",
  4486. "enum": [
  4487. "v1"
  4488. ],
  4489. "default": "v1"
  4490. }
  4491. },
  4492. {
  4493. "name": "token",
  4494. "in": "path",
  4495. "required": true,
  4496. "schema": {
  4497. "type": "string",
  4498. "pattern": "^[a-z0-9]{4,30}$"
  4499. }
  4500. },
  4501. {
  4502. "name": "OCS-APIRequest",
  4503. "in": "header",
  4504. "description": "Required to be true for the API request to pass",
  4505. "required": true,
  4506. "schema": {
  4507. "type": "boolean",
  4508. "default": true
  4509. }
  4510. }
  4511. ],
  4512. "responses": {
  4513. "200": {
  4514. "description": "Messages returned",
  4515. "headers": {
  4516. "X-Chat-Last-Common-Read": {
  4517. "schema": {
  4518. "type": "string"
  4519. }
  4520. },
  4521. "X-Chat-Last-Given": {
  4522. "schema": {
  4523. "type": "string"
  4524. }
  4525. }
  4526. },
  4527. "content": {
  4528. "application/json": {
  4529. "schema": {
  4530. "type": "object",
  4531. "required": [
  4532. "ocs"
  4533. ],
  4534. "properties": {
  4535. "ocs": {
  4536. "type": "object",
  4537. "required": [
  4538. "meta",
  4539. "data"
  4540. ],
  4541. "properties": {
  4542. "meta": {
  4543. "$ref": "#/components/schemas/OCSMeta"
  4544. },
  4545. "data": {
  4546. "type": "array",
  4547. "items": {
  4548. "$ref": "#/components/schemas/ChatMessageWithParent"
  4549. }
  4550. }
  4551. }
  4552. }
  4553. }
  4554. }
  4555. }
  4556. }
  4557. },
  4558. "304": {
  4559. "description": "No messages",
  4560. "content": {
  4561. "application/json": {
  4562. "schema": {
  4563. "type": "object",
  4564. "required": [
  4565. "ocs"
  4566. ],
  4567. "properties": {
  4568. "ocs": {
  4569. "type": "object",
  4570. "required": [
  4571. "meta",
  4572. "data"
  4573. ],
  4574. "properties": {
  4575. "meta": {
  4576. "$ref": "#/components/schemas/OCSMeta"
  4577. },
  4578. "data": {}
  4579. }
  4580. }
  4581. }
  4582. }
  4583. }
  4584. }
  4585. }
  4586. }
  4587. },
  4588. "post": {
  4589. "operationId": "chat-send-message",
  4590. "summary": "Sends a new chat message to the given room",
  4591. "description": "The author and timestamp are automatically set to the current user/guest and time.",
  4592. "tags": [
  4593. "chat"
  4594. ],
  4595. "security": [
  4596. {},
  4597. {
  4598. "bearer_auth": []
  4599. },
  4600. {
  4601. "basic_auth": []
  4602. }
  4603. ],
  4604. "parameters": [
  4605. {
  4606. "name": "message",
  4607. "in": "query",
  4608. "description": "the message to send",
  4609. "required": true,
  4610. "schema": {
  4611. "type": "string"
  4612. }
  4613. },
  4614. {
  4615. "name": "actorDisplayName",
  4616. "in": "query",
  4617. "description": "for guests",
  4618. "schema": {
  4619. "type": "string",
  4620. "default": ""
  4621. }
  4622. },
  4623. {
  4624. "name": "referenceId",
  4625. "in": "query",
  4626. "description": "for the message to be able to later identify it again",
  4627. "schema": {
  4628. "type": "string",
  4629. "default": ""
  4630. }
  4631. },
  4632. {
  4633. "name": "replyTo",
  4634. "in": "query",
  4635. "description": "Parent id which this message is a reply to",
  4636. "schema": {
  4637. "type": "integer",
  4638. "format": "int64",
  4639. "default": 0,
  4640. "minimum": 0
  4641. }
  4642. },
  4643. {
  4644. "name": "silent",
  4645. "in": "query",
  4646. "description": "If sent silent the chat message will not create any notifications",
  4647. "schema": {
  4648. "type": "integer",
  4649. "default": 0,
  4650. "enum": [
  4651. 0,
  4652. 1
  4653. ]
  4654. }
  4655. },
  4656. {
  4657. "name": "apiVersion",
  4658. "in": "path",
  4659. "required": true,
  4660. "schema": {
  4661. "type": "string",
  4662. "enum": [
  4663. "v1"
  4664. ],
  4665. "default": "v1"
  4666. }
  4667. },
  4668. {
  4669. "name": "token",
  4670. "in": "path",
  4671. "required": true,
  4672. "schema": {
  4673. "type": "string",
  4674. "pattern": "^[a-z0-9]{4,30}$"
  4675. }
  4676. },
  4677. {
  4678. "name": "OCS-APIRequest",
  4679. "in": "header",
  4680. "description": "Required to be true for the API request to pass",
  4681. "required": true,
  4682. "schema": {
  4683. "type": "boolean",
  4684. "default": true
  4685. }
  4686. }
  4687. ],
  4688. "responses": {
  4689. "201": {
  4690. "description": "Message sent successfully",
  4691. "headers": {
  4692. "X-Chat-Last-Common-Read": {
  4693. "schema": {
  4694. "type": "string"
  4695. }
  4696. }
  4697. },
  4698. "content": {
  4699. "application/json": {
  4700. "schema": {
  4701. "type": "object",
  4702. "required": [
  4703. "ocs"
  4704. ],
  4705. "properties": {
  4706. "ocs": {
  4707. "type": "object",
  4708. "required": [
  4709. "meta",
  4710. "data"
  4711. ],
  4712. "properties": {
  4713. "meta": {
  4714. "$ref": "#/components/schemas/OCSMeta"
  4715. },
  4716. "data": {
  4717. "$ref": "#/components/schemas/ChatMessageWithParent",
  4718. "nullable": true
  4719. }
  4720. }
  4721. }
  4722. }
  4723. }
  4724. }
  4725. }
  4726. },
  4727. "400": {
  4728. "description": "Sending message is not possible",
  4729. "content": {
  4730. "application/json": {
  4731. "schema": {
  4732. "type": "object",
  4733. "required": [
  4734. "ocs"
  4735. ],
  4736. "properties": {
  4737. "ocs": {
  4738. "type": "object",
  4739. "required": [
  4740. "meta",
  4741. "data"
  4742. ],
  4743. "properties": {
  4744. "meta": {
  4745. "$ref": "#/components/schemas/OCSMeta"
  4746. },
  4747. "data": {}
  4748. }
  4749. }
  4750. }
  4751. }
  4752. }
  4753. }
  4754. },
  4755. "404": {
  4756. "description": "Actor not found",
  4757. "content": {
  4758. "application/json": {
  4759. "schema": {
  4760. "type": "object",
  4761. "required": [
  4762. "ocs"
  4763. ],
  4764. "properties": {
  4765. "ocs": {
  4766. "type": "object",
  4767. "required": [
  4768. "meta",
  4769. "data"
  4770. ],
  4771. "properties": {
  4772. "meta": {
  4773. "$ref": "#/components/schemas/OCSMeta"
  4774. },
  4775. "data": {}
  4776. }
  4777. }
  4778. }
  4779. }
  4780. }
  4781. }
  4782. },
  4783. "413": {
  4784. "description": "Message too long",
  4785. "content": {
  4786. "application/json": {
  4787. "schema": {
  4788. "type": "object",
  4789. "required": [
  4790. "ocs"
  4791. ],
  4792. "properties": {
  4793. "ocs": {
  4794. "type": "object",
  4795. "required": [
  4796. "meta",
  4797. "data"
  4798. ],
  4799. "properties": {
  4800. "meta": {
  4801. "$ref": "#/components/schemas/OCSMeta"
  4802. },
  4803. "data": {}
  4804. }
  4805. }
  4806. }
  4807. }
  4808. }
  4809. }
  4810. },
  4811. "429": {
  4812. "description": "Mention rate limit exceeded (guests only)",
  4813. "content": {
  4814. "application/json": {
  4815. "schema": {
  4816. "type": "object",
  4817. "required": [
  4818. "ocs"
  4819. ],
  4820. "properties": {
  4821. "ocs": {
  4822. "type": "object",
  4823. "required": [
  4824. "meta",
  4825. "data"
  4826. ],
  4827. "properties": {
  4828. "meta": {
  4829. "$ref": "#/components/schemas/OCSMeta"
  4830. },
  4831. "data": {}
  4832. }
  4833. }
  4834. }
  4835. }
  4836. }
  4837. }
  4838. }
  4839. }
  4840. },
  4841. "delete": {
  4842. "operationId": "chat-clear-history",
  4843. "summary": "Clear the chat history",
  4844. "tags": [
  4845. "chat"
  4846. ],
  4847. "security": [
  4848. {
  4849. "bearer_auth": []
  4850. },
  4851. {
  4852. "basic_auth": []
  4853. }
  4854. ],
  4855. "parameters": [
  4856. {
  4857. "name": "apiVersion",
  4858. "in": "path",
  4859. "required": true,
  4860. "schema": {
  4861. "type": "string",
  4862. "enum": [
  4863. "v1"
  4864. ],
  4865. "default": "v1"
  4866. }
  4867. },
  4868. {
  4869. "name": "token",
  4870. "in": "path",
  4871. "required": true,
  4872. "schema": {
  4873. "type": "string",
  4874. "pattern": "^[a-z0-9]{4,30}$"
  4875. }
  4876. },
  4877. {
  4878. "name": "OCS-APIRequest",
  4879. "in": "header",
  4880. "description": "Required to be true for the API request to pass",
  4881. "required": true,
  4882. "schema": {
  4883. "type": "boolean",
  4884. "default": true
  4885. }
  4886. }
  4887. ],
  4888. "responses": {
  4889. "200": {
  4890. "description": "History cleared successfully",
  4891. "headers": {
  4892. "X-Chat-Last-Common-Read": {
  4893. "schema": {
  4894. "type": "string"
  4895. }
  4896. }
  4897. },
  4898. "content": {
  4899. "application/json": {
  4900. "schema": {
  4901. "type": "object",
  4902. "required": [
  4903. "ocs"
  4904. ],
  4905. "properties": {
  4906. "ocs": {
  4907. "type": "object",
  4908. "required": [
  4909. "meta",
  4910. "data"
  4911. ],
  4912. "properties": {
  4913. "meta": {
  4914. "$ref": "#/components/schemas/OCSMeta"
  4915. },
  4916. "data": {
  4917. "$ref": "#/components/schemas/ChatMessage"
  4918. }
  4919. }
  4920. }
  4921. }
  4922. }
  4923. }
  4924. }
  4925. },
  4926. "202": {
  4927. "description": "History cleared successfully, but Matterbridge is configured, so the information can be replicated elsewhere",
  4928. "headers": {
  4929. "X-Chat-Last-Common-Read": {
  4930. "schema": {
  4931. "type": "string"
  4932. }
  4933. }
  4934. },
  4935. "content": {
  4936. "application/json": {
  4937. "schema": {
  4938. "type": "object",
  4939. "required": [
  4940. "ocs"
  4941. ],
  4942. "properties": {
  4943. "ocs": {
  4944. "type": "object",
  4945. "required": [
  4946. "meta",
  4947. "data"
  4948. ],
  4949. "properties": {
  4950. "meta": {
  4951. "$ref": "#/components/schemas/OCSMeta"
  4952. },
  4953. "data": {
  4954. "$ref": "#/components/schemas/ChatMessage"
  4955. }
  4956. }
  4957. }
  4958. }
  4959. }
  4960. }
  4961. }
  4962. },
  4963. "403": {
  4964. "description": "Missing permissions to clear history",
  4965. "content": {
  4966. "application/json": {
  4967. "schema": {
  4968. "type": "object",
  4969. "required": [
  4970. "ocs"
  4971. ],
  4972. "properties": {
  4973. "ocs": {
  4974. "type": "object",
  4975. "required": [
  4976. "meta",
  4977. "data"
  4978. ],
  4979. "properties": {
  4980. "meta": {
  4981. "$ref": "#/components/schemas/OCSMeta"
  4982. },
  4983. "data": {}
  4984. }
  4985. }
  4986. }
  4987. }
  4988. }
  4989. }
  4990. }
  4991. }
  4992. }
  4993. },
  4994. "/ocs/v2.php/apps/spreed/api/{apiVersion}/chat/{token}/{messageId}": {
  4995. "delete": {
  4996. "operationId": "chat-delete-message",
  4997. "summary": "Delete a chat message",
  4998. "tags": [
  4999. "chat"
  5000. ],
  5001. "security": [
  5002. {},
  5003. {
  5004. "bearer_auth": []
  5005. },
  5006. {
  5007. "basic_auth": []
  5008. }
  5009. ],
  5010. "parameters": [
  5011. {
  5012. "name": "apiVersion",
  5013. "in": "path",
  5014. "required": true,
  5015. "schema": {
  5016. "type": "string",
  5017. "enum": [
  5018. "v1"
  5019. ],
  5020. "default": "v1"
  5021. }
  5022. },
  5023. {
  5024. "name": "token",
  5025. "in": "path",
  5026. "required": true,
  5027. "schema": {
  5028. "type": "string",
  5029. "pattern": "^[a-z0-9]{4,30}$"
  5030. }
  5031. },
  5032. {
  5033. "name": "messageId",
  5034. "in": "path",
  5035. "description": "ID of the message",
  5036. "required": true,
  5037. "schema": {
  5038. "type": "integer",
  5039. "format": "int64",
  5040. "minimum": 0
  5041. }
  5042. },
  5043. {
  5044. "name": "OCS-APIRequest",
  5045. "in": "header",
  5046. "description": "Required to be true for the API request to pass",
  5047. "required": true,
  5048. "schema": {
  5049. "type": "boolean",
  5050. "default": true
  5051. }
  5052. }
  5053. ],
  5054. "responses": {
  5055. "200": {
  5056. "description": "Message deleted successfully",
  5057. "headers": {
  5058. "X-Chat-Last-Common-Read": {
  5059. "schema": {
  5060. "type": "string"
  5061. }
  5062. }
  5063. },
  5064. "content": {
  5065. "application/json": {
  5066. "schema": {
  5067. "type": "object",
  5068. "required": [
  5069. "ocs"
  5070. ],
  5071. "properties": {
  5072. "ocs": {
  5073. "type": "object",
  5074. "required": [
  5075. "meta",
  5076. "data"
  5077. ],
  5078. "properties": {
  5079. "meta": {
  5080. "$ref": "#/components/schemas/OCSMeta"
  5081. },
  5082. "data": {
  5083. "$ref": "#/components/schemas/ChatMessageWithParent"
  5084. }
  5085. }
  5086. }
  5087. }
  5088. }
  5089. }
  5090. }
  5091. },
  5092. "202": {
  5093. "description": "Message deleted successfully, but a bot or Matterbridge is configured, so the information can be replicated elsewhere",
  5094. "headers": {
  5095. "X-Chat-Last-Common-Read": {
  5096. "schema": {
  5097. "type": "string"
  5098. }
  5099. }
  5100. },
  5101. "content": {
  5102. "application/json": {
  5103. "schema": {
  5104. "type": "object",
  5105. "required": [
  5106. "ocs"
  5107. ],
  5108. "properties": {
  5109. "ocs": {
  5110. "type": "object",
  5111. "required": [
  5112. "meta",
  5113. "data"
  5114. ],
  5115. "properties": {
  5116. "meta": {
  5117. "$ref": "#/components/schemas/OCSMeta"
  5118. },
  5119. "data": {
  5120. "$ref": "#/components/schemas/ChatMessageWithParent"
  5121. }
  5122. }
  5123. }
  5124. }
  5125. }
  5126. }
  5127. }
  5128. },
  5129. "400": {
  5130. "description": "Deleting message is not possible",
  5131. "content": {
  5132. "application/json": {
  5133. "schema": {
  5134. "type": "object",
  5135. "required": [
  5136. "ocs"
  5137. ],
  5138. "properties": {
  5139. "ocs": {
  5140. "type": "object",
  5141. "required": [
  5142. "meta",
  5143. "data"
  5144. ],
  5145. "properties": {
  5146. "meta": {
  5147. "$ref": "#/components/schemas/OCSMeta"
  5148. },
  5149. "data": {}
  5150. }
  5151. }
  5152. }
  5153. }
  5154. }
  5155. }
  5156. },
  5157. "403": {
  5158. "description": "Missing permissions to delete message",
  5159. "content": {
  5160. "application/json": {
  5161. "schema": {
  5162. "type": "object",
  5163. "required": [
  5164. "ocs"
  5165. ],
  5166. "properties": {
  5167. "ocs": {
  5168. "type": "object",
  5169. "required": [
  5170. "meta",
  5171. "data"
  5172. ],
  5173. "properties": {
  5174. "meta": {
  5175. "$ref": "#/components/schemas/OCSMeta"
  5176. },
  5177. "data": {}
  5178. }
  5179. }
  5180. }
  5181. }
  5182. }
  5183. }
  5184. },
  5185. "404": {
  5186. "description": "Message not found",
  5187. "content": {
  5188. "application/json": {
  5189. "schema": {
  5190. "type": "object",
  5191. "required": [
  5192. "ocs"
  5193. ],
  5194. "properties": {
  5195. "ocs": {
  5196. "type": "object",
  5197. "required": [
  5198. "meta",
  5199. "data"
  5200. ],
  5201. "properties": {
  5202. "meta": {
  5203. "$ref": "#/components/schemas/OCSMeta"
  5204. },
  5205. "data": {}
  5206. }
  5207. }
  5208. }
  5209. }
  5210. }
  5211. }
  5212. },
  5213. "405": {
  5214. "description": "Deleting this message type is not allowed",
  5215. "content": {
  5216. "application/json": {
  5217. "schema": {
  5218. "type": "object",
  5219. "required": [
  5220. "ocs"
  5221. ],
  5222. "properties": {
  5223. "ocs": {
  5224. "type": "object",
  5225. "required": [
  5226. "meta",
  5227. "data"
  5228. ],
  5229. "properties": {
  5230. "meta": {
  5231. "$ref": "#/components/schemas/OCSMeta"
  5232. },
  5233. "data": {}
  5234. }
  5235. }
  5236. }
  5237. }
  5238. }
  5239. }
  5240. }
  5241. }
  5242. },
  5243. "put": {
  5244. "operationId": "chat-edit-message",
  5245. "summary": "Edit a chat message",
  5246. "tags": [
  5247. "chat"
  5248. ],
  5249. "security": [
  5250. {},
  5251. {
  5252. "bearer_auth": []
  5253. },
  5254. {
  5255. "basic_auth": []
  5256. }
  5257. ],
  5258. "parameters": [
  5259. {
  5260. "name": "message",
  5261. "in": "query",
  5262. "description": "the message to send",
  5263. "required": true,
  5264. "schema": {
  5265. "type": "string"
  5266. }
  5267. },
  5268. {
  5269. "name": "apiVersion",
  5270. "in": "path",
  5271. "required": true,
  5272. "schema": {
  5273. "type": "string",
  5274. "enum": [
  5275. "v1"
  5276. ],
  5277. "default": "v1"
  5278. }
  5279. },
  5280. {
  5281. "name": "token",
  5282. "in": "path",
  5283. "required": true,
  5284. "schema": {
  5285. "type": "string",
  5286. "pattern": "^[a-z0-9]{4,30}$"
  5287. }
  5288. },
  5289. {
  5290. "name": "messageId",
  5291. "in": "path",
  5292. "description": "ID of the message",
  5293. "required": true,
  5294. "schema": {
  5295. "type": "integer",
  5296. "format": "int64",
  5297. "minimum": 0
  5298. }
  5299. },
  5300. {
  5301. "name": "OCS-APIRequest",
  5302. "in": "header",
  5303. "description": "Required to be true for the API request to pass",
  5304. "required": true,
  5305. "schema": {
  5306. "type": "boolean",
  5307. "default": true
  5308. }
  5309. }
  5310. ],
  5311. "responses": {
  5312. "200": {
  5313. "description": "Message edited successfully",
  5314. "headers": {
  5315. "X-Chat-Last-Common-Read": {
  5316. "schema": {
  5317. "type": "string"
  5318. }
  5319. }
  5320. },
  5321. "content": {
  5322. "application/json": {
  5323. "schema": {
  5324. "type": "object",
  5325. "required": [
  5326. "ocs"
  5327. ],
  5328. "properties": {
  5329. "ocs": {
  5330. "type": "object",
  5331. "required": [
  5332. "meta",
  5333. "data"
  5334. ],
  5335. "properties": {
  5336. "meta": {
  5337. "$ref": "#/components/schemas/OCSMeta"
  5338. },
  5339. "data": {
  5340. "$ref": "#/components/schemas/ChatMessageWithParent"
  5341. }
  5342. }
  5343. }
  5344. }
  5345. }
  5346. }
  5347. }
  5348. },
  5349. "202": {
  5350. "description": "Message edited successfully, but a bot or Matterbridge is configured, so the information can be replicated to other services",
  5351. "headers": {
  5352. "X-Chat-Last-Common-Read": {
  5353. "schema": {
  5354. "type": "string"
  5355. }
  5356. }
  5357. },
  5358. "content": {
  5359. "application/json": {
  5360. "schema": {
  5361. "type": "object",
  5362. "required": [
  5363. "ocs"
  5364. ],
  5365. "properties": {
  5366. "ocs": {
  5367. "type": "object",
  5368. "required": [
  5369. "meta",
  5370. "data"
  5371. ],
  5372. "properties": {
  5373. "meta": {
  5374. "$ref": "#/components/schemas/OCSMeta"
  5375. },
  5376. "data": {
  5377. "$ref": "#/components/schemas/ChatMessageWithParent"
  5378. }
  5379. }
  5380. }
  5381. }
  5382. }
  5383. }
  5384. }
  5385. },
  5386. "400": {
  5387. "description": "Editing message is not possible, e.g. when the new message is empty or the message is too old",
  5388. "content": {
  5389. "application/json": {
  5390. "schema": {
  5391. "type": "object",
  5392. "required": [
  5393. "ocs"
  5394. ],
  5395. "properties": {
  5396. "ocs": {
  5397. "type": "object",
  5398. "required": [
  5399. "meta",
  5400. "data"
  5401. ],
  5402. "properties": {
  5403. "meta": {
  5404. "$ref": "#/components/schemas/OCSMeta"
  5405. },
  5406. "data": {
  5407. "type": "object",
  5408. "required": [
  5409. "error"
  5410. ],
  5411. "properties": {
  5412. "error": {
  5413. "type": "string"
  5414. }
  5415. }
  5416. }
  5417. }
  5418. }
  5419. }
  5420. }
  5421. }
  5422. }
  5423. },
  5424. "403": {
  5425. "description": "Missing permissions to edit message",
  5426. "content": {
  5427. "application/json": {
  5428. "schema": {
  5429. "type": "object",
  5430. "required": [
  5431. "ocs"
  5432. ],
  5433. "properties": {
  5434. "ocs": {
  5435. "type": "object",
  5436. "required": [
  5437. "meta",
  5438. "data"
  5439. ],
  5440. "properties": {
  5441. "meta": {
  5442. "$ref": "#/components/schemas/OCSMeta"
  5443. },
  5444. "data": {}
  5445. }
  5446. }
  5447. }
  5448. }
  5449. }
  5450. }
  5451. },
  5452. "404": {
  5453. "description": "Message not found",
  5454. "content": {
  5455. "application/json": {
  5456. "schema": {
  5457. "type": "object",
  5458. "required": [
  5459. "ocs"
  5460. ],
  5461. "properties": {
  5462. "ocs": {
  5463. "type": "object",
  5464. "required": [
  5465. "meta",
  5466. "data"
  5467. ],
  5468. "properties": {
  5469. "meta": {
  5470. "$ref": "#/components/schemas/OCSMeta"
  5471. },
  5472. "data": {}
  5473. }
  5474. }
  5475. }
  5476. }
  5477. }
  5478. }
  5479. },
  5480. "405": {
  5481. "description": "Editing this message type is not allowed",
  5482. "content": {
  5483. "application/json": {
  5484. "schema": {
  5485. "type": "object",
  5486. "required": [
  5487. "ocs"
  5488. ],
  5489. "properties": {
  5490. "ocs": {
  5491. "type": "object",
  5492. "required": [
  5493. "meta",
  5494. "data"
  5495. ],
  5496. "properties": {
  5497. "meta": {
  5498. "$ref": "#/components/schemas/OCSMeta"
  5499. },
  5500. "data": {}
  5501. }
  5502. }
  5503. }
  5504. }
  5505. }
  5506. }
  5507. },
  5508. "413": {
  5509. "description": "Message too long",
  5510. "content": {
  5511. "application/json": {
  5512. "schema": {
  5513. "type": "object",
  5514. "required": [
  5515. "ocs"
  5516. ],
  5517. "properties": {
  5518. "ocs": {
  5519. "type": "object",
  5520. "required": [
  5521. "meta",
  5522. "data"
  5523. ],
  5524. "properties": {
  5525. "meta": {
  5526. "$ref": "#/components/schemas/OCSMeta"
  5527. },
  5528. "data": {}
  5529. }
  5530. }
  5531. }
  5532. }
  5533. }
  5534. }
  5535. }
  5536. }
  5537. }
  5538. },
  5539. "/ocs/v2.php/apps/spreed/api/{apiVersion}/chat/{token}/{messageId}/context": {
  5540. "get": {
  5541. "operationId": "chat-get-message-context",
  5542. "summary": "Get the context of a message",
  5543. "tags": [
  5544. "chat"
  5545. ],
  5546. "security": [
  5547. {},
  5548. {
  5549. "bearer_auth": []
  5550. },
  5551. {
  5552. "basic_auth": []
  5553. }
  5554. ],
  5555. "parameters": [
  5556. {
  5557. "name": "limit",
  5558. "in": "query",
  5559. "description": "Number of chat messages to receive in both directions (50 by default, 100 at most, might return 201 messages)",
  5560. "schema": {
  5561. "type": "integer",
  5562. "format": "int64",
  5563. "default": 50,
  5564. "minimum": 1,
  5565. "maximum": 100
  5566. }
  5567. },
  5568. {
  5569. "name": "apiVersion",
  5570. "in": "path",
  5571. "required": true,
  5572. "schema": {
  5573. "type": "string",
  5574. "enum": [
  5575. "v1"
  5576. ],
  5577. "default": "v1"
  5578. }
  5579. },
  5580. {
  5581. "name": "token",
  5582. "in": "path",
  5583. "required": true,
  5584. "schema": {
  5585. "type": "string",
  5586. "pattern": "^[a-z0-9]{4,30}$"
  5587. }
  5588. },
  5589. {
  5590. "name": "messageId",
  5591. "in": "path",
  5592. "description": "The focused message which should be in the \"middle\" of the returned context",
  5593. "required": true,
  5594. "schema": {
  5595. "type": "integer",
  5596. "format": "int64",
  5597. "minimum": 0
  5598. }
  5599. },
  5600. {
  5601. "name": "OCS-APIRequest",
  5602. "in": "header",
  5603. "description": "Required to be true for the API request to pass",
  5604. "required": true,
  5605. "schema": {
  5606. "type": "boolean",
  5607. "default": true
  5608. }
  5609. }
  5610. ],
  5611. "responses": {
  5612. "200": {
  5613. "description": "Message context returned",
  5614. "headers": {
  5615. "X-Chat-Last-Common-Read": {
  5616. "schema": {
  5617. "type": "string"
  5618. }
  5619. },
  5620. "X-Chat-Last-Given": {
  5621. "schema": {
  5622. "type": "string"
  5623. }
  5624. }
  5625. },
  5626. "content": {
  5627. "application/json": {
  5628. "schema": {
  5629. "type": "object",
  5630. "required": [
  5631. "ocs"
  5632. ],
  5633. "properties": {
  5634. "ocs": {
  5635. "type": "object",
  5636. "required": [
  5637. "meta",
  5638. "data"
  5639. ],
  5640. "properties": {
  5641. "meta": {
  5642. "$ref": "#/components/schemas/OCSMeta"
  5643. },
  5644. "data": {
  5645. "type": "array",
  5646. "items": {
  5647. "$ref": "#/components/schemas/ChatMessageWithParent"
  5648. }
  5649. }
  5650. }
  5651. }
  5652. }
  5653. }
  5654. }
  5655. }
  5656. },
  5657. "304": {
  5658. "description": "No messages",
  5659. "content": {
  5660. "application/json": {
  5661. "schema": {
  5662. "type": "object",
  5663. "required": [
  5664. "ocs"
  5665. ],
  5666. "properties": {
  5667. "ocs": {
  5668. "type": "object",
  5669. "required": [
  5670. "meta",
  5671. "data"
  5672. ],
  5673. "properties": {
  5674. "meta": {
  5675. "$ref": "#/components/schemas/OCSMeta"
  5676. },
  5677. "data": {}
  5678. }
  5679. }
  5680. }
  5681. }
  5682. }
  5683. }
  5684. }
  5685. }
  5686. }
  5687. },
  5688. "/ocs/v2.php/apps/spreed/api/{apiVersion}/chat/{token}/{messageId}/reminder": {
  5689. "post": {
  5690. "operationId": "chat-set-reminder",
  5691. "summary": "Set a reminder for a chat message",
  5692. "tags": [
  5693. "chat"
  5694. ],
  5695. "security": [
  5696. {
  5697. "bearer_auth": []
  5698. },
  5699. {
  5700. "basic_auth": []
  5701. }
  5702. ],
  5703. "parameters": [
  5704. {
  5705. "name": "timestamp",
  5706. "in": "query",
  5707. "description": "Timestamp of the reminder",
  5708. "required": true,
  5709. "schema": {
  5710. "type": "integer",
  5711. "format": "int64",
  5712. "minimum": 0
  5713. }
  5714. },
  5715. {
  5716. "name": "apiVersion",
  5717. "in": "path",
  5718. "required": true,
  5719. "schema": {
  5720. "type": "string",
  5721. "enum": [
  5722. "v1"
  5723. ],
  5724. "default": "v1"
  5725. }
  5726. },
  5727. {
  5728. "name": "token",
  5729. "in": "path",
  5730. "required": true,
  5731. "schema": {
  5732. "type": "string",
  5733. "pattern": "^[a-z0-9]{4,30}$"
  5734. }
  5735. },
  5736. {
  5737. "name": "messageId",
  5738. "in": "path",
  5739. "description": "ID of the message",
  5740. "required": true,
  5741. "schema": {
  5742. "type": "integer",
  5743. "format": "int64",
  5744. "minimum": 0
  5745. }
  5746. },
  5747. {
  5748. "name": "OCS-APIRequest",
  5749. "in": "header",
  5750. "description": "Required to be true for the API request to pass",
  5751. "required": true,
  5752. "schema": {
  5753. "type": "boolean",
  5754. "default": true
  5755. }
  5756. }
  5757. ],
  5758. "responses": {
  5759. "201": {
  5760. "description": "Reminder created successfully",
  5761. "content": {
  5762. "application/json": {
  5763. "schema": {
  5764. "type": "object",
  5765. "required": [
  5766. "ocs"
  5767. ],
  5768. "properties": {
  5769. "ocs": {
  5770. "type": "object",
  5771. "required": [
  5772. "meta",
  5773. "data"
  5774. ],
  5775. "properties": {
  5776. "meta": {
  5777. "$ref": "#/components/schemas/OCSMeta"
  5778. },
  5779. "data": {
  5780. "$ref": "#/components/schemas/ChatReminder"
  5781. }
  5782. }
  5783. }
  5784. }
  5785. }
  5786. }
  5787. }
  5788. },
  5789. "404": {
  5790. "description": "Message not found",
  5791. "content": {
  5792. "application/json": {
  5793. "schema": {
  5794. "type": "object",
  5795. "required": [
  5796. "ocs"
  5797. ],
  5798. "properties": {
  5799. "ocs": {
  5800. "type": "object",
  5801. "required": [
  5802. "meta",
  5803. "data"
  5804. ],
  5805. "properties": {
  5806. "meta": {
  5807. "$ref": "#/components/schemas/OCSMeta"
  5808. },
  5809. "data": {
  5810. "type": "object",
  5811. "properties": {
  5812. "error": {
  5813. "type": "string"
  5814. }
  5815. }
  5816. }
  5817. }
  5818. }
  5819. }
  5820. }
  5821. }
  5822. }
  5823. }
  5824. }
  5825. },
  5826. "get": {
  5827. "operationId": "chat-get-reminder",
  5828. "summary": "Get the reminder for a chat message",
  5829. "tags": [
  5830. "chat"
  5831. ],
  5832. "security": [
  5833. {
  5834. "bearer_auth": []
  5835. },
  5836. {
  5837. "basic_auth": []
  5838. }
  5839. ],
  5840. "parameters": [
  5841. {
  5842. "name": "apiVersion",
  5843. "in": "path",
  5844. "required": true,
  5845. "schema": {
  5846. "type": "string",
  5847. "enum": [
  5848. "v1"
  5849. ],
  5850. "default": "v1"
  5851. }
  5852. },
  5853. {
  5854. "name": "token",
  5855. "in": "path",
  5856. "required": true,
  5857. "schema": {
  5858. "type": "string",
  5859. "pattern": "^[a-z0-9]{4,30}$"
  5860. }
  5861. },
  5862. {
  5863. "name": "messageId",
  5864. "in": "path",
  5865. "description": "ID of the message",
  5866. "required": true,
  5867. "schema": {
  5868. "type": "integer",
  5869. "format": "int64",
  5870. "minimum": 0
  5871. }
  5872. },
  5873. {
  5874. "name": "OCS-APIRequest",
  5875. "in": "header",
  5876. "description": "Required to be true for the API request to pass",
  5877. "required": true,
  5878. "schema": {
  5879. "type": "boolean",
  5880. "default": true
  5881. }
  5882. }
  5883. ],
  5884. "responses": {
  5885. "200": {
  5886. "description": "Reminder returned",
  5887. "content": {
  5888. "application/json": {
  5889. "schema": {
  5890. "type": "object",
  5891. "required": [
  5892. "ocs"
  5893. ],
  5894. "properties": {
  5895. "ocs": {
  5896. "type": "object",
  5897. "required": [
  5898. "meta",
  5899. "data"
  5900. ],
  5901. "properties": {
  5902. "meta": {
  5903. "$ref": "#/components/schemas/OCSMeta"
  5904. },
  5905. "data": {
  5906. "$ref": "#/components/schemas/ChatReminder"
  5907. }
  5908. }
  5909. }
  5910. }
  5911. }
  5912. }
  5913. }
  5914. },
  5915. "404": {
  5916. "description": "Message not found",
  5917. "content": {
  5918. "application/json": {
  5919. "schema": {
  5920. "type": "object",
  5921. "required": [
  5922. "ocs"
  5923. ],
  5924. "properties": {
  5925. "ocs": {
  5926. "type": "object",
  5927. "required": [
  5928. "meta",
  5929. "data"
  5930. ],
  5931. "properties": {
  5932. "meta": {
  5933. "$ref": "#/components/schemas/OCSMeta"
  5934. },
  5935. "data": {
  5936. "type": "object",
  5937. "properties": {
  5938. "error": {
  5939. "type": "string"
  5940. }
  5941. }
  5942. }
  5943. }
  5944. }
  5945. }
  5946. }
  5947. }
  5948. }
  5949. }
  5950. }
  5951. },
  5952. "delete": {
  5953. "operationId": "chat-delete-reminder",
  5954. "summary": "Delete a chat reminder",
  5955. "tags": [
  5956. "chat"
  5957. ],
  5958. "security": [
  5959. {
  5960. "bearer_auth": []
  5961. },
  5962. {
  5963. "basic_auth": []
  5964. }
  5965. ],
  5966. "parameters": [
  5967. {
  5968. "name": "apiVersion",
  5969. "in": "path",
  5970. "required": true,
  5971. "schema": {
  5972. "type": "string",
  5973. "enum": [
  5974. "v1"
  5975. ],
  5976. "default": "v1"
  5977. }
  5978. },
  5979. {
  5980. "name": "token",
  5981. "in": "path",
  5982. "required": true,
  5983. "schema": {
  5984. "type": "string",
  5985. "pattern": "^[a-z0-9]{4,30}$"
  5986. }
  5987. },
  5988. {
  5989. "name": "messageId",
  5990. "in": "path",
  5991. "description": "ID of the message",
  5992. "required": true,
  5993. "schema": {
  5994. "type": "integer",
  5995. "format": "int64",
  5996. "minimum": 0
  5997. }
  5998. },
  5999. {
  6000. "name": "OCS-APIRequest",
  6001. "in": "header",
  6002. "description": "Required to be true for the API request to pass",
  6003. "required": true,
  6004. "schema": {
  6005. "type": "boolean",
  6006. "default": true
  6007. }
  6008. }
  6009. ],
  6010. "responses": {
  6011. "200": {
  6012. "description": "Reminder deleted successfully",
  6013. "content": {
  6014. "application/json": {
  6015. "schema": {
  6016. "type": "object",
  6017. "required": [
  6018. "ocs"
  6019. ],
  6020. "properties": {
  6021. "ocs": {
  6022. "type": "object",
  6023. "required": [
  6024. "meta",
  6025. "data"
  6026. ],
  6027. "properties": {
  6028. "meta": {
  6029. "$ref": "#/components/schemas/OCSMeta"
  6030. },
  6031. "data": {
  6032. "type": "object",
  6033. "properties": {
  6034. "error": {
  6035. "type": "string"
  6036. }
  6037. }
  6038. }
  6039. }
  6040. }
  6041. }
  6042. }
  6043. }
  6044. }
  6045. },
  6046. "404": {
  6047. "description": "Message not found",
  6048. "content": {
  6049. "application/json": {
  6050. "schema": {
  6051. "type": "object",
  6052. "required": [
  6053. "ocs"
  6054. ],
  6055. "properties": {
  6056. "ocs": {
  6057. "type": "object",
  6058. "required": [
  6059. "meta",
  6060. "data"
  6061. ],
  6062. "properties": {
  6063. "meta": {
  6064. "$ref": "#/components/schemas/OCSMeta"
  6065. },
  6066. "data": {
  6067. "type": "object",
  6068. "properties": {
  6069. "error": {
  6070. "type": "string"
  6071. }
  6072. }
  6073. }
  6074. }
  6075. }
  6076. }
  6077. }
  6078. }
  6079. }
  6080. }
  6081. }
  6082. }
  6083. },
  6084. "/ocs/v2.php/apps/spreed/api/{apiVersion}/chat/{token}/read": {
  6085. "post": {
  6086. "operationId": "chat-set-read-marker",
  6087. "summary": "Set the read marker to a specific message",
  6088. "tags": [
  6089. "chat"
  6090. ],
  6091. "security": [
  6092. {},
  6093. {
  6094. "bearer_auth": []
  6095. },
  6096. {
  6097. "basic_auth": []
  6098. }
  6099. ],
  6100. "parameters": [
  6101. {
  6102. "name": "lastReadMessage",
  6103. "in": "query",
  6104. "description": "ID if the last read message (Optional only with `chat-read-last` capability)",
  6105. "schema": {
  6106. "type": "integer",
  6107. "format": "int64",
  6108. "nullable": true,
  6109. "minimum": 0
  6110. }
  6111. },
  6112. {
  6113. "name": "apiVersion",
  6114. "in": "path",
  6115. "required": true,
  6116. "schema": {
  6117. "type": "string",
  6118. "enum": [
  6119. "v1"
  6120. ],
  6121. "default": "v1"
  6122. }
  6123. },
  6124. {
  6125. "name": "token",
  6126. "in": "path",
  6127. "required": true,
  6128. "schema": {
  6129. "type": "string",
  6130. "pattern": "^[a-z0-9]{4,30}$"
  6131. }
  6132. },
  6133. {
  6134. "name": "OCS-APIRequest",
  6135. "in": "header",
  6136. "description": "Required to be true for the API request to pass",
  6137. "required": true,
  6138. "schema": {
  6139. "type": "boolean",
  6140. "default": true
  6141. }
  6142. }
  6143. ],
  6144. "responses": {
  6145. "200": {
  6146. "description": "Read marker set successfully",
  6147. "headers": {
  6148. "X-Chat-Last-Common-Read": {
  6149. "schema": {
  6150. "type": "string"
  6151. }
  6152. }
  6153. },
  6154. "content": {
  6155. "application/json": {
  6156. "schema": {
  6157. "type": "object",
  6158. "required": [
  6159. "ocs"
  6160. ],
  6161. "properties": {
  6162. "ocs": {
  6163. "type": "object",
  6164. "required": [
  6165. "meta",
  6166. "data"
  6167. ],
  6168. "properties": {
  6169. "meta": {
  6170. "$ref": "#/components/schemas/OCSMeta"
  6171. },
  6172. "data": {
  6173. "$ref": "#/components/schemas/Room"
  6174. }
  6175. }
  6176. }
  6177. }
  6178. }
  6179. }
  6180. }
  6181. }
  6182. }
  6183. },
  6184. "delete": {
  6185. "operationId": "chat-mark-unread",
  6186. "summary": "Mark a chat as unread",
  6187. "tags": [
  6188. "chat"
  6189. ],
  6190. "security": [
  6191. {},
  6192. {
  6193. "bearer_auth": []
  6194. },
  6195. {
  6196. "basic_auth": []
  6197. }
  6198. ],
  6199. "parameters": [
  6200. {
  6201. "name": "apiVersion",
  6202. "in": "path",
  6203. "required": true,
  6204. "schema": {
  6205. "type": "string",
  6206. "enum": [
  6207. "v1"
  6208. ],
  6209. "default": "v1"
  6210. }
  6211. },
  6212. {
  6213. "name": "token",
  6214. "in": "path",
  6215. "required": true,
  6216. "schema": {
  6217. "type": "string",
  6218. "pattern": "^[a-z0-9]{4,30}$"
  6219. }
  6220. },
  6221. {
  6222. "name": "OCS-APIRequest",
  6223. "in": "header",
  6224. "description": "Required to be true for the API request to pass",
  6225. "required": true,
  6226. "schema": {
  6227. "type": "boolean",
  6228. "default": true
  6229. }
  6230. }
  6231. ],
  6232. "responses": {
  6233. "200": {
  6234. "description": "Read marker set successfully",
  6235. "headers": {
  6236. "X-Chat-Last-Common-Read": {
  6237. "schema": {
  6238. "type": "string"
  6239. }
  6240. }
  6241. },
  6242. "content": {
  6243. "application/json": {
  6244. "schema": {
  6245. "type": "object",
  6246. "required": [
  6247. "ocs"
  6248. ],
  6249. "properties": {
  6250. "ocs": {
  6251. "type": "object",
  6252. "required": [
  6253. "meta",
  6254. "data"
  6255. ],
  6256. "properties": {
  6257. "meta": {
  6258. "$ref": "#/components/schemas/OCSMeta"
  6259. },
  6260. "data": {
  6261. "$ref": "#/components/schemas/Room"
  6262. }
  6263. }
  6264. }
  6265. }
  6266. }
  6267. }
  6268. }
  6269. }
  6270. }
  6271. }
  6272. },
  6273. "/ocs/v2.php/apps/spreed/api/{apiVersion}/chat/{token}/mentions": {
  6274. "get": {
  6275. "operationId": "chat-mentions",
  6276. "summary": "Search for mentions",
  6277. "tags": [
  6278. "chat"
  6279. ],
  6280. "security": [
  6281. {},
  6282. {
  6283. "bearer_auth": []
  6284. },
  6285. {
  6286. "basic_auth": []
  6287. }
  6288. ],
  6289. "parameters": [
  6290. {
  6291. "name": "search",
  6292. "in": "query",
  6293. "description": "Text to search for",
  6294. "required": true,
  6295. "schema": {
  6296. "type": "string"
  6297. }
  6298. },
  6299. {
  6300. "name": "limit",
  6301. "in": "query",
  6302. "description": "Maximum number of results",
  6303. "schema": {
  6304. "type": "integer",
  6305. "format": "int64",
  6306. "default": 20
  6307. }
  6308. },
  6309. {
  6310. "name": "includeStatus",
  6311. "in": "query",
  6312. "description": "Include the user statuses",
  6313. "schema": {
  6314. "type": "integer",
  6315. "default": 0,
  6316. "enum": [
  6317. 0,
  6318. 1
  6319. ]
  6320. }
  6321. },
  6322. {
  6323. "name": "apiVersion",
  6324. "in": "path",
  6325. "required": true,
  6326. "schema": {
  6327. "type": "string",
  6328. "enum": [
  6329. "v1"
  6330. ],
  6331. "default": "v1"
  6332. }
  6333. },
  6334. {
  6335. "name": "token",
  6336. "in": "path",
  6337. "required": true,
  6338. "schema": {
  6339. "type": "string",
  6340. "pattern": "^[a-z0-9]{4,30}$"
  6341. }
  6342. },
  6343. {
  6344. "name": "OCS-APIRequest",
  6345. "in": "header",
  6346. "description": "Required to be true for the API request to pass",
  6347. "required": true,
  6348. "schema": {
  6349. "type": "boolean",
  6350. "default": true
  6351. }
  6352. }
  6353. ],
  6354. "responses": {
  6355. "200": {
  6356. "description": "List of mention suggestions returned",
  6357. "content": {
  6358. "application/json": {
  6359. "schema": {
  6360. "type": "object",
  6361. "required": [
  6362. "ocs"
  6363. ],
  6364. "properties": {
  6365. "ocs": {
  6366. "type": "object",
  6367. "required": [
  6368. "meta",
  6369. "data"
  6370. ],
  6371. "properties": {
  6372. "meta": {
  6373. "$ref": "#/components/schemas/OCSMeta"
  6374. },
  6375. "data": {
  6376. "type": "array",
  6377. "items": {
  6378. "$ref": "#/components/schemas/ChatMentionSuggestion"
  6379. }
  6380. }
  6381. }
  6382. }
  6383. }
  6384. }
  6385. }
  6386. }
  6387. }
  6388. }
  6389. }
  6390. },
  6391. "/ocs/v2.php/apps/spreed/api/{apiVersion}/chat/{token}/share": {
  6392. "post": {
  6393. "operationId": "chat-share-object-to-chat",
  6394. "summary": "Sends a rich-object to the given room",
  6395. "description": "The author and timestamp are automatically set to the current user/guest and time.",
  6396. "tags": [
  6397. "chat"
  6398. ],
  6399. "security": [
  6400. {},
  6401. {
  6402. "bearer_auth": []
  6403. },
  6404. {
  6405. "basic_auth": []
  6406. }
  6407. ],
  6408. "parameters": [
  6409. {
  6410. "name": "objectType",
  6411. "in": "query",
  6412. "description": "Type of the object",
  6413. "required": true,
  6414. "schema": {
  6415. "type": "string"
  6416. }
  6417. },
  6418. {
  6419. "name": "objectId",
  6420. "in": "query",
  6421. "description": "ID of the object",
  6422. "required": true,
  6423. "schema": {
  6424. "type": "string"
  6425. }
  6426. },
  6427. {
  6428. "name": "metaData",
  6429. "in": "query",
  6430. "description": "Additional metadata",
  6431. "schema": {
  6432. "type": "string",
  6433. "default": ""
  6434. }
  6435. },
  6436. {
  6437. "name": "actorDisplayName",
  6438. "in": "query",
  6439. "description": "Guest name",
  6440. "schema": {
  6441. "type": "string",
  6442. "default": ""
  6443. }
  6444. },
  6445. {
  6446. "name": "referenceId",
  6447. "in": "query",
  6448. "description": "Reference ID",
  6449. "schema": {
  6450. "type": "string",
  6451. "default": ""
  6452. }
  6453. },
  6454. {
  6455. "name": "apiVersion",
  6456. "in": "path",
  6457. "required": true,
  6458. "schema": {
  6459. "type": "string",
  6460. "enum": [
  6461. "v1"
  6462. ],
  6463. "default": "v1"
  6464. }
  6465. },
  6466. {
  6467. "name": "token",
  6468. "in": "path",
  6469. "required": true,
  6470. "schema": {
  6471. "type": "string",
  6472. "pattern": "^[a-z0-9]{4,30}$"
  6473. }
  6474. },
  6475. {
  6476. "name": "OCS-APIRequest",
  6477. "in": "header",
  6478. "description": "Required to be true for the API request to pass",
  6479. "required": true,
  6480. "schema": {
  6481. "type": "boolean",
  6482. "default": true
  6483. }
  6484. }
  6485. ],
  6486. "responses": {
  6487. "201": {
  6488. "description": "Object shared successfully",
  6489. "headers": {
  6490. "X-Chat-Last-Common-Read": {
  6491. "schema": {
  6492. "type": "string"
  6493. }
  6494. }
  6495. },
  6496. "content": {
  6497. "application/json": {
  6498. "schema": {
  6499. "type": "object",
  6500. "required": [
  6501. "ocs"
  6502. ],
  6503. "properties": {
  6504. "ocs": {
  6505. "type": "object",
  6506. "required": [
  6507. "meta",
  6508. "data"
  6509. ],
  6510. "properties": {
  6511. "meta": {
  6512. "$ref": "#/components/schemas/OCSMeta"
  6513. },
  6514. "data": {
  6515. "$ref": "#/components/schemas/ChatMessageWithParent",
  6516. "nullable": true
  6517. }
  6518. }
  6519. }
  6520. }
  6521. }
  6522. }
  6523. }
  6524. },
  6525. "400": {
  6526. "description": "Sharing object is not possible",
  6527. "content": {
  6528. "application/json": {
  6529. "schema": {
  6530. "type": "object",
  6531. "required": [
  6532. "ocs"
  6533. ],
  6534. "properties": {
  6535. "ocs": {
  6536. "type": "object",
  6537. "required": [
  6538. "meta",
  6539. "data"
  6540. ],
  6541. "properties": {
  6542. "meta": {
  6543. "$ref": "#/components/schemas/OCSMeta"
  6544. },
  6545. "data": {}
  6546. }
  6547. }
  6548. }
  6549. }
  6550. }
  6551. }
  6552. },
  6553. "404": {
  6554. "description": "Actor not found",
  6555. "content": {
  6556. "application/json": {
  6557. "schema": {
  6558. "type": "object",
  6559. "required": [
  6560. "ocs"
  6561. ],
  6562. "properties": {
  6563. "ocs": {
  6564. "type": "object",
  6565. "required": [
  6566. "meta",
  6567. "data"
  6568. ],
  6569. "properties": {
  6570. "meta": {
  6571. "$ref": "#/components/schemas/OCSMeta"
  6572. },
  6573. "data": {}
  6574. }
  6575. }
  6576. }
  6577. }
  6578. }
  6579. }
  6580. },
  6581. "413": {
  6582. "description": "Message too long",
  6583. "content": {
  6584. "application/json": {
  6585. "schema": {
  6586. "type": "object",
  6587. "required": [
  6588. "ocs"
  6589. ],
  6590. "properties": {
  6591. "ocs": {
  6592. "type": "object",
  6593. "required": [
  6594. "meta",
  6595. "data"
  6596. ],
  6597. "properties": {
  6598. "meta": {
  6599. "$ref": "#/components/schemas/OCSMeta"
  6600. },
  6601. "data": {}
  6602. }
  6603. }
  6604. }
  6605. }
  6606. }
  6607. }
  6608. }
  6609. }
  6610. },
  6611. "get": {
  6612. "operationId": "chat-get-objects-shared-in-room",
  6613. "summary": "Get objects that are shared in the room",
  6614. "tags": [
  6615. "chat"
  6616. ],
  6617. "security": [
  6618. {},
  6619. {
  6620. "bearer_auth": []
  6621. },
  6622. {
  6623. "basic_auth": []
  6624. }
  6625. ],
  6626. "parameters": [
  6627. {
  6628. "name": "objectType",
  6629. "in": "query",
  6630. "description": "Type of the objects",
  6631. "required": true,
  6632. "schema": {
  6633. "type": "string"
  6634. }
  6635. },
  6636. {
  6637. "name": "lastKnownMessageId",
  6638. "in": "query",
  6639. "description": "ID of the last known message",
  6640. "schema": {
  6641. "type": "integer",
  6642. "format": "int64",
  6643. "default": 0,
  6644. "minimum": 0
  6645. }
  6646. },
  6647. {
  6648. "name": "limit",
  6649. "in": "query",
  6650. "description": "Maximum number of objects",
  6651. "schema": {
  6652. "type": "integer",
  6653. "format": "int64",
  6654. "default": 100,
  6655. "minimum": 1,
  6656. "maximum": 200
  6657. }
  6658. },
  6659. {
  6660. "name": "apiVersion",
  6661. "in": "path",
  6662. "required": true,
  6663. "schema": {
  6664. "type": "string",
  6665. "enum": [
  6666. "v1"
  6667. ],
  6668. "default": "v1"
  6669. }
  6670. },
  6671. {
  6672. "name": "token",
  6673. "in": "path",
  6674. "required": true,
  6675. "schema": {
  6676. "type": "string",
  6677. "pattern": "^[a-z0-9]{4,30}$"
  6678. }
  6679. },
  6680. {
  6681. "name": "OCS-APIRequest",
  6682. "in": "header",
  6683. "description": "Required to be true for the API request to pass",
  6684. "required": true,
  6685. "schema": {
  6686. "type": "boolean",
  6687. "default": true
  6688. }
  6689. }
  6690. ],
  6691. "responses": {
  6692. "200": {
  6693. "description": "List of shared objects messages returned",
  6694. "headers": {
  6695. "X-Chat-Last-Given": {
  6696. "schema": {
  6697. "type": "string"
  6698. }
  6699. }
  6700. },
  6701. "content": {
  6702. "application/json": {
  6703. "schema": {
  6704. "type": "object",
  6705. "required": [
  6706. "ocs"
  6707. ],
  6708. "properties": {
  6709. "ocs": {
  6710. "type": "object",
  6711. "required": [
  6712. "meta",
  6713. "data"
  6714. ],
  6715. "properties": {
  6716. "meta": {
  6717. "$ref": "#/components/schemas/OCSMeta"
  6718. },
  6719. "data": {
  6720. "type": "array",
  6721. "items": {
  6722. "$ref": "#/components/schemas/ChatMessage"
  6723. }
  6724. }
  6725. }
  6726. }
  6727. }
  6728. }
  6729. }
  6730. }
  6731. }
  6732. }
  6733. }
  6734. },
  6735. "/ocs/v2.php/apps/spreed/api/{apiVersion}/chat/{token}/share/overview": {
  6736. "get": {
  6737. "operationId": "chat-get-objects-shared-in-room-overview",
  6738. "summary": "Get objects that are shared in the room overview",
  6739. "tags": [
  6740. "chat"
  6741. ],
  6742. "security": [
  6743. {},
  6744. {
  6745. "bearer_auth": []
  6746. },
  6747. {
  6748. "basic_auth": []
  6749. }
  6750. ],
  6751. "parameters": [
  6752. {
  6753. "name": "limit",
  6754. "in": "query",
  6755. "description": "Maximum number of objects",
  6756. "schema": {
  6757. "type": "integer",
  6758. "format": "int64",
  6759. "default": 7,
  6760. "minimum": 1,
  6761. "maximum": 20
  6762. }
  6763. },
  6764. {
  6765. "name": "apiVersion",
  6766. "in": "path",
  6767. "required": true,
  6768. "schema": {
  6769. "type": "string",
  6770. "enum": [
  6771. "v1"
  6772. ],
  6773. "default": "v1"
  6774. }
  6775. },
  6776. {
  6777. "name": "token",
  6778. "in": "path",
  6779. "required": true,
  6780. "schema": {
  6781. "type": "string",
  6782. "pattern": "^[a-z0-9]{4,30}$"
  6783. }
  6784. },
  6785. {
  6786. "name": "OCS-APIRequest",
  6787. "in": "header",
  6788. "description": "Required to be true for the API request to pass",
  6789. "required": true,
  6790. "schema": {
  6791. "type": "boolean",
  6792. "default": true
  6793. }
  6794. }
  6795. ],
  6796. "responses": {
  6797. "200": {
  6798. "description": "List of shared objects messages of each type returned",
  6799. "content": {
  6800. "application/json": {
  6801. "schema": {
  6802. "type": "object",
  6803. "required": [
  6804. "ocs"
  6805. ],
  6806. "properties": {
  6807. "ocs": {
  6808. "type": "object",
  6809. "required": [
  6810. "meta",
  6811. "data"
  6812. ],
  6813. "properties": {
  6814. "meta": {
  6815. "$ref": "#/components/schemas/OCSMeta"
  6816. },
  6817. "data": {
  6818. "type": "object",
  6819. "additionalProperties": {
  6820. "type": "array",
  6821. "items": {
  6822. "$ref": "#/components/schemas/ChatMessage"
  6823. }
  6824. }
  6825. }
  6826. }
  6827. }
  6828. }
  6829. }
  6830. }
  6831. }
  6832. }
  6833. }
  6834. }
  6835. },
  6836. "/ocs/v2.php/apps/spreed/api/{apiVersion}/file/{fileId}": {
  6837. "get": {
  6838. "operationId": "files_integration-get-room-by-file-id",
  6839. "summary": "Get the token of the room associated to the given file id",
  6840. "description": "This is the counterpart of self::getRoomByShareToken() for file ids instead of share tokens, although both return the same room token if the given file id and share token refer to the same file.\nIf there is no room associated to the given file id a new room is created; the new room is a public room associated with a \"file\" object with the given file id. Unlike normal rooms in which the owner is the user that created the room these are special rooms without owner (although self joined users with direct access to the file become persistent participants automatically when they join until they explicitly leave or no longer have access to the file).\nIn any case, to create or even get the token of the room, the file must be shared and the user must be the owner of a public share of the file (like a link share, for example) or have direct access to that file; an error is returned otherwise. A user has direct access to a file if she has access to it (or to an ancestor) through a user, group, circle or room share (but not through a link share, for example), or if she is the owner of such a file.",
  6841. "tags": [
  6842. "files_integration"
  6843. ],
  6844. "security": [
  6845. {
  6846. "bearer_auth": []
  6847. },
  6848. {
  6849. "basic_auth": []
  6850. }
  6851. ],
  6852. "parameters": [
  6853. {
  6854. "name": "apiVersion",
  6855. "in": "path",
  6856. "required": true,
  6857. "schema": {
  6858. "type": "string",
  6859. "enum": [
  6860. "v1"
  6861. ],
  6862. "default": "v1"
  6863. }
  6864. },
  6865. {
  6866. "name": "fileId",
  6867. "in": "path",
  6868. "description": "ID of the file",
  6869. "required": true,
  6870. "schema": {
  6871. "type": "string",
  6872. "pattern": "^.+$"
  6873. }
  6874. },
  6875. {
  6876. "name": "OCS-APIRequest",
  6877. "in": "header",
  6878. "description": "Required to be true for the API request to pass",
  6879. "required": true,
  6880. "schema": {
  6881. "type": "boolean",
  6882. "default": true
  6883. }
  6884. }
  6885. ],
  6886. "responses": {
  6887. "200": {
  6888. "description": "Room token returned",
  6889. "content": {
  6890. "application/json": {
  6891. "schema": {
  6892. "type": "object",
  6893. "required": [
  6894. "ocs"
  6895. ],
  6896. "properties": {
  6897. "ocs": {
  6898. "type": "object",
  6899. "required": [
  6900. "meta",
  6901. "data"
  6902. ],
  6903. "properties": {
  6904. "meta": {
  6905. "$ref": "#/components/schemas/OCSMeta"
  6906. },
  6907. "data": {
  6908. "type": "object",
  6909. "required": [
  6910. "token"
  6911. ],
  6912. "properties": {
  6913. "token": {
  6914. "type": "string"
  6915. }
  6916. }
  6917. }
  6918. }
  6919. }
  6920. }
  6921. }
  6922. }
  6923. }
  6924. },
  6925. "400": {
  6926. "description": "Rooms not allowed for shares",
  6927. "content": {
  6928. "application/json": {
  6929. "schema": {
  6930. "type": "object",
  6931. "required": [
  6932. "ocs"
  6933. ],
  6934. "properties": {
  6935. "ocs": {
  6936. "type": "object",
  6937. "required": [
  6938. "meta",
  6939. "data"
  6940. ],
  6941. "properties": {
  6942. "meta": {
  6943. "$ref": "#/components/schemas/OCSMeta"
  6944. },
  6945. "data": {}
  6946. }
  6947. }
  6948. }
  6949. }
  6950. }
  6951. }
  6952. },
  6953. "404": {
  6954. "description": "Share not found",
  6955. "content": {
  6956. "text/plain": {
  6957. "schema": {
  6958. "type": "string"
  6959. }
  6960. }
  6961. }
  6962. }
  6963. }
  6964. }
  6965. },
  6966. "/ocs/v2.php/apps/spreed/api/{apiVersion}/publicshare/{shareToken}": {
  6967. "get": {
  6968. "operationId": "files_integration-get-room-by-share-token",
  6969. "summary": "Returns the token of the room associated to the file of the given share token",
  6970. "description": "This is the counterpart of self::getRoomByFileId() for share tokens instead of file ids, although both return the same room token if the given file id and share token refer to the same file.\nIf there is no room associated to the file id of the given share token a new room is created; the new room is a public room associated with a \"file\" object with the file id of the given share token. Unlike normal rooms in which the owner is the user that created the room these are special rooms without owner (although self joined users with direct access to the file become persistent participants automatically when they join until they explicitly leave or no longer have access to the file).\nIn any case, to create or even get the token of the room, the file must be publicly shared (like a link share, for example); an error is returned otherwise.\nBesides the token of the room this also returns the current user ID and display name, if any; this is needed by the Talk sidebar to know the actual current user, as the public share page uses the incognito mode and thus logged-in users as seen as guests.",
  6971. "tags": [
  6972. "files_integration"
  6973. ],
  6974. "security": [
  6975. {},
  6976. {
  6977. "bearer_auth": []
  6978. },
  6979. {
  6980. "basic_auth": []
  6981. }
  6982. ],
  6983. "parameters": [
  6984. {
  6985. "name": "apiVersion",
  6986. "in": "path",
  6987. "required": true,
  6988. "schema": {
  6989. "type": "string",
  6990. "enum": [
  6991. "v1"
  6992. ],
  6993. "default": "v1"
  6994. }
  6995. },
  6996. {
  6997. "name": "shareToken",
  6998. "in": "path",
  6999. "description": "Token of the file share",
  7000. "required": true,
  7001. "schema": {
  7002. "type": "string",
  7003. "pattern": "^.+$"
  7004. }
  7005. },
  7006. {
  7007. "name": "OCS-APIRequest",
  7008. "in": "header",
  7009. "description": "Required to be true for the API request to pass",
  7010. "required": true,
  7011. "schema": {
  7012. "type": "boolean",
  7013. "default": true
  7014. }
  7015. }
  7016. ],
  7017. "responses": {
  7018. "200": {
  7019. "description": "Room token and user info returned",
  7020. "content": {
  7021. "application/json": {
  7022. "schema": {
  7023. "type": "object",
  7024. "required": [
  7025. "ocs"
  7026. ],
  7027. "properties": {
  7028. "ocs": {
  7029. "type": "object",
  7030. "required": [
  7031. "meta",
  7032. "data"
  7033. ],
  7034. "properties": {
  7035. "meta": {
  7036. "$ref": "#/components/schemas/OCSMeta"
  7037. },
  7038. "data": {
  7039. "type": "object",
  7040. "required": [
  7041. "token",
  7042. "userId",
  7043. "userDisplayName"
  7044. ],
  7045. "properties": {
  7046. "token": {
  7047. "type": "string"
  7048. },
  7049. "userId": {
  7050. "type": "string"
  7051. },
  7052. "userDisplayName": {
  7053. "type": "string"
  7054. }
  7055. }
  7056. }
  7057. }
  7058. }
  7059. }
  7060. }
  7061. }
  7062. }
  7063. },
  7064. "400": {
  7065. "description": "Rooms not allowed for shares",
  7066. "content": {
  7067. "application/json": {
  7068. "schema": {
  7069. "type": "object",
  7070. "required": [
  7071. "ocs"
  7072. ],
  7073. "properties": {
  7074. "ocs": {
  7075. "type": "object",
  7076. "required": [
  7077. "meta",
  7078. "data"
  7079. ],
  7080. "properties": {
  7081. "meta": {
  7082. "$ref": "#/components/schemas/OCSMeta"
  7083. },
  7084. "data": {}
  7085. }
  7086. }
  7087. }
  7088. }
  7089. }
  7090. }
  7091. },
  7092. "404": {
  7093. "description": "Share not found",
  7094. "content": {
  7095. "application/json": {
  7096. "schema": {
  7097. "type": "object",
  7098. "required": [
  7099. "ocs"
  7100. ],
  7101. "properties": {
  7102. "ocs": {
  7103. "type": "object",
  7104. "required": [
  7105. "meta",
  7106. "data"
  7107. ],
  7108. "properties": {
  7109. "meta": {
  7110. "$ref": "#/components/schemas/OCSMeta"
  7111. },
  7112. "data": {}
  7113. }
  7114. }
  7115. }
  7116. }
  7117. }
  7118. }
  7119. }
  7120. }
  7121. }
  7122. },
  7123. "/ocs/v2.php/apps/spreed/api/{apiVersion}/guest/{token}/name": {
  7124. "post": {
  7125. "operationId": "guest-set-display-name",
  7126. "summary": "Set the display name as a guest",
  7127. "tags": [
  7128. "guest"
  7129. ],
  7130. "security": [
  7131. {},
  7132. {
  7133. "bearer_auth": []
  7134. },
  7135. {
  7136. "basic_auth": []
  7137. }
  7138. ],
  7139. "parameters": [
  7140. {
  7141. "name": "displayName",
  7142. "in": "query",
  7143. "description": "New display name",
  7144. "required": true,
  7145. "schema": {
  7146. "type": "string"
  7147. }
  7148. },
  7149. {
  7150. "name": "apiVersion",
  7151. "in": "path",
  7152. "required": true,
  7153. "schema": {
  7154. "type": "string",
  7155. "enum": [
  7156. "v1"
  7157. ],
  7158. "default": "v1"
  7159. }
  7160. },
  7161. {
  7162. "name": "token",
  7163. "in": "path",
  7164. "required": true,
  7165. "schema": {
  7166. "type": "string",
  7167. "pattern": "^[a-z0-9]{4,30}$"
  7168. }
  7169. },
  7170. {
  7171. "name": "OCS-APIRequest",
  7172. "in": "header",
  7173. "description": "Required to be true for the API request to pass",
  7174. "required": true,
  7175. "schema": {
  7176. "type": "boolean",
  7177. "default": true
  7178. }
  7179. }
  7180. ],
  7181. "responses": {
  7182. "200": {
  7183. "description": "Display name updated successfully",
  7184. "content": {
  7185. "application/json": {
  7186. "schema": {
  7187. "type": "object",
  7188. "required": [
  7189. "ocs"
  7190. ],
  7191. "properties": {
  7192. "ocs": {
  7193. "type": "object",
  7194. "required": [
  7195. "meta",
  7196. "data"
  7197. ],
  7198. "properties": {
  7199. "meta": {
  7200. "$ref": "#/components/schemas/OCSMeta"
  7201. },
  7202. "data": {}
  7203. }
  7204. }
  7205. }
  7206. }
  7207. }
  7208. }
  7209. },
  7210. "403": {
  7211. "description": "Not a guest",
  7212. "content": {
  7213. "application/json": {
  7214. "schema": {
  7215. "type": "object",
  7216. "required": [
  7217. "ocs"
  7218. ],
  7219. "properties": {
  7220. "ocs": {
  7221. "type": "object",
  7222. "required": [
  7223. "meta",
  7224. "data"
  7225. ],
  7226. "properties": {
  7227. "meta": {
  7228. "$ref": "#/components/schemas/OCSMeta"
  7229. },
  7230. "data": {}
  7231. }
  7232. }
  7233. }
  7234. }
  7235. }
  7236. }
  7237. },
  7238. "404": {
  7239. "description": "Not a participant",
  7240. "content": {
  7241. "application/json": {
  7242. "schema": {
  7243. "type": "object",
  7244. "required": [
  7245. "ocs"
  7246. ],
  7247. "properties": {
  7248. "ocs": {
  7249. "type": "object",
  7250. "required": [
  7251. "meta",
  7252. "data"
  7253. ],
  7254. "properties": {
  7255. "meta": {
  7256. "$ref": "#/components/schemas/OCSMeta"
  7257. },
  7258. "data": {}
  7259. }
  7260. }
  7261. }
  7262. }
  7263. }
  7264. }
  7265. }
  7266. }
  7267. }
  7268. },
  7269. "/ocs/v2.php/apps/spreed/api/{apiVersion}/bridge/{token}": {
  7270. "get": {
  7271. "operationId": "matterbridge-get-bridge-of-room",
  7272. "summary": "Get bridge information of one room",
  7273. "tags": [
  7274. "matterbridge"
  7275. ],
  7276. "security": [
  7277. {
  7278. "bearer_auth": []
  7279. },
  7280. {
  7281. "basic_auth": []
  7282. }
  7283. ],
  7284. "parameters": [
  7285. {
  7286. "name": "apiVersion",
  7287. "in": "path",
  7288. "required": true,
  7289. "schema": {
  7290. "type": "string",
  7291. "enum": [
  7292. "v1"
  7293. ],
  7294. "default": "v1"
  7295. }
  7296. },
  7297. {
  7298. "name": "token",
  7299. "in": "path",
  7300. "required": true,
  7301. "schema": {
  7302. "type": "string",
  7303. "pattern": "^[a-z0-9]{4,30}$"
  7304. }
  7305. },
  7306. {
  7307. "name": "OCS-APIRequest",
  7308. "in": "header",
  7309. "description": "Required to be true for the API request to pass",
  7310. "required": true,
  7311. "schema": {
  7312. "type": "boolean",
  7313. "default": true
  7314. }
  7315. }
  7316. ],
  7317. "responses": {
  7318. "200": {
  7319. "description": "Return list of configured bridges",
  7320. "content": {
  7321. "application/json": {
  7322. "schema": {
  7323. "type": "object",
  7324. "required": [
  7325. "ocs"
  7326. ],
  7327. "properties": {
  7328. "ocs": {
  7329. "type": "object",
  7330. "required": [
  7331. "meta",
  7332. "data"
  7333. ],
  7334. "properties": {
  7335. "meta": {
  7336. "$ref": "#/components/schemas/OCSMeta"
  7337. },
  7338. "data": {
  7339. "$ref": "#/components/schemas/MatterbridgeWithProcessState"
  7340. }
  7341. }
  7342. }
  7343. }
  7344. }
  7345. }
  7346. }
  7347. }
  7348. }
  7349. },
  7350. "put": {
  7351. "operationId": "matterbridge-edit-bridge-of-room",
  7352. "summary": "Edit bridge information of one room",
  7353. "tags": [
  7354. "matterbridge"
  7355. ],
  7356. "security": [
  7357. {
  7358. "bearer_auth": []
  7359. },
  7360. {
  7361. "basic_auth": []
  7362. }
  7363. ],
  7364. "parameters": [
  7365. {
  7366. "name": "enabled",
  7367. "in": "query",
  7368. "description": "If the bridge should be enabled",
  7369. "required": true,
  7370. "schema": {
  7371. "type": "integer",
  7372. "enum": [
  7373. 0,
  7374. 1
  7375. ]
  7376. }
  7377. },
  7378. {
  7379. "name": "parts",
  7380. "in": "query",
  7381. "description": "New parts",
  7382. "schema": {
  7383. "type": "string"
  7384. }
  7385. },
  7386. {
  7387. "name": "apiVersion",
  7388. "in": "path",
  7389. "required": true,
  7390. "schema": {
  7391. "type": "string",
  7392. "enum": [
  7393. "v1"
  7394. ],
  7395. "default": "v1"
  7396. }
  7397. },
  7398. {
  7399. "name": "token",
  7400. "in": "path",
  7401. "required": true,
  7402. "schema": {
  7403. "type": "string",
  7404. "pattern": "^[a-z0-9]{4,30}$"
  7405. }
  7406. },
  7407. {
  7408. "name": "OCS-APIRequest",
  7409. "in": "header",
  7410. "description": "Required to be true for the API request to pass",
  7411. "required": true,
  7412. "schema": {
  7413. "type": "boolean",
  7414. "default": true
  7415. }
  7416. }
  7417. ],
  7418. "responses": {
  7419. "200": {
  7420. "description": "Bridge edited successfully",
  7421. "content": {
  7422. "application/json": {
  7423. "schema": {
  7424. "type": "object",
  7425. "required": [
  7426. "ocs"
  7427. ],
  7428. "properties": {
  7429. "ocs": {
  7430. "type": "object",
  7431. "required": [
  7432. "meta",
  7433. "data"
  7434. ],
  7435. "properties": {
  7436. "meta": {
  7437. "$ref": "#/components/schemas/OCSMeta"
  7438. },
  7439. "data": {
  7440. "$ref": "#/components/schemas/MatterbridgeProcessState"
  7441. }
  7442. }
  7443. }
  7444. }
  7445. }
  7446. }
  7447. }
  7448. },
  7449. "406": {
  7450. "description": "Editing bridge is not possible",
  7451. "content": {
  7452. "application/json": {
  7453. "schema": {
  7454. "type": "object",
  7455. "required": [
  7456. "ocs"
  7457. ],
  7458. "properties": {
  7459. "ocs": {
  7460. "type": "object",
  7461. "required": [
  7462. "meta",
  7463. "data"
  7464. ],
  7465. "properties": {
  7466. "meta": {
  7467. "$ref": "#/components/schemas/OCSMeta"
  7468. },
  7469. "data": {
  7470. "type": "object",
  7471. "required": [
  7472. "error"
  7473. ],
  7474. "properties": {
  7475. "error": {
  7476. "type": "string"
  7477. }
  7478. }
  7479. }
  7480. }
  7481. }
  7482. }
  7483. }
  7484. }
  7485. }
  7486. }
  7487. }
  7488. },
  7489. "delete": {
  7490. "operationId": "matterbridge-delete-bridge-of-room",
  7491. "summary": "Delete bridge of one room",
  7492. "tags": [
  7493. "matterbridge"
  7494. ],
  7495. "security": [
  7496. {
  7497. "bearer_auth": []
  7498. },
  7499. {
  7500. "basic_auth": []
  7501. }
  7502. ],
  7503. "parameters": [
  7504. {
  7505. "name": "apiVersion",
  7506. "in": "path",
  7507. "required": true,
  7508. "schema": {
  7509. "type": "string",
  7510. "enum": [
  7511. "v1"
  7512. ],
  7513. "default": "v1"
  7514. }
  7515. },
  7516. {
  7517. "name": "token",
  7518. "in": "path",
  7519. "required": true,
  7520. "schema": {
  7521. "type": "string",
  7522. "pattern": "^[a-z0-9]{4,30}$"
  7523. }
  7524. },
  7525. {
  7526. "name": "OCS-APIRequest",
  7527. "in": "header",
  7528. "description": "Required to be true for the API request to pass",
  7529. "required": true,
  7530. "schema": {
  7531. "type": "boolean",
  7532. "default": true
  7533. }
  7534. }
  7535. ],
  7536. "responses": {
  7537. "200": {
  7538. "description": "Bridge deleted successfully",
  7539. "content": {
  7540. "application/json": {
  7541. "schema": {
  7542. "type": "object",
  7543. "required": [
  7544. "ocs"
  7545. ],
  7546. "properties": {
  7547. "ocs": {
  7548. "type": "object",
  7549. "required": [
  7550. "meta",
  7551. "data"
  7552. ],
  7553. "properties": {
  7554. "meta": {
  7555. "$ref": "#/components/schemas/OCSMeta"
  7556. },
  7557. "data": {
  7558. "type": "boolean"
  7559. }
  7560. }
  7561. }
  7562. }
  7563. }
  7564. }
  7565. }
  7566. },
  7567. "406": {
  7568. "description": "Deleting bridge is not possible",
  7569. "content": {
  7570. "application/json": {
  7571. "schema": {
  7572. "type": "object",
  7573. "required": [
  7574. "ocs"
  7575. ],
  7576. "properties": {
  7577. "ocs": {
  7578. "type": "object",
  7579. "required": [
  7580. "meta",
  7581. "data"
  7582. ],
  7583. "properties": {
  7584. "meta": {
  7585. "$ref": "#/components/schemas/OCSMeta"
  7586. },
  7587. "data": {
  7588. "type": "object",
  7589. "required": [
  7590. "error"
  7591. ],
  7592. "properties": {
  7593. "error": {
  7594. "type": "string"
  7595. }
  7596. }
  7597. }
  7598. }
  7599. }
  7600. }
  7601. }
  7602. }
  7603. }
  7604. }
  7605. }
  7606. }
  7607. },
  7608. "/ocs/v2.php/apps/spreed/api/{apiVersion}/bridge/{token}/process": {
  7609. "get": {
  7610. "operationId": "matterbridge-get-bridge-process-state",
  7611. "summary": "Get bridge process information",
  7612. "tags": [
  7613. "matterbridge"
  7614. ],
  7615. "security": [
  7616. {
  7617. "bearer_auth": []
  7618. },
  7619. {
  7620. "basic_auth": []
  7621. }
  7622. ],
  7623. "parameters": [
  7624. {
  7625. "name": "apiVersion",
  7626. "in": "path",
  7627. "required": true,
  7628. "schema": {
  7629. "type": "string",
  7630. "enum": [
  7631. "v1"
  7632. ],
  7633. "default": "v1"
  7634. }
  7635. },
  7636. {
  7637. "name": "token",
  7638. "in": "path",
  7639. "required": true,
  7640. "schema": {
  7641. "type": "string",
  7642. "pattern": "^[a-z0-9]{4,30}$"
  7643. }
  7644. },
  7645. {
  7646. "name": "OCS-APIRequest",
  7647. "in": "header",
  7648. "description": "Required to be true for the API request to pass",
  7649. "required": true,
  7650. "schema": {
  7651. "type": "boolean",
  7652. "default": true
  7653. }
  7654. }
  7655. ],
  7656. "responses": {
  7657. "200": {
  7658. "description": "Return list of running processes",
  7659. "content": {
  7660. "application/json": {
  7661. "schema": {
  7662. "type": "object",
  7663. "required": [
  7664. "ocs"
  7665. ],
  7666. "properties": {
  7667. "ocs": {
  7668. "type": "object",
  7669. "required": [
  7670. "meta",
  7671. "data"
  7672. ],
  7673. "properties": {
  7674. "meta": {
  7675. "$ref": "#/components/schemas/OCSMeta"
  7676. },
  7677. "data": {
  7678. "$ref": "#/components/schemas/MatterbridgeProcessState"
  7679. }
  7680. }
  7681. }
  7682. }
  7683. }
  7684. }
  7685. }
  7686. }
  7687. }
  7688. }
  7689. },
  7690. "/ocs/v2.php/apps/spreed/api/{apiVersion}/poll/{token}": {
  7691. "post": {
  7692. "operationId": "poll-create-poll",
  7693. "summary": "Create a poll",
  7694. "tags": [
  7695. "poll"
  7696. ],
  7697. "security": [
  7698. {},
  7699. {
  7700. "bearer_auth": []
  7701. },
  7702. {
  7703. "basic_auth": []
  7704. }
  7705. ],
  7706. "parameters": [
  7707. {
  7708. "name": "question",
  7709. "in": "query",
  7710. "description": "Question of the poll",
  7711. "required": true,
  7712. "schema": {
  7713. "type": "string"
  7714. }
  7715. },
  7716. {
  7717. "name": "options[]",
  7718. "in": "query",
  7719. "description": "Options of the poll",
  7720. "required": true,
  7721. "schema": {
  7722. "type": "array",
  7723. "items": {
  7724. "type": "string"
  7725. }
  7726. }
  7727. },
  7728. {
  7729. "name": "resultMode",
  7730. "in": "query",
  7731. "description": "Mode how the results will be shown",
  7732. "required": true,
  7733. "schema": {
  7734. "type": "integer",
  7735. "format": "int64",
  7736. "enum": [
  7737. 0,
  7738. 1
  7739. ]
  7740. }
  7741. },
  7742. {
  7743. "name": "maxVotes",
  7744. "in": "query",
  7745. "description": "Number of maximum votes per voter",
  7746. "required": true,
  7747. "schema": {
  7748. "type": "integer",
  7749. "format": "int64"
  7750. }
  7751. },
  7752. {
  7753. "name": "apiVersion",
  7754. "in": "path",
  7755. "required": true,
  7756. "schema": {
  7757. "type": "string",
  7758. "enum": [
  7759. "v1"
  7760. ],
  7761. "default": "v1"
  7762. }
  7763. },
  7764. {
  7765. "name": "token",
  7766. "in": "path",
  7767. "required": true,
  7768. "schema": {
  7769. "type": "string",
  7770. "pattern": "^[a-z0-9]{4,30}$"
  7771. }
  7772. },
  7773. {
  7774. "name": "OCS-APIRequest",
  7775. "in": "header",
  7776. "description": "Required to be true for the API request to pass",
  7777. "required": true,
  7778. "schema": {
  7779. "type": "boolean",
  7780. "default": true
  7781. }
  7782. }
  7783. ],
  7784. "responses": {
  7785. "201": {
  7786. "description": "Poll created successfully",
  7787. "content": {
  7788. "application/json": {
  7789. "schema": {
  7790. "type": "object",
  7791. "required": [
  7792. "ocs"
  7793. ],
  7794. "properties": {
  7795. "ocs": {
  7796. "type": "object",
  7797. "required": [
  7798. "meta",
  7799. "data"
  7800. ],
  7801. "properties": {
  7802. "meta": {
  7803. "$ref": "#/components/schemas/OCSMeta"
  7804. },
  7805. "data": {
  7806. "$ref": "#/components/schemas/Poll"
  7807. }
  7808. }
  7809. }
  7810. }
  7811. }
  7812. }
  7813. }
  7814. },
  7815. "400": {
  7816. "description": "Creating poll is not possible",
  7817. "content": {
  7818. "application/json": {
  7819. "schema": {
  7820. "type": "object",
  7821. "required": [
  7822. "ocs"
  7823. ],
  7824. "properties": {
  7825. "ocs": {
  7826. "type": "object",
  7827. "required": [
  7828. "meta",
  7829. "data"
  7830. ],
  7831. "properties": {
  7832. "meta": {
  7833. "$ref": "#/components/schemas/OCSMeta"
  7834. },
  7835. "data": {}
  7836. }
  7837. }
  7838. }
  7839. }
  7840. }
  7841. }
  7842. }
  7843. }
  7844. }
  7845. },
  7846. "/ocs/v2.php/apps/spreed/api/{apiVersion}/poll/{token}/{pollId}": {
  7847. "get": {
  7848. "operationId": "poll-show-poll",
  7849. "summary": "Get a poll",
  7850. "tags": [
  7851. "poll"
  7852. ],
  7853. "security": [
  7854. {},
  7855. {
  7856. "bearer_auth": []
  7857. },
  7858. {
  7859. "basic_auth": []
  7860. }
  7861. ],
  7862. "parameters": [
  7863. {
  7864. "name": "apiVersion",
  7865. "in": "path",
  7866. "required": true,
  7867. "schema": {
  7868. "type": "string",
  7869. "enum": [
  7870. "v1"
  7871. ],
  7872. "default": "v1"
  7873. }
  7874. },
  7875. {
  7876. "name": "token",
  7877. "in": "path",
  7878. "required": true,
  7879. "schema": {
  7880. "type": "string",
  7881. "pattern": "^[a-z0-9]{4,30}$"
  7882. }
  7883. },
  7884. {
  7885. "name": "pollId",
  7886. "in": "path",
  7887. "description": "ID of the poll",
  7888. "required": true,
  7889. "schema": {
  7890. "type": "integer",
  7891. "format": "int64",
  7892. "minimum": 0
  7893. }
  7894. },
  7895. {
  7896. "name": "OCS-APIRequest",
  7897. "in": "header",
  7898. "description": "Required to be true for the API request to pass",
  7899. "required": true,
  7900. "schema": {
  7901. "type": "boolean",
  7902. "default": true
  7903. }
  7904. }
  7905. ],
  7906. "responses": {
  7907. "200": {
  7908. "description": "Poll returned",
  7909. "content": {
  7910. "application/json": {
  7911. "schema": {
  7912. "type": "object",
  7913. "required": [
  7914. "ocs"
  7915. ],
  7916. "properties": {
  7917. "ocs": {
  7918. "type": "object",
  7919. "required": [
  7920. "meta",
  7921. "data"
  7922. ],
  7923. "properties": {
  7924. "meta": {
  7925. "$ref": "#/components/schemas/OCSMeta"
  7926. },
  7927. "data": {
  7928. "$ref": "#/components/schemas/Poll"
  7929. }
  7930. }
  7931. }
  7932. }
  7933. }
  7934. }
  7935. }
  7936. },
  7937. "404": {
  7938. "description": "Poll not found",
  7939. "content": {
  7940. "application/json": {
  7941. "schema": {
  7942. "type": "object",
  7943. "required": [
  7944. "ocs"
  7945. ],
  7946. "properties": {
  7947. "ocs": {
  7948. "type": "object",
  7949. "required": [
  7950. "meta",
  7951. "data"
  7952. ],
  7953. "properties": {
  7954. "meta": {
  7955. "$ref": "#/components/schemas/OCSMeta"
  7956. },
  7957. "data": {}
  7958. }
  7959. }
  7960. }
  7961. }
  7962. }
  7963. }
  7964. }
  7965. }
  7966. },
  7967. "post": {
  7968. "operationId": "poll-vote-poll",
  7969. "summary": "Vote on a poll",
  7970. "tags": [
  7971. "poll"
  7972. ],
  7973. "security": [
  7974. {},
  7975. {
  7976. "bearer_auth": []
  7977. },
  7978. {
  7979. "basic_auth": []
  7980. }
  7981. ],
  7982. "parameters": [
  7983. {
  7984. "name": "optionIds[]",
  7985. "in": "query",
  7986. "description": "IDs of the selected options",
  7987. "schema": {
  7988. "type": "array",
  7989. "default": [],
  7990. "items": {
  7991. "type": "integer",
  7992. "format": "int64"
  7993. }
  7994. }
  7995. },
  7996. {
  7997. "name": "apiVersion",
  7998. "in": "path",
  7999. "required": true,
  8000. "schema": {
  8001. "type": "string",
  8002. "enum": [
  8003. "v1"
  8004. ],
  8005. "default": "v1"
  8006. }
  8007. },
  8008. {
  8009. "name": "token",
  8010. "in": "path",
  8011. "required": true,
  8012. "schema": {
  8013. "type": "string",
  8014. "pattern": "^[a-z0-9]{4,30}$"
  8015. }
  8016. },
  8017. {
  8018. "name": "pollId",
  8019. "in": "path",
  8020. "description": "ID of the poll",
  8021. "required": true,
  8022. "schema": {
  8023. "type": "integer",
  8024. "format": "int64",
  8025. "minimum": 0
  8026. }
  8027. },
  8028. {
  8029. "name": "OCS-APIRequest",
  8030. "in": "header",
  8031. "description": "Required to be true for the API request to pass",
  8032. "required": true,
  8033. "schema": {
  8034. "type": "boolean",
  8035. "default": true
  8036. }
  8037. }
  8038. ],
  8039. "responses": {
  8040. "200": {
  8041. "description": "Voted successfully",
  8042. "content": {
  8043. "application/json": {
  8044. "schema": {
  8045. "type": "object",
  8046. "required": [
  8047. "ocs"
  8048. ],
  8049. "properties": {
  8050. "ocs": {
  8051. "type": "object",
  8052. "required": [
  8053. "meta",
  8054. "data"
  8055. ],
  8056. "properties": {
  8057. "meta": {
  8058. "$ref": "#/components/schemas/OCSMeta"
  8059. },
  8060. "data": {
  8061. "$ref": "#/components/schemas/Poll"
  8062. }
  8063. }
  8064. }
  8065. }
  8066. }
  8067. }
  8068. }
  8069. },
  8070. "400": {
  8071. "description": "Voting is not possible",
  8072. "content": {
  8073. "application/json": {
  8074. "schema": {
  8075. "type": "object",
  8076. "required": [
  8077. "ocs"
  8078. ],
  8079. "properties": {
  8080. "ocs": {
  8081. "type": "object",
  8082. "required": [
  8083. "meta",
  8084. "data"
  8085. ],
  8086. "properties": {
  8087. "meta": {
  8088. "$ref": "#/components/schemas/OCSMeta"
  8089. },
  8090. "data": {}
  8091. }
  8092. }
  8093. }
  8094. }
  8095. }
  8096. }
  8097. },
  8098. "404": {
  8099. "description": "Poll not found",
  8100. "content": {
  8101. "application/json": {
  8102. "schema": {
  8103. "type": "object",
  8104. "required": [
  8105. "ocs"
  8106. ],
  8107. "properties": {
  8108. "ocs": {
  8109. "type": "object",
  8110. "required": [
  8111. "meta",
  8112. "data"
  8113. ],
  8114. "properties": {
  8115. "meta": {
  8116. "$ref": "#/components/schemas/OCSMeta"
  8117. },
  8118. "data": {}
  8119. }
  8120. }
  8121. }
  8122. }
  8123. }
  8124. }
  8125. }
  8126. }
  8127. },
  8128. "delete": {
  8129. "operationId": "poll-close-poll",
  8130. "summary": "Close a poll",
  8131. "tags": [
  8132. "poll"
  8133. ],
  8134. "security": [
  8135. {},
  8136. {
  8137. "bearer_auth": []
  8138. },
  8139. {
  8140. "basic_auth": []
  8141. }
  8142. ],
  8143. "parameters": [
  8144. {
  8145. "name": "apiVersion",
  8146. "in": "path",
  8147. "required": true,
  8148. "schema": {
  8149. "type": "string",
  8150. "enum": [
  8151. "v1"
  8152. ],
  8153. "default": "v1"
  8154. }
  8155. },
  8156. {
  8157. "name": "token",
  8158. "in": "path",
  8159. "required": true,
  8160. "schema": {
  8161. "type": "string",
  8162. "pattern": "^[a-z0-9]{4,30}$"
  8163. }
  8164. },
  8165. {
  8166. "name": "pollId",
  8167. "in": "path",
  8168. "description": "ID of the poll",
  8169. "required": true,
  8170. "schema": {
  8171. "type": "integer",
  8172. "format": "int64",
  8173. "minimum": 0
  8174. }
  8175. },
  8176. {
  8177. "name": "OCS-APIRequest",
  8178. "in": "header",
  8179. "description": "Required to be true for the API request to pass",
  8180. "required": true,
  8181. "schema": {
  8182. "type": "boolean",
  8183. "default": true
  8184. }
  8185. }
  8186. ],
  8187. "responses": {
  8188. "200": {
  8189. "description": "Poll closed successfully",
  8190. "content": {
  8191. "application/json": {
  8192. "schema": {
  8193. "type": "object",
  8194. "required": [
  8195. "ocs"
  8196. ],
  8197. "properties": {
  8198. "ocs": {
  8199. "type": "object",
  8200. "required": [
  8201. "meta",
  8202. "data"
  8203. ],
  8204. "properties": {
  8205. "meta": {
  8206. "$ref": "#/components/schemas/OCSMeta"
  8207. },
  8208. "data": {
  8209. "$ref": "#/components/schemas/Poll"
  8210. }
  8211. }
  8212. }
  8213. }
  8214. }
  8215. }
  8216. }
  8217. },
  8218. "400": {
  8219. "description": "Poll already closed",
  8220. "content": {
  8221. "application/json": {
  8222. "schema": {
  8223. "type": "object",
  8224. "required": [
  8225. "ocs"
  8226. ],
  8227. "properties": {
  8228. "ocs": {
  8229. "type": "object",
  8230. "required": [
  8231. "meta",
  8232. "data"
  8233. ],
  8234. "properties": {
  8235. "meta": {
  8236. "$ref": "#/components/schemas/OCSMeta"
  8237. },
  8238. "data": {}
  8239. }
  8240. }
  8241. }
  8242. }
  8243. }
  8244. }
  8245. },
  8246. "403": {
  8247. "description": "Missing permissions to close poll",
  8248. "content": {
  8249. "application/json": {
  8250. "schema": {
  8251. "type": "object",
  8252. "required": [
  8253. "ocs"
  8254. ],
  8255. "properties": {
  8256. "ocs": {
  8257. "type": "object",
  8258. "required": [
  8259. "meta",
  8260. "data"
  8261. ],
  8262. "properties": {
  8263. "meta": {
  8264. "$ref": "#/components/schemas/OCSMeta"
  8265. },
  8266. "data": {}
  8267. }
  8268. }
  8269. }
  8270. }
  8271. }
  8272. }
  8273. },
  8274. "404": {
  8275. "description": "Poll not found",
  8276. "content": {
  8277. "application/json": {
  8278. "schema": {
  8279. "type": "object",
  8280. "required": [
  8281. "ocs"
  8282. ],
  8283. "properties": {
  8284. "ocs": {
  8285. "type": "object",
  8286. "required": [
  8287. "meta",
  8288. "data"
  8289. ],
  8290. "properties": {
  8291. "meta": {
  8292. "$ref": "#/components/schemas/OCSMeta"
  8293. },
  8294. "data": {}
  8295. }
  8296. }
  8297. }
  8298. }
  8299. }
  8300. }
  8301. },
  8302. "500": {
  8303. "description": "",
  8304. "content": {
  8305. "application/json": {
  8306. "schema": {
  8307. "type": "object",
  8308. "required": [
  8309. "ocs"
  8310. ],
  8311. "properties": {
  8312. "ocs": {
  8313. "type": "object",
  8314. "required": [
  8315. "meta",
  8316. "data"
  8317. ],
  8318. "properties": {
  8319. "meta": {
  8320. "$ref": "#/components/schemas/OCSMeta"
  8321. },
  8322. "data": {}
  8323. }
  8324. }
  8325. }
  8326. }
  8327. }
  8328. }
  8329. }
  8330. }
  8331. }
  8332. },
  8333. "/ocs/v2.php/apps/spreed/api/{apiVersion}/publicshareauth": {
  8334. "post": {
  8335. "operationId": "files_integration-create-room",
  8336. "summary": "Creates a new room for video verification (requesting the password of a share)",
  8337. "description": "The new room is a public room associated with a \"share:password\" object with the ID of the share token. Unlike normal rooms in which the owner is the user that created the room these are special rooms always created by a guest or user on behalf of a registered user, the sharer, who will be the owner of the room.\nThe share must have \"send password by Talk\" enabled; an error is returned otherwise.",
  8338. "tags": [
  8339. "files_integration"
  8340. ],
  8341. "security": [
  8342. {},
  8343. {
  8344. "bearer_auth": []
  8345. },
  8346. {
  8347. "basic_auth": []
  8348. }
  8349. ],
  8350. "parameters": [
  8351. {
  8352. "name": "shareToken",
  8353. "in": "query",
  8354. "description": "Token of the file share",
  8355. "required": true,
  8356. "schema": {
  8357. "type": "string"
  8358. }
  8359. },
  8360. {
  8361. "name": "apiVersion",
  8362. "in": "path",
  8363. "required": true,
  8364. "schema": {
  8365. "type": "string",
  8366. "enum": [
  8367. "v1"
  8368. ],
  8369. "default": "v1"
  8370. }
  8371. },
  8372. {
  8373. "name": "OCS-APIRequest",
  8374. "in": "header",
  8375. "description": "Required to be true for the API request to pass",
  8376. "required": true,
  8377. "schema": {
  8378. "type": "boolean",
  8379. "default": true
  8380. }
  8381. }
  8382. ],
  8383. "responses": {
  8384. "201": {
  8385. "description": "Room created successfully",
  8386. "content": {
  8387. "application/json": {
  8388. "schema": {
  8389. "type": "object",
  8390. "required": [
  8391. "ocs"
  8392. ],
  8393. "properties": {
  8394. "ocs": {
  8395. "type": "object",
  8396. "required": [
  8397. "meta",
  8398. "data"
  8399. ],
  8400. "properties": {
  8401. "meta": {
  8402. "$ref": "#/components/schemas/OCSMeta"
  8403. },
  8404. "data": {
  8405. "type": "object",
  8406. "required": [
  8407. "token",
  8408. "name",
  8409. "displayName"
  8410. ],
  8411. "properties": {
  8412. "token": {
  8413. "type": "string"
  8414. },
  8415. "name": {
  8416. "type": "string"
  8417. },
  8418. "displayName": {
  8419. "type": "string"
  8420. }
  8421. }
  8422. }
  8423. }
  8424. }
  8425. }
  8426. }
  8427. }
  8428. }
  8429. },
  8430. "404": {
  8431. "description": "Share not found",
  8432. "content": {
  8433. "application/json": {
  8434. "schema": {
  8435. "type": "object",
  8436. "required": [
  8437. "ocs"
  8438. ],
  8439. "properties": {
  8440. "ocs": {
  8441. "type": "object",
  8442. "required": [
  8443. "meta",
  8444. "data"
  8445. ],
  8446. "properties": {
  8447. "meta": {
  8448. "$ref": "#/components/schemas/OCSMeta"
  8449. },
  8450. "data": {}
  8451. }
  8452. }
  8453. }
  8454. }
  8455. }
  8456. }
  8457. }
  8458. }
  8459. }
  8460. },
  8461. "/ocs/v2.php/apps/spreed/api/{apiVersion}/reaction/{token}/{messageId}": {
  8462. "post": {
  8463. "operationId": "reaction-react",
  8464. "summary": "Add a reaction to a message",
  8465. "tags": [
  8466. "reaction"
  8467. ],
  8468. "security": [
  8469. {},
  8470. {
  8471. "bearer_auth": []
  8472. },
  8473. {
  8474. "basic_auth": []
  8475. }
  8476. ],
  8477. "parameters": [
  8478. {
  8479. "name": "reaction",
  8480. "in": "query",
  8481. "description": "Emoji to add",
  8482. "required": true,
  8483. "schema": {
  8484. "type": "string"
  8485. }
  8486. },
  8487. {
  8488. "name": "apiVersion",
  8489. "in": "path",
  8490. "required": true,
  8491. "schema": {
  8492. "type": "string",
  8493. "enum": [
  8494. "v1"
  8495. ],
  8496. "default": "v1"
  8497. }
  8498. },
  8499. {
  8500. "name": "token",
  8501. "in": "path",
  8502. "required": true,
  8503. "schema": {
  8504. "type": "string",
  8505. "pattern": "^[a-z0-9]{4,30}$"
  8506. }
  8507. },
  8508. {
  8509. "name": "messageId",
  8510. "in": "path",
  8511. "description": "ID of the message",
  8512. "required": true,
  8513. "schema": {
  8514. "type": "integer",
  8515. "format": "int64",
  8516. "minimum": 0
  8517. }
  8518. },
  8519. {
  8520. "name": "OCS-APIRequest",
  8521. "in": "header",
  8522. "description": "Required to be true for the API request to pass",
  8523. "required": true,
  8524. "schema": {
  8525. "type": "boolean",
  8526. "default": true
  8527. }
  8528. }
  8529. ],
  8530. "responses": {
  8531. "200": {
  8532. "description": "Reaction already existed",
  8533. "content": {
  8534. "application/json": {
  8535. "schema": {
  8536. "type": "object",
  8537. "required": [
  8538. "ocs"
  8539. ],
  8540. "properties": {
  8541. "ocs": {
  8542. "type": "object",
  8543. "required": [
  8544. "meta",
  8545. "data"
  8546. ],
  8547. "properties": {
  8548. "meta": {
  8549. "$ref": "#/components/schemas/OCSMeta"
  8550. },
  8551. "data": {
  8552. "type": "object",
  8553. "additionalProperties": {
  8554. "type": "array",
  8555. "items": {
  8556. "$ref": "#/components/schemas/Reaction"
  8557. }
  8558. }
  8559. }
  8560. }
  8561. }
  8562. }
  8563. }
  8564. }
  8565. }
  8566. },
  8567. "201": {
  8568. "description": "Reaction added successfully",
  8569. "content": {
  8570. "application/json": {
  8571. "schema": {
  8572. "type": "object",
  8573. "required": [
  8574. "ocs"
  8575. ],
  8576. "properties": {
  8577. "ocs": {
  8578. "type": "object",
  8579. "required": [
  8580. "meta",
  8581. "data"
  8582. ],
  8583. "properties": {
  8584. "meta": {
  8585. "$ref": "#/components/schemas/OCSMeta"
  8586. },
  8587. "data": {
  8588. "type": "object",
  8589. "additionalProperties": {
  8590. "type": "array",
  8591. "items": {
  8592. "$ref": "#/components/schemas/Reaction"
  8593. }
  8594. }
  8595. }
  8596. }
  8597. }
  8598. }
  8599. }
  8600. }
  8601. }
  8602. },
  8603. "400": {
  8604. "description": "Adding reaction is not possible",
  8605. "content": {
  8606. "application/json": {
  8607. "schema": {
  8608. "type": "object",
  8609. "required": [
  8610. "ocs"
  8611. ],
  8612. "properties": {
  8613. "ocs": {
  8614. "type": "object",
  8615. "required": [
  8616. "meta",
  8617. "data"
  8618. ],
  8619. "properties": {
  8620. "meta": {
  8621. "$ref": "#/components/schemas/OCSMeta"
  8622. },
  8623. "data": {}
  8624. }
  8625. }
  8626. }
  8627. }
  8628. }
  8629. }
  8630. },
  8631. "404": {
  8632. "description": "Message not found",
  8633. "content": {
  8634. "application/json": {
  8635. "schema": {
  8636. "type": "object",
  8637. "required": [
  8638. "ocs"
  8639. ],
  8640. "properties": {
  8641. "ocs": {
  8642. "type": "object",
  8643. "required": [
  8644. "meta",
  8645. "data"
  8646. ],
  8647. "properties": {
  8648. "meta": {
  8649. "$ref": "#/components/schemas/OCSMeta"
  8650. },
  8651. "data": {}
  8652. }
  8653. }
  8654. }
  8655. }
  8656. }
  8657. }
  8658. }
  8659. }
  8660. },
  8661. "delete": {
  8662. "operationId": "reaction-delete",
  8663. "summary": "Delete a reaction from a message",
  8664. "tags": [
  8665. "reaction"
  8666. ],
  8667. "security": [
  8668. {},
  8669. {
  8670. "bearer_auth": []
  8671. },
  8672. {
  8673. "basic_auth": []
  8674. }
  8675. ],
  8676. "parameters": [
  8677. {
  8678. "name": "reaction",
  8679. "in": "query",
  8680. "description": "Emoji to remove",
  8681. "required": true,
  8682. "schema": {
  8683. "type": "string"
  8684. }
  8685. },
  8686. {
  8687. "name": "apiVersion",
  8688. "in": "path",
  8689. "required": true,
  8690. "schema": {
  8691. "type": "string",
  8692. "enum": [
  8693. "v1"
  8694. ],
  8695. "default": "v1"
  8696. }
  8697. },
  8698. {
  8699. "name": "token",
  8700. "in": "path",
  8701. "required": true,
  8702. "schema": {
  8703. "type": "string",
  8704. "pattern": "^[a-z0-9]{4,30}$"
  8705. }
  8706. },
  8707. {
  8708. "name": "messageId",
  8709. "in": "path",
  8710. "description": "ID of the message",
  8711. "required": true,
  8712. "schema": {
  8713. "type": "integer",
  8714. "format": "int64",
  8715. "minimum": 0
  8716. }
  8717. },
  8718. {
  8719. "name": "OCS-APIRequest",
  8720. "in": "header",
  8721. "description": "Required to be true for the API request to pass",
  8722. "required": true,
  8723. "schema": {
  8724. "type": "boolean",
  8725. "default": true
  8726. }
  8727. }
  8728. ],
  8729. "responses": {
  8730. "200": {
  8731. "description": "Reaction deleted successfully",
  8732. "content": {
  8733. "application/json": {
  8734. "schema": {
  8735. "type": "object",
  8736. "required": [
  8737. "ocs"
  8738. ],
  8739. "properties": {
  8740. "ocs": {
  8741. "type": "object",
  8742. "required": [
  8743. "meta",
  8744. "data"
  8745. ],
  8746. "properties": {
  8747. "meta": {
  8748. "$ref": "#/components/schemas/OCSMeta"
  8749. },
  8750. "data": {
  8751. "type": "object",
  8752. "additionalProperties": {
  8753. "type": "array",
  8754. "items": {
  8755. "$ref": "#/components/schemas/Reaction"
  8756. }
  8757. }
  8758. }
  8759. }
  8760. }
  8761. }
  8762. }
  8763. }
  8764. }
  8765. },
  8766. "400": {
  8767. "description": "Deleting reaction is not possible",
  8768. "content": {
  8769. "application/json": {
  8770. "schema": {
  8771. "type": "object",
  8772. "required": [
  8773. "ocs"
  8774. ],
  8775. "properties": {
  8776. "ocs": {
  8777. "type": "object",
  8778. "required": [
  8779. "meta",
  8780. "data"
  8781. ],
  8782. "properties": {
  8783. "meta": {
  8784. "$ref": "#/components/schemas/OCSMeta"
  8785. },
  8786. "data": {}
  8787. }
  8788. }
  8789. }
  8790. }
  8791. }
  8792. }
  8793. },
  8794. "404": {
  8795. "description": "Message not found",
  8796. "content": {
  8797. "application/json": {
  8798. "schema": {
  8799. "type": "object",
  8800. "required": [
  8801. "ocs"
  8802. ],
  8803. "properties": {
  8804. "ocs": {
  8805. "type": "object",
  8806. "required": [
  8807. "meta",
  8808. "data"
  8809. ],
  8810. "properties": {
  8811. "meta": {
  8812. "$ref": "#/components/schemas/OCSMeta"
  8813. },
  8814. "data": {}
  8815. }
  8816. }
  8817. }
  8818. }
  8819. }
  8820. }
  8821. }
  8822. }
  8823. },
  8824. "get": {
  8825. "operationId": "reaction-get-reactions",
  8826. "summary": "Get a list of reactions for a message",
  8827. "tags": [
  8828. "reaction"
  8829. ],
  8830. "security": [
  8831. {},
  8832. {
  8833. "bearer_auth": []
  8834. },
  8835. {
  8836. "basic_auth": []
  8837. }
  8838. ],
  8839. "parameters": [
  8840. {
  8841. "name": "reaction",
  8842. "in": "query",
  8843. "description": "Emoji to filter",
  8844. "schema": {
  8845. "type": "string",
  8846. "nullable": true
  8847. }
  8848. },
  8849. {
  8850. "name": "apiVersion",
  8851. "in": "path",
  8852. "required": true,
  8853. "schema": {
  8854. "type": "string",
  8855. "enum": [
  8856. "v1"
  8857. ],
  8858. "default": "v1"
  8859. }
  8860. },
  8861. {
  8862. "name": "token",
  8863. "in": "path",
  8864. "required": true,
  8865. "schema": {
  8866. "type": "string",
  8867. "pattern": "^[a-z0-9]{4,30}$"
  8868. }
  8869. },
  8870. {
  8871. "name": "messageId",
  8872. "in": "path",
  8873. "description": "ID of the message",
  8874. "required": true,
  8875. "schema": {
  8876. "type": "integer",
  8877. "format": "int64",
  8878. "minimum": 0
  8879. }
  8880. },
  8881. {
  8882. "name": "OCS-APIRequest",
  8883. "in": "header",
  8884. "description": "Required to be true for the API request to pass",
  8885. "required": true,
  8886. "schema": {
  8887. "type": "boolean",
  8888. "default": true
  8889. }
  8890. }
  8891. ],
  8892. "responses": {
  8893. "200": {
  8894. "description": "Reactions returned",
  8895. "content": {
  8896. "application/json": {
  8897. "schema": {
  8898. "type": "object",
  8899. "required": [
  8900. "ocs"
  8901. ],
  8902. "properties": {
  8903. "ocs": {
  8904. "type": "object",
  8905. "required": [
  8906. "meta",
  8907. "data"
  8908. ],
  8909. "properties": {
  8910. "meta": {
  8911. "$ref": "#/components/schemas/OCSMeta"
  8912. },
  8913. "data": {
  8914. "type": "object",
  8915. "additionalProperties": {
  8916. "type": "array",
  8917. "items": {
  8918. "$ref": "#/components/schemas/Reaction"
  8919. }
  8920. }
  8921. }
  8922. }
  8923. }
  8924. }
  8925. }
  8926. }
  8927. }
  8928. },
  8929. "404": {
  8930. "description": "Message or reaction not found",
  8931. "content": {
  8932. "application/json": {
  8933. "schema": {
  8934. "type": "object",
  8935. "required": [
  8936. "ocs"
  8937. ],
  8938. "properties": {
  8939. "ocs": {
  8940. "type": "object",
  8941. "required": [
  8942. "meta",
  8943. "data"
  8944. ],
  8945. "properties": {
  8946. "meta": {
  8947. "$ref": "#/components/schemas/OCSMeta"
  8948. },
  8949. "data": {}
  8950. }
  8951. }
  8952. }
  8953. }
  8954. }
  8955. }
  8956. }
  8957. }
  8958. }
  8959. },
  8960. "/ocs/v2.php/apps/spreed/api/{apiVersion}/recording/{token}": {
  8961. "post": {
  8962. "operationId": "recording-start",
  8963. "summary": "Start the recording",
  8964. "tags": [
  8965. "recording"
  8966. ],
  8967. "security": [
  8968. {
  8969. "bearer_auth": []
  8970. },
  8971. {
  8972. "basic_auth": []
  8973. }
  8974. ],
  8975. "parameters": [
  8976. {
  8977. "name": "status",
  8978. "in": "query",
  8979. "description": "Type of the recording",
  8980. "required": true,
  8981. "schema": {
  8982. "type": "integer",
  8983. "format": "int64"
  8984. }
  8985. },
  8986. {
  8987. "name": "apiVersion",
  8988. "in": "path",
  8989. "required": true,
  8990. "schema": {
  8991. "type": "string",
  8992. "enum": [
  8993. "v1"
  8994. ],
  8995. "default": "v1"
  8996. }
  8997. },
  8998. {
  8999. "name": "token",
  9000. "in": "path",
  9001. "required": true,
  9002. "schema": {
  9003. "type": "string",
  9004. "pattern": "^[a-z0-9]{4,30}$"
  9005. }
  9006. },
  9007. {
  9008. "name": "OCS-APIRequest",
  9009. "in": "header",
  9010. "description": "Required to be true for the API request to pass",
  9011. "required": true,
  9012. "schema": {
  9013. "type": "boolean",
  9014. "default": true
  9015. }
  9016. }
  9017. ],
  9018. "responses": {
  9019. "200": {
  9020. "description": "Recording started successfully",
  9021. "content": {
  9022. "application/json": {
  9023. "schema": {
  9024. "type": "object",
  9025. "required": [
  9026. "ocs"
  9027. ],
  9028. "properties": {
  9029. "ocs": {
  9030. "type": "object",
  9031. "required": [
  9032. "meta",
  9033. "data"
  9034. ],
  9035. "properties": {
  9036. "meta": {
  9037. "$ref": "#/components/schemas/OCSMeta"
  9038. },
  9039. "data": {}
  9040. }
  9041. }
  9042. }
  9043. }
  9044. }
  9045. }
  9046. },
  9047. "400": {
  9048. "description": "Starting recording is not possible",
  9049. "content": {
  9050. "application/json": {
  9051. "schema": {
  9052. "type": "object",
  9053. "required": [
  9054. "ocs"
  9055. ],
  9056. "properties": {
  9057. "ocs": {
  9058. "type": "object",
  9059. "required": [
  9060. "meta",
  9061. "data"
  9062. ],
  9063. "properties": {
  9064. "meta": {
  9065. "$ref": "#/components/schemas/OCSMeta"
  9066. },
  9067. "data": {
  9068. "type": "object",
  9069. "required": [
  9070. "error"
  9071. ],
  9072. "properties": {
  9073. "error": {
  9074. "type": "string"
  9075. }
  9076. }
  9077. }
  9078. }
  9079. }
  9080. }
  9081. }
  9082. }
  9083. }
  9084. }
  9085. }
  9086. },
  9087. "delete": {
  9088. "operationId": "recording-stop",
  9089. "summary": "Stop the recording",
  9090. "tags": [
  9091. "recording"
  9092. ],
  9093. "security": [
  9094. {
  9095. "bearer_auth": []
  9096. },
  9097. {
  9098. "basic_auth": []
  9099. }
  9100. ],
  9101. "parameters": [
  9102. {
  9103. "name": "apiVersion",
  9104. "in": "path",
  9105. "required": true,
  9106. "schema": {
  9107. "type": "string",
  9108. "enum": [
  9109. "v1"
  9110. ],
  9111. "default": "v1"
  9112. }
  9113. },
  9114. {
  9115. "name": "token",
  9116. "in": "path",
  9117. "required": true,
  9118. "schema": {
  9119. "type": "string",
  9120. "pattern": "^[a-z0-9]{4,30}$"
  9121. }
  9122. },
  9123. {
  9124. "name": "OCS-APIRequest",
  9125. "in": "header",
  9126. "description": "Required to be true for the API request to pass",
  9127. "required": true,
  9128. "schema": {
  9129. "type": "boolean",
  9130. "default": true
  9131. }
  9132. }
  9133. ],
  9134. "responses": {
  9135. "200": {
  9136. "description": "Recording stopped successfully",
  9137. "content": {
  9138. "application/json": {
  9139. "schema": {
  9140. "type": "object",
  9141. "required": [
  9142. "ocs"
  9143. ],
  9144. "properties": {
  9145. "ocs": {
  9146. "type": "object",
  9147. "required": [
  9148. "meta",
  9149. "data"
  9150. ],
  9151. "properties": {
  9152. "meta": {
  9153. "$ref": "#/components/schemas/OCSMeta"
  9154. },
  9155. "data": {}
  9156. }
  9157. }
  9158. }
  9159. }
  9160. }
  9161. }
  9162. },
  9163. "400": {
  9164. "description": "Stopping recording is not possible",
  9165. "content": {
  9166. "application/json": {
  9167. "schema": {
  9168. "type": "object",
  9169. "required": [
  9170. "ocs"
  9171. ],
  9172. "properties": {
  9173. "ocs": {
  9174. "type": "object",
  9175. "required": [
  9176. "meta",
  9177. "data"
  9178. ],
  9179. "properties": {
  9180. "meta": {
  9181. "$ref": "#/components/schemas/OCSMeta"
  9182. },
  9183. "data": {
  9184. "type": "object",
  9185. "required": [
  9186. "error"
  9187. ],
  9188. "properties": {
  9189. "error": {
  9190. "type": "string"
  9191. }
  9192. }
  9193. }
  9194. }
  9195. }
  9196. }
  9197. }
  9198. }
  9199. }
  9200. }
  9201. }
  9202. }
  9203. },
  9204. "/ocs/v2.php/apps/spreed/api/{apiVersion}/recording/{token}/notification": {
  9205. "delete": {
  9206. "operationId": "recording-notification-dismiss",
  9207. "summary": "Dismiss the store call recording notification",
  9208. "tags": [
  9209. "recording"
  9210. ],
  9211. "security": [
  9212. {
  9213. "bearer_auth": []
  9214. },
  9215. {
  9216. "basic_auth": []
  9217. }
  9218. ],
  9219. "parameters": [
  9220. {
  9221. "name": "timestamp",
  9222. "in": "query",
  9223. "description": "Timestamp of the notification to be dismissed",
  9224. "required": true,
  9225. "schema": {
  9226. "type": "integer",
  9227. "format": "int64",
  9228. "minimum": 0
  9229. }
  9230. },
  9231. {
  9232. "name": "apiVersion",
  9233. "in": "path",
  9234. "required": true,
  9235. "schema": {
  9236. "type": "string",
  9237. "enum": [
  9238. "v1"
  9239. ],
  9240. "default": "v1"
  9241. }
  9242. },
  9243. {
  9244. "name": "token",
  9245. "in": "path",
  9246. "required": true,
  9247. "schema": {
  9248. "type": "string",
  9249. "pattern": "^[a-z0-9]{4,30}$"
  9250. }
  9251. },
  9252. {
  9253. "name": "OCS-APIRequest",
  9254. "in": "header",
  9255. "description": "Required to be true for the API request to pass",
  9256. "required": true,
  9257. "schema": {
  9258. "type": "boolean",
  9259. "default": true
  9260. }
  9261. }
  9262. ],
  9263. "responses": {
  9264. "200": {
  9265. "description": "Notification dismissed successfully",
  9266. "content": {
  9267. "application/json": {
  9268. "schema": {
  9269. "type": "object",
  9270. "required": [
  9271. "ocs"
  9272. ],
  9273. "properties": {
  9274. "ocs": {
  9275. "type": "object",
  9276. "required": [
  9277. "meta",
  9278. "data"
  9279. ],
  9280. "properties": {
  9281. "meta": {
  9282. "$ref": "#/components/schemas/OCSMeta"
  9283. },
  9284. "data": {}
  9285. }
  9286. }
  9287. }
  9288. }
  9289. }
  9290. }
  9291. },
  9292. "400": {
  9293. "description": "Dismissing notification is not possible",
  9294. "content": {
  9295. "application/json": {
  9296. "schema": {
  9297. "type": "object",
  9298. "required": [
  9299. "ocs"
  9300. ],
  9301. "properties": {
  9302. "ocs": {
  9303. "type": "object",
  9304. "required": [
  9305. "meta",
  9306. "data"
  9307. ],
  9308. "properties": {
  9309. "meta": {
  9310. "$ref": "#/components/schemas/OCSMeta"
  9311. },
  9312. "data": {
  9313. "type": "object",
  9314. "required": [
  9315. "error"
  9316. ],
  9317. "properties": {
  9318. "error": {
  9319. "type": "string"
  9320. }
  9321. }
  9322. }
  9323. }
  9324. }
  9325. }
  9326. }
  9327. }
  9328. }
  9329. }
  9330. }
  9331. }
  9332. },
  9333. "/ocs/v2.php/apps/spreed/api/{apiVersion}/recording/{token}/share-chat": {
  9334. "post": {
  9335. "operationId": "recording-share-to-chat",
  9336. "summary": "Share the recorded file to the chat",
  9337. "tags": [
  9338. "recording"
  9339. ],
  9340. "security": [
  9341. {
  9342. "bearer_auth": []
  9343. },
  9344. {
  9345. "basic_auth": []
  9346. }
  9347. ],
  9348. "parameters": [
  9349. {
  9350. "name": "fileId",
  9351. "in": "query",
  9352. "description": "ID of the file",
  9353. "required": true,
  9354. "schema": {
  9355. "type": "integer",
  9356. "format": "int64",
  9357. "minimum": 0
  9358. }
  9359. },
  9360. {
  9361. "name": "timestamp",
  9362. "in": "query",
  9363. "description": "Timestamp of the notification to be dismissed",
  9364. "required": true,
  9365. "schema": {
  9366. "type": "integer",
  9367. "format": "int64",
  9368. "minimum": 0
  9369. }
  9370. },
  9371. {
  9372. "name": "apiVersion",
  9373. "in": "path",
  9374. "required": true,
  9375. "schema": {
  9376. "type": "string",
  9377. "enum": [
  9378. "v1"
  9379. ],
  9380. "default": "v1"
  9381. }
  9382. },
  9383. {
  9384. "name": "token",
  9385. "in": "path",
  9386. "required": true,
  9387. "schema": {
  9388. "type": "string",
  9389. "pattern": "^[a-z0-9]{4,30}$"
  9390. }
  9391. },
  9392. {
  9393. "name": "OCS-APIRequest",
  9394. "in": "header",
  9395. "description": "Required to be true for the API request to pass",
  9396. "required": true,
  9397. "schema": {
  9398. "type": "boolean",
  9399. "default": true
  9400. }
  9401. }
  9402. ],
  9403. "responses": {
  9404. "200": {
  9405. "description": "Recording shared to chat successfully",
  9406. "content": {
  9407. "application/json": {
  9408. "schema": {
  9409. "type": "object",
  9410. "required": [
  9411. "ocs"
  9412. ],
  9413. "properties": {
  9414. "ocs": {
  9415. "type": "object",
  9416. "required": [
  9417. "meta",
  9418. "data"
  9419. ],
  9420. "properties": {
  9421. "meta": {
  9422. "$ref": "#/components/schemas/OCSMeta"
  9423. },
  9424. "data": {}
  9425. }
  9426. }
  9427. }
  9428. }
  9429. }
  9430. }
  9431. },
  9432. "400": {
  9433. "description": "Sharing recording to chat is not possible",
  9434. "content": {
  9435. "application/json": {
  9436. "schema": {
  9437. "type": "object",
  9438. "required": [
  9439. "ocs"
  9440. ],
  9441. "properties": {
  9442. "ocs": {
  9443. "type": "object",
  9444. "required": [
  9445. "meta",
  9446. "data"
  9447. ],
  9448. "properties": {
  9449. "meta": {
  9450. "$ref": "#/components/schemas/OCSMeta"
  9451. },
  9452. "data": {
  9453. "type": "object",
  9454. "required": [
  9455. "error"
  9456. ],
  9457. "properties": {
  9458. "error": {
  9459. "type": "string"
  9460. }
  9461. }
  9462. }
  9463. }
  9464. }
  9465. }
  9466. }
  9467. }
  9468. }
  9469. }
  9470. }
  9471. }
  9472. },
  9473. "/ocs/v2.php/apps/spreed/api/{apiVersion}/room": {
  9474. "get": {
  9475. "operationId": "room-get-rooms",
  9476. "summary": "Get all currently existent rooms which the user has joined",
  9477. "tags": [
  9478. "room"
  9479. ],
  9480. "security": [
  9481. {
  9482. "bearer_auth": []
  9483. },
  9484. {
  9485. "basic_auth": []
  9486. }
  9487. ],
  9488. "parameters": [
  9489. {
  9490. "name": "noStatusUpdate",
  9491. "in": "query",
  9492. "description": "When the user status should not be automatically set to online set to 1 (default 0)",
  9493. "schema": {
  9494. "type": "integer",
  9495. "format": "int64",
  9496. "default": 0,
  9497. "enum": [
  9498. 0,
  9499. 1
  9500. ]
  9501. }
  9502. },
  9503. {
  9504. "name": "includeStatus",
  9505. "in": "query",
  9506. "description": "Include the user status",
  9507. "schema": {
  9508. "type": "integer",
  9509. "default": 0,
  9510. "enum": [
  9511. 0,
  9512. 1
  9513. ]
  9514. }
  9515. },
  9516. {
  9517. "name": "modifiedSince",
  9518. "in": "query",
  9519. "description": "Filter rooms modified after a timestamp",
  9520. "schema": {
  9521. "type": "integer",
  9522. "format": "int64",
  9523. "default": 0,
  9524. "minimum": 0
  9525. }
  9526. },
  9527. {
  9528. "name": "apiVersion",
  9529. "in": "path",
  9530. "required": true,
  9531. "schema": {
  9532. "type": "string",
  9533. "enum": [
  9534. "v4"
  9535. ],
  9536. "default": "v4"
  9537. }
  9538. },
  9539. {
  9540. "name": "OCS-APIRequest",
  9541. "in": "header",
  9542. "description": "Required to be true for the API request to pass",
  9543. "required": true,
  9544. "schema": {
  9545. "type": "boolean",
  9546. "default": true
  9547. }
  9548. }
  9549. ],
  9550. "responses": {
  9551. "200": {
  9552. "description": "Return list of rooms",
  9553. "headers": {
  9554. "X-Nextcloud-Talk-Hash": {
  9555. "schema": {
  9556. "type": "string"
  9557. }
  9558. },
  9559. "X-Nextcloud-Talk-Modified-Before": {
  9560. "schema": {
  9561. "type": "string"
  9562. }
  9563. }
  9564. },
  9565. "content": {
  9566. "application/json": {
  9567. "schema": {
  9568. "type": "object",
  9569. "required": [
  9570. "ocs"
  9571. ],
  9572. "properties": {
  9573. "ocs": {
  9574. "type": "object",
  9575. "required": [
  9576. "meta",
  9577. "data"
  9578. ],
  9579. "properties": {
  9580. "meta": {
  9581. "$ref": "#/components/schemas/OCSMeta"
  9582. },
  9583. "data": {
  9584. "type": "array",
  9585. "items": {
  9586. "$ref": "#/components/schemas/Room"
  9587. }
  9588. }
  9589. }
  9590. }
  9591. }
  9592. }
  9593. }
  9594. }
  9595. }
  9596. }
  9597. },
  9598. "post": {
  9599. "operationId": "room-create-room",
  9600. "summary": "Create a room with a user, a group or a circle",
  9601. "tags": [
  9602. "room"
  9603. ],
  9604. "security": [
  9605. {
  9606. "bearer_auth": []
  9607. },
  9608. {
  9609. "basic_auth": []
  9610. }
  9611. ],
  9612. "parameters": [
  9613. {
  9614. "name": "roomType",
  9615. "in": "query",
  9616. "description": "Type of the room",
  9617. "required": true,
  9618. "schema": {
  9619. "type": "integer",
  9620. "format": "int64"
  9621. }
  9622. },
  9623. {
  9624. "name": "invite",
  9625. "in": "query",
  9626. "description": "User, group, … ID to invite",
  9627. "schema": {
  9628. "type": "string",
  9629. "default": ""
  9630. }
  9631. },
  9632. {
  9633. "name": "roomName",
  9634. "in": "query",
  9635. "description": "Name of the room",
  9636. "schema": {
  9637. "type": "string",
  9638. "default": ""
  9639. }
  9640. },
  9641. {
  9642. "name": "source",
  9643. "in": "query",
  9644. "description": "Source of the invite ID ('circles' to create a room with a circle, etc.)",
  9645. "schema": {
  9646. "type": "string",
  9647. "default": ""
  9648. }
  9649. },
  9650. {
  9651. "name": "objectType",
  9652. "in": "query",
  9653. "description": "Type of the object",
  9654. "schema": {
  9655. "type": "string",
  9656. "default": ""
  9657. }
  9658. },
  9659. {
  9660. "name": "objectId",
  9661. "in": "query",
  9662. "description": "ID of the object",
  9663. "schema": {
  9664. "type": "string",
  9665. "default": ""
  9666. }
  9667. },
  9668. {
  9669. "name": "apiVersion",
  9670. "in": "path",
  9671. "required": true,
  9672. "schema": {
  9673. "type": "string",
  9674. "enum": [
  9675. "v4"
  9676. ],
  9677. "default": "v4"
  9678. }
  9679. },
  9680. {
  9681. "name": "OCS-APIRequest",
  9682. "in": "header",
  9683. "description": "Required to be true for the API request to pass",
  9684. "required": true,
  9685. "schema": {
  9686. "type": "boolean",
  9687. "default": true
  9688. }
  9689. }
  9690. ],
  9691. "responses": {
  9692. "200": {
  9693. "description": "Room already existed",
  9694. "content": {
  9695. "application/json": {
  9696. "schema": {
  9697. "type": "object",
  9698. "required": [
  9699. "ocs"
  9700. ],
  9701. "properties": {
  9702. "ocs": {
  9703. "type": "object",
  9704. "required": [
  9705. "meta",
  9706. "data"
  9707. ],
  9708. "properties": {
  9709. "meta": {
  9710. "$ref": "#/components/schemas/OCSMeta"
  9711. },
  9712. "data": {
  9713. "$ref": "#/components/schemas/Room"
  9714. }
  9715. }
  9716. }
  9717. }
  9718. }
  9719. }
  9720. }
  9721. },
  9722. "201": {
  9723. "description": "Room created successfully",
  9724. "content": {
  9725. "application/json": {
  9726. "schema": {
  9727. "type": "object",
  9728. "required": [
  9729. "ocs"
  9730. ],
  9731. "properties": {
  9732. "ocs": {
  9733. "type": "object",
  9734. "required": [
  9735. "meta",
  9736. "data"
  9737. ],
  9738. "properties": {
  9739. "meta": {
  9740. "$ref": "#/components/schemas/OCSMeta"
  9741. },
  9742. "data": {
  9743. "$ref": "#/components/schemas/Room"
  9744. }
  9745. }
  9746. }
  9747. }
  9748. }
  9749. }
  9750. }
  9751. },
  9752. "400": {
  9753. "description": "Room type invalid",
  9754. "content": {
  9755. "application/json": {
  9756. "schema": {
  9757. "type": "object",
  9758. "required": [
  9759. "ocs"
  9760. ],
  9761. "properties": {
  9762. "ocs": {
  9763. "type": "object",
  9764. "required": [
  9765. "meta",
  9766. "data"
  9767. ],
  9768. "properties": {
  9769. "meta": {
  9770. "$ref": "#/components/schemas/OCSMeta"
  9771. },
  9772. "data": {
  9773. "type": "object",
  9774. "properties": {
  9775. "error": {
  9776. "type": "string"
  9777. }
  9778. }
  9779. }
  9780. }
  9781. }
  9782. }
  9783. }
  9784. }
  9785. }
  9786. },
  9787. "403": {
  9788. "description": "Missing permissions to create room",
  9789. "content": {
  9790. "application/json": {
  9791. "schema": {
  9792. "type": "object",
  9793. "required": [
  9794. "ocs"
  9795. ],
  9796. "properties": {
  9797. "ocs": {
  9798. "type": "object",
  9799. "required": [
  9800. "meta",
  9801. "data"
  9802. ],
  9803. "properties": {
  9804. "meta": {
  9805. "$ref": "#/components/schemas/OCSMeta"
  9806. },
  9807. "data": {}
  9808. }
  9809. }
  9810. }
  9811. }
  9812. }
  9813. }
  9814. },
  9815. "404": {
  9816. "description": "User, group or other target to invite was not found",
  9817. "content": {
  9818. "application/json": {
  9819. "schema": {
  9820. "type": "object",
  9821. "required": [
  9822. "ocs"
  9823. ],
  9824. "properties": {
  9825. "ocs": {
  9826. "type": "object",
  9827. "required": [
  9828. "meta",
  9829. "data"
  9830. ],
  9831. "properties": {
  9832. "meta": {
  9833. "$ref": "#/components/schemas/OCSMeta"
  9834. },
  9835. "data": {}
  9836. }
  9837. }
  9838. }
  9839. }
  9840. }
  9841. }
  9842. }
  9843. }
  9844. }
  9845. },
  9846. "/ocs/v2.php/apps/spreed/api/{apiVersion}/listed-room": {
  9847. "get": {
  9848. "operationId": "room-get-listed-rooms",
  9849. "summary": "Get listed rooms with optional search term",
  9850. "tags": [
  9851. "room"
  9852. ],
  9853. "security": [
  9854. {
  9855. "bearer_auth": []
  9856. },
  9857. {
  9858. "basic_auth": []
  9859. }
  9860. ],
  9861. "parameters": [
  9862. {
  9863. "name": "searchTerm",
  9864. "in": "query",
  9865. "description": "search term",
  9866. "schema": {
  9867. "type": "string",
  9868. "default": ""
  9869. }
  9870. },
  9871. {
  9872. "name": "apiVersion",
  9873. "in": "path",
  9874. "required": true,
  9875. "schema": {
  9876. "type": "string",
  9877. "enum": [
  9878. "v4"
  9879. ],
  9880. "default": "v4"
  9881. }
  9882. },
  9883. {
  9884. "name": "OCS-APIRequest",
  9885. "in": "header",
  9886. "description": "Required to be true for the API request to pass",
  9887. "required": true,
  9888. "schema": {
  9889. "type": "boolean",
  9890. "default": true
  9891. }
  9892. }
  9893. ],
  9894. "responses": {
  9895. "200": {
  9896. "description": "Return list of matching rooms",
  9897. "content": {
  9898. "application/json": {
  9899. "schema": {
  9900. "type": "object",
  9901. "required": [
  9902. "ocs"
  9903. ],
  9904. "properties": {
  9905. "ocs": {
  9906. "type": "object",
  9907. "required": [
  9908. "meta",
  9909. "data"
  9910. ],
  9911. "properties": {
  9912. "meta": {
  9913. "$ref": "#/components/schemas/OCSMeta"
  9914. },
  9915. "data": {
  9916. "type": "array",
  9917. "items": {
  9918. "$ref": "#/components/schemas/Room"
  9919. }
  9920. }
  9921. }
  9922. }
  9923. }
  9924. }
  9925. }
  9926. }
  9927. }
  9928. }
  9929. }
  9930. },
  9931. "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/note-to-self": {
  9932. "get": {
  9933. "operationId": "room-get-note-to-self-conversation",
  9934. "summary": "Get the \"Note to self\" conversation for the user",
  9935. "description": "It will be automatically created when it is currently missing",
  9936. "tags": [
  9937. "room"
  9938. ],
  9939. "security": [
  9940. {
  9941. "bearer_auth": []
  9942. },
  9943. {
  9944. "basic_auth": []
  9945. }
  9946. ],
  9947. "parameters": [
  9948. {
  9949. "name": "apiVersion",
  9950. "in": "path",
  9951. "required": true,
  9952. "schema": {
  9953. "type": "string",
  9954. "enum": [
  9955. "v4"
  9956. ],
  9957. "default": "v4"
  9958. }
  9959. },
  9960. {
  9961. "name": "OCS-APIRequest",
  9962. "in": "header",
  9963. "description": "Required to be true for the API request to pass",
  9964. "required": true,
  9965. "schema": {
  9966. "type": "boolean",
  9967. "default": true
  9968. }
  9969. }
  9970. ],
  9971. "responses": {
  9972. "200": {
  9973. "description": "Room returned successfully",
  9974. "headers": {
  9975. "X-Nextcloud-Talk-Hash": {
  9976. "schema": {
  9977. "type": "string"
  9978. }
  9979. }
  9980. },
  9981. "content": {
  9982. "application/json": {
  9983. "schema": {
  9984. "type": "object",
  9985. "required": [
  9986. "ocs"
  9987. ],
  9988. "properties": {
  9989. "ocs": {
  9990. "type": "object",
  9991. "required": [
  9992. "meta",
  9993. "data"
  9994. ],
  9995. "properties": {
  9996. "meta": {
  9997. "$ref": "#/components/schemas/OCSMeta"
  9998. },
  9999. "data": {
  10000. "$ref": "#/components/schemas/Room"
  10001. }
  10002. }
  10003. }
  10004. }
  10005. }
  10006. }
  10007. }
  10008. }
  10009. }
  10010. }
  10011. },
  10012. "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}": {
  10013. "get": {
  10014. "operationId": "room-get-single-room",
  10015. "summary": "Get a room",
  10016. "tags": [
  10017. "room"
  10018. ],
  10019. "security": [
  10020. {},
  10021. {
  10022. "bearer_auth": []
  10023. },
  10024. {
  10025. "basic_auth": []
  10026. }
  10027. ],
  10028. "parameters": [
  10029. {
  10030. "name": "apiVersion",
  10031. "in": "path",
  10032. "required": true,
  10033. "schema": {
  10034. "type": "string",
  10035. "enum": [
  10036. "v4"
  10037. ],
  10038. "default": "v4"
  10039. }
  10040. },
  10041. {
  10042. "name": "token",
  10043. "in": "path",
  10044. "description": "Token of the room",
  10045. "required": true,
  10046. "schema": {
  10047. "type": "string",
  10048. "pattern": "^[a-z0-9]{4,30}$"
  10049. }
  10050. },
  10051. {
  10052. "name": "OCS-APIRequest",
  10053. "in": "header",
  10054. "description": "Required to be true for the API request to pass",
  10055. "required": true,
  10056. "schema": {
  10057. "type": "boolean",
  10058. "default": true
  10059. }
  10060. }
  10061. ],
  10062. "responses": {
  10063. "200": {
  10064. "description": "Room returned",
  10065. "headers": {
  10066. "X-Nextcloud-Talk-Hash": {
  10067. "schema": {
  10068. "type": "string"
  10069. }
  10070. }
  10071. },
  10072. "content": {
  10073. "application/json": {
  10074. "schema": {
  10075. "type": "object",
  10076. "required": [
  10077. "ocs"
  10078. ],
  10079. "properties": {
  10080. "ocs": {
  10081. "type": "object",
  10082. "required": [
  10083. "meta",
  10084. "data"
  10085. ],
  10086. "properties": {
  10087. "meta": {
  10088. "$ref": "#/components/schemas/OCSMeta"
  10089. },
  10090. "data": {
  10091. "$ref": "#/components/schemas/Room"
  10092. }
  10093. }
  10094. }
  10095. }
  10096. }
  10097. }
  10098. }
  10099. },
  10100. "401": {
  10101. "description": "SIP request invalid",
  10102. "content": {
  10103. "application/json": {
  10104. "schema": {
  10105. "type": "object",
  10106. "required": [
  10107. "ocs"
  10108. ],
  10109. "properties": {
  10110. "ocs": {
  10111. "type": "object",
  10112. "required": [
  10113. "meta",
  10114. "data"
  10115. ],
  10116. "properties": {
  10117. "meta": {
  10118. "$ref": "#/components/schemas/OCSMeta"
  10119. },
  10120. "data": {
  10121. "nullable": true
  10122. }
  10123. }
  10124. }
  10125. }
  10126. }
  10127. }
  10128. }
  10129. },
  10130. "404": {
  10131. "description": "Room not found",
  10132. "content": {
  10133. "application/json": {
  10134. "schema": {
  10135. "type": "object",
  10136. "required": [
  10137. "ocs"
  10138. ],
  10139. "properties": {
  10140. "ocs": {
  10141. "type": "object",
  10142. "required": [
  10143. "meta",
  10144. "data"
  10145. ],
  10146. "properties": {
  10147. "meta": {
  10148. "$ref": "#/components/schemas/OCSMeta"
  10149. },
  10150. "data": {
  10151. "nullable": true
  10152. }
  10153. }
  10154. }
  10155. }
  10156. }
  10157. }
  10158. }
  10159. }
  10160. }
  10161. }
  10162. },
  10163. "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/breakout-rooms": {
  10164. "get": {
  10165. "operationId": "room-get-breakout-rooms",
  10166. "summary": "Get breakout rooms",
  10167. "description": "All for moderators and in case of \"free selection\", or the assigned breakout room for other participants",
  10168. "tags": [
  10169. "room"
  10170. ],
  10171. "security": [
  10172. {
  10173. "bearer_auth": []
  10174. },
  10175. {
  10176. "basic_auth": []
  10177. }
  10178. ],
  10179. "parameters": [
  10180. {
  10181. "name": "apiVersion",
  10182. "in": "path",
  10183. "required": true,
  10184. "schema": {
  10185. "type": "string",
  10186. "enum": [
  10187. "v4"
  10188. ],
  10189. "default": "v4"
  10190. }
  10191. },
  10192. {
  10193. "name": "token",
  10194. "in": "path",
  10195. "required": true,
  10196. "schema": {
  10197. "type": "string",
  10198. "pattern": "^[a-z0-9]{4,30}$"
  10199. }
  10200. },
  10201. {
  10202. "name": "OCS-APIRequest",
  10203. "in": "header",
  10204. "description": "Required to be true for the API request to pass",
  10205. "required": true,
  10206. "schema": {
  10207. "type": "boolean",
  10208. "default": true
  10209. }
  10210. }
  10211. ],
  10212. "responses": {
  10213. "200": {
  10214. "description": "Breakout rooms returned",
  10215. "content": {
  10216. "application/json": {
  10217. "schema": {
  10218. "type": "object",
  10219. "required": [
  10220. "ocs"
  10221. ],
  10222. "properties": {
  10223. "ocs": {
  10224. "type": "object",
  10225. "required": [
  10226. "meta",
  10227. "data"
  10228. ],
  10229. "properties": {
  10230. "meta": {
  10231. "$ref": "#/components/schemas/OCSMeta"
  10232. },
  10233. "data": {
  10234. "type": "array",
  10235. "items": {
  10236. "$ref": "#/components/schemas/Room"
  10237. }
  10238. }
  10239. }
  10240. }
  10241. }
  10242. }
  10243. }
  10244. }
  10245. },
  10246. "400": {
  10247. "description": "Getting breakout rooms is not possible",
  10248. "content": {
  10249. "application/json": {
  10250. "schema": {
  10251. "type": "object",
  10252. "required": [
  10253. "ocs"
  10254. ],
  10255. "properties": {
  10256. "ocs": {
  10257. "type": "object",
  10258. "required": [
  10259. "meta",
  10260. "data"
  10261. ],
  10262. "properties": {
  10263. "meta": {
  10264. "$ref": "#/components/schemas/OCSMeta"
  10265. },
  10266. "data": {
  10267. "type": "object",
  10268. "required": [
  10269. "error"
  10270. ],
  10271. "properties": {
  10272. "error": {
  10273. "type": "string"
  10274. }
  10275. }
  10276. }
  10277. }
  10278. }
  10279. }
  10280. }
  10281. }
  10282. }
  10283. }
  10284. }
  10285. }
  10286. },
  10287. "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/public": {
  10288. "post": {
  10289. "operationId": "room-make-public",
  10290. "summary": "Allowed guests to join conversation",
  10291. "tags": [
  10292. "room"
  10293. ],
  10294. "security": [
  10295. {
  10296. "bearer_auth": []
  10297. },
  10298. {
  10299. "basic_auth": []
  10300. }
  10301. ],
  10302. "parameters": [
  10303. {
  10304. "name": "apiVersion",
  10305. "in": "path",
  10306. "required": true,
  10307. "schema": {
  10308. "type": "string",
  10309. "enum": [
  10310. "v4"
  10311. ],
  10312. "default": "v4"
  10313. }
  10314. },
  10315. {
  10316. "name": "token",
  10317. "in": "path",
  10318. "required": true,
  10319. "schema": {
  10320. "type": "string",
  10321. "pattern": "^[a-z0-9]{4,30}$"
  10322. }
  10323. },
  10324. {
  10325. "name": "OCS-APIRequest",
  10326. "in": "header",
  10327. "description": "Required to be true for the API request to pass",
  10328. "required": true,
  10329. "schema": {
  10330. "type": "boolean",
  10331. "default": true
  10332. }
  10333. }
  10334. ],
  10335. "responses": {
  10336. "200": {
  10337. "description": "Allowed guests successfully",
  10338. "content": {
  10339. "application/json": {
  10340. "schema": {
  10341. "type": "object",
  10342. "required": [
  10343. "ocs"
  10344. ],
  10345. "properties": {
  10346. "ocs": {
  10347. "type": "object",
  10348. "required": [
  10349. "meta",
  10350. "data"
  10351. ],
  10352. "properties": {
  10353. "meta": {
  10354. "$ref": "#/components/schemas/OCSMeta"
  10355. },
  10356. "data": {}
  10357. }
  10358. }
  10359. }
  10360. }
  10361. }
  10362. }
  10363. },
  10364. "400": {
  10365. "description": "Allowing guests is not possible",
  10366. "content": {
  10367. "application/json": {
  10368. "schema": {
  10369. "type": "object",
  10370. "required": [
  10371. "ocs"
  10372. ],
  10373. "properties": {
  10374. "ocs": {
  10375. "type": "object",
  10376. "required": [
  10377. "meta",
  10378. "data"
  10379. ],
  10380. "properties": {
  10381. "meta": {
  10382. "$ref": "#/components/schemas/OCSMeta"
  10383. },
  10384. "data": {}
  10385. }
  10386. }
  10387. }
  10388. }
  10389. }
  10390. }
  10391. }
  10392. }
  10393. },
  10394. "delete": {
  10395. "operationId": "room-make-private",
  10396. "summary": "Disallowed guests to join conversation",
  10397. "tags": [
  10398. "room"
  10399. ],
  10400. "security": [
  10401. {
  10402. "bearer_auth": []
  10403. },
  10404. {
  10405. "basic_auth": []
  10406. }
  10407. ],
  10408. "parameters": [
  10409. {
  10410. "name": "apiVersion",
  10411. "in": "path",
  10412. "required": true,
  10413. "schema": {
  10414. "type": "string",
  10415. "enum": [
  10416. "v4"
  10417. ],
  10418. "default": "v4"
  10419. }
  10420. },
  10421. {
  10422. "name": "token",
  10423. "in": "path",
  10424. "required": true,
  10425. "schema": {
  10426. "type": "string",
  10427. "pattern": "^[a-z0-9]{4,30}$"
  10428. }
  10429. },
  10430. {
  10431. "name": "OCS-APIRequest",
  10432. "in": "header",
  10433. "description": "Required to be true for the API request to pass",
  10434. "required": true,
  10435. "schema": {
  10436. "type": "boolean",
  10437. "default": true
  10438. }
  10439. }
  10440. ],
  10441. "responses": {
  10442. "200": {
  10443. "description": "Room unpublished Disallowing guests successfully",
  10444. "content": {
  10445. "application/json": {
  10446. "schema": {
  10447. "type": "object",
  10448. "required": [
  10449. "ocs"
  10450. ],
  10451. "properties": {
  10452. "ocs": {
  10453. "type": "object",
  10454. "required": [
  10455. "meta",
  10456. "data"
  10457. ],
  10458. "properties": {
  10459. "meta": {
  10460. "$ref": "#/components/schemas/OCSMeta"
  10461. },
  10462. "data": {}
  10463. }
  10464. }
  10465. }
  10466. }
  10467. }
  10468. }
  10469. },
  10470. "400": {
  10471. "description": "Disallowing guests is not possible",
  10472. "content": {
  10473. "application/json": {
  10474. "schema": {
  10475. "type": "object",
  10476. "required": [
  10477. "ocs"
  10478. ],
  10479. "properties": {
  10480. "ocs": {
  10481. "type": "object",
  10482. "required": [
  10483. "meta",
  10484. "data"
  10485. ],
  10486. "properties": {
  10487. "meta": {
  10488. "$ref": "#/components/schemas/OCSMeta"
  10489. },
  10490. "data": {}
  10491. }
  10492. }
  10493. }
  10494. }
  10495. }
  10496. }
  10497. }
  10498. }
  10499. }
  10500. },
  10501. "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/description": {
  10502. "put": {
  10503. "operationId": "room-set-description",
  10504. "summary": "Update the description of a room",
  10505. "tags": [
  10506. "room"
  10507. ],
  10508. "security": [
  10509. {},
  10510. {
  10511. "bearer_auth": []
  10512. },
  10513. {
  10514. "basic_auth": []
  10515. }
  10516. ],
  10517. "parameters": [
  10518. {
  10519. "name": "description",
  10520. "in": "query",
  10521. "description": "New description",
  10522. "required": true,
  10523. "schema": {
  10524. "type": "string"
  10525. }
  10526. },
  10527. {
  10528. "name": "apiVersion",
  10529. "in": "path",
  10530. "required": true,
  10531. "schema": {
  10532. "type": "string",
  10533. "enum": [
  10534. "v4"
  10535. ],
  10536. "default": "v4"
  10537. }
  10538. },
  10539. {
  10540. "name": "token",
  10541. "in": "path",
  10542. "required": true,
  10543. "schema": {
  10544. "type": "string",
  10545. "pattern": "^[a-z0-9]{4,30}$"
  10546. }
  10547. },
  10548. {
  10549. "name": "OCS-APIRequest",
  10550. "in": "header",
  10551. "description": "Required to be true for the API request to pass",
  10552. "required": true,
  10553. "schema": {
  10554. "type": "boolean",
  10555. "default": true
  10556. }
  10557. }
  10558. ],
  10559. "responses": {
  10560. "200": {
  10561. "description": "Description updated successfully",
  10562. "content": {
  10563. "application/json": {
  10564. "schema": {
  10565. "type": "object",
  10566. "required": [
  10567. "ocs"
  10568. ],
  10569. "properties": {
  10570. "ocs": {
  10571. "type": "object",
  10572. "required": [
  10573. "meta",
  10574. "data"
  10575. ],
  10576. "properties": {
  10577. "meta": {
  10578. "$ref": "#/components/schemas/OCSMeta"
  10579. },
  10580. "data": {}
  10581. }
  10582. }
  10583. }
  10584. }
  10585. }
  10586. }
  10587. },
  10588. "400": {
  10589. "description": "Updating description is not possible",
  10590. "content": {
  10591. "application/json": {
  10592. "schema": {
  10593. "type": "object",
  10594. "required": [
  10595. "ocs"
  10596. ],
  10597. "properties": {
  10598. "ocs": {
  10599. "type": "object",
  10600. "required": [
  10601. "meta",
  10602. "data"
  10603. ],
  10604. "properties": {
  10605. "meta": {
  10606. "$ref": "#/components/schemas/OCSMeta"
  10607. },
  10608. "data": {}
  10609. }
  10610. }
  10611. }
  10612. }
  10613. }
  10614. }
  10615. }
  10616. }
  10617. }
  10618. },
  10619. "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/read-only": {
  10620. "put": {
  10621. "operationId": "room-set-read-only",
  10622. "summary": "Set read-only state of a room",
  10623. "tags": [
  10624. "room"
  10625. ],
  10626. "security": [
  10627. {
  10628. "bearer_auth": []
  10629. },
  10630. {
  10631. "basic_auth": []
  10632. }
  10633. ],
  10634. "parameters": [
  10635. {
  10636. "name": "state",
  10637. "in": "query",
  10638. "description": "New read-only state",
  10639. "required": true,
  10640. "schema": {
  10641. "type": "integer",
  10642. "format": "int64",
  10643. "enum": [
  10644. 0,
  10645. 1
  10646. ]
  10647. }
  10648. },
  10649. {
  10650. "name": "apiVersion",
  10651. "in": "path",
  10652. "required": true,
  10653. "schema": {
  10654. "type": "string",
  10655. "enum": [
  10656. "v4"
  10657. ],
  10658. "default": "v4"
  10659. }
  10660. },
  10661. {
  10662. "name": "token",
  10663. "in": "path",
  10664. "required": true,
  10665. "schema": {
  10666. "type": "string",
  10667. "pattern": "^[a-z0-9]{4,30}$"
  10668. }
  10669. },
  10670. {
  10671. "name": "OCS-APIRequest",
  10672. "in": "header",
  10673. "description": "Required to be true for the API request to pass",
  10674. "required": true,
  10675. "schema": {
  10676. "type": "boolean",
  10677. "default": true
  10678. }
  10679. }
  10680. ],
  10681. "responses": {
  10682. "200": {
  10683. "description": "Read-only state updated successfully",
  10684. "content": {
  10685. "application/json": {
  10686. "schema": {
  10687. "type": "object",
  10688. "required": [
  10689. "ocs"
  10690. ],
  10691. "properties": {
  10692. "ocs": {
  10693. "type": "object",
  10694. "required": [
  10695. "meta",
  10696. "data"
  10697. ],
  10698. "properties": {
  10699. "meta": {
  10700. "$ref": "#/components/schemas/OCSMeta"
  10701. },
  10702. "data": {}
  10703. }
  10704. }
  10705. }
  10706. }
  10707. }
  10708. }
  10709. },
  10710. "400": {
  10711. "description": "Updating read-only state is not possible",
  10712. "content": {
  10713. "application/json": {
  10714. "schema": {
  10715. "type": "object",
  10716. "required": [
  10717. "ocs"
  10718. ],
  10719. "properties": {
  10720. "ocs": {
  10721. "type": "object",
  10722. "required": [
  10723. "meta",
  10724. "data"
  10725. ],
  10726. "properties": {
  10727. "meta": {
  10728. "$ref": "#/components/schemas/OCSMeta"
  10729. },
  10730. "data": {}
  10731. }
  10732. }
  10733. }
  10734. }
  10735. }
  10736. }
  10737. }
  10738. }
  10739. }
  10740. },
  10741. "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/listable": {
  10742. "put": {
  10743. "operationId": "room-set-listable",
  10744. "summary": "Make a room listable",
  10745. "tags": [
  10746. "room"
  10747. ],
  10748. "security": [
  10749. {
  10750. "bearer_auth": []
  10751. },
  10752. {
  10753. "basic_auth": []
  10754. }
  10755. ],
  10756. "parameters": [
  10757. {
  10758. "name": "scope",
  10759. "in": "query",
  10760. "description": "Scope where the room is listable",
  10761. "required": true,
  10762. "schema": {
  10763. "type": "integer",
  10764. "format": "int64",
  10765. "enum": [
  10766. 0,
  10767. 1,
  10768. 2
  10769. ]
  10770. }
  10771. },
  10772. {
  10773. "name": "apiVersion",
  10774. "in": "path",
  10775. "required": true,
  10776. "schema": {
  10777. "type": "string",
  10778. "enum": [
  10779. "v4"
  10780. ],
  10781. "default": "v4"
  10782. }
  10783. },
  10784. {
  10785. "name": "token",
  10786. "in": "path",
  10787. "required": true,
  10788. "schema": {
  10789. "type": "string",
  10790. "pattern": "^[a-z0-9]{4,30}$"
  10791. }
  10792. },
  10793. {
  10794. "name": "OCS-APIRequest",
  10795. "in": "header",
  10796. "description": "Required to be true for the API request to pass",
  10797. "required": true,
  10798. "schema": {
  10799. "type": "boolean",
  10800. "default": true
  10801. }
  10802. }
  10803. ],
  10804. "responses": {
  10805. "200": {
  10806. "description": "Made room listable successfully",
  10807. "content": {
  10808. "application/json": {
  10809. "schema": {
  10810. "type": "object",
  10811. "required": [
  10812. "ocs"
  10813. ],
  10814. "properties": {
  10815. "ocs": {
  10816. "type": "object",
  10817. "required": [
  10818. "meta",
  10819. "data"
  10820. ],
  10821. "properties": {
  10822. "meta": {
  10823. "$ref": "#/components/schemas/OCSMeta"
  10824. },
  10825. "data": {}
  10826. }
  10827. }
  10828. }
  10829. }
  10830. }
  10831. }
  10832. },
  10833. "400": {
  10834. "description": "Making room listable is not possible",
  10835. "content": {
  10836. "application/json": {
  10837. "schema": {
  10838. "type": "object",
  10839. "required": [
  10840. "ocs"
  10841. ],
  10842. "properties": {
  10843. "ocs": {
  10844. "type": "object",
  10845. "required": [
  10846. "meta",
  10847. "data"
  10848. ],
  10849. "properties": {
  10850. "meta": {
  10851. "$ref": "#/components/schemas/OCSMeta"
  10852. },
  10853. "data": {}
  10854. }
  10855. }
  10856. }
  10857. }
  10858. }
  10859. }
  10860. }
  10861. }
  10862. }
  10863. },
  10864. "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/password": {
  10865. "put": {
  10866. "operationId": "room-set-password",
  10867. "summary": "Set a password for a room",
  10868. "tags": [
  10869. "room"
  10870. ],
  10871. "security": [
  10872. {},
  10873. {
  10874. "bearer_auth": []
  10875. },
  10876. {
  10877. "basic_auth": []
  10878. }
  10879. ],
  10880. "parameters": [
  10881. {
  10882. "name": "password",
  10883. "in": "query",
  10884. "description": "New password",
  10885. "required": true,
  10886. "schema": {
  10887. "type": "string"
  10888. }
  10889. },
  10890. {
  10891. "name": "apiVersion",
  10892. "in": "path",
  10893. "required": true,
  10894. "schema": {
  10895. "type": "string",
  10896. "enum": [
  10897. "v4"
  10898. ],
  10899. "default": "v4"
  10900. }
  10901. },
  10902. {
  10903. "name": "token",
  10904. "in": "path",
  10905. "required": true,
  10906. "schema": {
  10907. "type": "string",
  10908. "pattern": "^[a-z0-9]{4,30}$"
  10909. }
  10910. },
  10911. {
  10912. "name": "OCS-APIRequest",
  10913. "in": "header",
  10914. "description": "Required to be true for the API request to pass",
  10915. "required": true,
  10916. "schema": {
  10917. "type": "boolean",
  10918. "default": true
  10919. }
  10920. }
  10921. ],
  10922. "responses": {
  10923. "200": {
  10924. "description": "Password set successfully",
  10925. "content": {
  10926. "application/json": {
  10927. "schema": {
  10928. "type": "object",
  10929. "required": [
  10930. "ocs"
  10931. ],
  10932. "properties": {
  10933. "ocs": {
  10934. "type": "object",
  10935. "required": [
  10936. "meta",
  10937. "data"
  10938. ],
  10939. "properties": {
  10940. "meta": {
  10941. "$ref": "#/components/schemas/OCSMeta"
  10942. },
  10943. "data": {}
  10944. }
  10945. }
  10946. }
  10947. }
  10948. }
  10949. }
  10950. },
  10951. "403": {
  10952. "description": "Setting password is not allowed",
  10953. "content": {
  10954. "application/json": {
  10955. "schema": {
  10956. "type": "object",
  10957. "required": [
  10958. "ocs"
  10959. ],
  10960. "properties": {
  10961. "ocs": {
  10962. "type": "object",
  10963. "required": [
  10964. "meta",
  10965. "data"
  10966. ],
  10967. "properties": {
  10968. "meta": {
  10969. "$ref": "#/components/schemas/OCSMeta"
  10970. },
  10971. "data": {}
  10972. }
  10973. }
  10974. }
  10975. }
  10976. }
  10977. }
  10978. },
  10979. "400": {
  10980. "description": "Setting password is not possible",
  10981. "content": {
  10982. "application/json": {
  10983. "schema": {
  10984. "type": "object",
  10985. "required": [
  10986. "ocs"
  10987. ],
  10988. "properties": {
  10989. "ocs": {
  10990. "type": "object",
  10991. "required": [
  10992. "meta",
  10993. "data"
  10994. ],
  10995. "properties": {
  10996. "meta": {
  10997. "$ref": "#/components/schemas/OCSMeta"
  10998. },
  10999. "data": {
  11000. "type": "object",
  11001. "properties": {
  11002. "message": {
  11003. "type": "string"
  11004. }
  11005. }
  11006. }
  11007. }
  11008. }
  11009. }
  11010. }
  11011. }
  11012. }
  11013. }
  11014. }
  11015. }
  11016. },
  11017. "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/permissions/{mode}": {
  11018. "put": {
  11019. "operationId": "room-set-permissions",
  11020. "summary": "Update the permissions of a room",
  11021. "tags": [
  11022. "room"
  11023. ],
  11024. "security": [
  11025. {},
  11026. {
  11027. "bearer_auth": []
  11028. },
  11029. {
  11030. "basic_auth": []
  11031. }
  11032. ],
  11033. "parameters": [
  11034. {
  11035. "name": "permissions",
  11036. "in": "query",
  11037. "description": "New permissions",
  11038. "required": true,
  11039. "schema": {
  11040. "type": "integer",
  11041. "format": "int64",
  11042. "minimum": 0,
  11043. "maximum": 255
  11044. }
  11045. },
  11046. {
  11047. "name": "apiVersion",
  11048. "in": "path",
  11049. "required": true,
  11050. "schema": {
  11051. "type": "string",
  11052. "enum": [
  11053. "v4"
  11054. ],
  11055. "default": "v4"
  11056. }
  11057. },
  11058. {
  11059. "name": "token",
  11060. "in": "path",
  11061. "required": true,
  11062. "schema": {
  11063. "type": "string",
  11064. "pattern": "^[a-z0-9]{4,30}$"
  11065. }
  11066. },
  11067. {
  11068. "name": "mode",
  11069. "in": "path",
  11070. "description": "Level of the permissions ('call', 'default')",
  11071. "required": true,
  11072. "schema": {
  11073. "type": "string",
  11074. "enum": [
  11075. "call",
  11076. "default"
  11077. ],
  11078. "pattern": "^(call|default)$"
  11079. }
  11080. },
  11081. {
  11082. "name": "OCS-APIRequest",
  11083. "in": "header",
  11084. "description": "Required to be true for the API request to pass",
  11085. "required": true,
  11086. "schema": {
  11087. "type": "boolean",
  11088. "default": true
  11089. }
  11090. }
  11091. ],
  11092. "responses": {
  11093. "200": {
  11094. "description": "Permissions updated successfully",
  11095. "content": {
  11096. "application/json": {
  11097. "schema": {
  11098. "type": "object",
  11099. "required": [
  11100. "ocs"
  11101. ],
  11102. "properties": {
  11103. "ocs": {
  11104. "type": "object",
  11105. "required": [
  11106. "meta",
  11107. "data"
  11108. ],
  11109. "properties": {
  11110. "meta": {
  11111. "$ref": "#/components/schemas/OCSMeta"
  11112. },
  11113. "data": {
  11114. "$ref": "#/components/schemas/Room"
  11115. }
  11116. }
  11117. }
  11118. }
  11119. }
  11120. }
  11121. }
  11122. },
  11123. "400": {
  11124. "description": "Updating permissions is not possible",
  11125. "content": {
  11126. "application/json": {
  11127. "schema": {
  11128. "type": "object",
  11129. "required": [
  11130. "ocs"
  11131. ],
  11132. "properties": {
  11133. "ocs": {
  11134. "type": "object",
  11135. "required": [
  11136. "meta",
  11137. "data"
  11138. ],
  11139. "properties": {
  11140. "meta": {
  11141. "$ref": "#/components/schemas/OCSMeta"
  11142. },
  11143. "data": {}
  11144. }
  11145. }
  11146. }
  11147. }
  11148. }
  11149. }
  11150. }
  11151. }
  11152. }
  11153. },
  11154. "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/participants": {
  11155. "get": {
  11156. "operationId": "room-get-participants",
  11157. "summary": "Get a list of participants for a room",
  11158. "tags": [
  11159. "room"
  11160. ],
  11161. "security": [
  11162. {},
  11163. {
  11164. "bearer_auth": []
  11165. },
  11166. {
  11167. "basic_auth": []
  11168. }
  11169. ],
  11170. "parameters": [
  11171. {
  11172. "name": "includeStatus",
  11173. "in": "query",
  11174. "description": "Include the user statuses",
  11175. "schema": {
  11176. "type": "integer",
  11177. "default": 0,
  11178. "enum": [
  11179. 0,
  11180. 1
  11181. ]
  11182. }
  11183. },
  11184. {
  11185. "name": "apiVersion",
  11186. "in": "path",
  11187. "required": true,
  11188. "schema": {
  11189. "type": "string",
  11190. "enum": [
  11191. "v4"
  11192. ],
  11193. "default": "v4"
  11194. }
  11195. },
  11196. {
  11197. "name": "token",
  11198. "in": "path",
  11199. "required": true,
  11200. "schema": {
  11201. "type": "string",
  11202. "pattern": "^[a-z0-9]{4,30}$"
  11203. }
  11204. },
  11205. {
  11206. "name": "OCS-APIRequest",
  11207. "in": "header",
  11208. "description": "Required to be true for the API request to pass",
  11209. "required": true,
  11210. "schema": {
  11211. "type": "boolean",
  11212. "default": true
  11213. }
  11214. }
  11215. ],
  11216. "responses": {
  11217. "200": {
  11218. "description": "Participants returned",
  11219. "headers": {
  11220. "X-Nextcloud-Has-User-Statuses": {
  11221. "schema": {
  11222. "type": "boolean"
  11223. }
  11224. }
  11225. },
  11226. "content": {
  11227. "application/json": {
  11228. "schema": {
  11229. "type": "object",
  11230. "required": [
  11231. "ocs"
  11232. ],
  11233. "properties": {
  11234. "ocs": {
  11235. "type": "object",
  11236. "required": [
  11237. "meta",
  11238. "data"
  11239. ],
  11240. "properties": {
  11241. "meta": {
  11242. "$ref": "#/components/schemas/OCSMeta"
  11243. },
  11244. "data": {
  11245. "type": "array",
  11246. "items": {
  11247. "$ref": "#/components/schemas/Participant"
  11248. }
  11249. }
  11250. }
  11251. }
  11252. }
  11253. }
  11254. }
  11255. }
  11256. },
  11257. "403": {
  11258. "description": "Missing permissions for getting participants",
  11259. "content": {
  11260. "application/json": {
  11261. "schema": {
  11262. "type": "object",
  11263. "required": [
  11264. "ocs"
  11265. ],
  11266. "properties": {
  11267. "ocs": {
  11268. "type": "object",
  11269. "required": [
  11270. "meta",
  11271. "data"
  11272. ],
  11273. "properties": {
  11274. "meta": {
  11275. "$ref": "#/components/schemas/OCSMeta"
  11276. },
  11277. "data": {}
  11278. }
  11279. }
  11280. }
  11281. }
  11282. }
  11283. }
  11284. }
  11285. }
  11286. },
  11287. "post": {
  11288. "operationId": "room-add-participant-to-room",
  11289. "summary": "Add a participant to a room",
  11290. "tags": [
  11291. "room"
  11292. ],
  11293. "security": [
  11294. {
  11295. "bearer_auth": []
  11296. },
  11297. {
  11298. "basic_auth": []
  11299. }
  11300. ],
  11301. "parameters": [
  11302. {
  11303. "name": "newParticipant",
  11304. "in": "query",
  11305. "description": "New participant",
  11306. "required": true,
  11307. "schema": {
  11308. "type": "string"
  11309. }
  11310. },
  11311. {
  11312. "name": "source",
  11313. "in": "query",
  11314. "description": "Source of the participant",
  11315. "schema": {
  11316. "type": "string",
  11317. "default": "users",
  11318. "enum": [
  11319. "users",
  11320. "groups",
  11321. "circles",
  11322. "emails",
  11323. "federated_users",
  11324. "phones"
  11325. ]
  11326. }
  11327. },
  11328. {
  11329. "name": "apiVersion",
  11330. "in": "path",
  11331. "required": true,
  11332. "schema": {
  11333. "type": "string",
  11334. "enum": [
  11335. "v4"
  11336. ],
  11337. "default": "v4"
  11338. }
  11339. },
  11340. {
  11341. "name": "token",
  11342. "in": "path",
  11343. "required": true,
  11344. "schema": {
  11345. "type": "string",
  11346. "pattern": "^[a-z0-9]{4,30}$"
  11347. }
  11348. },
  11349. {
  11350. "name": "OCS-APIRequest",
  11351. "in": "header",
  11352. "description": "Required to be true for the API request to pass",
  11353. "required": true,
  11354. "schema": {
  11355. "type": "boolean",
  11356. "default": true
  11357. }
  11358. }
  11359. ],
  11360. "responses": {
  11361. "200": {
  11362. "description": "Participant successfully added",
  11363. "content": {
  11364. "application/json": {
  11365. "schema": {
  11366. "type": "object",
  11367. "required": [
  11368. "ocs"
  11369. ],
  11370. "properties": {
  11371. "ocs": {
  11372. "type": "object",
  11373. "required": [
  11374. "meta",
  11375. "data"
  11376. ],
  11377. "properties": {
  11378. "meta": {
  11379. "$ref": "#/components/schemas/OCSMeta"
  11380. },
  11381. "data": {
  11382. "oneOf": [
  11383. {
  11384. "type": "object",
  11385. "required": [
  11386. "type"
  11387. ],
  11388. "properties": {
  11389. "type": {
  11390. "type": "integer",
  11391. "format": "int64"
  11392. }
  11393. }
  11394. },
  11395. {
  11396. "type": "array",
  11397. "maxLength": 0
  11398. }
  11399. ]
  11400. }
  11401. }
  11402. }
  11403. }
  11404. }
  11405. }
  11406. }
  11407. },
  11408. "404": {
  11409. "description": "User, group or other target to invite was not found",
  11410. "content": {
  11411. "application/json": {
  11412. "schema": {
  11413. "type": "object",
  11414. "required": [
  11415. "ocs"
  11416. ],
  11417. "properties": {
  11418. "ocs": {
  11419. "type": "object",
  11420. "required": [
  11421. "meta",
  11422. "data"
  11423. ],
  11424. "properties": {
  11425. "meta": {
  11426. "$ref": "#/components/schemas/OCSMeta"
  11427. },
  11428. "data": {}
  11429. }
  11430. }
  11431. }
  11432. }
  11433. }
  11434. }
  11435. },
  11436. "501": {
  11437. "description": "SIP dial-out is not configured",
  11438. "content": {
  11439. "application/json": {
  11440. "schema": {
  11441. "type": "object",
  11442. "required": [
  11443. "ocs"
  11444. ],
  11445. "properties": {
  11446. "ocs": {
  11447. "type": "object",
  11448. "required": [
  11449. "meta",
  11450. "data"
  11451. ],
  11452. "properties": {
  11453. "meta": {
  11454. "$ref": "#/components/schemas/OCSMeta"
  11455. },
  11456. "data": {}
  11457. }
  11458. }
  11459. }
  11460. }
  11461. }
  11462. }
  11463. },
  11464. "400": {
  11465. "description": "Adding participant is not possible",
  11466. "content": {
  11467. "application/json": {
  11468. "schema": {
  11469. "type": "object",
  11470. "required": [
  11471. "ocs"
  11472. ],
  11473. "properties": {
  11474. "ocs": {
  11475. "type": "object",
  11476. "required": [
  11477. "meta",
  11478. "data"
  11479. ],
  11480. "properties": {
  11481. "meta": {
  11482. "$ref": "#/components/schemas/OCSMeta"
  11483. },
  11484. "data": {
  11485. "type": "object",
  11486. "properties": {
  11487. "error": {
  11488. "type": "string"
  11489. }
  11490. }
  11491. }
  11492. }
  11493. }
  11494. }
  11495. }
  11496. }
  11497. }
  11498. }
  11499. }
  11500. }
  11501. },
  11502. "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/breakout-rooms/participants": {
  11503. "get": {
  11504. "operationId": "room-get-breakout-room-participants",
  11505. "summary": "Get the breakout room participants for a room",
  11506. "tags": [
  11507. "room"
  11508. ],
  11509. "security": [
  11510. {},
  11511. {
  11512. "bearer_auth": []
  11513. },
  11514. {
  11515. "basic_auth": []
  11516. }
  11517. ],
  11518. "parameters": [
  11519. {
  11520. "name": "includeStatus",
  11521. "in": "query",
  11522. "description": "Include the user statuses",
  11523. "schema": {
  11524. "type": "integer",
  11525. "default": 0,
  11526. "enum": [
  11527. 0,
  11528. 1
  11529. ]
  11530. }
  11531. },
  11532. {
  11533. "name": "apiVersion",
  11534. "in": "path",
  11535. "required": true,
  11536. "schema": {
  11537. "type": "string",
  11538. "enum": [
  11539. "v4"
  11540. ],
  11541. "default": "v4"
  11542. }
  11543. },
  11544. {
  11545. "name": "token",
  11546. "in": "path",
  11547. "required": true,
  11548. "schema": {
  11549. "type": "string",
  11550. "pattern": "^[a-z0-9]{4,30}$"
  11551. }
  11552. },
  11553. {
  11554. "name": "OCS-APIRequest",
  11555. "in": "header",
  11556. "description": "Required to be true for the API request to pass",
  11557. "required": true,
  11558. "schema": {
  11559. "type": "boolean",
  11560. "default": true
  11561. }
  11562. }
  11563. ],
  11564. "responses": {
  11565. "200": {
  11566. "description": "Breakout room participants returned",
  11567. "headers": {
  11568. "X-Nextcloud-Has-User-Statuses": {
  11569. "schema": {
  11570. "type": "boolean"
  11571. }
  11572. }
  11573. },
  11574. "content": {
  11575. "application/json": {
  11576. "schema": {
  11577. "type": "object",
  11578. "required": [
  11579. "ocs"
  11580. ],
  11581. "properties": {
  11582. "ocs": {
  11583. "type": "object",
  11584. "required": [
  11585. "meta",
  11586. "data"
  11587. ],
  11588. "properties": {
  11589. "meta": {
  11590. "$ref": "#/components/schemas/OCSMeta"
  11591. },
  11592. "data": {
  11593. "type": "array",
  11594. "items": {
  11595. "$ref": "#/components/schemas/Participant"
  11596. }
  11597. }
  11598. }
  11599. }
  11600. }
  11601. }
  11602. }
  11603. }
  11604. },
  11605. "400": {
  11606. "description": "Getting breakout room participants is not possible",
  11607. "content": {
  11608. "application/json": {
  11609. "schema": {
  11610. "type": "object",
  11611. "required": [
  11612. "ocs"
  11613. ],
  11614. "properties": {
  11615. "ocs": {
  11616. "type": "object",
  11617. "required": [
  11618. "meta",
  11619. "data"
  11620. ],
  11621. "properties": {
  11622. "meta": {
  11623. "$ref": "#/components/schemas/OCSMeta"
  11624. },
  11625. "data": {
  11626. "type": "object",
  11627. "required": [
  11628. "error"
  11629. ],
  11630. "properties": {
  11631. "error": {
  11632. "type": "string"
  11633. }
  11634. }
  11635. }
  11636. }
  11637. }
  11638. }
  11639. }
  11640. }
  11641. }
  11642. },
  11643. "403": {
  11644. "description": "Missing permissions to get breakout room participants",
  11645. "content": {
  11646. "application/json": {
  11647. "schema": {
  11648. "type": "object",
  11649. "required": [
  11650. "ocs"
  11651. ],
  11652. "properties": {
  11653. "ocs": {
  11654. "type": "object",
  11655. "required": [
  11656. "meta",
  11657. "data"
  11658. ],
  11659. "properties": {
  11660. "meta": {
  11661. "$ref": "#/components/schemas/OCSMeta"
  11662. },
  11663. "data": {}
  11664. }
  11665. }
  11666. }
  11667. }
  11668. }
  11669. }
  11670. }
  11671. }
  11672. }
  11673. },
  11674. "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/participants/self": {
  11675. "delete": {
  11676. "operationId": "room-remove-self-from-room",
  11677. "summary": "Remove the current user from a room",
  11678. "tags": [
  11679. "room"
  11680. ],
  11681. "security": [
  11682. {
  11683. "bearer_auth": []
  11684. },
  11685. {
  11686. "basic_auth": []
  11687. }
  11688. ],
  11689. "parameters": [
  11690. {
  11691. "name": "apiVersion",
  11692. "in": "path",
  11693. "required": true,
  11694. "schema": {
  11695. "type": "string",
  11696. "enum": [
  11697. "v4"
  11698. ],
  11699. "default": "v4"
  11700. }
  11701. },
  11702. {
  11703. "name": "token",
  11704. "in": "path",
  11705. "required": true,
  11706. "schema": {
  11707. "type": "string",
  11708. "pattern": "^[a-z0-9]{4,30}$"
  11709. }
  11710. },
  11711. {
  11712. "name": "OCS-APIRequest",
  11713. "in": "header",
  11714. "description": "Required to be true for the API request to pass",
  11715. "required": true,
  11716. "schema": {
  11717. "type": "boolean",
  11718. "default": true
  11719. }
  11720. }
  11721. ],
  11722. "responses": {
  11723. "200": {
  11724. "description": "Participant removed successfully",
  11725. "content": {
  11726. "application/json": {
  11727. "schema": {
  11728. "type": "object",
  11729. "required": [
  11730. "ocs"
  11731. ],
  11732. "properties": {
  11733. "ocs": {
  11734. "type": "object",
  11735. "required": [
  11736. "meta",
  11737. "data"
  11738. ],
  11739. "properties": {
  11740. "meta": {
  11741. "$ref": "#/components/schemas/OCSMeta"
  11742. },
  11743. "data": {}
  11744. }
  11745. }
  11746. }
  11747. }
  11748. }
  11749. }
  11750. },
  11751. "400": {
  11752. "description": "Removing participant is not possible",
  11753. "content": {
  11754. "application/json": {
  11755. "schema": {
  11756. "type": "object",
  11757. "required": [
  11758. "ocs"
  11759. ],
  11760. "properties": {
  11761. "ocs": {
  11762. "type": "object",
  11763. "required": [
  11764. "meta",
  11765. "data"
  11766. ],
  11767. "properties": {
  11768. "meta": {
  11769. "$ref": "#/components/schemas/OCSMeta"
  11770. },
  11771. "data": {}
  11772. }
  11773. }
  11774. }
  11775. }
  11776. }
  11777. }
  11778. },
  11779. "404": {
  11780. "description": "Participant not found",
  11781. "content": {
  11782. "application/json": {
  11783. "schema": {
  11784. "type": "object",
  11785. "required": [
  11786. "ocs"
  11787. ],
  11788. "properties": {
  11789. "ocs": {
  11790. "type": "object",
  11791. "required": [
  11792. "meta",
  11793. "data"
  11794. ],
  11795. "properties": {
  11796. "meta": {
  11797. "$ref": "#/components/schemas/OCSMeta"
  11798. },
  11799. "data": {}
  11800. }
  11801. }
  11802. }
  11803. }
  11804. }
  11805. }
  11806. }
  11807. }
  11808. }
  11809. },
  11810. "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/attendees": {
  11811. "delete": {
  11812. "operationId": "room-remove-attendee-from-room",
  11813. "summary": "Remove an attendee from a room",
  11814. "tags": [
  11815. "room"
  11816. ],
  11817. "security": [
  11818. {},
  11819. {
  11820. "bearer_auth": []
  11821. },
  11822. {
  11823. "basic_auth": []
  11824. }
  11825. ],
  11826. "parameters": [
  11827. {
  11828. "name": "attendeeId",
  11829. "in": "query",
  11830. "description": "ID of the attendee",
  11831. "required": true,
  11832. "schema": {
  11833. "type": "integer",
  11834. "format": "int64",
  11835. "minimum": 0
  11836. }
  11837. },
  11838. {
  11839. "name": "apiVersion",
  11840. "in": "path",
  11841. "required": true,
  11842. "schema": {
  11843. "type": "string",
  11844. "enum": [
  11845. "v4"
  11846. ],
  11847. "default": "v4"
  11848. }
  11849. },
  11850. {
  11851. "name": "token",
  11852. "in": "path",
  11853. "required": true,
  11854. "schema": {
  11855. "type": "string",
  11856. "pattern": "^[a-z0-9]{4,30}$"
  11857. }
  11858. },
  11859. {
  11860. "name": "OCS-APIRequest",
  11861. "in": "header",
  11862. "description": "Required to be true for the API request to pass",
  11863. "required": true,
  11864. "schema": {
  11865. "type": "boolean",
  11866. "default": true
  11867. }
  11868. }
  11869. ],
  11870. "responses": {
  11871. "200": {
  11872. "description": "Attendee removed successfully",
  11873. "content": {
  11874. "application/json": {
  11875. "schema": {
  11876. "type": "object",
  11877. "required": [
  11878. "ocs"
  11879. ],
  11880. "properties": {
  11881. "ocs": {
  11882. "type": "object",
  11883. "required": [
  11884. "meta",
  11885. "data"
  11886. ],
  11887. "properties": {
  11888. "meta": {
  11889. "$ref": "#/components/schemas/OCSMeta"
  11890. },
  11891. "data": {}
  11892. }
  11893. }
  11894. }
  11895. }
  11896. }
  11897. }
  11898. },
  11899. "400": {
  11900. "description": "Removing attendee is not possible",
  11901. "content": {
  11902. "application/json": {
  11903. "schema": {
  11904. "type": "object",
  11905. "required": [
  11906. "ocs"
  11907. ],
  11908. "properties": {
  11909. "ocs": {
  11910. "type": "object",
  11911. "required": [
  11912. "meta",
  11913. "data"
  11914. ],
  11915. "properties": {
  11916. "meta": {
  11917. "$ref": "#/components/schemas/OCSMeta"
  11918. },
  11919. "data": {}
  11920. }
  11921. }
  11922. }
  11923. }
  11924. }
  11925. }
  11926. },
  11927. "403": {
  11928. "description": "Removing attendee is not allowed",
  11929. "content": {
  11930. "application/json": {
  11931. "schema": {
  11932. "type": "object",
  11933. "required": [
  11934. "ocs"
  11935. ],
  11936. "properties": {
  11937. "ocs": {
  11938. "type": "object",
  11939. "required": [
  11940. "meta",
  11941. "data"
  11942. ],
  11943. "properties": {
  11944. "meta": {
  11945. "$ref": "#/components/schemas/OCSMeta"
  11946. },
  11947. "data": {}
  11948. }
  11949. }
  11950. }
  11951. }
  11952. }
  11953. }
  11954. },
  11955. "404": {
  11956. "description": "Attendee not found",
  11957. "content": {
  11958. "application/json": {
  11959. "schema": {
  11960. "type": "object",
  11961. "required": [
  11962. "ocs"
  11963. ],
  11964. "properties": {
  11965. "ocs": {
  11966. "type": "object",
  11967. "required": [
  11968. "meta",
  11969. "data"
  11970. ],
  11971. "properties": {
  11972. "meta": {
  11973. "$ref": "#/components/schemas/OCSMeta"
  11974. },
  11975. "data": {}
  11976. }
  11977. }
  11978. }
  11979. }
  11980. }
  11981. }
  11982. }
  11983. }
  11984. }
  11985. },
  11986. "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/attendees/permissions": {
  11987. "put": {
  11988. "operationId": "room-set-attendee-permissions",
  11989. "summary": "Update the permissions of an attendee",
  11990. "tags": [
  11991. "room"
  11992. ],
  11993. "security": [
  11994. {},
  11995. {
  11996. "bearer_auth": []
  11997. },
  11998. {
  11999. "basic_auth": []
  12000. }
  12001. ],
  12002. "parameters": [
  12003. {
  12004. "name": "attendeeId",
  12005. "in": "query",
  12006. "description": "ID of the attendee",
  12007. "required": true,
  12008. "schema": {
  12009. "type": "integer",
  12010. "format": "int64",
  12011. "minimum": 0
  12012. }
  12013. },
  12014. {
  12015. "name": "method",
  12016. "in": "query",
  12017. "description": "Method of updating permissions ('set', 'remove', 'add')",
  12018. "required": true,
  12019. "schema": {
  12020. "type": "string",
  12021. "enum": [
  12022. "set",
  12023. "remove",
  12024. "add"
  12025. ]
  12026. }
  12027. },
  12028. {
  12029. "name": "permissions",
  12030. "in": "query",
  12031. "description": "New permissions",
  12032. "required": true,
  12033. "schema": {
  12034. "type": "integer",
  12035. "format": "int64",
  12036. "minimum": 0,
  12037. "maximum": 255
  12038. }
  12039. },
  12040. {
  12041. "name": "apiVersion",
  12042. "in": "path",
  12043. "required": true,
  12044. "schema": {
  12045. "type": "string",
  12046. "enum": [
  12047. "v4"
  12048. ],
  12049. "default": "v4"
  12050. }
  12051. },
  12052. {
  12053. "name": "token",
  12054. "in": "path",
  12055. "required": true,
  12056. "schema": {
  12057. "type": "string",
  12058. "pattern": "^[a-z0-9]{4,30}$"
  12059. }
  12060. },
  12061. {
  12062. "name": "OCS-APIRequest",
  12063. "in": "header",
  12064. "description": "Required to be true for the API request to pass",
  12065. "required": true,
  12066. "schema": {
  12067. "type": "boolean",
  12068. "default": true
  12069. }
  12070. }
  12071. ],
  12072. "responses": {
  12073. "200": {
  12074. "description": "Permissions updated successfully",
  12075. "content": {
  12076. "application/json": {
  12077. "schema": {
  12078. "type": "object",
  12079. "required": [
  12080. "ocs"
  12081. ],
  12082. "properties": {
  12083. "ocs": {
  12084. "type": "object",
  12085. "required": [
  12086. "meta",
  12087. "data"
  12088. ],
  12089. "properties": {
  12090. "meta": {
  12091. "$ref": "#/components/schemas/OCSMeta"
  12092. },
  12093. "data": {}
  12094. }
  12095. }
  12096. }
  12097. }
  12098. }
  12099. }
  12100. },
  12101. "400": {
  12102. "description": "Updating permissions is not possible",
  12103. "content": {
  12104. "application/json": {
  12105. "schema": {
  12106. "type": "object",
  12107. "required": [
  12108. "ocs"
  12109. ],
  12110. "properties": {
  12111. "ocs": {
  12112. "type": "object",
  12113. "required": [
  12114. "meta",
  12115. "data"
  12116. ],
  12117. "properties": {
  12118. "meta": {
  12119. "$ref": "#/components/schemas/OCSMeta"
  12120. },
  12121. "data": {}
  12122. }
  12123. }
  12124. }
  12125. }
  12126. }
  12127. }
  12128. },
  12129. "403": {
  12130. "description": "Missing permissions to update permissions",
  12131. "content": {
  12132. "application/json": {
  12133. "schema": {
  12134. "type": "object",
  12135. "required": [
  12136. "ocs"
  12137. ],
  12138. "properties": {
  12139. "ocs": {
  12140. "type": "object",
  12141. "required": [
  12142. "meta",
  12143. "data"
  12144. ],
  12145. "properties": {
  12146. "meta": {
  12147. "$ref": "#/components/schemas/OCSMeta"
  12148. },
  12149. "data": {}
  12150. }
  12151. }
  12152. }
  12153. }
  12154. }
  12155. }
  12156. },
  12157. "404": {
  12158. "description": "Attendee not found",
  12159. "content": {
  12160. "application/json": {
  12161. "schema": {
  12162. "type": "object",
  12163. "required": [
  12164. "ocs"
  12165. ],
  12166. "properties": {
  12167. "ocs": {
  12168. "type": "object",
  12169. "required": [
  12170. "meta",
  12171. "data"
  12172. ],
  12173. "properties": {
  12174. "meta": {
  12175. "$ref": "#/components/schemas/OCSMeta"
  12176. },
  12177. "data": {}
  12178. }
  12179. }
  12180. }
  12181. }
  12182. }
  12183. }
  12184. }
  12185. }
  12186. }
  12187. },
  12188. "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/attendees/permissions/all": {
  12189. "put": {
  12190. "operationId": "room-set-all-attendees-permissions",
  12191. "summary": "Update the permissions of all attendees",
  12192. "tags": [
  12193. "room"
  12194. ],
  12195. "security": [
  12196. {},
  12197. {
  12198. "bearer_auth": []
  12199. },
  12200. {
  12201. "basic_auth": []
  12202. }
  12203. ],
  12204. "parameters": [
  12205. {
  12206. "name": "method",
  12207. "in": "query",
  12208. "description": "Method of updating permissions ('set', 'remove', 'add')",
  12209. "required": true,
  12210. "schema": {
  12211. "type": "string",
  12212. "enum": [
  12213. "set",
  12214. "remove",
  12215. "add"
  12216. ]
  12217. }
  12218. },
  12219. {
  12220. "name": "permissions",
  12221. "in": "query",
  12222. "description": "New permissions",
  12223. "required": true,
  12224. "schema": {
  12225. "type": "integer",
  12226. "format": "int64",
  12227. "minimum": 0,
  12228. "maximum": 255
  12229. }
  12230. },
  12231. {
  12232. "name": "apiVersion",
  12233. "in": "path",
  12234. "required": true,
  12235. "schema": {
  12236. "type": "string",
  12237. "enum": [
  12238. "v4"
  12239. ],
  12240. "default": "v4"
  12241. }
  12242. },
  12243. {
  12244. "name": "token",
  12245. "in": "path",
  12246. "required": true,
  12247. "schema": {
  12248. "type": "string",
  12249. "pattern": "^[a-z0-9]{4,30}$"
  12250. }
  12251. },
  12252. {
  12253. "name": "OCS-APIRequest",
  12254. "in": "header",
  12255. "description": "Required to be true for the API request to pass",
  12256. "required": true,
  12257. "schema": {
  12258. "type": "boolean",
  12259. "default": true
  12260. }
  12261. }
  12262. ],
  12263. "responses": {
  12264. "200": {
  12265. "description": "Permissions updated successfully",
  12266. "content": {
  12267. "application/json": {
  12268. "schema": {
  12269. "type": "object",
  12270. "required": [
  12271. "ocs"
  12272. ],
  12273. "properties": {
  12274. "ocs": {
  12275. "type": "object",
  12276. "required": [
  12277. "meta",
  12278. "data"
  12279. ],
  12280. "properties": {
  12281. "meta": {
  12282. "$ref": "#/components/schemas/OCSMeta"
  12283. },
  12284. "data": {
  12285. "$ref": "#/components/schemas/Room"
  12286. }
  12287. }
  12288. }
  12289. }
  12290. }
  12291. }
  12292. }
  12293. },
  12294. "400": {
  12295. "description": "Updating permissions is not possible",
  12296. "content": {
  12297. "application/json": {
  12298. "schema": {
  12299. "type": "object",
  12300. "required": [
  12301. "ocs"
  12302. ],
  12303. "properties": {
  12304. "ocs": {
  12305. "type": "object",
  12306. "required": [
  12307. "meta",
  12308. "data"
  12309. ],
  12310. "properties": {
  12311. "meta": {
  12312. "$ref": "#/components/schemas/OCSMeta"
  12313. },
  12314. "data": {}
  12315. }
  12316. }
  12317. }
  12318. }
  12319. }
  12320. }
  12321. }
  12322. }
  12323. }
  12324. },
  12325. "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/participants/active": {
  12326. "post": {
  12327. "operationId": "room-join-room",
  12328. "summary": "Join a room",
  12329. "tags": [
  12330. "room"
  12331. ],
  12332. "security": [
  12333. {},
  12334. {
  12335. "bearer_auth": []
  12336. },
  12337. {
  12338. "basic_auth": []
  12339. }
  12340. ],
  12341. "parameters": [
  12342. {
  12343. "name": "password",
  12344. "in": "query",
  12345. "description": "Password of the room",
  12346. "schema": {
  12347. "type": "string",
  12348. "default": ""
  12349. }
  12350. },
  12351. {
  12352. "name": "force",
  12353. "in": "query",
  12354. "description": "Create a new session if necessary",
  12355. "schema": {
  12356. "type": "integer",
  12357. "default": 1,
  12358. "enum": [
  12359. 0,
  12360. 1
  12361. ]
  12362. }
  12363. },
  12364. {
  12365. "name": "apiVersion",
  12366. "in": "path",
  12367. "required": true,
  12368. "schema": {
  12369. "type": "string",
  12370. "enum": [
  12371. "v4"
  12372. ],
  12373. "default": "v4"
  12374. }
  12375. },
  12376. {
  12377. "name": "token",
  12378. "in": "path",
  12379. "description": "Token of the room",
  12380. "required": true,
  12381. "schema": {
  12382. "type": "string",
  12383. "pattern": "^[a-z0-9]{4,30}$"
  12384. }
  12385. },
  12386. {
  12387. "name": "OCS-APIRequest",
  12388. "in": "header",
  12389. "description": "Required to be true for the API request to pass",
  12390. "required": true,
  12391. "schema": {
  12392. "type": "boolean",
  12393. "default": true
  12394. }
  12395. }
  12396. ],
  12397. "responses": {
  12398. "200": {
  12399. "description": "Room joined successfully",
  12400. "headers": {
  12401. "X-Nextcloud-Talk-Proxy-Hash": {
  12402. "schema": {
  12403. "type": "string"
  12404. }
  12405. }
  12406. },
  12407. "content": {
  12408. "application/json": {
  12409. "schema": {
  12410. "type": "object",
  12411. "required": [
  12412. "ocs"
  12413. ],
  12414. "properties": {
  12415. "ocs": {
  12416. "type": "object",
  12417. "required": [
  12418. "meta",
  12419. "data"
  12420. ],
  12421. "properties": {
  12422. "meta": {
  12423. "$ref": "#/components/schemas/OCSMeta"
  12424. },
  12425. "data": {
  12426. "$ref": "#/components/schemas/Room"
  12427. }
  12428. }
  12429. }
  12430. }
  12431. }
  12432. }
  12433. }
  12434. },
  12435. "403": {
  12436. "description": "Joining room is not allowed",
  12437. "content": {
  12438. "application/json": {
  12439. "schema": {
  12440. "type": "object",
  12441. "required": [
  12442. "ocs"
  12443. ],
  12444. "properties": {
  12445. "ocs": {
  12446. "type": "object",
  12447. "required": [
  12448. "meta",
  12449. "data"
  12450. ],
  12451. "properties": {
  12452. "meta": {
  12453. "$ref": "#/components/schemas/OCSMeta"
  12454. },
  12455. "data": {}
  12456. }
  12457. }
  12458. }
  12459. }
  12460. }
  12461. }
  12462. },
  12463. "404": {
  12464. "description": "Room not found",
  12465. "content": {
  12466. "application/json": {
  12467. "schema": {
  12468. "type": "object",
  12469. "required": [
  12470. "ocs"
  12471. ],
  12472. "properties": {
  12473. "ocs": {
  12474. "type": "object",
  12475. "required": [
  12476. "meta",
  12477. "data"
  12478. ],
  12479. "properties": {
  12480. "meta": {
  12481. "$ref": "#/components/schemas/OCSMeta"
  12482. },
  12483. "data": {}
  12484. }
  12485. }
  12486. }
  12487. }
  12488. }
  12489. }
  12490. },
  12491. "409": {
  12492. "description": "Session already exists",
  12493. "content": {
  12494. "application/json": {
  12495. "schema": {
  12496. "type": "object",
  12497. "required": [
  12498. "ocs"
  12499. ],
  12500. "properties": {
  12501. "ocs": {
  12502. "type": "object",
  12503. "required": [
  12504. "meta",
  12505. "data"
  12506. ],
  12507. "properties": {
  12508. "meta": {
  12509. "$ref": "#/components/schemas/OCSMeta"
  12510. },
  12511. "data": {
  12512. "type": "object",
  12513. "required": [
  12514. "sessionId",
  12515. "inCall",
  12516. "lastPing"
  12517. ],
  12518. "properties": {
  12519. "sessionId": {
  12520. "type": "string"
  12521. },
  12522. "inCall": {
  12523. "type": "integer",
  12524. "format": "int64"
  12525. },
  12526. "lastPing": {
  12527. "type": "integer",
  12528. "format": "int64"
  12529. }
  12530. }
  12531. }
  12532. }
  12533. }
  12534. }
  12535. }
  12536. }
  12537. }
  12538. }
  12539. }
  12540. },
  12541. "delete": {
  12542. "operationId": "room-leave-room",
  12543. "summary": "Leave a room",
  12544. "tags": [
  12545. "room"
  12546. ],
  12547. "security": [
  12548. {},
  12549. {
  12550. "bearer_auth": []
  12551. },
  12552. {
  12553. "basic_auth": []
  12554. }
  12555. ],
  12556. "parameters": [
  12557. {
  12558. "name": "apiVersion",
  12559. "in": "path",
  12560. "required": true,
  12561. "schema": {
  12562. "type": "string",
  12563. "enum": [
  12564. "v4"
  12565. ],
  12566. "default": "v4"
  12567. }
  12568. },
  12569. {
  12570. "name": "token",
  12571. "in": "path",
  12572. "description": "Token of the room",
  12573. "required": true,
  12574. "schema": {
  12575. "type": "string",
  12576. "pattern": "^[a-z0-9]{4,30}$"
  12577. }
  12578. },
  12579. {
  12580. "name": "OCS-APIRequest",
  12581. "in": "header",
  12582. "description": "Required to be true for the API request to pass",
  12583. "required": true,
  12584. "schema": {
  12585. "type": "boolean",
  12586. "default": true
  12587. }
  12588. }
  12589. ],
  12590. "responses": {
  12591. "200": {
  12592. "description": "Successfully left the room",
  12593. "content": {
  12594. "application/json": {
  12595. "schema": {
  12596. "type": "object",
  12597. "required": [
  12598. "ocs"
  12599. ],
  12600. "properties": {
  12601. "ocs": {
  12602. "type": "object",
  12603. "required": [
  12604. "meta",
  12605. "data"
  12606. ],
  12607. "properties": {
  12608. "meta": {
  12609. "$ref": "#/components/schemas/OCSMeta"
  12610. },
  12611. "data": {}
  12612. }
  12613. }
  12614. }
  12615. }
  12616. }
  12617. }
  12618. }
  12619. }
  12620. }
  12621. },
  12622. "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/participants/resend-invitations": {
  12623. "post": {
  12624. "operationId": "room-resend-invitations",
  12625. "summary": "Resend invitations",
  12626. "tags": [
  12627. "room"
  12628. ],
  12629. "security": [
  12630. {
  12631. "bearer_auth": []
  12632. },
  12633. {
  12634. "basic_auth": []
  12635. }
  12636. ],
  12637. "parameters": [
  12638. {
  12639. "name": "attendeeId",
  12640. "in": "query",
  12641. "description": "ID of the attendee",
  12642. "schema": {
  12643. "type": "integer",
  12644. "format": "int64",
  12645. "nullable": true,
  12646. "minimum": 0
  12647. }
  12648. },
  12649. {
  12650. "name": "apiVersion",
  12651. "in": "path",
  12652. "required": true,
  12653. "schema": {
  12654. "type": "string",
  12655. "enum": [
  12656. "v4"
  12657. ],
  12658. "default": "v4"
  12659. }
  12660. },
  12661. {
  12662. "name": "token",
  12663. "in": "path",
  12664. "required": true,
  12665. "schema": {
  12666. "type": "string",
  12667. "pattern": "^[a-z0-9]{4,30}$"
  12668. }
  12669. },
  12670. {
  12671. "name": "OCS-APIRequest",
  12672. "in": "header",
  12673. "description": "Required to be true for the API request to pass",
  12674. "required": true,
  12675. "schema": {
  12676. "type": "boolean",
  12677. "default": true
  12678. }
  12679. }
  12680. ],
  12681. "responses": {
  12682. "200": {
  12683. "description": "Invitation resent successfully",
  12684. "content": {
  12685. "application/json": {
  12686. "schema": {
  12687. "type": "object",
  12688. "required": [
  12689. "ocs"
  12690. ],
  12691. "properties": {
  12692. "ocs": {
  12693. "type": "object",
  12694. "required": [
  12695. "meta",
  12696. "data"
  12697. ],
  12698. "properties": {
  12699. "meta": {
  12700. "$ref": "#/components/schemas/OCSMeta"
  12701. },
  12702. "data": {}
  12703. }
  12704. }
  12705. }
  12706. }
  12707. }
  12708. }
  12709. },
  12710. "404": {
  12711. "description": "Attendee not found",
  12712. "content": {
  12713. "application/json": {
  12714. "schema": {
  12715. "type": "object",
  12716. "required": [
  12717. "ocs"
  12718. ],
  12719. "properties": {
  12720. "ocs": {
  12721. "type": "object",
  12722. "required": [
  12723. "meta",
  12724. "data"
  12725. ],
  12726. "properties": {
  12727. "meta": {
  12728. "$ref": "#/components/schemas/OCSMeta"
  12729. },
  12730. "data": {}
  12731. }
  12732. }
  12733. }
  12734. }
  12735. }
  12736. }
  12737. }
  12738. }
  12739. }
  12740. },
  12741. "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/participants/state": {
  12742. "put": {
  12743. "operationId": "room-set-session-state",
  12744. "summary": "Set active state for a session",
  12745. "tags": [
  12746. "room"
  12747. ],
  12748. "security": [
  12749. {},
  12750. {
  12751. "bearer_auth": []
  12752. },
  12753. {
  12754. "basic_auth": []
  12755. }
  12756. ],
  12757. "parameters": [
  12758. {
  12759. "name": "state",
  12760. "in": "query",
  12761. "description": "of the room",
  12762. "required": true,
  12763. "schema": {
  12764. "type": "integer",
  12765. "format": "int64",
  12766. "enum": [
  12767. 0,
  12768. 1
  12769. ]
  12770. }
  12771. },
  12772. {
  12773. "name": "apiVersion",
  12774. "in": "path",
  12775. "required": true,
  12776. "schema": {
  12777. "type": "string",
  12778. "enum": [
  12779. "v4"
  12780. ],
  12781. "default": "v4"
  12782. }
  12783. },
  12784. {
  12785. "name": "token",
  12786. "in": "path",
  12787. "required": true,
  12788. "schema": {
  12789. "type": "string",
  12790. "pattern": "^[a-z0-9]{4,30}$"
  12791. }
  12792. },
  12793. {
  12794. "name": "OCS-APIRequest",
  12795. "in": "header",
  12796. "description": "Required to be true for the API request to pass",
  12797. "required": true,
  12798. "schema": {
  12799. "type": "boolean",
  12800. "default": true
  12801. }
  12802. }
  12803. ],
  12804. "responses": {
  12805. "200": {
  12806. "description": "Session state set successfully",
  12807. "content": {
  12808. "application/json": {
  12809. "schema": {
  12810. "type": "object",
  12811. "required": [
  12812. "ocs"
  12813. ],
  12814. "properties": {
  12815. "ocs": {
  12816. "type": "object",
  12817. "required": [
  12818. "meta",
  12819. "data"
  12820. ],
  12821. "properties": {
  12822. "meta": {
  12823. "$ref": "#/components/schemas/OCSMeta"
  12824. },
  12825. "data": {
  12826. "$ref": "#/components/schemas/Room"
  12827. }
  12828. }
  12829. }
  12830. }
  12831. }
  12832. }
  12833. }
  12834. },
  12835. "400": {
  12836. "description": "The provided new state was invalid",
  12837. "content": {
  12838. "application/json": {
  12839. "schema": {
  12840. "type": "object",
  12841. "required": [
  12842. "ocs"
  12843. ],
  12844. "properties": {
  12845. "ocs": {
  12846. "type": "object",
  12847. "required": [
  12848. "meta",
  12849. "data"
  12850. ],
  12851. "properties": {
  12852. "meta": {
  12853. "$ref": "#/components/schemas/OCSMeta"
  12854. },
  12855. "data": {}
  12856. }
  12857. }
  12858. }
  12859. }
  12860. }
  12861. }
  12862. },
  12863. "404": {
  12864. "description": "The participant did not have a session",
  12865. "content": {
  12866. "application/json": {
  12867. "schema": {
  12868. "type": "object",
  12869. "required": [
  12870. "ocs"
  12871. ],
  12872. "properties": {
  12873. "ocs": {
  12874. "type": "object",
  12875. "required": [
  12876. "meta",
  12877. "data"
  12878. ],
  12879. "properties": {
  12880. "meta": {
  12881. "$ref": "#/components/schemas/OCSMeta"
  12882. },
  12883. "data": {}
  12884. }
  12885. }
  12886. }
  12887. }
  12888. }
  12889. }
  12890. }
  12891. }
  12892. }
  12893. },
  12894. "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/moderators": {
  12895. "post": {
  12896. "operationId": "room-promote-moderator",
  12897. "summary": "Promote an attendee to moderator",
  12898. "tags": [
  12899. "room"
  12900. ],
  12901. "security": [
  12902. {},
  12903. {
  12904. "bearer_auth": []
  12905. },
  12906. {
  12907. "basic_auth": []
  12908. }
  12909. ],
  12910. "parameters": [
  12911. {
  12912. "name": "attendeeId",
  12913. "in": "query",
  12914. "description": "ID of the attendee",
  12915. "required": true,
  12916. "schema": {
  12917. "type": "integer",
  12918. "format": "int64",
  12919. "minimum": 0
  12920. }
  12921. },
  12922. {
  12923. "name": "apiVersion",
  12924. "in": "path",
  12925. "required": true,
  12926. "schema": {
  12927. "type": "string",
  12928. "enum": [
  12929. "v4"
  12930. ],
  12931. "default": "v4"
  12932. }
  12933. },
  12934. {
  12935. "name": "token",
  12936. "in": "path",
  12937. "required": true,
  12938. "schema": {
  12939. "type": "string",
  12940. "pattern": "^[a-z0-9]{4,30}$"
  12941. }
  12942. },
  12943. {
  12944. "name": "OCS-APIRequest",
  12945. "in": "header",
  12946. "description": "Required to be true for the API request to pass",
  12947. "required": true,
  12948. "schema": {
  12949. "type": "boolean",
  12950. "default": true
  12951. }
  12952. }
  12953. ],
  12954. "responses": {
  12955. "200": {
  12956. "description": "Attendee promoted to moderator successfully",
  12957. "content": {
  12958. "application/json": {
  12959. "schema": {
  12960. "type": "object",
  12961. "required": [
  12962. "ocs"
  12963. ],
  12964. "properties": {
  12965. "ocs": {
  12966. "type": "object",
  12967. "required": [
  12968. "meta",
  12969. "data"
  12970. ],
  12971. "properties": {
  12972. "meta": {
  12973. "$ref": "#/components/schemas/OCSMeta"
  12974. },
  12975. "data": {}
  12976. }
  12977. }
  12978. }
  12979. }
  12980. }
  12981. }
  12982. },
  12983. "400": {
  12984. "description": "Promoting attendee to moderator is not possible",
  12985. "content": {
  12986. "application/json": {
  12987. "schema": {
  12988. "type": "object",
  12989. "required": [
  12990. "ocs"
  12991. ],
  12992. "properties": {
  12993. "ocs": {
  12994. "type": "object",
  12995. "required": [
  12996. "meta",
  12997. "data"
  12998. ],
  12999. "properties": {
  13000. "meta": {
  13001. "$ref": "#/components/schemas/OCSMeta"
  13002. },
  13003. "data": {}
  13004. }
  13005. }
  13006. }
  13007. }
  13008. }
  13009. }
  13010. },
  13011. "403": {
  13012. "description": "Promoting attendee to moderator is not allowed",
  13013. "content": {
  13014. "application/json": {
  13015. "schema": {
  13016. "type": "object",
  13017. "required": [
  13018. "ocs"
  13019. ],
  13020. "properties": {
  13021. "ocs": {
  13022. "type": "object",
  13023. "required": [
  13024. "meta",
  13025. "data"
  13026. ],
  13027. "properties": {
  13028. "meta": {
  13029. "$ref": "#/components/schemas/OCSMeta"
  13030. },
  13031. "data": {}
  13032. }
  13033. }
  13034. }
  13035. }
  13036. }
  13037. }
  13038. },
  13039. "404": {
  13040. "description": "Attendee not found",
  13041. "content": {
  13042. "application/json": {
  13043. "schema": {
  13044. "type": "object",
  13045. "required": [
  13046. "ocs"
  13047. ],
  13048. "properties": {
  13049. "ocs": {
  13050. "type": "object",
  13051. "required": [
  13052. "meta",
  13053. "data"
  13054. ],
  13055. "properties": {
  13056. "meta": {
  13057. "$ref": "#/components/schemas/OCSMeta"
  13058. },
  13059. "data": {}
  13060. }
  13061. }
  13062. }
  13063. }
  13064. }
  13065. }
  13066. }
  13067. }
  13068. },
  13069. "delete": {
  13070. "operationId": "room-demote-moderator",
  13071. "summary": "Demote an attendee from moderator",
  13072. "tags": [
  13073. "room"
  13074. ],
  13075. "security": [
  13076. {},
  13077. {
  13078. "bearer_auth": []
  13079. },
  13080. {
  13081. "basic_auth": []
  13082. }
  13083. ],
  13084. "parameters": [
  13085. {
  13086. "name": "attendeeId",
  13087. "in": "query",
  13088. "description": "ID of the attendee",
  13089. "required": true,
  13090. "schema": {
  13091. "type": "integer",
  13092. "format": "int64",
  13093. "minimum": 0
  13094. }
  13095. },
  13096. {
  13097. "name": "apiVersion",
  13098. "in": "path",
  13099. "required": true,
  13100. "schema": {
  13101. "type": "string",
  13102. "enum": [
  13103. "v4"
  13104. ],
  13105. "default": "v4"
  13106. }
  13107. },
  13108. {
  13109. "name": "token",
  13110. "in": "path",
  13111. "required": true,
  13112. "schema": {
  13113. "type": "string",
  13114. "pattern": "^[a-z0-9]{4,30}$"
  13115. }
  13116. },
  13117. {
  13118. "name": "OCS-APIRequest",
  13119. "in": "header",
  13120. "description": "Required to be true for the API request to pass",
  13121. "required": true,
  13122. "schema": {
  13123. "type": "boolean",
  13124. "default": true
  13125. }
  13126. }
  13127. ],
  13128. "responses": {
  13129. "200": {
  13130. "description": "Attendee demoted from moderator successfully",
  13131. "content": {
  13132. "application/json": {
  13133. "schema": {
  13134. "type": "object",
  13135. "required": [
  13136. "ocs"
  13137. ],
  13138. "properties": {
  13139. "ocs": {
  13140. "type": "object",
  13141. "required": [
  13142. "meta",
  13143. "data"
  13144. ],
  13145. "properties": {
  13146. "meta": {
  13147. "$ref": "#/components/schemas/OCSMeta"
  13148. },
  13149. "data": {}
  13150. }
  13151. }
  13152. }
  13153. }
  13154. }
  13155. }
  13156. },
  13157. "400": {
  13158. "description": "Demoting attendee from moderator is not possible",
  13159. "content": {
  13160. "application/json": {
  13161. "schema": {
  13162. "type": "object",
  13163. "required": [
  13164. "ocs"
  13165. ],
  13166. "properties": {
  13167. "ocs": {
  13168. "type": "object",
  13169. "required": [
  13170. "meta",
  13171. "data"
  13172. ],
  13173. "properties": {
  13174. "meta": {
  13175. "$ref": "#/components/schemas/OCSMeta"
  13176. },
  13177. "data": {}
  13178. }
  13179. }
  13180. }
  13181. }
  13182. }
  13183. }
  13184. },
  13185. "403": {
  13186. "description": "Demoting attendee from moderator is not allowed",
  13187. "content": {
  13188. "application/json": {
  13189. "schema": {
  13190. "type": "object",
  13191. "required": [
  13192. "ocs"
  13193. ],
  13194. "properties": {
  13195. "ocs": {
  13196. "type": "object",
  13197. "required": [
  13198. "meta",
  13199. "data"
  13200. ],
  13201. "properties": {
  13202. "meta": {
  13203. "$ref": "#/components/schemas/OCSMeta"
  13204. },
  13205. "data": {}
  13206. }
  13207. }
  13208. }
  13209. }
  13210. }
  13211. }
  13212. },
  13213. "404": {
  13214. "description": "Attendee not found",
  13215. "content": {
  13216. "application/json": {
  13217. "schema": {
  13218. "type": "object",
  13219. "required": [
  13220. "ocs"
  13221. ],
  13222. "properties": {
  13223. "ocs": {
  13224. "type": "object",
  13225. "required": [
  13226. "meta",
  13227. "data"
  13228. ],
  13229. "properties": {
  13230. "meta": {
  13231. "$ref": "#/components/schemas/OCSMeta"
  13232. },
  13233. "data": {}
  13234. }
  13235. }
  13236. }
  13237. }
  13238. }
  13239. }
  13240. }
  13241. }
  13242. }
  13243. },
  13244. "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/favorite": {
  13245. "post": {
  13246. "operationId": "room-add-to-favorites",
  13247. "summary": "Add a room to the favorites",
  13248. "tags": [
  13249. "room"
  13250. ],
  13251. "security": [
  13252. {
  13253. "bearer_auth": []
  13254. },
  13255. {
  13256. "basic_auth": []
  13257. }
  13258. ],
  13259. "parameters": [
  13260. {
  13261. "name": "apiVersion",
  13262. "in": "path",
  13263. "required": true,
  13264. "schema": {
  13265. "type": "string",
  13266. "enum": [
  13267. "v4"
  13268. ],
  13269. "default": "v4"
  13270. }
  13271. },
  13272. {
  13273. "name": "token",
  13274. "in": "path",
  13275. "required": true,
  13276. "schema": {
  13277. "type": "string",
  13278. "pattern": "^[a-z0-9]{4,30}$"
  13279. }
  13280. },
  13281. {
  13282. "name": "OCS-APIRequest",
  13283. "in": "header",
  13284. "description": "Required to be true for the API request to pass",
  13285. "required": true,
  13286. "schema": {
  13287. "type": "boolean",
  13288. "default": true
  13289. }
  13290. }
  13291. ],
  13292. "responses": {
  13293. "200": {
  13294. "description": "Successfully added room to favorites",
  13295. "content": {
  13296. "application/json": {
  13297. "schema": {
  13298. "type": "object",
  13299. "required": [
  13300. "ocs"
  13301. ],
  13302. "properties": {
  13303. "ocs": {
  13304. "type": "object",
  13305. "required": [
  13306. "meta",
  13307. "data"
  13308. ],
  13309. "properties": {
  13310. "meta": {
  13311. "$ref": "#/components/schemas/OCSMeta"
  13312. },
  13313. "data": {}
  13314. }
  13315. }
  13316. }
  13317. }
  13318. }
  13319. }
  13320. }
  13321. }
  13322. },
  13323. "delete": {
  13324. "operationId": "room-remove-from-favorites",
  13325. "summary": "Remove a room from the favorites",
  13326. "tags": [
  13327. "room"
  13328. ],
  13329. "security": [
  13330. {
  13331. "bearer_auth": []
  13332. },
  13333. {
  13334. "basic_auth": []
  13335. }
  13336. ],
  13337. "parameters": [
  13338. {
  13339. "name": "apiVersion",
  13340. "in": "path",
  13341. "required": true,
  13342. "schema": {
  13343. "type": "string",
  13344. "enum": [
  13345. "v4"
  13346. ],
  13347. "default": "v4"
  13348. }
  13349. },
  13350. {
  13351. "name": "token",
  13352. "in": "path",
  13353. "required": true,
  13354. "schema": {
  13355. "type": "string",
  13356. "pattern": "^[a-z0-9]{4,30}$"
  13357. }
  13358. },
  13359. {
  13360. "name": "OCS-APIRequest",
  13361. "in": "header",
  13362. "description": "Required to be true for the API request to pass",
  13363. "required": true,
  13364. "schema": {
  13365. "type": "boolean",
  13366. "default": true
  13367. }
  13368. }
  13369. ],
  13370. "responses": {
  13371. "200": {
  13372. "description": "Successfully removed room from favorites",
  13373. "content": {
  13374. "application/json": {
  13375. "schema": {
  13376. "type": "object",
  13377. "required": [
  13378. "ocs"
  13379. ],
  13380. "properties": {
  13381. "ocs": {
  13382. "type": "object",
  13383. "required": [
  13384. "meta",
  13385. "data"
  13386. ],
  13387. "properties": {
  13388. "meta": {
  13389. "$ref": "#/components/schemas/OCSMeta"
  13390. },
  13391. "data": {}
  13392. }
  13393. }
  13394. }
  13395. }
  13396. }
  13397. }
  13398. }
  13399. }
  13400. }
  13401. },
  13402. "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/notify": {
  13403. "post": {
  13404. "operationId": "room-set-notification-level",
  13405. "summary": "Update the notification level for a room",
  13406. "tags": [
  13407. "room"
  13408. ],
  13409. "security": [
  13410. {
  13411. "bearer_auth": []
  13412. },
  13413. {
  13414. "basic_auth": []
  13415. }
  13416. ],
  13417. "parameters": [
  13418. {
  13419. "name": "level",
  13420. "in": "query",
  13421. "description": "New level",
  13422. "required": true,
  13423. "schema": {
  13424. "type": "integer",
  13425. "format": "int64"
  13426. }
  13427. },
  13428. {
  13429. "name": "apiVersion",
  13430. "in": "path",
  13431. "required": true,
  13432. "schema": {
  13433. "type": "string",
  13434. "enum": [
  13435. "v4"
  13436. ],
  13437. "default": "v4"
  13438. }
  13439. },
  13440. {
  13441. "name": "token",
  13442. "in": "path",
  13443. "required": true,
  13444. "schema": {
  13445. "type": "string",
  13446. "pattern": "^[a-z0-9]{4,30}$"
  13447. }
  13448. },
  13449. {
  13450. "name": "OCS-APIRequest",
  13451. "in": "header",
  13452. "description": "Required to be true for the API request to pass",
  13453. "required": true,
  13454. "schema": {
  13455. "type": "boolean",
  13456. "default": true
  13457. }
  13458. }
  13459. ],
  13460. "responses": {
  13461. "200": {
  13462. "description": "Notification level updated successfully",
  13463. "content": {
  13464. "application/json": {
  13465. "schema": {
  13466. "type": "object",
  13467. "required": [
  13468. "ocs"
  13469. ],
  13470. "properties": {
  13471. "ocs": {
  13472. "type": "object",
  13473. "required": [
  13474. "meta",
  13475. "data"
  13476. ],
  13477. "properties": {
  13478. "meta": {
  13479. "$ref": "#/components/schemas/OCSMeta"
  13480. },
  13481. "data": {}
  13482. }
  13483. }
  13484. }
  13485. }
  13486. }
  13487. }
  13488. },
  13489. "400": {
  13490. "description": "Updating notification level is not possible",
  13491. "content": {
  13492. "application/json": {
  13493. "schema": {
  13494. "type": "object",
  13495. "required": [
  13496. "ocs"
  13497. ],
  13498. "properties": {
  13499. "ocs": {
  13500. "type": "object",
  13501. "required": [
  13502. "meta",
  13503. "data"
  13504. ],
  13505. "properties": {
  13506. "meta": {
  13507. "$ref": "#/components/schemas/OCSMeta"
  13508. },
  13509. "data": {}
  13510. }
  13511. }
  13512. }
  13513. }
  13514. }
  13515. }
  13516. }
  13517. }
  13518. }
  13519. },
  13520. "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/notify-calls": {
  13521. "post": {
  13522. "operationId": "room-set-notification-calls",
  13523. "summary": "Update call notifications",
  13524. "tags": [
  13525. "room"
  13526. ],
  13527. "security": [
  13528. {
  13529. "bearer_auth": []
  13530. },
  13531. {
  13532. "basic_auth": []
  13533. }
  13534. ],
  13535. "parameters": [
  13536. {
  13537. "name": "level",
  13538. "in": "query",
  13539. "description": "New level",
  13540. "required": true,
  13541. "schema": {
  13542. "type": "integer",
  13543. "format": "int64"
  13544. }
  13545. },
  13546. {
  13547. "name": "apiVersion",
  13548. "in": "path",
  13549. "required": true,
  13550. "schema": {
  13551. "type": "string",
  13552. "enum": [
  13553. "v4"
  13554. ],
  13555. "default": "v4"
  13556. }
  13557. },
  13558. {
  13559. "name": "token",
  13560. "in": "path",
  13561. "required": true,
  13562. "schema": {
  13563. "type": "string",
  13564. "pattern": "^[a-z0-9]{4,30}$"
  13565. }
  13566. },
  13567. {
  13568. "name": "OCS-APIRequest",
  13569. "in": "header",
  13570. "description": "Required to be true for the API request to pass",
  13571. "required": true,
  13572. "schema": {
  13573. "type": "boolean",
  13574. "default": true
  13575. }
  13576. }
  13577. ],
  13578. "responses": {
  13579. "200": {
  13580. "description": "Call notification level updated successfully",
  13581. "content": {
  13582. "application/json": {
  13583. "schema": {
  13584. "type": "object",
  13585. "required": [
  13586. "ocs"
  13587. ],
  13588. "properties": {
  13589. "ocs": {
  13590. "type": "object",
  13591. "required": [
  13592. "meta",
  13593. "data"
  13594. ],
  13595. "properties": {
  13596. "meta": {
  13597. "$ref": "#/components/schemas/OCSMeta"
  13598. },
  13599. "data": {}
  13600. }
  13601. }
  13602. }
  13603. }
  13604. }
  13605. }
  13606. },
  13607. "400": {
  13608. "description": "Updating call notification level is not possible",
  13609. "content": {
  13610. "application/json": {
  13611. "schema": {
  13612. "type": "object",
  13613. "required": [
  13614. "ocs"
  13615. ],
  13616. "properties": {
  13617. "ocs": {
  13618. "type": "object",
  13619. "required": [
  13620. "meta",
  13621. "data"
  13622. ],
  13623. "properties": {
  13624. "meta": {
  13625. "$ref": "#/components/schemas/OCSMeta"
  13626. },
  13627. "data": {}
  13628. }
  13629. }
  13630. }
  13631. }
  13632. }
  13633. }
  13634. }
  13635. }
  13636. }
  13637. },
  13638. "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/webinar/lobby": {
  13639. "put": {
  13640. "operationId": "room-set-lobby",
  13641. "summary": "Update the lobby state for a room",
  13642. "tags": [
  13643. "room"
  13644. ],
  13645. "security": [
  13646. {
  13647. "bearer_auth": []
  13648. },
  13649. {
  13650. "basic_auth": []
  13651. }
  13652. ],
  13653. "parameters": [
  13654. {
  13655. "name": "state",
  13656. "in": "query",
  13657. "description": "New state",
  13658. "required": true,
  13659. "schema": {
  13660. "type": "integer",
  13661. "format": "int64"
  13662. }
  13663. },
  13664. {
  13665. "name": "timer",
  13666. "in": "query",
  13667. "description": "Timer when the lobby will be removed",
  13668. "schema": {
  13669. "type": "integer",
  13670. "format": "int64",
  13671. "nullable": true,
  13672. "minimum": 0
  13673. }
  13674. },
  13675. {
  13676. "name": "apiVersion",
  13677. "in": "path",
  13678. "required": true,
  13679. "schema": {
  13680. "type": "string",
  13681. "enum": [
  13682. "v4"
  13683. ],
  13684. "default": "v4"
  13685. }
  13686. },
  13687. {
  13688. "name": "token",
  13689. "in": "path",
  13690. "required": true,
  13691. "schema": {
  13692. "type": "string",
  13693. "pattern": "^[a-z0-9]{4,30}$"
  13694. }
  13695. },
  13696. {
  13697. "name": "OCS-APIRequest",
  13698. "in": "header",
  13699. "description": "Required to be true for the API request to pass",
  13700. "required": true,
  13701. "schema": {
  13702. "type": "boolean",
  13703. "default": true
  13704. }
  13705. }
  13706. ],
  13707. "responses": {
  13708. "200": {
  13709. "description": "Lobby state updated successfully",
  13710. "content": {
  13711. "application/json": {
  13712. "schema": {
  13713. "type": "object",
  13714. "required": [
  13715. "ocs"
  13716. ],
  13717. "properties": {
  13718. "ocs": {
  13719. "type": "object",
  13720. "required": [
  13721. "meta",
  13722. "data"
  13723. ],
  13724. "properties": {
  13725. "meta": {
  13726. "$ref": "#/components/schemas/OCSMeta"
  13727. },
  13728. "data": {
  13729. "$ref": "#/components/schemas/Room"
  13730. }
  13731. }
  13732. }
  13733. }
  13734. }
  13735. }
  13736. }
  13737. },
  13738. "400": {
  13739. "description": "Updating lobby state is not possible",
  13740. "content": {
  13741. "application/json": {
  13742. "schema": {
  13743. "type": "object",
  13744. "required": [
  13745. "ocs"
  13746. ],
  13747. "properties": {
  13748. "ocs": {
  13749. "type": "object",
  13750. "required": [
  13751. "meta",
  13752. "data"
  13753. ],
  13754. "properties": {
  13755. "meta": {
  13756. "$ref": "#/components/schemas/OCSMeta"
  13757. },
  13758. "data": {}
  13759. }
  13760. }
  13761. }
  13762. }
  13763. }
  13764. }
  13765. }
  13766. }
  13767. }
  13768. },
  13769. "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/webinar/sip": {
  13770. "put": {
  13771. "operationId": "room-setsip-enabled",
  13772. "summary": "Update SIP enabled state",
  13773. "tags": [
  13774. "room"
  13775. ],
  13776. "security": [
  13777. {
  13778. "bearer_auth": []
  13779. },
  13780. {
  13781. "basic_auth": []
  13782. }
  13783. ],
  13784. "parameters": [
  13785. {
  13786. "name": "state",
  13787. "in": "query",
  13788. "description": "New state",
  13789. "required": true,
  13790. "schema": {
  13791. "type": "integer",
  13792. "format": "int64",
  13793. "enum": [
  13794. 0,
  13795. 1,
  13796. 2
  13797. ]
  13798. }
  13799. },
  13800. {
  13801. "name": "apiVersion",
  13802. "in": "path",
  13803. "required": true,
  13804. "schema": {
  13805. "type": "string",
  13806. "enum": [
  13807. "v4"
  13808. ],
  13809. "default": "v4"
  13810. }
  13811. },
  13812. {
  13813. "name": "token",
  13814. "in": "path",
  13815. "required": true,
  13816. "schema": {
  13817. "type": "string",
  13818. "pattern": "^[a-z0-9]{4,30}$"
  13819. }
  13820. },
  13821. {
  13822. "name": "OCS-APIRequest",
  13823. "in": "header",
  13824. "description": "Required to be true for the API request to pass",
  13825. "required": true,
  13826. "schema": {
  13827. "type": "boolean",
  13828. "default": true
  13829. }
  13830. }
  13831. ],
  13832. "responses": {
  13833. "200": {
  13834. "description": "SIP enabled state updated successfully",
  13835. "content": {
  13836. "application/json": {
  13837. "schema": {
  13838. "type": "object",
  13839. "required": [
  13840. "ocs"
  13841. ],
  13842. "properties": {
  13843. "ocs": {
  13844. "type": "object",
  13845. "required": [
  13846. "meta",
  13847. "data"
  13848. ],
  13849. "properties": {
  13850. "meta": {
  13851. "$ref": "#/components/schemas/OCSMeta"
  13852. },
  13853. "data": {
  13854. "$ref": "#/components/schemas/Room"
  13855. }
  13856. }
  13857. }
  13858. }
  13859. }
  13860. }
  13861. }
  13862. },
  13863. "400": {
  13864. "description": "Updating SIP enabled state is not possible",
  13865. "content": {
  13866. "application/json": {
  13867. "schema": {
  13868. "type": "object",
  13869. "required": [
  13870. "ocs"
  13871. ],
  13872. "properties": {
  13873. "ocs": {
  13874. "type": "object",
  13875. "required": [
  13876. "meta",
  13877. "data"
  13878. ],
  13879. "properties": {
  13880. "meta": {
  13881. "$ref": "#/components/schemas/OCSMeta"
  13882. },
  13883. "data": {}
  13884. }
  13885. }
  13886. }
  13887. }
  13888. }
  13889. }
  13890. },
  13891. "401": {
  13892. "description": "User not found",
  13893. "content": {
  13894. "application/json": {
  13895. "schema": {
  13896. "type": "object",
  13897. "required": [
  13898. "ocs"
  13899. ],
  13900. "properties": {
  13901. "ocs": {
  13902. "type": "object",
  13903. "required": [
  13904. "meta",
  13905. "data"
  13906. ],
  13907. "properties": {
  13908. "meta": {
  13909. "$ref": "#/components/schemas/OCSMeta"
  13910. },
  13911. "data": {}
  13912. }
  13913. }
  13914. }
  13915. }
  13916. }
  13917. }
  13918. },
  13919. "403": {
  13920. "description": "Missing permissions to update SIP enabled state",
  13921. "content": {
  13922. "application/json": {
  13923. "schema": {
  13924. "type": "object",
  13925. "required": [
  13926. "ocs"
  13927. ],
  13928. "properties": {
  13929. "ocs": {
  13930. "type": "object",
  13931. "required": [
  13932. "meta",
  13933. "data"
  13934. ],
  13935. "properties": {
  13936. "meta": {
  13937. "$ref": "#/components/schemas/OCSMeta"
  13938. },
  13939. "data": {}
  13940. }
  13941. }
  13942. }
  13943. }
  13944. }
  13945. }
  13946. },
  13947. "412": {
  13948. "description": "SIP not configured",
  13949. "content": {
  13950. "application/json": {
  13951. "schema": {
  13952. "type": "object",
  13953. "required": [
  13954. "ocs"
  13955. ],
  13956. "properties": {
  13957. "ocs": {
  13958. "type": "object",
  13959. "required": [
  13960. "meta",
  13961. "data"
  13962. ],
  13963. "properties": {
  13964. "meta": {
  13965. "$ref": "#/components/schemas/OCSMeta"
  13966. },
  13967. "data": {}
  13968. }
  13969. }
  13970. }
  13971. }
  13972. }
  13973. }
  13974. }
  13975. }
  13976. }
  13977. },
  13978. "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/recording-consent": {
  13979. "put": {
  13980. "operationId": "room-set-recording-consent",
  13981. "summary": "Set recording consent requirement for this conversation",
  13982. "tags": [
  13983. "room"
  13984. ],
  13985. "security": [
  13986. {
  13987. "bearer_auth": []
  13988. },
  13989. {
  13990. "basic_auth": []
  13991. }
  13992. ],
  13993. "parameters": [
  13994. {
  13995. "name": "recordingConsent",
  13996. "in": "query",
  13997. "description": "New consent setting for the conversation (Only {@see RecordingService::CONSENT_REQUIRED_NO} and {@see RecordingService::CONSENT_REQUIRED_YES} are allowed here.)",
  13998. "required": true,
  13999. "schema": {
  14000. "type": "integer",
  14001. "format": "int64"
  14002. }
  14003. },
  14004. {
  14005. "name": "apiVersion",
  14006. "in": "path",
  14007. "required": true,
  14008. "schema": {
  14009. "type": "string",
  14010. "enum": [
  14011. "v4"
  14012. ],
  14013. "default": "v4"
  14014. }
  14015. },
  14016. {
  14017. "name": "token",
  14018. "in": "path",
  14019. "required": true,
  14020. "schema": {
  14021. "type": "string",
  14022. "pattern": "^[a-z0-9]{4,30}$"
  14023. }
  14024. },
  14025. {
  14026. "name": "OCS-APIRequest",
  14027. "in": "header",
  14028. "description": "Required to be true for the API request to pass",
  14029. "required": true,
  14030. "schema": {
  14031. "type": "boolean",
  14032. "default": true
  14033. }
  14034. }
  14035. ],
  14036. "responses": {
  14037. "200": {
  14038. "description": "Recording consent requirement set successfully",
  14039. "content": {
  14040. "application/json": {
  14041. "schema": {
  14042. "type": "object",
  14043. "required": [
  14044. "ocs"
  14045. ],
  14046. "properties": {
  14047. "ocs": {
  14048. "type": "object",
  14049. "required": [
  14050. "meta",
  14051. "data"
  14052. ],
  14053. "properties": {
  14054. "meta": {
  14055. "$ref": "#/components/schemas/OCSMeta"
  14056. },
  14057. "data": {
  14058. "$ref": "#/components/schemas/Room"
  14059. }
  14060. }
  14061. }
  14062. }
  14063. }
  14064. }
  14065. }
  14066. },
  14067. "400": {
  14068. "description": "Setting recording consent requirement is not possible",
  14069. "content": {
  14070. "application/json": {
  14071. "schema": {
  14072. "type": "object",
  14073. "required": [
  14074. "ocs"
  14075. ],
  14076. "properties": {
  14077. "ocs": {
  14078. "type": "object",
  14079. "required": [
  14080. "meta",
  14081. "data"
  14082. ],
  14083. "properties": {
  14084. "meta": {
  14085. "$ref": "#/components/schemas/OCSMeta"
  14086. },
  14087. "data": {
  14088. "type": "object",
  14089. "required": [
  14090. "error"
  14091. ],
  14092. "properties": {
  14093. "error": {
  14094. "type": "string"
  14095. }
  14096. }
  14097. }
  14098. }
  14099. }
  14100. }
  14101. }
  14102. }
  14103. }
  14104. },
  14105. "412": {
  14106. "description": "No recording server is configured",
  14107. "content": {
  14108. "application/json": {
  14109. "schema": {
  14110. "type": "object",
  14111. "required": [
  14112. "ocs"
  14113. ],
  14114. "properties": {
  14115. "ocs": {
  14116. "type": "object",
  14117. "required": [
  14118. "meta",
  14119. "data"
  14120. ],
  14121. "properties": {
  14122. "meta": {
  14123. "$ref": "#/components/schemas/OCSMeta"
  14124. },
  14125. "data": {}
  14126. }
  14127. }
  14128. }
  14129. }
  14130. }
  14131. }
  14132. }
  14133. }
  14134. }
  14135. },
  14136. "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/message-expiration": {
  14137. "post": {
  14138. "operationId": "room-set-message-expiration",
  14139. "summary": "Update message expiration time",
  14140. "tags": [
  14141. "room"
  14142. ],
  14143. "security": [
  14144. {},
  14145. {
  14146. "bearer_auth": []
  14147. },
  14148. {
  14149. "basic_auth": []
  14150. }
  14151. ],
  14152. "parameters": [
  14153. {
  14154. "name": "seconds",
  14155. "in": "query",
  14156. "description": "New time",
  14157. "required": true,
  14158. "schema": {
  14159. "type": "integer",
  14160. "format": "int64",
  14161. "minimum": 0
  14162. }
  14163. },
  14164. {
  14165. "name": "apiVersion",
  14166. "in": "path",
  14167. "required": true,
  14168. "schema": {
  14169. "type": "string",
  14170. "enum": [
  14171. "v4"
  14172. ],
  14173. "default": "v4"
  14174. }
  14175. },
  14176. {
  14177. "name": "token",
  14178. "in": "path",
  14179. "required": true,
  14180. "schema": {
  14181. "type": "string",
  14182. "pattern": "^[a-z0-9]{4,30}$"
  14183. }
  14184. },
  14185. {
  14186. "name": "OCS-APIRequest",
  14187. "in": "header",
  14188. "description": "Required to be true for the API request to pass",
  14189. "required": true,
  14190. "schema": {
  14191. "type": "boolean",
  14192. "default": true
  14193. }
  14194. }
  14195. ],
  14196. "responses": {
  14197. "200": {
  14198. "description": "Message expiration time updated successfully",
  14199. "content": {
  14200. "application/json": {
  14201. "schema": {
  14202. "type": "object",
  14203. "required": [
  14204. "ocs"
  14205. ],
  14206. "properties": {
  14207. "ocs": {
  14208. "type": "object",
  14209. "required": [
  14210. "meta",
  14211. "data"
  14212. ],
  14213. "properties": {
  14214. "meta": {
  14215. "$ref": "#/components/schemas/OCSMeta"
  14216. },
  14217. "data": {}
  14218. }
  14219. }
  14220. }
  14221. }
  14222. }
  14223. }
  14224. },
  14225. "400": {
  14226. "description": "Updating message expiration time is not possible",
  14227. "content": {
  14228. "application/json": {
  14229. "schema": {
  14230. "type": "object",
  14231. "required": [
  14232. "ocs"
  14233. ],
  14234. "properties": {
  14235. "ocs": {
  14236. "type": "object",
  14237. "required": [
  14238. "meta",
  14239. "data"
  14240. ],
  14241. "properties": {
  14242. "meta": {
  14243. "$ref": "#/components/schemas/OCSMeta"
  14244. },
  14245. "data": {
  14246. "type": "object",
  14247. "properties": {
  14248. "error": {
  14249. "type": "string"
  14250. }
  14251. }
  14252. }
  14253. }
  14254. }
  14255. }
  14256. }
  14257. }
  14258. }
  14259. }
  14260. }
  14261. }
  14262. },
  14263. "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/capabilities": {
  14264. "get": {
  14265. "operationId": "room-get-capabilities",
  14266. "summary": "Get capabilities for a room",
  14267. "description": "See \"Capability handling in federated conversations\" in https://github.com/nextcloud/spreed/issues/10680 to learn which capabilities should be considered from the local server or from the remote server.",
  14268. "tags": [
  14269. "room"
  14270. ],
  14271. "security": [
  14272. {},
  14273. {
  14274. "bearer_auth": []
  14275. },
  14276. {
  14277. "basic_auth": []
  14278. }
  14279. ],
  14280. "parameters": [
  14281. {
  14282. "name": "apiVersion",
  14283. "in": "path",
  14284. "required": true,
  14285. "schema": {
  14286. "type": "string",
  14287. "enum": [
  14288. "v4"
  14289. ],
  14290. "default": "v4"
  14291. }
  14292. },
  14293. {
  14294. "name": "token",
  14295. "in": "path",
  14296. "required": true,
  14297. "schema": {
  14298. "type": "string",
  14299. "pattern": "^[a-z0-9]{4,30}$"
  14300. }
  14301. },
  14302. {
  14303. "name": "OCS-APIRequest",
  14304. "in": "header",
  14305. "description": "Required to be true for the API request to pass",
  14306. "required": true,
  14307. "schema": {
  14308. "type": "boolean",
  14309. "default": true
  14310. }
  14311. }
  14312. ],
  14313. "responses": {
  14314. "200": {
  14315. "description": "Get capabilities successfully",
  14316. "headers": {
  14317. "X-Nextcloud-Talk-Hash": {
  14318. "schema": {
  14319. "type": "string"
  14320. }
  14321. },
  14322. "X-Nextcloud-Talk-Proxy-Hash": {
  14323. "schema": {
  14324. "type": "string"
  14325. }
  14326. }
  14327. },
  14328. "content": {
  14329. "application/json": {
  14330. "schema": {
  14331. "type": "object",
  14332. "required": [
  14333. "ocs"
  14334. ],
  14335. "properties": {
  14336. "ocs": {
  14337. "type": "object",
  14338. "required": [
  14339. "meta",
  14340. "data"
  14341. ],
  14342. "properties": {
  14343. "meta": {
  14344. "$ref": "#/components/schemas/OCSMeta"
  14345. },
  14346. "data": {
  14347. "oneOf": [
  14348. {
  14349. "$ref": "#/components/schemas/Capabilities"
  14350. },
  14351. {
  14352. "type": "array",
  14353. "maxLength": 0
  14354. }
  14355. ]
  14356. }
  14357. }
  14358. }
  14359. }
  14360. }
  14361. }
  14362. }
  14363. }
  14364. }
  14365. }
  14366. },
  14367. "/ocs/v2.php/apps/spreed/api/{apiVersion}/settings/user": {
  14368. "post": {
  14369. "operationId": "settings-set-user-setting",
  14370. "summary": "Update user setting",
  14371. "tags": [
  14372. "settings"
  14373. ],
  14374. "security": [
  14375. {
  14376. "bearer_auth": []
  14377. },
  14378. {
  14379. "basic_auth": []
  14380. }
  14381. ],
  14382. "parameters": [
  14383. {
  14384. "name": "key",
  14385. "in": "query",
  14386. "description": "Key to update",
  14387. "required": true,
  14388. "schema": {
  14389. "type": "string",
  14390. "enum": [
  14391. "attachment_folder",
  14392. "read_status_privacy",
  14393. "typing_privacy",
  14394. "play_sounds"
  14395. ]
  14396. }
  14397. },
  14398. {
  14399. "name": "value",
  14400. "in": "query",
  14401. "description": "New value for the key",
  14402. "schema": {
  14403. "nullable": true,
  14404. "oneOf": [
  14405. {
  14406. "type": "string"
  14407. },
  14408. {
  14409. "type": "integer",
  14410. "format": "int64"
  14411. }
  14412. ]
  14413. }
  14414. },
  14415. {
  14416. "name": "apiVersion",
  14417. "in": "path",
  14418. "required": true,
  14419. "schema": {
  14420. "type": "string",
  14421. "enum": [
  14422. "v1"
  14423. ],
  14424. "default": "v1"
  14425. }
  14426. },
  14427. {
  14428. "name": "OCS-APIRequest",
  14429. "in": "header",
  14430. "description": "Required to be true for the API request to pass",
  14431. "required": true,
  14432. "schema": {
  14433. "type": "boolean",
  14434. "default": true
  14435. }
  14436. }
  14437. ],
  14438. "responses": {
  14439. "200": {
  14440. "description": "User setting updated successfully",
  14441. "content": {
  14442. "application/json": {
  14443. "schema": {
  14444. "type": "object",
  14445. "required": [
  14446. "ocs"
  14447. ],
  14448. "properties": {
  14449. "ocs": {
  14450. "type": "object",
  14451. "required": [
  14452. "meta",
  14453. "data"
  14454. ],
  14455. "properties": {
  14456. "meta": {
  14457. "$ref": "#/components/schemas/OCSMeta"
  14458. },
  14459. "data": {}
  14460. }
  14461. }
  14462. }
  14463. }
  14464. }
  14465. }
  14466. },
  14467. "400": {
  14468. "description": "Updating user setting is not possible",
  14469. "content": {
  14470. "application/json": {
  14471. "schema": {
  14472. "type": "object",
  14473. "required": [
  14474. "ocs"
  14475. ],
  14476. "properties": {
  14477. "ocs": {
  14478. "type": "object",
  14479. "required": [
  14480. "meta",
  14481. "data"
  14482. ],
  14483. "properties": {
  14484. "meta": {
  14485. "$ref": "#/components/schemas/OCSMeta"
  14486. },
  14487. "data": {}
  14488. }
  14489. }
  14490. }
  14491. }
  14492. }
  14493. }
  14494. }
  14495. }
  14496. }
  14497. },
  14498. "/ocs/v2.php/apps/spreed/api/{apiVersion}/signaling/settings": {
  14499. "get": {
  14500. "operationId": "internal_signaling-external_signaling-get-settings",
  14501. "summary": "Get the signaling settings",
  14502. "tags": [
  14503. "internal_signaling",
  14504. "external_signaling"
  14505. ],
  14506. "security": [
  14507. {},
  14508. {
  14509. "bearer_auth": []
  14510. },
  14511. {
  14512. "basic_auth": []
  14513. }
  14514. ],
  14515. "parameters": [
  14516. {
  14517. "name": "token",
  14518. "in": "query",
  14519. "description": "Token of the room",
  14520. "schema": {
  14521. "type": "string",
  14522. "default": ""
  14523. }
  14524. },
  14525. {
  14526. "name": "apiVersion",
  14527. "in": "path",
  14528. "required": true,
  14529. "schema": {
  14530. "type": "string",
  14531. "enum": [
  14532. "v3"
  14533. ],
  14534. "default": "v3"
  14535. }
  14536. },
  14537. {
  14538. "name": "OCS-APIRequest",
  14539. "in": "header",
  14540. "description": "Required to be true for the API request to pass",
  14541. "required": true,
  14542. "schema": {
  14543. "type": "boolean",
  14544. "default": true
  14545. }
  14546. }
  14547. ],
  14548. "responses": {
  14549. "200": {
  14550. "description": "Signaling settings returned",
  14551. "content": {
  14552. "application/json": {
  14553. "schema": {
  14554. "type": "object",
  14555. "required": [
  14556. "ocs"
  14557. ],
  14558. "properties": {
  14559. "ocs": {
  14560. "type": "object",
  14561. "required": [
  14562. "meta",
  14563. "data"
  14564. ],
  14565. "properties": {
  14566. "meta": {
  14567. "$ref": "#/components/schemas/OCSMeta"
  14568. },
  14569. "data": {
  14570. "$ref": "#/components/schemas/SignalingSettings"
  14571. }
  14572. }
  14573. }
  14574. }
  14575. }
  14576. }
  14577. }
  14578. },
  14579. "401": {
  14580. "description": "Recording request invalid",
  14581. "content": {
  14582. "application/json": {
  14583. "schema": {
  14584. "type": "object",
  14585. "required": [
  14586. "ocs"
  14587. ],
  14588. "properties": {
  14589. "ocs": {
  14590. "type": "object",
  14591. "required": [
  14592. "meta",
  14593. "data"
  14594. ],
  14595. "properties": {
  14596. "meta": {
  14597. "$ref": "#/components/schemas/OCSMeta"
  14598. },
  14599. "data": {}
  14600. }
  14601. }
  14602. }
  14603. }
  14604. }
  14605. }
  14606. },
  14607. "404": {
  14608. "description": "Room not found",
  14609. "content": {
  14610. "application/json": {
  14611. "schema": {
  14612. "type": "object",
  14613. "required": [
  14614. "ocs"
  14615. ],
  14616. "properties": {
  14617. "ocs": {
  14618. "type": "object",
  14619. "required": [
  14620. "meta",
  14621. "data"
  14622. ],
  14623. "properties": {
  14624. "meta": {
  14625. "$ref": "#/components/schemas/OCSMeta"
  14626. },
  14627. "data": {}
  14628. }
  14629. }
  14630. }
  14631. }
  14632. }
  14633. }
  14634. }
  14635. }
  14636. }
  14637. },
  14638. "/ocs/v2.php/apps/spreed/api/{apiVersion}/signaling/{token}": {
  14639. "post": {
  14640. "operationId": "internal_signaling-send-messages",
  14641. "summary": "Send signaling messages",
  14642. "tags": [
  14643. "internal_signaling"
  14644. ],
  14645. "security": [
  14646. {},
  14647. {
  14648. "bearer_auth": []
  14649. },
  14650. {
  14651. "basic_auth": []
  14652. }
  14653. ],
  14654. "parameters": [
  14655. {
  14656. "name": "messages",
  14657. "in": "query",
  14658. "description": "JSON encoded messages",
  14659. "required": true,
  14660. "schema": {
  14661. "type": "string"
  14662. }
  14663. },
  14664. {
  14665. "name": "apiVersion",
  14666. "in": "path",
  14667. "required": true,
  14668. "schema": {
  14669. "type": "string",
  14670. "enum": [
  14671. "v3"
  14672. ],
  14673. "default": "v3"
  14674. }
  14675. },
  14676. {
  14677. "name": "token",
  14678. "in": "path",
  14679. "description": "Token of the room",
  14680. "required": true,
  14681. "schema": {
  14682. "type": "string",
  14683. "pattern": "^[a-z0-9]{4,30}$"
  14684. }
  14685. },
  14686. {
  14687. "name": "OCS-APIRequest",
  14688. "in": "header",
  14689. "description": "Required to be true for the API request to pass",
  14690. "required": true,
  14691. "schema": {
  14692. "type": "boolean",
  14693. "default": true
  14694. }
  14695. }
  14696. ],
  14697. "responses": {
  14698. "200": {
  14699. "description": "Signaling message sent successfully",
  14700. "content": {
  14701. "application/json": {
  14702. "schema": {
  14703. "type": "object",
  14704. "required": [
  14705. "ocs"
  14706. ],
  14707. "properties": {
  14708. "ocs": {
  14709. "type": "object",
  14710. "required": [
  14711. "meta",
  14712. "data"
  14713. ],
  14714. "properties": {
  14715. "meta": {
  14716. "$ref": "#/components/schemas/OCSMeta"
  14717. },
  14718. "data": {}
  14719. }
  14720. }
  14721. }
  14722. }
  14723. }
  14724. }
  14725. },
  14726. "400": {
  14727. "description": "Sending signaling message is not possible",
  14728. "content": {
  14729. "application/json": {
  14730. "schema": {
  14731. "type": "object",
  14732. "required": [
  14733. "ocs"
  14734. ],
  14735. "properties": {
  14736. "ocs": {
  14737. "type": "object",
  14738. "required": [
  14739. "meta",
  14740. "data"
  14741. ],
  14742. "properties": {
  14743. "meta": {
  14744. "$ref": "#/components/schemas/OCSMeta"
  14745. },
  14746. "data": {
  14747. "type": "string"
  14748. }
  14749. }
  14750. }
  14751. }
  14752. }
  14753. }
  14754. }
  14755. }
  14756. }
  14757. },
  14758. "get": {
  14759. "operationId": "internal_signaling-pull-messages",
  14760. "summary": "Get signaling messages",
  14761. "tags": [
  14762. "internal_signaling"
  14763. ],
  14764. "security": [
  14765. {},
  14766. {
  14767. "bearer_auth": []
  14768. },
  14769. {
  14770. "basic_auth": []
  14771. }
  14772. ],
  14773. "parameters": [
  14774. {
  14775. "name": "apiVersion",
  14776. "in": "path",
  14777. "required": true,
  14778. "schema": {
  14779. "type": "string",
  14780. "enum": [
  14781. "v3"
  14782. ],
  14783. "default": "v3"
  14784. }
  14785. },
  14786. {
  14787. "name": "token",
  14788. "in": "path",
  14789. "description": "Token of the room",
  14790. "required": true,
  14791. "schema": {
  14792. "type": "string",
  14793. "pattern": "^[a-z0-9]{4,30}$"
  14794. }
  14795. },
  14796. {
  14797. "name": "OCS-APIRequest",
  14798. "in": "header",
  14799. "description": "Required to be true for the API request to pass",
  14800. "required": true,
  14801. "schema": {
  14802. "type": "boolean",
  14803. "default": true
  14804. }
  14805. }
  14806. ],
  14807. "responses": {
  14808. "200": {
  14809. "description": "Signaling messages returned",
  14810. "content": {
  14811. "application/json": {
  14812. "schema": {
  14813. "type": "object",
  14814. "required": [
  14815. "ocs"
  14816. ],
  14817. "properties": {
  14818. "ocs": {
  14819. "type": "object",
  14820. "required": [
  14821. "meta",
  14822. "data"
  14823. ],
  14824. "properties": {
  14825. "meta": {
  14826. "$ref": "#/components/schemas/OCSMeta"
  14827. },
  14828. "data": {
  14829. "type": "array",
  14830. "items": {
  14831. "type": "object",
  14832. "required": [
  14833. "type",
  14834. "data"
  14835. ],
  14836. "properties": {
  14837. "type": {
  14838. "type": "string"
  14839. },
  14840. "data": {
  14841. "oneOf": [
  14842. {
  14843. "type": "array",
  14844. "items": {
  14845. "$ref": "#/components/schemas/SignalingSession"
  14846. }
  14847. },
  14848. {
  14849. "type": "string"
  14850. }
  14851. ]
  14852. }
  14853. }
  14854. }
  14855. }
  14856. }
  14857. }
  14858. }
  14859. }
  14860. }
  14861. }
  14862. },
  14863. "404": {
  14864. "description": "Session, room or participant not found",
  14865. "content": {
  14866. "application/json": {
  14867. "schema": {
  14868. "type": "object",
  14869. "required": [
  14870. "ocs"
  14871. ],
  14872. "properties": {
  14873. "ocs": {
  14874. "type": "object",
  14875. "required": [
  14876. "meta",
  14877. "data"
  14878. ],
  14879. "properties": {
  14880. "meta": {
  14881. "$ref": "#/components/schemas/OCSMeta"
  14882. },
  14883. "data": {
  14884. "type": "array",
  14885. "items": {
  14886. "type": "object",
  14887. "required": [
  14888. "type",
  14889. "data"
  14890. ],
  14891. "properties": {
  14892. "type": {
  14893. "type": "string"
  14894. },
  14895. "data": {
  14896. "oneOf": [
  14897. {
  14898. "type": "array",
  14899. "items": {
  14900. "$ref": "#/components/schemas/SignalingSession"
  14901. }
  14902. },
  14903. {
  14904. "type": "string"
  14905. }
  14906. ]
  14907. }
  14908. }
  14909. }
  14910. }
  14911. }
  14912. }
  14913. }
  14914. }
  14915. }
  14916. }
  14917. },
  14918. "409": {
  14919. "description": "Session killed",
  14920. "content": {
  14921. "application/json": {
  14922. "schema": {
  14923. "type": "object",
  14924. "required": [
  14925. "ocs"
  14926. ],
  14927. "properties": {
  14928. "ocs": {
  14929. "type": "object",
  14930. "required": [
  14931. "meta",
  14932. "data"
  14933. ],
  14934. "properties": {
  14935. "meta": {
  14936. "$ref": "#/components/schemas/OCSMeta"
  14937. },
  14938. "data": {
  14939. "type": "array",
  14940. "items": {
  14941. "type": "object",
  14942. "required": [
  14943. "type",
  14944. "data"
  14945. ],
  14946. "properties": {
  14947. "type": {
  14948. "type": "string"
  14949. },
  14950. "data": {
  14951. "oneOf": [
  14952. {
  14953. "type": "array",
  14954. "items": {
  14955. "$ref": "#/components/schemas/SignalingSession"
  14956. }
  14957. },
  14958. {
  14959. "type": "string"
  14960. }
  14961. ]
  14962. }
  14963. }
  14964. }
  14965. }
  14966. }
  14967. }
  14968. }
  14969. }
  14970. }
  14971. }
  14972. },
  14973. "400": {
  14974. "description": "Getting signaling messages is not possible",
  14975. "content": {
  14976. "application/json": {
  14977. "schema": {
  14978. "type": "object",
  14979. "required": [
  14980. "ocs"
  14981. ],
  14982. "properties": {
  14983. "ocs": {
  14984. "type": "object",
  14985. "required": [
  14986. "meta",
  14987. "data"
  14988. ],
  14989. "properties": {
  14990. "meta": {
  14991. "$ref": "#/components/schemas/OCSMeta"
  14992. },
  14993. "data": {
  14994. "type": "string"
  14995. }
  14996. }
  14997. }
  14998. }
  14999. }
  15000. }
  15001. }
  15002. }
  15003. }
  15004. }
  15005. },
  15006. "/ocs/v2.php/apps/spreed/temp-user-avatar": {
  15007. "post": {
  15008. "operationId": "user_avatar-post-avatar",
  15009. "summary": "Upload your avatar as a user",
  15010. "tags": [
  15011. "user_avatar"
  15012. ],
  15013. "security": [
  15014. {
  15015. "bearer_auth": []
  15016. },
  15017. {
  15018. "basic_auth": []
  15019. }
  15020. ],
  15021. "parameters": [
  15022. {
  15023. "name": "OCS-APIRequest",
  15024. "in": "header",
  15025. "description": "Required to be true for the API request to pass",
  15026. "required": true,
  15027. "schema": {
  15028. "type": "boolean",
  15029. "default": true
  15030. }
  15031. }
  15032. ],
  15033. "responses": {
  15034. "200": {
  15035. "description": "Avatar uploaded successfully",
  15036. "content": {
  15037. "application/json": {
  15038. "schema": {
  15039. "type": "object",
  15040. "required": [
  15041. "ocs"
  15042. ],
  15043. "properties": {
  15044. "ocs": {
  15045. "type": "object",
  15046. "required": [
  15047. "meta",
  15048. "data"
  15049. ],
  15050. "properties": {
  15051. "meta": {
  15052. "$ref": "#/components/schemas/OCSMeta"
  15053. },
  15054. "data": {}
  15055. }
  15056. }
  15057. }
  15058. }
  15059. }
  15060. }
  15061. },
  15062. "400": {
  15063. "description": "Uploading avatar is not possible",
  15064. "content": {
  15065. "application/json": {
  15066. "schema": {
  15067. "type": "object",
  15068. "required": [
  15069. "ocs"
  15070. ],
  15071. "properties": {
  15072. "ocs": {
  15073. "type": "object",
  15074. "required": [
  15075. "meta",
  15076. "data"
  15077. ],
  15078. "properties": {
  15079. "meta": {
  15080. "$ref": "#/components/schemas/OCSMeta"
  15081. },
  15082. "data": {
  15083. "type": "object",
  15084. "required": [
  15085. "message"
  15086. ],
  15087. "properties": {
  15088. "message": {
  15089. "type": "string"
  15090. }
  15091. }
  15092. }
  15093. }
  15094. }
  15095. }
  15096. }
  15097. }
  15098. }
  15099. }
  15100. }
  15101. },
  15102. "delete": {
  15103. "operationId": "user_avatar-delete-avatar",
  15104. "summary": "Delete your avatar as a user",
  15105. "tags": [
  15106. "user_avatar"
  15107. ],
  15108. "security": [
  15109. {
  15110. "bearer_auth": []
  15111. },
  15112. {
  15113. "basic_auth": []
  15114. }
  15115. ],
  15116. "parameters": [
  15117. {
  15118. "name": "OCS-APIRequest",
  15119. "in": "header",
  15120. "description": "Required to be true for the API request to pass",
  15121. "required": true,
  15122. "schema": {
  15123. "type": "boolean",
  15124. "default": true
  15125. }
  15126. }
  15127. ],
  15128. "responses": {
  15129. "200": {
  15130. "description": "Avatar deleted successfully",
  15131. "content": {
  15132. "application/json": {
  15133. "schema": {
  15134. "type": "object",
  15135. "required": [
  15136. "ocs"
  15137. ],
  15138. "properties": {
  15139. "ocs": {
  15140. "type": "object",
  15141. "required": [
  15142. "meta",
  15143. "data"
  15144. ],
  15145. "properties": {
  15146. "meta": {
  15147. "$ref": "#/components/schemas/OCSMeta"
  15148. },
  15149. "data": {}
  15150. }
  15151. }
  15152. }
  15153. }
  15154. }
  15155. }
  15156. },
  15157. "400": {
  15158. "description": "Deleting avatar is not possible",
  15159. "content": {
  15160. "application/json": {
  15161. "schema": {
  15162. "type": "object",
  15163. "required": [
  15164. "ocs"
  15165. ],
  15166. "properties": {
  15167. "ocs": {
  15168. "type": "object",
  15169. "required": [
  15170. "meta",
  15171. "data"
  15172. ],
  15173. "properties": {
  15174. "meta": {
  15175. "$ref": "#/components/schemas/OCSMeta"
  15176. },
  15177. "data": {}
  15178. }
  15179. }
  15180. }
  15181. }
  15182. }
  15183. }
  15184. }
  15185. }
  15186. }
  15187. },
  15188. "/ocs/v2.php/apps/spreed/api/{apiVersion}/proxy/new/user-avatar/{size}": {
  15189. "get": {
  15190. "operationId": "avatar-get-user-proxy-avatar-without-room",
  15191. "summary": "Get the avatar of a cloudId user when inviting users while creating a conversation",
  15192. "tags": [
  15193. "avatar"
  15194. ],
  15195. "security": [
  15196. {
  15197. "bearer_auth": []
  15198. },
  15199. {
  15200. "basic_auth": []
  15201. }
  15202. ],
  15203. "parameters": [
  15204. {
  15205. "name": "cloudId",
  15206. "in": "query",
  15207. "description": "Federation CloudID to get the avatar for",
  15208. "required": true,
  15209. "schema": {
  15210. "type": "string"
  15211. }
  15212. },
  15213. {
  15214. "name": "darkTheme",
  15215. "in": "query",
  15216. "description": "Theme used for background",
  15217. "schema": {
  15218. "type": "integer",
  15219. "default": 0,
  15220. "enum": [
  15221. 0,
  15222. 1
  15223. ]
  15224. }
  15225. },
  15226. {
  15227. "name": "apiVersion",
  15228. "in": "path",
  15229. "required": true,
  15230. "schema": {
  15231. "type": "string",
  15232. "enum": [
  15233. "v1"
  15234. ],
  15235. "default": "v1"
  15236. }
  15237. },
  15238. {
  15239. "name": "size",
  15240. "in": "path",
  15241. "description": "Avatar size",
  15242. "required": true,
  15243. "schema": {
  15244. "type": "integer",
  15245. "format": "int64",
  15246. "enum": [
  15247. 64,
  15248. 512
  15249. ]
  15250. }
  15251. },
  15252. {
  15253. "name": "OCS-APIRequest",
  15254. "in": "header",
  15255. "description": "Required to be true for the API request to pass",
  15256. "required": true,
  15257. "schema": {
  15258. "type": "boolean",
  15259. "default": true
  15260. }
  15261. }
  15262. ],
  15263. "responses": {
  15264. "200": {
  15265. "description": "User avatar returned",
  15266. "content": {
  15267. "*/*": {
  15268. "schema": {
  15269. "type": "string",
  15270. "format": "binary"
  15271. }
  15272. }
  15273. }
  15274. }
  15275. }
  15276. }
  15277. },
  15278. "/ocs/v2.php/apps/spreed/api/{apiVersion}/proxy/new/user-avatar/{size}/dark": {
  15279. "get": {
  15280. "operationId": "avatar-get-user-proxy-avatar-dark-without-room",
  15281. "summary": "Get the dark mode avatar of a cloudId user when inviting users while creating a conversation",
  15282. "tags": [
  15283. "avatar"
  15284. ],
  15285. "security": [
  15286. {
  15287. "bearer_auth": []
  15288. },
  15289. {
  15290. "basic_auth": []
  15291. }
  15292. ],
  15293. "parameters": [
  15294. {
  15295. "name": "cloudId",
  15296. "in": "query",
  15297. "description": "Federation CloudID to get the avatar for",
  15298. "required": true,
  15299. "schema": {
  15300. "type": "string"
  15301. }
  15302. },
  15303. {
  15304. "name": "apiVersion",
  15305. "in": "path",
  15306. "required": true,
  15307. "schema": {
  15308. "type": "string",
  15309. "enum": [
  15310. "v1"
  15311. ],
  15312. "default": "v1"
  15313. }
  15314. },
  15315. {
  15316. "name": "size",
  15317. "in": "path",
  15318. "description": "Avatar size",
  15319. "required": true,
  15320. "schema": {
  15321. "type": "integer",
  15322. "format": "int64",
  15323. "enum": [
  15324. 64,
  15325. 512
  15326. ]
  15327. }
  15328. },
  15329. {
  15330. "name": "OCS-APIRequest",
  15331. "in": "header",
  15332. "description": "Required to be true for the API request to pass",
  15333. "required": true,
  15334. "schema": {
  15335. "type": "boolean",
  15336. "default": true
  15337. }
  15338. }
  15339. ],
  15340. "responses": {
  15341. "200": {
  15342. "description": "User avatar returned",
  15343. "content": {
  15344. "*/*": {
  15345. "schema": {
  15346. "type": "string",
  15347. "format": "binary"
  15348. }
  15349. }
  15350. }
  15351. }
  15352. }
  15353. }
  15354. },
  15355. "/ocs/v2.php/apps/spreed/api/{apiVersion}/proxy/{token}/user-avatar/{size}": {
  15356. "get": {
  15357. "operationId": "avatar-get-user-proxy-avatar",
  15358. "summary": "Get the avatar of a cloudId user",
  15359. "tags": [
  15360. "avatar"
  15361. ],
  15362. "security": [
  15363. {},
  15364. {
  15365. "bearer_auth": []
  15366. },
  15367. {
  15368. "basic_auth": []
  15369. }
  15370. ],
  15371. "parameters": [
  15372. {
  15373. "name": "cloudId",
  15374. "in": "query",
  15375. "description": "Federation CloudID to get the avatar for",
  15376. "required": true,
  15377. "schema": {
  15378. "type": "string"
  15379. }
  15380. },
  15381. {
  15382. "name": "darkTheme",
  15383. "in": "query",
  15384. "description": "Theme used for background",
  15385. "schema": {
  15386. "type": "integer",
  15387. "default": 0,
  15388. "enum": [
  15389. 0,
  15390. 1
  15391. ]
  15392. }
  15393. },
  15394. {
  15395. "name": "apiVersion",
  15396. "in": "path",
  15397. "required": true,
  15398. "schema": {
  15399. "type": "string",
  15400. "enum": [
  15401. "v1"
  15402. ],
  15403. "default": "v1"
  15404. }
  15405. },
  15406. {
  15407. "name": "token",
  15408. "in": "path",
  15409. "required": true,
  15410. "schema": {
  15411. "type": "string",
  15412. "pattern": "^[a-z0-9]{4,30}$"
  15413. }
  15414. },
  15415. {
  15416. "name": "size",
  15417. "in": "path",
  15418. "description": "Avatar size",
  15419. "required": true,
  15420. "schema": {
  15421. "type": "integer",
  15422. "format": "int64",
  15423. "enum": [
  15424. 64,
  15425. 512
  15426. ]
  15427. }
  15428. },
  15429. {
  15430. "name": "OCS-APIRequest",
  15431. "in": "header",
  15432. "description": "Required to be true for the API request to pass",
  15433. "required": true,
  15434. "schema": {
  15435. "type": "boolean",
  15436. "default": true
  15437. }
  15438. }
  15439. ],
  15440. "responses": {
  15441. "200": {
  15442. "description": "User avatar returned",
  15443. "content": {
  15444. "*/*": {
  15445. "schema": {
  15446. "type": "string",
  15447. "format": "binary"
  15448. }
  15449. }
  15450. }
  15451. }
  15452. }
  15453. }
  15454. },
  15455. "/ocs/v2.php/apps/spreed/api/{apiVersion}/proxy/{token}/user-avatar/{size}/dark": {
  15456. "get": {
  15457. "operationId": "avatar-get-user-proxy-avatar-dark",
  15458. "summary": "Get the dark mode avatar of a cloudId user",
  15459. "tags": [
  15460. "avatar"
  15461. ],
  15462. "security": [
  15463. {},
  15464. {
  15465. "bearer_auth": []
  15466. },
  15467. {
  15468. "basic_auth": []
  15469. }
  15470. ],
  15471. "parameters": [
  15472. {
  15473. "name": "cloudId",
  15474. "in": "query",
  15475. "description": "Federation CloudID to get the avatar for",
  15476. "required": true,
  15477. "schema": {
  15478. "type": "string"
  15479. }
  15480. },
  15481. {
  15482. "name": "apiVersion",
  15483. "in": "path",
  15484. "required": true,
  15485. "schema": {
  15486. "type": "string",
  15487. "enum": [
  15488. "v1"
  15489. ],
  15490. "default": "v1"
  15491. }
  15492. },
  15493. {
  15494. "name": "token",
  15495. "in": "path",
  15496. "required": true,
  15497. "schema": {
  15498. "type": "string",
  15499. "pattern": "^[a-z0-9]{4,30}$"
  15500. }
  15501. },
  15502. {
  15503. "name": "size",
  15504. "in": "path",
  15505. "description": "Avatar size",
  15506. "required": true,
  15507. "schema": {
  15508. "type": "integer",
  15509. "format": "int64",
  15510. "enum": [
  15511. 64,
  15512. 512
  15513. ]
  15514. }
  15515. },
  15516. {
  15517. "name": "OCS-APIRequest",
  15518. "in": "header",
  15519. "description": "Required to be true for the API request to pass",
  15520. "required": true,
  15521. "schema": {
  15522. "type": "boolean",
  15523. "default": true
  15524. }
  15525. }
  15526. ],
  15527. "responses": {
  15528. "200": {
  15529. "description": "User avatar returned",
  15530. "content": {
  15531. "*/*": {
  15532. "schema": {
  15533. "type": "string",
  15534. "format": "binary"
  15535. }
  15536. }
  15537. }
  15538. }
  15539. }
  15540. }
  15541. },
  15542. "/ocs/v2.php/apps/spreed/api/{apiVersion}/federation/invitation/{id}": {
  15543. "post": {
  15544. "operationId": "federation-accept-share",
  15545. "summary": "Accept a federation invites",
  15546. "description": "🚧 Draft: Still work in progress",
  15547. "tags": [
  15548. "federation"
  15549. ],
  15550. "security": [
  15551. {
  15552. "bearer_auth": []
  15553. },
  15554. {
  15555. "basic_auth": []
  15556. }
  15557. ],
  15558. "parameters": [
  15559. {
  15560. "name": "apiVersion",
  15561. "in": "path",
  15562. "required": true,
  15563. "schema": {
  15564. "type": "string",
  15565. "enum": [
  15566. "v1"
  15567. ],
  15568. "default": "v1"
  15569. }
  15570. },
  15571. {
  15572. "name": "id",
  15573. "in": "path",
  15574. "description": "ID of the share",
  15575. "required": true,
  15576. "schema": {
  15577. "type": "integer",
  15578. "format": "int64",
  15579. "minimum": 0
  15580. }
  15581. },
  15582. {
  15583. "name": "OCS-APIRequest",
  15584. "in": "header",
  15585. "description": "Required to be true for the API request to pass",
  15586. "required": true,
  15587. "schema": {
  15588. "type": "boolean",
  15589. "default": true
  15590. }
  15591. }
  15592. ],
  15593. "responses": {
  15594. "200": {
  15595. "description": "Invite accepted successfully",
  15596. "content": {
  15597. "application/json": {
  15598. "schema": {
  15599. "type": "object",
  15600. "required": [
  15601. "ocs"
  15602. ],
  15603. "properties": {
  15604. "ocs": {
  15605. "type": "object",
  15606. "required": [
  15607. "meta",
  15608. "data"
  15609. ],
  15610. "properties": {
  15611. "meta": {
  15612. "$ref": "#/components/schemas/OCSMeta"
  15613. },
  15614. "data": {
  15615. "$ref": "#/components/schemas/Room"
  15616. }
  15617. }
  15618. }
  15619. }
  15620. }
  15621. }
  15622. }
  15623. },
  15624. "400": {
  15625. "description": "Invite can not be accepted (maybe it was accepted already)",
  15626. "content": {
  15627. "application/json": {
  15628. "schema": {
  15629. "type": "object",
  15630. "required": [
  15631. "ocs"
  15632. ],
  15633. "properties": {
  15634. "ocs": {
  15635. "type": "object",
  15636. "required": [
  15637. "meta",
  15638. "data"
  15639. ],
  15640. "properties": {
  15641. "meta": {
  15642. "$ref": "#/components/schemas/OCSMeta"
  15643. },
  15644. "data": {
  15645. "type": "object",
  15646. "required": [
  15647. "error"
  15648. ],
  15649. "properties": {
  15650. "error": {
  15651. "type": "string"
  15652. }
  15653. }
  15654. }
  15655. }
  15656. }
  15657. }
  15658. }
  15659. }
  15660. }
  15661. },
  15662. "410": {
  15663. "description": "Remote server could not be reached to notify about the acceptance",
  15664. "content": {
  15665. "application/json": {
  15666. "schema": {
  15667. "type": "object",
  15668. "required": [
  15669. "ocs"
  15670. ],
  15671. "properties": {
  15672. "ocs": {
  15673. "type": "object",
  15674. "required": [
  15675. "meta",
  15676. "data"
  15677. ],
  15678. "properties": {
  15679. "meta": {
  15680. "$ref": "#/components/schemas/OCSMeta"
  15681. },
  15682. "data": {
  15683. "type": "object",
  15684. "required": [
  15685. "error"
  15686. ],
  15687. "properties": {
  15688. "error": {
  15689. "type": "string"
  15690. }
  15691. }
  15692. }
  15693. }
  15694. }
  15695. }
  15696. }
  15697. }
  15698. }
  15699. },
  15700. "404": {
  15701. "description": "Invite can not be found",
  15702. "content": {
  15703. "application/json": {
  15704. "schema": {
  15705. "type": "object",
  15706. "required": [
  15707. "ocs"
  15708. ],
  15709. "properties": {
  15710. "ocs": {
  15711. "type": "object",
  15712. "required": [
  15713. "meta",
  15714. "data"
  15715. ],
  15716. "properties": {
  15717. "meta": {
  15718. "$ref": "#/components/schemas/OCSMeta"
  15719. },
  15720. "data": {
  15721. "type": "object",
  15722. "properties": {
  15723. "error": {
  15724. "type": "string"
  15725. }
  15726. }
  15727. }
  15728. }
  15729. }
  15730. }
  15731. }
  15732. }
  15733. }
  15734. }
  15735. }
  15736. },
  15737. "delete": {
  15738. "operationId": "federation-reject-share",
  15739. "summary": "Decline a federation invites",
  15740. "description": "🚧 Draft: Still work in progress",
  15741. "tags": [
  15742. "federation"
  15743. ],
  15744. "security": [
  15745. {
  15746. "bearer_auth": []
  15747. },
  15748. {
  15749. "basic_auth": []
  15750. }
  15751. ],
  15752. "parameters": [
  15753. {
  15754. "name": "apiVersion",
  15755. "in": "path",
  15756. "required": true,
  15757. "schema": {
  15758. "type": "string",
  15759. "enum": [
  15760. "v1"
  15761. ],
  15762. "default": "v1"
  15763. }
  15764. },
  15765. {
  15766. "name": "id",
  15767. "in": "path",
  15768. "description": "ID of the share",
  15769. "required": true,
  15770. "schema": {
  15771. "type": "integer",
  15772. "format": "int64",
  15773. "minimum": 0
  15774. }
  15775. },
  15776. {
  15777. "name": "OCS-APIRequest",
  15778. "in": "header",
  15779. "description": "Required to be true for the API request to pass",
  15780. "required": true,
  15781. "schema": {
  15782. "type": "boolean",
  15783. "default": true
  15784. }
  15785. }
  15786. ],
  15787. "responses": {
  15788. "200": {
  15789. "description": "Invite declined successfully",
  15790. "content": {
  15791. "application/json": {
  15792. "schema": {
  15793. "type": "object",
  15794. "required": [
  15795. "ocs"
  15796. ],
  15797. "properties": {
  15798. "ocs": {
  15799. "type": "object",
  15800. "required": [
  15801. "meta",
  15802. "data"
  15803. ],
  15804. "properties": {
  15805. "meta": {
  15806. "$ref": "#/components/schemas/OCSMeta"
  15807. },
  15808. "data": {}
  15809. }
  15810. }
  15811. }
  15812. }
  15813. }
  15814. }
  15815. },
  15816. "404": {
  15817. "description": "Invite can not be found",
  15818. "content": {
  15819. "application/json": {
  15820. "schema": {
  15821. "type": "object",
  15822. "required": [
  15823. "ocs"
  15824. ],
  15825. "properties": {
  15826. "ocs": {
  15827. "type": "object",
  15828. "required": [
  15829. "meta",
  15830. "data"
  15831. ],
  15832. "properties": {
  15833. "meta": {
  15834. "$ref": "#/components/schemas/OCSMeta"
  15835. },
  15836. "data": {
  15837. "type": "object",
  15838. "properties": {
  15839. "error": {
  15840. "type": "string"
  15841. }
  15842. }
  15843. }
  15844. }
  15845. }
  15846. }
  15847. }
  15848. }
  15849. }
  15850. },
  15851. "400": {
  15852. "description": "Invite was already accepted, use the \"Remove the current user from a room\" endpoint instead",
  15853. "content": {
  15854. "application/json": {
  15855. "schema": {
  15856. "type": "object",
  15857. "required": [
  15858. "ocs"
  15859. ],
  15860. "properties": {
  15861. "ocs": {
  15862. "type": "object",
  15863. "required": [
  15864. "meta",
  15865. "data"
  15866. ],
  15867. "properties": {
  15868. "meta": {
  15869. "$ref": "#/components/schemas/OCSMeta"
  15870. },
  15871. "data": {
  15872. "type": "object",
  15873. "properties": {
  15874. "error": {
  15875. "type": "string"
  15876. }
  15877. }
  15878. }
  15879. }
  15880. }
  15881. }
  15882. }
  15883. }
  15884. }
  15885. }
  15886. }
  15887. }
  15888. },
  15889. "/ocs/v2.php/apps/spreed/api/{apiVersion}/federation/invitation": {
  15890. "get": {
  15891. "operationId": "federation-get-shares",
  15892. "summary": "Get a list of federation invites",
  15893. "description": "🚧 Draft: Still work in progress",
  15894. "tags": [
  15895. "federation"
  15896. ],
  15897. "security": [
  15898. {
  15899. "bearer_auth": []
  15900. },
  15901. {
  15902. "basic_auth": []
  15903. }
  15904. ],
  15905. "parameters": [
  15906. {
  15907. "name": "apiVersion",
  15908. "in": "path",
  15909. "required": true,
  15910. "schema": {
  15911. "type": "string",
  15912. "enum": [
  15913. "v1"
  15914. ],
  15915. "default": "v1"
  15916. }
  15917. },
  15918. {
  15919. "name": "OCS-APIRequest",
  15920. "in": "header",
  15921. "description": "Required to be true for the API request to pass",
  15922. "required": true,
  15923. "schema": {
  15924. "type": "boolean",
  15925. "default": true
  15926. }
  15927. }
  15928. ],
  15929. "responses": {
  15930. "200": {
  15931. "description": "Get list of received federation invites successfully",
  15932. "content": {
  15933. "application/json": {
  15934. "schema": {
  15935. "type": "object",
  15936. "required": [
  15937. "ocs"
  15938. ],
  15939. "properties": {
  15940. "ocs": {
  15941. "type": "object",
  15942. "required": [
  15943. "meta",
  15944. "data"
  15945. ],
  15946. "properties": {
  15947. "meta": {
  15948. "$ref": "#/components/schemas/OCSMeta"
  15949. },
  15950. "data": {
  15951. "type": "array",
  15952. "items": {
  15953. "$ref": "#/components/schemas/FederationInvite"
  15954. }
  15955. }
  15956. }
  15957. }
  15958. }
  15959. }
  15960. }
  15961. }
  15962. }
  15963. }
  15964. }
  15965. },
  15966. "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/federation/active": {
  15967. "post": {
  15968. "operationId": "room-join-federated-room",
  15969. "summary": "Fake join a room on the host server to verify the federated user is still part of it",
  15970. "tags": [
  15971. "room"
  15972. ],
  15973. "security": [
  15974. {},
  15975. {
  15976. "bearer_auth": []
  15977. },
  15978. {
  15979. "basic_auth": []
  15980. }
  15981. ],
  15982. "parameters": [
  15983. {
  15984. "name": "apiVersion",
  15985. "in": "path",
  15986. "required": true,
  15987. "schema": {
  15988. "type": "string",
  15989. "enum": [
  15990. "v4"
  15991. ],
  15992. "default": "v4"
  15993. }
  15994. },
  15995. {
  15996. "name": "token",
  15997. "in": "path",
  15998. "description": "Token of the room",
  15999. "required": true,
  16000. "schema": {
  16001. "type": "string",
  16002. "pattern": "^[a-z0-9]{4,30}$"
  16003. }
  16004. },
  16005. {
  16006. "name": "OCS-APIRequest",
  16007. "in": "header",
  16008. "description": "Required to be true for the API request to pass",
  16009. "required": true,
  16010. "schema": {
  16011. "type": "boolean",
  16012. "default": true
  16013. }
  16014. }
  16015. ],
  16016. "responses": {
  16017. "200": {
  16018. "description": "Federated user is still part of the room",
  16019. "headers": {
  16020. "X-Nextcloud-Talk-Hash": {
  16021. "schema": {
  16022. "type": "string"
  16023. }
  16024. }
  16025. },
  16026. "content": {
  16027. "application/json": {
  16028. "schema": {
  16029. "type": "object",
  16030. "required": [
  16031. "ocs"
  16032. ],
  16033. "properties": {
  16034. "ocs": {
  16035. "type": "object",
  16036. "required": [
  16037. "meta",
  16038. "data"
  16039. ],
  16040. "properties": {
  16041. "meta": {
  16042. "$ref": "#/components/schemas/OCSMeta"
  16043. },
  16044. "data": {}
  16045. }
  16046. }
  16047. }
  16048. }
  16049. }
  16050. }
  16051. },
  16052. "404": {
  16053. "description": "Room not found",
  16054. "content": {
  16055. "application/json": {
  16056. "schema": {
  16057. "type": "object",
  16058. "required": [
  16059. "ocs"
  16060. ],
  16061. "properties": {
  16062. "ocs": {
  16063. "type": "object",
  16064. "required": [
  16065. "meta",
  16066. "data"
  16067. ],
  16068. "properties": {
  16069. "meta": {
  16070. "$ref": "#/components/schemas/OCSMeta"
  16071. },
  16072. "data": {
  16073. "nullable": true
  16074. }
  16075. }
  16076. }
  16077. }
  16078. }
  16079. }
  16080. }
  16081. }
  16082. }
  16083. }
  16084. },
  16085. "/ocs/v2.php/apps/spreed/api/{apiVersion}/bot/{token}/message": {
  16086. "post": {
  16087. "operationId": "bot-send-message",
  16088. "summary": "Sends a new chat message to the given room",
  16089. "description": "The author and timestamp are automatically set to the current user/guest and time.",
  16090. "tags": [
  16091. "bot"
  16092. ],
  16093. "security": [
  16094. {},
  16095. {
  16096. "bearer_auth": []
  16097. },
  16098. {
  16099. "basic_auth": []
  16100. }
  16101. ],
  16102. "parameters": [
  16103. {
  16104. "name": "message",
  16105. "in": "query",
  16106. "description": "The message to send",
  16107. "required": true,
  16108. "schema": {
  16109. "type": "string"
  16110. }
  16111. },
  16112. {
  16113. "name": "referenceId",
  16114. "in": "query",
  16115. "description": "For the message to be able to later identify it again",
  16116. "schema": {
  16117. "type": "string",
  16118. "default": ""
  16119. }
  16120. },
  16121. {
  16122. "name": "replyTo",
  16123. "in": "query",
  16124. "description": "Parent id which this message is a reply to",
  16125. "schema": {
  16126. "type": "integer",
  16127. "format": "int64",
  16128. "default": 0
  16129. }
  16130. },
  16131. {
  16132. "name": "silent",
  16133. "in": "query",
  16134. "description": "If sent silent the chat message will not create any notifications",
  16135. "schema": {
  16136. "type": "integer",
  16137. "default": 0,
  16138. "enum": [
  16139. 0,
  16140. 1
  16141. ]
  16142. }
  16143. },
  16144. {
  16145. "name": "apiVersion",
  16146. "in": "path",
  16147. "required": true,
  16148. "schema": {
  16149. "type": "string",
  16150. "enum": [
  16151. "v1"
  16152. ],
  16153. "default": "v1"
  16154. }
  16155. },
  16156. {
  16157. "name": "token",
  16158. "in": "path",
  16159. "description": "Conversation token",
  16160. "required": true,
  16161. "schema": {
  16162. "type": "string",
  16163. "pattern": "^[a-z0-9]{4,30}$"
  16164. }
  16165. },
  16166. {
  16167. "name": "OCS-APIRequest",
  16168. "in": "header",
  16169. "description": "Required to be true for the API request to pass",
  16170. "required": true,
  16171. "schema": {
  16172. "type": "boolean",
  16173. "default": true
  16174. }
  16175. }
  16176. ],
  16177. "responses": {
  16178. "201": {
  16179. "description": "Message sent successfully",
  16180. "content": {
  16181. "application/json": {
  16182. "schema": {
  16183. "type": "object",
  16184. "required": [
  16185. "ocs"
  16186. ],
  16187. "properties": {
  16188. "ocs": {
  16189. "type": "object",
  16190. "required": [
  16191. "meta",
  16192. "data"
  16193. ],
  16194. "properties": {
  16195. "meta": {
  16196. "$ref": "#/components/schemas/OCSMeta"
  16197. },
  16198. "data": {}
  16199. }
  16200. }
  16201. }
  16202. }
  16203. }
  16204. }
  16205. },
  16206. "400": {
  16207. "description": "When the replyTo is invalid or message is empty",
  16208. "content": {
  16209. "application/json": {
  16210. "schema": {
  16211. "type": "object",
  16212. "required": [
  16213. "ocs"
  16214. ],
  16215. "properties": {
  16216. "ocs": {
  16217. "type": "object",
  16218. "required": [
  16219. "meta",
  16220. "data"
  16221. ],
  16222. "properties": {
  16223. "meta": {
  16224. "$ref": "#/components/schemas/OCSMeta"
  16225. },
  16226. "data": {}
  16227. }
  16228. }
  16229. }
  16230. }
  16231. }
  16232. }
  16233. },
  16234. "401": {
  16235. "description": "Sending message is not allowed",
  16236. "content": {
  16237. "application/json": {
  16238. "schema": {
  16239. "type": "object",
  16240. "required": [
  16241. "ocs"
  16242. ],
  16243. "properties": {
  16244. "ocs": {
  16245. "type": "object",
  16246. "required": [
  16247. "meta",
  16248. "data"
  16249. ],
  16250. "properties": {
  16251. "meta": {
  16252. "$ref": "#/components/schemas/OCSMeta"
  16253. },
  16254. "data": {}
  16255. }
  16256. }
  16257. }
  16258. }
  16259. }
  16260. }
  16261. },
  16262. "413": {
  16263. "description": "Message too long",
  16264. "content": {
  16265. "application/json": {
  16266. "schema": {
  16267. "type": "object",
  16268. "required": [
  16269. "ocs"
  16270. ],
  16271. "properties": {
  16272. "ocs": {
  16273. "type": "object",
  16274. "required": [
  16275. "meta",
  16276. "data"
  16277. ],
  16278. "properties": {
  16279. "meta": {
  16280. "$ref": "#/components/schemas/OCSMeta"
  16281. },
  16282. "data": {}
  16283. }
  16284. }
  16285. }
  16286. }
  16287. }
  16288. }
  16289. }
  16290. }
  16291. }
  16292. },
  16293. "/ocs/v2.php/apps/spreed/api/{apiVersion}/bot/{token}/reaction/{messageId}": {
  16294. "post": {
  16295. "operationId": "bot-react",
  16296. "summary": "Adds a reaction to a chat message",
  16297. "tags": [
  16298. "bot"
  16299. ],
  16300. "security": [
  16301. {},
  16302. {
  16303. "bearer_auth": []
  16304. },
  16305. {
  16306. "basic_auth": []
  16307. }
  16308. ],
  16309. "parameters": [
  16310. {
  16311. "name": "reaction",
  16312. "in": "query",
  16313. "description": "Reaction to add",
  16314. "required": true,
  16315. "schema": {
  16316. "type": "string"
  16317. }
  16318. },
  16319. {
  16320. "name": "apiVersion",
  16321. "in": "path",
  16322. "required": true,
  16323. "schema": {
  16324. "type": "string",
  16325. "enum": [
  16326. "v1"
  16327. ],
  16328. "default": "v1"
  16329. }
  16330. },
  16331. {
  16332. "name": "token",
  16333. "in": "path",
  16334. "description": "Conversation token",
  16335. "required": true,
  16336. "schema": {
  16337. "type": "string",
  16338. "pattern": "^[a-z0-9]{4,30}$"
  16339. }
  16340. },
  16341. {
  16342. "name": "messageId",
  16343. "in": "path",
  16344. "description": "ID of the message",
  16345. "required": true,
  16346. "schema": {
  16347. "type": "integer",
  16348. "format": "int64"
  16349. }
  16350. },
  16351. {
  16352. "name": "OCS-APIRequest",
  16353. "in": "header",
  16354. "description": "Required to be true for the API request to pass",
  16355. "required": true,
  16356. "schema": {
  16357. "type": "boolean",
  16358. "default": true
  16359. }
  16360. }
  16361. ],
  16362. "responses": {
  16363. "200": {
  16364. "description": "Reaction already exists",
  16365. "content": {
  16366. "application/json": {
  16367. "schema": {
  16368. "type": "object",
  16369. "required": [
  16370. "ocs"
  16371. ],
  16372. "properties": {
  16373. "ocs": {
  16374. "type": "object",
  16375. "required": [
  16376. "meta",
  16377. "data"
  16378. ],
  16379. "properties": {
  16380. "meta": {
  16381. "$ref": "#/components/schemas/OCSMeta"
  16382. },
  16383. "data": {}
  16384. }
  16385. }
  16386. }
  16387. }
  16388. }
  16389. }
  16390. },
  16391. "201": {
  16392. "description": "Reacted successfully",
  16393. "content": {
  16394. "application/json": {
  16395. "schema": {
  16396. "type": "object",
  16397. "required": [
  16398. "ocs"
  16399. ],
  16400. "properties": {
  16401. "ocs": {
  16402. "type": "object",
  16403. "required": [
  16404. "meta",
  16405. "data"
  16406. ],
  16407. "properties": {
  16408. "meta": {
  16409. "$ref": "#/components/schemas/OCSMeta"
  16410. },
  16411. "data": {}
  16412. }
  16413. }
  16414. }
  16415. }
  16416. }
  16417. }
  16418. },
  16419. "400": {
  16420. "description": "Reacting is not possible",
  16421. "content": {
  16422. "application/json": {
  16423. "schema": {
  16424. "type": "object",
  16425. "required": [
  16426. "ocs"
  16427. ],
  16428. "properties": {
  16429. "ocs": {
  16430. "type": "object",
  16431. "required": [
  16432. "meta",
  16433. "data"
  16434. ],
  16435. "properties": {
  16436. "meta": {
  16437. "$ref": "#/components/schemas/OCSMeta"
  16438. },
  16439. "data": {}
  16440. }
  16441. }
  16442. }
  16443. }
  16444. }
  16445. }
  16446. },
  16447. "401": {
  16448. "description": "Reacting is not allowed",
  16449. "content": {
  16450. "application/json": {
  16451. "schema": {
  16452. "type": "object",
  16453. "required": [
  16454. "ocs"
  16455. ],
  16456. "properties": {
  16457. "ocs": {
  16458. "type": "object",
  16459. "required": [
  16460. "meta",
  16461. "data"
  16462. ],
  16463. "properties": {
  16464. "meta": {
  16465. "$ref": "#/components/schemas/OCSMeta"
  16466. },
  16467. "data": {}
  16468. }
  16469. }
  16470. }
  16471. }
  16472. }
  16473. }
  16474. },
  16475. "404": {
  16476. "description": "Reaction not found",
  16477. "content": {
  16478. "application/json": {
  16479. "schema": {
  16480. "type": "object",
  16481. "required": [
  16482. "ocs"
  16483. ],
  16484. "properties": {
  16485. "ocs": {
  16486. "type": "object",
  16487. "required": [
  16488. "meta",
  16489. "data"
  16490. ],
  16491. "properties": {
  16492. "meta": {
  16493. "$ref": "#/components/schemas/OCSMeta"
  16494. },
  16495. "data": {}
  16496. }
  16497. }
  16498. }
  16499. }
  16500. }
  16501. }
  16502. }
  16503. }
  16504. },
  16505. "delete": {
  16506. "operationId": "bot-delete-reaction",
  16507. "summary": "Deletes a reaction from a chat message",
  16508. "tags": [
  16509. "bot"
  16510. ],
  16511. "security": [
  16512. {},
  16513. {
  16514. "bearer_auth": []
  16515. },
  16516. {
  16517. "basic_auth": []
  16518. }
  16519. ],
  16520. "parameters": [
  16521. {
  16522. "name": "reaction",
  16523. "in": "query",
  16524. "description": "Reaction to delete",
  16525. "required": true,
  16526. "schema": {
  16527. "type": "string"
  16528. }
  16529. },
  16530. {
  16531. "name": "apiVersion",
  16532. "in": "path",
  16533. "required": true,
  16534. "schema": {
  16535. "type": "string",
  16536. "enum": [
  16537. "v1"
  16538. ],
  16539. "default": "v1"
  16540. }
  16541. },
  16542. {
  16543. "name": "token",
  16544. "in": "path",
  16545. "description": "Conversation token",
  16546. "required": true,
  16547. "schema": {
  16548. "type": "string",
  16549. "pattern": "^[a-z0-9]{4,30}$"
  16550. }
  16551. },
  16552. {
  16553. "name": "messageId",
  16554. "in": "path",
  16555. "description": "ID of the message",
  16556. "required": true,
  16557. "schema": {
  16558. "type": "integer",
  16559. "format": "int64"
  16560. }
  16561. },
  16562. {
  16563. "name": "OCS-APIRequest",
  16564. "in": "header",
  16565. "description": "Required to be true for the API request to pass",
  16566. "required": true,
  16567. "schema": {
  16568. "type": "boolean",
  16569. "default": true
  16570. }
  16571. }
  16572. ],
  16573. "responses": {
  16574. "200": {
  16575. "description": "Reaction deleted successfully",
  16576. "content": {
  16577. "application/json": {
  16578. "schema": {
  16579. "type": "object",
  16580. "required": [
  16581. "ocs"
  16582. ],
  16583. "properties": {
  16584. "ocs": {
  16585. "type": "object",
  16586. "required": [
  16587. "meta",
  16588. "data"
  16589. ],
  16590. "properties": {
  16591. "meta": {
  16592. "$ref": "#/components/schemas/OCSMeta"
  16593. },
  16594. "data": {}
  16595. }
  16596. }
  16597. }
  16598. }
  16599. }
  16600. }
  16601. },
  16602. "400": {
  16603. "description": "Reacting is not possible",
  16604. "content": {
  16605. "application/json": {
  16606. "schema": {
  16607. "type": "object",
  16608. "required": [
  16609. "ocs"
  16610. ],
  16611. "properties": {
  16612. "ocs": {
  16613. "type": "object",
  16614. "required": [
  16615. "meta",
  16616. "data"
  16617. ],
  16618. "properties": {
  16619. "meta": {
  16620. "$ref": "#/components/schemas/OCSMeta"
  16621. },
  16622. "data": {}
  16623. }
  16624. }
  16625. }
  16626. }
  16627. }
  16628. }
  16629. },
  16630. "404": {
  16631. "description": "Reaction not found",
  16632. "content": {
  16633. "application/json": {
  16634. "schema": {
  16635. "type": "object",
  16636. "required": [
  16637. "ocs"
  16638. ],
  16639. "properties": {
  16640. "ocs": {
  16641. "type": "object",
  16642. "required": [
  16643. "meta",
  16644. "data"
  16645. ],
  16646. "properties": {
  16647. "meta": {
  16648. "$ref": "#/components/schemas/OCSMeta"
  16649. },
  16650. "data": {}
  16651. }
  16652. }
  16653. }
  16654. }
  16655. }
  16656. }
  16657. },
  16658. "401": {
  16659. "description": "Reacting is not allowed",
  16660. "content": {
  16661. "application/json": {
  16662. "schema": {
  16663. "type": "object",
  16664. "required": [
  16665. "ocs"
  16666. ],
  16667. "properties": {
  16668. "ocs": {
  16669. "type": "object",
  16670. "required": [
  16671. "meta",
  16672. "data"
  16673. ],
  16674. "properties": {
  16675. "meta": {
  16676. "$ref": "#/components/schemas/OCSMeta"
  16677. },
  16678. "data": {}
  16679. }
  16680. }
  16681. }
  16682. }
  16683. }
  16684. }
  16685. }
  16686. }
  16687. }
  16688. },
  16689. "/ocs/v2.php/apps/spreed/api/{apiVersion}/bot/admin": {
  16690. "get": {
  16691. "operationId": "settings-admin-list-bots",
  16692. "summary": "List admin bots",
  16693. "description": "This endpoint requires admin access",
  16694. "tags": [
  16695. "settings"
  16696. ],
  16697. "security": [
  16698. {
  16699. "bearer_auth": []
  16700. },
  16701. {
  16702. "basic_auth": []
  16703. }
  16704. ],
  16705. "parameters": [
  16706. {
  16707. "name": "apiVersion",
  16708. "in": "path",
  16709. "required": true,
  16710. "schema": {
  16711. "type": "string",
  16712. "enum": [
  16713. "v1"
  16714. ],
  16715. "default": "v1"
  16716. }
  16717. },
  16718. {
  16719. "name": "OCS-APIRequest",
  16720. "in": "header",
  16721. "description": "Required to be true for the API request to pass",
  16722. "required": true,
  16723. "schema": {
  16724. "type": "boolean",
  16725. "default": true
  16726. }
  16727. }
  16728. ],
  16729. "responses": {
  16730. "200": {
  16731. "description": "Bot list returned",
  16732. "content": {
  16733. "application/json": {
  16734. "schema": {
  16735. "type": "object",
  16736. "required": [
  16737. "ocs"
  16738. ],
  16739. "properties": {
  16740. "ocs": {
  16741. "type": "object",
  16742. "required": [
  16743. "meta",
  16744. "data"
  16745. ],
  16746. "properties": {
  16747. "meta": {
  16748. "$ref": "#/components/schemas/OCSMeta"
  16749. },
  16750. "data": {
  16751. "type": "array",
  16752. "items": {
  16753. "$ref": "#/components/schemas/BotWithDetails"
  16754. }
  16755. }
  16756. }
  16757. }
  16758. }
  16759. }
  16760. }
  16761. }
  16762. }
  16763. }
  16764. }
  16765. },
  16766. "/ocs/v2.php/apps/spreed/api/{apiVersion}/certificate/expiration": {
  16767. "get": {
  16768. "operationId": "settings-get-certificate-expiration",
  16769. "summary": "Get the certificate expiration for a host",
  16770. "description": "This endpoint requires admin access",
  16771. "tags": [
  16772. "settings"
  16773. ],
  16774. "security": [
  16775. {
  16776. "bearer_auth": []
  16777. },
  16778. {
  16779. "basic_auth": []
  16780. }
  16781. ],
  16782. "parameters": [
  16783. {
  16784. "name": "host",
  16785. "in": "query",
  16786. "description": "Host to check",
  16787. "required": true,
  16788. "schema": {
  16789. "type": "string"
  16790. }
  16791. },
  16792. {
  16793. "name": "apiVersion",
  16794. "in": "path",
  16795. "required": true,
  16796. "schema": {
  16797. "type": "string",
  16798. "enum": [
  16799. "v1"
  16800. ],
  16801. "default": "v1"
  16802. }
  16803. },
  16804. {
  16805. "name": "OCS-APIRequest",
  16806. "in": "header",
  16807. "description": "Required to be true for the API request to pass",
  16808. "required": true,
  16809. "schema": {
  16810. "type": "boolean",
  16811. "default": true
  16812. }
  16813. }
  16814. ],
  16815. "responses": {
  16816. "200": {
  16817. "description": "Certificate expiration returned",
  16818. "content": {
  16819. "application/json": {
  16820. "schema": {
  16821. "type": "object",
  16822. "required": [
  16823. "ocs"
  16824. ],
  16825. "properties": {
  16826. "ocs": {
  16827. "type": "object",
  16828. "required": [
  16829. "meta",
  16830. "data"
  16831. ],
  16832. "properties": {
  16833. "meta": {
  16834. "$ref": "#/components/schemas/OCSMeta"
  16835. },
  16836. "data": {
  16837. "type": "object",
  16838. "required": [
  16839. "expiration_in_days"
  16840. ],
  16841. "properties": {
  16842. "expiration_in_days": {
  16843. "type": "integer",
  16844. "format": "int64",
  16845. "nullable": true
  16846. }
  16847. }
  16848. }
  16849. }
  16850. }
  16851. }
  16852. }
  16853. }
  16854. }
  16855. },
  16856. "400": {
  16857. "description": "Getting certificate expiration is not possible",
  16858. "content": {
  16859. "application/json": {
  16860. "schema": {
  16861. "type": "object",
  16862. "required": [
  16863. "ocs"
  16864. ],
  16865. "properties": {
  16866. "ocs": {
  16867. "type": "object",
  16868. "required": [
  16869. "meta",
  16870. "data"
  16871. ],
  16872. "properties": {
  16873. "meta": {
  16874. "$ref": "#/components/schemas/OCSMeta"
  16875. },
  16876. "data": {
  16877. "type": "object",
  16878. "required": [
  16879. "message"
  16880. ],
  16881. "properties": {
  16882. "message": {
  16883. "type": "string"
  16884. }
  16885. }
  16886. }
  16887. }
  16888. }
  16889. }
  16890. }
  16891. }
  16892. }
  16893. }
  16894. }
  16895. }
  16896. },
  16897. "/ocs/v2.php/apps/spreed/api/{apiVersion}/hostedsignalingserver/requesttrial": {
  16898. "post": {
  16899. "operationId": "hosted_signaling_server-request-trial",
  16900. "summary": "Request a trial account",
  16901. "description": "This endpoint requires admin access",
  16902. "tags": [
  16903. "hosted_signaling_server"
  16904. ],
  16905. "security": [
  16906. {
  16907. "bearer_auth": []
  16908. },
  16909. {
  16910. "basic_auth": []
  16911. }
  16912. ],
  16913. "parameters": [
  16914. {
  16915. "name": "url",
  16916. "in": "query",
  16917. "description": "Server URL",
  16918. "required": true,
  16919. "schema": {
  16920. "type": "string"
  16921. }
  16922. },
  16923. {
  16924. "name": "name",
  16925. "in": "query",
  16926. "description": "Display name of the user",
  16927. "required": true,
  16928. "schema": {
  16929. "type": "string"
  16930. }
  16931. },
  16932. {
  16933. "name": "email",
  16934. "in": "query",
  16935. "description": "Email of the user",
  16936. "required": true,
  16937. "schema": {
  16938. "type": "string"
  16939. }
  16940. },
  16941. {
  16942. "name": "language",
  16943. "in": "query",
  16944. "description": "Language of the user",
  16945. "required": true,
  16946. "schema": {
  16947. "type": "string"
  16948. }
  16949. },
  16950. {
  16951. "name": "country",
  16952. "in": "query",
  16953. "description": "Country of the user",
  16954. "required": true,
  16955. "schema": {
  16956. "type": "string"
  16957. }
  16958. },
  16959. {
  16960. "name": "apiVersion",
  16961. "in": "path",
  16962. "required": true,
  16963. "schema": {
  16964. "type": "string",
  16965. "enum": [
  16966. "v1"
  16967. ],
  16968. "default": "v1"
  16969. }
  16970. },
  16971. {
  16972. "name": "OCS-APIRequest",
  16973. "in": "header",
  16974. "description": "Required to be true for the API request to pass",
  16975. "required": true,
  16976. "schema": {
  16977. "type": "boolean",
  16978. "default": true
  16979. }
  16980. }
  16981. ],
  16982. "responses": {
  16983. "200": {
  16984. "description": "Trial requested successfully",
  16985. "content": {
  16986. "application/json": {
  16987. "schema": {
  16988. "type": "object",
  16989. "required": [
  16990. "ocs"
  16991. ],
  16992. "properties": {
  16993. "ocs": {
  16994. "type": "object",
  16995. "required": [
  16996. "meta",
  16997. "data"
  16998. ],
  16999. "properties": {
  17000. "meta": {
  17001. "$ref": "#/components/schemas/OCSMeta"
  17002. },
  17003. "data": {
  17004. "type": "object",
  17005. "additionalProperties": {
  17006. "type": "object"
  17007. }
  17008. }
  17009. }
  17010. }
  17011. }
  17012. }
  17013. }
  17014. }
  17015. },
  17016. "400": {
  17017. "description": "Requesting trial is not possible",
  17018. "content": {
  17019. "application/json": {
  17020. "schema": {
  17021. "type": "object",
  17022. "required": [
  17023. "ocs"
  17024. ],
  17025. "properties": {
  17026. "ocs": {
  17027. "type": "object",
  17028. "required": [
  17029. "meta",
  17030. "data"
  17031. ],
  17032. "properties": {
  17033. "meta": {
  17034. "$ref": "#/components/schemas/OCSMeta"
  17035. },
  17036. "data": {
  17037. "type": "object",
  17038. "required": [
  17039. "message"
  17040. ],
  17041. "properties": {
  17042. "message": {
  17043. "type": "string"
  17044. }
  17045. }
  17046. }
  17047. }
  17048. }
  17049. }
  17050. }
  17051. }
  17052. }
  17053. },
  17054. "500": {
  17055. "description": "",
  17056. "content": {
  17057. "application/json": {
  17058. "schema": {
  17059. "type": "object",
  17060. "required": [
  17061. "ocs"
  17062. ],
  17063. "properties": {
  17064. "ocs": {
  17065. "type": "object",
  17066. "required": [
  17067. "meta",
  17068. "data"
  17069. ],
  17070. "properties": {
  17071. "meta": {
  17072. "$ref": "#/components/schemas/OCSMeta"
  17073. },
  17074. "data": {
  17075. "type": "object",
  17076. "required": [
  17077. "message"
  17078. ],
  17079. "properties": {
  17080. "message": {
  17081. "type": "string"
  17082. }
  17083. }
  17084. }
  17085. }
  17086. }
  17087. }
  17088. }
  17089. }
  17090. }
  17091. }
  17092. }
  17093. }
  17094. },
  17095. "/ocs/v2.php/apps/spreed/api/{apiVersion}/hostedsignalingserver/delete": {
  17096. "delete": {
  17097. "operationId": "hosted_signaling_server-delete-account",
  17098. "summary": "Delete the account",
  17099. "description": "This endpoint requires admin access",
  17100. "tags": [
  17101. "hosted_signaling_server"
  17102. ],
  17103. "security": [
  17104. {
  17105. "bearer_auth": []
  17106. },
  17107. {
  17108. "basic_auth": []
  17109. }
  17110. ],
  17111. "parameters": [
  17112. {
  17113. "name": "apiVersion",
  17114. "in": "path",
  17115. "required": true,
  17116. "schema": {
  17117. "type": "string",
  17118. "enum": [
  17119. "v1"
  17120. ],
  17121. "default": "v1"
  17122. }
  17123. },
  17124. {
  17125. "name": "OCS-APIRequest",
  17126. "in": "header",
  17127. "description": "Required to be true for the API request to pass",
  17128. "required": true,
  17129. "schema": {
  17130. "type": "boolean",
  17131. "default": true
  17132. }
  17133. }
  17134. ],
  17135. "responses": {
  17136. "204": {
  17137. "description": "Account deleted successfully",
  17138. "content": {
  17139. "application/json": {
  17140. "schema": {
  17141. "type": "object",
  17142. "required": [
  17143. "ocs"
  17144. ],
  17145. "properties": {
  17146. "ocs": {
  17147. "type": "object",
  17148. "required": [
  17149. "meta",
  17150. "data"
  17151. ],
  17152. "properties": {
  17153. "meta": {
  17154. "$ref": "#/components/schemas/OCSMeta"
  17155. },
  17156. "data": {}
  17157. }
  17158. }
  17159. }
  17160. }
  17161. }
  17162. }
  17163. },
  17164. "400": {
  17165. "description": "Deleting account is not possible",
  17166. "content": {
  17167. "application/json": {
  17168. "schema": {
  17169. "type": "object",
  17170. "required": [
  17171. "ocs"
  17172. ],
  17173. "properties": {
  17174. "ocs": {
  17175. "type": "object",
  17176. "required": [
  17177. "meta",
  17178. "data"
  17179. ],
  17180. "properties": {
  17181. "meta": {
  17182. "$ref": "#/components/schemas/OCSMeta"
  17183. },
  17184. "data": {
  17185. "type": "object",
  17186. "required": [
  17187. "message"
  17188. ],
  17189. "properties": {
  17190. "message": {
  17191. "type": "string"
  17192. }
  17193. }
  17194. }
  17195. }
  17196. }
  17197. }
  17198. }
  17199. }
  17200. }
  17201. },
  17202. "500": {
  17203. "description": "",
  17204. "content": {
  17205. "application/json": {
  17206. "schema": {
  17207. "type": "object",
  17208. "required": [
  17209. "ocs"
  17210. ],
  17211. "properties": {
  17212. "ocs": {
  17213. "type": "object",
  17214. "required": [
  17215. "meta",
  17216. "data"
  17217. ],
  17218. "properties": {
  17219. "meta": {
  17220. "$ref": "#/components/schemas/OCSMeta"
  17221. },
  17222. "data": {
  17223. "type": "object",
  17224. "required": [
  17225. "message"
  17226. ],
  17227. "properties": {
  17228. "message": {
  17229. "type": "string"
  17230. }
  17231. }
  17232. }
  17233. }
  17234. }
  17235. }
  17236. }
  17237. }
  17238. }
  17239. }
  17240. }
  17241. }
  17242. },
  17243. "/ocs/v2.php/apps/spreed/api/{apiVersion}/bridge": {
  17244. "delete": {
  17245. "operationId": "matterbridge-stop-all-bridges",
  17246. "summary": "Stop all bridges",
  17247. "description": "This endpoint requires admin access",
  17248. "tags": [
  17249. "matterbridge"
  17250. ],
  17251. "security": [
  17252. {
  17253. "bearer_auth": []
  17254. },
  17255. {
  17256. "basic_auth": []
  17257. }
  17258. ],
  17259. "parameters": [
  17260. {
  17261. "name": "apiVersion",
  17262. "in": "path",
  17263. "required": true,
  17264. "schema": {
  17265. "type": "string",
  17266. "enum": [
  17267. "v1"
  17268. ],
  17269. "default": "v1"
  17270. }
  17271. },
  17272. {
  17273. "name": "OCS-APIRequest",
  17274. "in": "header",
  17275. "description": "Required to be true for the API request to pass",
  17276. "required": true,
  17277. "schema": {
  17278. "type": "boolean",
  17279. "default": true
  17280. }
  17281. }
  17282. ],
  17283. "responses": {
  17284. "200": {
  17285. "description": "All bridges stopped successfully",
  17286. "content": {
  17287. "application/json": {
  17288. "schema": {
  17289. "type": "object",
  17290. "required": [
  17291. "ocs"
  17292. ],
  17293. "properties": {
  17294. "ocs": {
  17295. "type": "object",
  17296. "required": [
  17297. "meta",
  17298. "data"
  17299. ],
  17300. "properties": {
  17301. "meta": {
  17302. "$ref": "#/components/schemas/OCSMeta"
  17303. },
  17304. "data": {
  17305. "type": "boolean"
  17306. }
  17307. }
  17308. }
  17309. }
  17310. }
  17311. }
  17312. }
  17313. },
  17314. "406": {
  17315. "description": "Stopping all bridges is not possible",
  17316. "content": {
  17317. "application/json": {
  17318. "schema": {
  17319. "type": "object",
  17320. "required": [
  17321. "ocs"
  17322. ],
  17323. "properties": {
  17324. "ocs": {
  17325. "type": "object",
  17326. "required": [
  17327. "meta",
  17328. "data"
  17329. ],
  17330. "properties": {
  17331. "meta": {
  17332. "$ref": "#/components/schemas/OCSMeta"
  17333. },
  17334. "data": {
  17335. "type": "object",
  17336. "required": [
  17337. "error"
  17338. ],
  17339. "properties": {
  17340. "error": {
  17341. "type": "string"
  17342. }
  17343. }
  17344. }
  17345. }
  17346. }
  17347. }
  17348. }
  17349. }
  17350. }
  17351. }
  17352. }
  17353. }
  17354. },
  17355. "/ocs/v2.php/apps/spreed/api/{apiVersion}/bridge/version": {
  17356. "get": {
  17357. "operationId": "matterbridge-get-matterbridge-version",
  17358. "summary": "Get Matterbridge version",
  17359. "description": "This endpoint requires admin access",
  17360. "tags": [
  17361. "matterbridge"
  17362. ],
  17363. "security": [
  17364. {
  17365. "bearer_auth": []
  17366. },
  17367. {
  17368. "basic_auth": []
  17369. }
  17370. ],
  17371. "parameters": [
  17372. {
  17373. "name": "apiVersion",
  17374. "in": "path",
  17375. "required": true,
  17376. "schema": {
  17377. "type": "string",
  17378. "enum": [
  17379. "v1"
  17380. ],
  17381. "default": "v1"
  17382. }
  17383. },
  17384. {
  17385. "name": "OCS-APIRequest",
  17386. "in": "header",
  17387. "description": "Required to be true for the API request to pass",
  17388. "required": true,
  17389. "schema": {
  17390. "type": "boolean",
  17391. "default": true
  17392. }
  17393. }
  17394. ],
  17395. "responses": {
  17396. "200": {
  17397. "description": "Bridge version returned",
  17398. "content": {
  17399. "application/json": {
  17400. "schema": {
  17401. "type": "object",
  17402. "required": [
  17403. "ocs"
  17404. ],
  17405. "properties": {
  17406. "ocs": {
  17407. "type": "object",
  17408. "required": [
  17409. "meta",
  17410. "data"
  17411. ],
  17412. "properties": {
  17413. "meta": {
  17414. "$ref": "#/components/schemas/OCSMeta"
  17415. },
  17416. "data": {
  17417. "type": "object",
  17418. "required": [
  17419. "version"
  17420. ],
  17421. "properties": {
  17422. "version": {
  17423. "type": "string"
  17424. }
  17425. }
  17426. }
  17427. }
  17428. }
  17429. }
  17430. }
  17431. }
  17432. }
  17433. },
  17434. "400": {
  17435. "description": "Getting bridge version is not possible",
  17436. "content": {
  17437. "application/json": {
  17438. "schema": {
  17439. "type": "object",
  17440. "required": [
  17441. "ocs"
  17442. ],
  17443. "properties": {
  17444. "ocs": {
  17445. "type": "object",
  17446. "required": [
  17447. "meta",
  17448. "data"
  17449. ],
  17450. "properties": {
  17451. "meta": {
  17452. "$ref": "#/components/schemas/OCSMeta"
  17453. },
  17454. "data": {
  17455. "type": "object",
  17456. "required": [
  17457. "error"
  17458. ],
  17459. "properties": {
  17460. "error": {
  17461. "type": "string"
  17462. }
  17463. }
  17464. }
  17465. }
  17466. }
  17467. }
  17468. }
  17469. }
  17470. }
  17471. }
  17472. }
  17473. }
  17474. },
  17475. "/ocs/v2.php/apps/spreed/api/{apiVersion}/recording/welcome/{serverId}": {
  17476. "get": {
  17477. "operationId": "settings-get-welcome-message",
  17478. "summary": "Get the welcome message of a recording server",
  17479. "description": "This endpoint requires admin access",
  17480. "tags": [
  17481. "settings"
  17482. ],
  17483. "security": [
  17484. {
  17485. "bearer_auth": []
  17486. },
  17487. {
  17488. "basic_auth": []
  17489. }
  17490. ],
  17491. "parameters": [
  17492. {
  17493. "name": "apiVersion",
  17494. "in": "path",
  17495. "required": true,
  17496. "schema": {
  17497. "type": "string",
  17498. "enum": [
  17499. "v1"
  17500. ],
  17501. "default": "v1"
  17502. }
  17503. },
  17504. {
  17505. "name": "serverId",
  17506. "in": "path",
  17507. "description": "ID of the server",
  17508. "required": true,
  17509. "schema": {
  17510. "type": "integer",
  17511. "format": "int64",
  17512. "minimum": 0
  17513. }
  17514. },
  17515. {
  17516. "name": "OCS-APIRequest",
  17517. "in": "header",
  17518. "description": "Required to be true for the API request to pass",
  17519. "required": true,
  17520. "schema": {
  17521. "type": "boolean",
  17522. "default": true
  17523. }
  17524. }
  17525. ],
  17526. "responses": {
  17527. "200": {
  17528. "description": "Welcome message returned",
  17529. "content": {
  17530. "application/json": {
  17531. "schema": {
  17532. "type": "object",
  17533. "required": [
  17534. "ocs"
  17535. ],
  17536. "properties": {
  17537. "ocs": {
  17538. "type": "object",
  17539. "required": [
  17540. "meta",
  17541. "data"
  17542. ],
  17543. "properties": {
  17544. "meta": {
  17545. "$ref": "#/components/schemas/OCSMeta"
  17546. },
  17547. "data": {
  17548. "type": "object",
  17549. "required": [
  17550. "version"
  17551. ],
  17552. "properties": {
  17553. "version": {
  17554. "type": "number",
  17555. "format": "float"
  17556. }
  17557. }
  17558. }
  17559. }
  17560. }
  17561. }
  17562. }
  17563. }
  17564. }
  17565. },
  17566. "404": {
  17567. "description": "Recording server not found or not configured",
  17568. "content": {
  17569. "application/json": {
  17570. "schema": {
  17571. "type": "object",
  17572. "required": [
  17573. "ocs"
  17574. ],
  17575. "properties": {
  17576. "ocs": {
  17577. "type": "object",
  17578. "required": [
  17579. "meta",
  17580. "data"
  17581. ],
  17582. "properties": {
  17583. "meta": {
  17584. "$ref": "#/components/schemas/OCSMeta"
  17585. },
  17586. "data": {}
  17587. }
  17588. }
  17589. }
  17590. }
  17591. }
  17592. }
  17593. },
  17594. "500": {
  17595. "description": "",
  17596. "content": {
  17597. "application/json": {
  17598. "schema": {
  17599. "type": "object",
  17600. "required": [
  17601. "ocs"
  17602. ],
  17603. "properties": {
  17604. "ocs": {
  17605. "type": "object",
  17606. "required": [
  17607. "meta",
  17608. "data"
  17609. ],
  17610. "properties": {
  17611. "meta": {
  17612. "$ref": "#/components/schemas/OCSMeta"
  17613. },
  17614. "data": {
  17615. "type": "object",
  17616. "required": [
  17617. "error"
  17618. ],
  17619. "properties": {
  17620. "error": {
  17621. "type": "string"
  17622. }
  17623. }
  17624. }
  17625. }
  17626. }
  17627. }
  17628. }
  17629. }
  17630. }
  17631. }
  17632. }
  17633. }
  17634. },
  17635. "/ocs/v2.php/apps/spreed/api/{apiVersion}/settings/sip": {
  17636. "post": {
  17637. "operationId": "settings-setsip-settings",
  17638. "summary": "Update SIP bridge settings",
  17639. "description": "This endpoint requires admin access",
  17640. "tags": [
  17641. "settings"
  17642. ],
  17643. "security": [
  17644. {
  17645. "bearer_auth": []
  17646. },
  17647. {
  17648. "basic_auth": []
  17649. }
  17650. ],
  17651. "parameters": [
  17652. {
  17653. "name": "sipGroups[]",
  17654. "in": "query",
  17655. "description": "New SIP groups",
  17656. "schema": {
  17657. "type": "array",
  17658. "default": [],
  17659. "items": {
  17660. "type": "string"
  17661. }
  17662. }
  17663. },
  17664. {
  17665. "name": "dialInInfo",
  17666. "in": "query",
  17667. "description": "New dial info",
  17668. "schema": {
  17669. "type": "string",
  17670. "default": ""
  17671. }
  17672. },
  17673. {
  17674. "name": "sharedSecret",
  17675. "in": "query",
  17676. "description": "New shared secret",
  17677. "schema": {
  17678. "type": "string",
  17679. "default": ""
  17680. }
  17681. },
  17682. {
  17683. "name": "apiVersion",
  17684. "in": "path",
  17685. "required": true,
  17686. "schema": {
  17687. "type": "string",
  17688. "enum": [
  17689. "v1"
  17690. ],
  17691. "default": "v1"
  17692. }
  17693. },
  17694. {
  17695. "name": "OCS-APIRequest",
  17696. "in": "header",
  17697. "description": "Required to be true for the API request to pass",
  17698. "required": true,
  17699. "schema": {
  17700. "type": "boolean",
  17701. "default": true
  17702. }
  17703. }
  17704. ],
  17705. "responses": {
  17706. "200": {
  17707. "description": "Successfully set new SIP settings",
  17708. "content": {
  17709. "application/json": {
  17710. "schema": {
  17711. "type": "object",
  17712. "required": [
  17713. "ocs"
  17714. ],
  17715. "properties": {
  17716. "ocs": {
  17717. "type": "object",
  17718. "required": [
  17719. "meta",
  17720. "data"
  17721. ],
  17722. "properties": {
  17723. "meta": {
  17724. "$ref": "#/components/schemas/OCSMeta"
  17725. },
  17726. "data": {}
  17727. }
  17728. }
  17729. }
  17730. }
  17731. }
  17732. }
  17733. }
  17734. }
  17735. }
  17736. },
  17737. "/ocs/v2.php/apps/spreed/api/{apiVersion}/signaling/welcome/{serverId}": {
  17738. "get": {
  17739. "operationId": "settings-get-welcome-message",
  17740. "summary": "Get the welcome message from a signaling server",
  17741. "description": "Only available for logged-in users because guests can not use the apps right now.\nThis endpoint requires admin access",
  17742. "tags": [
  17743. "settings"
  17744. ],
  17745. "security": [
  17746. {
  17747. "bearer_auth": []
  17748. },
  17749. {
  17750. "basic_auth": []
  17751. }
  17752. ],
  17753. "parameters": [
  17754. {
  17755. "name": "apiVersion",
  17756. "in": "path",
  17757. "required": true,
  17758. "schema": {
  17759. "type": "string",
  17760. "enum": [
  17761. "v3"
  17762. ],
  17763. "default": "v3"
  17764. }
  17765. },
  17766. {
  17767. "name": "serverId",
  17768. "in": "path",
  17769. "description": "ID of the signaling server",
  17770. "required": true,
  17771. "schema": {
  17772. "type": "integer",
  17773. "format": "int64",
  17774. "minimum": 0
  17775. }
  17776. },
  17777. {
  17778. "name": "OCS-APIRequest",
  17779. "in": "header",
  17780. "description": "Required to be true for the API request to pass",
  17781. "required": true,
  17782. "schema": {
  17783. "type": "boolean",
  17784. "default": true
  17785. }
  17786. }
  17787. ],
  17788. "responses": {
  17789. "200": {
  17790. "description": "Welcome message returned",
  17791. "content": {
  17792. "application/json": {
  17793. "schema": {
  17794. "type": "object",
  17795. "required": [
  17796. "ocs"
  17797. ],
  17798. "properties": {
  17799. "ocs": {
  17800. "type": "object",
  17801. "required": [
  17802. "meta",
  17803. "data"
  17804. ],
  17805. "properties": {
  17806. "meta": {
  17807. "$ref": "#/components/schemas/OCSMeta"
  17808. },
  17809. "data": {
  17810. "type": "object",
  17811. "additionalProperties": {
  17812. "type": "object"
  17813. }
  17814. }
  17815. }
  17816. }
  17817. }
  17818. }
  17819. }
  17820. }
  17821. },
  17822. "404": {
  17823. "description": "Signaling server not found",
  17824. "content": {
  17825. "application/json": {
  17826. "schema": {
  17827. "type": "object",
  17828. "required": [
  17829. "ocs"
  17830. ],
  17831. "properties": {
  17832. "ocs": {
  17833. "type": "object",
  17834. "required": [
  17835. "meta",
  17836. "data"
  17837. ],
  17838. "properties": {
  17839. "meta": {
  17840. "$ref": "#/components/schemas/OCSMeta"
  17841. },
  17842. "data": {}
  17843. }
  17844. }
  17845. }
  17846. }
  17847. }
  17848. }
  17849. },
  17850. "500": {
  17851. "description": "",
  17852. "content": {
  17853. "application/json": {
  17854. "schema": {
  17855. "type": "object",
  17856. "required": [
  17857. "ocs"
  17858. ],
  17859. "properties": {
  17860. "ocs": {
  17861. "type": "object",
  17862. "required": [
  17863. "meta",
  17864. "data"
  17865. ],
  17866. "properties": {
  17867. "meta": {
  17868. "$ref": "#/components/schemas/OCSMeta"
  17869. },
  17870. "data": {
  17871. "type": "object",
  17872. "required": [
  17873. "error"
  17874. ],
  17875. "properties": {
  17876. "error": {
  17877. "type": "string"
  17878. },
  17879. "version": {
  17880. "type": "string"
  17881. }
  17882. }
  17883. }
  17884. }
  17885. }
  17886. }
  17887. }
  17888. }
  17889. }
  17890. }
  17891. }
  17892. }
  17893. },
  17894. "/ocs/v2.php/apps/spreed/api/{apiVersion}/recording/backend": {
  17895. "post": {
  17896. "operationId": "recording-backend",
  17897. "summary": "Update the recording status as a backend",
  17898. "tags": [
  17899. "recording"
  17900. ],
  17901. "security": [
  17902. {},
  17903. {
  17904. "bearer_auth": []
  17905. },
  17906. {
  17907. "basic_auth": []
  17908. }
  17909. ],
  17910. "parameters": [
  17911. {
  17912. "name": "apiVersion",
  17913. "in": "path",
  17914. "required": true,
  17915. "schema": {
  17916. "type": "string",
  17917. "enum": [
  17918. "v1"
  17919. ],
  17920. "default": "v1"
  17921. }
  17922. },
  17923. {
  17924. "name": "OCS-APIRequest",
  17925. "in": "header",
  17926. "description": "Required to be true for the API request to pass",
  17927. "required": true,
  17928. "schema": {
  17929. "type": "boolean",
  17930. "default": true
  17931. }
  17932. }
  17933. ],
  17934. "responses": {
  17935. "200": {
  17936. "description": "Recording status updated successfully",
  17937. "content": {
  17938. "application/json": {
  17939. "schema": {
  17940. "type": "object",
  17941. "required": [
  17942. "ocs"
  17943. ],
  17944. "properties": {
  17945. "ocs": {
  17946. "type": "object",
  17947. "required": [
  17948. "meta",
  17949. "data"
  17950. ],
  17951. "properties": {
  17952. "meta": {
  17953. "$ref": "#/components/schemas/OCSMeta"
  17954. },
  17955. "data": {}
  17956. }
  17957. }
  17958. }
  17959. }
  17960. }
  17961. }
  17962. },
  17963. "400": {
  17964. "description": "Updating recording status is not possible",
  17965. "content": {
  17966. "application/json": {
  17967. "schema": {
  17968. "type": "object",
  17969. "required": [
  17970. "ocs"
  17971. ],
  17972. "properties": {
  17973. "ocs": {
  17974. "type": "object",
  17975. "required": [
  17976. "meta",
  17977. "data"
  17978. ],
  17979. "properties": {
  17980. "meta": {
  17981. "$ref": "#/components/schemas/OCSMeta"
  17982. },
  17983. "data": {
  17984. "type": "object",
  17985. "required": [
  17986. "type",
  17987. "error"
  17988. ],
  17989. "properties": {
  17990. "type": {
  17991. "type": "string"
  17992. },
  17993. "error": {
  17994. "type": "object",
  17995. "required": [
  17996. "code",
  17997. "message"
  17998. ],
  17999. "properties": {
  18000. "code": {
  18001. "type": "string"
  18002. },
  18003. "message": {
  18004. "type": "string"
  18005. }
  18006. }
  18007. }
  18008. }
  18009. }
  18010. }
  18011. }
  18012. }
  18013. }
  18014. }
  18015. }
  18016. },
  18017. "403": {
  18018. "description": "Missing permissions to update recording status",
  18019. "content": {
  18020. "application/json": {
  18021. "schema": {
  18022. "type": "object",
  18023. "required": [
  18024. "ocs"
  18025. ],
  18026. "properties": {
  18027. "ocs": {
  18028. "type": "object",
  18029. "required": [
  18030. "meta",
  18031. "data"
  18032. ],
  18033. "properties": {
  18034. "meta": {
  18035. "$ref": "#/components/schemas/OCSMeta"
  18036. },
  18037. "data": {
  18038. "type": "object",
  18039. "required": [
  18040. "type",
  18041. "error"
  18042. ],
  18043. "properties": {
  18044. "type": {
  18045. "type": "string"
  18046. },
  18047. "error": {
  18048. "type": "object",
  18049. "required": [
  18050. "code",
  18051. "message"
  18052. ],
  18053. "properties": {
  18054. "code": {
  18055. "type": "string"
  18056. },
  18057. "message": {
  18058. "type": "string"
  18059. }
  18060. }
  18061. }
  18062. }
  18063. }
  18064. }
  18065. }
  18066. }
  18067. }
  18068. }
  18069. }
  18070. },
  18071. "404": {
  18072. "description": "Room not found",
  18073. "content": {
  18074. "application/json": {
  18075. "schema": {
  18076. "type": "object",
  18077. "required": [
  18078. "ocs"
  18079. ],
  18080. "properties": {
  18081. "ocs": {
  18082. "type": "object",
  18083. "required": [
  18084. "meta",
  18085. "data"
  18086. ],
  18087. "properties": {
  18088. "meta": {
  18089. "$ref": "#/components/schemas/OCSMeta"
  18090. },
  18091. "data": {
  18092. "type": "object",
  18093. "required": [
  18094. "type",
  18095. "error"
  18096. ],
  18097. "properties": {
  18098. "type": {
  18099. "type": "string"
  18100. },
  18101. "error": {
  18102. "type": "object",
  18103. "required": [
  18104. "code",
  18105. "message"
  18106. ],
  18107. "properties": {
  18108. "code": {
  18109. "type": "string"
  18110. },
  18111. "message": {
  18112. "type": "string"
  18113. }
  18114. }
  18115. }
  18116. }
  18117. }
  18118. }
  18119. }
  18120. }
  18121. }
  18122. }
  18123. }
  18124. }
  18125. }
  18126. }
  18127. },
  18128. "/ocs/v2.php/apps/spreed/api/{apiVersion}/recording/{token}/store": {
  18129. "post": {
  18130. "operationId": "recording-store",
  18131. "summary": "Store the recording",
  18132. "tags": [
  18133. "recording"
  18134. ],
  18135. "security": [
  18136. {},
  18137. {
  18138. "bearer_auth": []
  18139. },
  18140. {
  18141. "basic_auth": []
  18142. }
  18143. ],
  18144. "parameters": [
  18145. {
  18146. "name": "owner",
  18147. "in": "query",
  18148. "description": "User that will own the recording file",
  18149. "required": true,
  18150. "schema": {
  18151. "type": "string"
  18152. }
  18153. },
  18154. {
  18155. "name": "apiVersion",
  18156. "in": "path",
  18157. "required": true,
  18158. "schema": {
  18159. "type": "string",
  18160. "enum": [
  18161. "v1"
  18162. ],
  18163. "default": "v1"
  18164. }
  18165. },
  18166. {
  18167. "name": "token",
  18168. "in": "path",
  18169. "required": true,
  18170. "schema": {
  18171. "type": "string",
  18172. "pattern": "^[a-z0-9]{4,30}$"
  18173. }
  18174. },
  18175. {
  18176. "name": "OCS-APIRequest",
  18177. "in": "header",
  18178. "description": "Required to be true for the API request to pass",
  18179. "required": true,
  18180. "schema": {
  18181. "type": "boolean",
  18182. "default": true
  18183. }
  18184. }
  18185. ],
  18186. "responses": {
  18187. "200": {
  18188. "description": "Recording stored successfully",
  18189. "content": {
  18190. "application/json": {
  18191. "schema": {
  18192. "type": "object",
  18193. "required": [
  18194. "ocs"
  18195. ],
  18196. "properties": {
  18197. "ocs": {
  18198. "type": "object",
  18199. "required": [
  18200. "meta",
  18201. "data"
  18202. ],
  18203. "properties": {
  18204. "meta": {
  18205. "$ref": "#/components/schemas/OCSMeta"
  18206. },
  18207. "data": {}
  18208. }
  18209. }
  18210. }
  18211. }
  18212. }
  18213. }
  18214. },
  18215. "400": {
  18216. "description": "Storing recording is not possible",
  18217. "content": {
  18218. "application/json": {
  18219. "schema": {
  18220. "type": "object",
  18221. "required": [
  18222. "ocs"
  18223. ],
  18224. "properties": {
  18225. "ocs": {
  18226. "type": "object",
  18227. "required": [
  18228. "meta",
  18229. "data"
  18230. ],
  18231. "properties": {
  18232. "meta": {
  18233. "$ref": "#/components/schemas/OCSMeta"
  18234. },
  18235. "data": {
  18236. "type": "object",
  18237. "required": [
  18238. "error"
  18239. ],
  18240. "properties": {
  18241. "error": {
  18242. "type": "string"
  18243. }
  18244. }
  18245. }
  18246. }
  18247. }
  18248. }
  18249. }
  18250. }
  18251. }
  18252. },
  18253. "401": {
  18254. "description": "Missing permissions to store recording",
  18255. "content": {
  18256. "application/json": {
  18257. "schema": {
  18258. "type": "object",
  18259. "required": [
  18260. "ocs"
  18261. ],
  18262. "properties": {
  18263. "ocs": {
  18264. "type": "object",
  18265. "required": [
  18266. "meta",
  18267. "data"
  18268. ],
  18269. "properties": {
  18270. "meta": {
  18271. "$ref": "#/components/schemas/OCSMeta"
  18272. },
  18273. "data": {
  18274. "type": "object",
  18275. "required": [
  18276. "type",
  18277. "error"
  18278. ],
  18279. "properties": {
  18280. "type": {
  18281. "type": "string"
  18282. },
  18283. "error": {
  18284. "type": "object",
  18285. "required": [
  18286. "code",
  18287. "message"
  18288. ],
  18289. "properties": {
  18290. "code": {
  18291. "type": "string"
  18292. },
  18293. "message": {
  18294. "type": "string"
  18295. }
  18296. }
  18297. }
  18298. }
  18299. }
  18300. }
  18301. }
  18302. }
  18303. }
  18304. }
  18305. }
  18306. }
  18307. }
  18308. }
  18309. },
  18310. "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/pin/{pin}": {
  18311. "get": {
  18312. "operationId": "room-verify-dial-in-pin",
  18313. "summary": "Verify a dial-in PIN (SIP bridge)",
  18314. "tags": [
  18315. "room"
  18316. ],
  18317. "security": [
  18318. {},
  18319. {
  18320. "bearer_auth": []
  18321. },
  18322. {
  18323. "basic_auth": []
  18324. }
  18325. ],
  18326. "parameters": [
  18327. {
  18328. "name": "apiVersion",
  18329. "in": "path",
  18330. "required": true,
  18331. "schema": {
  18332. "type": "string",
  18333. "enum": [
  18334. "v4"
  18335. ],
  18336. "default": "v4"
  18337. }
  18338. },
  18339. {
  18340. "name": "token",
  18341. "in": "path",
  18342. "required": true,
  18343. "schema": {
  18344. "type": "string",
  18345. "pattern": "^[a-z0-9]{4,30}$"
  18346. }
  18347. },
  18348. {
  18349. "name": "pin",
  18350. "in": "path",
  18351. "description": "PIN the participant used to dial-in",
  18352. "required": true,
  18353. "schema": {
  18354. "type": "string",
  18355. "pattern": "^\\d{7,32}$"
  18356. }
  18357. },
  18358. {
  18359. "name": "OCS-APIRequest",
  18360. "in": "header",
  18361. "description": "Required to be true for the API request to pass",
  18362. "required": true,
  18363. "schema": {
  18364. "type": "boolean",
  18365. "default": true
  18366. }
  18367. }
  18368. ],
  18369. "responses": {
  18370. "200": {
  18371. "description": "Participant returned",
  18372. "content": {
  18373. "application/json": {
  18374. "schema": {
  18375. "type": "object",
  18376. "required": [
  18377. "ocs"
  18378. ],
  18379. "properties": {
  18380. "ocs": {
  18381. "type": "object",
  18382. "required": [
  18383. "meta",
  18384. "data"
  18385. ],
  18386. "properties": {
  18387. "meta": {
  18388. "$ref": "#/components/schemas/OCSMeta"
  18389. },
  18390. "data": {
  18391. "$ref": "#/components/schemas/Room"
  18392. }
  18393. }
  18394. }
  18395. }
  18396. }
  18397. }
  18398. }
  18399. },
  18400. "401": {
  18401. "description": "SIP request invalid",
  18402. "content": {
  18403. "application/json": {
  18404. "schema": {
  18405. "type": "object",
  18406. "required": [
  18407. "ocs"
  18408. ],
  18409. "properties": {
  18410. "ocs": {
  18411. "type": "object",
  18412. "required": [
  18413. "meta",
  18414. "data"
  18415. ],
  18416. "properties": {
  18417. "meta": {
  18418. "$ref": "#/components/schemas/OCSMeta"
  18419. },
  18420. "data": {}
  18421. }
  18422. }
  18423. }
  18424. }
  18425. }
  18426. }
  18427. },
  18428. "404": {
  18429. "description": "Participant not found",
  18430. "content": {
  18431. "application/json": {
  18432. "schema": {
  18433. "type": "object",
  18434. "required": [
  18435. "ocs"
  18436. ],
  18437. "properties": {
  18438. "ocs": {
  18439. "type": "object",
  18440. "required": [
  18441. "meta",
  18442. "data"
  18443. ],
  18444. "properties": {
  18445. "meta": {
  18446. "$ref": "#/components/schemas/OCSMeta"
  18447. },
  18448. "data": {}
  18449. }
  18450. }
  18451. }
  18452. }
  18453. }
  18454. }
  18455. },
  18456. "501": {
  18457. "description": "SIP dial-in is not configured",
  18458. "content": {
  18459. "application/json": {
  18460. "schema": {
  18461. "type": "object",
  18462. "required": [
  18463. "ocs"
  18464. ],
  18465. "properties": {
  18466. "ocs": {
  18467. "type": "object",
  18468. "required": [
  18469. "meta",
  18470. "data"
  18471. ],
  18472. "properties": {
  18473. "meta": {
  18474. "$ref": "#/components/schemas/OCSMeta"
  18475. },
  18476. "data": {}
  18477. }
  18478. }
  18479. }
  18480. }
  18481. }
  18482. }
  18483. }
  18484. }
  18485. }
  18486. },
  18487. "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/verify-dialin": {
  18488. "post": {
  18489. "operationId": "room-verify-dial-in-pin",
  18490. "summary": "Verify a dial-in PIN (SIP bridge)",
  18491. "tags": [
  18492. "room"
  18493. ],
  18494. "security": [
  18495. {},
  18496. {
  18497. "bearer_auth": []
  18498. },
  18499. {
  18500. "basic_auth": []
  18501. }
  18502. ],
  18503. "parameters": [
  18504. {
  18505. "name": "pin",
  18506. "in": "query",
  18507. "description": "PIN the participant used to dial-in",
  18508. "required": true,
  18509. "schema": {
  18510. "type": "string"
  18511. }
  18512. },
  18513. {
  18514. "name": "apiVersion",
  18515. "in": "path",
  18516. "required": true,
  18517. "schema": {
  18518. "type": "string",
  18519. "enum": [
  18520. "v4"
  18521. ],
  18522. "default": "v4"
  18523. }
  18524. },
  18525. {
  18526. "name": "token",
  18527. "in": "path",
  18528. "required": true,
  18529. "schema": {
  18530. "type": "string",
  18531. "pattern": "^[a-z0-9]{4,30}$"
  18532. }
  18533. },
  18534. {
  18535. "name": "OCS-APIRequest",
  18536. "in": "header",
  18537. "description": "Required to be true for the API request to pass",
  18538. "required": true,
  18539. "schema": {
  18540. "type": "boolean",
  18541. "default": true
  18542. }
  18543. }
  18544. ],
  18545. "responses": {
  18546. "200": {
  18547. "description": "Participant returned",
  18548. "content": {
  18549. "application/json": {
  18550. "schema": {
  18551. "type": "object",
  18552. "required": [
  18553. "ocs"
  18554. ],
  18555. "properties": {
  18556. "ocs": {
  18557. "type": "object",
  18558. "required": [
  18559. "meta",
  18560. "data"
  18561. ],
  18562. "properties": {
  18563. "meta": {
  18564. "$ref": "#/components/schemas/OCSMeta"
  18565. },
  18566. "data": {
  18567. "$ref": "#/components/schemas/Room"
  18568. }
  18569. }
  18570. }
  18571. }
  18572. }
  18573. }
  18574. }
  18575. },
  18576. "401": {
  18577. "description": "SIP request invalid",
  18578. "content": {
  18579. "application/json": {
  18580. "schema": {
  18581. "type": "object",
  18582. "required": [
  18583. "ocs"
  18584. ],
  18585. "properties": {
  18586. "ocs": {
  18587. "type": "object",
  18588. "required": [
  18589. "meta",
  18590. "data"
  18591. ],
  18592. "properties": {
  18593. "meta": {
  18594. "$ref": "#/components/schemas/OCSMeta"
  18595. },
  18596. "data": {}
  18597. }
  18598. }
  18599. }
  18600. }
  18601. }
  18602. }
  18603. },
  18604. "404": {
  18605. "description": "Participant not found",
  18606. "content": {
  18607. "application/json": {
  18608. "schema": {
  18609. "type": "object",
  18610. "required": [
  18611. "ocs"
  18612. ],
  18613. "properties": {
  18614. "ocs": {
  18615. "type": "object",
  18616. "required": [
  18617. "meta",
  18618. "data"
  18619. ],
  18620. "properties": {
  18621. "meta": {
  18622. "$ref": "#/components/schemas/OCSMeta"
  18623. },
  18624. "data": {}
  18625. }
  18626. }
  18627. }
  18628. }
  18629. }
  18630. }
  18631. },
  18632. "501": {
  18633. "description": "SIP dial-in is not configured",
  18634. "content": {
  18635. "application/json": {
  18636. "schema": {
  18637. "type": "object",
  18638. "required": [
  18639. "ocs"
  18640. ],
  18641. "properties": {
  18642. "ocs": {
  18643. "type": "object",
  18644. "required": [
  18645. "meta",
  18646. "data"
  18647. ],
  18648. "properties": {
  18649. "meta": {
  18650. "$ref": "#/components/schemas/OCSMeta"
  18651. },
  18652. "data": {}
  18653. }
  18654. }
  18655. }
  18656. }
  18657. }
  18658. }
  18659. }
  18660. }
  18661. }
  18662. },
  18663. "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/verify-dialout": {
  18664. "post": {
  18665. "operationId": "room-verify-dial-out-number",
  18666. "summary": "Verify a dial-out number (SIP bridge)",
  18667. "tags": [
  18668. "room"
  18669. ],
  18670. "security": [
  18671. {},
  18672. {
  18673. "bearer_auth": []
  18674. },
  18675. {
  18676. "basic_auth": []
  18677. }
  18678. ],
  18679. "parameters": [
  18680. {
  18681. "name": "number",
  18682. "in": "query",
  18683. "description": "E164 formatted phone number",
  18684. "required": true,
  18685. "schema": {
  18686. "type": "string"
  18687. }
  18688. },
  18689. {
  18690. "name": "options",
  18691. "in": "query",
  18692. "description": "Additional details to verify the validity of the request",
  18693. "schema": {
  18694. "type": "string"
  18695. }
  18696. },
  18697. {
  18698. "name": "apiVersion",
  18699. "in": "path",
  18700. "required": true,
  18701. "schema": {
  18702. "type": "string",
  18703. "enum": [
  18704. "v4"
  18705. ],
  18706. "default": "v4"
  18707. }
  18708. },
  18709. {
  18710. "name": "token",
  18711. "in": "path",
  18712. "required": true,
  18713. "schema": {
  18714. "type": "string",
  18715. "pattern": "^[a-z0-9]{4,30}$"
  18716. }
  18717. },
  18718. {
  18719. "name": "OCS-APIRequest",
  18720. "in": "header",
  18721. "description": "Required to be true for the API request to pass",
  18722. "required": true,
  18723. "schema": {
  18724. "type": "boolean",
  18725. "default": true
  18726. }
  18727. }
  18728. ],
  18729. "responses": {
  18730. "200": {
  18731. "description": "Participant created successfully",
  18732. "content": {
  18733. "application/json": {
  18734. "schema": {
  18735. "type": "object",
  18736. "required": [
  18737. "ocs"
  18738. ],
  18739. "properties": {
  18740. "ocs": {
  18741. "type": "object",
  18742. "required": [
  18743. "meta",
  18744. "data"
  18745. ],
  18746. "properties": {
  18747. "meta": {
  18748. "$ref": "#/components/schemas/OCSMeta"
  18749. },
  18750. "data": {
  18751. "$ref": "#/components/schemas/Room"
  18752. }
  18753. }
  18754. }
  18755. }
  18756. }
  18757. }
  18758. }
  18759. },
  18760. "400": {
  18761. "description": "Phone number and details could not be confirmed",
  18762. "content": {
  18763. "application/json": {
  18764. "schema": {
  18765. "type": "object",
  18766. "required": [
  18767. "ocs"
  18768. ],
  18769. "properties": {
  18770. "ocs": {
  18771. "type": "object",
  18772. "required": [
  18773. "meta",
  18774. "data"
  18775. ],
  18776. "properties": {
  18777. "meta": {
  18778. "$ref": "#/components/schemas/OCSMeta"
  18779. },
  18780. "data": {}
  18781. }
  18782. }
  18783. }
  18784. }
  18785. }
  18786. }
  18787. },
  18788. "401": {
  18789. "description": "SIP request invalid",
  18790. "content": {
  18791. "application/json": {
  18792. "schema": {
  18793. "type": "object",
  18794. "required": [
  18795. "ocs"
  18796. ],
  18797. "properties": {
  18798. "ocs": {
  18799. "type": "object",
  18800. "required": [
  18801. "meta",
  18802. "data"
  18803. ],
  18804. "properties": {
  18805. "meta": {
  18806. "$ref": "#/components/schemas/OCSMeta"
  18807. },
  18808. "data": {}
  18809. }
  18810. }
  18811. }
  18812. }
  18813. }
  18814. }
  18815. },
  18816. "404": {
  18817. "description": "Phone number is not invited as a participant",
  18818. "content": {
  18819. "application/json": {
  18820. "schema": {
  18821. "type": "object",
  18822. "required": [
  18823. "ocs"
  18824. ],
  18825. "properties": {
  18826. "ocs": {
  18827. "type": "object",
  18828. "required": [
  18829. "meta",
  18830. "data"
  18831. ],
  18832. "properties": {
  18833. "meta": {
  18834. "$ref": "#/components/schemas/OCSMeta"
  18835. },
  18836. "data": {}
  18837. }
  18838. }
  18839. }
  18840. }
  18841. }
  18842. }
  18843. },
  18844. "501": {
  18845. "description": "SIP dial-out is not configured",
  18846. "content": {
  18847. "application/json": {
  18848. "schema": {
  18849. "type": "object",
  18850. "required": [
  18851. "ocs"
  18852. ],
  18853. "properties": {
  18854. "ocs": {
  18855. "type": "object",
  18856. "required": [
  18857. "meta",
  18858. "data"
  18859. ],
  18860. "properties": {
  18861. "meta": {
  18862. "$ref": "#/components/schemas/OCSMeta"
  18863. },
  18864. "data": {}
  18865. }
  18866. }
  18867. }
  18868. }
  18869. }
  18870. }
  18871. }
  18872. }
  18873. }
  18874. },
  18875. "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/open-dial-in": {
  18876. "post": {
  18877. "operationId": "room-create-guest-by-dial-in",
  18878. "summary": "Create a guest by their dial-in",
  18879. "tags": [
  18880. "room"
  18881. ],
  18882. "security": [
  18883. {},
  18884. {
  18885. "bearer_auth": []
  18886. },
  18887. {
  18888. "basic_auth": []
  18889. }
  18890. ],
  18891. "parameters": [
  18892. {
  18893. "name": "apiVersion",
  18894. "in": "path",
  18895. "required": true,
  18896. "schema": {
  18897. "type": "string",
  18898. "enum": [
  18899. "v4"
  18900. ],
  18901. "default": "v4"
  18902. }
  18903. },
  18904. {
  18905. "name": "token",
  18906. "in": "path",
  18907. "required": true,
  18908. "schema": {
  18909. "type": "string",
  18910. "pattern": "^[a-z0-9]{4,30}$"
  18911. }
  18912. },
  18913. {
  18914. "name": "OCS-APIRequest",
  18915. "in": "header",
  18916. "description": "Required to be true for the API request to pass",
  18917. "required": true,
  18918. "schema": {
  18919. "type": "boolean",
  18920. "default": true
  18921. }
  18922. }
  18923. ],
  18924. "responses": {
  18925. "200": {
  18926. "description": "Participant created successfully",
  18927. "content": {
  18928. "application/json": {
  18929. "schema": {
  18930. "type": "object",
  18931. "required": [
  18932. "ocs"
  18933. ],
  18934. "properties": {
  18935. "ocs": {
  18936. "type": "object",
  18937. "required": [
  18938. "meta",
  18939. "data"
  18940. ],
  18941. "properties": {
  18942. "meta": {
  18943. "$ref": "#/components/schemas/OCSMeta"
  18944. },
  18945. "data": {
  18946. "$ref": "#/components/schemas/Room"
  18947. }
  18948. }
  18949. }
  18950. }
  18951. }
  18952. }
  18953. }
  18954. },
  18955. "400": {
  18956. "description": "SIP not enabled",
  18957. "content": {
  18958. "application/json": {
  18959. "schema": {
  18960. "type": "object",
  18961. "required": [
  18962. "ocs"
  18963. ],
  18964. "properties": {
  18965. "ocs": {
  18966. "type": "object",
  18967. "required": [
  18968. "meta",
  18969. "data"
  18970. ],
  18971. "properties": {
  18972. "meta": {
  18973. "$ref": "#/components/schemas/OCSMeta"
  18974. },
  18975. "data": {}
  18976. }
  18977. }
  18978. }
  18979. }
  18980. }
  18981. }
  18982. },
  18983. "401": {
  18984. "description": "SIP request invalid",
  18985. "content": {
  18986. "application/json": {
  18987. "schema": {
  18988. "type": "object",
  18989. "required": [
  18990. "ocs"
  18991. ],
  18992. "properties": {
  18993. "ocs": {
  18994. "type": "object",
  18995. "required": [
  18996. "meta",
  18997. "data"
  18998. ],
  18999. "properties": {
  19000. "meta": {
  19001. "$ref": "#/components/schemas/OCSMeta"
  19002. },
  19003. "data": {}
  19004. }
  19005. }
  19006. }
  19007. }
  19008. }
  19009. }
  19010. }
  19011. }
  19012. }
  19013. },
  19014. "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/rejected-dialout": {
  19015. "delete": {
  19016. "operationId": "room-rejected-dial-out-request",
  19017. "summary": "Reset call ID of a dial-out participant when the SIP gateway rejected it",
  19018. "tags": [
  19019. "room"
  19020. ],
  19021. "security": [
  19022. {},
  19023. {
  19024. "bearer_auth": []
  19025. },
  19026. {
  19027. "basic_auth": []
  19028. }
  19029. ],
  19030. "parameters": [
  19031. {
  19032. "name": "callId",
  19033. "in": "query",
  19034. "description": "The call ID provided by the SIP bridge earlier to uniquely identify the call to terminate",
  19035. "required": true,
  19036. "schema": {
  19037. "type": "string"
  19038. }
  19039. },
  19040. {
  19041. "name": "options",
  19042. "in": "query",
  19043. "description": "Additional details to verify the validity of the request",
  19044. "schema": {
  19045. "type": "string"
  19046. }
  19047. },
  19048. {
  19049. "name": "apiVersion",
  19050. "in": "path",
  19051. "required": true,
  19052. "schema": {
  19053. "type": "string",
  19054. "enum": [
  19055. "v4"
  19056. ],
  19057. "default": "v4"
  19058. }
  19059. },
  19060. {
  19061. "name": "token",
  19062. "in": "path",
  19063. "required": true,
  19064. "schema": {
  19065. "type": "string",
  19066. "pattern": "^[a-z0-9]{4,30}$"
  19067. }
  19068. },
  19069. {
  19070. "name": "OCS-APIRequest",
  19071. "in": "header",
  19072. "description": "Required to be true for the API request to pass",
  19073. "required": true,
  19074. "schema": {
  19075. "type": "boolean",
  19076. "default": true
  19077. }
  19078. }
  19079. ],
  19080. "responses": {
  19081. "200": {
  19082. "description": "Call ID reset",
  19083. "content": {
  19084. "application/json": {
  19085. "schema": {
  19086. "type": "object",
  19087. "required": [
  19088. "ocs"
  19089. ],
  19090. "properties": {
  19091. "ocs": {
  19092. "type": "object",
  19093. "required": [
  19094. "meta",
  19095. "data"
  19096. ],
  19097. "properties": {
  19098. "meta": {
  19099. "$ref": "#/components/schemas/OCSMeta"
  19100. },
  19101. "data": {}
  19102. }
  19103. }
  19104. }
  19105. }
  19106. }
  19107. }
  19108. },
  19109. "400": {
  19110. "description": "Call ID mismatch or attendeeId not found in $options",
  19111. "content": {
  19112. "application/json": {
  19113. "schema": {
  19114. "type": "object",
  19115. "required": [
  19116. "ocs"
  19117. ],
  19118. "properties": {
  19119. "ocs": {
  19120. "type": "object",
  19121. "required": [
  19122. "meta",
  19123. "data"
  19124. ],
  19125. "properties": {
  19126. "meta": {
  19127. "$ref": "#/components/schemas/OCSMeta"
  19128. },
  19129. "data": {}
  19130. }
  19131. }
  19132. }
  19133. }
  19134. }
  19135. }
  19136. },
  19137. "401": {
  19138. "description": "SIP request invalid",
  19139. "content": {
  19140. "application/json": {
  19141. "schema": {
  19142. "type": "object",
  19143. "required": [
  19144. "ocs"
  19145. ],
  19146. "properties": {
  19147. "ocs": {
  19148. "type": "object",
  19149. "required": [
  19150. "meta",
  19151. "data"
  19152. ],
  19153. "properties": {
  19154. "meta": {
  19155. "$ref": "#/components/schemas/OCSMeta"
  19156. },
  19157. "data": {}
  19158. }
  19159. }
  19160. }
  19161. }
  19162. }
  19163. }
  19164. },
  19165. "404": {
  19166. "description": "Participant was not found",
  19167. "content": {
  19168. "application/json": {
  19169. "schema": {
  19170. "type": "object",
  19171. "required": [
  19172. "ocs"
  19173. ],
  19174. "properties": {
  19175. "ocs": {
  19176. "type": "object",
  19177. "required": [
  19178. "meta",
  19179. "data"
  19180. ],
  19181. "properties": {
  19182. "meta": {
  19183. "$ref": "#/components/schemas/OCSMeta"
  19184. },
  19185. "data": {}
  19186. }
  19187. }
  19188. }
  19189. }
  19190. }
  19191. }
  19192. },
  19193. "501": {
  19194. "description": "SIP dial-out is not configured",
  19195. "content": {
  19196. "application/json": {
  19197. "schema": {
  19198. "type": "object",
  19199. "required": [
  19200. "ocs"
  19201. ],
  19202. "properties": {
  19203. "ocs": {
  19204. "type": "object",
  19205. "required": [
  19206. "meta",
  19207. "data"
  19208. ],
  19209. "properties": {
  19210. "meta": {
  19211. "$ref": "#/components/schemas/OCSMeta"
  19212. },
  19213. "data": {}
  19214. }
  19215. }
  19216. }
  19217. }
  19218. }
  19219. }
  19220. }
  19221. }
  19222. }
  19223. },
  19224. "/ocs/v2.php/apps/spreed/api/{apiVersion}/signaling/backend": {
  19225. "post": {
  19226. "operationId": "signaling-backend",
  19227. "summary": "Backend API to query information required for standalone signaling servers",
  19228. "description": "See sections \"Backend validation\" in https://nextcloud-spreed-signaling.readthedocs.io/en/latest/standalone-signaling-api-v1/#backend-requests",
  19229. "tags": [
  19230. "signaling"
  19231. ],
  19232. "security": [
  19233. {},
  19234. {
  19235. "bearer_auth": []
  19236. },
  19237. {
  19238. "basic_auth": []
  19239. }
  19240. ],
  19241. "parameters": [
  19242. {
  19243. "name": "apiVersion",
  19244. "in": "path",
  19245. "required": true,
  19246. "schema": {
  19247. "type": "string",
  19248. "enum": [
  19249. "v3"
  19250. ],
  19251. "default": "v3"
  19252. }
  19253. },
  19254. {
  19255. "name": "OCS-APIRequest",
  19256. "in": "header",
  19257. "description": "Required to be true for the API request to pass",
  19258. "required": true,
  19259. "schema": {
  19260. "type": "boolean",
  19261. "default": true
  19262. }
  19263. }
  19264. ],
  19265. "responses": {
  19266. "200": {
  19267. "description": "Always, sorry about that",
  19268. "content": {
  19269. "application/json": {
  19270. "schema": {
  19271. "type": "object",
  19272. "required": [
  19273. "ocs"
  19274. ],
  19275. "properties": {
  19276. "ocs": {
  19277. "type": "object",
  19278. "required": [
  19279. "meta",
  19280. "data"
  19281. ],
  19282. "properties": {
  19283. "meta": {
  19284. "$ref": "#/components/schemas/OCSMeta"
  19285. },
  19286. "data": {
  19287. "type": "object",
  19288. "required": [
  19289. "type"
  19290. ],
  19291. "properties": {
  19292. "type": {
  19293. "type": "string"
  19294. },
  19295. "error": {
  19296. "type": "object",
  19297. "required": [
  19298. "code",
  19299. "message"
  19300. ],
  19301. "properties": {
  19302. "code": {
  19303. "type": "string"
  19304. },
  19305. "message": {
  19306. "type": "string"
  19307. }
  19308. }
  19309. },
  19310. "auth": {
  19311. "type": "object",
  19312. "required": [
  19313. "version"
  19314. ],
  19315. "properties": {
  19316. "version": {
  19317. "type": "string"
  19318. },
  19319. "userid": {
  19320. "type": "string"
  19321. },
  19322. "user": {
  19323. "type": "object",
  19324. "additionalProperties": {
  19325. "type": "object"
  19326. }
  19327. }
  19328. }
  19329. },
  19330. "room": {
  19331. "type": "object",
  19332. "required": [
  19333. "version"
  19334. ],
  19335. "properties": {
  19336. "version": {
  19337. "type": "string"
  19338. },
  19339. "roomid": {
  19340. "type": "string"
  19341. },
  19342. "properties": {
  19343. "type": "object",
  19344. "additionalProperties": {
  19345. "type": "object"
  19346. }
  19347. },
  19348. "permissions": {
  19349. "type": "array",
  19350. "items": {
  19351. "type": "string"
  19352. }
  19353. },
  19354. "session": {
  19355. "type": "object",
  19356. "additionalProperties": {
  19357. "type": "object"
  19358. }
  19359. }
  19360. }
  19361. }
  19362. }
  19363. }
  19364. }
  19365. }
  19366. }
  19367. }
  19368. }
  19369. }
  19370. }
  19371. }
  19372. }
  19373. }
  19374. },
  19375. "tags": []
  19376. }