API · v1 · stabil
CODEMETA OSDeveloper Center
Konsole öffnen
Tutorial

Erstes Ticket per curl anlegen

Lesedauer · 6 Min.Aktualisiert · 2026-05-01

Dieses Tutorial zeigt den vollständigen Pfad: Anmeldung, Mandantenkontext, POST-Request mit Idempotency-Key, und wie die Server-Antwort aussieht.

Voraussetzungen

  • Account mit Permission ticket_create im Ziel-Mandanten.
  • 2FA-bereiter Account (falls 2FA noch nicht eingerichtet ist, holen Sie das zuerst über die Web-Oberfläche nach).
  1. Sign-in. Codemeta OS antwortet auf erfolgreichen Sign-in mit einem Set-Cookie-Header. -c cookies.txt speichert es lokal.

    curl -X POST https://os.codemeta.de/api/auth/sign-in/email \
      -H "Content-Type: application/json" \
      -c cookies.txt \
      -d '{"email":"alice@example.com","password":"…"}'
  2. Mandanten setzen.

    export TENANT="0192f2c0-8d1c-7a3b-9e4f-d3e7f1a2b5c8"

    Welche Mandanten-IDs Ihrem Account zur Verfügung stehen, sehen Sie in der Web-Oberfläche unter Profil oder über das Profile-Endpoint.

  3. Idempotency-Key generieren. Auf macOS/Linux:

    export IDEM_KEY=$(uuidgen)

    Der Key ist eine Klient-Eigenschaft. Sie können denselben Key mehrfach schicken; das Backend antwortet beim zweiten Aufruf mit demselben Ergebnis, ohne einen zweiten Datensatz anzulegen.

  4. Ticket anlegen.

    curl -X POST https://os.codemeta.de/api/v1/tickets \
      -H "X-Tenant-Id: $TENANT" \
      -H "Content-Type: application/json" \
      -H "X-Idempotency-Key: $IDEM_KEY" \
      -b cookies.txt \
      -d '{
        "title": "Drucker hängt im Foyer",
        "description": "Papierstau, lässt sich nicht beheben.",
        "priority": "normal"
      }'
  5. Antwort lesen. Bei Erfolg bekommen Sie 201 Created mit dem neu angelegten Ticket im Body:

    {
      "id": "01938421-…",
      "number": "T-2026-00042",
      "tenantId": "0192f2c0-…",
      "schema": "ticket",
      "version": 1,
      "title": "Drucker hängt im Foyer",
      "priority": "normal",
      "status": "open",
      "createdAt": "2026-05-01T09:14:22.531Z",
      "createdBy": "0193…"
    }

    Merken Sie sich id (für API-Calls) und number (für Kommunikation mit Anwendern). Mehr dazu unter Sequenznummern.

Wie geht’s weiter?

Suche