SAP Knowledge Base Article - Public

3664793 - Signavio Process Intelligence Ingestion API data import fails with error: The delimiter cannot be empty

Symptom

Reference the online documentation

Using semicolon as the delimiter
Sample cURL script used:

curl -s --location --request POST https://api.eu.signavio.cloud.sap/spi/ingestions/v1/data \
  -H 'Authorization: Bearer <token string>' \
  --form 'file1=@csvfile.csv' \
  --form 'primaryKeys=PK1' \
  --form 'delimiter=;' \
  --form 'schema={
    "type":"record",
    "name":"TABLENAME",
    "fields": [
      {"name":"PK1","type":"string"},
      {"name":"F1","type":["null","string"]},
      {"name":"F2","type":["null","string"]}
    ]
  }' \
  --insecure

Resolution

Since semicolon is a shell special character (unlike comma), it is best practice to use --form-string instead of --form for the delimiter key. I.e.,
change
 --form 'delimiter=;'

to
--form-string 'delimiter=;'

Keywords

soe, Process, Intelligence, Ingestion, API, delimiter, cannot, empty, semicolon, form, form-stringe , KBA , BPI-SIG-PI-DS , Data Source (CSV, Connector) , Problem

Product

SAP Signavio Process Intelligence all versions