First step of an import. Validates the declared files against the selected provider (enabled provider/sub-provider, accepted extensions, single vs multiple files, required files, required customerManager / validityMonth parameters), creates a data import record in status INITIATED and returns a pre-signed S3 uploadUrl, valid for 15 minutes. The client must then PUT all the declared files as a single ZIP archive (Content-Type: application/zip) to that URL and call startDataImport.
Single set (default, multiSet absent or false): all files must form one set; the response holds record and uploadUrl. Validation errors are returned immediately (400). The request is rejected with 403 if an import uploaded by the same user is still running and was created less than 60 minutes ago.
Multi set (multiSet: true): for providers that auto-detect their sub-provider, files are split into sets (e.g. one per agent or file type) and one record is created per set; the response holds records, each with its own uploadUrl. A set that fails validation does not fail the request: its record is saved directly as FAILED with a failureReason, has no uploadUrl, and a data-import-record-failed event is published.
Authorization: any authenticated user. Imports are always created for the caller's own agency: agencyId, when given, must be the caller's agency. The customerManager parameter must be a user of that agency unless the import targets a specific customer (customerId).
Errors: 400 for an unknown/disabled provider or sub-provider, empty or unnamed files, files the provider does not accept, missing or invalid parameters (a validityMonth must be a past month, format YYYY-MM, year 2000 or later); 403 for another agency or a still-running import.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
400Invalid request: unknown or disabled provider, unaccepted or unrecognized files, missing or invalid parameters
403agencyId is not the caller's agency, or a previous import of the caller is still running