# 5. The Userinfo Request

{% hint style="info" %}
This step is applicable only to Myinfo (v5) apps.
{% endhint %}

The final step in the Singpass authentication flow is the userinfo request. This involves making a GET request to our `userinfo_endpoint` (as defined in our [OpenID configuration](/docs/technical-specifications/technical-concepts/openid-connect-discovery.md)) to retrieve user information. To do this, you will need an access token (obtained from a successful token request)

The endpoint will only return information based on the scopes that you have requested when making the authorization request.

## Request

Just like the authorization request and token request, you will need to include the [DPoP header](/docs/technical-specifications/technical-concepts/demonstrating-proof-of-possession-dpop.md) when making the `/userinfo` request. You will also need to include your access token in the `Authorization` header. The access token should be prefixed with `DPoP` , as shown in the sample request below.

No query parameters are required for this request.

<details>

<summary>Sample request</summary>

{% code overflow="wrap" %}

```http
GET /userinfo HTTP/1.1
Host: id.singpass.gov.sg
Authorization: DPoP eyJ0eXAiOiJhdCtqd3QiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJodHRwczovL2F1dGguZXhhbXBsZS5jb20iLCJzdWIiOiJ1c2VyLWphbmUtZG9lIiwiYXVkIjoiaHR0cHM6Ly9hcGkuZXhhbXBsZS5jb20vZGF0YSIsImV4cCI6MTc1NjczMDM4MCwiaWF0IjoxNzI1MTk0MzgwLCJqdGkiOiJ0eC0xMjMtYWJjIiwiY25mIjp7ImprdCI6Ik93SWlGaVl2T0NXRkpiV1hlbUdUZzRtU1NYQkNwZk9NaFhRV21XOTBVSEEifX0.dGhpcy1pcy1hLXBsYWNlaG9sZGVyLXNpZ25hdHVyZS1hcy1pdC1yZXF1aXJlcy1hLXByaXZhdGUta2V5
DPoP: eyJhbGciOiJFUzI1NiIsInR5cCI6ImRwb3Arand0IiwiandrIjp7Imt0eSI6IkVDIiwiY3J2IjoiUC0yNTYiLCJ4IjoiQXNWakh4elZ4MURaNnNKcEpzUnM2ek5YYXFmcFR3UmNfcXV0bWw0aEFJQSIsInkiOiI0SkhwVVZDRE5DaXhOTW9OclIzSElodFRzTWNfMF9NcmdpMzJxR3VoUkQ4In19.eyJqdGkiOiIyZmM3Y2Q4ZC0xN2IzLTRlYTUtYTg4ZC1lZWM0NTY5M2JhZDQiLCJodG0iOiJHRVQiLCJodHUiOiJodHRwczovL2lkLnNpbmdwYXNzLmdvdi5zZy91c2VyaW5mbyIsImlhdCI6MTc1NjcwODI0N30.wBYjFQRzY2o5aG82LjR1X8qT9bZ-jK3c7hI5fE0gP9vR_7sU6tW5xV4yZ3aB2cE1dF0eG9hI8jJ7kL6mN5oP4qR
```

{% endcode %}

</details>

## Response

### Successful Response

The response body of a successful response will contain a JSON Web Signature (JWS), which is also encrypted via JSON Web Encryption (JWE), represented in compact seralization form. This is the same encryption and signature scheme that was used in our ID token encryption, so you can decrypt and verify the response in exactly the same manner.

The decrypted (and decoded) response is a JSON object with the following fields:

<table><thead><tr><th width="157.6640625">Field</th><th>Description</th><th>Data Type</th></tr></thead><tbody><tr><td><code>person_info</code></td><td>The personal data of the user. The information returned in this field depends on the scopes that were requested in your authorization request.</td><td>A JSON object that follows the <a href="https://public.cloud.myinfo.gov.sg/myinfo/api/myinfo-kyc-v4.0.html#operation/getperson">Myinfo Get Person response</a>. You can also download the OpenAPI specifications for this property below.</td></tr><tr><td><code>iss</code></td><td>The issuer identifier of our authorization server. This is identical to the <code>iss</code> returned in the ID token.</td><td>String</td></tr><tr><td><code>iat</code></td><td>The unix timestamp at which we issued this JWT.</td><td>String</td></tr><tr><td><code>sub</code></td><td>The principal that is the subject of the JWT. Contains a globally unique identifier for the user. This is identical to the <code>sub</code> returned in the ID token.</td><td>String</td></tr><tr><td><code>aud</code></td><td>The client ID of your registered client, provided by Singpass during app onboarding.</td><td>A 32-character case-sensitive alphanumeric string.</td></tr></tbody></table>

