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

# Teammitglied aktualisieren

> Ändere einzelne Angaben auf der digitalen Visitenkarte eines bestehenden Mitglieds.

Sende nur die Felder, die du ändern möchtest. Du kannst `firstName`, `lastName`, `jobTitle`, `department`, `avatarUrl` und `contactDetails` aktualisieren.

Lass ein Feld weg, um den bisherigen Wert zu behalten. Mit `null` oder einem leeren String leerst du `jobTitle`, `department` oder `avatarUrl`. Vor- und Nachname dürfen nicht leer sein.

> [!NOTE]
>
> `contactDetails` ersetzt die vollständige Liste der persönlichen Kontaktdaten des Mitglieds. Sende alle Angaben mit, die du behalten möchtest, oder verwende `[]`, um sie vollständig zu entfernen. Gemeinsame Unternehmensdaten aus dem Markendesign bleiben unverändert.

Das Mitglied behält denselben Visitenkartenlink. Die Antwort enthält die aktualisierten Daten.

Die Anmeldeadresse in `email` lässt sich über diesen Endpunkt nicht ändern. Um eine auf der Visitenkarte angezeigte E-Mail-Adresse zu ändern, aktualisiere den E-Mail-Eintrag in `contactDetails`.

Unternehmensdesign, Gruppen und Einladungsstatus verwaltest du im Tapify-Dashboard.


## OpenAPI

````yaml de/api-reference/openapi.json PATCH /team-members/{memberId}
openapi: 3.0.3
info:
  title: Tapify-API
  version: 1.0.0
  description: >-
    Lies und verwalte gespeicherte Kontakte, Teammitglieder und ihre digitalen
    Visitenkarten in einem Tapify-Teams-Workspace. Erfordert Zugriff auf Teams
    Connect und einen API-Schlüssel für den Workspace.
servers:
  - url: https://tapify.app/api/v1
    description: Tapify-API
security:
  - bearerAuth: []
  - apiKeyHeader: []
tags:
  - name: Workspace
    description: Den mit einem API-Schlüssel verbundenen Workspace prüfen.
  - name: Teammitglieder
    description: Mitglieder und ihre digitalen Visitenkarten verwalten.
  - name: Kontakte
    description: Im gesamten Workspace erfasste Kontakte verwalten.
  - name: Zapier
    description: >-
      Endpunkte, die die Tapify-Zapier-Integration für Trigger-Beispiele und
      REST-Hook-Abonnements verwendet.
