ovidens
API-Referenz

Stage a CSV import and mint its upload URL

POST/v1/apps/{app}/datasets/{node}/imports

Stages an import for one dataset node and returns the identifier to commit plus a URL to upload the file to. Requires the data:write scope. The CSV dialect is validated and fully resolved here, before a byte is uploaded, so a conflicting option costs one round trip and the response echoes exactly what will be applied. Next: send the file with an HTTP PUT to uploadUrl (no authorization header - the URL carries its own), then call commitImport. The two expiry times are independent: uploadUrlExpiresAt is the URL's, expiresAt is the staged file's, and reading the import mints a fresh URL while it is still awaiting one.

Authorization

bearerAuth
AuthorizationBearer <token>

Obtain a token from https://id.ovidens.com/oauth/token using the client_credentials grant.

In: header

Path Parameters

app*string

The app's stable technicalId, as reported by listApps. It is a snake_case identifier, never a numeric id, and it survives a rename of the app.

Length1 <= length <= 64
node*string

The dataset node's stable technicalId, as reported by listDatasets.

Length1 <= length <= 64

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

mode*string

Value in

  • "replace"
  • "append"
filename?string
Length1 <= length <= 255
compression?string

Value in

  • "none"
  • "gzip"
csv?
curl -X POST "https://example.com/v1/apps/string/datasets/string/imports" \  -H "Content-Type: application/json" \  -d '{    "mode": "replace",    "filename": "customers-2026-08-01.csv",    "compression": "gzip",    "csv": {      "delimiter": ";",      "decimalSeparator": ",",      "dateFormat": "%d.%m.%Y"    }  }'
{  "importId": "imp_8c2f4a1d9e63",  "uploadUrl": "https://ovidens-data.s3.eu-central-1.amazonaws.com/tenant/.../imp_8c2f4a1d9e63.csv?X-Amz-Signature=...",  "uploadUrlExpiresAt": "2026-08-01T03:00:03.000Z",  "expiresAt": "2026-08-08T02:00:03.000Z",  "csv": {    "delimiter": ";",    "quote": "\"",    "escape": "\"",    "encoding": "utf-8",    "hasHeader": true,    "decimalSeparator": ",",    "thousandsSeparator": "",    "dateFormat": "%d.%m.%Y",    "timestampFormat": "%Y-%m-%dT%H:%M:%SZ",    "columns": {}  },  "mode": "replace"}

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

War diese Seite hilfreich?