Jobs and row results
202 Accepted only confirms that CFO queued the request. Save job_id, then call
GET /integrations/activity-imports/{job_id} until the job reaches a terminal status:
completed, completed_with_skips, completed_with_errors, or failed.
Next, call GET /integrations/activity-imports/{job_id}/items until all pages are read using
has_more and next_cursor. Reconcile received_rows, processed_rows, created_rows,
validated_rows, skipped_rows, pending_review_rows, and failed_rows against the items.
| Row status | Meaning |
|---|---|
would_create | dry-run passed; no business row exists |
created | persistence created the row |
skipped_duplicate | the stable business identity already exists |
failed | the row failed; record a sanitized code and trace |
Use a bounded polling interval, deadline, and maximum item pages. On timeout, retain the durable job ID and resume later—do not submit a new request merely because polling stopped.