List past imports
GET
/v1/contact-imports
const url = 'https://api.vocapable.com/v1/contact-imports?limit=50';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://api.vocapable.com/v1/contact-imports?limit=50' \ --header 'Authorization: Bearer <token>'Import history, newest first.
Each row carries the consent attestation the import was submitted under - the named signer, their title, the server-stamped address and time. Those are the evidence behind every dial made against the list the import built, so the history is a record to be kept rather than a convenience.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”limit
Limit
integer
Responses
Section titled “Responses”Successful Response
Media typeapplication/json
CursorPage[ImportJob]
object
data
required
Data
Array<object>
ImportJobobject
id
required
Id
string
status
required
JobStatus
Lifecycle shared by the async import and export jobs.
string
file_uri
required
File Uri
string
column_mapping
Column Mapping
object
key
additional properties
string
consent_attestation
required
ConsentAttestation
The stored attestation. signer_ip and signed_at are stamped by the API - a
client-supplied timestamp is a claim, not evidence.
object
signer_name
required
Signer Name
string
signer_title
required
Signer Title
string
affirmation
required
Affirmation
string
consent_basis
required
ConsentBasis
CANON fact 18 - the four consent classes (docs/07-compliance.md §consent).
string
signed_at
required
Signed At
string format: date-time
rows_accepted
required
Rows Accepted
integer
rows_rejected
required
Rows Rejected
integer
rows_skipped
Rows Skipped
integer
on_duplicate
On Duplicate
string
created_at
required
Created At
string format: date-time
updated_at
required
Updated At
string format: date-time
has_more
Has More
boolean
Example
{ "data": [ { "status": "queued", "consent_attestation": { "consent_basis": "pewc" }, "rows_skipped": 0, "on_duplicate": "reject" } ], "has_more": false}Validation Error
Media typeapplication/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationErrorobject
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object
Examplegenerated
{ "detail": [ { "loc": [ "example" ], "msg": "example", "type": "example", "input": "example", "ctx": {} } ]}