Files
firefrost-operations-manual/docs/tools/curseforge-api-integration.md
Chronicler #55 9c7b1559ab docs: Add new CurseForge Modpack Version Checker API key
WHAT:
- Added second approved CurseForge API key
- Modpack Version Checker application approved
- Email confirmation received April 2, 2026 8:22 AM
- Documented key separation by use case

API KEYS:
- Primary (general): f865f951-b937-482d-860b-e950bd02bbd2
- Modpack Checker: $2a$10$OVK9ml7bEJdcfTJhBSuK1O5AFz2qq3mwpb35RTTwVfmdvzQFOA7M

RECOMMENDATION:
Use Modpack Version Checker key specifically for automated
version checking scripts to separate usage tracking.

REFERENCE:
Email from CurseForge API <api@curseforge.com>
Subject: Your CurseForge API Application - Approved
Application: Firefrost Modpack Version Checker

STATUS: Both keys approved and documented

Signed-off-by: Chronicler #55 <claude@firefrostgaming.com>
2026-04-02 14:14:05 +00:00

4.9 KiB

CurseForge API Integration

Created: April 2, 2026
Purpose: Modpack version checker and dependency management
Status: Documentation captured, ready for testing


🔑 API Credentials

Primary API Key (General Use):

f865f951-b937-482d-860b-e950bd02bbd2
  • Application: Firefrost Gaming CurseForge Integration
  • Status: Approved

Modpack Version Checker API Key:

$2a$10$OVK9ml7bEJdcfTJhBSuK1O5AFz2qq3mwpb35RTTwVfmdvzQFOA7M
  • Application: Firefrost Modpack Version Checker (3rd Party API)
  • Status: Approved April 2, 2026
  • Email confirmation: Received 8:22 AM
  • Use case: Automated modpack version checking for server updates

Authentication Methods:

  1. Header: X-Api-Token: [API_KEY]
  2. Query param: ?token=[API_KEY]

Recommendation: Use the Modpack Version Checker key for automated version checking scripts to keep usage separated by purpose.

Base URL: https://minecraft.curseforge.com/api


📚 Official Documentation

Primary Resource: https://support.curseforge.com/support/solutions/articles/9000197321-curseforge-api

Key Endpoints:

  • /api/game/versions - Get list of Minecraft versions
  • /api/game/dependencies - Get mod dependencies
  • /api/projects/{projectId}/upload-file - Upload new file
  • /api/projects/{projectId}/update-file - Update existing file

🎯 Use Case: Modpack Version Checker

Goal: Automatically check if modpack versions are up to date

Workflow:

  1. Query CurseForge for latest game versions
  2. Compare against installed modpack versions
  3. Alert if updates available
  4. Optionally auto-update (future feature)

📋 Game Versions API

Endpoint: GET /api/game/versions

Example Response:

[
  {
    "id": 158,
    "gameVersionTypeID": 42,
    "name": "1.8.4",
    "slug": "1-8-4"
  }
]

Use Case:

  • Get list of all Minecraft versions
  • Filter for specific version ranges
  • Check compatibility

🔧 Game Dependencies API

Endpoint: GET /api/game/dependencies

Example Response:

[
  {
    "id": 42,
    "name": "Bukkit",
    "slug": "bukkit"
  }
]

Use Case:

  • Identify mod loader requirements (Forge, Fabric, Bukkit)
  • Verify dependency compatibility

📦 Project File Management

Upload New File

Endpoint: POST /api/projects/{projectId}/upload-file

Content-Type: multipart/form-data

Fields:

  • metadata (JSON)
  • file (actual file)

Metadata Schema:

{
  "changelog": "Version updates and bug fixes",
  "changelogType": "markdown",
  "displayName": "My Modpack v1.2.3",
  "gameVersions": [157, 158],
  "releaseType": "release",
  "relations": {
    "projects": [
      {
        "slug": "jei",
        "type": "requiredDependency"
      }
    ]
  }
}

Response:

{
  "id": 20402
}

💡 Implementation Ideas

Version Checker Script

#!/bin/bash
# Check CurseForge for latest Minecraft versions

API_KEY="f865f951-b937-482d-860b-e950bd02bbd2"
ENDPOINT="https://minecraft.curseforge.com/api/game/versions"

curl -H "X-Api-Token: $API_KEY" "$ENDPOINT"

Python Version Checker

import requests

API_KEY = "f865f951-b937-482d-860b-e950bd02bbd2"
BASE_URL = "https://minecraft.curseforge.com/api"

def get_game_versions():
    headers = {"X-Api-Token": API_KEY}
    response = requests.get(f"{BASE_URL}/game/versions", headers=headers)
    return response.json()

def check_modpack_version(target_version):
    versions = get_game_versions()
    # Filter and compare logic here
    pass

🚀 Next Steps (POST-LAUNCH)

Phase 1: Manual Testing

  • Test API authentication
  • Retrieve game versions list
  • Identify our modpack version IDs
  • Document version mapping

Phase 2: Version Checker

  • Build script to query latest versions
  • Compare against installed versions
  • Generate update report
  • Alert Trinity via Discord webhook

Phase 3: Automation

  • Schedule periodic checks (daily/weekly)
  • Store version history in PostgreSQL
  • Build Trinity Console module
  • Add update notifications to dashboard

Phase 4: Advanced Features

  • Auto-update workflow (with approval)
  • Dependency conflict detection
  • Rollback capability
  • Version change tracking in audit log

📝 Notes

  • Security: API key has full project access - protect it
  • Rate Limits: Unknown - test conservatively
  • Maven Support: Available for dependency management
  • Project ID: Found in CurseForge project URL


Status: Ready for testing after soft launch (April 16+)
Priority: Medium (operational improvement, not launch blocker)
Owner: The Wizard

Fire + Frost + Foundation = Where Love Builds Legacy 🔥❄️