Skip to main content
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 '
{
  "userId": "2da954cd-2fda-49c2-ad77-6208c5ab71d6",
  "country": "DO",
  "documentType": "NATIONAL_ID",
  "personalInfo": {
    "profession": "<string>",
    "phoneNumber": "<string>",
    "birthCountry": "<string>",
    "taxId": "<string>"
  }
}
'

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
userIdstringโœ…The unique identifier of the user for whom the verification is sent.
countrystringโœ…ISO 3166-1 alpha-2 country code. Must be in SupportedCountry.
documentTypestringโœ…The document type submitted (e.g., VOTER_ID).
frontIdfileโœ…Front image of the identification document.
backIdfileโœ…Back image of the identification document.
selfiefileโœ…Selfie 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
professionstringโœ…User profession. See supported values below.
phoneNumberstringโœ…Userโ€™s phone number in international format.
birthCountrystringโœ…ISO 3166-1 alpha-2 code for userโ€™s birth country.
taxIdstringโœ…Userโ€™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

Response

201 - undefined