POST
/
api
/
partner
/
v2
/
kyc
/
send-verification
cURL
curl --request POST \
  --url https://staging-api.capa.fi/api/partner/v2/kyc/send-verification \
  --header 'Content-Type: application/json' \
  --header 'partner-api-key: <partner-api-key>' \
  --data '{
  "personalInfo": {
    "profession": "<string>",
    "phoneNumber": "<string>",
    "birthCountry": "<string>",
    "taxId": "<string>"
  },
  "userId": "2da954cd-2fda-49c2-ad77-6208c5ab71d6",
  "country": "DO",
  "documentType": "NATIONAL_ID"
}'

Headers

Content-Type - multipart/form-data PartnerApiKey (string) - API key associated with the partner.
Partner API Key RequiredRequires partner-api-key for authentication to ensure only authorized partners can access this data.See 🔑 API Key Generation Guide for getting your API key

📦 Body (Multipart Form Data)

FieldTypeRequiredDescription
userIdstringThe unique identifier of the user for whom the verification is sent.
countrystringISO 3166-1 alpha-2 country code. Must be in SupportedCountry.
documentTypestringThe document type submitted (e.g., VOTER_ID).
frontIdfileFront image of the identification document.
backIdfileBack image of the identification document.
selfiefileSelfie of the user holding their ID.
personalInfoJSON (stringified)ConditionalRequired only if country = "MX". See below for format.

🧾 personalInfo structure

Only required for users in Mexico. This is sent as a stringified JSON.
{
  "profession": "Employee",
  "phoneNumber": "+524401234567",
  "birthCountry": "MX",
  "taxId": "PEGJ900314X9A"
}
FieldTypeRequiredDescription
professionstringUser profession. See supported values below.
phoneNumberstringUser’s phone number in international format.
birthCountrystringISO 3166-1 alpha-2 code for user’s birth country.
taxIdstringUser’s RFC (Mexican tax ID). RFC Format Info

✅ Example Request (cURL)

--form 'userId="2da954cd-2fda-49c2-ad77-6208c5ab71d6"' \
--form 'country="MX"' \
--form 'documentType="VOTER_ID"' \
--form 'frontId=@"/path/to/front.jpeg"' \
--form 'backId=@"/path/to/back.jpeg"' \
--form 'selfie=@"/path/to/selfie.jpeg"' \
--form 'personalInfo="{\"profession\":\"Employee\",\"phoneNumber\":\"+524401234567\",\"birthCountry\":\"MX\",\"taxId\":\"LOZG7802117B9\"}"'

Use cases

Regulatory Compliance in Mexico A partner operating in Mexico needs to verify the identity of a new user to comply with local regulations. The request includes the userId, country set to MX, and the user’s personal information such as profession, phoneNumber, and birthCountry.

Webhook Verification Response

After the user completes the KYC process using the link, a verification response will be sent to your system via a our webhook system specified in this our Webhook Guide.

Headers

partner-api-key
string
required

Api key for the affiliated partner that is performing the request

Body

application/json
userId
string
required

The userId we gave to the partner when they onboarded their user with us

Example:

"2da954cd-2fda-49c2-ad77-6208c5ab71d6"

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:

"DO"

documentType
enum<string>
required

The type of document the user is uploading

@description The documentType must be a valid DOCUMENT_TYPE, see: @link {@link RawSupportedDocumentType}

Available options:
NATIONAL_ID,
VOTER_ID,
PASSPORT
Example:

"NATIONAL_ID"

personalInfo
object

Personal information for regulatory purposes