The specifications for the `person_info` property is also available in [OpenAPI format](#person-information-openapi-specification)

The examples below show how the response would look like if `openid uinfin name` were the requested scopes.

<details>

<summary>Sample encrypted response (this is a JWE)</summary>

<pre data-overflow="wrap"><code><strong>eyJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiRUNESC1FUytBMjU2S1ciLCJraWQiOiJ0ZXN0LXJwLWtleS0wMSIsImVwayI6eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2IiwieCI6Ik1RVTBWRnlfUWFUYktzTmJrVTdMZkFnUjJ2Y1FQYW94UzBXM2RLRm9yOU0iLCJ5IjoibkdRam5PRlZ4emdzRERjMUJqQ3otZi1KeUY4VC14WW0xQVp4NjFtZWVCOCJ9fQ.gDvjBmkLqQ42hbNM2ULPwaskGPBlLvslPAqr0XcN2a-OYqOHXKfwvoUUOuoibTfzg_l8rr-WalvY8FY_a8yfHOaL2GLt6ZWj.O_tgtrTbPRbL_p0Y2rvnCQ.38npNWj1nL1AQxS2A3JrxokxHms6GPYT2OFhaFghI7N0QkR48gPuUvKi-m7wPbESTYA-9O-bSHEX9fUXD4FtlztrhjRTpGmdfppooVMn9_bHcLLyHbHnS3_yW5JaybqHNfD6zXCB1pw24vvHfGmRJ7C86CeBgosuYslMk7y7m_rIT6YhVnotN_kRBOppVW9eC3g0upRxXQJ3O10__pR-QcBb_eXKqwm6tcpeTEqBPl0Dbedk6DDoq6KSRV5LzyFLMutAjInQpKGdWYa7FCgfHL3FWNfcwyPq27s3d14ArZJVkIJsOW_VTI_lrnSBzCcdJpbGj9wPe0e2SfslliZlSxYTTpECyV5AZZgwxz0pMaE85Ob7KzrJjMdbZqZZC53HnZmq6pS8RiUce4950IwvsfF0xDUDaZuMxKnISoPcuUX2jHr8FG0SytO8Pr6m3DyOYbQnSkUFdjCRSHiKRqDxlqM15hSkle3jtd9qf-EzuGeHNqaJCjD7XWeviwJgD70fUZDM8lDvCp5mTfl0pcy7mlGEWjVmfR3MB1ohGwkZLeq3H_KrCyhn_FJ-DRPiE4oIaO8oSsFOhRocND4RDlliOIRK_B1XRmw1YpJFBRpn04N2ytnJrxCJ4cZeTEa4QCYkKaJHPqWkN_qvdgxywkwELLB5Tb1sgdKcq3Kh77uHWl7AfZF9iE1L-kgg4hT5KaJSp4qEYz-nbb4TqmrsnZiPbjnzSFrOGZ778OpDWnXhbb5VcXk9ZjejEdBtoqnIJ_vubEWTw-ZeMI4fCmNuiZ4HnY130VKfnU2f19GSNYaeL7GX7bVQWVS_H01mbll6_GUe.g7la6rSFevvuUrEoqVb41SQB1dk4JuTkrl8zwE0fzG4
</strong></code></pre>

</details>

<details>

<summary>Sample decrypted response (this is a JWS)</summary>

{% code overflow="wrap" %}

```
eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImFsaWFzL3N0Zy1zcC1hdXRoLWFwaS1pZC10b2tlbi1zaWduaW5nLWtleS1rbXMtYXN5bW1ldHJpYy1rZXktYWxpYXMifQ.eyJwZXJzb25faW5mbyI6eyJ1aW5maW4iOnsibGFzdHVwZGF0ZWQiOiIyMDI0LTA5LTI2Iiwic291cmNlIjoiMSIsImNsYXNzaWZpY2F0aW9uIjoiQyIsInZhbHVlIjoiUzkwMDAwMDFCIn0sIm5hbWUiOnsibGFzdHVwZGF0ZWQiOiIyMDI0LTA5LTI2Iiwic291cmNlIjoiMSIsImNsYXNzaWZpY2F0aW9uIjoiQyIsInZhbHVlIjoiU09IIEhBTyBGRU5HIn19LCJpc3MiOiJodHRwczovL2lkLnNpbmdwYXNzLmdvdi5zZy9mYXBpIiwic3ViIjoiZDQ1ZDhmMjEtNjE3OC00NzEzLWI5NjItODYzNWVkMmE5NDVhIiwiYXVkIjoiVDVzTTVhNTNZYXczVVJ5REV2Mnk5MTI5Q2JFbENOMkYiLCJpYXQiOjE3NDY2NzgwODl9.Tmvh5V_BN0fMBgqa2-Z4vG_Ayp_OoeWfyQrWMZjG9y9NBFwyRnjMpwDK_qFzkn_0D7AjOX-np6p3Nk5KFwvKiA
```

{% endcode %}

</details>

<details>

<summary>Sample decoded response payload</summary>

```json
{
  "person_info": {
    "uinfin": {
      "lastupdated": "2024-09-26",
      "source": "1",
      "classification": "C",
      "value": "S9000001B"
    },
    "name": {
      "lastupdated": "2024-09-26",
      "source": "1",
      "classification": "C",
      "value": "SOH HAO FENG"
    }
  },
  // above scopes are returned in the same format as the Myinfo Get Person response
  "iss": "https://id.singpass.gov.sg/fapi",
  "sub": "d45d8f21-6178-4713-b962-8635ed2a945a",
  "aud": "T5sM5a53Yaw3URyDEv2y9129CbElCN2F",
  "iat": 1746678089
}
```

</details>

### Person Information OpenAPI Specification

This OpenAPI YAML file provides the full technical specification for Myinfo person data fields and scopes. It helps developers understand what information can be retrieved from Myinfo and how each field is structured.

The specification includes:

* Available Myinfo data scopes and attributes
* Field names and descriptions
* Value types (e.g. string, number, array, object)
* Maximum field lengths and formatting requirements
* Accepted values and validation rules
* Example API responses
* Government verification indicators
* Display and implementation guidance

Developers may refer to this specification to understand:

* What are the value types and maximum lengths for each field
* What information is returned for each Myinfo scope
* How nested objects and arrays are structured
* Which fields are editable or government-verified
* The expected response format for Myinfo APIs

This serves as the technical reference for applications integrating with Myinfo APIs. &#x20;

{% file src="/files/cumoAT9e1SwhWGI7zF9S" %}

## The Person object

```json
{"openapi":"3.1.0","info":{"title":"person_info from userinfo API","version":"1.0.0"},"components":{"schemas":{"Person":{"type":"object","description":"Person details","additionalProperties":false,"properties":{"academicqualifications":{"description":"Academic qualifications achieved.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"certificates":{"description":"Electronic certificates uploaded.","items":{"additionalProperties":false,"properties":{"content":{"properties":{"value":{"type":"string"}},"type":"object","description":"File content of the electronic certificate, Base64 encoded."},"name":{"properties":{"value":{"type":"string"}},"type":"object","description":"File name of the electronic certificate."},"opencertificate":{"properties":{"id":{"properties":{"value":{"type":"string"}},"type":"object"},"primary":{"properties":{"value":{"type":"boolean"}},"type":"object"}},"type":"object","description":"Open Certificate Information.\n\nNote: The test environment for OpenCert is at https://dev.opencerts.io/\nwhile production is at https://opencerts.io/"},"opencertificateindicator":{"properties":{"value":{"type":"boolean"}},"type":"object","description":"Indicate whether this file is open certificate."}},"type":"object"},"type":["array","null"]},"transcripts":{"description":"Transcript of qualification.","items":{"properties":{"explanatorynotes":{"description":"Explanatory Notes. For an example, see https://public.cloud.myinfo.gov.sg/myinfo/spm/seab-explanatory-notes/SEAB_Cert_A.html","properties":{"value":{"type":"string"}},"type":"object"},"name":{"description":"Qualification's Name.","properties":{"value":{"type":"string"}},"type":"object"},"results":{"description":"Array of results for the qualification.","items":{"properties":{"grade":{"description":"Grade attained.","properties":{"value":{"type":"string"}},"type":"object"},"level":{"description":"Level of subject taken.","properties":{"value":{"type":"string"}},"type":"object"},"subgrade":{"description":"Optional grade attained for subSubject.","properties":{"value":{"type":"string"}},"type":"object"},"subject":{"description":"Subject taken.","properties":{"value":{"type":"string"}},"type":"object"},"subsubject":{"description":"Optional Sub Subject taken.","properties":{"value":{"type":"string"}},"type":"object"}},"title":"SSGResult","type":"object"},"type":"array"},"yearattained":{"description":"Year this qualification was attained. See \"date-fullyear\" in https://datatracker.ietf.org/doc/html/rfc3339#section-5.6","properties":{"value":{"pattern":"[0-9]{4}","type":"string"}},"type":"object"}},"type":"object"},"type":["array","null"]}}}]},"aliasname":{"description":"Alias name of the Person","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"value":{"maxLength":66,"type":"string"}}}]},"birthcountry":{"description":"Country/Place of Birth of Person.\n\nRefer to the Code reference tables in the Support section for list of possible values.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"code":{"maxLength":2,"pattern":"^(?:[A-Za-z]{2})?$","type":"string"},"desc":{"maxLength":300,"type":"string"}}}]},"chas":{"description":"Community Health Assist Scheme (CHAS) card details - Card Type, Date of Issue, Date of Expiry","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"cardtype":{"properties":{"code":{"enum":["A","B","C","NA"],"type":"string"},"desc":{"type":"string"}},"type":"object","description":"CHAS Card Type."},"expirydate":{"properties":{"value":{"format":"date","maxLength":10,"type":"string"}},"type":"object","description":"CHAS Expiry Date. Value of data field in YYYY-MM-DD format.\nSee \"full-date\" in https://datatracker.ietf.org/doc/html/rfc3339#section-5.6"},"indicator":{"properties":{"code":{"enum":["PGA","PGB","PGC","MGA","MGB","MGC","PG","MG","A","B","C","NA"],"type":"string"},"desc":{"type":"string"}},"type":"object","description":"CHAS Indicator."},"issuedate":{"properties":{"value":{"format":"date","maxLength":10,"type":"string"}},"type":"object","description":"CHAS Issue Date. Value of data field in YYYY-MM-DD format.\nSee \"full-date\" in https://datatracker.ietf.org/doc/html/rfc3339#section-5.6"},"name":{"properties":{"value":{"maxLength":66,"type":"string"}},"type":"object","description":"Full Name of the Person."}}}]},"childrenbirthrecords":{"description":"This refers to only local registered birth records (based on ICA’s electronic Birth Certificate Records from 1985 onwards).\nThis includes adoption of locally registered child.\nFor child below 21, the child’s Birth Cert No, Name, Sex, Race, Dialect, Date of Birth and Time of Birth will be shown.\nFor child above 21, only the child’s Birth Cert Number will be shown.","items":{"allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"aliasname":{"properties":{"value":{"maxLength":66,"type":"string"}},"type":"object","description":"Alias name of child.\n\nPresentation Logic - If there is a value to aliasname (i.e. not empty), then aliasname should be\ndisplayed in a new line below hanyupinyinname, and prefixed with the '@' symbol i.e. '@aliasname'."},"birthcertno":{"properties":{"value":{"maxLength":15,"type":"string"}},"type":"object","description":"Birth certificate number of child."},"dialect":{"properties":{"code":{"maxLength":2,"pattern":"^(?:[A-Za-z]{2})?$","type":"string"},"desc":{"maxLength":300,"type":"string"}},"type":"object","description":"Dialect of child.\nRefer to the Code reference tables in the Support section for list of possible values."},"dob":{"properties":{"value":{"description":"Value of data field in YYYY-MM-DD format. See \"full-date\" in https://datatracker.ietf.org/doc/html/rfc3339#section-5.6","format":"date","type":"string"}},"type":"object","description":"Date of Birth of child."},"hanyupinyinaliasname":{"properties":{"value":{"maxLength":66,"type":"string"}},"type":"object","description":"Han Yu Pin Yin Alias name of child.\n\nPresentation Logic - If there is a value to hanyupinyinaliasname (i.e. not empty), then\nhanyupinyinaliasname should be displayed in a new line below aliasname, and prefixed with\nthe '@' symbol i.e. \"@hanyupinyinaliasname\"."},"hanyupinyinname":{"properties":{"value":{"maxLength":66,"type":"string"}},"type":"object","description":"Han Yu Pin Yin name of child.\n\nPresentation Logic - If there is a value to hanyupinyinname (i.e. not empty), then hanyupinyinname\nshould be displayed in a new line below name, and formatted with round brackets\ni.e. \"(hanyupinyinname)\"."},"lifestatus":{"properties":{"code":{"enum":["A","D",""],"type":"string"},"desc":{"enum":["ALIVE","DECEASED",""],"type":"string"}},"type":"object","description":"Life Status of child. Possible values:\n\n- A - ALIVE\n- D - DECEASED"},"marriedname":{"properties":{"value":{"maxLength":66,"type":"string"}},"type":"object","description":"Married name of child.\n\nPresentation Logic - If there is a value to marriedname (i.e. not empty),\nthen marriedname should be displayed in a new line below hanyupinyinaliasname."},"name":{"properties":{"value":{"maxLength":66,"type":"string"}},"type":"object","description":"Full Name of child."},"race":{"properties":{"code":{"maxLength":2,"pattern":"^(?:[A-Za-z]{2})?$","type":"string"},"desc":{"maxLength":300,"type":"string"}},"type":"object","description":"Race of child.\nRefer to the Code reference tables in the Support section for list of possible values."},"secondaryrace":{"properties":{"code":{"maxLength":2,"pattern":"^(?:[A-Za-z]{2})?$","type":"string"},"desc":{"maxLength":300,"type":"string"}},"type":"object","description":"Secondary Race of child.\nRefer to the Code reference tables in the Support section for list of possible values."},"sex":{"properties":{"code":{"description":"The 1-character code for the sex.\n\n- 'F': FEMALE\n- 'M': MALE\n- 'U': UNKNOWN\n- '': No Data Yet","enum":["F","M","U",""],"maxLength":1,"type":"string"},"desc":{"description":"The full description of the sex.","enum":["FEMALE","MALE","UNKNOWN",""],"type":"string"}},"type":"object","description":"Sex of child."},"sgcitizenatbirthind":{"properties":{"value":{"enum":["Y","N",""],"type":"string"}},"type":"object","description":"Indicates whether the child is a Singapore Citizen at the time of birth. Possible values:\n\n- Y - YES\n- N - NO\n- < BLANK > - Not applicable"},"tob":{"properties":{"value":{"description":"Format: HHMM","maxLength":4,"type":"string"}},"type":"object","description":"Time of Birth of child."},"vaccinationrequirements":{"items":{"additionalProperties":false,"properties":{"fulfilled":{"properties":{"value":{"type":"boolean"}},"type":"object"},"requirement":{"properties":{"code":{"type":"string"},"desc":{"type":"string"}},"type":"object","description":"Vaccination Requirement.\nRefer to the Code reference tables in the Support section for list of possible values."}},"type":"object"},"type":["array","null"]}}}]}},"countryofmarriage":{"description":"Country/Place of the latest marriage.\nNote: This field must be made editable on your digital service form even though\nsource is '1' (Government Verified).","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"code":{"description":"The 2-character country code.","maxLength":2,"type":"string"},"desc":{"description":"The full name of the country.","maxLength":300,"type":"string"}}}]},"cpfbalances":{"description":"CPF Balances of Person in SGD.","properties":{"ma":{"description":"Amount Balance in CPF-MA.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"value":{"format":"double","type":"number","description":"Value of CPF-MA balance."}}}]},"oa":{"description":"Amount Balance in CPF-OA.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"value":{"format":"double","type":"number","description":"Value of CPF-OA balance."}}}]},"ra":{"description":"Amount Balance in CPF-RA.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"value":{"format":"double","type":"number","description":"Value of CPF-RA balance."}}}]},"sa":{"description":"Amount Balance in CPF-SA.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"value":{"format":"double","type":"number","description":"Value of CPF-SA balance."}}}]}},"type":"object"},"cpfcontributions":{"description":"Employer CPF Contributions of Person in SGD. Does not include any non-employer contributions. Maximum past 15 months' of contributions.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"history":{"items":{"properties":{"amount":{"description":"Amount of contribution in SGD.","properties":{"value":{"format":"double","type":"number"}},"type":"object"},"date":{"description":"Date of Contribution Paid. See \"full-date\" in https://datatracker.ietf.org/doc/html/rfc3339#section-5.6","properties":{"value":{"format":"date","type":"string"}},"type":"object"},"employer":{"description":"Employer who paid the Contribution.","properties":{"value":{"maxLength":100,"type":"string"}},"type":"object"},"month":{"description":"Month for which CPF Contribution was paid. Format: YYYY-MM","properties":{"value":{"maxLength":7,"type":"string"}},"type":"object"}},"title":"ContributionsHistory","type":"object"},"type":"array"}}}]},"cpfemployers":{"description":"Employers who paid CPF Contributions. Maximum up to past 14 months.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"history":{"items":{"properties":{"employer":{"description":"Employer who paid the Contribution.","properties":{"value":{"maxLength":100,"type":"string"}},"type":"object"},"month":{"description":"Month for which CPF Contribution was paid. Format: YYYY-MM","properties":{"value":{"maxLength":7,"pattern":"^\\d{4}-\\d{2}$","type":"string"}},"type":"object"}},"title":"EmployersHistory","type":"object"},"type":"array"}}}]},"cpfhousingwithdrawal":{"description":"CPF Housing Withdrawal information.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"withdrawaldetails":{"items":{"properties":{"accruedinterestamt":{"description":"Accrued interest amount.","properties":{"value":{"format":"double","type":"number"}},"type":"object"},"address":{"description":"Registered Address of Person (including FIN holders).\n\nNote:\n- Address can be either a Singapore address (type: 'SG') or non Singapore address (type: 'UNFORMATTED').\n- May be unavailable for some FIN holders.","anyOf":[{"properties":{"block":{"allOf":[{"properties":{"value":{"maxLength":10,"type":"string"}},"type":"object"}],"description":"Block/House of Address."},"building":{"allOf":[{"properties":{"value":{"maxLength":65,"type":"string"}},"type":"object"}],"description":"Building of Address."},"country":{"allOf":[{"properties":{"code":{"default":"SG","maxLength":2,"type":"string"},"desc":{"default":"SINGAPORE","type":"string"}},"type":"object"}],"description":"Country/Place of Address. For AddressSG this will always be 'SG'."},"floor":{"allOf":[{"properties":{"value":{"maxLength":3,"type":"string"}},"type":"object"}],"description":"Floor of Address."},"postal":{"allOf":[{"properties":{"value":{"maxLength":6,"type":"string"}},"type":"object"}],"description":"Postal Code of Address."},"street":{"allOf":[{"properties":{"value":{"maxLength":66,"type":"string"}},"type":"object"}],"description":"Street of Address."},"type":{"default":"SG","description":"Type of Address (SG or UNFORMATTED for non SG).","enum":["SG"],"type":"string"},"unit":{"allOf":[{"properties":{"value":{"maxLength":5,"type":"string"}},"type":"object"}],"description":"Unit of Address."}},"title":"SG","type":"object"},{"properties":{"line1":{"type":"object","description":"Unregistered Foreign address line 1","properties":{"value":{"type":"string","maxLength":66}}},"line2":{"type":"object","description":"Unregistered Foreign address line 2","properties":{"value":{"type":"string","maxLength":66}}},"type":{"default":"UNFORMATTED","description":"Type of Address (SG or UNFORMATTED for non SG).","enum":["UNFORMATTED"],"type":"string"}},"title":"UNFORMATTED","type":"object"}]},"monthlyinstalmentamt":{"description":"Monthly instalment amount.","properties":{"value":{"format":"double","type":"number"}},"type":"object"},"principalwithdrawalamt":{"description":"Principal withdrawal amount.","properties":{"value":{"format":"double","type":"number"}},"type":"object"},"totalamountofcpfallowedforproperty":{"description":"Total amount of CPF allowed for the property.","properties":{"value":{"format":"double","type":"number"}},"type":"object"}},"title":"WithdrawalDetails","type":"object"},"type":"array"}}}]},"cpfinvestmentscheme":{"description":"CPF Investment Scheme.","properties":{"account":{"description":"Account Details.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"agentbankcode":{"description":"Agent Bank Code.","properties":{"value":{"type":"string"}},"type":"object"},"invbankacctno":{"description":"Account Number.","properties":{"value":{"type":"string"}},"type":"object"}}}]},"saqparticipationstatus":{"description":"Self-Awareness Questionnaire (SAQ) Participation Status.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"code":{"description":"Possible values:\n- 'Y': Participated\n- 'X': Existing CPFIS participant\n- 'N': Did not participate","enum":["Y","X","N"],"type":"string"},"desc":{"type":"string"}}}]},"sdsnetshareholdingqty":{"description":"Number of Discounted Singtel Shares.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"value":{"type":"integer"}}}]}},"type":"object"},"dialect":{"description":"Dialect of Person.\n\n  Refer to the Code reference tables in the Support section for list of possible values.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"code":{"maxLength":2,"pattern":"^(?:[A-Za-z]{2})?$","type":"string"},"desc":{"maxLength":300,"type":"string"}}}]},"divorcedate":{"description":"Last Divorce Date of Person.\nNote: This field must be made editable on your digital service form even though\nsource is '1' (Government Verified).","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"value":{"description":"Value of data field in YYYY-MM-DD format. See \"full-date\" in https://datatracker.ietf.org/doc/html/rfc3339#section-5.6","format":"date","type":"string"}}}]},"dob":{"description":"Date of Birth of Person.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","required":["value"],"properties":{"value":{"description":"Value of data field. Format can be one of the below (with reference to https://datatracker.ietf.org/doc/html/rfc3339#section-5.6):\n\n- full-date (YYYY-MM-DD)\n- date-fullyear \"-\" date-month (YYYY-MM)\n- date-fullyear (YYYY)","type":"string","format":"date"}}}]},"drivinglicence":{"description":"Driving Licence details of Person.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"comstatus":{"properties":{"code":{"enum":["Y","N",""],"maxLength":1,"type":"string"},"desc":{"enum":["ELIGIBLE","NOT ELIGIBLE",""],"type":"string"}},"type":"object","description":"Status of Certificate of Merit. Possible values:\n\n- 'Y': ELIGIBLE\n- 'N': NOT ELIGIBLE\n- '': No data yet"},"disqualification":{"properties":{"enddate":{"properties":{"value":{"format":"date","maxLength":10,"type":"string"}},"type":"object","description":"End date"},"startdate":{"properties":{"value":{"format":"date","maxLength":10,"type":"string"}},"type":"object","description":"Start date"}},"type":"object","description":"Disqualification date"},"pdl":{"properties":{"classes":{"description":"Licence Classes. Includes Issue Date(e.g. 2B, 2018-01-01)","items":{"properties":{"class":{"properties":{"value":{"maxLength":3,"type":"string"}},"type":"object"},"issuedate":{"properties":{"value":{"format":"date","maxLength":10,"type":"string"}},"type":"object"}},"type":"object"},"type":["array","null"]},"expirydate":{"properties":{"value":{"format":"date","maxLength":10,"type":"string"}},"type":"object","description":"Licence Expiry Date"},"validity":{"properties":{"code":{"type":"string"},"desc":{"type":"string"}},"type":"object","description":"Validity of QDL. Possible values:\n\n- 'V': VALID\n- 'E': EXPIRED\n- 'I': INVALID\n- 'N': NOT HOLDING\n- '': No data yet"}},"type":"object","description":"Provisional Driving Licence (PDL)"},"photocardserialno":{"properties":{"value":{"maxLength":10,"type":"string"}},"type":"object","description":"Serial Number of the Photo Card"},"qdl":{"properties":{"classes":{"description":"Licence Classes. Includes Issue Date(e.g. 2B, 2018-01-01)","items":{"properties":{"class":{"properties":{"value":{"maxLength":3,"type":"string"}},"type":"object"},"issuedate":{"properties":{"value":{"format":"date","maxLength":10,"type":"string"}},"type":"object"}},"type":"object"},"type":["array","null"]},"expirydate":{"properties":{"value":{"format":"date","maxLength":10,"type":"string"}},"type":"object","description":"Licence Expiry Date"},"validity":{"properties":{"code":{"type":"string"},"desc":{"type":"string"}},"type":"object","description":"Validity of QDL. Possible values:\n\n- 'V': VALID\n- 'E': EXPIRED\n- 'I': INVALID\n- 'N': NOT HOLDING\n- '': No data yet"}},"type":"object","description":"Qualified Driving Licence (QDL)"},"revocation":{"properties":{"enddate":{"properties":{"value":{"format":"date","maxLength":10,"type":"string"}},"type":"object","description":"End date"},"startdate":{"properties":{"value":{"format":"date","maxLength":10,"type":"string"}},"type":"object","description":"Start date"}},"type":"object","description":"Revocation date"},"suspension":{"properties":{"enddate":{"properties":{"value":{"format":"date","maxLength":10,"type":"string"}},"type":"object","description":"End date"},"startdate":{"properties":{"value":{"format":"date","maxLength":10,"type":"string"}},"type":"object","description":"Start date"}},"type":"object","description":"Suspension date"},"totaldemeritpoints":{"properties":{"value":{"maxLength":2,"type":"integer"}},"type":"object","description":"Total Demerit Points"}}}]},"email":{"description":"Email Address of Person.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"value":{"maxLength":320,"type":"string"}}}]},"employment":{"description":"Name of Employer.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"value":{"maxLength":124,"type":"string"}}}]},"employmentsector":{"description":"Employment Sector of a FIN holder.\n\nNote: Only applies to a foreigner with a valid work pass.\n\nSome examples of possible values are:\n- MANUFACTURING\n- CONSTRUCTION\n- RECLAMATION\n- SERVICE\n- GRI-TECHNOLOGY\n- LANDSCAPING\n- INCINERATOR PLANT\n- MARINE SHIPYSHIPYARD\n- PROCESS\n- HARBOURCRAFT\n- DOMESTIC","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"value":{"type":"string"}}}]},"hanyupinyinaliasname":{"description":"Han Yu Pin Yin Alias name of the Person.\n\nPresentation Logic - If there is a value to hanyupinyinaliasname (i.e. not empty),\nthen hanyupinyinaliasname should be displayed in a new line below aliasname,\nand prefixed with the '@' symbol i.e. \"@hanyupinyinaliasname\".","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"value":{"maxLength":66,"type":"string"}}}]},"hanyupinyinname":{"description":"Han Yu Pin Yin name of the Person.\n\nPresentation Logic - If there is a value to hanyupinyinname (i.e. not empty),\nthen hanyupinyinname should be displayed in a new line below name, and\nformatted with round brackets i.e. \"(hanyupinyinname)\"","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"value":{"maxLength":66,"type":"string"}}}]},"hdbownership":{"description":"HDB Ownership details.","items":{"allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"address":{"description":"Address details (Singapore Format).","properties":{"block":{"allOf":[{"properties":{"value":{"maxLength":10,"type":"string"}},"type":"object"}],"description":"Block/House of Address."},"building":{"allOf":[{"properties":{"value":{"maxLength":65,"type":"string"}},"type":"object"}],"description":"Building of Address."},"country":{"allOf":[{"properties":{"code":{"default":"SG","maxLength":2,"type":"string"},"desc":{"default":"SINGAPORE","type":"string"}},"type":"object"}],"description":"Country/Place of Address. For AddressSG this will always be 'SG'."},"floor":{"allOf":[{"properties":{"value":{"maxLength":3,"type":"string"}},"type":"object"}],"description":"Floor of Address."},"postal":{"allOf":[{"properties":{"value":{"maxLength":6,"type":"string"}},"type":"object"}],"description":"Postal Code of Address."},"street":{"allOf":[{"properties":{"value":{"maxLength":66,"type":"string"}},"type":"object"}],"description":"Street of Address."},"type":{"default":"SG","description":"Type of Address (SG or UNFORMATTED for non SG).","enum":["SG"],"type":"string"},"unit":{"allOf":[{"properties":{"value":{"maxLength":5,"type":"string"}},"type":"object"}],"description":"Unit of Address."}},"title":"SG","type":"object"},"balanceloanrepayment":{"properties":{"months":{"properties":{"value":{"format":"int64","maximum":99,"type":"integer"}},"type":"object"},"years":{"properties":{"value":{"format":"int64","maximum":99,"type":"integer"}},"type":"object"}},"type":"object"},"dateofownershiptransfer":{"properties":{"value":{"description":"Value of data field in YYYY-MM-DD format. See \"full-date\" in https://datatracker.ietf.org/doc/html/rfc3339#section-5.6","format":"date","type":"string"}},"type":"object"},"dateofpurchase":{"properties":{"value":{"description":"Value of data field in YYYY-MM-DD format. See \"full-date\" in https://datatracker.ietf.org/doc/html/rfc3339#section-5.6","format":"date","type":"string"}},"type":"object"},"hdbtype":{"description":"HDB Ownership details.","type":"object","properties":{"code":{"enum":["111","112","113","114","115","116","118"],"type":"string"},"desc":{"enum":["1-ROOM FLAT (HDB)","2-ROOM FLAT (HDB)","3-ROOM FLAT (HDB)","4-ROOM FLAT (HDB)","5-ROOM FLAT (HDB)","EXECUTIVE FLAT (HDB)","STUDIO APARTMENT (HDB)"],"type":"string"}}},"leasecommencementdate":{"properties":{"value":{"description":"Value of data field in YYYY-MM-DD format. See \"full-date\" in https://datatracker.ietf.org/doc/html/rfc3339#section-5.6","format":"date","type":"string"}},"type":"object"},"loangranted":{"properties":{"value":{"format":"double","type":"number"}},"type":"object"},"monthlyloaninstalment":{"properties":{"value":{"format":"double","type":"number"}},"type":"object"},"noofowners":{"properties":{"value":{"format":"int64","maximum":9,"type":"integer"}},"type":"object"},"originalloanrepayment":{"properties":{"value":{"format":"int64","maximum":99,"type":"integer"}},"type":"object"},"outstandinginstalment":{"properties":{"value":{"format":"double","type":"number"}},"type":"object"},"outstandingloanbalance":{"properties":{"value":{"format":"double","type":"number"}},"type":"object"},"purchaseprice":{"properties":{"value":{"format":"double","type":"number"}},"type":"object"},"termoflease":{"properties":{"value":{"format":"int64","maximum":99,"type":"integer"}},"type":"object"}}}]},"type":["array","null"]},"hdbtype":{"description":"Flat Type of the HDB flat.\nNote 1: that this excludes Rental Flats, Pre-War SIT flat, PSA flat, HUDC flat,\nExecutive Condominium and Shophouse.\nNote 2: If housingtype is available, this value will be blank.\nNote 3: If housingtype & hdbtype are unavailable, make this field user editable.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"code":{"enum":["111","112","113","114","115","116","118",""],"type":"string"},"desc":{"enum":["1-ROOM FLAT (HDB)","2-ROOM FLAT (HDB)","3-ROOM FLAT (HDB)","4-ROOM FLAT (HDB)","5-ROOM FLAT (HDB)","EXECUTIVE FLAT (HDB)","STUDIO APARTMENT (HDB)",""],"type":"string"}}}]},"housingtype":{"description":"Housing Type of Person (non-HDB only).\nNote 1: If hdbtype is available, this value will be blank.\nNote 2: If housingtype & hdbtype are unavailable, make this field user editable.\nRefer to hdbtype for detailed HDB type.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"code":{"enum":["121","122","123","131","132","139",""],"type":"string"},"desc":{"enum":["DETACHED HOUSE","SEMI-DETACHED HOUSE","TERRACE HOUSE","CONDOMINIUM","EXECUTIVE CONDOMINIUM","APARTMENT",""],"type":"string"}}}]},"ltavocationallicences":{"description":"LTA vocational licence.","properties":{"bavl":{"description":"Bus Attendant's vocational licence.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","title":"LTAVocationalLicence","properties":{"expirydate":{"description":"Expiry date of the LTA Vocational Licence.","properties":{"value":{"format":"date","type":"string"}}},"licencename":{"description":"Licence Name of LTA Vocational Licence.","properties":{"value":{"type":"string"}}},"status":{"description":"Status of the LTA Vocational Licence.","properties":{"code":{"enum":["ACT","ACTIVE"],"type":"string"},"desc":{"type":"string"}}},"vocationallicencenumber":{"description":"Unique Vocational Licence Number for the licence holder.","properties":{"value":{"type":"string"}}}}}]},"bdvl":{"description":"Bus driver's vocational licence.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","title":"LTAVocationalLicence","properties":{"expirydate":{"description":"Expiry date of the LTA Vocational Licence.","properties":{"value":{"format":"date","type":"string"}},"type":"object"},"licencename":{"description":"Licence Name of LTA Vocational Licence.","properties":{"value":{"type":"string"}},"type":"object"},"status":{"description":"Status of the LTA Vocational Licence.","properties":{"code":{"enum":["ACT","ACTIVE"],"type":"string"},"desc":{"type":"string"}},"type":"object"},"vocationallicencenumber":{"description":"Unique Vocational Licence Number for the licence holder.","properties":{"value":{"type":"string"}},"type":"object"}}}]},"odvl":{"description":"Omnibus driver's vocational licence.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","title":"LTAVocationalLicence","properties":{"expirydate":{"description":"Expiry date of the LTA Vocational Licence.","properties":{"value":{"format":"date","type":"string"}},"type":"object"},"licencename":{"description":"Licence Name of LTA Vocational Licence.","properties":{"value":{"type":"string"}},"type":"object"},"status":{"description":"Status of the LTA Vocational Licence.","properties":{"code":{"enum":["ACT","ACTIVE"],"type":"string"},"desc":{"type":"string"}},"type":"object"},"vocationallicencenumber":{"description":"Unique Vocational Licence Number for the licence holder.","properties":{"value":{"type":"string"}},"type":"object"}}}]},"pdvl":{"description":"Private Hire Car driver's vocational licence.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","title":"LTAVocationalLicence","properties":{"expirydate":{"description":"Expiry date of the LTA Vocational Licence.","properties":{"value":{"format":"date","type":"string"}},"type":"object"},"licencename":{"description":"Licence Name of LTA Vocational Licence.","properties":{"value":{"type":"string"}},"type":"object"},"status":{"description":"Status of the LTA Vocational Licence.","properties":{"code":{"enum":["ACT","ACTIVE"],"type":"string"},"desc":{"type":"string"}},"type":"object"},"vocationallicencenumber":{"description":"Unique Vocational Licence Number for the licence holder.","properties":{"value":{"type":"string"}},"type":"object"}}}]},"tdvl":{"description":"Taxi driver's vocational licence.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","title":"LTAVocationalLicence","properties":{"expirydate":{"description":"Expiry date of the LTA Vocational Licence.","properties":{"value":{"format":"date","type":"string"}},"type":"object"},"licencename":{"description":"Licence Name of LTA Vocational Licence.","properties":{"value":{"type":"string"}},"type":"object"},"status":{"description":"Status of the LTA Vocational Licence.","properties":{"code":{"enum":["ACT","ACTIVE"],"type":"string"},"desc":{"type":"string"}},"type":"object"},"vocationallicencenumber":{"description":"Unique Vocational Licence Number for the licence holder.","properties":{"value":{"type":"string"}},"type":"object"}}}]}},"type":"object"},"marital":{"description":"Marital Status of Person.\nNote: This field must be made editable on your digital service form even though source\nis '1' (Government Verified).","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"code":{"description":"The code for the marital status.\n\n- '1': SINGLE\n- '2': MARRIED\n- '3': WIDOWED\n- '5': DIVORCED\n- '': No data yet","enum":["1","2","3","5",""],"type":"string"},"desc":{"description":"The full description of the marital status.","enum":["SINGLE","MARRIED","WIDOWED","DIVORCED",""],"type":"string"}}}]},"marriagecertno":{"description":"Certificate number of the latest marriage.\nNote: This field must be made editable on your digital service form even though\nsource is '1' (Government Verified).","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"value":{"description":"Value of data field.","maxLength":50,"type":"string"}}}]},"marriagedate":{"description":"Latest Marriage Date of Person.\nNote: This field must be made editable on your digital service form even\nthough source is '1' (Government Verified).","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"value":{"description":"Value of data field in YYYY-MM-DD format. See \"full-date\" in https://datatracker.ietf.org/doc/html/rfc3339#section-5.6","format":"date","type":"string"}}}]},"marriedname":{"description":"Married name of the Person.\n\nPresentation Logic - If there is a value to marriedname (i.e. not empty),\nthen marriedname should be displayed in a new line below hanyupinyinaliasname.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"value":{"maxLength":66,"type":"string"}}}]},"merdekagen":{"description":"Merdekagen details.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"eligibility":{"description":"Eligibility.","properties":{"value":{"type":"boolean"}},"type":"object"}}}]},"mobileno":{"description":"Mobile Number of Person.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"areacode":{"properties":{"value":{"default":"65","description":"Area Code of Phone Number. Default to '65'.","maxLength":3,"type":"string"}},"type":"object"},"nbr":{"properties":{"value":{"description":"Phone Number.","maxLength":12,"type":"string"}},"type":"object"},"prefix":{"properties":{"value":{"default":"+","description":"Prefix of Phone Number. Defaults to '+'.","maxLength":1,"type":"string"}},"type":"object"}}}]},"name":{"description":"Full Name of the Person.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","required":["value"],"properties":{"value":{"minLength":1,"maxLength":66,"type":"string"}}}]},"nationality":{"description":"Nationality/Citizenship of Person.\n\n  Refer to the Code reference tables in the Support section for list of possible values.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","required":["code","desc"],"properties":{"code":{"pattern":"^[A-Z]{2}$","type":"string"},"desc":{"maxLength":300,"type":"string"}}}]},"noa":{"description":"Detailed breakdown of the latest Notice of Assessment (NOA) within the past three years.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"amount":{"description":"Total Assessable Income from the latest NOA.","properties":{"value":{"format":"double","type":"number"}},"type":"object"},"category":{"description":"Type of 'Notice of Assessment' (NOA).","properties":{"value":{"enum":["ADDITIONAL","AMENDED","ORIGINAL","REPAYMENT"],"type":"string"}},"type":"object"},"employment":{"description":"Assessable Income from employment for the latest NOA.","properties":{"value":{"format":"double","type":"number"}},"type":"object"},"interest":{"description":"Assessable Income from interest for the latest NOA.","properties":{"value":{"format":"double","type":"number"}},"type":"object"},"rent":{"description":"Assessable Income from rent for the latest NOA.","properties":{"value":{"format":"double","type":"number"}},"type":"object"},"taxclearance":{"description":"Tax Clearance indicator.","properties":{"value":{"enum":["Y","N"],"maxLength":1,"type":"string"}},"type":"object"},"trade":{"description":"Assessable Income from trade for the latest NOA.","properties":{"value":{"format":"double","type":"number"}},"type":"object"},"yearofassessment":{"description":"The year of assessment (YYYY) for the latest NOA.","properties":{"value":{"maxLength":4,"pattern":"[0-9]{4}","type":"string"}},"type":"object"}}}]},"noa-basic":{"description":"Summary of latest Notice of Assessment within the past three years.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"amount":{"description":"The assessable income amount from the latest Notice of Assessment.","properties":{"value":{"format":"double","type":"number"}},"type":"object"},"yearofassessment":{"description":"The year of assessment (YYYY) for the latest Notice of Assessment.","properties":{"value":{"maxLength":4,"pattern":"[0-9]{4}","type":"string"}},"type":"object"}}}]},"noahistory":{"description":"Detailed breakdown of latest 2 Notice of Assessments within the past three years.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"noas":{"items":{"properties":{"amount":{"description":"Total Assessable Income for this historical NOA.","properties":{"value":{"format":"double","type":"number"}},"type":"object"},"category":{"description":"Type of 'Notice of Assessment' (NOA) for this historical NOA.","properties":{"value":{"enum":["ADDITIONAL","AMENDED","ORIGINAL","REPAYMENT"],"type":"string"}},"type":"object"},"employment":{"description":"Assessable Income from employment for this historical NOA.","properties":{"value":{"format":"double","type":"number"}},"type":"object"},"interest":{"description":"Assessable Income from interest for this historical NOA.","properties":{"value":{"format":"double","type":"number"}},"type":"object"},"rent":{"description":"Assessable Income from rent for this historical NOA.","properties":{"value":{"format":"double","type":"number"}},"type":"object"},"taxclearance":{"description":"Tax Clearance indicator for this historical NOA.","properties":{"value":{"enum":["Y","N"],"maxLength":1,"type":"string"}},"type":"object"},"trade":{"description":"Assessable Income from trade for this historical NOA.","properties":{"value":{"format":"double","type":"number"}},"type":"object"},"yearofassessment":{"description":"The year of assessment (YYYY) for this historical NOA.","properties":{"value":{"maxLength":4,"pattern":"[0-9]{4}","type":"string"}},"type":"object"}},"title":"NOA","type":"object"},"type":"array"}}}]},"noahistory-basic":{"description":"Summary of latest 2 Notice of Assessments within the past three years.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"noas":{"items":{"properties":{"amount":{"description":"Assessable Income for this historical NOA.","properties":{"value":{"format":"double","type":"number"}},"type":"object"},"yearofassessment":{"description":"The year of assessment (YYYY) for this historical NOA.","properties":{"value":{"maxLength":4,"pattern":"[0-9]{4}","type":"string"}},"type":"object"}},"title":"NOABasic","type":"object"},"type":"array"}}}]},"occupation":{"description":"Occupation of Person.\nFor SC/PR holders, blank will be returned.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"value":{"description":"Free text.","maxLength":100,"type":"string"}}}]},"ownerprivate":{"description":"Ownership of Private Property Status of Person (based on IRAS information).\nCan be true, false, or null (if data is not available).","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"value":{"description":"Value of data field.","type":"boolean"}}}]},"partialuinfin":{"description":"Masked Singapore issued identification number of the Person.\nOnly the last 3 digit and ending alphabet will be in clear.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"value":{"maxLength":9,"type":"string"}}}]},"passexpirydate":{"description":"Pass expiry of a foreigner.\nNote: Only applies to a foreigner with a valid pass.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"value":{"description":"Value of data field in YYYY-MM-DD format. See \"full-date\" in https://datatracker.ietf.org/doc/html/rfc3339#section-5.6","format":"date","type":"string"}}}]},"passportexpirydate":{"description":"Passport Expiry Date of Person.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"value":{"description":"Value of data field in YYYY-MM-DD format. See \"full-date\" in https://datatracker.ietf.org/doc/html/rfc3339#section-5.6","format":"date","type":"string"}}}]},"passportnumber":{"description":"Passport Number of Person.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"value":{"maxLength":25,"type":"string"}}}]},"passstatus":{"description":"Pass status of a FIN holder.\nNote: Only applies to a foreigner with a valid pass.\nNote: Currently this field is set as empty string for SG/PR and meta source set to '3'","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"value":{"description":"Value of data field.","enum":["Live","Approved",""],"type":"string"}}}]},"passtype":{"description":"Pass type of a FIN holder.\nNote: Only applies to a foreigner with a valid pass.\nRefer to the Code reference tables in the Support section for list of possible values.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"code":{"description":"Value of data field.","type":"string"},"desc":{"type":"string"}}}]},"pioneergen":{"description":"Pioneergen details.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"eligibility":{"description":"Eligibility.","properties":{"value":{"type":"boolean"}},"type":"object"}}}]},"race":{"description":"Race of Person.\n\n  Refer to the Code reference tables in the Support section for list of possible values.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","required":["code","desc"],"properties":{"code":{"pattern":"^[A-Z]{2}$","type":"string"},"desc":{"maxLength":300,"type":"string"}}}]},"regadd":{"description":"Registered Address of Person (including FIN holders).\n\nNote:\n- Address can be either a Singapore address (type: 'SG'), non Singapore address (type: 'UNFORMATTED') or empty type address ('')\n- May be unavailable for some FIN holders.","anyOf":[{"allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"block":{"properties":{"value":{"maxLength":10,"type":"string"}},"type":"object","description":"Block/House of Address."},"building":{"properties":{"value":{"maxLength":65,"type":"string"}},"type":"object","description":"Building of Address."},"country":{"properties":{"code":{"default":"SG","maxLength":2,"type":"string"},"desc":{"default":"SINGAPORE","type":"string"}},"type":"object","description":"Country/Place of Address. For AddressSG this will always be 'SG'."},"floor":{"properties":{"value":{"maxLength":3,"type":"string"}},"type":"object","description":"Floor of Address."},"postal":{"properties":{"value":{"maxLength":6,"type":"string"}},"type":"object","description":"Postal Code of Address."},"street":{"properties":{"value":{"maxLength":66,"type":"string"}},"type":"object","description":"Street of Address."},"type":{"default":"SG","description":"Type of Address (SG or UNFORMATTED for non SG).","enum":["SG"],"type":"string"},"unit":{"properties":{"value":{"maxLength":5,"type":"string"}},"type":"object","description":"Unit of Address."}},"title":"SG"}]},{"allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"line1":{"type":"object","description":"Unregistered Foreign address line 1","properties":{"value":{"type":"string","maxLength":66}}},"line2":{"type":"object","description":"Unregistered Foreign address line 2","properties":{"value":{"type":"string","maxLength":66}}},"type":{"default":"UNFORMATTED","description":"Type of Address (SG or UNFORMATTED for non SG).","enum":["UNFORMATTED"],"type":"string"}},"title":"UNFORMATTED"}]}]},"residentialstatus":{"description":"Residential Status of Person. Applicable to Singapore Citizens and Permanent Residents.\nNote: This data item is not applicable for FIN holders i.e. source will be '3'.\nIn such cases, the code and desc properties will be blank or empty string ('').\n\nPossible values:\n- A - ALIEN\n- C - CITIZEN\n- P - PR\n- U - UNKNOWN\n- N - NOT APPLICABLE\n- < BLANK > - (for FIN holders only)","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"code":{"enum":["A","C","P","U","N",""],"maxLength":1,"pattern":"^[A-Za-z]{0,1}$","type":"string"},"desc":{"enum":["ALIEN","CITIZEN","PR","UNKNOWN","NOT APPLICABLE",""],"maxLength":300,"type":"string"}}}]},"secondaryrace":{"description":"Secondary Race of Person.\n\n  Refer to the Code reference tables in the Support section for list of possible values.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"code":{"maxLength":2,"pattern":"^(?:[A-Za-z]{2})?$","type":"string"},"desc":{"maxLength":300,"type":"string"}}}]},"sex":{"description":"Sex of Person.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","required":["code","desc"],"properties":{"code":{"description":"The 1-character code for the sex.\n\n- 'F': FEMALE\n- 'M': MALE\n- 'U': UNKNOWN","enum":["F","M","U"],"maxLength":1,"type":"string"},"desc":{"description":"The full description of the sex.","enum":["FEMALE","MALE","UNKNOWN"],"type":"string"}}}]},"sponsoredchildrenrecords":{"description":"Details of children sponsored to be SC/PR/LTVP.\n\nFor child below 21, the child's NRIC/FIN, Name, Sex, Race, Secondary Race, Dialect,\nDate of Birth, Country/Place of Birth, Residential Status and SC/PR/LTVP grant date will be shown.\n\nFor child above 21, only the child's last known NRIC/FIN will be shown.","items":{"allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"aliasname":{"properties":{"value":{"maxLength":66,"type":"string"}},"type":"object","description":"Alias name of child."},"birthcountry":{"properties":{"code":{"maxLength":2,"pattern":"^(?:[A-Za-z]{2})?$","type":"string"},"desc":{"maxLength":300,"type":"string"}},"type":"object","description":"Country/Place of Birth of child.\nRefer to the Code reference tables in the Support section for list of possible values."},"dialect":{"properties":{"code":{"maxLength":2,"pattern":"^(?:[A-Za-z]{2})?$","type":"string"},"desc":{"maxLength":300,"type":"string"}},"type":"object","description":"Dialect of child.\nRefer to the Code reference tables in the Support section for list of possible values."},"dob":{"properties":{"value":{"description":"Value of data field in YYYY-MM-DD format. See \"full-date\" in https://datatracker.ietf.org/doc/html/rfc3339#section-5.6","format":"date","type":"string"}},"type":"object","description":"Date of Birth of child."},"hanyupinyinaliasname":{"properties":{"value":{"maxLength":66,"type":"string"}},"type":"object","description":"Han Yu Pin Yin Alias name of child."},"hanyupinyinname":{"properties":{"value":{"maxLength":66,"type":"string"}},"type":"object","description":"Han Yu Pin Yin name of child."},"lifestatus":{"properties":{"code":{"enum":["A","D",""],"type":"string"},"desc":{"enum":["ALIVE","DECEASED",""],"type":"string"}},"type":"object","description":"Life Status of child."},"marriedname":{"properties":{"value":{"maxLength":66,"type":"string"}},"type":"object","description":"Married name of child."},"name":{"properties":{"value":{"maxLength":66,"type":"string"}},"type":"object","description":"Full Name of child."},"nationality":{"properties":{"code":{"maxLength":2,"pattern":"^(?:[A-Za-z]{2})?$","type":"string"},"desc":{"maxLength":300,"type":"string"}},"type":"object","description":"Nationality/Citizenship of child.\nRefer to the Code reference tables in the Support section for list of possible values."},"nric":{"properties":{"value":{"type":"string"}},"type":"object","description":"NRIC/FIN of child."},"race":{"properties":{"code":{"maxLength":2,"pattern":"^(?:[A-Za-z]{2})?$","type":"string"},"desc":{"maxLength":300,"type":"string"}},"type":"object","description":"Race of child.\nRefer to the Code reference tables in the Support section for list of possible values."},"scprgrantdate":{"properties":{"value":{"description":"Value of data field in YYYY-MM-DD format. See \"full-date\" in https://datatracker.ietf.org/doc/html/rfc3339#section-5.6","format":"date","type":"string"}},"type":"object","description":"Date granted Singapore Citizenship, Permanent Resident or Long-term Visit Pass."},"secondaryrace":{"properties":{"code":{"maxLength":2,"pattern":"^(?:[A-Za-z]{2})?$","type":"string"},"desc":{"maxLength":300,"type":"string"}},"type":"object","description":"Secondary Race of child.\nRefer to the Code reference tables in the Support section for list of possible values."},"sex":{"properties":{"code":{"description":"The 1-character code for the sex.\n\n- 'F': FEMALE\n- 'M': MALE\n- 'U': UNKNOWN\n- '': No data yet","enum":["F","M","U",""],"maxLength":1,"type":"string"},"desc":{"description":"The full description of the sex.","enum":["FEMALE","MALE","UNKNOWN",""],"type":"string"}},"type":"object","description":"Sex of child."},"vaccinationrequirements":{"items":{"properties":{"fulfilled":{"properties":{"value":{"type":"boolean"}},"type":"object"},"requirement":{"properties":{"code":{"type":"string"},"desc":{"type":"string"}},"type":"object","description":"Vaccination Requirement.\nRefer to the Code reference tables in the Support section for list of possible values."}},"type":"object"},"type":"array"}}}]},"type":["array","null"]},"uinfin":{"description":"Singapore issued identification number of the Person.","allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","required":["value"],"properties":{"value":{"pattern":"\\b[STFGM]\\d{7}[A-Z]\\b","type":"string"}}}]},"vehicles":{"description":"Vehicle information of the Person.","items":{"allOf":[{"$ref":"#/components/schemas/Meta"},{"$ref":"#/components/schemas/UnavailableFlag"},{"type":"object","properties":{"attachment1":{"properties":{"value":{"maxLength":50,"type":"string"}},"type":"object","description":"Vehicle Attachment 1 (e.g. DISABLED)."},"attachment2":{"properties":{"value":{"maxLength":50,"type":"string"}},"type":"object","description":"Vehicle Attachment 2 (e.g. WITH SUN ROOF)."},"attachment3":{"properties":{"value":{"maxLength":50,"type":"string"}},"type":"object","description":"Vehicle Attachment 3 (e.g. SIDE CURTAIN)."},"chassisno":{"properties":{"value":{"maxLength":25,"type":"string"}},"type":"object","description":"Vehicle Chassis Number."},"co2emission":{"properties":{"value":{"format":"double","maximum":999999999,"type":"number"}},"type":"object","description":"CO2 emission rate."},"coecategory":{"properties":{"value":{"maxLength":40,"type":"string"}},"type":"object","description":"Vehicle Certificate of Entitlement (COE) bid category."},"coeexpirydate":{"properties":{"value":{"format":"date","maxLength":10,"type":"string"}},"type":"object","description":"Vehicle Certificate of Entitlement (COE) expiry date.\nSee \"full-date\" in https://datatracker.ietf.org/doc/html/rfc3339#section-5.6"},"coemission":{"properties":{"value":{"format":"double","maximum":999999999,"type":"number"}},"type":"object","description":"Carbon Monoxide emission rate."},"effectiveownership":{"properties":{"value":{"format":"date-time","maxLength":25,"type":"string"}},"type":"object","description":"Effective Date/Time of Ownership.\nSee \"date-time\" in https://datatracker.ietf.org/doc/html/rfc3339#section-5.6","format":"date-time"},"enginecapacity":{"properties":{"value":{"format":"int64","maximum":99999999,"type":"integer"}},"type":"object","description":"Engine Capacity in cubic centimeter (cc)."},"engineno":{"properties":{"value":{"maxLength":25,"type":"string"}},"type":"object","description":"Vehicle Engine Number."},"firstregistrationdate":{"properties":{"value":{"format":"date","maxLength":10,"type":"string"}},"type":"object","description":"Date when vehicle is registered with LTA.\nSee \"full-date\" in https://datatracker.ietf.org/doc/html/rfc3339#section-5.6"},"iulabelno":{"properties":{"value":{"maxLength":10,"type":"string"}},"type":"object","description":"In-Vehicle Unit (IU) number of the device fitted in Singapore-registered vehicles for\nElectronic Road Pricing (ERP) gantries and Electronic Parking System (EPS) car parks."},"make":{"properties":{"value":{"maxLength":44,"type":"string"}},"type":"object","description":"Vehicle Make such as 'TOYOTA', 'HONDA', 'AUDI'."},"maximumladenweight":{"properties":{"value":{"format":"int64","maximum":999999999999,"type":"integer"}},"type":"object","description":"Maximum Laden Weight in kilograms (kg)."},"maximumunladenweight":{"properties":{"value":{"format":"int64","maximum":999999999,"type":"integer"}},"type":"object","description":"Maximum Unladen Weight in kilograms (kg)."},"minimumparfbenefit":{"properties":{"value":{"format":"double","maximum":999999999999,"type":"number"}},"type":"object","description":"Minimum PARF Benefit in Singapore dollars (SGD)."},"model":{"properties":{"value":{"maxLength":40,"type":"string"}},"type":"object","description":"Vehicle Model such as 'COROLLA ALTIS CLASSIC 1.6 CVT', 'HRV 1.5 DX CVT'."},"motorno":{"properties":{"value":{"maxLength":25,"type":"string"}},"type":"object","description":"Vehicle Motor Number."},"nooftransfers":{"properties":{"value":{"format":"int64","maximum":99999,"type":"integer"}},"type":"object","description":"Number of Transfer."},"noxemission":{"properties":{"value":{"format":"double","maximum":999999999,"type":"number"}},"type":"object","description":"Nitrogen Oxide (NOx) emission rate."},"openmarketvalue":{"properties":{"value":{"format":"double","maximum":99999999999,"type":"number"}},"type":"object","description":"Open Market Value is the value of manufacturer invoice price, freight and\ninsurance in Singapore dollars (SGD)."},"originalregistrationdate":{"properties":{"value":{"format":"date","maxLength":10,"type":"string"}},"type":"object","description":"Date when vehicle is first registered in the country of origin.\nSee \"full-date\" in https://datatracker.ietf.org/doc/html/rfc3339#section-5.6"},"pmemission":{"properties":{"value":{"format":"double","maximum":999999999,"type":"number"}},"type":"object","description":"Particulates (PM - Atmospheric Particulate Matter) emission rate."},"powerrate":{"properties":{"value":{"format":"double","maximum":99999999,"type":"number"}},"type":"object","description":"Power Rate.\nApplicable to Electric and Hybrid vehicles powered by electric motors. Unit is Kilowatt."},"primarycolour":{"properties":{"value":{"maxLength":30,"type":"string"}},"type":"object","description":"Vehicle Primary Colour (e.g. BLACK)."},"propellant":{"properties":{"value":{"maxLength":40,"type":"string"}},"type":"object","description":"Propellant (e.g. Compressed Natural Gas, Diesel, Diesel-CNG, Diesel-Electric,\nDiesel-Electric (Plug-In), Electric, Gas, Liquefied Petroleum Gas (LPG),\nPetrol, Petrol-CNG, Petrol-Electric, Petrol-Electric (Plug-In), Petrol-LPG."},"quotapremium":{"properties":{"value":{"format":"double","maximum":999999999.99,"type":"number"}},"type":"object","description":"Actual Quota Premium (QP) amount payable for the COE upon registration, conversion or COE\nrevalidation in Singapore dollars (SGD). For renewal of COE, the value will contain\nactual PQP paid."},"roadtaxexpirydate":{"properties":{"value":{"format":"date","maxLength":10,"type":"string"}},"type":"object","description":"See \"full-date\" in https://datatracker.ietf.org/doc/html/rfc3339#section-5.6"},"scheme":{"properties":{"value":{"maxLength":66,"type":"string"}},"type":"object","description":"Vehicle Scheme (e.g. REVISED OFF-PEAK CAR)."},"secondarycolour":{"properties":{"value":{"maxLength":30,"type":"string"}},"type":"object","description":"Vehicle Secondary Colour (e.g. WHITE)."},"status":{"properties":{"code":{"enum":["1","2"],"maxLength":1,"type":"string"},"desc":{"enum":["LIVE","DE-REGISTERED"],"maxLength":300,"type":"string"}},"type":"object","description":"Status of the Vehicle."},"thcemission":{"properties":{"value":{"format":"double","maximum":999999999,"type":"number"}},"type":"object","description":"Total Hydro Carbon (THC) emission rate."},"type":{"properties":{"value":{"maxLength":55,"type":"string"}},"type":"object","description":"Type of Vehicles such as 'MOTOR CAR', 'STATION /WAGON/JEEP/LAND ROVER'."},"vehicleno":{"properties":{"value":{"maxLength":20,"type":"string"}},"type":"object","description":"Vehicle Registration Number displayed on the vehicle number plates."},"vpc":{"properties":{"value":{"maxLength":10,"type":"string"}},"type":"object","description":"Vehicle Parking Certificate. Applicable for Heavy Vehicles."},"yearofmanufacture":{"properties":{"value":{"maxLength":4,"type":"string"}},"type":"object","description":"Manufacturing year."}}}]},"type":["array","null"]}}},"Meta":{"type":"object","required":["classification","source","lastupdated"],"properties":{"classification":{"default":"C","description":"Data classification of data field. Default 'C' - Confidential.","maxLength":1,"type":"string"},"lastupdated":{"description":"Last updated date of data field. See \"full-date\" in https://datatracker.ietf.org/doc/html/rfc3339#section-5.6.","format":"date","type":"string"},"source":{"description":"Source of data.\n\n- '1': Government-verified\n- '2': User provided\n- '3': Not Applicable (applies only to Person data, not Entity data)\n- '4': Verified by SingPass","enum":["1","2","3","4"],"maxLength":1,"type":"string"}}},"UnavailableFlag":{"type":"object","properties":{"unavailable":{"description":"Optional flag to indicate if data is unavailable from data source.\n\nNOTE:\n\n- This optional property will be only present with value true if there is no data available from the data source; i.e. record not found.\n\n- When this flag is true, no other data attributes will be present (other than classification, source, and lastupdated).\n\n- If data is available from the data source, this property will not be present.","type":"boolean"}}}}}}
```

## The Meta object

```json
{"openapi":"3.1.0","info":{"title":"person_info from userinfo API","version":"1.0.0"},"components":{"schemas":{"Meta":{"type":"object","required":["classification","source","lastupdated"],"properties":{"classification":{"default":"C","description":"Data classification of data field. Default 'C' - Confidential.","maxLength":1,"type":"string"},"lastupdated":{"description":"Last updated date of data field. See \"full-date\" in https://datatracker.ietf.org/doc/html/rfc3339#section-5.6.","format":"date","type":"string"},"source":{"description":"Source of data.\n\n- '1': Government-verified\n- '2': User provided\n- '3': Not Applicable (applies only to Person data, not Entity data)\n- '4': Verified by SingPass","enum":["1","2","3","4"],"maxLength":1,"type":"string"}}}}}}
```

## The UnavailableFlag object

```json
{"openapi":"3.1.0","info":{"title":"person_info from userinfo API","version":"1.0.0"},"components":{"schemas":{"UnavailableFlag":{"type":"object","properties":{"unavailable":{"description":"Optional flag to indicate if data is unavailable from data source.\n\nNOTE:\n\n- This optional property will be only present with value true if there is no data available from the data source; i.e. record not found.\n\n- When this flag is true, no other data attributes will be present (other than classification, source, and lastupdated).\n\n- If data is available from the data source, this property will not be present.","type":"boolean"}}}}}}
```

Error Response

If there was an error with the request, we will instead return a response body in `application/json` format with the following parameters:

| `error`             | An error code identifying the type of error that has occurred. | This will be an enum value. The possible values are detailed below. |
| ------------------- | -------------------------------------------------------------- | ------------------------------------------------------------------- |
| `error_description` | A human-readable text description of the error.                | String. This is optional.                                           |

These parameters will also be returned in the `WWW-Authenticate` header if the `error` is `invalid_request`, `invalid_token`, or `invalid_dpop_proof`.

<details>

<summary>Sample error response body</summary>

```json
{
  "error": "invalid_dpop_proof",
  "error_description": "Failed to verify DPoP proof JWT"
}
```

</details>

<details>

<summary>Sample WWW-Authenticate header</summary>

```http
HTTP/1.1 401 Unauthorized
WWW-Authenticate: DPoP
  error="invalid_dpop_proof",
  error_description="Failed to verify DPoP proof JWT"
```

</details>

#### Possible error values

The table below lists the possible values of `error` that we may return:

| error                      | What this error indicates                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `invalid_token`            | The access token is invalid or has expired. Note that the access token has a lifetime of 30 minutes.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `invalid_dpop_proof`       | The `DPoP` header which you have provided is invalid, expired, or malformed. Read our [DPoP guide](/docs/technical-specifications/technical-concepts/demonstrating-proof-of-possession-dpop.md) and ensure that your implementation follows the instructions in the guide.                                                                                                                                                                                                                                                                                                                                                                |
| `invalid_request`          | <p>This could be due to one of the following:</p><ul><li>Your JWKS endpoint is not reachable, or the JWKS being returned is malformed., Read our guide on <a href="/pages/vnEutTqGtqbBVltMIJ21#requirements-for-jwks">JWKS</a> and ensure that you follow the requirements.</li><li>You are trying to retrieve Myinfo data for a Singpass Foreign Account user, which is not possible.</li></ul>                                                                                                                                                                                                                                          |
| `server_error`             | <p>The server encountered an unexpected error. You should check <code>error\_description</code> to understand what was the cause of the error.<br><br>When you encounter this error, you may perform up to 3 retries using an exponential backoff strategy. If the request still fails, you should guide users to alternative form-filling methods.</p>                                                                                                                                                                                                                                                                                   |
| `upstream_depedency_error` | <p>This error can potentially be caused by your JWKS endpoint not being reachable. Read our guide on <a href="https://docs.developer.singpass.gov.sg/docs/technical-specifications/technical-concepts/json-web-key-sets-jwks#requirements-for-jwks">JWKS</a> and ensure that you follow the requirements. In particular, your JWKS endpoint must be publicly accessible and should respond in a timely manner.</p><p></p><p>If the cause was not your JWKS endpoint, you may perform up to 3 retries using an exponential backoff strategy. If the request still fails, you should guide users to alternative authentication methods.</p> |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.developer.singpass.gov.sg/docs/technical-specifications/integration-guide/5.-requesting-for-userinfo.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
