> ## Documentation Index
> Fetch the complete documentation index at: https://docs.scanova.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Einen geteilten Benutzer einladen

> POST /multi-users/

Geteilte Benutzer sind die Teammitglieder, die Sie in Ihr Scanova-Konto einladen — dieselbe Liste, die in der **Benutzer**-Tabelle des Dashboards angezeigt wird. Mit diesem Endpunkt können Sie sie programmatisch auflisten, einladen, aktualisieren oder entfernen.

<Note>
  Dieser Endpunkt war bisher nicht dokumentiert. Er erfordert einen Management-API-Schlüssel mit `MANAGEMENT_API`- (oder `MANAGEMENT_API_SANDBOX`-)Quota, gesendet als roher `Authorization`-Header-Wert — siehe die [Management-API-Übersicht](/de/api-reference/management-api/overview) — sowie die eigene Team-Quota des Kontos für geteilte Benutzer. Was jede Rolle tatsächlich gewährt, erfahren Sie unter [Rollen & Berechtigungen](/de/team/roles-and-permissions); das Wire-Format der Rollen selbst finden Sie unter [Rollen (Zugriffsebenen)](/de/api-reference/management-api/shared-users/roles-list).
</Note>

<RequestExample>
  ```bash cURL theme={null}
  curl --request POST \
    --url 'https://management.scanova.io/multi-users/' \
    --header 'Authorization: YOUR_API_KEY' \
    --header 'Content-Type: application/json' \
    --data '{
      "email": "teammate@example.com",
      "name": "Jordan Lee",
      "access_level": 5
    }'
  ```
</RequestExample>

<ResponseExample>
  ```json 201 theme={null}
  {
    "id": 118,
    "shared_user": {
      "id": 88213,
      "first_name": "Jordan",
      "last_name": "Lee",
      "full_name": "Jordan Lee",
      "email": "teammate@example.com",
      "is_active": false,
      "is_locked": false
    },
    "access_level": {
      "id": 5,
      "name": "Manager",
      "slug": "manager",
      "permissions": [],
      "is_custom": false
    },
    "invitation_sent_on": null,
    "invitation_accepted_on": null,
    "is_invitation_sent": false,
    "is_invitation_accepted": false,
    "status": "Invitation Sent",
    "is_active": false,
    "created": "2026-08-16T20:41:09.442000+05:30",
    "modified": "2026-08-16T20:41:09.442000+05:30",
    "include_untagged": true,
    "enable_tag_permission": false,
    "tags": []
  }
  ```
</ResponseExample>

<ParamField body="email" type="string" required>
  E-Mail-Adresse für das neue Teammitglied. Darf noch keinem anderen Scanova-Benutzer gehören — ein Duplikat gibt einen 400-Fehler mit `{"email": ["Email address is already used."]}` zurück.
</ParamField>

<ParamField body="name" type="string" required>
  Anzeigename, bis zu 20 Zeichen.
</ParamField>

<ParamField body="access_level" type="integer" required>
  ID einer Rolle aus [`GET /multi-users/access-levels/`](/de/api-reference/management-api/shared-users/roles-list) — entweder eine Standard-Systemrolle oder eine benutzerdefinierte Rolle, die dieses Konto erstellt hat.
</ParamField>

<ParamField body="tags" type="array">
  Tag-IDs, auf die der Zugriff dieses Benutzers beschränkt werden soll. Erfordert die `CUSTOM_TAG`-/Tag-Berechtigungs-Quota des Kontos — andernfalls mit 403 abgelehnt.
</ParamField>

<ParamField body="enable_tag_permission" type="boolean" default="false">
  Beschränkt die für diesen Benutzer sichtbaren QR-Codes auf `tags`.
</ParamField>

<ParamField body="include_untagged" type="boolean" default="true">
  Wenn `enable_tag_permission` wahr ist: ob nicht getaggte QR-Codes weiterhin sichtbar sind.
</ParamField>

<Note>
  Das Einladen eines Teammitglieds sendet immer eine Einladungs-E-Mail — das Erstellen des Datensatzes hier hat denselben Effekt wie das Klicken auf **Benutzer einladen** in der Benutzer-Tabelle des Dashboards. Es gibt keine Möglichkeit, die E-Mail über diesen Endpunkt zu überspringen.
