dealsky.ioDocs
Zur App
API-Referenz

Konto

Verbindung prüfen, Tarif, Credits, eigener Key, Doku

#

Eigenen API-Key prüfen

GET/v1/me
Scope keyliest

Zeigt, zu welchem Konto der Key gehört, welche Berechtigungen er hat und ob er im Test-Modus läuft. Ideal als Verbindungstest.

Felder der Antwort
  • tenant_idstring (uuid)

    ID des Kontos (Mandanten), zu dem der Key gehört

  • tenant_namestring

    Name des Kontos, leer, wenn keiner hinterlegt ist

  • key_namestring

    Name, den der Key beim Anlegen bekommen hat

  • modestring

    test: schreibende Aufrufe werden nur simuliert

    live test
  • scopesListe aus string

    Berechtigungen (Scopes) dieses Keys

    read:leads write:leads delete:leads read:exclusions write:exclusions read:campaigns write:campaigns run:campaigns read:crm write:crm delete:crm read:inbox write:inbox send:messages read:linkedin read:analytics read:assets write:assets generate:assets read:webhooks write:webhooks read:team read:account
  • planstring, kann null sein

    Tarif des Kontos, null, wenn keiner gesetzt ist

  • api_versionstring

    Version dieser API

Mögliche Fehler

400 VALIDATION_ERROR401 INVALID_API_KEY402 PLAN_REQUIRED429 RATE_LIMITED
curl -X GET "https://api.dealsky.io/functions/v1/api/v1/me" \
  -H "X-API-Key: $DEALSKY_API_KEY"
const res = await fetch("https://api.dealsky.io/functions/v1/api/v1/me", {
  method: "GET",
  headers: {
    "X-API-Key": process.env.DEALSKY_API_KEY,
  },
});
const { ok, data, error } = await res.json();
import os, requests

res = requests.request(
    "GET",
    "https://api.dealsky.io/functions/v1/api/v1/me",
    headers={"X-API-Key": os.environ["DEALSKY_API_KEY"]},
)
print(res.json())
Antwort 200
{
  "ok": true,
  "data": {
    "tenant_id": "3c9d2e1f-5a6b-4c7d-8e9f-0a1b2c3d4e5f",
    "tenant_name": "Beispiel GmbH",
    "key_name": "Zapier",
    "mode": "live",
    "scopes": [
      "read:leads",
      "write:leads",
      "read:exclusions",
      "write:exclusions"
    ],
    "plan": "scale",
    "api_version": "1.0.0"
  },
  "meta": {
    "request_id": "req_7f3a…"
  }
}
#

OpenAPI-Beschreibung dieser API

GET/v1/openapi.json
ohne Scopeliest

Maschinenlesbare Beschreibung aller Endpunkte (OpenAPI 3.1). Ohne API-Key abrufbar.

Ohne API-Key

Mögliche Fehler

400 VALIDATION_ERROR
curl -X GET "https://api.dealsky.io/functions/v1/api/v1/openapi.json"
const res = await fetch("https://api.dealsky.io/functions/v1/api/v1/openapi.json", {
  method: "GET",
});
const { ok, data, error } = await res.json();
import os, requests

res = requests.request(
    "GET",
    "https://api.dealsky.io/functions/v1/api/v1/openapi.json",
)
print(res.json())
Antwort 200
{
  "ok": true,
  "data": {
    "openapi": "3.1.0",
    "info": {
      "title": "dealsky API",
      "version": "1.0.0"
    }
  },
  "meta": {
    "request_id": "req_7f3a…"
  }
}
#

Mandant, Tarif und Credit-Stand

GET/v1/account
Scope read:accountRecht: Inhaber oder Adminliest

Liest Mandant, Tarif, laufendes Abo und Credit-Stand. Kostet nichts. credits.effective ist, was jetzt ausgegeben werden kann: verfügbar minus vorgemerkt plus Bonus, wie die Credit-Anzeige der App und die Abbuchung (Bonus wird zuerst verbraucht). Ab 999999 gilt das Konto als unbegrenzt (credits.unlimited). Zahlungsmittel, Rechnungen und Vertragsdetails gibt die API nicht heraus. Wie die Abrechnung in der App nur für Inhaber und Admins.

Felder der Antwort
  • tenantobject

    Mandant des Keys

    Felder anzeigen
    • idstring (uuid)

      ID des Mandanten, zu dem der API-Key gehört

    • namestring

      Firmenname des Mandanten, leer, wenn keiner hinterlegt ist

  • plan_tierstring, kann null sein

    Tarif wie in der App: aus dem laufenden Abo, sonst aus dem Credit-Konto

    business growth scale enterprise
  • subscriptionobject, kann null sein

    Laufendes Abo, null ohne Abo

    Felder anzeigen
    • plan_tierstring, kann null sein

      Tarif laut Abo (subscriptions.plan_tier), null, wenn das Abo keinen nennt

    • statusstring

      active, past_due (Zahlung offen), unpaid, scheduled (startet später)

      active past_due unpaid scheduled
    • current_period_endstring (date-time), kann null sein

      Ende des laufenden Abrechnungszeitraums

    • cancel_at_period_endboolean, kann null sein

      Gekündigt zum Ende des Zeitraums

    • is_pausedboolean, kann null sein

      Abo ist pausiert. null, wenn das Abo dazu nichts speichert

  • creditsobject

    Credit-Stand. effective ist, was jetzt ausgegeben werden kann

    Felder anzeigen
    • availableinteger

      Freies Plan-Guthaben

    • reservedinteger

      Vorgemerkt für laufende Aufträge (z. B. Videos), noch nicht abgebucht

    • bonusinteger

      Bonus-Credits, verfallen nie und werden zuerst verbraucht

    • effectiveinteger

      Jetzt ausgebbar: available minus reserved plus bonus, nie unter 0

    • unlimitedboolean

      Unbegrenztes Konto (ab 999999 Credits)

    • used_this_periodinteger

      Im laufenden Zeitraum aus dem Plan-Guthaben verbraucht

    • plan_packageinteger, kann null sein

      Monatliches Credit-Paket des Tarifs

    • period_endstring (date-time), kann null sein

      Ende des Credit-Zeitraums, danach wird das Plan-Guthaben neu gesetzt. null ohne Credit-Konto

