Skip to main content
GET
Get a single migration job by ID

Authorizations

Authorization
string
header
required

API key issued per entity via Settings > Developers > API Keys. Each key carries scopes (e.g. orders:read, products:write). Bearer token format: Authorization: Bearer ark_live_ent_Test keys use ark_test_ent_. Both are issued per entity
via Settings > Developers > API Keys.

Path Parameters

entity_id
string<uuid>
required
job_id
string<uuid>
required

Response

Migration job

Async bulk import job status record

id
string<uuid>
object
enum<string>
Available options:
migration_job
entity_id
string<uuid>
resource
string

Resource type (accounts, products, orders, journal-entries, vendor-bills, ap-payments, product-categories, product-variants, product-pricing-policies, product-vendors, product-prepackaged-presets, customer-payments, inventory-balances-opening-stock, inventory-balances-set-opening-stock, inventory-transactions, inventory-movements, order-tax-lines, account-addresses, account-contacts, purchase-orders, returns, vendor-credits)

status
enum<string>
Available options:
pending,
running,
completed,
failed,
partial
dry_run
boolean
conflict_mode
enum<string>
default:skip

How to handle a record whose (external_source, external_id) already exists in Arcus.

  • skip: leave the existing record unchanged, count as success
  • update: call the canonical UPDATE handler with the incoming payload
  • replace: NULL out the existing record's provenance UNIQUE, then INSERT new record
  • error: abort the entire batch on the first collision (default if not specified: skip)
Available options:
skip,
update,
replace,
error
external_source
string

Source system identifier (e.g. "versa", "shopify", "quickbooks")

total_records
integer
processed_records
integer
succeeded_records
integer
failed_records
integer
errors
object[]
started_at
string<date-time> | null
completed_at
string<date-time> | null
created_at
string<date-time>