Zum Inhalt springen
Developer

Session

Sitzung / Sitzung

Login und Sitzung4 EndpunkteSession / Session

Diese Methode liefert das aktive Session-Objekt

GET/api/sessions

Query-Parameter

tokenIdentifiersstringMit der Sitzung zurückzugebende JWTsErlaubt: iw-externaliw-mqttiw-internalfirebaselanista
validSecondsnumberJWT, gültig für die Dauer in Sekunden

Antworten

200Diese Methode liefert das aktive Session-ObjektSession2

Felder anzeigen (16)
  • idinteger

    Primärschlüssel der Sitzung. Interne ID.

  • sessionidstring

    ID der Sitzung.

  • userUser4

    Benutzer, zu dem die Sitzung gehört.

    Felder anzeigen (12)
    • idinteger

      Primärschlüssel des Benutzers. Interne ID des Anmeldebenutzers.

    • namestring

      Anzeigename des Benutzers. Wird in der Oberfläche und in Protokolleinträgen angezeigt.

    • usernamestring

      Anmeldename des Benutzers. Muss über alle Benutzer hinweg eindeutig sein.

    • emailstring

      E-Mail-Adresse des Benutzers. Wird für Anmeldebenachrichtigungen, Passwort-Zurücksetzen und als Anmeldealias verwendet.

    • user_access_groupUserAccessGroup3

      Benutzergruppe des Benutzers. Legt die Rechte des Benutzers für alle Scopes fest.

    • positioningeneralstring

      Freitext zur Position oder Rolle des Benutzers.

    • crm_personCRMPerson10

      CRM-Person, die mit diesem Anmeldebenutzer verknüpft ist. Verbindet das Anmeldekonto mit dem Personendatensatz.

    • profile_picture_urlstring

      URL des Profilbilds des Benutzers.

    • archivedboolean

      Markiert den Benutzer als archiviert. Archivierte Benutzer bleiben zur Historie erhalten und sind nicht aktiv.

    • require2faboolean

      Für diesen Benutzer ist die Zwei-Faktor-Authentifizierung Pflicht.

    • user_frontend_dataUserFrontendData

      Gespeicherte Oberflächeneinstellungen und Favoriten des Benutzers.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

  • selectedcustomerCustomerProfile

    In der Sitzung ausgewähltes Kundenprofil.

    Felder anzeigen (6)
    • idinteger

      Primärschlüssel des Kundenprofils. Interne ID.

    • slackchannelstring

      Slack-Kanal des Kundenprofils.

    • displaynamestring

      Anzeigename des Kundenprofils.

    • deletedboolean

      Ob das Kundenprofil gelöscht ist.

    • createdstring (date-time)

      Zeitpunkt, zu dem der Datensatz angelegt wurde.

    • updatedstring (date-time)

      Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.

  • startstring (date-time)

    Zeitpunkt, zu dem die Sitzung begonnen hat.

  • refreshed_startstring (date-time)

    Zeitpunkt, zu dem die Sitzung zuletzt erneuert wurde.

  • ipstring

    IP-Adresse des Clients.

  • validboolean

    Ob die Sitzung gültig ist.

  • is_api_keyboolean

    Ob die Sitzung mit einem API-Schlüssel erstellt wurde.

  • is_dgboolean

    Ob die Sitzung für den Kontext der DG (Mitgliedsorganisation) gilt.

  • missing2faboolean

    Ob die Zwei-Faktor-Authentifizierung noch fehlt.

  • start_in_vpnboolean

    Ob die Sitzung in einem VPN gestartet wurde.

  • auth_by_credentialsboolean

    Ob die Sitzung mit Benutzername und Passwort authentifiziert wurde.

  • auth_by_googleboolean

    Ob die Sitzung mit Google authentifiziert wurde.

  • auth_by_microsoftboolean

    Ob die Sitzung mit Microsoft authentifiziert wurde.

  • auth_by_cloudflareboolean

    Ob die Sitzung mit Cloudflare Access authentifiziert wurde.

Anfrage
curl --request GET \
  --url https://eure-instanz.iw-erp.de/api/sessions \
  --header 'x-iw-jwt-token: <TOKEN>'
