data field must be a complete, valid JSON object for the specified resource type. Invalid records are skipped and reported in the job’s errors array rather than failing the entire batch. The endpoint returns a jobId immediately; poll the job status endpoint to track progress.
Request
POST https://api.clinikapi.com/v1/bulk/import
Headers
Your ClinikAPI secret key (
clk_live_* or clk_test_*).Must be
application/json.Body
The FHIR resource type for all records in this batch (e.g.
"Patient"). All lines in data must be valid records of this type.NDJSON payload — one complete JSON object per line, separated by newline characters (
\n). Maximum 10,000 records per batch.Response
Returns202 Accepted immediately. The import job runs asynchronously.
Unique job identifier (e.g.
job_xyz789). Use this to poll for status and check for import errors.Initial job status. Always
pending at the time of creation.Human-readable confirmation message.
Standard response metadata including
requestId, timestamp, status, and rate-limit fields.Import rules
- Maximum 10,000 records per batch.
- Your tenant tag is automatically injected into each record — you cannot override it.
- Invalid records are skipped and reported in the job’s
errorsarray. - Bulk operations are rate-limited to 5 per hour per tenant.
- Each imported record counts against your plan’s request limit.