> 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>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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.corppass.gov.sg/technical-specifications/corppass-authorization-api-legacy/endpoints/authorization-info-endpoint/tpauthinfo-structure.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.
