API Guide

You can submit your customer's KYC form data using the Argos API and check the progress of KYC.

The Argos API uses RESTful Endpoints and the default HTTP Method.

  • The response data contains the status of the request and possible error codes.

  • All response data is provided as JSON format.

  • Use token authentication.

  • All requests must be made in HTTPS. HTTP requests will fail.

1. Getting Started

To get started using API you need a valid API key. To obtain an API key, please contact Argos HELPDESK.

2. Authentication

The API uses Token-based authentication.

The API must be provided by Argos in order to use the API.

Authenticate with HTTP Headers

You can send your API key with your query as a HTTP header

The API Key should be included in the method request header as 'x-api-key: {yourAPIKey}'

curl -H "x-api-key: {yourAPIKey}" "https://rest-api.argoskyc.com/..."

Errors

Respond with a generic HTTP response code. At success, it is represented by 2xx code. 4xx occurs when there is an error in the information transmitted on the Client. 5xx occurs when there is an error on the Argos server.

Error Codes

3. GET /submission

Get a list of submissions.

  • The KYC / AML status can be checked by the GET request.

  • You can either check for the KYC status of a specific submission or get a list of KYC submissions with GET request.

  • If no parameter is provided, a list of all submissions is returned.

  • If a parameter is provided, filter the list by the given parameter.

  • To get a submission data of a specific submission, submission ID must be provided as a parameter.

Request URL

curl -X GET "https://rest-api.argoskyc.com/v2/submission?submission_id={submission_id}"\
-H "x-api-key: {yourAPIKey}"

Input Data

Output Data

Sample Response1. Get one

{
    "Items": [
        {
            "data": {
                "name": "Jhon Smith",
                "gender": "male",
                "nationality": "USA",
                "date_of_birth": "1998-11-12",
                "cf1": "test",
                "ip_address": "*.*.*.*",
                "idcard_issuingCountry": "USA",
                "idcard_issueDate": "2016-08-16",
                "idType": "government_id",
                "identityNumber": "981112-1******"
            },
            "email": "test@gmail.com",
            "submission_id": "gt7rcxx9l1o*****",
            "created_at": "2022-04-07T00:30:35.919Z",
            "userid": "test1",
            "kyc": {
                "result": "rejected",
                "comment": [
                    "Too many retry "
                ],
	              "commentCode": [
                    "too_many_retry"
                ],
                "attempts": [
                {
                    "attemptCnt": 1,
                    "livenessScore": 91,
                    "faceSimilarityScore": 99,
                    },
                {
                    "attemptCnt": 2,
                    "livenessScore": 98,
                     "retryMsg": "1. Face compare failed: no matching face"
                },
                {
                 "attemptCnt": 3,
                    "faceSimilarityScore": 99,
                     "retryMsg": "1. Liveness check failed: Absolute face size is too small"
                }
            ],
            }
        }
    ]
}

Sample Response 2. Get List