Antwort 200 application/json
{
  "id": 42,
  "sessionid": "string",
  "user": {
    "id": 42,
    "name": "Beispiel",
    "username": "lena.hartmann@example.org",
    "email": "lena.hartmann@example.org",
    "profile_picture_url": "https://vynst.de",
    "positioningeneral": "string",
    "crm_person": {
      "id": 42,
      "first_name": "Lena",
      "last_name": "Hartmann",
      "title": "Beispiel",
      "language": "de",
      "support_description": "Text",
      "profile_picture_url": "https://vynst.de",
      "address_street": "Jakobistr. 39",
      "address_city": "Hannover",
      "address_zip": "30163"
    },
    "archived": true,
    "require2fa": true,
    "user_frontend_data": {
      "id": 42
    }
  },
  "selectedcustomer": {
    "id": 42,
    "slackchannel": "string",
    "displayname": "string",
    "deleted": true,
    "created": "2026-10-15T09:30:00+02:00",
    "updated": "2026-10-15T09:30:00+02:00"
  },
  "start": "2026-10-15T09:30:00+02:00",
  "refreshed_start": "2026-10-15T09:30:00+02:00",
  "ip": "string",
  "valid": true,
  "is_api_key": true,
  "is_dg": true
}

Kundenprofil am Benutzer aktualisieren

POST/api/sessions

Request-Body application/json

  • switchcustomerprofileSwitchCustomerProfile
    Felder anzeigen (1)
    • customerprofilestring

Antworten

200Kundenprofil am Benutzer aktualisierenSession2

Felder anzeigen (16)
  • idinteger

    Primärschlüssel der Sitzung. Interne ID.

  • sessionidstring

    ID der Sitzung.

  • userUser4

    Benutzer, zu dem die Sitzung gehört.

    Felder anzeigen (12)
    • idinteger

      Primärschlüssel des Benutzers. Interne ID des Anmeldebenutzers.

    • namestring

      Anzeigename des Benutzers. Wird in der Oberfläche und in Protokolleinträgen angezeigt.

    • usernamestring

      Anmeldename des Benutzers. Muss über alle Benutzer hinweg eindeutig sein.

    • emailstring

      E-Mail-Adresse des Benutzers. Wird für Anmeldebenachrichtigungen, Passwort-Zurücksetzen und als Anmeldealias verwendet.

    • user_access_groupUserAccessGroup3

      Benutzergruppe des Benutzers. Legt die Rechte des Benutzers für alle Scopes fest.

    • positioningeneralstring

      Freitext zur Position oder Rolle des Benutzers.

    • crm_personCRMPerson10

      CRM-Person, die mit diesem Anmeldebenutzer verknüpft ist. Verbindet das Anmeldekonto mit dem Personendatensatz.

    • profile_picture_urlstring

      URL des Profilbilds des Benutzers.

    • archivedboolean

      Markiert den Benutzer als archiviert. Archivierte Benutzer bleiben zur Historie erhalten und sind nicht aktiv.

    • require2faboolean

      Für diesen Benutzer ist die Zwei-Faktor-Authentifizierung Pflicht.

    • user_frontend_dataUserFrontendData

      Gespeicherte Oberflächeneinstellungen und Favoriten des Benutzers.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

  • selectedcustomerCustomerProfile

    In der Sitzung ausgewähltes Kundenprofil.

    Felder anzeigen (6)
    • idinteger

      Primärschlüssel des Kundenprofils. Interne ID.

    • slackchannelstring

      Slack-Kanal des Kundenprofils.

    • displaynamestring

      Anzeigename des Kundenprofils.

    • deletedboolean

      Ob das Kundenprofil gelöscht ist.

    • createdstring (date-time)

      Zeitpunkt, zu dem der Datensatz angelegt wurde.

    • updatedstring (date-time)

      Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.

  • startstring (date-time)

    Zeitpunkt, zu dem die Sitzung begonnen hat.

  • refreshed_startstring (date-time)

    Zeitpunkt, zu dem die Sitzung zuletzt erneuert wurde.

  • ipstring

    IP-Adresse des Clients.

  • validboolean

    Ob die Sitzung gültig ist.

  • is_api_keyboolean

    Ob die Sitzung mit einem API-Schlüssel erstellt wurde.

  • is_dgboolean

    Ob die Sitzung für den Kontext der DG (Mitgliedsorganisation) gilt.

  • missing2faboolean

    Ob die Zwei-Faktor-Authentifizierung noch fehlt.

  • start_in_vpnboolean

    Ob die Sitzung in einem VPN gestartet wurde.

  • auth_by_credentialsboolean

    Ob die Sitzung mit Benutzername und Passwort authentifiziert wurde.

  • auth_by_googleboolean

    Ob die Sitzung mit Google authentifiziert wurde.

  • auth_by_microsoftboolean

    Ob die Sitzung mit Microsoft authentifiziert wurde.

  • auth_by_cloudflareboolean

    Ob die Sitzung mit Cloudflare Access authentifiziert wurde.

