Unable to promote file/folder to PDS using Catalog API

I am trying to promote a folder to PDS using the Catalog REST API, but no matter what I try, I get

“Could not find entity to promote with ud [dremio:/minio/my_bucket/folder]”

Request:

URL: http://dremio_ip:port/api/v3/catalog/dremio%3A%2Fminio%2Fmy_bucket%2Ffolder

Body:

{
    "entityType": "dataset",
    "id": "dremio%3A%2Fminio%2Fmy_bucket%2Ffolder",
    "type": "PHYSICAL_DATASET",
    "path": [
    	"minio",
    	"my_bucket",
    	"folder"
    ],
    "format": {
        "type": "Iceberg"
    }
}
  • I have tried with Parquet, Iceberg, and CSV files … All with same result.
  • I have tried with encoded paths and UUIDs of previously promoted folders … Same result
  • I have tried including all the properties for the format, fields, etc. returned by the catalog API for the same dataset after promoting it in the UI … same result

I can see in the log, that dremio is still using the v2 API internally when promoting through the UI… Is the v3 API broken, or what am I doing wrong?

Creating spaces, folders, and sources are working fine, but I can’t seem to get the promotion working.

Using Dremio 19.1.0

NB: The ud in the error message should probably be changed to id :wink:

How exactly are you making the call - curl/python/etc? The error implies the id part of the URL is not being encoded correctly.

I am posting json using Postman. The error message in the response indicates that the URL has been decoded correctly by Dremio.

I can request the catalog/by-path and get information about the folder, including the id I am using in the POST

You where absolutely right… When I use a variable for the ID in the URL in postman, it works.