Migrations
21 operations. All areas
- POST /v1/migrations/qbwc/connections
- GET /v1/migrations/qbwc/connections
- GET /v1/migrations/qbwc/connections/{id}
- POST /v1/migrations/qbwc/connections/{id}/qwc
- GET /v1/migrations/qbwc/connections/{id}/tieout
- POST /v1/migrations/qbwc/connections/{id}/revoke
- POST /v1/migrations/qbwc/connections/{id}/unlock
- POST /v1/migrations/qbwc/connections/{id}/import
- GET /v1/migrations
- POST /v1/migrations/{id}/cutover
- POST /v1/migrations/qbo/connections
- GET /v1/migrations/qbo/connections
- GET /v1/migrations/qbo/connections/{id}
- POST /v1/migrations/qbo/connections/{id}/authorize
- POST /v1/migrations/qbo/connections/{id}/estimate
- POST /v1/migrations/qbo/connections/{id}/extract
- GET /v1/migrations/qbo/connections/{id}/tieout
- GET /v1/migrations/qbo/connections/{id}/disclosure
- POST /v1/migrations/qbo/connections/{id}/import
- POST /v1/migrations/qbo/connections/{id}/revoke
- GET /v1/migrations/qbo/usage
POST/v1/migrations/qbwc/connections
Create a Web Connector migration connection (people only): read-only, for a migration window. Returns the password and a single-use .qwc download token ONCE; only their hashes are stored.
- Operation
createQbwcConnection - Scope: admin
- Write: needs Idempotency-Key (or dry_run)
- Request body
as_ofstring, required Export date: reports, aging and the last tie-out period (usually the cutover date).include_tax_idsboolean Keep SSNs/tax IDs (needed for 1099s). Card numbers are always redacted.
- Responses
201Created (object)- Errors
400,401,403,409,422,429,500,503(Error:error.type,message)
GET/v1/migrations/qbwc/connections
Web Connector migration connections, newest first
- Operation
listQbwcConnections - Scope: read
- Read
- Responses
200Connections (object)- Errors
400,401,403,429,500,503(Error:error.type,message)
GET/v1/migrations/qbwc/connections/{id}
A connection with live progress per extraction step, the bundle and its imports
- Operation
getQbwcConnection - Scope: read
- Read
- Parameters
idpath, string, required
- Responses
200Connection (object)- Errors
400,401,403,404,429,500,503(Error:error.type,message)
POST/v1/migrations/qbwc/connections/{id}/qwc
Redeem the single-use download token for the .qwc file to add to Web Connector (people only; audited)
- Operation
downloadQbwcFile - Scope: admin
- Write: needs Idempotency-Key (or dry_run)
- Parameters
idpath, string, required
- Request body
download_tokenstring, required
- Responses
200The .qwc file (object)- Errors
400,401,403,404,409,422,429,500,503(Error:error.type,message)
GET/v1/migrations/qbwc/connections/{id}/tieout
The extraction's tie-out report (JSON and the readable Markdown) once the bundle exists
- Operation
getQbwcTieout - Scope: read
- Read
- Parameters
idpath, string, required
- Responses
200Tie-out (object)- Errors
400,401,403,404,429,500,503(Error:error.type,message)
POST/v1/migrations/qbwc/connections/{id}/revoke
Revoke a connection: Web Connector is refused from now on (nvu), sessions end, staged raw data is wiped. Final.
- Operation
revokeQbwcConnection - Scope: admin
- Write: needs Idempotency-Key (or dry_run)
- Parameters
idpath, string, required
- Request body
reasonstring, required
- Responses
200Revoked (object)- Errors
400,401,403,404,409,422,429,500,503(Error:error.type,message)
POST/v1/migrations/qbwc/connections/{id}/unlock
Unlock a connection locked after repeated wrong passwords
- Operation
unlockQbwcConnection - Scope: admin
- Write: needs Idempotency-Key (or dry_run)
- Parameters
idpath, string, required
- Request body
Empty object
{}.- Responses
200Unlocked (object)- Errors
400,401,403,404,409,422,429,500,503(Error:error.type,message)
POST/v1/migrations/qbwc/connections/{id}/import
Import the connection's bundle into these (empty) books (people only). Refused unless the extraction tie-out passed; the ledger then runs its own tie-out: on any difference nothing is kept and the attempt is recorded as failed.
- Operation
importQbwcBundle - Scope: admin
- Write: needs Idempotency-Key (or dry_run)
- Parameters
idpath, string, required
- Request body
Empty object
{}.- Responses
201Recorded: imported (result PASS) or failed (result FAIL, with the report) (object)- Errors
400,401,403,404,409,422,429,500,503(Error:error.type,message)
GET/v1/migrations
Migration imports into this company with their tie-out results
- Operation
listMigrations - Scope: read
- Read
- Responses
200Migrations (object)- Errors
400,401,403,429,500,503(Error:error.type,message)
POST/v1/migrations/{id}/cutover
Cut over to Evenbead (people only): needs an imported migration whose tie-out passed; revokes its Web Connector or QuickBooks Online connection. Final.
- Operation
cutoverMigration - Scope: admin
- Write: needs Idempotency-Key (or dry_run)
- Parameters
idpath, string, required
- Request body
Empty object
{}.- Responses
200Cut over (object)- Errors
400,401,403,404,409,422,429,500,503(Error:error.type,message)
POST/v1/migrations/qbo/connections
Start a QuickBooks Online migration (people only): returns Intuit's consent URL once, with a single-use state valid for 15 minutes. Read-only access (accounting scope); nothing is written to QuickBooks.
- Operation
createQboConnection - Scope: admin
- Write: needs Idempotency-Key (or dry_run)
- Request body
as_ofstring, required Export date: transactions through this date, reports and aging as of it.include_tax_idsboolean Keep vendor tax IDs (QBO returns them masked).
- Responses
201Created (object)- Errors
400,401,403,409,422,429,500,503(Error:error.type,message)
GET/v1/migrations/qbo/connections
QuickBooks Online migration connections, newest first
- Operation
listQboConnections - Scope: read
- Read
- Responses
200Connections (object)- Errors
400,401,403,429,500,503(Error:error.type,message)
GET/v1/migrations/qbo/connections/{id}
A QuickBooks Online connection with its bundle and import attempts
- Operation
getQboConnection - Scope: read
- Read
- Parameters
idpath, string, required
- Responses
200Connection (object)- Errors
400,401,403,404,429,500,503(Error:error.type,message)
POST/v1/migrations/qbo/connections/{id}/authorize
Finish Intuit's consent (people only): the code, state and realmId Intuit sent to the redirect URI. The code is exchanged once; tokens are sealed at rest and rotated on refresh; the QuickBooks company is recorded once.
- Operation
authorizeQboConnection - Scope: admin
- Write: needs Idempotency-Key (or dry_run)
- Parameters
idpath, string, required
- Request body
codestring, requiredstatestring, requiredrealm_idstring, required
- Responses
200Authorized (object)- Errors
400,401,403,404,409,422,429,500,502,503(Error:error.type,message)
POST/v1/migrations/qbo/connections/{id}/estimate
Pre-flight: count the company's records (metered reads themselves) and estimate the extraction's calls against this month's read budget
- Operation
estimateQboConnection - Scope: admin
- Write: needs Idempotency-Key (or dry_run)
- Parameters
idpath, string, required
- Request body
Empty object
{}.- Responses
200Estimate (object)- Errors
400,401,403,404,409,422,429,500,502,503(Error:error.type,message)
POST/v1/migrations/qbo/connections/{id}/extract
Run the extraction: every list and posting transaction through the export date (pages of 1,000), Trial Balance per month-end, General Ledger per month, AR/AP aging; the evenbead-export bundle (sealed at rest), the Desktop tie-out and the disclosure report. Refused (budget_exceeded) when the last estimate does not fit this month's remaining reads.
- Operation
extractQboConnection - Scope: admin
- Write: needs Idempotency-Key (or dry_run)
- Parameters
idpath, string, required
- Request body
Empty object
{}.- Responses
200Extracted (status extracted) or tie-out failed (status failed) (object)- Errors
400,401,403,404,409,422,429,500,502,503(Error:error.type,message)
GET/v1/migrations/qbo/connections/{id}/tieout
The extraction's tie-out (JSON and Markdown): trial balance per month-end, coverage, per-document checks, AR/AP aging
- Operation
getQboTieout - Scope: read
- Read
- Parameters
idpath, string, required
- Responses
200Tie-out (object)- Errors
400,401,403,404,429,500,503(Error:error.type,message)
GET/v1/migrations/qbo/connections/{id}/disclosure
What QuickBooks Online could not export for this company (audit log, reconciliation state, bank rules, attachments, ...) and how each is handled
- Operation
getQboDisclosure - Scope: read
- Read
- Parameters
idpath, string, required
- Responses
200Disclosure (object)- Errors
400,401,403,404,429,500,503(Error:error.type,message)
POST/v1/migrations/qbo/connections/{id}/import
Import the extraction's bundle into these (empty) books (people only), with the same importer and ledger tie-out as Desktop; then cut over with POST /v1/migrations/{id}/cutover
- Operation
importQboBundle - Scope: admin
- Write: needs Idempotency-Key (or dry_run)
- Parameters
idpath, string, required
- Request body
Empty object
{}.- Responses
201Recorded: imported (PASS) or failed (FAIL, with the report) (object)- Errors
400,401,403,404,409,422,429,500,503(Error:error.type,message)
POST/v1/migrations/qbo/connections/{id}/revoke
Revoke a connection: tokens revoked at Intuit (best effort) and wiped here. Final.
- Operation
revokeQboConnection - Scope: admin
- Write: needs Idempotency-Key (or dry_run)
- Parameters
idpath, string, required
- Request body
reasonstring, required
- Responses
200Revoked (object)- Errors
400,401,403,404,409,422,429,500,503(Error:error.type,message)
GET/v1/migrations/qbo/usage
This month's metered QuickBooks Online reads for the deployment against its budget (reads of our own data are never metered; Intuit meters ours)
- Operation
getQboUsage - Scope: read
- Read
- Responses
200Usage (QboUsage)- Errors
400,401,403,429,500,503(Error:error.type,message)