Skip to content

API

Mit Hilfe der API können externe Anbieten / Entwickler mit didesk Forms interagieren.
Um die API nutzen zu können, muss ein API-Schlüssel generiert werden: API-Schlüssel erstellen.
Möchte man eine der unten genannten Funktionen nutzen, muss der API-Zugriff für das entsprechende Form aktiviert sein. Siehe API-Zugriff.

Forms abrufen

Zeigt alle Forms an, welche für den API-Zugriff freigegeben sind.

Notwendige Berechtigungen API-Schlüssel: Alle Forms abrufen
Methode: GET

URL

md
https://[PERSÖNLICHE-DOMAIN].didesk.de/papi/forms?apiKey=XXXX

Response (Beispiel)

json
[
  {
    "id": 61,
    "name": "Beispiel Form 1",
    "visibility": "private",
    "url_hash": "a0cd350839fc3efed4b26b6e6adf3064"
  },
  {
    "id": 102,
    "name": "Beispiel Form 2",
    "visibility": "private",
    "url_hash": "0d26a93644ab95fdfa54fa92895243d1"
  }
]

Einträge abrufen

Mit diesem API-Call können die Einträge zu einem Form abgerufen werden. Hierzu muss die Form-ID übergeben werden.
Das Ergebnis kann nach Datum gefiltert werden: siehe API - Allgemein Filter.

Notwendige Berechtigungen API-Schlüssel: Forms Einträge abrufen
Methode: GET

URL

md
https://[PERSÖNLICHE-DOMAIN].didesk.de/papi/form-entries/[FORM-ID]?apiKey=XXXX

Response (Beispiel)

json
{
  "data": [
    {
      "id": 645,
      "template_id": 102,
      "user_id": 1,
      "values": {
        "test": {
          "key": "input-text",
          "value": "Beispiel 1"
        },
        "datum": {
          "key": "input-date",
          "value": "2025-03-05"
        }
      },
      "status": null,
      "created_at": "2025-03-14T13:52:36.000000Z"
    },
    {
      "id": 647,
      "template_id": 102,
      "user_id": 1,
      "values": {
        "test": {
          "key": "input-text",
          "value": "Beispiel 2"
        },
        "datum": {
          "key": "input-date"
        },
        "quittungsnummer": {
          "key": "logic-unique-id",
          "value": "Q-84"
        }
      },
      "status": null,
      "created_at": "2025-03-14T14:04:14.000000Z"
    },
  ],
  "links": {
    "first": "https://[PERSÖNLICHE-DOMAIN].didesk.de/papi/form-entries/102?page=1",
    "last": "https://[PERSÖNLICHE-DOMAIN].didesk.de/papi/form-entries/102?page=1",
    "prev": null,
    "next": null
  },
  "meta": {
    "current_page": 1,
    "from": 1,
    "last_page": 1,
    "links": [
      {
        "url": null,
        "label": "« Previous",
        "active": false
      },
      {
        "url": "https://[PERSÖNLICHE-DOMAIN].didesk.de/papi/form-entries/102?page=1",
        "label": "1",
        "active": true
      },
      {
        "url": null,
        "label": "Next »",
        "active": false
      }
    ],
    "path": "https://[PERSÖNLICHE-DOMAIN].didesk.de/papi/form-entries/102",
    "per_page": 100,
    "to": 2,
    "total": 2
  }
}

Einzelnen Eintrag abrufen

Ein bestimmter Eintrag kann anhand der ID ausgegeben werden.

Notwendige Berechtigungen API-Schlüssel: Forms Einträge abrufen
Methode: GET

URL

md
https://[PERSÖNLICHE-DOMAIN].didesk.de/papi/form-entry/[EINTRAG-ID]?apiKey=XXXX

Response (Beispiel)

json
{
  "data": {
    "id": 647,
    "template_id": 102,
    "user_id": 1,
    "values": {
      "test": {
        "key": "input-text",
        "value": "Test Quittung"
      },
      "datum": {
        "key": "input-date"
      },
      "quittungsnummer": {
        "key": "logic-unique-id",
        "value": "Q-84"
      }
    },
    "status": null,
    "created_at": "2025-03-14T14:04:14.000000Z",
    "reports": [
      "https://[PERSÖNLICHE-DOMAIN].didesk.de/storage/534f358fb223632db5976bb1c92b8c5d?expires=1749977465&user=1&signature=e88853be5c60f6fe6f286749e8943071cd9056ce6d898b5278f8fb8355f9f212"
    ]
  }
}

Eintrag löschen

Löscht den Eintrag mit der übergebenen ID. Alle Berichte und Dateien dieses Eintrags werden ebenfalls gelöscht. Dies kann nicht rückgängig gemacht werden.

Notwendige Berechtigungen API-Schlüssel: Forms Einträge löschen
Methode: DELETE

URL

md
https://[PERSÖNLICHE-DOMAIN].didesk.de/papi/form-entry/[EINTRAG-ID]?apiKey=XXXX

Response (Beispiel)

json
{
  "message": "deleted successfully"
}