Skip to main content

Quick Implementation

Initialize the Module
// Create an instance of the Individual module
const individual = oneSdk.individual();

// Add required user consent
individual.addConsent("general");

Core Methods

Use individual.access() to manage core user properties:
const { setValue, getValue } = individual.access('name');

// Example: Setting user name properties
setValue({
    givenName: 'Albert',
    familyName: 'Einstein',
    middleName: 'J',
    displayName: 'Albert Einstein',
});

Available properties:
PropertyDescription
nameUser’s name information
dateOfBirthUser’s date of birth
documentsIdentity documents
addressesUser’s addresses
profileUser profile details
phoneNumberContact phone number
emailContact email address

Document Management

const document = {
  documentId: "doc123",
  idType: "PASSPORT",
  country: "AUS",
  idNumber: "P123456",
  idExpiry: "2025-12-31"
};

individual.addDocument(document);

Identity Documents

  • PASSPORT
  • DRIVERS_LICENCE
  • NATIONAL_ID
  • MILITARY_ID

Proof Documents

  • UTILITY_BILL
  • BANK_STATEMENT
  • PROOF_OF_ADDRESS
  • TAX_STATEMENT
To read more about document types, go here.

Address Management

individual.addAddress({
    addressType: 'RESIDENTIAL',
    buildingName: 'Noida',
    country: 'AUS',
    postalCode: '224400',
    state: 'ACT',
    streetName: 'Mock Street',
    streetNumber: '123',
    town: 'Mock town/suburb',
    unitNumber: '1',
});

Profile Management

1

Add Reference (Optional)

individual.addReference("customer-id", "REF123");

2

Set Contact Information

individual.setPhoneNumber("+61412345678");
individual.setEmail("[email protected]");

3

Submit Profile

await individual.submit();

// to submit profile and run check
await individual.submit({ verify: true });

4

Run Check

// to only run check to entity without submitting
await individual.runCheck();

Advanced Use Case for Submit and Executing Specific Workflow

By default, OneSDK with v2 API have an “assigned” workflow on compile-time, meaning our representative will set a specific workflow to run against when you run a individual.submit({ verify: true }) or individual.runCheck() However, if you desire to have a more advanced use case where you want to trigger a specific workflow instead, you can
// finish all the KYC process, save all the entity progress
await individual.submit();

// execute specific workflow you want
await fetch('https://api.uat.frankie.one/v2/individuals/:entityId/serviceprofiles/:serviceName/workflows/:workflowName/execute', {
  method: 'POST'
});


To read more about executing workflow, go to this page.

Add Extra KVP

If you want to set an additional KVPs to an entity, you can use .setExtraData Read more about KVP here. .setExtraData accepts an object with key of string and value of string
Setting up KVPs
individual.setExtraData({
  key: 'value',
  extraInformation: 'foo-bar'
})

Best Practice
Always validate required fields and ensure user consent is captured before submitting the profile.