# Create a contact from an identifier

Finds an existing **discoverable** Wise profile and adds it to your recipient list. The recipient is found by an identifier — such as a Wisetag, email, or phone number — without needing bank details. Use the `contactId` from the response to create a transfer.

Endpoint: POST /v2/profiles/{profileId}/contacts
Security: ClientCredentialsToken

## Security:

  - `ClientCredentialsToken` (unknown)
    http bearer JWT

## Path parameters:

  - `profileId` (integer, required)
    Your profile ID.

## Query parameters:

  - `isDirectIdentifierCreation` (boolean, required)
    Must be set to `true` for identifier-based contact creation.

## Header parameters:

  - `X-External-Correlation-Id` (string)
    Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. [Learn more](/guides/developer/headers/correlation-id).

## Request fields (application/json):

  - `identifier` (string)
    A Wise profile's identifier. It can be a Wisetag, email or phone number.

  - `targetCurrency` (string)
    3 character currency code.

## Response 200:

  - `200` (unknown)
    Contact created successfully.

## Response 200 fields (application/json):

  - `contactId` (string)
    Contact ID in the format of UUID.

  - `name` (string)
    Full name of the contact.

## Response 200 headers (application/json):

  - `X-External-Correlation-Id` (string)
    Echoed back when `X-External-Correlation-Id` was included in the request. [Learn more](/guides/developer/headers/correlation-id).
    Example: f47ac10b-58cc-4372-a567-0e02b2c3d479

  - `x-trace-id` (string)
    Unique trace identifier assigned by Wise. Useful when contacting support about a specific request.
    Example: fba501b6d453b96789f52338f019341f

## Response 429:

  - `429` (unknown)
    Rate limit exceeded. Retry after the number of seconds specified in the `Retry-After` header.

## Response 429 headers (application/json):

  - `Retry-After` (integer)
    Number of seconds to wait before retrying the request.
    Example: 5

  - `X-Rate-Limited-By` (string)
    Identifies the rate limiter that triggered the 429 response.
    Example: wise-public-api

  - `X-External-Correlation-Id` (string)
    Echoed back when `X-External-Correlation-Id` was included in the request. [Learn more](/guides/developer/headers/correlation-id).
    Example: f47ac10b-58cc-4372-a567-0e02b2c3d479

  - `x-trace-id` (string)
    Unique trace identifier assigned by Wise. Useful when contacting support about a specific request.
    Example: fba501b6d453b96789f52338f019341f

