Skip to content
Developer

E-Mail Login

Login and sessions3 EndpointsLogin / E-Mail Login

Do log in with email and password

POST/api/logins

Query parameters

tokenIdentifiersstringJWTs to return with sessionAllowed: iw-externaliw-mqttiw-internalfirebaselanista

Request body application/json

  • loginFormLoginUser
    Show fields (3)
    • usernamestring
    • passwordstring
    • tokenstring

Responses

200Do log in with email and passwordSession

Show fields (15)
  • idinteger

    Primary key of the session. Internal ID.

  • sessionidstring

    ID of the session.

  • selectedcustomerCustomerProfile

    Customer profile selected in the session.

    Show fields (6)
    • idinteger

      Primary key of the customer profile. Internal ID.

    • slackchannelstring

      Slack channel of the customer profile.

    • displaynamestring

      Name shown for the customer profile.

    • deletedboolean

      Whether the customer profile is deleted.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

  • startstring (date-time)

    Point in time the session started.

  • refreshed_startstring (date-time)

    Point in time the session was last refreshed.

  • ipstring

    IP address of the client.

  • validboolean

    Whether the session is valid.

  • is_api_keyboolean

    Whether the session was created with an API key.

  • is_dgboolean

    Whether the session is for the DG (member organization) context.

  • missing2faboolean

    Whether two-factor authentication is still missing.

  • start_in_vpnboolean

    Whether the session started in a VPN.

  • auth_by_credentialsboolean

    Whether the session was authenticated with user name and password.

  • auth_by_googleboolean

    Whether the session was authenticated with Google.

  • auth_by_microsoftboolean

    Whether the session was authenticated with Microsoft.

  • auth_by_cloudflareboolean

    Whether the session was authenticated with Cloudflare Access.

Request
curl --request POST \
  --url https://your-instance.iw-erp.de/api/logins \
  --header 'content-type: application/json' \
  --data '
{
  "login": {
    "username": "lena.hartmann@example.org",
    "password": "••••••••",
    "token": "string"
  }
}
'
Response 200 application/json
{
  "id": 42,
  "sessionid": "string",
  "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,
  "missing2fa": true
}

Do reset password for email

POST/api/logins/resets

Request body application/json

  • loginFormLoginUser2
    Show fields (1)
    • usernamestring

Responses

200Do reset password for emailSuccess

Show fields (3)
  • successboolean
  • messagestring
  • error_codesarray<integer>
Request
curl --request POST \
  --url https://your-instance.iw-erp.de/api/logins/resets \
  --header 'content-type: application/json' \
  --data '
{
  "login": {
    "username": "lena.hartmann@example.org"
  }
}
'
Response 200 application/json
{
  "success": true,
  "message": "string",
  "error_codes": [
    1
  ]
}

Remove own login - Requires own password

POST/api/logins/delete

Request body application/json

  • loginFormLoginUser
    Show fields (3)
    • usernamestring
    • passwordstring
    • tokenstring

Responses

200Remove own login - Requires own passwordSuccess

Show fields (3)
  • successboolean
  • messagestring
  • error_codesarray<integer>
Request
curl --request POST \
  --url https://your-instance.iw-erp.de/api/logins/delete \
  --header 'content-type: application/json' \
  --data '
{
  "login": {
    "username": "lena.hartmann@example.org",
    "password": "••••••••",
    "token": "string"
  }
}
'
Response 200 application/json
{
  "success": true,
  "message": "string",
  "error_codes": [
    1
  ]
}