{ 
Items: [ 
{ 
data: { 
name: "John Smith", 
gender: "male", 
nationality: "USA", 
date_of_birth: "1965-08-29", 
cf1: "test", 
ip_address: "XX.XX.XXX.XXX" 
}, 
email: "example@gmail.com", 
submission_id: "whkksdfyi1on0e", 
created_at: "2022-01-17T02:05:02.309Z", 
userid: "John Smith", 
kyc: { 
result: "approved" 
} 
}, 
{ 
data: { 
name: "Smith John", 
gender: "male", 
nationality: "USA", 
date_of_birth: "1965-08-29", 
cf1: "test", 
ip_address: "XX.XX.XXX.XXX" 
}, 
email: "example@gmail.com", 
submission_id: "whksdkyi1i76x", 
created_at: "2022-01-17T02:00:02.808Z", 
userid: "John ", 
kyc: { result: "incomplete" 
} 
}

3-1. GET /submission/applicant

Get a list of approved submissions submitted by the same person.

  • If there are multiple submissions from people with the same name, date of birth, nationality, gender, and face, it is judged as a duplicate submission, and you can check the duplicate submissions.

  • For a typical applicant that doesn't have duplicate submissions, only a single approved submission is pulled..

  • Since the search is based on applicant_id, applicant_id must be obtained from submission information..

Request URL

curl -X GET "<https://rest-api.argoskyc.com/v2/submission/applicant?applicant_id={applicant_id}>"\\
-H "x-api-key: {yourAPIKey}"

Input data

Output data

4. POST /submission/step1

Request URL

curl -X POST "https://rest-api.argoskyc.com/v2/submission/step1" \
-H "x-api-key: {yourAPIKey}" \
--form .

Input data

Output Data

Sample Response

{"reviewOCRData":
	{
	 	"ocr_issueDate":"2020-02-25",
		"ocr_gender":"male",
	 	"ocr_nationality":"USA",
	 	"ocr_birthDate":"1975-08-25",
		"ocr_name":"John Smith"
	},
	 "file_upload":true,
	 "submissionId":"1cz94l9ksfi1bokk"
	}

5. POST /submission/step2

Request URL

curl -X POST "https://rest-api.argoskyc.com/v2/submission/step2" \
-H "x-api-key: {yourAPIKey}" \
-form ...

Input data

Output Data

Notice kycStatus is "incomplete" and retryCount is increased in case of following:

  1. No face detected in the face image

  2. More than two faces detected in the face image

  3. Face compare score is below 85

  4. Liveness fraud check score is below 50

  5. (Korean Only) ID verification fails

Sample Response

{

"verificationResult":"success",

"faceSimilarityScore":99,

"livenessScore":91,

"kycStatus":"pending",

"retryCount":0

}

5-1. POST /address_code

Only available to the projects with address 'collection' option.

Request URL

curl -X POST "https://rest-api.argoskyc.com/v2/address_code" \
-H "x-api-key: {yourAPIKey}" \

Sample Request 1

var request = require('request');
var options = {
  'method': 'POST',
  'url': 'https://rest-api.argoskyc.com/v2/address_code',
  'headers': {
    'x-api-key': 'YOUR_API_KEY',
    'Content-Type': 'application/x-www-form-urlencoded'
  },
  form: {
    'address': '1600 Pennsylvania Avenue NW, Washington, DC 20500, USA'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Sample Request 2

curl --location --request POST 'https://rest-api.argoskyc.com/v2/address_code' \
--header 'x-api-key: YOUR_API_KEY' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'language=en' \
--data-urlencode 'address= 1600 Pennsylvania Avenue NW, Washington, DC 20500, USA'

Sample Response

{
    "formatted_address": "1600 Pennsylvania Avenue NW, Washington, DC 20500, USA",
    "compound_code": "VXX7+39 Washington, DC, USA",
    "global_code": "87C4VXX7+39"
}

Input Data

Output Data

6. DELETE /submission

Delete a single submission data.

It will completely delete the submission data and the image files associated with the submission.

Caution!! Deleted submission cannot be restored.

Sample Request

curl -X DELETE "https://rest-api.argoskyc.com/v2/submission?submission_id={submission_id}"

Input Data

Sample Response

{
	"message": "success",
	"content": "Submission #{submissionID} deleted successfully."
}

7. GET /report/aml

Returns an application/pdf report of AML screening result.

AML report is provided for each 'resourceId'. 'resourceId' is required to download AML report.

Request URL

curl -X GET "https://rest-api.argoskyc.com/v2/report/aml?resourceId={resourceId}"

Input Data

Output Data

As a response, application/pdf file format of the report is downloaded.

8. GET /image

Request URL

curl -X GET "https://rest-api.argoskyc.com/v2/image?submission_id={submission_id}&type={type}"

Input Data

Output Data

As a response, document file is downloaded.

Last updated