FadeHost API

FadeHost API as documented publicly: 12 operations. Contract generated from the documentation by API Evangelist (2026-11-07); not the provider's own document.

GitHub OpenAPI

Operations 12

POST /api/echo POST /api/echo Gives back the JSON you sent. #
GET /api/hello GET /api/hello #
GET /api/minecraft/skin/avatar/{size}/{player}.png Front-facing head avatar with the hat layer, size × size pixels. #
GET /api/minecraft/skin/body/{size}/{player}.png 3D perspective full-body render (slightly turned, camera above, with all overlay layers), size wide × size×2 tall. #
GET /api/nodes/{node}/byon/setup/script One command turns it into a node in your panel #
GET /api/nodes/{node} GET /api/nodes/{node} #
GET /api/visits GET /api/visits A counter kept under /data, to show it survives a redeploy. #
GET /bot GET /bot #
GET /bot/setWebhook Telegram bots: polling or webhook? #
GET /bridge/install.sh Install script for the FadeHost Bridge program #
GET /health GET /health #
GET /install.sh GET /install.sh #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/fadehost-com:fadehost-com-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

fadehost-com-openapi-generated.yml Raw ↑
openapi: 3.1.0
info:
  title: FadeHost API
  version: '2026-11-07'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-11-07: 12 operation(s) read from 9 public documentation page(s) (each operation
    names its page in x-source). This is not the provider''s published contract; FadeHost has published no machine-readable contract that the
    pipeline could find. Engine: local.'
  x-evidence-tiers:
    code-example: 5
    documentation: 7
    pages-with-code: 9
    pages-read: 9
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-11-07'
  x-generator: generate-contract-from-docs.py
  x-engine: local
  x-sources:
  - https://fadehost.com/tools/skin-api
  - https://fadehost.com/app-hosting/flask-api-starter
  - https://fadehost.com/app-hosting/express-api-starter
  - https://fadehost.com/docs/telegram-polling-vs-webhook
  - https://fadehost.com/docs/bridge
  - https://fadehost.com/docs/private-network
  - https://fadehost.com/self-host
  - https://fadehost.com/bridge
  - https://fadehost.com/docs/telegram-polling-vs-webhook.md
