---
sidebar:
  order: 2
title: TypeScript SDK
description: >-
  Bruk kodelagerets SDK til typebestemte leseoperasjoner, bekreftede skriveoperasjoner og lokale medieopplastinger.
---

`@influence/sdk` er foreløpig en privat pakke i kodelageret, ikke en publisert npm-installasjon. Disse eksemplene gjelder prosjekter som har denne arbeidsområdepakken tilgjengelig. For en uavhengig klient bruker du [HTTP-API-et](/nb/developers/http-api).

Oppgi opprinnelsen du stoler på, uttrykkelig, og last nøkkelen fra en hemmelig miljøvariabel i prosessen:

```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);
```

Bruk `listTools()` til oppslag og `callTool(name, input)` for verktøy som katalogen angir at ikke krever bekreftelse, inkludert videreføring av autoriserte opplastinger. Handlinger som krever bekreftelse, bruker `prepareTool(name, input)` etterfulgt av `confirmTool(name, input, confirmationCapability, { idempotencyKey })`. Behold de samme inndataene, bekreftelsesverdien og nøkkelen etter et svar med usikkert utfall. SDK-en validerer forespørsler og svar og kaster `InfluenceSdkError` ved HTTP-feil og verktøyfeil.

`uploadMedia(file, { clientKey, name, contentType, sizeBytes })` tar imot en `Blob` og håndterer den bekreftede multipart-overføringen. Prøv igjen med den samme filen og `clientKey`. Les `mediaUploadGet` til den endelige mediefilen er klar. En opplasting under behandling er ikke klar til publisering. Følg de separate [reglene for gjennomgang før publisering og nye forsøk](/nb/developers/http-api).
