POST
Sync Contacts

Authorizations

Authorization
string
header
required

Interactive user session: the login JWT, sent as Authorization: Bearer <token>.

Path Parameters

sequence_id
integer
required

Response

Successful Response

What one import of the attached CSV did — both halves of it.

This was a bare enrolled count, and a bare count reads as success: an import that refused 4,000 of 5,000 rows answered {"enrolled": 1000} and the panel rendered a success toast over it. The count stays, because every existing caller reads it and because "how many new people am I now calling" is a real question; what is added is everything needed to tell whether that number is the whole story.

result is the field a renderer must branch on. It exists so that "accepted nothing" cannot be inferred from arithmetic on two integers and then not be inferred — the case that produced the success toast.

enrolled
integer
required
accepted
integer
default:0
rejected
integer
default:0
rows_read
integer
default:0
result
string
default:imported
rejections_by_reason
Rejections By Reason · object
import_id
integer | null