servers:
- url: https://api.fadehost.com
paths:
  /api/echo:
    post:
      operationId: post_api_echo
      tags:
      - Api
      summary: POST /api/echo Gives back the JSON you sent.
      x-source: https://fadehost.com/app-hosting/flask-api-starter
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiEchoRequest'
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostApiEchoResponse'
      x-evidence:
        kind: documentation
  /api/hello:
    get:
      operationId: get_api_hello
      tags:
      - Api
      summary: GET /api/hello
      x-source: https://fadehost.com/app-hosting/flask-api-starter
      parameters:
      - name: name
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: 'curl https://my-api.fadehost.app/api/hello?name=Ada {"hello":"Ada"} $ curl https://my-api.fadehost.app/health {"ok":true} $
          curl https://my-api.fadehost.app/api/visits {"storedIn":"/data","visits":3} Plan Free to try Dependencies Two: Flask, waitress Runtime
          Python 3.11 or newer Keeps Files under /data What is in it Served by waitress Not Flask''s development server, which warns you not to
          use it f'
  /api/minecraft/skin/avatar/{size}/{player}.png:
    get:
      operationId: get_api_minecraft_skin_avatar_size_player_png
      tags:
      - Api
      summary: Front-facing head avatar with the hat layer, size × size pixels.
      x-source: https://fadehost.com/tools/skin-api
      parameters:
      - name: size
        in: path
        required: true
        schema:
          type: string
      - name: player
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/minecraft/skin/body/{size}/{player}.png:
    get:
      operationId: get_api_minecraft_skin_body_size_player_png
      tags:
      - Api
      summary: 3D perspective full-body render (slightly turned, camera above, with all overlay layers), size wide × size×2 tall.
      x-source: https://fadehost.com/tools/skin-api
      parameters:
      - name: size
        in: path
        required: true
        schema:
          type: string
      - name: player
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/nodes/{node}/byon/setup/script:
    get:
      operationId: get_api_nodes_node_byon_setup_script
      tags:
      - Api
      summary: One command turns it into a node in your panel
      description: 'Retrieve the setup script for a BYON node. The script is fetched via a curl command like: curl -sL "https://api.fadehost.com/api/nodes/<node>/byon/setup/script?signature=<token>"
        | sudo bash'
      x-source: https://fadehost.com/self-host
      parameters:
      - name: node
        in: path
        required: true
        schema:
          type: string
      - name: signature
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/nodes/{node}:
    get:
      operationId: get_api_nodes_node
      tags:
      - Api
      summary: GET /api/nodes/{node}
      x-source: https://fadehost.com/self-host
      parameters:
      - name: node
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: curl -sL "https://api.fadehost.com/api/nodes/<node>/byon/setup/script?signature=<token>" | sudo bash Who runs their own node
          The machine is yours and so is its memory. The panel, the relay, the backups and the updates are ours. Home labs A NAS, a mini PC or
          the desktop you replaced last year. It gets a console, a file manager, installers, backups and scheduled tasks instead of an SSH session
          and a
  /api/visits:
    get:
      operationId: get_api_visits
      tags:
      - Api
      summary: GET /api/visits A counter kept under /data, to show it survives a redeploy.
      x-source: https://fadehost.com/app-hosting/flask-api-starter
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiVisitsResponse'
      x-evidence:
        kind: documentation
  /bot<TOKEN:
    get:
      operationId: get_bot_TOKEN
      tags:
      - Bot Token
      summary: GET /bot<TOKEN
      x-source: https://fadehost.com/docs/telegram-polling-vs-webhook
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl \"https://api.telegram.org/bot<TOKEN>/setWebhook?url=https://name.fadehost.app/webhook\" , or with your library’s helper.\
          \ \n Use a webhook when the bot is part of a larger web app anyway, or when you need Telegram to reach a route that also serves a site.\
          \ \n Switching \n Telegram allows one mode at a time. Before polling again, delete the webhook ( deleteWebhook ), or polling answers\
          \ Conflict: can"
  /bot<TOKEN>/setWebhook:
    get:
      operationId: get_bot_TOKEN_setWebhook
      tags:
      - Bot Token
      summary: 'Telegram bots: polling or webhook?'
      description: Sets a webhook for the bot so Telegram will send updates to the specified HTTPS URL.
      x-source: https://fadehost.com/docs/telegram-polling-vs-webhook
      parameters:
      - name: url
        in: query
        required: true
        schema:
          type: string
        description: Public HTTPS address for the webhook, e.g., https://name.fadehost.app/webhook
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /bridge/install.sh:
    get:
      operationId: get_bridge_install_sh
      tags:
      - Bridge
      summary: Install script for the FadeHost Bridge program
      x-source: https://fadehost.com/docs/bridge
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /health:
    get:
      operationId: get_health
      tags:
      - Health
      summary: GET /health
      x-source: https://fadehost.com/app-hosting/flask-api-starter
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetHealthResponse'
      x-evidence:
        kind: documentation
  /install.sh:
    get:
      operationId: get_install_sh
      tags:
      - Install
      summary: GET /install.sh
      x-source: https://fadehost.com/docs/private-network
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -fsSL https://tailscale.com/install.sh | sh ). \n Run the command the panel gives you. It points the client at FadeHost’s\
          \ coordination server with your key. \n The device appears in your panel list once connected. While connected, your private names (database\
          \ hosts, your VPS) resolve automatically. Disconnect anytime with tailscale down ; remove a device for good from the panel. \n Addresses\
          \ and"
components:
  schemas:
    PostApiEchoRequest:
      type: object
      properties:
        any:
          type: object
          description: any JSON payload sent in the request body
    PostApiEchoResponse:
      type: object
      properties:
        any:
          type: object
          description: the same JSON payload that was sent
    GetApiVisitsResponse:
      type: object
      properties:
        storedIn:
          type: string
          description: location where the counter is stored
        visits:
          type: integer
          description: number of visits recorded
    GetHealthResponse:
      type: object
      properties:
        ok:
          type: boolean
          description: always true
tags:
- name: Api
- name: Bot Token
- name: Bridge
- name: Health
- name: Install