Skip to main content
POST
/
api
/
partner
/
v2
/
users
/
{userId}
/
kyc
/
verification-link
cURL
curl --request POST \
  --url https://staging-api.capa.fi/api/partner/v2/users/{userId}/kyc/verification-link \
  --header 'Content-Type: application/json' \
  --header 'partner-api-key: <partner-api-key>' \
  --data '
{
  "country": "MX",
  "partnerRedirectUri": "https://partner.com or myapp://partner.com"
}
'
{
  "success": true,
  "data": {
    "kycLink": "<string>"
  }
}
Generates a direct KYC verification link for an existing user. Redirect the user to this link to complete identity verification with the KYC provider.

Important Notes

  • The user must be created first via Create User.
  • Each kycLink is tied to a unique session. If expired, generate a new link.
  • If partnerRedirectUri is not provided, the user may not be redirected after completing KYC.
  • Supports both HTTPS and custom mobile URI schemes (e.g., myapp://).

Use Cases

  • Initiate KYC: Redirect the user to complete identity verification after account creation.
  • Email or app link: Embed the kycLink in an onboarding email or app screen.
  • Custom redirect: Use partnerRedirectUri to bring the user back to your app after verification.

Error Codes

Common Errors

HTTP StatusCodeMessage
401UNAUTHORIZED”API Key is missing”
401UNAUTHORIZED”Invalid API Key format”
401UNAUTHORIZED”Invalid API Key”
403INVALID_PARTNER_FLOW”The partner has an invalid flow.”

User Ownership Errors

HTTP StatusCodeMessage
401UNAUTHORIZED”Partner information is required for this operation”
401UNAUTHORIZED”User is not associated with the partner”

Endpoint-Specific Errors

HTTP StatusCodeMessage
400INVALID_USER_INPUT_ERROR”Invalid User Input”
400INVALID_VERIFICATION_TYPE_FOR_USER users can only request verification”
400KYC_TEMPLATE_NOT_CONFIGURED_ERROR”KYC template not configured for
404NOT_FOUND_ERROR”Requested User was not found”
500INTERNAL_SERVER_ERROR”Failed to create verification link”

Headers

partner-api-key
string
required

Api key for the affiliated partner that is performing the request

Path Parameters

userId
string
required

The user ID

Body

application/json
country
enum<string>
required

The country code for the partner

@description The country must be a valid ISO 3166-1 alpha-2 country code, see: @link https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2

Available options:
MX,
DO,
US,
AT,
BE,
BG,
HR,
CY,
CZ,
DK,
EE,
FI,
FR,
DE,
GR,
HU,
IE,
IT,
LV,
LT,
LU,
MT,
NL,
PL,
PT,
RO,
SK,
SI,
ES,
SE,
IS,
LI,
NO,
CH,
GB,
MC,
SM,
AD,
VA
Example:

"MX"

partnerRedirectUri
string

The redirect URI for the partner to redirect the user after the KYC process is completed

Example:

"https://partner.com or myapp://partner.com"

Response

201 - application/json
success
boolean
Example:

true

data
object