Zum Hauptinhalt springen

Public API – Referenzdaten (Lookups)

Bestattungsarten, Filialen, Mitarbeiter und Dokument-Tags mit IDs für Cases und Uploads.

Verfasst von Support Team

Diese Endpoints liefern IDs und Stammdaten deiner Organisation – typischerweise vor dem Anlegen eines Trauerfalls oder Dokument-Uploads.

Basis-URL:https://de.rip-app.business/api/public/v1 – Details: Public API – Einstieg & Authentifizierung.

Alle sind reine GET-Requests mit Bearer-Token und liefern { "success": true, "data": [ … ] } ohne count.

Bestattungsarten – GET /burial-types

Liefert die Bestattungsarten deiner Organisation. Die id brauchst du als burial_type_id beim Anlegen oder Aktualisieren eines Falls.

curl -X GET "https://de.rip-app.business/api/public/v1/burial-types" \
  -H "Authorization: Bearer rip_pub_DEIN_TOKEN" \
  -H "Accept: application/json"
const base = "https://de.rip-app.business/api/public/v1";

const types = await fetch(`${base}/burial-types`, {
  headers: { Authorization: `Bearer ${token}`, Accept: "application/json" },
}).then((r) => r.json());
console.log(types.data);

Antwort:

{
  "success": true,
  "data": [
    {
      "id": 3,
      "uuid": "…",
      "name": "Erdbestattung",
      "color_primary": "#4A5568",
      "color_secondary": "#E2E8F0"
    }
  ]
}

Sortierung: nach Name. Die Prozessschritte eines Falls (steps in der Case-Antwort) hängen von der gewählten Bestattungsart ab.

Filialen – GET /branches

id → Feld branch_id am Trauerfall.

curl -X GET "https://de.rip-app.business/api/public/v1/branches" \
  -H "Authorization: Bearer rip_pub_DEIN_TOKEN" \
  -H "Accept: application/json"
const branches = await fetch(`${base}/branches`, {
  headers: { Authorization: `Bearer ${token}`, Accept: "application/json" },
}).then((r) => r.json());

Antwort:

{
  "success": true,
  "data": [
    {
      "id": 1,
      "uuid": "…",
      "label": "Hauptfiliale",
      "street": "Musterstraße 1",
      "zip": "12345",
      "city": "Musterstadt",
      "country": "DE",
      "phone": "+49 …",
      "email": "[email protected]",
      "is_default": 1
    }
  ]
}

Sortierung: Standard-Filiale zuerst, dann nach Name.

Mitarbeiter – GET /users

id → Array assigned_user_ids am Trauerfall (Index 0 = primäre Zuweisung).

curl -X GET "https://de.rip-app.business/api/public/v1/users" \
  -H "Authorization: Bearer rip_pub_DEIN_TOKEN" \
  -H "Accept: application/json"
const users = await fetch(`${base}/users`, {
  headers: { Authorization: `Bearer ${token}`, Accept: "application/json" },
}).then((r) => r.json());

Antwort:

{
  "success": true,
  "data": [
    {
      "id": 2,
      "first_name": "Max",
      "last_name": "Mustermann",
      "email": "[email protected]",
      "role": "owner"
    }
  ]
}

role ist owner, admin oder member.

Dokument-Tags – GET /document-tags

id → Feld tag_ids beim Dokument-Upload.

curl -X GET "https://de.rip-app.business/api/public/v1/document-tags" \
  -H "Authorization: Bearer rip_pub_DEIN_TOKEN" \
  -H "Accept: application/json"
const tags = await fetch(`${base}/document-tags`, {
  headers: { Authorization: `Bearer ${token}`, Accept: "application/json" },
}).then((r) => r.json());

Antwort:

{
  "success": true,
  "data": [
    {
      "id": 1,
      "uuid": "…",
      "name": "Sterbeurkunde",
      "is_system": 1
    }
  ]
}

System-Tags (is_system: 1) stehen zuerst, danach eigene Tags nach Name.

Praxisbeispiel: IDs vor dem Anlegen auflösen

const base = "https://de.rip-app.business/api/public/v1";
const headers = {
  Authorization: `Bearer ${token}`,
  Accept: "application/json",
  "Content-Type": "application/json",
};

const [types, branches, users] = await Promise.all([
  fetch(`${base}/burial-types`, { headers }).then((r) => r.json()),
  fetch(`${base}/branches`, { headers }).then((r) => r.json()),
  fetch(`${base}/users`, { headers }).then((r) => r.json()),
]);

const burialTypeId = types.data.find((t) => t.name === "Erdbestattung")?.id;
const branchId = branches.data.find((b) => b.is_default)?.id ?? branches.data[0]?.id;
const assigneeId = users.data[0]?.id;

const created = await fetch(`${base}/cases`, {
  method: "POST",
  headers,
  body: JSON.stringify({
    first_name: "Max",
    last_name: "Mustermann",
    date_of_death: "2026-07-20",
    burial_type_id: burialTypeId,
    branch_id: branchId,
    assigned_user_ids: assigneeId ? [assigneeId] : [],
  }),
}).then((r) => r.json());

if (!created.success) throw new Error(created.error);
console.log(created.data.uuid);

Die IDs sind pro Organisation stabil – du kannst sie in deiner Integration zwischenspeichern und nicht bei jedem Request neu laden.

Hat dies deine Frage beantwortet?