Upload migration data

POST https://app.speybooks.com/api/v1/migrations/{id}/upload

Attach standalone import IDs to a migration session. Each field links a confirmed import (from the UCI, OBCE, or ODCE pipelines) to the migration.

Request Body

All fields are optional. Provide the ones you want to attach or update:

  • contactsImportIddimp_* ID from contact import
  • balancesImportIddimp_* ID from opening balance
  • invoicesImportIddimp_* ID from AR document import
  • billsImportIddimp_* ID from AP document import

Set any field to null to detach it.

After updating, the endpoint re-computes the migration status via computeStatus() and advances it if appropriate.

Returns 422 if the migration is in a terminal state.

Path parameters

id string required
Migration ID (e.g. mig_1).

Body parameters

balancesImportId string optional
Opening balances import ID (e.g. dimp_2) from the OBCE pipeline.
billsImportId string optional
Purchase bills import ID (e.g. dimp_4) from the ODCE pipeline.
contactsImportId string optional
Contacts import ID (e.g. dimp_1) from the UCI pipeline.
invoicesImportId string optional
Sales invoices import ID (e.g. dimp_3) from the ODCE pipeline.

Response

200 Import IDs attached. Status auto-advances if all required slots are filled.
Show response fields
balancesImportId string
billsImportId string nullable
contactsImportId string
id string
invoicesImportId string nullable
provider string
status string

Error codes

400 No import IDs provided.
404 Migration not found.
422 Migration is in a terminal state (completed/abandoned).