Tax and Revenue Connect API

Reference for the Connect REST resources the self-service Taxpayer Portal uses to retrieve the logged-in taxpayer’s records from the Tax and Revenue data model objects.

Endpoint 

The taxpayer portal reads the logged-in taxpayer’s records through two Connect REST resources. Both requests use POST. The server resolves the taxpayer from the authenticated user.

  • POST /services/data/v68.0/connect/public-sector/tax-revenue/tax-account/profile returns the display name and the tax years that have filings. The body is an empty JSON object. See Tax Revenue Profile (POST).
  • POST /services/data/v68.0/connect/public-sector/tax-revenue/tax-account/activities returns activity for one tax year. The response includes only the views and sub-views named in the body. See Tax Constituent Activity (POST).

A failed activity section returns HTTP 200 with an error on that section. Request-level failures use HTTP error status codes. See the resource topics for the status codes.

Flow calls the same profile and activity data through the Get Taxpayer Profile Action and the Get Taxpayer Activity Action.

Authentication and Authorization 

Requests to these resources are made on behalf of the authenticated portal user. These conditions must all be true for a taxpayer query to succeed:

LayerRequirement
1User has AccessPubSecTaxRevenueExternal permission.
2The portal-user query gate is open for your org.
3Sensitive fields are blocked by the API field denylist (hard-coded; always active).
4The user’s permission set is mapped to the Tax and Revenue Data Space (dataspace scope).
5Results are limited to the taxpayer resolved from the authenticated session.
6A data governance policy at the Authenticated external user level explicitly allows access to the queried DMOs.

Row Isolation 

The portal enforces row-level isolation so each taxpayer can retrieve only their own records. The Connect API applies that scope on the server from the authenticated session. Escalating a portal user’s permissions doesn’t grant access to other taxpayers’ data.

The resolution path that the API uses is:

  • ContactId from the authenticated session
  • CRM-synced Account
  • AccountIdentityLink → UnifiedRecordId
  • All source party IDs linked to that Unified profile
  • TaxAccountDmo WHERE AccountId IN (…) → child records

If Identity Resolution hasn’t yet linked a newly registered taxpayer, profile and activity requests fail until a ruleset run creates the link. See Tax Revenue Profile (POST) and Tax Constituent Activity (POST) for the error responses.

DMO API Name Format 

DMO API names depend on which data space your org uses. The Connect resources query these names for the logged-in taxpayer.

Data SpaceDMO API Name PatternExample
Default_std__dlmTaxFiling_std__dlm
Non-default (dedicated)__std__dlmds1_TaxFiling_std__dlm

Use the Data Space prefix consistently across all DMO names in a query—mixing prefixed and unprefixed names in the same query isn’t supported.

Field Access Restrictions 

Two separate mechanisms restrict which fields portal users can retrieve.

  • Hard-coded API field denylist: The Connect API always blocks known-sensitive fields for portal users. This denylist is shipped with the platform and is always active.
  • Admin-configured data governance policies: Admins create DENY and MASK policies at the Authenticated external user authorization level. See Data Governance Policies for Tax Data

Example Activity Request 

This example requests filings with participants, line items, and address, plus payments and document items, for tax year 2025. See Tax Constituent Activity Input for the full request.

1POST /services/data/v68.0/connect/public-sector/tax-revenue/tax-account/activities
2Content-Type: application/json
3
4{
5  "taxYear": "2025",
6  "views": {
7    "filings": { "subViews": ["participants", "lineItems", "address"] },
8    "payments": {},
9    "documents": { "subViews": ["items"] }
10  }
11}

See Also