One import with its mapping and summary
Any member, or an API key with the import scope (ADR-026). Poll it after validateImport: the
status becomes validated (or failed) and summary counts valid, warning, error and duplicate
rows.
apiKeyAuthorizationBearer <token>Organisation API key sent as Authorization: Bearer bp_live_… (ADR-017). Accepted only by the
operations that list this scheme, with the scope in their x-api-key-scope.
importId*stringuuidThe import.
application/json- response
Either created_by (a member uploaded the file) or created_by_api_key (an integration staged
it with an API key of scope import, ADR-026) is set.
approved_at?stringdate-timeapproved_by?stringuuidcommitted_at?stringdate-timecreated_at*stringdate-timecreated_by?created_by_api_key?An organisation API key (ADR-017) that reported an event (source api) or staged an import (ADR-026).
filename*stringformat*ImportFormat"csv""xlsx"headers*array<string>id*stringuuidmapping*array<>options*preset?ImportPresetIdAn import preset of the ERP registry (getErpRegistry, ADR-026): which column header of an ERP
export maps to which registry field.
^[a-z0-9]+(-[a-z0-9]+)*$length <= 60row_count*integerData rows (empty rows are left out).
row_version*RowVersionOptimistic-concurrency version; send it back as If-Match when updating.
int641 <= valuesample_rows*array<array<string>>The first data rows of the file as read (at most 5), to show example values while mapping.
sheet?stringThe XLSX worksheet that was read.
size_bytes*integerint64status*ImportStatusuploaded (mapping can change) → validating → validated → committing → committed;
failed when the file could not be validated (validate again). A changed mapping sends a
validated import back to uploaded.
"uploaded""validating""validated""committing""committed""failed"summary?updated_at*stringdate-timevalidated_at?stringdate-timecurl -X GET 'https://example.com/api/v1/imports/497f6eca-6276-4993-bfeb-53cbbbba6f08'{ "approved_at": "2019-08-24T14:15:22Z", "approved_by": "02030314-b162-4b4d-8af1-88eabdcc615d", "committed_at": "2019-08-24T14:15:22Z", "created_at": "2019-08-24T14:15:22Z", "created_by": { "display_name": "string", "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08" }, "created_by_api_key": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string" }, "filename": "string", "format": "csv", "headers": [ "string" ], "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "mapping": [ { "auto": true, "column": 0, "header": "string", "target": "string", "unit": "string" } ], "options": { "battery_model_id": "6a002912-62a3-4058-99d0-53cbf87e9e1c", "facility_id": "82d24387-b696-4928-8926-f6f7f16d3353" }, "preset": "string", "row_count": 0, "row_version": 1, "sample_rows": [ [ "string" ] ], "sheet": "string", "size_bytes": 0, "status": "uploaded", "summary": { "approved": 0, "created": 0, "duplicates": 0, "errors": 0, "not_approved": 0, "rows": 0, "valid": 0, "warnings": 0 }, "updated_at": "2019-08-24T14:15:22Z", "validated_at": "2019-08-24T14:15:22Z"}Upload a spreadsheet of units POST
Editor and above, or an API key with the `import` scope (ADR-026). A CSV (UTF-8, UTF-16 or Windows-1252; `;`, `,`, tab or `|` separated) or XLSX file of at most 10 MB, 10 000 rows and 200 columns; the first non-empty row holds the headers. The answer is the import with a mapping proposed from the headers (registry CSV headers, aliases, labels; units such as `(kWh)` are converted), or taken from the import preset named in `preset` (the ERP registry): a preset maps the columns it knows by their headers and leaves the others unmapped. A key stages the import only: members of the organisation commit it and approve its values in the portal, so declared data still enters through a member's decision.
Imports of the active organisation, newest first GET
Any member, or an API key with the `import` scope (ADR-026). An import staged with a key names the key in `created_by_api_key` instead of `created_by`.