Partyp API Documentation

Welcome to the Partyp API. This API allows you to interact with Partyp services, including fetching translated Minecraft plugin information and managing plugin data.

Using the API

Base URL: /api (relative to the current domain)

Get Plugins

Endpoint: GET /api/plugins

Retrieves a list of available plugins with their details, including name, version, description, and available language translations.

Reload Upstream

Endpoint: POST /api/reload

Triggers a reload of the upstream plugin data. This endpoint is IP-restricted if you want access to it, request it from our discord.

Response Examples - /api/plugins

Success Response (200 OK)

Returns an array of plugin objects with the following structure:

{
  "Plugin1": {
    "icon": "https://example.com/plugin1.png",
    "languages": [
      "en",
      "es"
    ]
  },
  "Plugin2": {
    "icon": "https://example.com/plugin2.png",
    "languages": [
      "es",
      "fr"
    ]
  }
}

Field Descriptions

Error Response (401 Unauthorized)

{
  "message": "Invalid or missing API key"
}

Error Response (500 Internal Server Error)

{
  "message": "Failed to fetch plugins from upstream"
}

Response Examples - /api/reload

Success Response (200 OK)

{
  "message": "Upstream reloaded successfully"
}

Error Response (403 Forbidden)

This error occurs when the request is made from an unauthorized IP address:

{
  "message": "Forbidden"
}

Error Response (500 Internal Server Error)

{
  "message": "Failed to reload upstream"
}

Code Examples

JavaScript (Fetch API)

const response = await fetch('http://api.partyp.qzz.io/api/plugins'
const plugins = await response.json();
console.log(plugins);

Python (Requests)

import requests
response = requests.get('http://api.partyp.qzz.io/api/plugins')
plugins = response.json()
print(plugins)

cURL

curl -X GET \
  https://api.partyp.qzz.io/api/plugins

Rate Limiting

/api/plugins currently caches 20 responses for 2 minutes to optimize performance and reduce server load. /api/reload currently caches 3 responses for 5 minutes to optimize performance and reduce server load.

Please be mindful of request frequency to ensure optimal service for all users.

Support & Issues

If you encounter any problems or have questions about the API, please contact the development team or check the project repository for updates.