paths:
  /team-members/{memberId}:
    parameters:
      - $ref: '#/components/parameters/MemberId'
    patch:
      tags:
        - Teammitglieder
      summary: Teammitglied aktualisieren
      description: Ändert nur die in der Anfrage enthaltenen Felder.
      operationId: updateTeamMember
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateTeamMemberRequest'
            example:
              jobTitle: Partnerships Director
              department: null
      responses:
        '200':
          description: Aktualisiertes Teammitglied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TeamMemberResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/SubscriptionRequired'
        '404':
          $ref: '#/components/responses/NotFound'
        '413':
          $ref: '#/components/responses/PayloadTooLarge'
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          $ref: '#/components/responses/InternalError'
components:
  parameters:
    MemberId:
      name: memberId
      in: path
      description: Teammitglied-ID.
      required: true
      schema:
        type: string
        format: uuid
        example: 45fa16aa-2546-49b3-9d1e-7b7e1c9fb1e7
  schemas:
    UpdateTeamMemberRequest:
      type: object
      description: >-
        Gib mindestens ein unterstütztes Feld an. Ausgelassene Felder bleiben
        unverändert. Die Anmelde-E-Mail-Adresse kann über diesen Endpunkt nicht
        geändert werden.
      minProperties: 1
      properties:
        firstName:
          type: string
          example: Mina
          minLength: 1
        lastName:
          type: string
          example: Park
          minLength: 1
        jobTitle:
          type: string
          nullable: true
          example: VP Partnerships
          description: >-
            Position des Mitglieds. Lass das Feld weg, um den aktuellen Wert
            beizubehalten. Sende null oder eine leere Zeichenfolge, um ihn zu
            löschen.
        department:
          type: string
          nullable: true
          example: Commercial
          description: >-
            Abteilung des Mitglieds. Lass das Feld weg, um den aktuellen Wert
            beizubehalten. Sende null oder eine leere Zeichenfolge, um ihn zu
            löschen.
        avatarUrl:
          type: string
          format: uri
          nullable: true
          example: https://example.com/mina.jpg
          description: >-
            URL des Profilbilds. Lass das Feld weg, um den aktuellen Wert
            beizubehalten. Sende null oder eine leere Zeichenfolge, um ihn zu
            löschen.
        contactDetails:
          type: array
          description: >-
            Vollständige Ersatzliste der Kontaktdaten im Mitgliederprofil. Gib
            alle Angaben an, die erhalten bleiben sollen, oder sende [], um alle
            persönlichen Kontaktdaten zu entfernen. Gemeinsame Unternehmensdaten
            aus dem Markendesign bleiben unverändert.
          items:
            $ref: '#/components/schemas/TeamMemberContactDetailInput'
    TeamMemberResponse:
      type: object
      required:
        - data
      properties:
        data:
          $ref: '#/components/schemas/TeamMember'
    TeamMemberContactDetailInput:
      type: object
      description: >-
        Eine Kontaktmöglichkeit, die auf der digitalen Visitenkarte des
        Mitglieds angezeigt wird.
      required:
        - type
      properties:
        type:
          type: string
          description: Typ der Kontaktangabe.
          enum:
            - phone
            - email
            - website
            - address
            - social_media
          example: phone
        label:
          type: string
          nullable: true
          description: >-
            Auf der digitalen Visitenkarte angezeigte Bezeichnung, zum Beispiel
            Mobiltelefon oder Büro.
          example: Mobile
        value:
          type: string
          description: >-
            Phone number, email address, website, or social-media link. Not used
            for an address.
          example: '+31612345678'
          minLength: 1
        platform:
          allOf:
            - $ref: '#/components/schemas/SocialPlatform'
          description: Erforderlich, wenn type den Wert social_media hat.
        address:
          allOf:
            - $ref: '#/components/schemas/Address'
          description: Erforderlich, wenn type den Wert address hat.
      oneOf:
        - title: Telefon oder Website
          type: object
          required:
            - value
          properties:
            type:
              type: string
              enum:
                - phone
                - website
        - title: E-Mail-Adresse
          type: object
          required:
            - value
          properties:
            type:
              type: string
              enum:
                - email
            value:
              type: string
              format: email
        - title: Soziale Netzwerke
          type: object
          required:
            - value
            - platform
          properties:
            type:
              type: string
              enum:
                - social_media
        - title: Adresse
          type: object
          required:
            - address
          properties:
            type:
              type: string
              enum:
                - address
    TeamMember:
      type: object
      description: Ein Mitglied des Tapify-Teams-Workspaces.
      required:
        - id
        - workspaceId
        - accountId
        - status
        - firstName
        - lastName
        - displayName
        - email
        - jobTitle
        - department
        - avatarUrl
        - profileUrl
        - slug
        - contact
        - contactDetails
        - createdAt
        - updatedAt
      properties:
        id:
          type: string
          format: uuid
          description: >-
            Teammitglied-ID. Verwende diesen Wert in anderen Endpunkten für
            Teammitglieder.
          example: 45fa16aa-2546-49b3-9d1e-7b7e1c9fb1e7
        workspaceId:
          type: string
          format: uuid
          description: ID des Workspaces, der das Mitglied enthält.
          example: 9df81bd4-3d76-42cc-9518-a019ea75a221
        accountId:
          type: string
          format: uuid
          description: ID des Tapify-Kontos des Mitglieds.
          example: 0e35f7a8-e866-4f5d-b9cb-06961a130fef
        status:
          type: string
          enum:
            - not_invited
            - pending
            - active
            - failed
          description: >-
            Einladungsstatus: not_invited bedeutet, dass keine Einladung
            gesendet wurde; pending bedeutet, dass das Mitglied noch nicht
            aktiviert wurde; active bedeutet, dass das Konto bereit ist; failed
            bedeutet, dass die Einladung nicht zugestellt werden konnte.
          example: active
        firstName:
          type: string
          example: Mina
        lastName:
          type: string
          example: Park
        displayName:
          type: string
          description: Vollständiger Name, zusammengesetzt aus firstName und lastName.
          example: Mina Park
        email:
          type: string
          format: email
          description: >-
            Anmelde-E-Mail-Adresse des Mitglieds. Sie ist unabhängig von den
            email-Einträgen in contactDetails, die auf der Karte veröffentlicht
            werden.
          example: mina@acme.com
        jobTitle:
          type: string
          nullable: true
          example: Head of Partnerships
        department:
          type: string
          nullable: true
          example: Partnerships
        avatarUrl:
          type: string
          format: uri
          nullable: true
          example: https://example.com/mina.jpg
        profileUrl:
          type: string
          format: uri
          description: Öffentlicher Link zur digitalen Visitenkarte des Mitglieds.
          example: https://tapify.app/mina-park
        slug:
          type: string
          description: Letzter Teil der URL der digitalen Visitenkarte.
          example: mina-park
        contact:
          type: object
          description: >-
            Schnellzugriff auf die jeweils ersten Werte des Mitglieds für
            Telefon, WhatsApp und Website.
          required:
            - phone
            - whatsapp
            - website
          properties:
            phone:
              type: string
              nullable: true
              example: '+31612345678'
            whatsapp:
              type: string
              nullable: true
            website:
              type: string
              nullable: true
              example: https://acme.com
        contactDetails:
          type: array
          description: >-
            In diesem Mitgliederprofil gespeicherte Kontaktdaten. Gemeinsame
            Unternehmensdaten aus dem Markendesign sind nicht enthalten.
          items:
            $ref: '#/components/schemas/TeamMemberContactDetail'
        createdAt:
          type: string
          format: date-time
          description: Datum und Uhrzeit, zu denen das Mitglied hinzugefügt wurde.
          example: '2026-07-01T09:30:00.000Z'
        updatedAt:
          type: string
          format: date-time
          description: Datum und Uhrzeit der letzten Aktualisierung des Mitglieds.
          example: '2026-07-28T10:15:00.000Z'
    ErrorResponse:
      type: object
      description: Informationen zu einer Anfrage, die Tapify nicht abschließen konnte.
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - message
          properties:
            code:
              type: string
              description: Kurzer Code zur Identifizierung des Fehlers.
              example: bad_request
            message:
              type: string
              description: Verständliche Erklärung des Fehlers.
              example: Request body is invalid.
            details:
              type: object
              description: >-
                Zusätzliche Informationen, die beim Korrigieren der Anfrage
                helfen können.
              additionalProperties: true
              nullable: true
    SocialPlatform:
      type: string
      description: Soziale Plattform, auf die dieser Link verweist.
      enum:
        - facebook
        - instagram
        - linkedin
        - x
        - whatsapp
        - calendly
        - youtube
        - pinterest
        - spotify
        - tiktok
        - reddit
        - behance
        - bluesky
        - wechat
        - discord
        - dribbble
        - github
        - mastodon
        - medium
        - messenger
        - patreon
        - soundcloud
        - slack
        - telegram
        - snapchat
        - threads
        - twitch
        - yelp
    Address:
      type: object
      description: Eine strukturierte Adresse. Gib mindestens ein nicht leeres Feld an.
      minProperties: 1
      properties:
        line1:
          type: string
          description: Straßenname und Hausnummer.
          example: Keizersgracht 391 A
        line2:
          type: string
          description: >-
            Wohnung, Büroeinheit, Stockwerk oder andere zusätzliche
            Adressangaben.
          example: ''
        city:
          type: string
          example: Amsterdam
        postalCode:
          type: string
          example: 1016 EJ
        country:
          type: string
          description: Ländercode oder Ländername.
          example: NL
    TeamMemberContactDetail:
      type: object
      description: Eine im Mitgliederprofil gespeicherte Kontaktangabe.
      required:
        - id
        - type
        - label
        - value
      properties:
        id:
          type: string
          format: uuid
          description: ID dieser gespeicherten Kontaktangabe.
          example: 33d5f285-64f7-41aa-bf9e-17a0fbf535af
        type:
          type: string
          description: Typ der Kontaktangabe.
          enum:
            - phone
            - email
            - website
            - address
            - social_media
        label:
          type: string
          nullable: true
          description: Auf der digitalen Visitenkarte angezeigte Bezeichnung.
          example: Mobile
        value:
          type: string
          example: '+31612345678'
        platform:
          $ref: '#/components/schemas/SocialPlatform'
        address:
          $ref: '#/components/schemas/Address'
  responses:
    BadRequest:
      description: Das JSON der Anfrage, ein Pflichtfeld oder ein Parameter ist ungültig.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error:
              code: bad_request
              message: fullName is required.
    Unauthorized:
      description: Der API-Schlüssel fehlt, ist falsch oder wurde gelöscht.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error:
              code: invalid_api_key
              message: API key is invalid or revoked.
    SubscriptionRequired:
      description: >-
        Der Workspace benötigt Zugriff auf Teams Connect. Prüfe seinen Tarif,
        den Abonnementstatus und den Ablauf der Testphase.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error:
              code: subscription_required
              message: Tapify Teams Connect is required for this feature.
    NotFound:
      description: Der angeforderte Eintrag ist in diesem Workspace nicht vorhanden.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error:
              code: not_found
              message: Contact was not found.
    PayloadTooLarge:
      description: Der JSON-Body überschreitet 256 KB (262.144 Bytes).
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error:
              code: payload_too_large
              message: Request body is too large.
    RateLimited:
      description: In kurzer Zeit wurden zu viele Anfragen gesendet.
      headers:
        Retry-After:
          description: Wartezeit in Sekunden vor einem erneuten Versuch.
          schema:
            type: integer
            example: 30
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error:
              code: rate_limited
              message: Rate limit exceeded.
              details:
                retryAfter: 30
    InternalError:
      description: Tapify konnte die Anfrage nicht abschließen.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error:
              code: internal_error
              message: Something went wrong.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Tapify API key
      description: Unter Einstellungen → API-Schlüssel erstellter API-Schlüssel.
    apiKeyHeader:
      type: apiKey
      in: header
      name: X-API-Key
      description: >-
        Alternative zu Authorization: Bearer. Sende pro Anfrage nur eine
        Authentifizierungsmethode; ein Bearer-Token hat Vorrang.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.