Bulk import status
Overview
Get live progress and the final outcome of a bulk account+location import (Bulk import accounts + locations (CSV upload)). Poll until status is terminal.
Prerequisites
- A bearer token in the
Authorizationheader. - The
bulkImportIdof the record you are targeting.
Base URL
| Environment | URL |
|---|---|
| Production | https://production-api.shoutaboutus.com |
| Development | https://development-api.shoutaboutus.com |
Endpoint
GET /api/v1/partner/account/bulk-import/{bulkImportId}
Authentication
-
Requires a bearer token in the
Authorization: Bearer <bearer-token>header. -
Partner — authentication. Returns the import only when it belongs to the caller's partner (else 404); 403 if the caller is not a partner.
Rate limit
- No rate limit.
Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
bulkImportId | integer | Required | Digits only. |
Response
| Field | Type | Notes |
|---|---|---|
status | string | queued, then preparing, then processing, then terminal completed / completed_with_errors / failed. |
total_rows | integer | CSV data rows read. |
processed_rows | integer | Rows that reached a terminal outcome (created + skipped). |
created_rows | integer | Accounts successfully provisioned. |
skipped_rows | integer | Rows skipped (invalid / duplicate / plan_unavailable / unknown_country). |
created_cities | integer | New city reference rows minted during geo resolve. |
created_states | integer | New state reference rows minted during geo resolve. |
skip_breakdown | object | Map of skip reason → count, e.g. { "duplicate_email": 1, "plan_unavailable": 2 }. |
error_message | string|null | Set only when status = failed. |
queued_at / started_at / completed_at | timestamp|null | Lifecycle timestamps. |
200 Success · 200
200{
"data": {
"import_id": 2,
"status": "completed_with_errors",
"total_rows": 22,
"processed_rows": 22,
"created_rows": 21,
"skipped_rows": 1,
"created_cities": 1,
"created_states": 0,
"skip_breakdown": {
"duplicate_email": 1
},
"error_message": null,
"queued_at": "2026-06-30T07:02:03.000000Z",
"started_at": "2026-06-30T07:02:04.000000Z",
"completed_at": "2026-06-30T07:02:07.000000Z"
}
}404 Not found · 404
404{
"message": "Import not found.",
"status": "error",
"errors": []
}Errors
| Status | Meaning |
|---|---|
401 | The bearer token is missing, expired or invalid |
403 | Returned if the caller is not a partner |
404 | Not found |
500 | Unexpected server error |
Example request
curl --request GET \
--url "https://production-api.shoutaboutus.com/api/v1/partner/account/bulk-import/123" \
--header 'Authorization: Bearer <bearer-token>' \
--header 'Accept: application/json'Updated 16 days ago
Did this page help you?
