Getting Started
This is the Getting STarted page for KYC
We have provided a list of endpoints to make the integration and onboarding seamless.
KYC Flow
Register your app on the registration endpoint
Verify your app using the verify endpoint
Get the appropriate KYC type (individual, business)
Create a KYC Order or Request (individual, business)
Get KYC URL where your user is redirected to perform KYC
Get KYC notification on your registered callback.
Your end user is approved or rejected.
Get user data/KYC status to confirm your user's KYC status.
Getting Started
App Registration Endpoint
This endpoint is to register an app
POST
https://fuspay-kyc-prod-e9eb4fd3aa33.herokuapp.com/api/v1/app/register
Headers
Content-Type*
String
application/json
Request Body
name
String
The name of your app
String
The email of the company
origin
Array
The domains you are calling from. this is whitelisted. eg "http://localhost:5179"
message
String
This message says there is a verification token (6 digits) which has be sent to the email used on the register endpoint
e.g 123456
value
String
This is the verification token this has also been sent to your email.
e.g 123456
app
Object
This is an object describing the opp that just registered on the app register endpoint
verified
String
Verified means if the app has verified on the app verify endpoint using the verification Token
True/False
status
String
This is your app's status on our endpoint
Active/Inactive
_id
String
This is your app's ID on our system. App ID' s
created_at
Datetime
this is the time your app was registered on the KYC system
updated_at
Datetime
This is the last time a value was updated on your app's data
Example request- Code.
App Activate/Verify Endpoint
This is used to verify an app
POST
https://fuspay-kyc-prod-e9eb4fd3aa33.herokuapp.com/api/v1/app/verify
Request Body
String
this is the email used to register your app
code
String
This is the verification token sent to your email
Request Verification Token
This endpoint is used by 3rd party to get verification Token
POST
https://fuspay-kyc-prod-e9eb4fd3aa33.herokuapp.com/api/v1/request
The verification token will be sent to the email address
Headers
Content-type*
String
application/json
Request Body
email*
String
sample@example.com
Example Request- Code
Get KYC Type
GET
https://fuspay-kyc-prod-e9eb4fd3aa33.herokuapp.com/api/v1/kyc_type/
This endpoint is used to get an Array of KYC types (Business, Individual). This provided the _id of the KYC that would be used when creating a KYC request
Headers
Content-type*
String
application/json
Request Body
curl --location
String
This enables curl
to follow HTTP redirects automatically.
id
String
This is the id that represents the KYC (Business, Individual) .
e.g. 5b47837d7839e9d9dyd93997d939
flow_id
String
The flow id represents the specific flow of the KYC. e.g. KYC for individuals can have different flows
e.g. 6a3636e63848r838383478w8
name
String
This describes the kind of KYC e.g. Individual.
individual/business
Create Order Endpoint
Create Order Endpoint for Individual
This endpoint is used to create a KYC order for an individual
POST
https://fuspay-kyc-prod-e9eb4fd3aa33.herokuapp.com/api/v1/order/
Headers
Content-Type*
String
application/json
Request Body
full_name
String
The user full name to create the KYC
String
The user email to create the KYC
phone
String
The phone number to create the KYC
app
String
This is your app's ID
kyc_type
String
This is a string representing the KYC type. Each KYC type has an identifier
callback
String
A webhook where notifications from us would be posted to
redirect
String
This is a URL where we would redirect your users after they have completed the KYC journey.
reference
String
This is an identifier for your user from your end.
Response Body
_id
String
This is the identifier representing the request sent to the KYC create request endpoint
app
String
This is your app's ID
kyc_type
Object
An object containing info about the KYC performed
_id
String
the id of the KYC type
name
String
the type of KYC that was performed.
Individual/Business
verification_url
String
this is the link where your user is redirected to go and perform the KYC
callback
String
This is the URL where KYC status of your user would be posted after they have completed the KYC journey
redirect
String
This is the URL where your user would be redirected after KYC.
Example Request- Code
Create Order Endpoint for Business
This endpoint is used to create a KYC order for a business
POST
https://fuspay-kyc-prod-e9eb4fd3aa33.herokuapp.com/api/v1/business/order
Content-Type*
String
application/json
Request Body
business_name
String
The name of the business to be KYCed
country
String
The country of the business of be KYCed
business_email
String
This is the email of the business you are trying to do KYC for
app
String
This is your app's ID
kyc_type
String
This is a string representing the KYC type. Each KYC type has an identifier
callback
String
A webhook where notifications from us would be posted to
redirect
String
This is a URL where we would redirect your users after they have completed the KYC journey.
reference
String
This is an identifier for your user from your end.
custom_files
Array
This is an array containing a list of extra/custom files you would like to be collected from the business
state_of_jurisdiction
String
This is the country the business was incorporated in.
Response Body
_id
String
id representing the business that has been KYCed on the KCY system
app
String
This is your app's ID
kyc_type
Object
An object containing info about the KYC performed
_id
String
the id of the KYC type eg individual or businesses
name
String
the type of KYC that was performed.
Individual/Business
verification_url
String
this is the link where your user is redirected to go and perform the KYC
callback
String
This is the URL where KYC status of your user would be posted after they have completed the KYC journey
redirect
String
This is the URL where your user would be redirected after KYC.
custom_files
Array
an Array containing the custom files to be collected from the business
order
Object
This is an object containing details of the KYC request/order
_id
String
this is an id presenting the KYC request itself
status
String
The status of the order
Get Callbacks
GET
https://fuspay-kyc-prod-e9eb4fd3aa33.herokuapp.com/api/v1/responses
Headers
Content-type*
String
application/json
Request Body
curl --location --request OPTIONS
String
follows HTTP redirects and specifically sends an HTTP OPTIONS request.
Status
String
refers to the current phase of an order.
initialized, started, pending or completed
Event
String
events are key actions in the KYC process, such as submission, review, or approval, that affect the order's progress and outcome.
submission, review, or approval
Order
String
It is a unique identifier assigned to a specific KYC order
Timestamp
String
It is a record of the date and time when a specific event occurred
Kyc_token
String
It is a unique token used to authenticate KYC processes
Account
String
It is used to uniquely reference and manage an individual's or entity's KYC profile within the system
User_reference
String
It is a unique identifier assigned to a user specifically to managae KYC processes.
Mega_data
Array
metadata helps in tracking, managing, and providing context to the KYC process.
KYC Note, KYC Status
First_name
String
This is the first name of the customer
Last_name
String
This is the last name of the customer
Phone
String
This is the customer's phone number
String
This is the Customer's Email Address
Country
String
This is the customer's country
Get Verification Status and User's Data
GET
https://fuspay-kyc-prod-e9eb4fd3aa33.herokuapp.com/api/v1/order/verification-status
This endpoint is used to know the KYC status of your user. Where they are in the KYC Journey.
Headers
Content-type*
String
application/json
Query Params
app_id
This is your app's ID
user_reference
This is your user's reference from your system
status
String
refers to the current state of the KYC process for an individual or business
UNPROCESSED
user's_facial_images
Array
These are the images of the user's face
_id
String
The identity number used to recognize and track the user in the verification process.
String
email of the user
full_name
String
full name of the user
phone
String
phone number of the user
app
String
This is your apps id
kyc_type
String
This is a string representing the KYC type. Each KYC type has an identifier
scan_ref
String
reference number or identifier that is associated with the verification process
verification_url
String
this is the link where your user is redirected to go and perform the KYC
callback
String
This is the URL where KYC status of your user would be posted after they have completed the KYC journey
reference
String
This is an identifier for your user from your end.
e.g. cee4d97b-c90b-425f-a902-0883b4b142ca
redirect
String
This is a URL where we would redirect your users after they have completed the KYC journey.
address
String
This is the house address of the user
bvn
String
This is the bank verification number of the user
country
String
This is the user's country
govt_id_no
String
This is the government identity number of the user
govt_id_photo
String
This is the user's government id photo
proof_of_address
String
This is the user's proof of address
bank_statement
String
This is the bank statement of the user
user_indemnity
String
This is the user's agreement to cover losses or liabilities from their actions.
4o
guarantors_form
String
This is the document where guarantors agree to cover obligations if the primary party defaults
id_of_guarantor
String
This is the id of the guarantor
guarantors_proof_of_address
String
This is the guarantors proof of address
created_at
Datetime
this is the time your app was registered on the KYC system
e.g. 2024-07-05T12:27:31.958Z
updated_at
Datetime
This is the last time a value was updated on your app's data
e.g. 2024-07-05T12:27:31.971Z
__v
Number
order
Array
A request to initiate the verification process or to check the status of a user's data.
Last updated