
# Kom igång med API:et

Med <span data-t="appName">Your AI Connector</span> REST API kan du bygga din egen integration ovanpå ditt konto. Du kan skapa och söka efter kontakter, hantera kampanjer, vanliga frågor, uppgifter och möten, skicka meddelanden, registrera webhooks, läsa analyser och ansluta meddelandekanaler — allt som instrumentpanelen gör, styrt av kod.

Detta är navet för API-dokumentationen. Om du ansluter <span data-t="appName">Your AI Connector</span> till ett verktyg som redan har en inbyggd integration, kanske du inte behöver API:et alls. API:et är till för anpassade integrationer och automatisering i stor skala.

::: note
**Observera:** Dessa sidor är skrivna för utvecklare. Om du inte är utvecklare, dela detta avsnitt med ditt tekniska team.
:::


---

## Bas-URL

Varje anrop går till samma basadress, och alla sökvägar i dessa dokument är relativa till den:

```
https://api.youraiconnector.com/v1
```

Så kampanj-slutpunkten är `https://api.youraiconnector.com/v1/campaigns`, kontakt-slutpunkten är `https://api.youraiconnector.com/v1/contacts`, och så vidare.

Alla anrop måste använda en säker anslutning (HTTPS). Vanliga HTTP-anrop avvisas.

---

## Skaffa en API-nyckel

API-åtkomst är en **betalfunktion**. Om din plan inte inkluderar den, returnerar varje anrop en `403` med denna brödtext:

```json
{
  "success": false,
  "error_code": 403,
  "error": "This action requires the \"api_access\" feature, which is not enabled for this account."
}
```

När API-åtkomst har aktiverats för din plan kan du generera en nyckel från instrumentpanelen. Den fullständiga steg-för-steg-guiden finns i [API-åtkomst](../integrations/api-access.md) — i korthet: gå till **Inställningar → Integrationer → API-nyckel** för att generera eller återskapa din nyckel. API-nyckel är en egen sektion under Integrationer, separat från Webhooks, och den visas endast när API-åtkomst ingår i din plan. Hantera nyckeln som ett lösenord: den ger full åtkomst till ditt konto.

---

## Autentisering

Du kan skicka din API-nyckel på fyra sätt. Alla fungerar på varje slutpunkt som accepterar autentisering med API-nyckel.

| Metod | Hur | Bäst för |
|---|---|---|
| Frågeparameter | `?apiKey=YOUR_API_KEY` | Snabba tester, webbläsar-URL:er, äldre konfigurationer |
| Header | `X-API-Key: YOUR_API_KEY` | Produktionsintegrationer |
| Bearer-header | `Authorization: Bearer YOUR_API_KEY` | Produktionsintegrationer |
| Firebase ID-token | `Authorization: Bearer <ID token>` | Endast förstaparts-appsessioner |

För produktion, föredra en av header-formerna så att din nyckel aldrig hamnar i en serverlogg eller webbläsarhistorik. Frågeparameter-formen fungerar alltid och är enklast för ett enstaka test.

Se [Autentisering](authentication.md) för en fullständig genomgång av varje metod, med exempel och vägledning om när du ska använda vilken.

---

## Ditt första anrop

Här är ett komplett, fungerande anrop som listar kampanjerna på ditt konto. Det använder din API-nyckel och returnerar de senaste kampanjerna först.

**cURL**

```bash
curl "https://api.youraiconnector.com/v1/campaigns?apiKey=YOUR_API_KEY&limit=10"
```

**JavaScript**

```javascript
const res = await fetch("https://api.youraiconnector.com/v1/campaigns?limit=10", {
  headers: {
    "X-API-Key": "YOUR_API_KEY",
  },
});

const data = await res.json();
console.log(data.campaigns);
```

**Python**

```python
import requests

res = requests.get(
    "https://api.youraiconnector.com/v1/campaigns",
    params={"limit": 10},
    headers={"X-API-Key": "YOUR_API_KEY"},
)

data = res.json()
print(data["campaigns"])
```

Ett lyckat svar ser ut så här:

```json
{
  "success": true,
  "campaigns": [
    {
      "id": "NBCXrhqGPSFsd6MV7pRo",
      "name": "Inbound WhatsApp Leads",
      "type": "Incoming from Unknown Contacts",
      "status": "Live",
      "enabled": true,
      "archived": false,
      "created_at": 1700000000000,
      "ai_mode": true,
      "language": "en",
      "enabled_channels": ["whatsapp", "instagram"]
    }
  ],
  "next_cursor": null
}
```

---

## Svar vid framgång och fel

Varje JSON-svar innehåller en `success`-flagga så att du kan förgrena logiken baserat på den utan att behöva tolka statuskoder.

Ett lyckat svar är `success: true` plus datan för den slutpunkten (fältnamnet varierar — `campaigns`, `contacts`, `data`, och så vidare):

```json
{
  "success": true,
  "campaigns": []
}
```

Ett misslyckat svar är `success: false` med ett läsbart `error`-meddelande och en numerisk `error_code` som matchar HTTP-statusen:

```json
{
  "success": false,
  "error": "Invalid cursor",
  "error_code": 400
}
```

