# Payment instrument creation

Returns a link that allows a user to complete a payment instrument flow via either a redirect or embedded iframe/webview.
View [Embedded Flows - Payment Instruments](/guides/product/embedded-flows/flows/payment-instrument) to see what data the frontend is returned upon flow completion.

Endpoint: POST /profiles/{profileId}/embedded-flows/link-requests/payment-instrument
Version: 2026Q4
Security: UserToken

## Security:

  - `UserToken` (unknown)
    http bearer JWT

## Path parameters:

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

## 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):

  - `redirectUrl` (string, required)
    URL where the user will be redirected when the flow resolves.
This will also include query parameters based on flow completion state and created payment instrument ID.
View [Embedded Flows - Payment Instruments](/guides/product/embedded-flows/flows/payment-instrument) for more information.
    Example: https://example.com/return

  - `method` (string, required)
    The method the payment instrument is created for.
    Enum: "BACS", "SEPA", "ACH", "EFT"

## Response 201:

  - `201` (unknown)
    Embedded link request created.

## Response 201 fields (application/json):

  - `url` (string, required)
    Unique URL to open or embed for the user.
    Example: https://wise-sandbox.com/embedded-flows?embeddedLinkRequestId=9f5f5812-2609-4e48-8418-b64437c0c7cd#token=0d0bdc88-bcf4-43dd-85be-7ca65441db20

  - `expiresAt` (string, required)
    Timestamp when the returned flow URL expires.
    Example: 2026-06-15T13:23:20.265Z

## Response 201 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 400:

  - `400` (unknown)
    Invalid request, such as an invalid redirect URL.

## Response 400 headers:

  - `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 401:

  - `401` (unknown)
    User is not authorised to access the resource.

## Response 401 headers:

  - `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 404:

  - `404` (unknown)
    Profile not found.

## Response 404 headers:

  - `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

