Warning, /webapps/ocs-apiserver/public/swagger/openapi.yaml is written in an unsupported language. File is not indexed.
0001 openapi: "3.0.0" 0002 info: 0003 title: OCS API 0004 description: "Partial implementation of the Open Collaboration Services v1.6 (https://www.freedesktop.org/wiki/Specifications/open-collaboration-services/). 0005 Important 0006 - The HTTP cache in the browser must be switched off, otherwise the same result can always be displayed. 0007 - Additional privacy tools or similar plugins should be switched off. Otherwise the CORS request may not work." 0008 version: 0.0.1 0009 termsOfService: "https://www.opendesktop.org/terms" 0010 contact: 0011 email: "contect@opendesktop.org" 0012 license: 0013 name: "GNU Affero General Public License" 0014 url: "http://www.gnu.org/licenses/" 0015 servers: 0016 - url: http://localhost:8070/ocs/v1 0017 description: DEV server 0018 - url: https://api.opendesktop.cc/ocs/v1 0019 description: Sandbox server (uses test data) 0020 - url: https://api.opendesktop.org/ocs/v1 0021 description: Production server (uses live data) 0022 paths: 0023 /content/categories: 0024 get: 0025 description: Returns a list of available categories 0026 tags: 0027 - content 0028 responses: 0029 200: 0030 description: "successful operation" 0031 content: 0032 application/json: 0033 schema: 0034 type: "object" 0035 properties: 0036 meta: 0037 $ref: "#/components/schemas/Meta" 0038 data: 0039 type: "array" 0040 items: 0041 $ref: "#/components/schemas/Category" 0042 xml: 0043 name: "data" 0044 wrapped: true 0045 application/xml: 0046 schema: 0047 type: "object" 0048 properties: 0049 meta: 0050 $ref: "#/components/schemas/Meta" 0051 categories: 0052 type: "array" 0053 items: 0054 $ref: "#/components/schemas/Category" 0055 xml: 0056 name: "data" 0057 wrapped: true 0058 xml: 0059 name: "ocs" 0060 wrapped: true 0061 /content/data: 0062 get: 0063 description: Gets a list of a specific set of contents. 0064 tags: 0065 - content 0066 security: 0067 - BasicAuth: [] 0068 - BearerAuth: [] 0069 parameters: 0070 - in: query 0071 name: categories 0072 schema: 0073 type: string 0074 description: Requested category IDs separated by ",". For backward compatibility with the OCS API specification, the values can also be separated by "x". 0075 - in: query 0076 name: search 0077 schema: 0078 type: string 0079 description: The part of the name of the item you want to find. 0080 - in: query 0081 name: tags 0082 schema: 0083 type: string 0084 description: tags parameter values separated by "," and "|" for or filter 0085 - in: query 0086 name: xdg_types 0087 schema: 0088 type: string 0089 description: xdg_types parameter values separated by "," 0090 - in: query 0091 name: ghns_excluded 0092 schema: 0093 type: string 0094 - in: query 0095 name: user 0096 schema: 0097 type: string 0098 description: show only contents from one specific user. 0099 - in: query 0100 name: showfavorites 0101 schema: 0102 type: string 0103 description: Show only favorites for auhtorized user 0104 - in: query 0105 name: sortmode 0106 schema: 0107 type: string 0108 enum: [new,alpha,high,down] 0109 - in: query 0110 name: page 0111 schema: 0112 type: string 0113 description: The content page. You can control the size of a page with the pagesize argument. The first page is 0, the second is 1, ... 0114 - in: query 0115 name: pagesize 0116 schema: 0117 type: string 0118 description: The amount of entries per page. 0119 responses: 0120 200: 0121 description: "successful operation" 0122 content: 0123 application/json: 0124 schema: 0125 type: "object" 0126 properties: 0127 meta: 0128 $ref: "#/components/schemas/Meta" 0129 data: 0130 type: "array" 0131 items: 0132 $ref: "#/components/schemas/ContentCategories" 0133 xml: 0134 name: "data" 0135 wrapped: true 0136 application/xml: 0137 schema: 0138 type: "object" 0139 properties: 0140 meta: 0141 $ref: "#/components/schemas/Meta" 0142 categories: 0143 type: "array" 0144 items: 0145 $ref: "#/components/schemas/ContentCategories" 0146 xml: 0147 name: "data" 0148 wrapped: true 0149 xml: 0150 name: "ocs" 0151 wrapped: true 0152 /content/data/{contentid}: 0153 get: 0154 description: Read content data of one specific content. 0155 tags: 0156 - content 0157 parameters: 0158 - in: path 0159 name: contentid 0160 schema: 0161 type: integer 0162 required: true 0163 responses: 0164 200: 0165 description: "successful operation" 0166 content: 0167 application/json: 0168 schema: 0169 type: "object" 0170 properties: 0171 meta: 0172 $ref: "#/components/schemas/Meta" 0173 data: 0174 type: "array" 0175 items: 0176 $ref: "#/components/schemas/ContentDetails" 0177 xml: 0178 name: "data" 0179 wrapped: true 0180 application/xml: 0181 schema: 0182 type: "object" 0183 properties: 0184 meta: 0185 $ref: "#/components/schemas/Meta" 0186 categories: 0187 type: "array" 0188 items: 0189 $ref: "#/components/schemas/ContentDetails" 0190 xml: 0191 name: "data" 0192 wrapped: true 0193 xml: 0194 name: "ocs" 0195 wrapped: true 0196 /content/download/{contentid}/{itemid}: 0197 get: 0198 description: Download or buy one specific content item. links to the package and links to repositories are supported. You get the dowloadlink or the packagename/packagerepository comination in the XML. 0199 tags: 0200 - content 0201 parameters: 0202 - in: path 0203 name: contentid 0204 schema: 0205 type: integer 0206 required: true 0207 - in: path 0208 name: itemid 0209 schema: 0210 type: integer 0211 required: true 0212 responses: 0213 200: 0214 description: "successful operation" 0215 content: 0216 application/json: 0217 schema: 0218 type: "object" 0219 properties: 0220 meta: 0221 $ref: "#/components/schemas/Meta" 0222 data: 0223 type: "array" 0224 items: 0225 $ref: "#/components/schemas/ContentDownload" 0226 xml: 0227 name: "data" 0228 wrapped: true 0229 application/xml: 0230 schema: 0231 type: "object" 0232 properties: 0233 meta: 0234 $ref: "#/components/schemas/Meta" 0235 categories: 0236 type: "array" 0237 items: 0238 $ref: "#/components/schemas/ContentDownload" 0239 xml: 0240 name: "data" 0241 wrapped: true 0242 xml: 0243 name: "ocs" 0244 wrapped: true 0245 /content/previewpic/{contentid}: 0246 get: 0247 description: tbd 0248 tags: 0249 - content 0250 parameters: 0251 - in: path 0252 name: contentid 0253 schema: 0254 type: integer 0255 required: true 0256 responses: 0257 200: 0258 description: "successful operation" 0259 /content/vote/{contentid}: 0260 get: 0261 description: Vote for one specific content. 0262 tags: 0263 - content 0264 security: 0265 - BasicAuth: [] 0266 - BearerAuth: [] 0267 parameters: 0268 - in: path 0269 name: contentid 0270 schema: 0271 type: integer 0272 required: true 0273 - in: query 0274 name: vote 0275 schema: 0276 type: integer 0277 minimum: 0 0278 maximum: 100 0279 required: true 0280 - in: query 0281 name: msg 0282 schema: 0283 type: string 0284 responses: 0285 200: 0286 description: "successful operation" 0287 content: 0288 application/json: 0289 schema: 0290 type: "object" 0291 properties: 0292 meta: 0293 $ref: "#/components/schemas/MetaVote" 0294 data: 0295 type: "object" 0296 xml: 0297 name: "data" 0298 wrapped: true 0299 application/xml: 0300 schema: 0301 type: "object" 0302 properties: 0303 meta: 0304 $ref: "#/components/schemas/MetaVote" 0305 data: 0306 type: "object" 0307 xml: 0308 name: "data" 0309 wrapped: true 0310 xml: 0311 name: "ocs" 0312 wrapped: true 0313 /person/check: 0314 post: 0315 description: Check if the given login and password or the API key is valid. It returns the associated username. 0316 tags: 0317 - person 0318 requestBody: 0319 required: true 0320 content: 0321 application/x-www-form-urlencoded: 0322 schema: 0323 type: object 0324 properties: 0325 login: # <!--- form field name 0326 type: string 0327 password: # <!--- form field name 0328 type: string 0329 required: 0330 - login 0331 - password 0332 responses: 0333 200: 0334 description: "successful operation" 0335 content: 0336 application/json: 0337 schema: 0338 anyOf: 0339 - $ref: "#/components/schemas/Meta" 0340 - $ref: "#/components/schemas/PersonId" 0341 example: 0342 status: "ok" 0343 statuscode: "100" 0344 message: "ok" 0345 data: 0346 details: "check" 0347 personid: "frank" 0348 application/xml: 0349 schema: 0350 type: "object" 0351 properties: 0352 meta: 0353 $ref: "#/components/schemas/Meta" 0354 data: 0355 type: "array" 0356 items: 0357 $ref: "#/components/schemas/PersonId" 0358 xml: 0359 name: "data" 0360 wrapped: true 0361 xml: 0362 name: "ocs" 0363 wrapped: true 0364 /person/data/{person_id}: 0365 get: 0366 description: Response Get the data from one specific person. Unauthorized request => The response contains only the public part of the personal data. Only authenticated users are allowed to access full data set. Authentication is done by sending a Basic HTTP Authorisation header. 0367 tags: 0368 - person 0369 security: 0370 - BasicAuth: [] 0371 - BearerAuth: [] 0372 parameters: 0373 - in: path 0374 name: person_id 0375 schema: 0376 type: string 0377 required: true 0378 description: ID of the user to get 0379 responses: 0380 "200": 0381 description: "successful operation" 0382 content: 0383 application/json: 0384 schema: 0385 anyOf: 0386 - $ref: "#/components/schemas/Meta" 0387 - $ref: "#/components/schemas/Person" 0388 example: 0389 status: "ok" 0390 statuscode: "100" 0391 message: "ok" 0392 data: 0393 details: "full" 0394 personid: "dummy" 0395 privacy: 0 0396 privacytext: "public" 0397 firstname: "dummy_firstname" 0398 lastname: "dummy_lastname" 0399 gender: "" 0400 communityrole: "" 0401 homepage: "www.pling.com" 0402 company: "" 0403 avatarpic: "http://www.pling.com/member/avatar/96515bebd8e2ecbd1cf4625035ddf045/800" 0404 avatarpicfound: 1 0405 bigavatarpic: "http://www.pling.com/member/avatar/96515bebd8e2ecbd1cf4625035ddf045/800" 0406 bigavatarpicfound: 1 0407 birthday: "" 0408 jobstatus: "" 0409 city: "Berlin" 0410 country: "Germany" 0411 latitude: "" 0412 longitude: "" 0413 ircnick: "" 0414 ircchannels: "" 0415 irclink: "" 0416 likes: "" 0417 dontlikes: "" 0418 interests: "" 0419 languages: "" 0420 programminglanguages: "" 0421 favouritequote: "" 0422 favouritemusic: "" 0423 favouritetvshows: "" 0424 favouritemovies: "" 0425 favouritebooks: "" 0426 favouritegames: "" 0427 description: "" 0428 profilepage: "http://www.pling.com/u/dummy" 0429 application/xml: 0430 schema: 0431 type: "object" 0432 properties: 0433 meta: 0434 $ref: "#/components/schemas/Meta" 0435 data: 0436 type: "array" 0437 items: 0438 $ref: "#/components/schemas/Person" 0439 xml: 0440 name: "data" 0441 wrapped: true 0442 xml: 0443 name: "ocs" 0444 wrapped: true 0445 /person/self: 0446 get: 0447 description: get the data from yourself. Only authenticated users are allowed to access this method. Authentication is done by sending a Basic HTTP Authorisation header. 0448 tags: 0449 - person 0450 security: 0451 - BasicAuth: [] 0452 - BearerAuth: [] 0453 - OpenID: [] 0454 responses: 0455 "200": 0456 description: "successful operation" 0457 content: 0458 application/json: 0459 schema: 0460 anyOf: 0461 - $ref: "#/components/schemas/Meta" 0462 - $ref: "#/components/schemas/Person" 0463 example: 0464 status: "ok" 0465 statuscode: "100" 0466 message: "ok" 0467 data: 0468 details: "full" 0469 personid: "dummy" 0470 privacy: 0 0471 privacytext: "public" 0472 firstname: "dummy_firstname" 0473 lastname: "dummy_lastname" 0474 gender: "" 0475 communityrole: "" 0476 homepage: "www.pling.com" 0477 company: "" 0478 avatarpic: "http://www.pling.com/member/avatar/96515bebd8e2ecbd1cf4625035ddf045/800" 0479 avatarpicfound: 1 0480 bigavatarpic: "http://www.pling.com/member/avatar/96515bebd8e2ecbd1cf4625035ddf045/800" 0481 bigavatarpicfound: 1 0482 birthday: "" 0483 jobstatus: "" 0484 city: "Berlin" 0485 country: "Germany" 0486 latitude: "" 0487 longitude: "" 0488 ircnick: "" 0489 ircchannels: "" 0490 irclink: "" 0491 likes: "" 0492 dontlikes: "" 0493 interests: "" 0494 languages: "" 0495 programminglanguages: "" 0496 favouritequote: "" 0497 favouritemusic: "" 0498 favouritetvshows: "" 0499 favouritemovies: "" 0500 favouritebooks: "" 0501 favouritegames: "" 0502 description: "" 0503 profilepage: "http://www.pling.com/u/dummy" 0504 application/xml: 0505 schema: 0506 type: "object" 0507 properties: 0508 meta: 0509 $ref: "#/components/schemas/Meta" 0510 data: 0511 type: "array" 0512 items: 0513 $ref: "#/components/schemas/Person" 0514 xml: 0515 name: "data" 0516 wrapped: true 0517 xml: 0518 name: "ocs" 0519 wrapped: true 0520 /comments/data/{comment_type}/{contentid}/{second_id}: 0521 get: 0522 description: Gets a list of comments. 0523 tags: 0524 - comments 0525 security: 0526 - BasicAuth: [] 0527 - BearerAuth: [] 0528 parameters: 0529 - in: path 0530 name: comment_type 0531 schema: 0532 type: "string" 0533 required: true 0534 - in: path 0535 name: contentid 0536 schema: 0537 type: "integer" 0538 required: true 0539 - in: path 0540 name: second_id 0541 schema: 0542 type: integer 0543 required: true 0544 - in: query 0545 name: page 0546 schema: 0547 type: integer 0548 - in: query 0549 name: pagesize 0550 schema: 0551 type: integer 0552 responses: 0553 200: 0554 description: "successful operation" 0555 components: 0556 schemas: 0557 Meta: 0558 type: "object" 0559 properties: 0560 status: 0561 type: "string" 0562 statuscode: 0563 type: "integer" 0564 format: "int64" 0565 message: 0566 type: "string" 0567 totalitems: 0568 type: "integer" 0569 format: "int64" 0570 itemsperpage: 0571 type: "integer" 0572 format: "int64" 0573 xml: 0574 name: "meta" 0575 Category: 0576 type: "object" 0577 properties: 0578 id: 0579 type: "integer" 0580 format: "int64" 0581 name: 0582 type: "string" 0583 display-name: 0584 type: "string" 0585 parent_id: 0586 type: "integer" 0587 format: "int64" 0588 xdg_type: 0589 type: "integer" 0590 format: "int64" 0591 xml: 0592 name: "category" 0593 ContentCategories: 0594 type: "object" 0595 properties: 0596 details: 0597 type: "string" 0598 xml: 0599 attribute: true 0600 id: 0601 type: "integer" 0602 format: "int64" 0603 name: 0604 type: "string" 0605 version: 0606 type: "string" 0607 typeid: 0608 type: "integer" 0609 typename: 0610 type: "string" 0611 xdg_type: 0612 type: "string" 0613 language: 0614 type: "string" 0615 personid: 0616 type: "string" 0617 created: 0618 type: "string" 0619 changed: 0620 type: "string" 0621 downloads: 0622 type: "integer" 0623 score: 0624 type: "integer" 0625 summary: 0626 type: "string" 0627 description: 0628 type: "string" 0629 comments: 0630 type: "integer" 0631 ghns_excluded: 0632 type: "integer" 0633 preview1: 0634 type: "string" 0635 detailpage: 0636 type: "string" 0637 tags: 0638 type: "string" 0639 previewpic1: 0640 type: "string" 0641 previewpic2: 0642 type: "string" 0643 smallpreviewpic1: 0644 type: "string" 0645 smalpreviewpic2: 0646 type: "string" 0647 downloadway1: 0648 type: "integer" 0649 downloadtype1: 0650 type: "string" 0651 downloadprice1: 0652 type: "number" 0653 downloadlink1: 0654 type: "string" 0655 downloadname1: 0656 type: "string" 0657 downloadsize1: 0658 type: "integer" 0659 downloadgpgfingerprint1: 0660 type: "string" 0661 downloadgpgsignature1: 0662 type: "string" 0663 downloadpackagename1: 0664 type: "string" 0665 downloadrepository1: 0666 type: "string" 0667 download_package_type1: 0668 type: "string" 0669 download_package_arch1: 0670 type: "string" 0671 downloadtags1: 0672 type: "string" 0673 xml: 0674 name: "content" 0675 ContentDetails: 0676 type: "object" 0677 properties: 0678 details: 0679 type: "string" 0680 xml: 0681 attribute: true 0682 id: 0683 type: "integer" 0684 format: "int64" 0685 name: 0686 type: "string" 0687 version: 0688 type: "string" 0689 typeid: 0690 type: "integer" 0691 typename: 0692 type: "string" 0693 xdg_type: 0694 type: "string" 0695 language: 0696 type: "string" 0697 personid: 0698 type: "string" 0699 created: 0700 type: "string" 0701 changed: 0702 type: "string" 0703 downloads: 0704 type: "integer" 0705 score: 0706 type: "integer" 0707 summary: 0708 type: "string" 0709 description: 0710 type: "string" 0711 changelog: 0712 type: "string" 0713 feedbackurl: 0714 type: "string" 0715 homepage: 0716 type: "string" 0717 homepagetype: 0718 type: "string" 0719 donationpage: 0720 type: "string" 0721 comments: 0722 type: "integer" 0723 commentspage: 0724 type: "string" 0725 fans: 0726 type: "integer" 0727 fanspage: 0728 type: "string" 0729 knowledgebaseentries: 0730 type: "integer" 0731 knowledgebasepage: 0732 type: "string" 0733 depend: 0734 type: "string" 0735 preview1: 0736 type: "string" 0737 icon: 0738 type: "string" 0739 video: 0740 type: "string" 0741 detailpage: 0742 type: "string" 0743 ghns_excluded: 0744 type: "integer" 0745 tags: 0746 type: "string" 0747 previewpic1: 0748 type: "string" 0749 previewpic2: 0750 type: "string" 0751 smallpreviewpic1: 0752 type: "string" 0753 smalpreviewpic2: 0754 type: "string" 0755 downloadway1: 0756 type: "integer" 0757 downloadtype1: 0758 type: "string" 0759 downloadprice1: 0760 type: "number" 0761 downloadlink1: 0762 type: "string" 0763 downloadname1: 0764 type: "string" 0765 downloadsize1: 0766 type: "integer" 0767 downloadgpgfingerprint1: 0768 type: "string" 0769 downloadgpgsignature1: 0770 type: "string" 0771 downloadpackagename1: 0772 type: "string" 0773 downloadrepository1: 0774 type: "string" 0775 download_package_type1: 0776 type: "string" 0777 download_package_arch1: 0778 type: "string" 0779 downloadtags1: 0780 type: "string" 0781 xml: 0782 name: "content" 0783 ContentDownload: 0784 type: "object" 0785 properties: 0786 details: 0787 type: "string" 0788 xml: 0789 attribute: true 0790 downloadway: 0791 type: "string" 0792 downloadlink: 0793 type: "string" 0794 mimetype: 0795 type: "string" 0796 gpgfingerprint: 0797 type: "string" 0798 gpgsignature: 0799 type: "string" 0800 packagename: 0801 type: "string" 0802 repository: 0803 type: "string" 0804 download_package_type: 0805 type: "string" 0806 download_package_arch: 0807 type: "string" 0808 downloadtags: 0809 type: "string" 0810 xml: 0811 name: "content" 0812 Person: 0813 type: "object" 0814 properties: 0815 details: 0816 type: "string" 0817 xml: 0818 attribute: true 0819 personid: 0820 type: "string" 0821 privacy: 0822 type: "integer" 0823 format: "int64" 0824 privacytext: 0825 type: "string" 0826 firstname: 0827 type: "string" 0828 lastname: 0829 type: "string" 0830 gender: 0831 type: "string" 0832 communityrole: 0833 type: "string" 0834 homepage: 0835 type: "string" 0836 company: 0837 type: "string" 0838 avatarpic: 0839 type: "string" 0840 avatarpicfound: 0841 type: "integer" 0842 birthday: 0843 type: "string" 0844 jobstatus: 0845 type: "string" 0846 city: 0847 type: "string" 0848 country: 0849 type: "string" 0850 latitude: 0851 type: "string" 0852 longtitude: 0853 type: "string" 0854 ircnick: 0855 type: "string" 0856 ircchannels: 0857 type: "string" 0858 irclink: 0859 type: "string" 0860 likes: 0861 type: "integer" 0862 dontlikes: 0863 type: "integer" 0864 interests: 0865 type: "string" 0866 languages: 0867 type: "string" 0868 programminglanguages: 0869 type: "string" 0870 favouritequote: 0871 type: "string" 0872 favouritemusic: 0873 type: "string" 0874 favouritetvshows: 0875 type: "string" 0876 favouritemovies: 0877 type: "string" 0878 favouritebooks: 0879 type: "string" 0880 favouritegames: 0881 type: "string" 0882 description: 0883 type: "string" 0884 profilepage: 0885 type: "string" 0886 xml: 0887 name: "person" 0888 PersonId: 0889 type: "object" 0890 properties: 0891 details: 0892 type: "string" 0893 xml: 0894 attribute: true 0895 personid: 0896 type: "string" 0897 xml: 0898 name: "person" 0899 MetaVote: 0900 type: "object" 0901 properties: 0902 status: 0903 type: "string" 0904 statuscode: 0905 type: "integer" 0906 format: "int64" 0907 message: 0908 type: "string" 0909 score: 0910 type: "integer" 0911 format: "int64" 0912 xml: 0913 name: "meta" 0914 securitySchemes: 0915 BasicAuth: 0916 type: http 0917 scheme: basic 0918 BearerAuth: 0919 type: http 0920 scheme: bearer 0921 # ApiKeyAuth: 0922 # type: apiKey 0923 # in: header 0924 # name: X-API-Key 0925 # OpenID: 0926 # type: openIdConnect 0927 # openIdConnectUrl: http://localhost:8889/.well-known/openid-configuration 0928 # OAuth2: 0929 # type: oauth2 0930 # flows: 0931 # authorizationCode: 0932 # authorizationUrl: http://localhost:8889/oauth/authorize 0933 # tokenUrl: http://localhost:8889/oauth/token 0934 # scopes: 0935 # profile: Grants read access 0936 # write: Grants write access 0937 # admin: Grants access to admin operations