Provider API
Keep your Fluxme.io listing up-to-date automatically. Use our API to update your profile, pricing, metrics, and services programmatically.
Integration Models
Choose how your data is synchronized with Fluxme.io. You can use either model or both simultaneously.
Getting Started
Each provider receives a unique API key from the Fluxme.io team. Use it to authenticate your requests and update your provider profile.
Endpoint
PATCH /api/providers/:slugAuthentication
Include your API key in the Authorization header:
Authorization: Bearer your-api-keyAvailable Fields
name, description, longDescription, website, discord, country, type
tiers (tier, price, planName), comments, hasDiscount
totalNodes, totalClients, uptimePercentage, responseTimeHours, pnrEligiblePercent, arcaneOsPercent
dataCenters, sla, languages
acceptsFlux, acceptsStripe, acceptsFiat
supportChannels, whiteLabel, autoRenew, delegationAvailable
The following fields are managed by Fluxme.io and cannot be updated via the API: slug, fluxLabsPartner, verified, isDemo, rating, reviewCount.
Full Update Example
const response = await fetch('https://fluxme.io/api/providers/your-slug', {
method: 'PATCH',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer your-api-key',
},
body: JSON.stringify({
// Identity
name: 'My Provider',
description: 'Short description for the card (max 200 chars)',
longDescription: 'Full description shown on the profile page...',
website: 'https://myprovider.com',
discord: 'https://discord.gg/XXXXX',
country: 'Poland',
type: 'managed', // 'managed' | 'selfSetup' | 'dedicated'
// Pricing
tiers: [
{ tier: 'cumulus', price: 7.99, planName: 'Cumulus' },
{ tier: 'nimbus', price: 17.99, planName: 'Nimbus' },
{ tier: 'stratus', price: 35.99, planName: 'Stratus' },
],
comments: 'Prices include VAT',
hasDiscount: true,
// Metrics
totalNodes: 89,
totalClients: 51,
uptimePercentage: 99.99,
responseTimeHours: 0.5,
pnrEligiblePercent: 99,
arcaneOsPercent: 100,
// Infrastructure
dataCenters: 3,
sla: 99.9,
languages: ['en', 'pl'],
// Payment methods
acceptsFlux: true,
acceptsStripe: true,
acceptsFiat: true,
// Services
supportChannels: ['email', 'discord', 'phone'],
whiteLabel: false,
autoRenew: true,
delegationAvailable: true,
}),
});Partial Update (pricing only)
await fetch('https://fluxme.io/api/providers/your-slug', {
method: 'PATCH',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer your-api-key',
},
body: JSON.stringify({
tiers: [
{ tier: 'cumulus', price: 7.49, planName: 'Cumulus' },
{ tier: 'nimbus', price: 16.99, planName: 'Nimbus' },
{ tier: 'stratus', price: 34.99, planName: 'Stratus' },
],
totalNodes: 95,
}),
});cURL Example
curl -X PATCH https://fluxme.io/api/providers/your-slug \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your-api-key" \
-d '{
"totalNodes": 95,
"totalClients": 54,
"pnrEligiblePercent": 99,
"arcaneOsPercent": 100
}'Response
{
"status": "success",
"message": "Provider \"your-slug\" updated successfully",
"data": { ... }
}Use Your Own API Key
You can generate your own API key and send it to us for import. This lets you manage your key on your side while we securely store a hashed version.
Generate a secure API key (min. 32 characters). Use any format you prefer — UUID, random string, etc.
Send your key to us by email. We'll import it and associate it with your provider profile.
Use your key in the Authorization header to update your listing, just like a key we would have generated.
Key Format Example
# Any secure string of 32+ characters works:
# UUID v4
f47ac10b-58cc-4372-a567-0e02b2c3d479
# Random hex (openssl)
openssl rand -hex 32
# Random base64 (openssl)
openssl rand -base64 32Your key is stored as a SHA-256 hash — we never store it in plain text. You can rotate your key at any time by sending us a new one.
Push vs Pull — Which One?
Push — best when you want full control over when updates happen (e.g. after a deployment, on a cron job).
Pull — best when you already have an API or status page and want zero-maintenance sync with Fluxme.io.
Both — you can use Push for immediate updates and Pull as a background sync. Push updates always take priority.