tiny

Small HTTP services you call from inside something you are already building. One credential, one API style, pay for what you call.

tiny weather

weather.tiny.kjuulh.io — current conditions, hourly and daily forecast for a coordinate. It is written and it is the first service; it does not answer yet.

How it works

Exchange your key for a token. Call the service. That is the whole of it.

$ curl -sS -u "$TINY_KEY_ID:$TINY_KEY_SECRET" \
  -d grant_type=client_credentials \
  -d audience=https://weather.tiny.kjuulh.io \
  -d scope=api:read \
  https://tiny.kjuulh.io/v1/tokens

{ "access_token": "eyJ...", "token_type": "Bearer",
  "expires_in": 600, "scope": "api:read" }
$ curl -sS -G -H "Authorization: Bearer $TOKEN" \
  -d lat=56.16 -d lon=10.20 \
  https://weather.tiny.kjuulh.io/v1/forecasts

Your key never leaves the centre. What travels to a service is a ten-minute token it verifies on its own, against a published key — so a call does not depend on the centre being up, and a service never phones home to answer you.

What you can ask for

Machine-readable, so a program reads this rather than the page. It is the one request here that is live today:

$ curl -sS https://web.tiny.kjuulh.io/.well-known/tiny-services.json \
  | jq '.services[0] | {slug, built, serving, base_url}'

{
  "slug": "weather",
  "built": true,
  "serving": false,
  "base_url": "https://weather.tiny.kjuulh.io"
}

The full document carries the token endpoint, and every operation with its parameters and defaults — include, hours, days, utc_offset for a forecast. Check serving rather than reading prose: it is what flips when a service starts answering.

What it costs

10,000 calls a month included, then €0.10 per 1,000, capped at €25 a month so a loop in your code cannot produce a surprise. One unit is one authenticated request that succeeded; errors and retries cost nothing.

These are the planned launch numbers, not a price list in force. Nothing can be billed because nothing is serving.

Where this is

When that last line changes, it changes in the discovery document first and here second.