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

# Delete User External ID

> Delete an external ID from a User.

export const userTip = "Represents an end user's account in your application.";

Delete a <Tooltip tip={userTip}>User</Tooltip>'s `external_id`.


## OpenAPI

````yaml DELETE /v1/users/{user_id}/external_id
openapi: 3.0.3
info:
  title: Stytch API
  description: The Stytch API provides endpoints for authentication and user management.
  version: 2.1.1
  contact:
    name: Stytch Support
    url: https://stytch.com/docs
    email: support@stytch.com
servers:
  - url: https://api.stytch.com
    description: Production server
  - url: https://test.stytch.com
    description: Test server
security:
  - basicAuth: []
paths:
  /v1/users/{user_id}/external_id:
    delete:
      tags:
        - User
      summary: Deleteexternalid
      operationId: api_user_v1_DeleteExternalId
      parameters:
        - name: user_id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api_user_v1_DeleteExternalIdResponse'
        '400':
          description: Bad request
        '401':
          description: Unauthorized
          content:
            application/json:
              example:
                status_code: 401
                request_id: request-id-test-b05c992f-ebdc-489d-a754-c7e70ba13141
                error_type: unauthorized_credentials
                error_message: Unauthorized credentials.
                error_url: https://stytch.com/docs/api/errors/401
        '429':
          description: Too Many Requests
          content:
            application/json:
              example:
                status_code: 429
                request_id: request-id-test-b05c992f-ebdc-489d-a754-c7e70ba13141
                error_type: too_many_requests
                error_message: Too many requests have been made.
                error_url: https://stytch.com/docs/api/errors/429
        '500':
          description: Internal server error
          content:
            application/json:
              example:
                status_code: 500
                request_id: request-id-test-b05c992f-ebdc-489d-a754-c7e70ba13141
                error_type: internal_server_error
                error_message: >-
                  Oops, something seems to have gone wrong, please reach out to
                  support@stytch.com to let us know what went wrong.
                error_url: https://stytch.com/docs/api/errors/500
      x-code-samples:
        - lang: csharp
          label: C#
          source: |-
            // DELETE /v1/users/{user_id}/external_id
            const stytch = require('stytch');

            const client = new stytch.Client({
              project_id: '${projectId}',
              secret: '${secret}',
            });

            const params = {
              user_id: "TODO_MISSING_EXAMPLE_VALUE",
            };

            client.Users.DeleteExternalId(params)
              .then(resp => { console.log(resp) })
              .catch(err => { console.log(err) });
        - lang: go
          label: Go
          source: "// DELETE /v1/users/{user_id}/external_id\npackage main\n\nimport (\n\t\"context\"\n\t\"log\"\n\n\t\"github.com/stytchauth/stytch-go/v18/stytch/consumer/stytchapi\"\n\t\"github.com/stytchauth/stytch-go/v18/stytch/consumer/users\"\n)\n\nfunc main() {\n\tclient, err := stytchapi.NewClient(\n\t\t\"${projectId}\",\n\t\t\"${secret}\",\n\t)\n\tif err != nil {\n\t\tlog.Fatalf(\"error instantiating client: %v\", err)\n\t}\n\n\tparams := &users.DeleteExternalIDParams{\n\t\tUserID: \"TODO_MISSING_EXAMPLE_VALUE\",\n\t}\n\n\tresp, err := client.Users.DeleteExternalID(context.Background(), params)\n\tif err != nil {\n\t\tlog.Fatalf(\"error in method call: %v\", err)\n\t}\n\n\tlog.Println(resp)\n}\n"
        - lang: java
          label: Java
          source: >-
            // DELETE /v1/users/{user_id}/external_id

            package com.example;


            import com.stytch.java.common.StytchResult;

            import
            com.stytch.java.consumer.models.users.DeleteExternalIdRequest;

            import com.stytch.java.consumer.StytchClient;


            public class Main {
                public static void main(String[] args) {
                    StytchClient.configure("${projectId}", "${secret}");

                    DeleteExternalIdRequest params = new DeleteExternalIdRequest();
                    params.setUserId("TODO_MISSING_EXAMPLE_VALUE");

                    Object result = StytchClient.getUsers().deleteExternalId(params);
                    if (result instanceof StytchResult.Success) {
                      System.out.println(((StytchResult.Success) result).getValue());
                    } else {
                      System.out.println(((StytchResult.Error) result).getException());
                    }
                }
            }
        - lang: kotlin
          label: Kotlin
          source: |
            // DELETE /v1/users/{user_id}/external_id
            package com.example

            import com.stytch.java.consumer.StytchClient
            import com.stytch.java.consumer.models.users.DeleteExternalIdRequest

            fun main() {
                StytchClient.configure(
                    projectId = "${projectId}",
                    secret = "${secret}",
                )

                when (
                    val result =
                        StytchClient.users.deleteExternalId(
                            DeleteExternalIdRequest(
                                userId = "TODO_MISSING_EXAMPLE_VALUE",
                            ),
                        )
                ) {
                    is StytchResult.Success -> println(result.value)
                    is StytchResult.Error -> println(result.exception)
                }
            }
        - lang: javascript
          label: Node.js
          source: |-
            // DELETE /v1/users/{user_id}/external_id
            const stytch = require('stytch');

            const client = new stytch.Client({
              project_id: '${projectId}',
              secret: '${secret}',
            });

            const params = {
              user_id: "TODO_MISSING_EXAMPLE_VALUE",
            };

            client.users.deleteExternalId(params)
              .then(resp => { console.log(resp) })
              .catch(err => { console.log(err) });
        - lang: php
          label: PHP
          source: |-
            $response = $client->users->delete_external_id([
                'user_id' => 'TODO_MISSING_EXAMPLE_VALUE',
            ]);
        - lang: python
          label: Python
          source: |
            # DELETE /v1/users/{user_id}/external_id
            from stytch import Client

            client = Client(
                project_id="${projectId}",
                secret="${secret}",
            )

            resp = client.users.delete_external_id(
                user_id="TODO_MISSING_EXAMPLE_VALUE",
            )

            print(resp)
        - lang: ruby
          label: Ruby
          source: |-
            # frozen_string_literal: true

            # DELETE /v1/users/{user_id}/external_id
            require 'stytch'

            client = Stytch::Client.new(
              project_id: "${projectId}",
              secret: "${secret}"
            )

            resp = client.users.delete_external_id(
              user_id: "TODO_MISSING_EXAMPLE_VALUE"
              
            )

            puts resp
        - lang: rust
          label: Rust
          source: |-
            // DELETE /v1/users/{user_id}/external_id
            use stytch::consumer::client::Client;
            use stytch::consumer::users::DeleteExternalIdRequest;

            fn main() {
                let client = Client::new("${projectId}", "${secret}").unwrap();
                let resp = client.users.delete_external_id(
                    DeleteExternalIdRequest{
                        user_id: "TODO_MISSING_EXAMPLE_VALUE",
                        ..Default::default()
                    }
                ).await;
                println!("The response is {:?}", resp);
            }
        - lang: bash
          label: cURL
          source: |-
            # DELETE /v1/users/{user_id}/external_id
            curl --request DELETE \
              --url https://test.stytch.com/v1/users/TODO_MISSING_EXAMPLE_VALUE/external_id \
              -u '${projectId}:${secret}' \
              -H 'Content-Type: application/json'
