httpAPI does not work for Stardog 11.0.0

Hi!
I would like to mapp data to Stardog through httpAPI, but in the new version it is failed.

This is the code what I use:

import requests

# Stardog Server and Authentication
stardog_url = ''
username = ''
password = ''

# parameters
graph = "urn:httpAPI_test_v2"
database_name = "database_name"
mappings_file = "mapping.sms"
json_file = "test.json"

# API Endpoint
url = f"{stardog_url}/admin/virtual_graphs/import"

# Files to Upload
files = {
    "mappings": (mappings_file, open(mappings_file, "rb"), "text/plain"),
    "input_file": (json_file, open(json_file, "rb"), "application/json"),
}

# Form Data
data = {
    "database": database_name,
    "input_file_type": "JSON",
    "named_graph": graph
}

response = requests.post(url, auth=(username, password), files=files, data=data)

If I use on server v10.2.1 the mapping is performed successfully, if I use on server v 11.0.0 than I get the following error message:

{"message":"Missing input_file_iri Multi-Part form data part","code":"000IA2","timestamp":"2025-03-21T08:46:17.579917Z","stacktrace":"java.lang.IllegalArgumentException: Missing input_file_iri Multi-Part form data part\n\tat com.complexible.stardog.protocols.http.server.virtual.admin.VirtualGraphHttpService.importFileVG(VirtualGraphHttpService.java:799)\n\tat com.complexible.stardog.protocols.http.server.virtual.admin.VirtualGraphHttpService.importFileDeprecated(VirtualGraphHttpService.java:726)\n\tat com.stardog.http.server.undertow.jaxrs.ExtractRoutes.lambda$handleIt$5(ExtractRoutes.java:205)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)\n\tat java.base/java.lang.Thread.run(Thread.java:829)\n","stacktraceBinary":"rO0ABXNyACJqYXZhLmxhbmcuSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9utYlz031mj7wCAAB4cgAaamF2YS5sYW5nLlJ1bnRpbWVFeGNlcHRpb26eXwZHCjSD5QIAAHhyABNqYXZhLmxhbmcuRXhjZXB0aW9u0P0fPho7HMQCAAB4cgATamF2YS5sYW5nLlRocm93YWJsZdXGNSc5d7jLAwAETAAFY2F1c2V0ABVMamF2YS9sYW5nL1Rocm93YWJsZTtMAA1kZXRhaWxNZXNzYWdldAASTGphdmEvbGFuZy9TdHJpbmc7WwAKc3RhY2tUcmFjZXQAHltMamF2YS9sYW5nL1N0YWNrVHJhY2VFbGVtZW50O0wAFHN1cHByZXNzZWRFeGNlcHRpb25zdAAQTGphdmEvdXRpbC9MaXN0O3hwcQB+AAh0ADBNaXNzaW5nIGlucHV0X2ZpbGVfaXJpIE11bHRpLVBhcnQgZm9ybSBkYXRhIHBhcnR1cgAeW0xqYXZhLmxhbmcuU3RhY2tUcmFjZUVsZW1lbnQ7AkYqPDz9IjkCAAB4cAAAAAZzcgAbamF2YS5sYW5nLlN0YWNrVHJhY2VFbGVtZW50YQnFmiY23YUCAAhCAAZmb3JtYXRJAApsaW5lTnVtYmVyTAAPY2xhc3NMb2FkZXJOYW1lcQB+AAVMAA5kZWNsYXJpbmdDbGFzc3EAfgAFTAAIZmlsZU5hbWVxAH4ABUwACm1ldGhvZE5hbWVxAH4ABUwACm1vZHVsZU5hbWVxAH4ABUwADW1vZHVsZVZlcnNpb25xAH4ABXhwAQAAAx90AANhcHB0AFNjb20uY29tcGxleGlibGUuc3RhcmRvZy5wcm90b2NvbHMuaHR0cC5zZXJ2ZXIudmlydHVhbC5hZG1pbi5WaXJ0dWFsR3JhcGhIdHRwU2VydmljZXQAHFZpcnR1YWxHcmFwaEh0dHBTZXJ2aWNlLmphdmF0AAxpbXBvcnRGaWxlVkdwcHNxAH4ADAEAAALWcQB+AA5xAH4AD3EAfgAQdAAUaW1wb3J0RmlsZURlcHJlY2F0ZWRwcHNxAH4ADAEAAADNcQB+AA50ADRjb20uc3RhcmRvZy5odHRwLnNlcnZlci51bmRlcnRvdy5qYXhycy5FeHRyYWN0Um91dGVzdAASRXh0cmFjdFJvdXRlcy5qYXZhdAARbGFtYmRhJGhhbmRsZUl0JDVwcHNxAH4ADAIAAARocHQAJ2phdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvcnQAF1RocmVhZFBvb2xFeGVjdXRvci5qYXZhdAAJcnVuV29ya2VydAAJamF2YS5iYXNldAAHMTEuMC4yNXNxAH4ADAIAAAJ0cHQALmphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXJxAH4AGnQAA3J1bnEAfgAccQB+AB1zcQB+AAwCAAADPXB0ABBqYXZhLmxhbmcuVGhyZWFkdAALVGhyZWFkLmphdmFxAH4AIHEAfgAccQB+AB1zcgAfamF2YS51dGlsLkNvbGxlY3Rpb25zJEVtcHR5TGlzdHq4F7Q8p57eAgAAeHB4"}

Could you support me how to manage the issue?

Hi Tamas,

There's a new data element, input_file_iri, that Stardog uses for tracking the lineage of your imported data in the catalog. You can supply that in your data. In the next release, Stardog will default this if it is not provided.

data = {
    "database": database_name,
    "input_file_type": "JSON",
    "named_graph": graph,
    "input_file_iri": "urn:test"
}

-Paul

Hi Paul,
Thanks, it seems it works. I'll try for csv file format as well!