Skip to content

Schnellstart ​

Diese Seite führt einmal durch: anmelden, Space finden, Grid lesen, Eintrag schreiben. Alle Aufrufe laufen gegen https://app.apptivegrid.de.

Vorbereitung: ein API-Schlüssel mit der Rolle Admin aus Profil & Einstellungen → API Zugangsdaten. → Authentifizierung

bash
export APPTIVE_KEY="…"
export APPTIVE_SECRET="…"
export BASE="https://app.apptivegrid.de"

1. Die eigene Benutzerkennung holen ​

bash
curl -sL -u "$APPTIVE_KEY:$APPTIVE_SECRET" "$BASE/api/users/me"

/api/users/me antwortet mit 302 und dem eigenen Pfad im Location-Header; -L folgt ihm und liefert die Benutzerressource. Die Kennung steht dort unter id:

bash
export USER_ID=$(curl -sL -u "$APPTIVE_KEY:$APPTIVE_SECRET" "$BASE/api/users/me" \
  | python3 -c 'import json,sys; print(json.load(sys.stdin)["id"])')

2. Spaces auflisten ​

bash
curl -s -u "$APPTIVE_KEY:$APPTIVE_SECRET" "$BASE/api/users/$USER_ID/spaces"
json
{
  "page": 1,
  "pageSize": 300,
  "size": 2,
  "numberOfItems": 2,
  "numberOfPages": 1,
  "items": [
    { "_representation": "summary", "id": "6489…", "name": "Projekte", "_links": { … } }
  ]
}

Jede Liste in dieser API sieht so aus. → Paginierung und Filter

3. Einen Space anlegen ​

bash
curl -s -X POST -u "$APPTIVE_KEY:$APPTIVE_SECRET" \
  -H "Content-Type: application/json" \
  -d '{"name": "API-Test"}' \
  -D - -o /dev/null \
  "$BASE/api/users/$USER_ID/spaces"
HTTP/1.1 201 Created
Location: /api/users/64f1…/spaces/6512…

Angelegte Ressourcen antworten mit Text, nicht mit JSON

Auf ein erfolgreiches POST folgt 201 Created, der Pfad der neuen Ressource steht im Header Location, und der Rumpf ist text/plain mit dem Inhalt Created <pfad>. Wer den Rumpf als JSON parst, läuft auf einen Fehler. Lesen Sie Location (curl -D -).

bash
export SPACE=$(curl -s -X POST -u "$APPTIVE_KEY:$APPTIVE_SECRET" \
  -H "Content-Type: application/json" -d '{"name": "API-Test"}' \
  -D - -o /dev/null "$BASE/api/users/$USER_ID/spaces" \
  | tr -d '\r' | awk '/^[Ll]ocation:/ {print $2}')

4. Ein Grid anlegen ​

bash
curl -s -X POST -u "$APPTIVE_KEY:$APPTIVE_SECRET" \
  -H "Content-Type: application/json" \
  -d '{"name": "Aufgaben", "createView": true}' \
  -D - -o /dev/null \
  "$BASE$SPACE/grids"

Auch hier steht der Pfad des neuen Grids im Location-Header.

5. Ein Feld hinzufügen ​

bash
curl -s -X POST -u "$APPTIVE_KEY:$APPTIVE_SECRET" \
  -H "Content-Type: application/json" \
  -d '{"name": "Titel", "type": {"name": "string"}}' \
  "$BASE$GRID/ColumnAdd"

Welche Typnamen es gibt, listet GET /api/types. → Grids

6. Das Schema lesen ​

Bevor Sie schreiben, brauchen Sie die Feld-IDs:

bash
curl -s -u "$APPTIVE_KEY:$APPTIVE_SECRET" "$BASE$GRID/schema"

Alternativ liefert das Grid selbst mit Accept: …;version=2 die vollständigen Felder mit:

bash
curl -s -u "$APPTIVE_KEY:$APPTIVE_SECRET" \
  -H "Accept: application/vnd.apptivegrid.hal;version=2" \
  "$BASE$GRID"

7. Einen Eintrag schreiben ​

Ohne layout erwartet das Anlegen das indexed-Layout: ein Array fields mit genau so vielen Werten, wie das Grid Felder hat, in Schemareihenfolge.

bash
curl -s -X POST -u "$APPTIVE_KEY:$APPTIVE_SECRET" \
  -H "Content-Type: application/json" \
  -d '{"fields": ["Erste Aufgabe", null, null]}' \
  -D - -o /dev/null \
  "$BASE$GRID/entities"

Mit ?layout=field sprechen Sie Felder stattdessen über ihre IDs an — robuster, wenn sich das Schema ändern kann:

bash
curl -s -X POST -u "$APPTIVE_KEY:$APPTIVE_SECRET" \
  -H "Content-Type: application/json" \
  -d '{"6512abcd…": "Erste Aufgabe"}' \
  "$BASE$GRID/entities?layout=field"

→ Einträge

8. Einträge lesen ​

bash
curl -s -u "$APPTIVE_KEY:$APPTIVE_SECRET" \
  "$BASE$GRID/entities?layout=field&pageSize=50"
json
{
  "page": 1, "pageSize": 50, "size": 1, "numberOfItems": 1, "numberOfPages": 1,
  "items": [
    {
      "_representation": "full",
      "_id": "6512ef…",
      "6512abcd…": "Erste Aufgabe",
      "_links": { "self": { "href": "…", "method": "get" } }
    }
  ]
}

Weiter ​

ThemaSeite
Wie Antworten aufgebaut sindÜberblick
Spaces verwalten und freigebenSpaces
Felder, Ansichten, CSV-ExportGrids
Layouts, Änderungen, LöschenEinträge
Seitenweise lesen, filtern, sortierenPaginierung und Filter
Statuscodes und FehlerrümpfeFehlerbehandlung
War diese Seite hilfreich?