---
sidebar:
  order: 2
title: "TypeScript-SDK"
description: "Nutze das Repository-SDK für typisierte Lesezugriffe, bestätigte Änderungen und lokale Uploads."
---

`@influence/app-sdk` ist derzeit ein privates Repository-Paket und nicht öffentlich über npm installierbar. Diese Beispiele benötigen das Paket im Entwicklungsworkspace. Für einen unabhängigen Client nutze die [HTTP-API](/de/developers/http-api).

Gib den vertrauenswürdigen Origin ausdrücklich an und lade den Schlüssel aus der geheimen Prozessumgebung:

```ts
import { InfluenceClient } from "@influence/app-sdk/client";

const accessToken = process.env.PUBLISH_API_TOKEN;
if (!accessToken) throw new Error("PUBLISH_API_TOKEN");

const client = new InfluenceClient({
  baseUrl: "https://influence.so",
  accessToken,
});

const catalog = await client.listTools();
const accounts = await client.callTool("accountList", {});
console.log(catalog.tools, accounts.output);
```

`listTools()` findet Tools, `callTool(name, input)` führt Lesezugriffe aus. Änderungen verwenden `prepareTool(name, input)` und danach `confirmTool(name, input, confirmationCapability, { idempotencyKey })`. Behalte nach einem unklaren Ergebnis dieselben Werte bei. Das SDK validiert Anfragen und Antworten und wirft bei HTTP- oder Toolfehlern `InfluenceSdkError`.

`uploadMedia(file, { clientKey, name, contentType, sizeBytes })` nimmt einen `Blob` an und übernimmt den bestätigten mehrteiligen Upload. Wiederhole mit derselben Datei und demselben `clientKey`. Lies `mediaUploadGet`, bis das Medium fertig ist; ein noch verarbeiteter Upload ist nicht veröffentlichungsbereit. Beachte die [Regeln für Freigaben und Wiederholungen](/de/developers/http-api).
