Fetch Account Migration

Retrieve migration progress using the original account ID, including after completion or failure.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
GET /bank_account/{account_id}/migration
Authorization: Bearer <api_key>

Use the original account's organisation and environment API key. Follow the authentication requirements, including request signing where required. This read does not initiate or retry migration.

{
  "status": "success",
  "message": "Bank account migration retrieved successfully",
  "data": {
    "target_account_id": "replacement-account-id",
    "status": "pending",
    "status_reason": "action_required",
    "status_description": "Complete the outstanding verification requests to continue.",
    "inquiry_request_ids": ["inquiry-id"],
    "initiated_at": "2026-10-30T12:00:00Z"
  },
  "meta": null
}

All six fields in data are required:

FieldMeaning
target_account_idString ID of the replacement. Fetch this account for its bank details.
statuspending, completed, or failed. Use this field for the migration outcome; the envelope's status describes the API request.
status_reasonNullable reason code, described below.
status_descriptionCustomer-facing explanation. Branch on codes, not this text.
inquiry_request_idsArray of outstanding inquiry IDs associated with this migration, sorted by ID. Always empty for completed or failed migrations.
initiated_atUTC date-time of initiation; unchanged by retries.
Migration statusReasonNext step
pendingaction_requiredFetch outstanding inquiries and complete available actions; refresh expired links.
pendingverification_pendingVerification is being reviewed. Continue checking progress.
pendingaccount_creation_pendingThe replacement is being created. Continue checking progress.
pendingactivation_pendingFinal checks and activation are pending. Continue checking progress.
pendingprocessingProcessing is ongoing without a customer action currently available. Reconcile prolonged delays with Graph.
completednullFetch the replacement and update your stored account references and displayed bank details.
failedmigration_failedContact Graph. Repeating initiation does not create another attempt.

Outstanding inquiries can be awaiting review; a non-empty array does not itself mean customer action is required. Retrieve instructions and links with Fetch Inquiry Request, or list inquiries with account_id={target_account_id}. See Handling RFIs for hosted actions and expired-link refresh.

A timeout or technical delay is not a final failure. Completed and failed outcomes remain terminal even if the replacement account or person later changes. Use this endpoint to reconcile delayed or missed webhooks.

HTTP statusMeaning
200Migration returned; data is non-null.
400Original account not found or outside the key's organisation/environment.
401Authentication failed or the organisation is not permitted to access accounts.
404No migration found for this original account. The response message is No migration found for this bank account, with data: null.
500Unexpected error; retry the read or contact Graph if it persists.

See the migration guide for the complete integration flow.

Path Params
string
required

Original account ID, including for repeat requests and completed migrations.

Responses

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json