</Note>

## Verwandte Themen

* [Geteilte Benutzer auflisten](/de/api-reference/management-api/shared-users/list) — die andere Operation an diesem selben Endpunkt.
* [Einen geteilten Benutzer abrufen](/de/api-reference/management-api/shared-users/retrieve) — mit dem Datensatz des geteilten Benutzers arbeiten, nachdem Sie ihn eingeladen haben.
* [Einen geteilten Benutzer aktualisieren](/de/api-reference/management-api/shared-users/update) — mit dem Datensatz des geteilten Benutzers arbeiten, nachdem Sie ihn eingeladen haben.
* [Einen geteilten Benutzer entfernen](/de/api-reference/management-api/shared-users/remove) — mit dem Datensatz des geteilten Benutzers arbeiten, nachdem Sie ihn eingeladen haben.
* [Rollen auflisten](/de/api-reference/management-api/shared-users/roles-list) — suchen oder erstellen Sie die `access_level`-ID, die die Einladungs-/Aktualisierungs-Aufrufe dieses Endpunkts benötigen.
* [Eine benutzerdefinierte Rolle erstellen](/de/api-reference/management-api/shared-users/roles-create) — suchen oder erstellen Sie die `access_level`-ID, die die Einladungs-/Aktualisierungs-Aufrufe dieses Endpunkts benötigen.
* [Geteilte Benutzer](/de/team/shared-users) — die eigene Benutzer-Tabelle des Dashboards, die dieselben Einladungs-/Deaktivierungs-/Entfernungs-Aktionen zeigt.
* [Rollen & Berechtigungen](/de/team/roles-and-permissions) — was jede Rolle einem Teammitglied tatsächlich gewährt.


## OpenAPI

````yaml api-reference/openapi/management-api.json POST /multi-users/
openapi: 3.1.0
info:
  title: Scanova Management API (v2)
  description: >-
    The complete Scanova Management API — every endpoint available at
    management.scanova.io (QR codes, folders, tags, leads, forms, analytics,
    plans, shared users & roles), plus the token-creation and usage-stats
    endpoints used to authenticate against it. Every path and request/response
    shape below was verified live against a real API key and the actual running
    backend (Phase 7, 2026-08-16) — not guessed from reading urls.py alone.
  version: 2.0.0
servers:
  - url: https://management.scanova.io
    description: Management API — QR/folder/tag/lead/form/analytics/plans endpoints
security:
  - apiKeyAuth: []
paths:
  /multi-users/:
    post:
      summary: Invite a shared user
      operationId: createManagedSharedUser
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  format: email
                name:
                  type: string
                  maxLength: 20
                access_level:
                  type: integer
                  description: Role ID from GET /multi-users/access-levels/.
                tags:
                  type: array
                  items:
                    type: integer
                enable_tag_permission:
                  type: boolean
                  default: false
                include_untagged:
                  type: boolean
                  default: true
              required:
                - email
                - name
                - access_level
            example:
              email: teammate@example.com
              name: Jordan Lee
              access_level: 5
      responses:
        '201':
          description: Invitation created — sends an invitation email to the shared user.
          content:
            application/json:
              example:
                id: 118
                shared_user:
                  id: 88213
                  first_name: Jordan
                  last_name: Lee
                  full_name: Jordan Lee
                  email: teammate@example.com
                  is_active: false
                  is_locked: false
                access_level:
                  id: 5
                  name: Manager
                  slug: manager
                  permissions: []
                  is_custom: false
                invitation_sent_on: null
                invitation_accepted_on: null
                is_invitation_sent: false
                is_invitation_accepted: false
                status: Invitation Sent
                is_active: false
                include_untagged: true
                enable_tag_permission: false
                tags: []
components:
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        Send your Management API key as the raw value of the Authorization
        header — no "Bearer " or "Token " prefix, and no other characters.
        Example: `Authorization: 401f7ac837da42b97f613d789819ff93537bee6a`. A
        header containing more than one space-separated part is rejected
        outright. Requests also require the request's Host header to be the
        management API host (e.g. management.scanova.io) — the same key sent to
        the regular API host will not authenticate.

````