Import Locations (admin – create verified)

Admin "create verified" import: validates the same Excel file/header/rows, then for each row persists an RsImportLocation record (company_id = account_id, location_name, raw row_data JSON) and dispatches a CreateLocation job to actually create the location asynchronously.

Auth: Both — authentication. In the top-level authenticated group. The endpoint scopes the target by the account_id rule: must be a company row with bundle_id=3 (Account), not soft-deleted, and pass an ownership check. A Partner (bundle_id=1) reaches Accounts under their tree; a Account user reaches Accounts in their own hierarchy.

Rate limit: No rate limit.

Request

  • Body (multipart/form-data):
FieldTypeRequiredNotes
account_idintegeryesMust be an existing, non-deleted account, and belong to the auth user's hierarchy (an ownership check). Used as company_id.
location_filefile (xlsx/xls)yesmimetypes:application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, max 10240 KB. Same 14-column header template as bulk-upload.

Per-row rules are identical to POST /api/v1/bulk-upload/locations: required address, city, state, zip, business_phone (9-10 digits), country_code (must be a known country code), location_name. Optional gbp_name, location_user_phone_number_optional, location_user_email_address_optional (valid/unique/distinct email); #NAME? formula values rejected.

Response{ data. } envelope. Validation-failure path returns HTTP 200; bad header/empty file returns an errorResponse (message-only) at HTTP 200.

  • status (string) — The endpoint saves "success" once rows and jobs dispatched, "error" when per-row validation fails.
  • message (string) — human-readable status text.
  • errors (object, only when status=error) — map keyed by spreadsheet row number (data row index + 2) to arrays of error message strings.
Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params
integer
string
Responses

Language
Credentials
Bearer
JWT
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json