components:
  schemas:
    api_user_v1_DeleteExternalIdResponse:
      type: object
      properties:
        request_id:
          type: string
        user_id:
          type: string
        user:
          $ref: '#/components/schemas/api_user_v1_User'
        status_code:
          type: integer
          format: int32
      required:
        - request_id
        - user_id
        - user
        - status_code
    api_user_v1_User:
      type: object
      properties:
        user_id:
          type: string
          description: The unique ID of the affected User.
        emails:
          type: array
          items:
            $ref: '#/components/schemas/api_user_v1_Email'
          description: An array of email objects for the User.
        status:
          type: string
          description: >-
            The status of the User. The possible values are `pending` and
            `active`.
        phone_numbers:
          type: array
          items:
            $ref: '#/components/schemas/api_user_v1_PhoneNumber'
          description: An array of phone number objects linked to the User.
        webauthn_registrations:
          type: array
          items:
            $ref: '#/components/schemas/api_user_v1_WebAuthnRegistration'
          description: >-
            An array that contains a list of all Passkey or WebAuthn
            registrations for a given User in the Stytch API.
        providers:
          type: array
          items:
            $ref: '#/components/schemas/api_user_v1_OAuthProvider'
          description: An array of OAuth `provider` objects linked to the User.
        totps:
          type: array
          items:
            $ref: '#/components/schemas/api_user_v1_TOTP'
          description: >-
            An array containing a list of all TOTP instances for a given User in
            the Stytch API.
        crypto_wallets:
          type: array
          items:
            $ref: '#/components/schemas/api_user_v1_CryptoWallet'
          description: >-
            An array contains a list of all crypto wallets for a given User in
            the Stytch API.
        biometric_registrations:
          type: array
          items:
            $ref: '#/components/schemas/api_user_v1_BiometricRegistration'
          description: >-
            An array that contains a list of all biometric registrations for a
            given User in the Stytch API.
        is_locked:
          type: boolean
          description: >-
            Whether the User is temporarily locked due to too many failed
            authentication attempts. See the [User Locking
            Guide](https://stytch.com/docs/resources/platform/user-locks) for
            more information.
        roles:
          type: array
          items:
            type: string
          description: |-
            Roles assigned to this User.
               See the [RBAC guide](https://stytch.com/docs/guides/rbac/role-assignment) for more information about role assignment.
        name:
          $ref: '#/components/schemas/api_user_v1_Name'
          description: The name of the User. Each field in the `name` object is optional.
        created_at:
          type: string
          description: >-
            The timestamp of the User's creation. Values conform to the RFC 3339
            standard and are expressed in UTC, e.g. `2021-12-29T12:33:09Z`.
        password:
          $ref: '#/components/schemas/api_user_v1_Password'
          description: The password object is returned for users with a password.
        trusted_metadata:
          type: object
          additionalProperties: true
          description: >-
            The `trusted_metadata` field contains an arbitrary JSON object of
            application-specific data. See the
            [Metadata](https://stytch.com/docs/api/metadata) reference for
            complete field behavior details.
        untrusted_metadata:
          type: object
          additionalProperties: true
          description: >-
            The `untrusted_metadata` field contains an arbitrary JSON object of
            application-specific data. Untrusted metadata can be edited by end
            users directly via the SDK, and **cannot be used to store critical
            information.** See the
            [Metadata](https://stytch.com/docs/api/metadata) reference for
            complete field behavior details.
        external_id:
          type: string
          description: >-
            An identifier that can be used in most API calls where a `member_id`
            is expected. This is a string consisting of alphanumeric, `.`, `_`,
            `-`, or `|` characters with a maximum length of 128 characters.
            External IDs must be unique within the project.
        lock_created_at:
          type: string
          description: >-
            When the user lock was created, if there is one. Values conform to
            the RFC 3339 standard and are expressed in UTC, e.g.
            `2021-12-29T12:33:09Z`.
        lock_expires_at:
          type: string
          description: >-
            When the user lock expires, if there is one. Values conform to the
            RFC 3339 standard and are expressed in UTC, e.g.
            `2021-12-29T12:33:09Z`.
      required:
        - user_id
        - emails
        - status
        - phone_numbers
        - webauthn_registrations
        - providers
        - totps
        - crypto_wallets
        - biometric_registrations
        - is_locked
        - roles
    api_user_v1_Email:
      type: object
      properties:
        email_id:
          type: string
          description: The unique ID of a specific email address.
        email:
          type: string
          description: The email address.
        verified:
          type: boolean
          description: >-
            The verified boolean denotes whether or not this send method, e.g.
            phone number, email address, etc., has been successfully
            authenticated by the User.
      required:
        - email_id
        - email
        - verified
    api_user_v1_PhoneNumber:
      type: object
      properties:
        phone_id:
          type: string
          description: The unique ID for the phone number.
        phone_number:
          type: string
          description: The phone number.
        verified:
          type: boolean
          description: >-
            The verified boolean denotes whether or not this send method, e.g.
            phone number, email address, etc., has been successfully
            authenticated by the User.
      required:
        - phone_id
        - phone_number
        - verified
    api_user_v1_WebAuthnRegistration:
      type: object
      properties:
        webauthn_registration_id:
          type: string
          description: The unique ID for the Passkey or WebAuthn registration.
        domain:
          type: string
          description: >-
            The `domain` on which Passkey or WebAuthn registration was started.
            This will be the domain of your app.
        user_agent:
          type: string
          description: The user agent of the User.
        verified:
          type: boolean
          description: >-
            The verified boolean denotes whether or not this send method, e.g.
            phone number, email address, etc., has been successfully
            authenticated by the User.
        authenticator_type:
          type: string
          description: >-
            The `authenticator_type` string displays the requested authenticator
            type of the Passkey or WebAuthn device. The two valid types are
            "platform" and "cross-platform". If no value is present, the Passkey
            or WebAuthn device was created without an authenticator type
            preference.
        name:
          type: string
          description: The `name` of the Passkey or WebAuthn registration.
      required:
        - webauthn_registration_id
        - domain
        - user_agent
        - verified
        - authenticator_type
        - name
    api_user_v1_OAuthProvider:
      type: object
      properties:
        provider_type:
          type: string
          description: >-
            Denotes the OAuth identity provider that the user has authenticated
            with, e.g. Google, Facebook, GitHub etc.
        provider_subject:
          type: string
          description: >-
            The unique identifier for the User within a given OAuth provider.
            Also commonly called the "sub" or "Subject field" in OAuth
            protocols.
        profile_picture_url:
          type: string
          description: >-
            If available, the `profile_picture_url` is a url of the User's
            profile picture set in OAuth identity the provider that the User has
            authenticated with, e.g. Facebook profile picture.
        locale:
          type: string
          description: >-
            If available, the `locale` is the User's locale set in the OAuth
            identity provider that the user has authenticated with.
        oauth_user_registration_id:
          type: string
          description: The unique ID for an OAuth registration.
      required:
        - provider_type
        - provider_subject
        - profile_picture_url
        - locale
        - oauth_user_registration_id
    api_user_v1_TOTP:
      type: object
      properties:
        totp_id:
          type: string
          description: The unique ID for a TOTP instance.
        verified:
          type: boolean
          description: >-
            The verified boolean denotes whether or not this send method, e.g.
            phone number, email address, etc., has been successfully
            authenticated by the User.
      required:
        - totp_id
        - verified
    api_user_v1_CryptoWallet:
      type: object
      properties:
        crypto_wallet_id:
          type: string
          description: The unique ID for a crypto wallet
        crypto_wallet_address:
          type: string
          description: The actual blockchain address of the User's crypto wallet.
        crypto_wallet_type:
          type: string
          description: >-
            The blockchain that the User's crypto wallet operates on, e.g.
            Ethereum, Solana, etc.
        verified:
          type: boolean
          description: >-
            The verified boolean denotes whether or not this send method, e.g.
            phone number, email address, etc., has been successfully
            authenticated by the User.
      required:
        - crypto_wallet_id
        - crypto_wallet_address
        - crypto_wallet_type
        - verified
    api_user_v1_BiometricRegistration:
      type: object
      properties:
        biometric_registration_id:
          type: string
          description: The unique ID for a biometric registration.
        verified:
          type: boolean
          description: >-
            The verified boolean denotes whether or not this send method, e.g.
            phone number, email address, etc., has been successfully
            authenticated by the User.
      required:
        - biometric_registration_id
        - verified
    api_user_v1_Name:
      type: object
      properties:
        first_name:
          type: string
          description: The first name of the user.
        middle_name:
          type: string
          description: The middle name(s) of the user.
        last_name:
          type: string
          description: The last name of the user.
    api_user_v1_Password:
      type: object
      properties:
        password_id:
          type: string
          description: The unique ID of a specific password
        requires_reset:
          type: boolean
          description: Indicates whether this password requires a password reset
      required:
        - password_id
        - requires_reset
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic

````