Anfrage
curl --request POST \
  --url https://eure-instanz.iw-erp.de/api/sessions \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "switchcustomerprofile": {
    "customerprofile": "string"
  }
}
'
Antwort 200 application/json
{
  "id": 42,
  "sessionid": "string",
  "user": {
    "id": 42,
    "name": "Beispiel",
    "username": "lena.hartmann@example.org",
    "email": "lena.hartmann@example.org",
    "profile_picture_url": "https://vynst.de",
    "positioningeneral": "string",
    "crm_person": {
      "id": 42,
      "first_name": "Lena",
      "last_name": "Hartmann",
      "title": "Beispiel",
      "language": "de",
      "support_description": "Text",
      "profile_picture_url": "https://vynst.de",
      "address_street": "Jakobistr. 39",
      "address_city": "Hannover",
      "address_zip": "30163"
    },
    "archived": true,
    "require2fa": true,
    "user_frontend_data": {
      "id": 42
    }
  },
  "selectedcustomer": {
    "id": 42,
    "slackchannel": "string",
    "displayname": "string",
    "deleted": true,
    "created": "2026-10-15T09:30:00+02:00",
    "updated": "2026-10-15T09:30:00+02:00"
  },
  "start": "2026-10-15T09:30:00+02:00",
  "refreshed_start": "2026-10-15T09:30:00+02:00",
  "ip": "string",
  "valid": true,
  "is_api_key": true,
  "is_dg": true
}

Diese Methode liefert den SSO-Link mit einem Token – den Query-Parameter durableJwt=1 setzen, um ein langlebiges Token ohne die Option zu erhalten, sich als Benutzer anzumelden

GET/api/sessions/{serviceName}/sso

Pfad-Parameter

serviceNamePflichtstring

Antworten

200Diese Methode liefert den SSO-Link mit einem Token – den Query-Parameter durableJwt=1 setzen, um ein langlebiges Token ohne die Option zu erhalten, sich als Benutzer anzumeldenOpenDataRedirect

Anfrage
curl --request GET \
  --url https://eure-instanz.iw-erp.de/api/sessions/42/sso \
  --header 'x-iw-jwt-token: <TOKEN>'
Antwort 200 application/json
{}

Prüft den 2FA-Code für diese Sitzung

GET/api/session/verify2fa/{id}/{code}

Pfad-Parameter

idPflichtstring
codePflichtstring

Antworten

200Prüft den 2FA-Code für diese SitzungSession2

