For the complete documentation index, see llms.txt. This page is also available as Markdown.

Singpass

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

Verify

post

Verify

Authorizations
x-client-idstringRequired

Client ID in x-client-id header.

x-client-secretstringRequired

Client Secret in x-client-secret header.

Body
redirectstringRequired

Redirect URI after user authorization.

Browser: HTTPS URL to your website.

iOS: HTTPS Universal link

Android: Package name (com.filleasy.app)

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
tokenstringRequired

JWT token for polling

urlstringOptional

Singpass verification URL

qrUrlstringOptional

QR code data URL

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

Client ID in x-client-id header.

x-client-secretstringRequired

Client Secret in x-client-secret header.

Body
attributesstring[]Required

attributes to be requested from user

redirectstringRequired

Redirect URI after user authorization.

Browser: HTTPS URL to your website.

iOS: HTTPS Universal link

Android: Package name (com.filleasy.app)

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

Success

application/json
tokenstringOptional
urlstringOptional
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

Client ID in x-client-id header.

x-client-secretstringRequired

Client Secret in x-client-secret header.

Body
attributesstring[]Optional

attributes to be requested from user

redirectstringOptional

Redirect URI after user authorization.

Browser: HTTPS URL to your website.

iOS: HTTPS Universal link

Android: Package name (com.filleasy.app)

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

Success

application/json
urlstringOptional
tokenstringOptional
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"
}
200

Success

{
  "url": "text",
  "token": "text"
}

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.

Query parameters
client_idstringRequired
code_challengestringRequired
scopestringRequired

Space-separated scopes forwarded to /auth.

redirect_uristringRequired

Callback URL forwarded to /auth. Passed through without re-encoding.

Responses
302

Redirect to Singpass authorization

No content

get/sgid/redirect
GET /sgid/redirect?client_id=text&code_challenge=text&scope=text&redirect_uri=text HTTP/1.1
Host: sandbox.staging-api.fill-easy.com
Accept: */*
302

Redirect to Singpass authorization

No content

MyInfo Callback

get

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

Query parameters
codestringOptional
statestringOptional
errorstringOptional
error_descriptionstringOptional
issstringOptional

RFC 9207 issuer identifier (FAPI 2.0). Validated against the configured Singpass issuer.

Responses
302

Redirect to client application

No content

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

Redirect to client application

No content

Biz Callback

get

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

Responses
302

Redirect to client application

No content

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

Redirect to client application

No content

Verify Callback

get

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

Responses
302

Redirect to client application

No content

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

Redirect to client application

No content

jwks.json

get
Responses
200

JWK Set

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

JWK Set

{
  "keys": [
    {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    }
  ]
}

Poll Data

post

That endpoint is used to obtain the requested data.

Authorizations
x-client-idstringRequired

Client ID in x-client-id header.

x-client-secretstringRequired

Client Secret in x-client-secret header.

Body
tokenstringRequired

The token received on the first request.

Example: 2dmR0VVufvic0vrVIluVBVi1EXtkCwIZ331as0Em
Responses
200

OK - Data successfully retrieved

application/json
messagestringOptional

Status message

urlstringOptional

URL that should be shown to the user (usually as a QR code)

tokenstringOptional

Used to poll requested data

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