RESOURCES

Developer documentation

Practical reference for authorized Layer 4 / Layer 7 capacity tests: Hub workflow first, then REST API v1 and scheduled automations on paid plans. Same engine as Dashboard → API.

Abstract developer panel and CI shapes for authorized IP stresser workflows
Panel vs scripts — authorized testing for developers

Table of contents

In-app copy-paste with your live origin: Dashboard → API (login required). This page is the public mirror for SEO and pre-signup reading.

Quick start

  1. Create an account — Free Trial needs no card.
  2. Open the Hub and complete target verification for a host or IP you own.
  3. Run a short smoke test (30–60s). Stop immediately if error rate or latency looks wrong.
  4. Upgrade on pricing when you need longer windows, more concurrents, or Developer API.
  5. Create a token under Dashboard → API, store it server-side, then call https://slammed.st/api/v1.
  6. Always GET /account before starting tasks so you know free concurrent slots and maxTime.

Trial is capped (shared free pool, free methods only). Use it to learn the workflow — not to size production peaks. Rule of thumb from plans: ~1 concurrent ≈ 60k RPS ≈ 30 Gbps class load; confirm with your plan and the RPS calculator.

Hub workflow

The Hub is the primary UI for one-off authorized tests. Same fields apply when you call the API later.

ControlWhat it does
Layer 4IPv4 / CIDR targets, destination port(s), network method profiles (UDP/TCP).
Layer 7Full http:// or https:// URL, rateLimit, HTTP version, browser-like profiles.
ConcurrentsWorkers for this run; cannot exceed free slots on your plan.
TimeDuration in seconds, capped by plan maxTime (API minimum is 10s).
StopAlways available in Hub and via /tasks/{id}/stop. Build abort thresholds into the change window.

Recommended run order

  1. Staging or lab IP with low concurrents and short time.
  2. Canary / single edge with production-like method.
  3. Production window only with written authorization and on-call ready.

Related: Features · Layer 4 · Layer 7 · Glossary.

Target verification

Substantive traffic only runs against verified targets. You must own the host/IP or hold written permission covering the window, intensity, and method class.

  • Complete the in-product ownership / authorization check before production-like load.
  • Keep proof (ticket, email, change record) with the run notes and task IDs.
  • Re-verify after DNS / IP changes — stale verification can block or mis-route intent.
  • Unauthorized testing is prohibited — see Acceptable Use and Terms.

Background: authorized load testing · Is using an IP stresser legal?

Useful network tools

Developer-recommended external tools for pre-flight checks on systems you own — full write-up with screenshots: Useful tools suggested by developers of Slammed.st.

  • Check-Host.net / check-host.cc — multi-node ping, HTTP, DNS, TCP/UDP, IP info.
  • Censys — inventory hosts/services; find possible backend / origin behind CDN for assets you own.
  • FOFA — Censys-style asset search alternative.
  • Shodan — exposed services and internet-connected devices on your estate.

Authorized targets only. Same list lives in-app under Dashboard → Learn.

API access

Developer API is available on paid plans (or via the Developer API add-on where offered). Manage tokens in Dashboard → API after signup.

  • Base URL: https://slammed.st/api/v1
  • Token format: slm_… (shown once at creation — store it securely).
  • IP allowlist (optional) per token for CI runners and jump hosts.
  • Rotate / revoke from the same screen; never commit tokens to git or front-end bundles.

Account flag to look for on GET /account: developerApiAccess: true. Automations need automationAccess: true (active paid subscription; up to 15 saved jobs).

Authentication

Pass the token as a query parameter on every request:

GET https://slammed.st/api/v1/account?key=slm_YOUR_TOKEN
  • Aliases: ?key= or ?token=.
  • Missing / revoked / non-slm_ tokens → 401.
  • No Developer API entitlement → 403.
  • Allowlisted token + wrong client IP → 403.

Prefer HTTPS in production. Store tokens only on servers / CI secrets managers — never in browser JavaScript.

Endpoints

All paths are under /api/v1 and require ?key=slm_….

Account & tasks

MethodPathPurpose
GET/accountPlan, balance, concurrents, max time, API / automation flags
GET/tasks?status=runningList tasks (running, completed, stopped, failed, all)
GET/tasks/{id}Single task by ID (e.g. SLM-87433E)
GET/tasks/start?…Start via query params (fast terminal trials)
POST/tasksStart with JSON body (preferred for L7 / CI)
GET / POST/tasks/{id}/stopStop a running task

Automations

Requires paid plan (automationAccess). Max 15 jobs per account.

