Upload migration data
POST
https://app.speybooks.com/api/v1/migrations/{id}/uploadAttach 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:
contactsImportId—dimp_*ID from contact importbalancesImportId—dimp_*ID from opening balanceinvoicesImportId—dimp_*ID from AR document importbillsImportId—dimp_*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 requiredMigration ID (e.g. mig_1).
Body parameters
balancesImportId string optionalOpening balances import ID (e.g. dimp_2) from the OBCE pipeline.
billsImportId string optionalPurchase bills import ID (e.g. dimp_4) from the ODCE pipeline.
contactsImportId string optionalContacts import ID (e.g. dimp_1) from the UCI pipeline.
invoicesImportId string optionalSales 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 stringbillsImportId string nullablecontactsImportId stringid stringinvoicesImportId string nullableprovider stringstatus stringError codes
400 No import IDs provided.
404 Migration not found.
422 Migration is in a terminal state (completed/abandoned).