Kontrollera alltid `success` (eller HTTP-statusen) innan du läser datan. Se [Fel & Sidnumrering](errors-and-pagination.md) för den fullständiga tabellen över statuskoder och hur du bläddrar igenom stora resultatset.

---

## Hastighetsbegränsningar

Autentiserade anrop är begränsade till **300 anrop per minut** per API-nyckel. Det finns även ett högre tak på **1 200 anrop per minut per konto**, vilket räknar alla autentiserade anrop som görs för det kontot.


Om du överskrider någon av gränserna får du ett `429`-svar:

```json
{
  "success": false,
  "error_code": 429,
  "error": "Rate limit exceeded. Please try again later."
}
```

Vänta en kort stund och försök igen. Du kan också när som helst kontrollera din nuvarande användning med `GET https://api.youraiconnector.com/v1/api-keys/usage`, som returnerar hur många anrop du har gjort under det aktuella tidsfönstret och när det återställs — användbart för att bygga klientbaserad begränsning. Se [API-nycklar](api-keys.md).

---

## Resursguider

Resursgrupperna nedan har var och en sin egen guide med exakta sökvägar, begärandefält och svarsformat.

| Resurs | Vad den täcker |
|---|---|
| [AI-agenter](agents.md) | Skapa och konfigurera AI-agenter: inställningar, aktiva timmar, kunskap, taggningsregler, verktyg, media och utkast |
| [Ingångspunkter](entry-points.md) | Bestäm vilken AI-agent som svarar på en ny konversation: kanalstandarder, en agent per WhatsApp-nummer, nyckelord, kommentarer och följarregler |
| [Utskick](broadcasts.md) | Skapa, prissätt, starta, pausa och duplicera engångsutskick till en kontaktlista |
| [Kampanjer](campaigns.md) | Skapa, uppdatera, duplicera, aktivera, arkivera och inspektera kampanjer och deras botkonfiguration |
| [Kontakter](contacts.md) | Skapa, söka upp, lista, uppdatera, importera, tagga och radera kontakter |
| [FAQ](faqs.md) | Hantera de frågor och svar som din AI-assistent använder och länka dem till kampanjer |
| [Kunskapsbas](knowledge-base.md) | Importera webbplatser och dokument till din AI:s kunskap och gruppera FAQ-poster |
| [Uppgifter](tasks.md) | Skapa och hantera CRM-uppgifter, tavlastadier och uppgiftstyper |
| [Meddelanden](messages.md) | Skicka utgående meddelanden och läs konversationshistorik |
| [Möten](appointments.md) | Boka, boka om, avboka och radera möten |
| [Kanaler](channels.md) | Anslut och koppla från meddelandekanaler, köp nummer och ställ in vilken AI-agent som svarar på nya konversationer i varje kanal |
| [Mallar](templates.md) | Skapa, skicka in och kontrollera godkännandestatus för WhatsApp-meddelandemallar |
| [Analys](analytics.md) | Läs daglig statistik för meddelandehändelser, kreditförbrukning och sammanställningar av AI-kostnader |
| [Webhooks](webhooks.md) | Registrera slutpunkter för att ta emot händelseaviseringar i realtid |
| [Team](team.md) | Hantera teammedlemmar, inbjudningar, roller, behörigheter och avdelningar |
| [API-nycklar](api-keys.md) | Inspektera, rotera och återkalla din API-nyckel, kontrollera användning av hastighetsbegränsningar och skapa extra nycklar med begränsad åtkomst |

### Agenter, ingångspunkter och utskick

AI-agenter, ingångspunkter och utskick finns alla i den publicerade OpenAPI-specifikationen, så du kan bläddra bland deras exakta fält och köra live-förfrågningar mot dem i [API-utforskaren](reference.md). Varje del har sin egen guide: [AI-agenter](agents.md), [Ingångspunkter](entry-points.md) och [Utskick](broadcasts.md).


---

## Läsa dessa dokument som Markdown

Varje sida i denna dokumentation har en tvilling i ren Markdown: ta sidans adress och lägg till `/index.md` i slutet. Så den här sidan finns även tillgänglig på `https://docs.youraiconnector.com/api/getting-started/index.md`, och den returneras som ren text istället för en webbsida — praktiskt när du vill klistra in en sida i en AI-assistent eller hämta den via ett skript.

För att gå igenom hela uppsättningen, börja från `https://docs.youraiconnector.com/sitemap.xml`, som listar varje sida vi publicerar. Observera att dokumentationen avsiktligt hålls utanför sökmotorer, så att hämta dessa adresser direkt är sättet att nå den från kod.

Det finns ingen nyckelskyddad dokumentationsslutpunkt och ingen massnedladdning ännu — Markdown-tvillingarna och webbplatskartan utgör hela gränssnittet, och inget av dem kräver en API-nyckel.

---

## Nästa steg

- [Autentisering](authentication.md) — välj rätt autentiseringsmetod för din integrering.
- [Fel och paginering](errors-and-pagination.md) — hantera fel och bläddra igenom resultat.
- [API-åtkomst](../integrations/api-access.md) — generera din nyckel och se praktiska exempel.
