Fluxme.io
Back to Providers

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/:slug

Authentication

Include your API key in the Authorization header:

Authorization: Bearer your-api-key

Available Fields

Identity

name, description, longDescription, website, discord, country, type

Pricing & Tiers

tiers (tier, price, planName), comments, hasDiscount

Performance Metrics

totalNodes, totalClients, uptimePercentage, responseTimeHours, pnrEligiblePercent, arcaneOsPercent

Infrastructure

dataCenters, sla, languages

Payment Methods

acceptsFlux, acceptsStripe, acceptsFiat

Services

supportChannels, whiteLabel, autoRenew, delegationAvailable

Protected Fields

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.

1Generate

Generate a secure API key (min. 32 characters). Use any format you prefer — UUID, random string, etc.

2Send

Send your key to us by email. We'll import it and associate it with your provider profile.

3Authenticate

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 32
SHA-256

Your 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

Push — best when you want full control over when updates happen (e.g. after a deployment, on a cron job).

Pull

Pull — best when you already have an API or status page and want zero-maintenance sync with Fluxme.io.

Push + Pull

Both — you can use Push for immediate updates and Pull as a background sync. Push updates always take priority.

Need help or want to import your key?

Contact us by email to receive a key or to send us your own key for import.