MethodPathPurpose
GET/automationsList scheduled jobs
GET/automations/{id}Single job by numeric ID
POST/automationsCreate once / interval / daily job
GET / POST/automations/{id}/togglePause / resume (enabled=0|1 or JSON)
GET / POST/automations/{id}/deleteDelete a job

Successful creates return HTTP 201 with "ok": true. Reads return 200.

Task parameters

For GET /tasks/start use query params. For POST /tasks send JSON (query params still accepted as overrides).

FieldTypeRequiredDescriptionExample
layerstringYesl4 (network) or l7 (HTTP)l4
targetstringYesL4: IPv4 / CIDR. L7: full URL with scheme203.0.113.10
time / durationintegerYesSeconds (min 10, max = plan). Either name works60
methodstringYesHub method label (see Methods)UDP-AMP
concurrentsintegerYesWorkers ≤ free slots1
portint / CSV / rangeL4Port 1–65535, list 53,80,443, or range 1000-3000443
option / customOptionstringCustom L4Required for UDP-CUSTOMfivem
rateLimitintegerL7Requests/sec, 1–51264
httpVersionstringNo1.1 or 2 (default 2)2

List filter: status = running (default), completed, stopped, failed, or all.

Methods

Send Hub method names (not internal upstream slugs).

LayerMethodNotes
l4UDP-AMP / TCP-TRIALTrial-only free methods
l4TCP-AMP / HANDSHAKE / TCP-OVH / WRA / SOCKET / TCPBYPASSTCP-family profiles
l4UDP-GAME / UDP-RAW / UDP-PPS / FIVEM / RAKNET / DISCORD / UDP-GMODUDP / game profiles
l4TCP-MINECRAFT / TCP-WOKMinecraft Java / SSH profiles
l4UDP-CUSTOMRequires option payload slug
l4UDP-BOT / ACK-BOT / SYN-BOT / STOMP-BOT / SOCKET-BOT / UDPV2-BOTIoT Powered Network add-on
l7MEDIAN-TRIALTrial-only L7; limited power
l7HTTPBaseline HTTP load
l7HTTP-AIAI-driven HTTP (paid)
l7MEDIAN / MEDIAN-TRIALSteady HTTPS; trial = limited power
l7BROWSERBrowser-like client profile
l7HTTPS-WAVE / SOLVERAdvanced Layer 7 add-on

Trial can only start free methods: l4+UDP-AMP or l7+MEDIAN-TRIAL.

Examples

Account

curl "https://slammed.st/api/v1/account?key=slm_YOUR_TOKEN"

Start Layer 4 (GET)

curl "https://slammed.st/api/v1/tasks/start?key=slm_YOUR_TOKEN&layer=l4&target=203.0.113.10&port=443&time=60&method=UDP-AMP&concurrents=1"

Start Layer 4 (POST JSON)

curl -X POST "https://slammed.st/api/v1/tasks?key=slm_YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"layer":"l4","target":"203.0.113.10","port":443,"duration":60,"method":"TCP-AMP","concurrents":1}'

Start Layer 7 (POST JSON)

curl -X POST "https://slammed.st/api/v1/tasks?key=slm_YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"layer":"l7","target":"https://staging.example.com","time":90,"method":"HTTP","concurrents":1,"rateLimit":64,"httpVersion":"2"}'

List & stop

curl "https://slammed.st/api/v1/tasks?key=slm_YOUR_TOKEN&status=running"
curl "https://slammed.st/api/v1/tasks/SLM-87433E/stop?key=slm_YOUR_TOKEN"

Python

import requests
BASE = "https://slammed.st/api/v1"
KEY = "slm_YOUR_TOKEN"
account = requests.get(f"{BASE}/account", params={"key": KEY}).json()
print(account["account"]["concurrents"], "slots · max", account["account"]["maxTime"], "s")
r = requests.post(f"{BASE}/tasks", params={"key": KEY}, json={
  "layer": "l7",
  "target": "https://staging.example.com",
  "time": 60,
  "method": "HTTP",
  "concurrents": 1,
  "rateLimit": 48
})
print(r.status_code, r.json())

Node.js

const key = 'slm_YOUR_TOKEN';
const url = new URL('https://slammed.st/api/v1/tasks/start');
url.searchParams.set('key', key);
url.searchParams.set('layer', 'l4');
url.searchParams.set('target', '203.0.113.10');
url.searchParams.set('port', '80');
url.searchParams.set('time', '30');
url.searchParams.set('method', 'UDP-AMP');
url.searchParams.set('concurrents', '1');
const { task } = await fetch(url).then((r) => r.json());
console.log('Started:', task.id);

