Singpass

Singapore's eID https://www.singpass.gov.sg/main/

Verify

post

Verify

Authorizations
x-client-idstringRequired

API Key authentication using x-client-id and x-client-secret headers.

x-client-secretstringRequired

The client secret used for API key authentication.

Body
redirectstringRequired

Redirect URI after user authorization.

Browser: https URL to your website.

Mobile: Universal link (your-app://) or app scheme.

Example: https://www.yourwebsite.com/callback
typestring · enumOptional

QR code type

Possible values:
startinteger · int64Optional

Start timestamp in milliseconds (must be >= current time)

endinteger · int64Optional

End timestamp in milliseconds (must be > start time)

durationinteger · min: 1Optional

Duration in milliseconds (positive integer)

responseFormatstring · enumOptional

Format of the response (url, qr, or both)

Default: bothPossible values:
Responses
200

Success

application/json
post
/sgid/request/qr
POST /sgid/request/qr HTTP/1.1
Host: sandbox.staging-api.fill-easy.com
x-client-id: YOUR_API_KEY
x-client-secret: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 74

{
  "redirect": "https://google.com",
  "type": "dynamic",
  "responseFormat": "both"
}
{
  "token": "text",
  "url": "text",
  "qrUrl": "text"
}

MyInfo

post

MyInfo enables relying party to retrieve personal details.

Authorizations
x-client-idstringRequired

API Key authentication using x-client-id and x-client-secret headers.

x-client-secretstringRequired

The client secret used for API key authentication.

Body
attributesstring[]Required

attributes to be requested from user

redirectstringRequired

Redirect URI after user authorization.

Browser: https URL to your website.

Mobile: Universal link (your-app://) or app scheme.

Example: https://www.yourwebsite.com/callback
Responses
200

Success

application/json
post
/sgid/request/auth
POST /sgid/request/auth HTTP/1.1
Host: sandbox.staging-api.fill-easy.com
x-client-id: YOUR_API_KEY
x-client-secret: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 66

{
  "attributes": [
    "openid",
    "uinfin"
  ],
  "redirect": "https://google.com"
}
{
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZXJ2aWNlIjoiTXlpbmZvIiwiaWRlbnRpZmllciI6InpYbWpubTRsMXVMYmVjbF83MkFJd003ZDVLUDMydXhjLWdjMDZkcWstYmsiLCJsYXN0TW9kaWZpZWRUaW1lIjoxNzUzODQ1ODg5MTI1LCJpYXQiOjE3NTM4NDU4ODl9.XA06zmB0rigt0cjqb4hmYmZuU4DiV85eEch7VuLRixU",
  "url": "https://staging.fill-easy.com/canary/sgid/redirect?client_id=tizjwARibgcXmjdcP6Q6nWG5lSQoLow0&scope=uinfin%20name%20mobileno%20email%20dob%20residentialstatus%20nationality%20occupation%20regadd%20sex%20openid&code_challenge=zXmjnm4l1uLbecl_72AIwM7d5KP32uxc-gc06dqk-bk&redirect_uri=https://staging.fill-easy.com/canary/sgid/callback/person"
}

MyInfo Business

post

enables business-to-business use case for retrieval of corporate data and applicant's personal data.

Authorizations
x-client-idstringRequired

API Key authentication using x-client-id and x-client-secret headers.

x-client-secretstringRequired

The client secret used for API key authentication.

Body
attributesstring[]Optional

attributes to be requested from user

redirectstringOptional

Redirect URI after user authorization.

Browser: https URL to your website.

Mobile: Universal link (your-app://) or app scheme.

Example: https://www.yourwebsite.com/callback
Responses
200Success

No content

post
/sgid/request/auth-biz
POST /sgid/request/auth-biz HTTP/1.1
Host: sandbox.staging-api.fill-easy.com
x-client-id: YOUR_API_KEY
x-client-secret: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 104

{
  "attributes": [
    "name",
    "basic-profile",
    "financials",
    "uinfin",
    "capitals"
  ],
  "redirect": "https://google.com"
}
200Success

No content

MyInfo Redirect

get

This is the URL that /sgid/request/auth returns. It stores a cookie on the user's browser and redirects to Singpass authorization site.

Responses
200Success

No content

get
/sgid/redirect
GET /sgid/redirect HTTP/1.1
Host: sandbox.staging-api.fill-easy.com
Accept: */*
200Success

No content

MyInfo Callback

get

This is the callback URL that Singpass redirects to after user authorizes the data request.

Responses
200Success

No content

get
/sgid/callback/person
GET /sgid/callback/person HTTP/1.1
Host: sandbox.staging-api.fill-easy.com
Accept: */*
200Success

No content

Biz Callback

get

This is the callback URL that Singpass redirects to after user authorizes the data request.

Responses
200Success

No content

get
/sgid/callback/person-biz
GET /sgid/callback/person-biz HTTP/1.1
Host: sandbox.staging-api.fill-easy.com
Accept: */*
200Success

No content

Verify Callback

get

This is the callback URL that Singpass redirects to after user authorizes the data request.

Responses
200Success

No content

get
/sgid/callback/verify
GET /sgid/callback/verify HTTP/1.1
Host: sandbox.staging-api.fill-easy.com
Accept: */*
200Success

No content

jwks.json

get
Responses
200Success

No content

get
/sgid/jwks.json
GET /sgid/jwks.json HTTP/1.1
Host: sandbox.staging-api.fill-easy.com
Accept: */*
200Success

No content

Poll Data

post

That endpoint is used to obtain the requested data.

Authorizations
x-client-idstringRequired

API Key authentication using x-client-id and x-client-secret headers.

x-client-secretstringRequired

The client secret used for API key authentication.

Body
tokenstringRequired

The token received on the first request.

Example: 2dmR0VVufvic0vrVIluVBVi1EXtkCwIZ331as0Em
Responses
200

OK - Data successfully retrieved

application/json
post
/sgid/callback/client
POST /sgid/callback/client HTTP/1.1
Host: sandbox.staging-api.fill-easy.com
x-client-id: YOUR_API_KEY
x-client-secret: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 52

{
  "token": "2dmR0VVufvic0vrVIluVBVi1EXtkCwIZ331as0Em"
}
{
  "message": "Success",
  "token": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiRUNESC1FUytBMjU2S1ciLCJraWQiOiJhd2htd2lpSFZtWHlDbVQ0STNTbHNGMFlaR3hQaTdZNlpZN2k3MWFKT29VIiwiZXBrIjp7Imt0eSI6IkVDIiwiY3J2IjoiUC0yNTYiLCJ4IjoiUG1hdnNVbm1PWm5VZ1hPbVp0NFFaZlhzV29aYzNCSWZwc1k2cEZvdlNVayIsInkiOiJSOWJsWHgyRWRhc0ZRZS1jdmNIZjRLRlVtNHdENnU1dWtLT0ZCQWNxbFBjIn19.GUSFK_egIc_vQFFmNU-D8MeRHvTusZimikIgQ1Ya1aTXBgQuL_2yag.vI1LENahMwXvoMWixrENnQ.vyrQ0uRek_3fcKiAEtbW1sXnGKtmOPBfs7As1SbSpiP6PhrzsKjcrAc-EvVYTjnm_FAQkVQLTgPnue9iF91D8BHKeDdTJGBrBSRJnhmwPDqnAyr-8cMCNCLz1nc_BbY4sbCUd5nookypqYAIF_PjZwKF1hmSZK2xObQhevBVC-A--cAFmRMcOx82wYgSFbMOQbJrlEcc_V0VOGvMm5bgXsjwcmCbPVNSi9Y06vo3lMcwVHuvphV8nPx78V1nOx96VLFyVihLAVE3lfBNBFA97lEU75ICox67yQPrmN8KXnfB1QiWZL2pTM3VvNBgDSa0ik68IBCTaNtFL4XYxxW8-K3SIuUdrHjmNjJ75Bkw_N1WFHZpfTHnuRuqlMGyxe7Mcmozrm6q87lKBqZzEdtRhY8GLbs4SdWaLk0l4qbOSKmll-DoD1wqOGcFRg2Q-t5RbKUOUg3BI0-8WP5i-NKjPQ.9LGHH6HcuS9UAZ_Npk70fw"
}

Last updated