---
sidebar:
  order: 2
title: TypeScript-SDK
description: >-
  Brug repositoryets SDK til typede læsninger, bekræftede skrivehandlinger og upload af lokale medier.
---

`@influence/sdk` er i øjeblikket en privat pakke i repositoryet, som ikke er udgivet til installation via npm. Eksemplerne gælder for projekter, hvor denne workspace-pakke er tilgængelig. Brug [HTTP-API’et](/da/developers/http-api) til en selvstændig klient.

Angiv den betroede origin eksplicit, og indlæs nøglen fra processens hemmelige miljøvariabler:

```ts
import { InfluenceClient } from "@influence/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);
```

Brug `listTools()` til at finde værktøjer og `callTool(name, input)` til værktøjer, som kataloget markerer som uden krav om bekræftelse, herunder fortsættelse af autoriserede uploads. Handlinger, der kræver bekræftelse, bruger `prepareTool(name, input)` efterfulgt af `confirmTool(name, input, confirmationCapability, { idempotencyKey })`. Behold samme input, capability og nøgle efter et usikkert svar. SDK’et validerer anmodninger og svar og kaster `InfluenceSdkError` ved HTTP-fejl og værktøjsfejl.

`uploadMedia(file, { clientKey, name, contentType, sizeBytes })` modtager en `Blob` og håndterer den bekræftede multipart-overførsel. Prøv igen med samme fil og samme `clientKey`. Læs `mediaUploadGet`, indtil det endelige medie er klart. En upload, der stadig behandles, er ikke klar til udgivelse. Følg de særskilte [regler for gennemgang før udgivelse og nye forsøg](/da/developers/http-api).
