{
  "kind": "discovery#servicesListByCommunity",
  "communities": {
    "openeuler": [
      {
        "name": "openeuler/software-package-server",
        "service_name": "software-package-server",
        "community": "openeuler",
        "title": "APIG_OPENEULER_SOFTWARE_PACKAGE_SERVER",
        "version": "1.0.0",
        "description": "",
        "base_url": "$APIG_GROUP_ENTRY_URL"
      },
      {
        "name": "openeuler/easysearch",
        "service_name": "easysearch",
        "community": "openeuler",
        "title": "APIG_OPENEULER_EASYSEARCH",
        "version": "1.0.0",
        "description": "文档搜索服务接口文档",
        "base_url": "$APIG_GROUP_ENTRY_URL"
      },
      {
        "name": "openeuler/cve-sa-backend",
        "service_name": "cve-sa-backend",
        "community": "openeuler",
        "title": "APIG_OPENEULER_CVE_SA_BACKEND",
        "version": "1.0",
        "description": "openEuler CVE Security Notice Server API",
        "base_url": "$APIG_GROUP_ENTRY_URL"
      },
      {
        "name": "openeuler/app-meeting-server",
        "service_name": "app-meeting-server",
        "community": "openeuler",
        "title": "APIG_OPENEULER_APP_MEETING_SERVER",
        "version": "1.0.0",
        "description": "openEuler 社区会议管理服务接口，涵盖官网会议预订/查询、周期子会议管理、管理员会议操作及会议群组信息查询。",
        "base_url": "$APIG_GROUP_ENTRY_URL"
      },
      {
        "name": "openeuler/discourse",
        "service_name": "discourse",
        "community": "openeuler",
        "title": "APIG_OPENEULER_DISCOURSE",
        "version": "latest",
        "description": "This page contains the documentation on how to use Discourse through API calls.\n\n> Note: For any endpoints not listed you can follow the\n[reverse engineer the Discourse API](https://meta.discourse.org/t/-/20576)\nguide to figure out how to use an API endpoint.\n\n### Request Content-Type\n\nThe Content-Type for POST and PUT requests can be set to `application/x-www-form-urlencoded`,\n`multipart/form-data`, or `application/json`.\n\n### Endpoint Names and Response Content-Type\n\nMost API endpoints provide the same content as their HTML counterparts. For example\nthe URL `/categories` serves a list of categories, the `/categories.json` API provides the\nsame information in JSON format.\n\nInstead of sending API requests to `/categories.json` you may also send them to `/categories`\nand add an `Accept: application/json` header to the request to get the JSON response.\nSending requests with the `Accept` header is necessary if you want to use URLs\nfor related endpoints returned by the API, such as pagination URLs.\nThese URLs are returned without the `.json` prefix so you need to add the header in\norder to get the correct response format.\n\n### Authentication\n\nSome endpoints do not require any authentication, pretty much anything else will\nrequire you to be authenticated.\n\nTo become authenticated you will need to create an API Key from the admin panel.\n\nOnce you have your API Key you can pass it in along with your API Username\nas an HTTP header like this:\n\n```\ncurl -X GET \"http://127.0.0.1:3000/admin/users/list/active.json\" \\\n-H \"Api-Key: 714552c6148e1617aeab526d0606184b94a80ec048fc09894ff1a72b740c5f19\" \\\n-H \"Api-Username: system\"\n```\n\nand this is how POST requests will look:\n\n```\ncurl -X POST \"http://127.0.0.1:3000/categories\" \\\n-H \"Content-Type: multipart/form-data;\" \\\n-H \"Api-Key: 714552c6148e1617aeab526d0606184b94a80ec048fc09894ff1a72b740c5f19\" \\\n-H \"Api-Username: system\" \\\n-F \"name=89853c20-4409-e91a-a8ea-f6cdff96aaaa\" \\\n-F \"color=49d9e9\" \\\n-F \"text_color=f0fcfd\"\n```\n\n### Boolean values\n\nIf an endpoint accepts a boolean be sure to specify it as a lowercase\n`true` or `false` value unless noted otherwise.\n",
        "base_url": "$APIG_GROUP_ENTRY_URL"
      },
      {
        "name": "openeuler/mailman",
        "service_name": "mailman",
        "community": "openeuler",
        "title": "APIG_OPENEULER_MAILMAN",
        "version": "1.0.0",
        "description": "OpenAPI schema for the Mailman Web suite, covering the HyperKitty REST API and Postorius REST endpoints.",
        "base_url": "$APIG_GROUP_ENTRY_URL"
      },
      {
        "name": "openeuler/etherpad",
        "service_name": "etherpad",
        "community": "openeuler",
        "title": "APIG_OPENEULER_ETHERPAD",
        "version": "1.0.0",
        "description": "Etherpad is a real-time collaborative editor scalable to thousands of simultaneous real time users. It provides full data export capabilities, and runs on your server, under your control.",
        "base_url": "$APIG_GROUP_ENTRY_URL"
      },
      {
        "name": "openeuler/copr",
        "service_name": "copr",
        "community": "openeuler",
        "title": "APIG_OPENEULER_COPR",
        "version": "1.0.0",
        "description": "openEuler EUR 前端自定义接口，涵盖AI 引包任务的创建/查询/取消、目标 chroot 与 release 元数据查询，以及 openEuler 社区引包跳转动作。每个/coprs/{username}/{coprname}/ 路由都有一个等价的组项目路由 /coprs/g/{group_name}/{coprname}/。",
        "base_url": "$APIG_GROUP_ENTRY_URL"
      }
    ]
  }
}