14.2.7
Blocking API
POST

/api/plugin/v1/claim

Registers a game server with a code issued by the Discord bot and returns the credential used for reports. The server is registered at the IP and port the request came from. This path needs a code, so if you are writing your own client use /api/v1/servers/claim, which needs no Discord.

no auth10 / min · IPsince 1.1.0
Request headers
HeaderValueDescription
Content-Typeapplication/jsonUTF-8 JSON.
Request body
FieldInTypeRequiredDescription
codebodystringrequired1..128 characters. The code from /server claim in Discord.
portbodyintegerrequired1..65535. The game server port.
pluginVersionbodystringoptional1..32 characters. Used for the minimum-version check.
gameVersionbodystringoptional1..32 characters.
labApiVersionbodystringoptional1..32 characters.
Responses
StatusBodyWhen
200{"status":"verified","serverId":"8b1c…-uuid","credential":"slsrv_…","issuedAt":"2026-09-15T08:00:00Z"}Verified. The credential is returned only once. An earlier registration at the same IP:port is revoked.
202{"status":"review","reason":"ip_mismatch","retryAfterSeconds":60}Manual review of an old request. Resend the same code after retryAfterSeconds.
400{"error":"invalid request"}Malformed request.
401{"error":"invalid code"}Unknown, expired, used or cancelled code. Do not retry.
403{"error":"claim rejected"}Rejected in manual review.
426{"error":"plugin_outdated","minimum":"1.2.0","downloadUrl":"https://…"}pluginVersion is below the minimum.
429{"error":"rate limited"}More than 10 requests per minute from this IP.
503{"error":"db unavailable"}Retry shortly.
Response fields
FieldTypenullDescription
statusstringnoverified on 200, review on 202.
serverIdstringnoPublic ID (UUID) of the registered server. 200 only.
credentialstringnoThe server key, returned only in this response. 200 only.
issuedAtstringnoIssue time, ISO-8601 UTC. 200 only.
reasonstringno202 only. ip_mismatch or port_mismatch.
retryAfterSecondsintegerno202 only. Resend the same code after this many seconds.
Example
curl -X POST https://slmaps.com/api/plugin/v1/claim -H "User-Agent: MyServer/1.0" -H "Content-Type: application/json" -d "{\"code\":\"slclm_…\",\"port\":7777,\"pluginVersion\":\"1.2.2\",\"gameVersion\":\"14.2.7\",\"labApiVersion\":\"1.1.7\"}"
Request example
{
  "code": "slclm_…",
  "port": 7777,
  "pluginVersion": "1.2.2",
  "gameVersion": "14.2.7",
  "labApiVersion": "1.1.7"
}
Response example
{
  "status": "verified",
  "serverId": "8b1c…-uuid",
  "credential": "slsrv_…",
  "issuedAt": "2026-09-15T08:00:00Z"
}

What the plugin does

On 200 the plugin stores the credential (replacing any existing one), clears claim_code and starts reporting. On 202 it resends the same code after retryAfterSeconds. 401 and 403 are logged once and stop. 429, 503 and network errors are retried with a growing interval.

SLMAPS is the seed-map viewer for SCP: Secret Laboratory. These pages describe the public API of slmaps.com.slmaps.com ·