JSON responses

Success payloads include "ok": true. Task / automation creates return HTTP 201.

Task started (201)

{
  "ok": true,
  "message": "Test started.",
  "task": {
    "id": "SLM-87433E",
    "layer": "l4",
    "target": "203.0.113.10",
    "port": 80,
    "duration": 30,
    "method": "UDP-AMP",
    "concurrents": 1,
    "rateLimit": null,
    "status": "running",
    "startedAt": "2026-07-21 00:00:00",
    "endsAt": "2026-07-21 00:00:30"
  }
}

Account (200)

{
  "ok": true,
  "account": {
    "id": 42,
    "username": "yourname",
    "plan": "Basic",
    "planSlug": "basic",
    "balanceCents": 2500,
    "concurrents": 3,
    "maxTime": 300,
    "developerApiAccess": true,
    "automationAccess": true,
    "automationMaxJobs": 3
  }
}

List tasks (200)

{
  "ok": true,
  "count": 1,
  "tasks": [{ "id": "SLM-87433E", "status": "running", "method": "HTTP-AI", "concurrents": 1 }]
}

Stop (200)

{ "ok": true, "message": "Test stopped.", "id": "SLM-87433E" }

Automations

Saved jobs that launch tests on a schedule — same engine as Dashboard → Automations. Requires automationAccess: true. Trial cannot create automations.

FieldRequiredDescription
All task fields — layer, target, method, duration, concurrents, etc.
nameNoDisplay name (max 64). Auto-generated if omitted
scheduleTypeYesonce, interval, or daily
runAtonce / dailyonce: YYYY-MM-DD HH:MM:SS UTC. daily: HH:MM UTC
intervalMinutesintervalEvery N minutes (or intervalSeconds). Min 5s, max 24h
instructionsNoTeam notes (max 2000)
speedModeNofast, balanced, or powerful

Daily L4 at 02:00 UTC

curl -X POST "https://slammed.st/api/v1/automations?key=slm_YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"Nightly L4","layer":"l4","target":"203.0.113.10","port":443,"duration":60,"method":"UDP-AMP","concurrents":1,"scheduleType":"daily","runAt":"02:00"}'

Every 30 minutes (L7)

curl -X POST "https://slammed.st/api/v1/automations?key=slm_YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"HTTP pulse","layer":"l7","target":"https://staging.example.com/","duration":45,"method":"HTTP","concurrents":1,"rateLimit":64,"scheduleType":"interval","intervalMinutes":30}'

Pause / resume / delete

curl "https://slammed.st/api/v1/automations/12/toggle?key=slm_YOUR_TOKEN&enabled=0"
curl "https://slammed.st/api/v1/automations/12/toggle?key=slm_YOUR_TOKEN&enabled=1"
curl "https://slammed.st/api/v1/automations/12/delete?key=slm_YOUR_TOKEN"

More CI patterns: IP stresser for developers (2026).

Integration workflows

  • Slot guard — GET /account + GET /tasks?status=running before every start. Avoids 400 when slots are full.
  • CI gate — start short L7 against staging, poll /tasks/{id}, stop early on failure threshold, fail the pipeline if the API returns non-ok.
  • Nightly automation — POST /automations with scheduleType: daily; pause around freezes with /toggle.
  • Health pulse — interval job (e.g. 30–60 min) with low rateLimit and short duration on a verified staging URL.
  • Manual Hub + API stop — operators start in Hub; scripts can still stop by task ID if abort criteria trip.

Errors & limits

CodeMeaningWhat to do
400Validation / plan limit / bad targetRead message and optional field
401Missing / invalid / revoked tokenRegenerate token; check ?key=
403No API access, allowlist miss, automations lockedUpgrade plan or fix allowlist IP
404Unknown task / job idConfirm ID belongs to this account
429Rate limitedBackoff and retry
{
  "ok": false,
  "message": "Time must be between 10 and 300 seconds.",
  "field": "time"
}

Capacity helper: Concurrent vs RPS / Gbps calculator.

Safety rules

  • Only test systems you own or are explicitly authorized to assess.
  • Define abort criteria (error %, latency, saturation) before the window.
  • Prefer staging → canary → production; keep blast radius small.
  • Never share API tokens; revoke on leak; use IP allowlists for CI.
  • Unauthorized disruption is forbidden — AUP · AML Policy · Privacy.

Ready to run: Start free · Compare plans · Live status · Open API panel (after login).

Related

Resources hub · Glossary · Tools matrix · RPS calculator · Useful network tools · Blog · Pricing · Start free