---
title: "Create a hosted onboarding link"
method: POST
path: "/v1/customers/{customerId}/onboarding-link"
tags: ["Onboarding"]
---

# Create a hosted onboarding link

`POST /v1/customers/{customerId}/onboarding-link`

## Request

- Base URL: `https://api.sandbox.alfredpay.io`
- URL: `https://api.sandbox.alfredpay.io/v1/customers/{customerId}/onboarding-link`
- Auth: one of:
  - HTTP bearer
  - API key in header `api-key` and API key in header `api-secret`

Mints a scoped link the end customer opens themselves. They complete identity capture, documents and the selfie directly with Alfred, so you never handle document images.

Worth defaulting to for individual KYC, where the alternative is building document capture and liveness for every country template yourself.

## Headers

- `Idempotency-Key` string, uuid, required

## Response `201`

Created

- OnboardingLink
  - `sessionId` string
  - `url` string, uri
  - `expiresAt` string, date-time

## Changes

- **2026-11-03** `20fef4fd2ab3`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/alfredpay/apis/alfred-penny-api-client-documentation/changes/v1/customers/:customerId/onboarding-link/post.md)

---

[API](https://skmtc.dev/alfredpay/apis/alfred-penny-api-client-documentation.md) - [All operations](https://skmtc.dev/alfredpay/apis/alfred-penny-api-client-documentation/llms.txt) - [OpenAPI document](https://skmtc.dev/alfredpay/apis/alfred-penny-api-client-documentation/revisions/20fef4fd2ab3?raw)