Mögliche Fehler

400 VALIDATION_ERROR401 INVALID_API_KEY402 PLAN_REQUIRED403 SCOPE_MISSING429 RATE_LIMITED
curl -X GET "https://api.dealsky.io/functions/v1/api/v1/account" \
  -H "X-API-Key: $DEALSKY_API_KEY"
const res = await fetch("https://api.dealsky.io/functions/v1/api/v1/account", {
  method: "GET",
  headers: {
    "X-API-Key": process.env.DEALSKY_API_KEY,
  },
});
const { ok, data, error } = await res.json();
import os, requests

res = requests.request(
    "GET",
    "https://api.dealsky.io/functions/v1/api/v1/account",
    headers={"X-API-Key": os.environ["DEALSKY_API_KEY"]},
)
print(res.json())
Antwort 200
{
  "ok": true,
  "data": {
    "tenant": {
      "id": "3c9d2e1f-5a6b-4c7d-8e9f-0a1b2c3d4e5f",
      "name": "Beispiel GmbH"
    },
    "plan_tier": "scale",
    "subscription": {
      "plan_tier": "scale",
      "status": "active",
      "current_period_end": "2026-11-01T00:00:00.000Z",
      "cancel_at_period_end": false,
      "is_paused": false
    },
    "credits": {
      "available": 4200,
      "reserved": 300,
      "bonus": 500,
      "effective": 4400,
      "unlimited": false,
      "used_this_period": 1800,
      "plan_package": 6000,
      "period_end": "2026-11-01T00:00:00.000Z"
    }
  },
  "meta": {
    "request_id": "req_7f3a…"
  }
}
#

Credit-Verlauf

GET/v1/account/credit-transactions
Scope read:accountRecht: Inhaber oder Adminliest

Gutschriften und Verbrauch, neueste zuerst, wie der Credit-Verlauf der App (interne Merkposten sind ausgeblendet). Kostet nichts. amount ist positiv bei Gutschriften und negativ bei Verbrauch. Wie in der App nur für Inhaber und Admins.

Query-Parameter

  • limitintegerab 1bis 100

    Einträge pro Seite (Standard 25, höchstens 100)

  • cursorstringmax. 200 Zeichen

    Wert aus meta.next_cursor der vorigen Seite

  • typeListe aus stringmax. 20 Einträge

    Eine oder mehrere Buchungsarten, kommagetrennt, z. B. landing_page,ai_opener

  • created_afterstring (date-time)

    Nur Buchungen ab diesem Zeitpunkt

  • created_beforestring (date-time)

    Nur Buchungen vor diesem Zeitpunkt

Felder der Antwort
  • idstring (uuid)

    ID der Buchung

  • amountinteger

    Positiv: Gutschrift, negativ: Verbrauch

  • typestring

    Art der Buchung, z. B. monthly_allocation, landing_page, admin_video_personalization, ai_opener

  • descriptionstring, kann null sein

    Buchungstext wie im Credit-Verlauf der App, ohne das interne Bonus/Regular-Detail. null ohne Text

  • created_atstring (date-time)

    Zeitpunkt der Buchung

Mögliche Fehler

400 VALIDATION_ERROR401 INVALID_API_KEY402 PLAN_REQUIRED403 SCOPE_MISSING429 RATE_LIMITED
curl -X GET "https://api.dealsky.io/functions/v1/api/v1/account/credit-transactions" \
  -H "X-API-Key: $DEALSKY_API_KEY"
const res = await fetch("https://api.dealsky.io/functions/v1/api/v1/account/credit-transactions", {
  method: "GET",
  headers: {
    "X-API-Key": process.env.DEALSKY_API_KEY,
  },
});
const { ok, data, error } = await res.json();
import os, requests

res = requests.request(
    "GET",
    "https://api.dealsky.io/functions/v1/api/v1/account/credit-transactions",
    headers={"X-API-Key": os.environ["DEALSKY_API_KEY"]},
)
print(res.json())
Antwort 200
{
  "ok": true,
  "data": [
    {
      "id": "7d1e2f3a-4b5c-4d6e-8f9a-0b1c2d3e4f5a",
      "amount": -5,
      "type": "landing_page",
      "description": "Landingpage für Max Mustermann",
      "created_at": "2026-10-18T09:12:00.000Z"
    }
  ],
  "meta": {
    "request_id": "req_7f3a…",
    "next_cursor": null,
    "has_more": false
  }
}