Felder anzeigen (16)
  • idinteger

    Primärschlüssel der Sitzung. Interne ID.

  • sessionidstring

    ID der Sitzung.

  • userUser4

    Benutzer, zu dem die Sitzung gehört.

    Felder anzeigen (12)
    • idinteger

      Primärschlüssel des Benutzers. Interne ID des Anmeldebenutzers.

    • namestring

      Anzeigename des Benutzers. Wird in der Oberfläche und in Protokolleinträgen angezeigt.

    • usernamestring

      Anmeldename des Benutzers. Muss über alle Benutzer hinweg eindeutig sein.

    • emailstring

      E-Mail-Adresse des Benutzers. Wird für Anmeldebenachrichtigungen, Passwort-Zurücksetzen und als Anmeldealias verwendet.

    • user_access_groupUserAccessGroup3

      Benutzergruppe des Benutzers. Legt die Rechte des Benutzers für alle Scopes fest.

    • positioningeneralstring

      Freitext zur Position oder Rolle des Benutzers.

    • crm_personCRMPerson10

      CRM-Person, die mit diesem Anmeldebenutzer verknüpft ist. Verbindet das Anmeldekonto mit dem Personendatensatz.

    • profile_picture_urlstring

      URL des Profilbilds des Benutzers.

    • archivedboolean

      Markiert den Benutzer als archiviert. Archivierte Benutzer bleiben zur Historie erhalten und sind nicht aktiv.

    • require2faboolean

      Für diesen Benutzer ist die Zwei-Faktor-Authentifizierung Pflicht.

    • user_frontend_dataUserFrontendData

      Gespeicherte Oberflächeneinstellungen und Favoriten des Benutzers.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

  • selectedcustomerCustomerProfile

    In der Sitzung ausgewähltes Kundenprofil.

    Felder anzeigen (6)
    • idinteger

      Primärschlüssel des Kundenprofils. Interne ID.

    • slackchannelstring

      Slack-Kanal des Kundenprofils.

    • displaynamestring

      Anzeigename des Kundenprofils.

    • deletedboolean

      Ob das Kundenprofil gelöscht ist.

    • createdstring (date-time)

      Zeitpunkt, zu dem der Datensatz angelegt wurde.

    • updatedstring (date-time)

      Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.

  • startstring (date-time)

    Zeitpunkt, zu dem die Sitzung begonnen hat.

  • refreshed_startstring (date-time)

    Zeitpunkt, zu dem die Sitzung zuletzt erneuert wurde.

  • ipstring

    IP-Adresse des Clients.

  • validboolean

    Ob die Sitzung gültig ist.

  • is_api_keyboolean

    Ob die Sitzung mit einem API-Schlüssel erstellt wurde.

  • is_dgboolean

    Ob die Sitzung für den Kontext der DG (Mitgliedsorganisation) gilt.

  • missing2faboolean

    Ob die Zwei-Faktor-Authentifizierung noch fehlt.

  • start_in_vpnboolean

    Ob die Sitzung in einem VPN gestartet wurde.

  • auth_by_credentialsboolean

    Ob die Sitzung mit Benutzername und Passwort authentifiziert wurde.

  • auth_by_googleboolean

    Ob die Sitzung mit Google authentifiziert wurde.

  • auth_by_microsoftboolean

    Ob die Sitzung mit Microsoft authentifiziert wurde.

  • auth_by_cloudflareboolean

    Ob die Sitzung mit Cloudflare Access authentifiziert wurde.

Anfrage
curl --request GET \
  --url https://eure-instanz.iw-erp.de/api/session/verify2fa/42/42 \
  --header 'x-iw-jwt-token: <TOKEN>'
Antwort 200 application/json
{
  "id": 42,
  "sessionid": "string",
  "user": {
    "id": 42,
    "name": "Beispiel",
    "username": "lena.hartmann@example.org",
    "email": "lena.hartmann@example.org",
    "profile_picture_url": "https://vynst.de",
    "positioningeneral": "string",
    "crm_person": {
      "id": 42,
      "first_name": "Lena",
      "last_name": "Hartmann",
      "title": "Beispiel",
      "language": "de",
      "support_description": "Text",
      "profile_picture_url": "https://vynst.de",
      "address_street": "Jakobistr. 39",
      "address_city": "Hannover",
      "address_zip": "30163"
    },
    "archived": true,
    "require2fa": true,
    "user_frontend_data": {
      "id": 42
    }
  },
  "selectedcustomer": {
    "id": 42,
    "slackchannel": "string",
    "displayname": "string",
    "deleted": true,
    "created": "2026-10-15T09:30:00+02:00",
    "updated": "2026-10-15T09:30:00+02:00"
  },
  "start": "2026-10-15T09:30:00+02:00",
  "refreshed_start": "2026-10-15T09:30:00+02:00",
  "ip": "string",
  "valid": true,
  "is_api_key": true,
  "is_dg": true
}