sdks
Libraries & code examples Libraries & codevoorbeelden
Every library on this page is generated straight from the OpenAPI spec, so method names match the reference one-to-one — login(), listOrders(), getOrder(). Prefer raw HTTP? The quickstart below runs in any language with no dependencies.
Elke library op deze pagina is rechtstreeks gegenereerd uit de OpenAPI-spec, dus de method-namen komen één-op-één overeen met de referentie — login(), listOrders(), getOrder(). Liever kale HTTP? De quickstart hieronder draait in elke taal, zonder dependencies.
Quickstart · no SDK Quickstart · zonder SDK
The same two steps in seven languages: hold a bearer token, then send it on every request. Step 1 does not happen on this API at all: ask your Storekeeper administrator for an API key, then exchange its client_id and client_secret for an access token at your own account's OAuth endpoint (client_credentials), which every stock OAuth client library already speaks. Put that access_token in the environment and every example below runs as it stands. The exchange is cheap and repeatable, so there is no renew endpoint here and you do not need one. There is no password endpoint and no read-only demo token — both withdrawn in 2026-09.
Dezelfde twee stappen in zeven talen: houd een bearer-token vast en stuur die mee bij elk verzoek. Stap 1 gebeurt helemaal niet op deze API: vraag je Storekeeper-beheerder om een API-sleutel en wissel de client_id en client_secret in voor een access token bij het OAuth-endpoint van je eigen account (client_credentials), wat elke standaard OAuth-clientbibliotheek al spreekt. Zet dat access_token in je omgeving en elk voorbeeld hieronder werkt zoals het er staat. Het inwisselen is goedkoop en herhaalbaar, dus een ververs-endpoint is hier niet — en je hebt er ook geen nodig. Een wachtwoord-endpoint is er niet en een alleen-lezen demotoken evenmin — beide ingetrokken in 2026-09.
# 1 — an access token: exchange your API key at Storekeeper's own token endpoint.
# curl -s -X POST https://api-$ACCOUNT.storekeepercloud.com/oauth/token \
# -u "$SK_CLIENT_ID:$SK_CLIENT_SECRET" -d grant_type=client_credentials | jq -r .access_token
TOKEN="${SK_ACCESS_TOKEN:?paste an access_token}"
# 2 — send it on every other request
curl -s "https://api-dev.storekeeper.software/api/orders?from=2026-07-01&limit=25" \
-H "Authorization: Bearer $TOKEN"<?php
$base = 'https://api-dev.storekeeper.software';
// 1 — an access token: exchange your API key at
// https://api-<account>.storekeepercloud.com/oauth/token (client_credentials).
$token = getenv('SK_ACCESS_TOKEN');
// 2 — call any endpoint with it
$ch = curl_init("$base/api/orders?from=2026-07-01&limit=25");
curl_setopt_array($ch, [
CURLOPT_HTTPHEADER => ["Authorization: Bearer $token"],
CURLOPT_RETURNTRANSFER => true,
]);
$orders = json_decode(curl_exec($ch), true);
print_r($orders['data']);const BASE = 'https://api-dev.storekeeper.software';
// 1 — an access token: exchange your API key at
// https://api-<account>.storekeepercloud.com/oauth/token (client_credentials).
const token = process.env.SK_ACCESS_TOKEN;
// 2 — call any endpoint with it
const orders = await fetch(`${BASE}/api/orders?from=2026-07-01&limit=25`, {
headers: { Authorization: `Bearer ${token}` },
}).then((r) => r.json());
console.log(orders.data);import os
import requests
BASE = "https://api-dev.storekeeper.software"
# 1 — an access token: exchange your API key at
# https://api-<account>.storekeepercloud.com/oauth/token (client_credentials).
token = os.environ["SK_ACCESS_TOKEN"]
# 2 — call any endpoint with it
orders = requests.get(
f"{BASE}/api/orders",
params={"from": "2026-07-01", "limit": 25},
headers={"Authorization": f"Bearer {token}"},
).json()
print(orders["data"])using System.Net.Http.Json;
using System.Text.Json.Nodes;
var http = new HttpClient { BaseAddress = new Uri("https://api-dev.storekeeper.software") };
// 1 — an access token: exchange your API key at
// https://api-<account>.storekeepercloud.com/oauth/token (client_credentials).
var token = Environment.GetEnvironmentVariable("SK_ACCESS_TOKEN")!;
// 2 — call any endpoint with it
http.DefaultRequestHeaders.Authorization = new("Bearer", token);
var orders = await http.GetFromJsonAsync<JsonNode>(
"/api/orders?from=2026-07-01&limit=25");
Console.WriteLine(orders!["data"]);import java.net.URI;
import java.net.http.*;
var http = HttpClient.newHttpClient();
String base = "https://api-dev.storekeeper.software";
// 1 — an access token: exchange your API key at
// https://api-<account>.storekeepercloud.com/oauth/token (client_credentials).
String token = System.getenv("SK_ACCESS_TOKEN");
// 2 — call any endpoint with it
var orders = http.send(HttpRequest.newBuilder(
URI.create(base + "/api/orders?from=2026-07-01&limit=25"))
.header("Authorization", "Bearer " + token)
.build(), HttpResponse.BodyHandlers.ofString());
System.out.println(orders.body());package main
import (
"encoding/json"
"fmt"
"net/http"
"os"
)
const base = "https://api-dev.storekeeper.software"
func main() {
// 1 — an access token: exchange your API key at
// https://api-<account>.storekeepercloud.com/oauth/token (client_credentials).
token := os.Getenv("SK_ACCESS_TOKEN")
// 2 — call any endpoint with it
req, _ := http.NewRequest("GET", base+"/api/orders?from=2026-07-01&limit=25", nil)
req.Header.Set("Authorization", "Bearer "+token)
orders, _ := http.DefaultClient.Do(req)
defer orders.Body.Close()
var out map[string]any
json.NewDecoder(orders.Body).Decode(&out)
fmt.Println(out["data"])
}Download an SDK Download een SDK
Each zip is a self-contained client with a class per endpoint group (AuthApi, OrdersApi, …) and its own README with a runnable example. Unzip and install locally — nothing is published to a package registry yet.
Elke zip is een zelfstandige client met een class per endpointgroep (AuthApi, OrdersApi, …) en een eigen README met een werkend voorbeeld. Uitpakken en lokaal installeren — er staat nog niets in een package-registry.
unzip storekeeper-php-sdk.zip cd storekeeper-php && composer install
unzip storekeeper-typescript-sdk.zip npm install ./storekeeper-typescript
unzip storekeeper-python-sdk.zip pip install ./storekeeper-python
unzip storekeeper-csharp-sdk.zip dotnet add reference \ storekeeper-csharp/src/Storekeeper.ApiClient/Storekeeper.ApiClient.csproj
unzip storekeeper-java-sdk.zip cd storekeeper-java && mvn install
unzip storekeeper-go-sdk.zip # import github.com/storekeeper-company/storekeeper-api-go/storekeeper
unzip storekeeper-rust-sdk.zip
# Cargo.toml: storekeeper = { path = "storekeeper-rust" }
unzip storekeeper-kotlin-sdk.zip cd storekeeper-kotlin && ./gradlew build
unzip storekeeper-swift-sdk.zip # add storekeeper-swift/Package.swift as a local SwiftPM dependency
How to use one. Configure the client with your bearer token, then call the method that matches the reference — e.g. Python: AuthApi().login(...) for the token, then OrdersApi(client).list_orders(...). Full examples live in each zip's README and mirror the interactive reference.
Hoe je er één gebruikt. Configureer de client met je bearer-token en roep de method aan die overeenkomt met de referentie — bijv. Python: AuthApi().login(...) voor het token, daarna OrdersApi(client).list_orders(...). Volledige voorbeelden staan in de README van elke zip en volgen de interactieve referentie.
Roll your own Maak je eigen client
All nine above are generated with openapi-generator from /openapi.json. Point it at that URL to build a client in Ruby, Dart, Scala, C++, or anything else it supports.
Alle negen hierboven zijn gegenereerd met openapi-generator uit /openapi.json. Richt 'm op die URL voor een client in Ruby, Dart, Scala, C++ of wat het verder ondersteunt.
# same toolchain we use — Ruby, for example
docker run --rm -v "$PWD:/out" \
openapitools/openapi-generator-cli generate \
-i https://api-dev.storekeeper.software/openapi.json \
-g ruby \
-o /out/storekeeper-ruby
Try calls live in the browser, or read the flows end to end. Vuur live verzoeken af in de browser, of lees de flows van begin tot eind.