Skip to content
Pile
Esc
↑↓navigate↵open⌘Jpreview

Create customer import

Bulk merchant import — Scout’s write path. Each row becomes a customer deduped on externalId (placeId maps to “gplace:<place_id>”); re-runs return existing records and fill empty slots rather than duplicating. Optionally creates an initial deal per row (stage defaults to “lead”). Every row lands a receipt (created/existing/failed + why) and the batch itself is persisted as an import receipt readable via GET /customer-imports/{id}.

POST/workspaces/{organizationId}/customers/import
Path parameters
organizationIdstringrequired
Request body
application/json
sourcestring
corridorstring
rowsobject[]required
min items 1 · max items 1000
Show properties
Array of object
placeIdstring
min length 1
externalIdstring
min length 1 · max length 255
namestringrequired
min length 1
urlstring | null
notesstring | null
statusstring
min length 1
statusIdstring
tierIdstring
ownerIdstring
nextStepTextstring | null
nextStepDueAtstring | null
needsHumanboolean | null
needsHumanReasonstring | null
priorityScorenumber | null
customFieldsobject
dealobject
Show properties
namestring
stagestring
Allowed:leadqualifiedproposalnegotiationwonlost
amountCentsinteger | null
min 0
currencystring | null
min length 3 · max length 3
expectedCloseAtstring | null
descriptionstring | null
priorityScorenumber | null
Responses
200

Import receipt — per-row outcomes included

idstringrequired
organizationIdstringrequired
sourcestring | nullrequired
corridorstring | nullrequired
totalintegerrequired
createdintegerrequired
existingintegerrequired
failedintegerrequired
createdByIdstring | nullrequired
createdAtstringrequired
rowsobject[]required
Show properties
Array of object
indexintegerrequired
externalIdstring | nullrequired
outcomestringrequired
Allowed:createdexistingfailed
customerIdstring
dealIdstring
errorstring
Try it
Server
Parameters
Bodyapplication/json
Request
curl -X POST '/workspaces/string/customers/import' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  "source": "string",
  "corridor": "string",
  "rows": [
    {
      "placeId": "string",
      "externalId": "string",
      "name": "string",
      "url": "string",
      "notes": "string",
      "status": "string",
      "statusId": "string",
      "tierId": "string",
      "ownerId": "string",
      "nextStepText": "string",
      "nextStepDueAt": "string",
      "needsHuman": true,
      "needsHumanReason": "string",
      "priorityScore": 0,
      "customFields": {
        "property1": "string",
        "property2": "string"
      },
      "deal": {
        "name": "string",
        "stage": "lead",
        "amountCents": 0,
        "currency": "str",
        "expectedCloseAt": "string",
        "description": "string",
        "priorityScore": 0
      }
    }
  ]
}'
Response
{
  "id": "string",
  "organizationId": "string",
  "source": "string",
  "corridor": "string",
  "total": 0,
  "created": 0,
  "existing": 0,
  "failed": 0,
  "createdById": "string",
  "createdAt": "string",
  "rows": [
    {
      "index": 0,
      "externalId": "string",
      "outcome": "created",
      "customerId": "string",
      "dealId": "string",
      "error": "string"
    }
  ]
}

Was this page helpful?