Upload a CSV lead list for review
const url = 'https://api.vocapable.com/v1/workspace/imports';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"file_name":"example","content":"example","default_country":"US"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.vocapable.com/v1/workspace/imports \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "file_name": "example", "content": "example", "default_country": "US" }'Stage the file and suggest a column mapping. Nothing is matched or created yet.
Uploading the identical file while an earlier copy is still under review opens that review (200) instead of starting a second one.
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”Responses
Section titled “Responses”The identical file is already under review.
object
object
object
What the list holds and, after a commit, what happened. outreach_scheduled is
always zero: an import never schedules outreach.
object
A teammate named on a record: the id the server holds and the name to show.
object
A teammate named on a record: the id the server holds and the name to show.
object
A teammate named on a record: the id the server holds and the name to show.
object
object
object
An existing person (or business) the lead could be.
A teammate named on a record: the id the server holds and the name to show.
object
Example
{ "source": "csv", "status": "uploaded", "fields": [ { "key": "company" } ], "counts": { "total": 0, "new": 0, "existing": 0, "ambiguous": 0, "suppressed": 0, "invalid": 0, "awaiting_decision": 0, "to_create": 0, "to_link": 0, "to_skip": 0, "created": 0, "linked": 0, "skipped": 0, "failed": 0, "outreach_scheduled": 0 }, "rows": [ { "match_kind": "new", "underlying_kind": "new", "decision": "pending", "result": "pending", "candidates": [ { "signal": "phone" } ] } ]}Successful Response
object
object
object
What the list holds and, after a commit, what happened. outreach_scheduled is
always zero: an import never schedules outreach.
object
A teammate named on a record: the id the server holds and the name to show.
object
A teammate named on a record: the id the server holds and the name to show.
object
A teammate named on a record: the id the server holds and the name to show.
object
object
object
An existing person (or business) the lead could be.
A teammate named on a record: the id the server holds and the name to show.
object
Example
{ "source": "csv", "status": "uploaded", "fields": [ { "key": "company" } ], "counts": { "total": 0, "new": 0, "existing": 0, "ambiguous": 0, "suppressed": 0, "invalid": 0, "awaiting_decision": 0, "to_create": 0, "to_link": 0, "to_skip": 0, "created": 0, "linked": 0, "skipped": 0, "failed": 0, "outreach_scheduled": 0 }, "rows": [ { "match_kind": "new", "underlying_kind": "new", "decision": "pending", "result": "pending", "candidates": [ { "signal": "phone" } ] } ]}Validation Error
object
object
object
Examplegenerated
{ "detail": [ { "loc": [ "example" ], "msg": "example", "type": "example", "input": "example", "ctx": {} } ]}