https://router.apps.filed.com/graphql with the access token
from your OAuth grant.
Before you start
- Request
clients:readandclients:write. A grant without a write scope is read-only, andcreateClientfails with aFORBIDDENerror. - The customer who approved the grant needs a full seat in the workspace.
Otherwise
createClientfails withA full seat is required. - The firm connects its tax software in Filed itself, under Plugins. UltraTax runs through Prowork Desktop on a machine that can reach the firm’s UltraTax data folder.
- Your token reaches one workspace. Workspaces share nothing: clients, connections, and protocols are separate in each. A firm with several Filed workspaces grants you access to each one separately.
- The refresh token lapses only after 90 days without a refresh, so a firm you keep refreshing for stays connected. See Refreshing.
1. Find the tax-software connection
List the workspace’s tax-software connections. A workspace can have more than one, for example an UltraTax connection per office. Filed keeps offices apart only when each uses its own UltraTax data location.
The list holds the workspace’s shared connections and the approving customer’s
own personal ones. For CCH Axcess, Filed recommends the user seat: in Filed’s
tests it produces significantly more accurate returns, and the API is only
slightly faster.
2. List the firm’s clients
clientList returns up to 100 clients per page, sorted by name. search
matches part of a name or ID, ignoring case.
offset until a page comes back with fewer
than 100 rows.
externalId is the tax software’s own ID for the client, and the value you
pass on in the next steps:
returnType and taxYear are null when the tax software does not report
them. Supply them yourself when you create the client.
Refresh the list
clientList reads Filed’s copy of the firm’s client list, not the tax
software directly. After the firm adds clients or rolls them over to a new
year, refresh the copy:
true once the refresh has started. Poll the connection’s
clientRoster until syncing is false and syncedAt has moved past the
time you started:
3. Find clients that already exist
The firm may already have created some of these clients in Filed. Read the tax year’s clients once, with the tax-software IDs they are linked to:links has the tax-software connection’s id as connectionId and the
client’s externalId, with the same returnType. Use that client’s id
instead of creating another.
4. Create a Filed client
sourceExternalId and taxSoftwareClient both take the tax-software
externalId; taxSoftwareClient.connectionId is the connection from step 1.
See CreateClientInput for what each
field does.
Repeat calls return the same client
Filed identifies the client by your connection,sourceExternalId, taxYear
and returnType. Calling createClient again with the same four values returns
the client the first call created, even when the calls arrive at the same time:
taxYear or returnType creates a different client. The first
call’s name is kept. A call for an archived client fails.
Store the returned client.id and call createClient again only to retry a
call whose outcome you did not see: each call without uploadIds also starts a
new checklist build.
5. Read the checklist
The checklist is the list of documents the client sent last year that are missing this year. Filed builds it without anyone clicking anything:
Upload last year’s return in
uploadIds when you create the client, or later
with addClientDocuments.
checklistBuild is null until a build starts. Its status is running,
completed or failed; source is TAX_SOFTWARE or DOCUMENTS, and
returnId names the tax-software return it read. When a tax-software build
fails, error says why. The next binder run tries the tax software again; a
prior-year PDF uploaded since is used only if that try fails too, or the tax
software has no return to read. See Browse a client’s
binder
for working with the items.
A new tax year
Filed does not create, roll over or remove clients in the tax software. The firm rolls its clients over in UltraTax or CCH Axcess as it does today. In Filed, a client belongs to one tax year, so the 2026 return is a new Filed client. Once the firm has rolled a client over:- Refresh the client list.
- Call
createClientwithtaxYear: 2026and the client’s ID for 2026. In UltraTax that is the same client ID as in 2025. In CCH Axcess it is the 2026 return ID, such as2026I:DOEJ01:V1, which appears in the list after the firm rolls the return over. - Filed builds the 2026 checklist from the 2025 return, as in
step 5. CCH Axcess reads the previous year’s
return,
2025I:DOEJ01:V1. For UltraTax, for now, upload the 2025 return as a PDF.