API Docs / Schemas / ThirdPartyConnectionDto

ThirdPartyConnectionDto

Represents an OAuth or API key connection to a third-party platform such as Xero, FreeAgent, Sage, or QuickBooks.
Used for integrating accounting platforms, client imports, and other external services.

Properties

Name Type Description
codestring

The unique code for this connection

The unique code for this connection

platformstring

The platform identifier (e.g., "Xero", "FreeAgent", "Sage", "QuickBooks")

The platform identifier (e.g., "Xero", "FreeAgent", "Sage", "QuickBooks")

namestring

Display name for the connection

Display name for the connection

authenticationTypeenum

OAuth ApiKey Basic OAuthClientCredentials

OAuth ApiKey Basic OAuthClientCredentials

apiKeystring

The API key (only populated if AuthenticationType is ApiKey)

The API key (only populated if AuthenticationType is ApiKey)

statusenum

NotInitiated Initialising Active Expired Revoked Error

NotInitiated Initialising Active Expired Revoked Error

capabilitiesarray of enum

Capabilities available from this platform connection (e.g., Accounting, ClientImport)

None Accounting CRM DocumentManagement Communication ProjectManagement TimeTracking Payments ClientImport DirectDebit AML Proposals BookkeepingHealth ESignature

Capabilities available from this platform connection (e.g., Accounting, ClientImport)

None Accounting CRM DocumentManagement Communication ProjectManagement TimeTracking Payments ClientImport DirectDebit AML Proposals BookkeepingHealth ESignature

redirectUrlstring

URL to redirect the user back to after OAuth flow completes

URL to redirect the user back to after OAuth flow completes

authorizationUrlstring

OAuth authorization URL for initiating the connection flow

OAuth authorization URL for initiating the connection flow

organizationCodeAndNameDto
availableOrganizationsarray of CodeAndNameDto

List of available organizations from the connected platform (populated during OAuth callback)

List of available organizations from the connected platform (populated during OAuth callback)

supportsMultipleStorageLocationsboolean

Whether this connection supports assigning different storage locations to individual
clients (e.g. per-client SharePoint sites). When true, the storage-locations endpoint
is available and the frontend should show a location picker on client folder assignment.

Whether this connection supports assigning different storage locations to individual
clients (e.g. per-client SharePoint sites). When true, the storage-locations endpoint
is available and the frontend should show a location picker on client folder assignment.

supportsFileMoveboolean

Whether files can be moved between folders on this platform. When true, the frontend
enables drag-and-drop of files onto folders in the client documents list.

Whether files can be moved between folders on this platform. When true, the frontend
enables drag-and-drop of files onto folders in the client documents list.

useExtendedScopesboolean

Whether this connection was authorised with the platform's extended scopes as well as its base
scopes. Immutable — the frontend must carry it through when reconnecting, or the reconnection
silently drops back to the narrower access.

Whether this connection was authorised with the platform's extended scopes as well as its base
scopes. Immutable — the frontend must carry it through when reconnecting, or the reconnection
silently drops back to the narrower access.

createdDatestring

When the connection was created

When the connection was created

updatedDatestring

When the connection was last updated

When the connection was last updated

lastUsedDatestring

When this connection was last used to call the platform, or null if it has not been used since
usage tracking was introduced (it cannot be backfilled). Excludes automatic token refreshes, so a
long-idle value here means nobody is using the connection and it can be disconnected.

When this connection was last used to call the platform, or null if it has not been used since
usage tracking was introduced (it cannot be backfilled). Excludes automatic token refreshes, so a
long-idle value here means nobody is using the connection and it can be disconnected.

JSON Example

{
  "code": "string",
  "platform": "string",
  "name": "string",
  "authenticationType": "OAuth",
  "apiKey": "string"
}

Used By Operations

Contained in Schemas