API reference

A small JSON API over HTTPS. The base URL is https://myselfapi.top/api/v1, and the OpenAPI spec lives at /openapi.json.

Before you start

  • Authentication. Utility and status endpoints are open. Stream and job endpoints need an X-Api-Key header, and keys go to team accounts. To try them out, use the shared key demo_public; it returns sample data.
  • Rate limits. Open endpoints accept 60 requests per minute per IP address. Each response reports your budget in X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset.
  • Errors. Every error has the same shape: {"error":{"code":"…","message":"…","request_id":"req_…"}}. Include the request id when you contact us.
  • CORS. Open endpoints send Access-Control-Allow-Origin: *, so you can call them from a browser.

Utilities

GET /api/v1/hash

Return the SHA digest of a text.

ParameterTypeDescription
algstringsha1, sha256 (default), sha384 or sha512
textstringText to hash (max 4096 chars)
Request
curl "https://myselfapi.top/api/v1/hash?alg=sha256&text=hello"
Response
{
  "alg": "sha256",
  "hex": "2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824"
}

GET /api/v1/time

Return the current time, optionally in an IANA time zone.

ParameterTypeDescription
tzstringIANA zone, e.g. Europe/Berlin (default UTC)
Request
curl "https://myselfapi.top/api/v1/time?tz=Europe/Berlin"
Response
{
  "iso": "2026-10-10T14:52:07.000Z",
  "unix": 1791643927,
  "tz": "Europe/Berlin",
  "local": "10/10/2026, 16:52:07"
}

GET /api/v1/base64/encode

Encode UTF-8 text as Base64.

ParameterTypeDescription
textstringText to encode (max 4096 chars)
urlsafebooleanUse the URL-safe alphabet
Request
curl "https://myselfapi.top/api/v1/base64/encode?text=hello"
Response
{
  "result": "aGVsbG8="
}

GET /api/v1/base64/decode

Decode Base64 into UTF-8 text.

ParameterTypeDescription
textstringBase64 input (standard or URL-safe)
Request
curl "https://myselfapi.top/api/v1/base64/decode?text=aGVsbG8%3D"
Response
{
  "result": "hello"
}

GET /api/v1/tools

List the tools on this site.

Request
curl "https://myselfapi.top/api/v1/tools"
Response
{
  "data": [
    {
      "slug": "case",
      "name": "Case converter",
      "category": "Text",
      "url": "/tools/case"
    }
  ]
}

Status

GET /api/v1/health

Check that the API is up.

Request
curl "https://myselfapi.top/api/v1/health"
Response
{
  "status": "ok",
  "version": "1.x.y",
  "time": "2026-10-10T14:52:07.000Z"
}

GET /api/v1/status

Return the overall status and the state of each service.

Request
curl "https://myselfapi.top/api/v1/status"
Response
{
  "page": {
    "name": "example.com",
    "url": "https://example.com/status",
    "updated_at": "2026-10-10T14:52:07.000Z"
  },
  "status": {
    "indicator": "none",
    "description": "All systems operational"
  },
  "components": [
    {
      "id": "api",
      "name": "Public API",
      "status": "operational"
    }
  ]
}

GET /api/v1/components

List the services with their 90-day uptime.

Request
curl "https://myselfapi.top/api/v1/components"
Response
{
  "data": [
    {
      "id": "api",
      "name": "Public API",
      "status": "operational",
      "uptime_90d": 99.98
    }
  ]
}

GET /api/v1/incidents

List recent incidents and their updates.

ParameterTypeDescription
limitinteger1-50, default 10
Request
curl "https://myselfapi.top/api/v1/incidents?limit=3"
Response
{
  "data": [
    {
      "id": "inc_20371_export",
      "title": "Delays in data export",
      "status": "resolved",
      "impact": "minor"
    }
  ]
}

Account

POST /api/v1/auth/login

Sign in with a username and password. Sets a session cookie.

ParameterTypeDescription
usernamestringAccount name
passwordstringAccount password
Request
curl -X POST https://myselfapi.top/api/v1/auth/login \
  -H "Content-Type: application/json" \
  -d '{"username":"alice","password":"••••••••"}'
Response
{
  "username": "alice"
}

GET /api/v1/auth/me

Return the signed-in user, or 401 if nobody is signed in.

Request
curl -b cookies.txt https://myselfapi.top/api/v1/auth/me
Response
{
  "username": "alice"
}

POST /api/v1/auth/logout

Sign out and clear the session cookie.

Request
curl -b cookies.txt https://myselfapi.top/api/v1/auth/logout
Response
{
  "ok": true
}

Streams & jobs

GET /api/v1/components/stream API key

Live stream of component status changes (Server-Sent Events).

Request
curl -H "X-Api-Key: demo_public" https://myselfapi.top/api/v1/components/stream
Response
event: component
data: {"id":"api","status":"operational","latency_ms":84}

GET /api/v1/events/poll API key

Wait for new workspace events after a cursor.

ParameterTypeDescription
cursorstringOpaque cursor from the previous response
Request
curl -H "X-Api-Key: demo_public" https://myselfapi.top/api/v1/events/poll
Response
{
  "data": [],
  "next_cursor": "c_8f21"
}

POST /api/v1/export/jobs API key

Start a batch export job.

ParameterTypeDescription
formatstringjson or csv
Request
curl -H "X-Api-Key: demo_public" https://myselfapi.top/api/v1/export/jobs
Response
{
  "id": "job_41c8",
  "status": "queued"
}

Sign in

For team members only. An administrator creates accounts.