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