EN

Theme

Accent colour

Your theme and colour carry over to satelit.md and the app.

Dashboard Choose a plan

Authentication

A key looks like this: sat_live_ followed by 32 characters. You send it with every call. Cookies are not read on this domain.

How to send the key

Two forms, your choice. The first is the recommended one.

curl https://api.satelit.md/v1/me \
  -H "Authorization: Bearer $SATELIT_KEY"

# or
curl https://api.satelit.md/v1/me \
  -H "X-Api-Key: $SATELIT_KEY"
const res = await fetch("https://api.satelit.md/v1/me", {
  headers: { Authorization: `Bearer ${process.env.SATELIT_KEY}` },
});
const { data, meta } = await res.json();
console.log(data, meta.credits);
import json, os, urllib.request

req = urllib.request.Request(
    "https://api.satelit.md/v1/me",
    headers={"Authorization": f"Bearer {os.environ['SATELIT_KEY']}"},
)
with urllib.request.urlopen(req) as res:
    body = json.load(res)
print(body["data"], body["meta"]["credits"])
<?php
$ch = curl_init("https://api.satelit.md/v1/me");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => ["Authorization: Bearer " . getenv("SATELIT_KEY")],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);
print_r($body["data"]);

How to keep the key

  • You see it only once, when you create it. We keep only its fingerprint (sha256) and the first 12 characters, so you can recognize it in the dashboard.
  • Keep it in an environment variable on the server. Do not put it in the code of a public page and do not commit it to git.
  • If it leaks: create a new one and revoke the old one in the dashboard. Revocation is immediate.

How many keys each plan has

Start1
Creator3
Pro10
Business50
Enterpriseby contract

Routes without a key

/v1/sample, /v1/products, /v1/plans and /v1/status work without a key. /v1/sample has a limit of 60 calls per minute, per IP.

When the key is not valid

No key: 401 auth_required. Unknown or revoked key: 401 key_invalid. After 30 wrong attempts in a minute from the same IP, the response becomes 429.

Check the key

GET /v1/me costs no credits and shows the plan, the remaining credits and the per-minute limit.

GET /v1/me
{
  "data": {
    "plan": "creator",
    "credits": {
      "limit": 30000,
      "used": 4210,
      "reset": "2026-12-01T00:00:00+02:00",
      "plan": 30000,
      "extra": 0
    },
    "rate": {
      "per_minute": 120
    },
    "key": {
      "name": "blog",
      "prefix": "sat_live_a1b"
    }
  },
  "meta": {
    "credits": 0
  }
}