> For the complete documentation index, see [llms.txt](https://docs.corppass.gov.sg/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.corppass.gov.sg/technical-specifications/corppass-authorization-api-legacy/endpoints/authorization-info-endpoint/tpauthinfo-structure.md).

# TPAuthInfo Structure

The `TPAuthInfo` claim provides details about third-party authorizations for the user. This claim is included in the [Authorization Info Endpoint](/technical-specifications/corppass-authorization-api-legacy/endpoints/authorization-info-endpoint.md#response) response only for scenarios where the user is associated with the third-party functionality within a Digital Service.

### **Third-Party Authorization Scenarios**

For Digital Services that support third-party functionality, if a third-party user logs in using Corppass, an additional `TPAuthInfo` object will be shared alongside the `AuthInfo` object.

A user may have multiple authorizations for a given Digital Service as a third party.

* **Example**: For a GST Digital Service, a third-party entity may have 5 clients. If the user is authorized to file GST for all 5 clients, the ser will have 5 third-party authorizations.

### **Attributes in `TPAuthInfo` Claim**

The table below provides a detailed description of the attributes included in the `TPAuthInfo` claim. The `TPAuthInfo` object is optional and only present for third-party scenarios.

<table><thead><tr><th width="160.57421875">Field</th><th width="251.671875">Description</th><th width="134.73828125">Data Type</th><th width="92.796875">Length</th><th width="103.859375">Mandatory</th></tr></thead><tbody><tr><td>Auth_Result_Set</td><td>JSON object contains authorization assigned for that client entity for the user</td><td>JSON</td><td>-</td><td>Yes</td></tr><tr><td>Auth_Set</td><td>JSON object contains authorization result for the user for a specific Digital Service.</td><td>JSON</td><td>-</td><td>Yes</td></tr><tr><td>CP_Clnt_ID</td><td>Contains the client entity ID</td><td>String</td><td>10</td><td>Yes</td></tr><tr><td>CP_ClntEnt_SUB</td><td>Sub-UEN value of that entity to which the user is assigned the authorization. Sub-UEN is an optional attribute for a Digital Service and therefore can be blank.</td><td>String</td><td>32</td><td>Yes</td></tr><tr><td>CP_ClntEnt_TYPE</td><td><p>Contains the client entity type. The possible values for entity type are:</p><ul><li>UEN</li><li>NON-UEN (Includes non-UEN entities as well as ASGD/ITR entities)</li><li>GSTN</li></ul></td><td>String</td><td>10</td><td>Yes</td></tr><tr><td>CPESrvcID</td><td>ID of the Digital Service that is requesting the authorization.</td><td>String</td><td>25</td><td>Yes</td></tr><tr><td>CPRole</td><td>The role assigned to the user for that particular Sub-UEN</td><td>String</td><td>20</td><td>Yes</td></tr><tr><td>EndDate</td><td>The end date for validity of the role i.e. the date at which this role is no longer valid for the user for that Digital Service</td><td>String (format YYYY-MM-DD)</td><td>10</td><td>Yes</td></tr><tr><td>ENT_ROW_COUNT</td><td>Indicates the number of rows in the third-party assignment. This is equal to the number of clients that the user is authorized as third party for that Digital Service</td><td>Integer</td><td>10</td><td>Yes</td></tr><tr><td>ESrvc_Result</td><td>JSON object contains authorization details for a specific Digital Service.</td><td>JSON</td><td>-</td><td>Yes</td></tr><tr><td>ESrvc_Row_Count</td><td>This value indicates the number of Digital Services for which the authorizations are present in the Result_Set JSON object. This value will be set to 1.</td><td>Integer</td><td>10</td><td>Yes</td></tr><tr><td>name</td><td>Parameter name defined by defined by Digital Service administrator</td><td>String</td><td>30</td><td>No</td></tr><tr><td>Parameter</td><td>This is optional array of parameters (JSON objects containing only name and value pair attributes) defined by Digital Service administrator. These parameters will be populated as required. These parameters use a name-value pair format and will contain the "Digital Service defined name" from Corppass in the name field.<br>If no parameters are defined this will be returned as empty array.<br>If a parameter is defined as mandatory by the Digital Service administrator but no value was supplied, "ERROR_MISSING_VALUE" will be returned for the field.</td><td>Array of JSON</td><td>-</td><td>Yes</td></tr><tr><td>Result_Set</td><td>Digital Service authorization result set.</td><td>JSON</td><td>-</td><td>Yes</td></tr><tr><td>Row</td><td>Array of JSON objects, each JSON object represents actual authorization values for a given sub-UEN for a user.</td><td>Array of JSON</td><td>-</td><td>Yes</td></tr><tr><td>Row_Count</td><td>The count of the number of rows included in the result set e.g. If the user access to two sub-UENs within the same entity, the result set will contain two rows with the role information for each sub-UEN in one individual row.</td><td>Integer</td><td>10</td><td>Yes</td></tr><tr><td>StartDate</td><td>The start date for validity of the role i.e. the date from which this role is valid for the user for that Digital Service</td><td>String (format YYYY-MM-DD)</td><td>10</td><td>Yes</td></tr><tr><td>TP_Auth</td><td>Array of JSON objects, each JSON object represents authorization of the user for one client only.</td><td>Array of JSON</td><td>-</td><td>Yes</td></tr><tr><td>value</td><td>Parameter value defined by defined by Digital Service administrator</td><td>String</td><td>66</td><td>No</td></tr></tbody></table>
