Files
website/wiki/api/index.html
2025-06-17 01:22:30 -04:00

896 lines
43 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>My-MC.Link API Wiki</title>
<link rel="icon" href="https://minecraft.wiki/images/Favicon.png" type="image/png">
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;700;900&display=swap" rel="stylesheet">
<link href="https://my-mc.link/css/style_min.css?p=5" rel="stylesheet">
<link href="https://my-mc.link/favicon.ico" rel="icon" type="image/x-icon">
<!-- Prism.js for syntax highlighting -->
<link href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/themes/prism-okaidia.min.css" rel="stylesheet">
<style>
.code-block-wrapper {
position: relative;
margin-bottom: 1rem;
}
.copy-button {
position: absolute;
top: 0.5rem;
right: 0.5rem;
background: #2d3748;
color: #e2e8f0;
border: none;
padding: 0.5rem;
border-radius: 0.25rem;
cursor: pointer;
font-size: 0.875rem;
transition: background 0.2s;
}
.copy-button:hover {
background: #4a5568;
}
.copy-button.copied {
background: #2f855a;
}
pre[class*="language-"] {
margin: 0;
padding: 1rem;
border-radius: 0.5rem;
position: relative;
}
/* Table of Contents Styles */
.toc {
background: rgba(17, 24, 39, 0.8);
backdrop-filter: blur(10px);
border-radius: 12px;
padding: 1.5rem;
margin: 2rem auto;
max-width: 800px;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}
.toc h2 {
font-family: 'minecraft-font', sans-serif;
font-size: 1.75rem;
text-align: center;
background: linear-gradient(to right, #14b8a6, #3b82f6);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
margin-bottom: 1.5rem;
}
.toc ul {
list-style: none;
padding: 0;
}
.toc ul ul {
padding-left: 1.5rem;
}
.toc li {
margin: 0.75rem 0;
}
.toc a {
color: #d1d5db;
text-decoration: none;
font-size: 1.125rem;
font-weight: 500;
transition: color 0.3s ease, transform 0.3s ease;
display: block;
padding: 0.5rem 1rem;
border-radius: 8px;
}
.toc ul ul a {
font-size: 1rem;
}
.toc a:hover {
color: #14b8a6;
transform: translateX(10px);
background: rgba(255, 255, 255, 0.05);
}
@media (max-width: 640px) {
.toc {
padding: 1rem;
margin: 1rem;
}
.toc h2 {
font-size: 1.5rem;
}
.toc a {
font-size: 1rem;
}
.toc ul ul a {
font-size: 0.875rem;
}
}
</style>
</head>
<body>
<!-- Particle Effects -->
<div class="particle" style="left: 10%; top: 20%; animation-delay: 0s;"></div>
<div class="particle large" style="left: 30%; top: 50%; animation-delay: 2s;"></div>
<div class="particle" style="left: 50%; top: 30%; animation-delay: 4s;"></div>
<div class="particle large" style="left: 70%; top: 60%; animation-delay: 6s;"></div>
<div class="particle" style="left: 20%; top: 80%; animation-delay: 8s;"></div>
<header class="header-bg py-16 text-center relative z-10">
<div class="header-content flex items-center justify-between max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div>
<h1 class="text-5xl minecraft-font bg-clip-text text-transparent bg-gradient-to-r from-teal-400 to-blue-500">
<a href="https://info.my-mc.link/">My-MC.Link API Wiki</a></h1>
<p class="text-lg mt-4 opacity-90 tracking-wide font-medium">Documentation for My-MC.Link REST API</p>
</div>
<a href="https://my-mc.link" class="btn-minecraft text-base self-center" target="_blank">Home</a>
</div>
</header>
<!-- Table of Contents -->
<nav class="toc">
<h2>Table of Contents</h2>
<ul>
<li><a href="#getting-started-with-the-api">Getting Started with the API</a></li>
<li>
<a href="#api-endpoints">API Endpoints</a>
<ul>
<li><a href="#get-hello">GET /hello</a></li>
<li><a href="#get-time">GET /time</a></li>
<li><a href="#get-stats">GET /stats</a></li>
<li><a href="#get-log">GET /log</a></li>
<li><a href="#get-start">GET /start</a></li>
<li><a href="#get-stop">GET /stop</a></li>
<li><a href="#get-restart">GET /restart</a></li>
<li><a href="#get-my-link">GET /my-link</a></li>
<li><a href="#get-my-geyser-link">GET /my-geyser-link</a></li>
<li><a href="#get-my-sftp">GET /my-sftp</a></li>
<li><a href="#get-my-hash">GET /my-hash</a></li>
<li><a href="#get-my-geyser-hash">GET /my-geyser-hash</a></li>
<li><a href="#get-my-sftp-hash">GET /my-sftp-hash</a></li>
<li><a href="#get-list-players">GET /list-players</a></li>
<li><a href="#get-website">GET /website</a></li>
<li><a href="#get-map">GET /map</a></li>
<li><a href="#post-ban">POST /ban</a></li>
<li><a href="#post-unban">POST /unban</a></li>
<li><a href="#post-say">POST /say</a></li>
<li><a href="#post-tell">POST /tell</a></li>
<li><a href="#post-console">POST /console</a></li>
<li><a href="#post-give">POST /give</a></li>
<li><a href="#post-install">POST /install</a></li>
<li><a href="#post-uninstall">POST /uninstall</a></li>
<li><a href="#post-search">POST /search</a></li>
<li><a href="#get-mod-list">GET /mod-list</a></li>
</ul>
</li>
<li><a href="#explore-more">Explore More</a></li>
</ul>
</nav>
<main class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 pb-16 relative z-10">
<section id="getting-started-with-the-api" class="section-bg p-8 sm:p-10 mb-12">
<h2 class="text-3xl minecraft-font mb-8 text-center bg-clip-text text-transparent bg-gradient-to-r from-teal-400 to-blue-500">
Getting Started with the API</h2>
<p class="text-lg mb-8 max-w-3xl mx-auto opacity-90 leading-relaxed">
To use the My-MC.Link API, you need an API key. Generate one by running <code class="bg-gray-800 text-teal-400 px-1 rounded">/api-key</code> in our server. The key, valid for 365 days, will be sent to your Direct Messages.
</p>
<p class="text-lg mb-8 max-w-3xl mx-auto opacity-90 leading-relaxed">
<strong>API URL:</strong> <code class="bg-gray-800 text-teal-400 px-1 rounded">https://api.my-mc.link</code><br>
Include the authentication header <code class="bg-gray-800 text-teal-400 px-1 rounded">x-my-mc-auth</code> with your token in all requests.
</p>
<p class="text-lg mb-8 max-w-3xl mx-auto opacity-90 leading-relaxed">
The examples below use <a href="https://www.npmjs.com/package/unirest" class="underline text-teal-400 hover:text-blue-400">UniRest</a> for JavaScript. New methods will be added over time, so check back regularly.
</p>
</section>
<section id="api-endpoints" class="section-bg p-8 sm:p-10 mb-12">
<h2 class="text-3xl minecraft-font mb-8 text-center bg-clip-text text-transparent bg-gradient-to-r from-teal-400 to-blue-500">
API Endpoints</h2>
<div class="grid grid-cols-1 gap-6">
<!-- GET /hello -->
<div class="feature-card tilt-card">
<h3 id="get-hello" class="text-xl minecraft-font mb-3 text-teal-400">GET /hello</h3>
<p class="text-sm opacity-90 leading-relaxed mb-4">Test the API and verify the authenticated user.</p>
<div class="code-block-wrapper">
<pre class="language-javascript"><code>var unirest = require('unirest');
unirest
.get('https://api.my-mc.link/hello')
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
.then((response) => {
console.log(response.body)
})</code></pre>
<button class="copy-button" onclick="copyCode(this)">Copy</button>
</div>
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
<pre class="language-json"><code>{ success: true, message: 'Hello, mc_342128351638585344!' }</code></pre>
</div>
<!-- GET /time -->
<div class="feature-card tilt-card">
<h3 id="get-time" class="text-xl minecraft-font mb-3 text-teal-400">GET /time</h3>
<p class="text-sm opacity-90 leading-relaxed mb-4">Check the expiration time of your API key.</p>
<div class="code-block-wrapper">
<pre class="language-javascript"><code>var unirest = require('unirest');
unirest
.get('https://api.my-mc.link/time')
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
.then((response) => {
console.log(response.body)
})</code></pre>
<button class="copy-button" onclick="copyCode(this)">Copy</button>
</div>
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
<pre class="language-json"><code>{
success: true,
keyexpireString: 'Tue Apr 15 2025 06:14:59 GMT-0400 (Eastern Daylight Time)',
expireDate: '2025-04-15T10:14:59.000Z',
expireEpoch: 1744712099000
}</code></pre>
</div>
<!-- GET /stats -->
<div class="feature-card tilt-card">
<h3 id="get-stats" class="text-xl minecraft-font mb-3 text-teal-400">GET /stats</h3>
<p class="text-sm opacity-90 leading-relaxed mb-4">Retrieve statistics for your Minecraft server.</p>
<div class="code-block-wrapper">
<pre class="language-javascript"><code>var unirest = require('unirest');
unirest
.get('https://api.my-mc.link/stats')
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
.then((response) => {
console.log(response.body)
})</code></pre>
<button class="copy-button" onclick="copyCode(this)">Copy</button>
</div>
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
<pre class="language-json"><code>{
success: true,
stats: {
serverName: 'mc_342128351638585344',
memory: { raw: '185MiB / 4GiB', percent: '4.52%' },
cpu: '317.98%'
}
}</code></pre>
</div>
<!-- GET /log -->
<div class="feature-card tilt-card">
<h3 id="get-log" class="text-xl minecraft-font mb-3 text-teal-400">GET /log</h3>
<p class="text-sm opacity-90 leading-relaxed mb-4">Get the URL for your servers live log.</p>
<div class="code-block-wrapper">
<pre class="language-javascript"><code>var unirest = require('unirest');
unirest
.get('https://api.my-mc.link/log')
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
.then((response) => {
console.log(response.body)
})</code></pre>
<button class="copy-button" onclick="copyCode(this)">Copy</button>
</div>
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
<pre class="language-json"><code>{
success: true,
message: 'https://logs.my-mc.link/container/3a48afc921c6'
}</code></pre>
</div>
<!-- GET /start -->
<div class="feature-card tilt-card">
<h3 id="get-start" class="text-xl minecraft-font mb-3 text-teal-400">GET /start</h3>
<p class="text-sm opacity-90 leading-relaxed mb-4">Start your server container.</p>
<div class="code-block-wrapper">
<pre class="language-javascript"><code>var unirest = require('unirest');
unirest
.get('https://api.my-mc.link/start')
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
.then((response) => {
console.log(response.body)
})</code></pre>
<button class="copy-button" onclick="copyCode(this)">Copy</button>
</div>
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
<pre class="language-json"><code>{ success: true, message: 'Started', completed: 'OK' }</code></pre>
</div>
<!-- GET /stop -->
<div class="feature-card tilt-card">
<h3 id="get-stop" class="text-xl minecraft-font mb-3 text-teal-400">GET /stop</h3>
<p class="text-sm opacity-90 leading-relaxed mb-4">Stop your server container.</p>
<div class="code-block-wrapper">
<pre class="language-javascript"><code>var unirest = require('unirest');
unirest
.get('https://api.my-mc.link/stop')
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
.then((response) => {
console.log(response.body)
})</code></pre>
<button class="copy-button" onclick="copyCode(this)">Copy</button>
</div>
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
<pre class="language-json"><code>{ success: true, message: 'Stopped', completed: 'OK' }</code></pre>
</div>
<!-- GET /restart -->
<div class="feature-card tilt-card">
<h3 id="get-restart" class="text-xl minecraft-font mb-3 text-teal-400">GET /restart</h3>
<p class="text-sm opacity-90 leading-relaxed mb-4">Restart your server container.</p>
<div class="code-block-wrapper">
<pre class="language-javascript"><code>var unirest = require('unirest');
unirest
.get('https://api.my-mc.link/restart')
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
.then((response) => {
console.log(response.body)
})</code></pre>
<button class="copy-button" onclick="copyCode(this)">Copy</button>
</div>
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
<pre class="language-json"><code>{ success: true, message: 'Restarted', completed: 'OK' }</code></pre>
</div>
<!-- GET /my-link -->
<div class="feature-card tilt-card">
<h3 id="get-my-link" class="text-xl minecraft-font mb-3 text-teal-400">GET /my-link</h3>
<p class="text-sm opacity-90 leading-relaxed mb-4">Generate or retrieve your servers connection link.</p>
<div class="code-block-wrapper">
<pre class="language-javascript"><code>var unirest = require('unirest');
unirest
.get('https://api.my-mc.link/my-link')
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
.then((response) => {
console.log(response.body)
})</code></pre>
<button class="copy-button" onclick="copyCode(this)">Copy</button>
</div>
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
<pre class="language-json"><code>{
success: true,
action: 'New-Link',
message: 'Success!',
hostname: 'my-mc.link',
port: 40129
}</code></pre>
</div>
<!-- GET /my-geyser-link -->
<div class="feature-card tilt-card">
<h3 id="get-my-geyser-link" class="text-xl minecraft-font mb-3 text-teal-400">GET /my-geyser-link</h3>
<p class="text-sm opacity-90 leading-relaxed mb-4">Generate or retrieve the Geyser UDP connection link.</p>
<div class="code-block-wrapper">
<pre class="language-javascript"><code>var unirest = require('unirest');
unirest
.get('https://api.my-mc.link/my-geyser-link')
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
.then((response) => {
console.log(response.body)
})</code></pre>
<button class="copy-button" onclick="copyCode(this)">Copy</button>
</div>
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
<pre class="language-json"><code>{
success: true,
action: 'New-Geyser-Link',
message: 'Geyser connection established successfully!',
hostname: 'my-mc.link',
port: 35633
}</code></pre>
</div>
<!-- GET /my-sftp -->
<div class="feature-card tilt-card">
<h3 id="get-my-sftp" class="text-xl minecraft-font mb-3 text-teal-400">GET /my-sftp</h3>
<p class="text-sm opacity-90 leading-relaxed mb-4">Generate or retrieve the SFTP connection details.</p>
<div class="code-block-wrapper">
<pre class="language-javascript"><code>var unirest = require('unirest');
unirest
.get('https://api.my-mc.link/my-sftp')
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
.then((response) => {
console.log(response.body)
})</code></pre>
<button class="copy-button" onclick="copyCode(this)">Copy</button>
</div>
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
<pre class="language-json"><code>{
success: true,
action: 'New-Link',
message: 'Success!',
hostname: 'sftp://my-mc.link',
port: 34149,
user: 'mc',
password: 'Fyuak12tq0NcuvcQ'
}</code></pre>
</div>
<!-- GET /my-hash -->
<div class="feature-card tilt-card">
<h3 id="get-my-hash" class="text-xl minecraft-font mb-3 text-teal-400">GET /my-hash</h3>
<p class="text-sm opacity-90 leading-relaxed mb-4">Retrieve the P2P hash for your server container.</p>
<div class="code-block-wrapper">
<pre class="language-javascript"><code>var unirest = require('unirest');
unirest
.get('https://api.my-mc.link/my-hash')
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
.then((response) => {
console.log(response.body)
})</code></pre>
<button class="copy-button" onclick="copyCode(this)">Copy</button>
</div>
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
<pre class="language-json"><code>{
success: true,
action: 'getConnectionHash',
message: '9b63a54507d4473350cec0ce34c4e6f9ass3657887e659a7efd341e32100c15e'
}</code></pre>
</div>
<!-- GET /my-geyser-hash -->
<div class="feature-card tilt-card">
<h3 id="get-my-geyser-hash" class="text-xl minecraft-font mb-3 text-teal-400">GET /my-geyser-hash</h3>
<p class="text-sm opacity-90 leading-relaxed mb-4">Retrieve the P2P hash for Geyser connections.</p>
<div class="code-block-wrapper">
<pre class="language-javascript"><code>var unirest = require('unirest');
unirest
.get('https://api.my-mc.link/my-geyser-hash')
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
.then((response) => {
console.log(response.body)
})</code></pre>
<button class="copy-button" onclick="copyCode(this)">Copy</button>
</div>
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
<pre class="language-json"><code>{
success: true,
action: 'getConnectionHashGeyser',
message: 'hs://s0006fbd2c4d48a4cef8df3417deec0194888d115672fb12bdaf91d61dd4ee0087d1'
}</code></pre>
</div>
<!-- GET /my-sftp-hash -->
<div class="feature-card tilt-card">
<h3 id="get-my-sftp-hash" class="text-xl minecraft-font mb-3 text-teal-400">GET /my-sftp-hash</h3>
<p class="text-sm opacity-90 leading-relaxed mb-4">Retrieve the P2P hash for SFTP connections.</p>
<div class="code-block-wrapper">
<pre class="language-javascript"><code>var unirest = require('unirest');
unirest
.get('https://api.my-mc.link/my-sftp-hash')
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
.then((response) => {
console.log(response.body)
})</code></pre>
<button class="copy-button" onclick="copyCode(this)">Copy</button>
</div>
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
<pre class="language-json"><code>{
success: true,
action: 'getConnectionHashSFTP',
message: '1832805e6dd13d61572c6cb1egg7f071acc65507c5df9f78a7a6ae39ae6f206'
}</code></pre>
</div>
<!-- GET /list-players -->
<div class="feature-card tilt-card">
<h3 id="get-list-players" class="text-xl minecraft-font mb-3 text-teal-400">GET /list-players</h3>
<p class="text-sm opacity-90 leading-relaxed mb-4">Get information about players connected to the server.</p>
<div class="code-block-wrapper">
<pre class="language-javascript"><code>var unirest = require('unirest');
unirest
.get('https://api.my-mc.link/list-players')
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
.then((response) => {
console.log(response.body)
})</code></pre>
<button class="copy-button" onclick="copyCode(this)">Copy</button>
</div>
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
<pre class="language-json"><code>{
success: true,
message: 'On mc_342128351638585344 there are 1 of a max of 20 players.',
players: [ ' snxravenmc' ]
}</code></pre>
</div>
<!-- GET /website -->
<div class="feature-card tilt-card">
<h3 id="get-website" class="text-xl minecraft-font mb-3 text-teal-400">GET /website</h3>
<p class="text-sm opacity-90 leading-relaxed mb-4">Retrieve your servers website URL.</p>
<div class="code-block-wrapper">
<pre class="language-javascript"><code>var unirest = require('unirest');
unirest
.get('https://api.my-mc.link/website')
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
.then((response) => {
console.log(response.body)
})</code></pre>
<button class="copy-button" onclick="copyCode(this)">Copy</button>
</div>
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
<pre class="language-json"><code>{
success: true,
title: 'Website',
message: 'https://smjdmfqkl25kw6mdkveqqu6hddbyv4hkroojuxfuv7k6iwptz2bq.my-mc.link'
}</code></pre>
</div>
<!-- GET /map -->
<div class="feature-card tilt-card">
<h3 id="get-map" class="text-xl minecraft-font mb-3 text-teal-400">GET /map</h3>
<p class="text-sm opacity-90 leading-relaxed mb-4">Retrieve your servers BlueMap URL.</p>
<div class="code-block-wrapper">
<pre class="language-javascript"><code>var unirest = require('unirest');
unirest
.get('https://api.my-mc.link/map')
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
.then((response) => {
console.log(response.body)
})</code></pre>
<button class="copy-button" onclick="copyCode(this)">Copy</button>
</div>
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
<pre class="language-json"><code>{
success: true,
title: 'BlueMap',
message: 'https://sf5bk42u6y32wsvifa3rvowioowfsypem3qrebjfaxs5vi5z3asa.my-mc.link'
}</code></pre>
</div>
<!-- POST /ban -->
<div class="feature-card tilt-card">
<h3 id="post-ban" class="text-xl minecraft-font mb-3 text-teal-400">POST /ban</h3>
<p class="text-sm opacity-90 leading-relaxed mb-4">Ban a user by their username.</p>
<p class="text-sm opacity-90 leading-relaxed mb-2"><strong>Payload:</strong></p>
<div class="code-block-wrapper">
<pre class="language-json"><code>{"username": "snxravenmc"}</code></pre>
<button class="copy-button" onclick="copyCode(this)">Copy</button>
</div>
<div class="code-block-wrapper">
<pre class="language-javascript"><code>var unirest = require('unirest');
unirest
.post('https://api.my-mc.link/ban')
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
.send({"username": "snxravenmc"})
.then((response) => {
console.log(response.body)
})</code></pre>
<button class="copy-button" onclick="copyCode(this)">Copy</button>
</div>
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
<pre class="language-json"><code>{
success: true,
message: 'snxravenmc has been banned from mc_342128351638585344'
}</code></pre>
</div>
<!-- POST /unban -->
<div class="feature-card tilt-card">
<h3 id="post-unban" class="text-xl minecraft-font mb-3 text-teal-400">POST /unban</h3>
<p class="text-sm opacity-90 leading-relaxed mb-4">Unban a user by their username.</p>
<p class="text-sm opacity-90 leading-relaxed mb-2"><strong>Payload:</strong></p>
<div class="code-block-wrapper">
<pre class="language-json"><code>{"username": "snxravenmc"}</code></pre>
<button class="copy-button" onclick="copyCode(this)">Copy</button>
</div>
<div class="code-block-wrapper">
<pre class="language-javascript"><code>var unirest = require('unirest');
unirest
.post('https://api.my-mc.link/unban')
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
.send({"username": "snxravenmc"})
.then((response) => {
console.log(response.body)
})</code></pre>
<button class="copy-button" onclick="copyCode(this)">Copy</button>
</div>
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
<pre class="language-json"><code>{
success: true,
message: 'snxravenmc has been unbanned from mc_342128351638585344'
}</code></pre>
</div>
<!-- POST /say -->
<div class="feature-card tilt-card">
<h3 id="post-say" class="text-xl minecraft-font mb-3 text-teal-400">POST /say</h3>
<p class="text-sm opacity-90 leading-relaxed mb-4">Send a global message to the server via RCON.</p>
<p class="text-sm opacity-90 leading-relaxed mb-2"><strong>Payload:</strong></p>
<div class="code-block-wrapper">
<pre class="language-json"><code>{"message": "Hello There, This is a test!\nDid this work?"}</code></pre>
<button class="copy-button" onclick="copyCode(this)">Copy</button>
</div>
<div class="code-block-wrapper">
<pre class="language-javascript"><code>var unirest = require('unirest');
unirest
.post('https://api.my-mc.link/say')
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
.send({"message": "Hello There, This is a test!\nDid this work?"})
.then((response) => {
console.log(response.body)
})</code></pre>
<button class="copy-button" onclick="copyCode(this)">Copy</button>
</div>
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
<pre class="language-json"><code>{ success: true, message: 'Message Sent Successfully!' }</code></pre>
</div>
<!-- POST /tell -->
<div class="feature-card tilt-card">
<h3 id="post-tell" class="text-xl minecraft-font mb-3 text-teal-400">POST /tell</h3>
<p class="text-sm opacity-90 leading-relaxed mb-4">Send a private message to a specific user via RCON.</p>
<p class="text-sm opacity-90 leading-relaxed mb-2"><strong>Payload:</strong></p>
<div class="code-block-wrapper">
<pre class="language-json"><code>{"username": "snxravenmc","message": "hiiiii"}</code></pre>
<button class="copy-button" onclick="copyCode(this)">Copy</button>
</div>
<div class="code-block-wrapper">
<pre class="language-javascript"><code>var unirest = require('unirest');
unirest
.post('https://api.my-mc.link/tell')
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
.send({"username": "snxravenmc","message": "hiiiii"})
.then((response) => {
console.log(response.body)
})</code></pre>
<button class="copy-button" onclick="copyCode(this)">Copy</button>
</div>
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
<pre class="language-json"><code>{ success: true, message: 'Message Sent Successfully!' }</code></pre>
</div>
<!-- POST /console -->
<div class="feature-card tilt-card">
<h3 id="post-console" class="text-xl minecraft-font mb-3 text-teal-400">POST /console</h3>
<p class="text-sm opacity-90 leading-relaxed mb-4">Send RCON commands to your server.</p>
<p class="text-sm opacity-90 leading-relaxed mb-2"><strong>Payload:</strong></p>
<div class="code-block-wrapper">
<pre class="language-json"><code>{"command": "time set day"}</code></pre>
<button class="copy-button" onclick="copyCode(this)">Copy</button>
</div>
<div class="code-block-wrapper">
<pre class="language-javascript"><code>var unirest = require('unirest');
unirest
.post('https://api.my-mc.link/console')
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
.send({"command": "time set day"})
.then((response) => {
console.log(response.body)
})</code></pre>
<button class="copy-button" onclick="copyCode(this)">Copy</button>
</div>
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
<pre class="language-json"><code>{ success: true, message: 'Set the time to 1000' }</code></pre>
</div>
<!-- POST /give -->
<div class="feature-card tilt-card">
<h3 id="post-give" class="text-xl minecraft-font mb-3 text-teal-400">POST /give</h3>
<p class="text-sm opacity-90 leading-relaxed mb-4">Give items to a specific user.</p>
<p class="text-sm opacity-90 leading-relaxed mb-2"><strong>Payload:</strong></p>
<div class="code-block-wrapper">
<pre class="language-json"><code>{"username": "snxravenmc", item: "torch", amount: 1}</code></pre>
<button class="copy-button" onclick="copyCode(this)">Copy</button>
</div>
<div class="code-block-wrapper">
<pre class="language-javascript"><code>var unirest = require('unirest');
unirest
.post('https://api.my-mc.link/give')
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
.send({"username": "snxravenmc", item: "torch", amount: 1})
.then((response) => {
console.log(response.body)
})</code></pre>
<button class="copy-button" onclick="copyCode(this)">Copy</button>
</div>
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
<pre class="language-json"><code>{
success: true,
message: 'Gave snxravenmc 1 torch',
username: 'snxravenmc',
amount: 1,
item: 'torch'
}</code></pre>
</div>
<!-- POST /install -->
<div class="feature-card tilt-card">
<h3 id="post-install" class="text-xl minecraft-font mb-3 text-teal-400">POST /install</h3>
<p class="text-sm opacity-90 leading-relaxed mb-4">Install a mod using a Modrinth ID or keyword search.</p>
<p class="text-sm opacity-90 leading-relaxed mb-2"><strong>Payload:</strong></p>
<div class="code-block-wrapper">
<pre class="language-json"><code>{"mod": "IDHERE"}</code></pre>
<button class="copy-button" onclick="copyCode(this)">Copy</button>
</div>
<div class="code-block-wrapper">
<pre class="language-javascript"><code>var unirest = require('unirest');
unirest
.post('https://api.my-mc.link/install')
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
.send({"mod": "IDHERE"})
.then((response) => {
console.log(response.body)
})</code></pre>
<button class="copy-button" onclick="copyCode(this)">Copy</button>
</div>
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
<pre class="language-json"><code>{
success: true,
message: 'Task Complete on mc_342128351638585344',
log: '- Searching for abooMhox...\n' +
'- Installing Tree Harvester...\n' +
'✔ Successfully installed Tree Harvester\n'
}</code></pre>
</div>
<!-- POST /uninstall -->
<div class="feature-card tilt-card">
<h3 id="post-uninstall" class="text-xl minecraft-font mb-3 text-teal-400">POST /uninstall</h3>
<p class="text-sm opacity-90 leading-relaxed mb-4">Uninstall a mod using a Modrinth ID or keyword search.</p>
<p class="text-sm opacity-90 leading-relaxed mb-2"><strong>Payload:</strong></p>
<div class="code-block-wrapper">
<pre class="language-json"><code>{"mod": "IDHERE"}</code></pre>
<button class="copy-button" onclick="copyCode(this)">Copy</button>
</div>
<div class="code-block-wrapper">
<pre class="language-javascript"><code>var unirest = require('unirest');
unirest
.post('https://api.my-mc.link/uninstall')
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
.send({"mod": "IDHERE"})
.then((response) => {
console.log(response.body)
})</code></pre>
<button class="copy-button" onclick="copyCode(this)">Copy</button>
</div>
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
<pre class="language-json"><code>{
success: true,
message: 'Task Complete on mc_342128351638585344',
log: '- Uninstalling abooMhox...\n' +
'- Uninstalling abooMhox...\n' +
'✔ Tree Harvester successfully uninstalled!\n'
}</code></pre>
</div>
<!-- POST /search -->
<div class="feature-card tilt-card">
<h3 id="post-search" class="text-xl minecraft-font mb-3 text-teal-400">POST /search</h3>
<p class="text-sm opacity-90 leading-relaxed mb-4">Search for mods by keyword with compatibility checking.</p>
<p class="text-sm opacity-90 leading-relaxed mb-2"><strong>Payload:</strong></p>
<div class="code-block-wrapper">
<pre class="language-json"><code>{"mod": "Tree","offset": 0}</code></pre>
<button class="copy-button" onclick="copyCode(this)">Copy</button>
</div>
<div class="code-block-wrapper">
<pre class="language-javascript"><code>var unirest = require('unirest');
unirest
.post('https://api.my-mc.link/search')
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
.send({"mod": "Tree","offset": 0})
.then((response) => {
console.log(response.body)
})</code></pre>
<button class="copy-button" onclick="copyCode(this)">Copy</button>
</div>
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
<pre class="language-json"><code>{
success: true,
message: 'Search Results',
limit: 10,
offset: 0,
totalHits: 23,
results: [
{
title: 'FallingTree',
description: 'Break down your trees by only cutting one piece of it',
server: 'required',
client: 'unsupported',
downloads: 894148,
installID: 'Fb4jn8m6'
},
...
]
}</code></pre>
</div>
<!-- GET /mod-list -->
<div class="feature-card tilt-card">
<h3 id="get-mod-list" class="text-xl minecraft-font mb-3 text-teal-400">GET /mod-list</h3>
<p class="text-sm opacity-90 leading-relaxed mb-4">List all mods installed on your server.</p>
<div class="code-block-wrapper">
<pre class="language-javascript"><code>var unirest = require('unirest');
unirest
.get('https://api.my-mc.link/mod-list')
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
.then((response) => {
console.log(response.body)
})</code></pre>
<button class="copy-button" onclick="copyCode(this)">Copy</button>
</div>
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
<pre class="language-json"><code>{
success: true,
message: 'Mods listed for mc_342128351638585344',
mods: [
{
name: 'Adrenaserver',
id: 'H9OFWiay',
fileName: 'Adrenaserver-1.5.0+1.20.4.fabric.mrpack',
version: '1.5.0+1.20.4.fabric',
source: 'Modrinth',
essential: false,
dependencies: ''
},
...
]
}</code></pre>
</div>
</div>
</section>
<section id="explore-more" class="section-bg p-8 sm:p-10 text-center mb-12">
<h2 class="text-3xl minecraft-font mb-6 bg-clip-text text-transparent bg-gradient-to-r from-teal-400 to-blue-500">
Explore More</h2>
<p class="text-lg mb-8 max-w-2xl mx-auto opacity-90 leading-relaxed">
Ready to automate your server?<BR>Join our community, dive into our resources, and start building with the My-MC.Link API.
</p>
<div class="flex justify-center gap-4 flex-wrap">
<a href="https://join.my-mc.link" class="btn-minecraft text-base" target="_blank">Join Our Discord</a>
<a href="https://wiki.my-mc.link" class="btn-minecraft text-base" target="_blank">Explore the Wiki</a>
</div>
</section>
</main>
<footer class="bg-gray-900/20 backdrop-filter backdrop-blur-xl py-8 text-center relative z-10">
<p class="text-sm opacity-90">© 2025 My-MC.Link. All rights reserved.</p>
<p class="text-sm opacity-90 mt-3">
Powered by <a href="https://holesail.io" class="underline" target="_blank">Holesail</a> with services
donated by <a href="https://raven-scott.fyi" class="underline">SNXRaven</a>
</p>
</footer>
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/prism.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/components/prism-javascript.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/components/prism-json.min.js"></script>
<script>
function copyCode(button) {
const codeBlock = button.previousElementSibling.querySelector('code');
const text = codeBlock.textContent;
navigator.clipboard.writeText(text).then(() => {
button.textContent = 'Copied!';
button.classList.add('copied');
setTimeout(() => {
button.textContent = 'Copy';
button.classList.remove('copied');
}, 2000);
}).catch(err => {
console.error('Failed to copy: ', err);
});
}
</script>
<script src="../../mc/js/main.js"></script>
</body>
</html>