Skip to main content

Crear un proyecto

Endpoint​

POST https://api.verifik.co/v3/projects

Crea un nuevo proyecto KYC con configuración completa. Puedes crear un proyecto básico con campos mínimos o incluir una configuración de flujo completa en una sola solicitud.

Encabezados​

NombreValor
Content-Typeapplication/json
AuthorizationBearer <token>

Parámetros​

NombreTipoRequeridoDescripción
namestringSíNombre del proyecto (máx. 60 caracteres)
allowedCountriesarraySíLista de países permitidos
contactEmailstringSíCorreo de contacto (formato válido)
privacyUrlstringSíURL de política de privacidad
termsAndConditionsUrlstringSíURL de términos y condiciones
dataProtectionobjectSíInformación del responsable de protección de datos
identifierstringNoIdentificador del proyecto
currentStepnumberNoPaso actual de configuración
lastStepnumberNoÚltimo paso completado
demoModebooleanNoActiva modo demo para pruebas
demoOTPstringNoOTP demo (6 dígitos) - se genera si no se envía
brandingobjectNoConfiguración de marca
projectFlowobjectNoConfiguración del flujo del proyecto
projectFlowTypestringNoTipo de flujo (requerido si envías projectFlow)

Objeto Data Protection​

NombreTipoRequeridoDescripción
namestringSíNombre
emailstringSíEmail (formato válido)
addressstringSíDirección principal
address2stringNoDirección secundaria
citystringSíCiudad
countrystringSíPaís
postalCodestringSíCódigo postal (3-12 caracteres)

Objeto Project Flow​

NombreTipoRequeridoDescripción
targetstringSíAudiencia (personal)
typestringSíTipo de flujo (onboarding)
signUpFormobjectNoConfiguración del formulario de registro
documentsobjectNoAjustes de verificación de documentos
livenessobjectNoAjustes de verificación biométrica
stepsobjectNoConfiguración de pasos
integrationsobjectNoAjustes de integraciones

Solicitud​

const fetch = require("node-fetch");

async function run() {
const res = await fetch("https://api.verifik.co/v3/projects", {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${process.env.VERIFIK_TOKEN}`,
},
body: JSON.stringify({
name: "My KYC Project",
allowedCountries: ["United States"],
contactEmail: "admin@example.com",
privacyUrl: "https://example.com/privacy",
termsAndConditionsUrl: "https://example.com/terms",
dataProtection: {
name: "John Doe",
email: "dpo@example.com",
address: "123 Main St",
city: "New York",
country: "United States",
postalCode: "10001"
}
}),
});
console.log(await res.json());
}

run();

Respuesta​

{
"data": {
"_id": "64a1b2c3d4e5f6789012345",
"name": "My KYC Project",
"identifier": null,
"contactEmail": "admin@example.com",
"privacyUrl": "https://example.com/privacy",
"termsAndConditionsUrl": "https://example.com/terms",
"status": "draft",
"currentStep": 0,
"lastStep": 0,
"demoMode": false,
"demoOTP": null,
"allowedCountries": ["United States", "Canada"],
"dataProtection": {
"name": "John Doe",
"email": "dpo@example.com",
"address": "123 Main St",
"address2": "",
"city": "New York",
"country": "United States",
"postalCode": "10001"
},
"branding": {
"bgColor": "#01236D",
"tabColor": "#01236D",
"borderColor": "#B2BDD3",
"buttonColor": "#B2BDD3",
"buttonTxtColor": "#FFFFFF",
"secondaryButtonColor": "#B2BDD3",
"secondaryButtonTextColor": "#FFFFFF",
"txtColor": "#8091B6",
"titleColor": "#000000",
"logo": null,
"rightImage": null,
"rightImagePosition": "center center",
"rightBackgroundColor": "white"
},
"projectFlows": "64a1b2c3d4e5f6789012346",
"version": 2,
"createdAt": "2023-07-01T10:00:00.000Z",
"updatedAt": "2023-07-01T10:00:00.000Z"
}
}

Notas​

  • Modo demo: con demoMode: true y sin demoOTP, el sistema genera un OTP de 6 dígitos. En desarrollo, el modo demo se activa automáticamente.
  • Flujo del proyecto: en producción, crea proyectos completos con projectFlow para consistencia.
  • Validación: todos los campos se validan; errores retornan 4xx correspondientes.
  • Data Protection: postalCode entre 3–12 caracteres, alfanumérico, espacios y guiones permitidos.
  • Documentos: si steps.document no es "skip", verificationMethods y documentTypes son obligatorios.
  • Liveness: minScore 0.52–0.9; searchMinScore 0.7–0.95.