Skip to main content

The Project Object

Overview

The Project object represents projects within your Verifik account. A Project is where all the information related to the company or entity that will use the authentication and validation services generated by Verifik is stored. This is done to ensure that your brand is represented correctly when using Verifik's services.

Attributes

name

Type: String
Required: Yes

Name of the project.

allowedCountries

Type: Array of String
Required: Yes

Countries where enrollment is allowed (geo allow-list). Use specific country names (for example "Colombia", "United States") or "All" to allow every country. This does not auto-configure accepted document types—those are set per country on the project flow Documents step.

contactEmail

Type: String
Required: Yes

Primary email address of the project owner.

privacyUrl

Type: String
Required: Yes

Link to your privacy policy.

termsAndConditionsUrl

Type: String
Required: Yes

Link to your terms and conditions.

client

Type: string (reference id)
Required: Yes

Reference to the client who owns this project.

status

Type: String
Required: No

Status of the project. Can be:

  • active - Project is active
  • inactive - Project is inactive
  • pending - Project is pending approval

branding

Type: Object
Required: No

Branding information for the project:

  • logo - Project logo URL
  • primaryColor - Primary brand color
  • secondaryColor - Secondary brand color
  • customDomain - Custom domain for the project

settings

Type: Object
Required: No

Project-specific settings (legacy nested object in some docs examples):

  • timezone - Project timezone
  • webhookUrl - Default webhook URL for notifications

defaultLanguage

Type: String
Required: No

Default enrollee UI and OTP email locale for SmartEnroll / SmartAccess when the request omits language and the user has not saved another preference in the browser. Common values: en, es, br, fr, ja, kr, cn. Default: "en". The enrollee can still override via the in-flow language picker; the SDK then sends that language on OTP requests.

createdAt

Type: Date
Required: Yes

Timestamp when the project was created.

updatedAt

Type: Date
Required: Yes

Timestamp when the project was last updated.

Allowed Countries

Use "All" to allow enrollment from every country. Named countries commonly used include:

CountryCountryCountry
"Argentina""Germany""Portugal"
"Australia""Guatemala""Puerto Rico"
"Austria""Honduras""Russia"
"Belgium""Ireland""Spain"
"Brazil""Italy""Sweden"
"Canada""Mexico""Switzerland"
"Chile""Netherlands""Trinidad and Tobago"
"Colombia""Nicaragua""United Kingdom"
"Costa Rica""Norway""United States"
"Ecuador""Panama""Uruguay"
"El Salvador""Paraguay""Venezuela"
"France""Peru""Vietnam"
"Yemen""Uzbekistan"

Example Object

{
"_id": "project_123456789",
"name": "Example Project",
"allowedCountries": ["Colombia", "United States"],
"contactEmail": "test@verifik.co",
"privacyUrl": "https://example.com/privacy",
"termsAndConditionsUrl": "https://example.com/terms",
"client": "client_123456789",
"status": "active",
"branding": {
"logo": "https://example.com/logo.png",
"primaryColor": "#007bff",
"secondaryColor": "#6c757d",
"customDomain": "auth.example.com"
},
"settings": {
"defaultLanguage": "en",
"timezone": "UTC",
"webhookUrl": "https://example.com/webhook"
},
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:30:00Z"
}