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