For AI agents: a documentation index is available at https://docs.coverbase.com/llms.txt. This page is also available in markdown by appending .md to the URL.
Import Report
POST
POST /v1/import/{slug}external_id. The response lists what each record created or updated.
Path parameters
string
required
The import report’s slug, shown as the endpoint on the report’s Configure tab.
Request body
The request body is a JSON object with adata key containing an array of records (or a single record object). Each record is an object whose keys are the mapped field names defined in the report and whose values are the incoming field values.
array
required
Records to import. Each record must include all fields marked as Required in the report’s mapping.
Example request
Example response
200 OK when every record succeeds:
Response fields
boolean
true on a 200 response.string
A summary, such as
Successfully imported 2 record(s).integer
Number of records processed successfully, whether they created or updated objects.
object[]
One entry per successful record: its
record_index (position in data), and the objects it created or updated under vendor, services, engagements, assessments, and findings. Each object carries id, external_id, created (true for a new object, false for an update), and warnings, such as an owner email that matched no user and was skipped.object[] | null
Warnings that did not fail a record, such as a custom field sent as
null, which is not written. null when there are none.Errors
If any record fails, the response is422. Records that succeeded are still saved, so fix the failed records and resend them; because records upsert on external_id, resending the whole batch is also safe. The detail object carries:
string
A summary, such as
Imported 1 of 2 record(s) with 1 error(s).integer
Number of records that succeeded.
integer
Number of records in the request.
object[]
One entry per failed record, with
record_index, error (a readable message, for example Record missing required field External Id), field (the incoming field name at fault, when there is one), base_object (which object the field belongs to, in a report that imports several), and created (objects a multi-object record saved before it failed, or null).object[]
The results for the records that succeeded, in the same shape as
records above.422 with a plain-string detail: a body that is not valid JSON or has no records (Invalid JSON: ...), or a slug with no import report (Invalid import slug).
Partial success is supported. Records that pass validation are imported even if other records in the same batch fail. The HTTP status is
200 only when every record succeeds.Need help? Email support@coverbase.ai.