Skip to main content
POST
Import data source

Authorizations

Authorization
string
header
required

Access token issued by gs.service.id. Its access_identity claim carries team_sid, actor_sid and actor_type, and that team scope is authoritative.

Team-SID
string
header
required

Team scope for tokens that do not carry one. Ignored when the token already names a team.

Path Parameters

sid
string
required

The draft source (ds_sc_…) - must be status=draft, type=csv; anything else → 409 invalid_transition or 422.

Required string length: 18
Pattern: ^ds_sc_

Body

application/json

Request body of import_data_source.

field_mapping
object[]
required

May be []: a column preset, not a filter (mapping nothing stages every row whole). A field_slug target with no live column materializes one (named by name, else the CSV header); item.field_mapping is authoritative, a clashing slug rewritten.

object_type
enum<string>

Override what the rows become: people | company. Absent = what the upload said.

Available options:
people,
company
mode
enum<string>

Override what the import does: create (new objects) | update (resolve an existing object by match and apply the mapped attributes). Absent = what the upload said.

Available options:
create,
update
match
object

Required when the resulting mode is update, prohibited when it is create.

on_duplicate
enum<string>

Override before start; default = the draft's stored policy.

Available options:
skip,
move
add_tags_to_duplicate
boolean

Override before start: merge tag_sids onto matched duplicates; default = the draft's stored policy.

qualify
object | null

The last word on the gate too: the block to run, null to switch it off, absent = what the upload said.

Response

action success envelope.

success
enum<boolean>
required
Available options:
true
operation
enum<string>
required
Available options:
action
action
string
required

kebab-case verb; matches the route segment.

item
object | null
required
result
object
required
meta
object
required