Getting started
A key
Create one in the developer console. A key carries a fixed set of scopes, and a call whose key lacks the scope its endpoint requires is refused rather than partly served. Ask for the narrowest set that does the job: a key for market analysis has no business reading anybody's enquiries.
A first call
curl -sS https://api.skautik.com/v1/api/properties?city=Berlin \
-H "Authorization: Bearer $SKAUTIK_API_KEY"Or with a client:
import { Skautik } from "@skautik/sdk";
const skautik = new Skautik({ apiKey: process.env.SKAUTIK_API_KEY! });
const page = await skautik.properties.list({ city: "Berlin", maxPrice: 750000 });What comes back
Every success is enveloped. The payload is under data, and anything about
the response rather than the resource is under meta. A single record and a
collection differ only in whether data is an object or an array, so one
deserialiser handles both.
Failures are RFC 9457 problem
documents carrying a stable code. Branch on the code rather than on the
prose in title or detail, which is written for a person and may be
reworded. Every failure also carries a request_id: quote it when asking
about a specific one.
Next
Paging is the next thing you will need, and the easiest to get subtly wrong.