Ubuntu noble image detected as private from Incus API CAll

Hi.

I’m running incus on Ubuntu 26.04. I’ve been creating containers from API calls in the last days and was working properly but since I have activated CPU and memory limits in the project for the images, the process is not creating any images.

This was the API call before the limits where imposed:

curl -s -k --cert REDACTED_CERTPATH --key REDACTED_CERTKEY -X POST “https://REDACTED_IP/1.0/instances?project=project1” -H “Content-Type: application/json” -d ‘{
“name”: “python”,
“architecture”: “x86_64”,
“config”: {
},
“description”: “Python template”,
“devices”: {},
“disk_only”: false,
“ephemeral”: false,
“source”: {
“alias”: “343b4e2e538674f3e1b333c06921176475a260462db0a2f93f069d58d280df33”,
“allow_inconsistent”: false,
“instance_only”: false,
“live”: false,
“mode”: “pull”,
“project”: “project1”,
“properties”: {
“os”: “Ubuntu”,
“release”: “noble”,
“variant”: “cloud”
},
“protocol”: “simplestreams”,
“refresh”: false,
“refresh_exclude_older”: false,
“secret”: “RANDOM-STRING”,
“secrets”: {
“criu”: “RANDOM-STRING”,
“rsync”: “RANDOM-STRING”
},
“server”: “https://images.linuxcontainers.org”,
“type”: “image”
},
“profiles”: [“python-flask-profile”],
“start”: false,
“stateful”: false,
“type”: “container”
}’

This call was working properly.

This is the API CALL after applying limits which is not working:

curl -s -k --cert REDACTED_CERTPATH --key REDACTED_CERTKEY -X POST “https://REDACTED_IP/1.0/instances?project=project1” -H “Content-Type: application/json” -d ‘{
“name”: “python”,
“architecture”: “x86_64”,
“config”: { “limits.cpu”: “1”,
“limits.memory”: “1GiB”
},
“description”: “Python template”,
“devices”: {},
“disk_only”: false,
“ephemeral”: false,
“source”: {
“alias”: “343b4e2e538674f3e1b333c06921176475a260462db0a2f93f069d58d280df33”,
“allow_inconsistent”: false,
“instance_only”: false,
“live”: false,
“mode”: “pull”,
“project”: “project1”,
“properties”: {
“os”: “Ubuntu”,
“release”: “noble”,
“variant”: “cloud”
},
“protocol”: “simplestreams”,
“refresh”: false,
“refresh_exclude_older”: false,
“secret”: “RANDOM-STRING”,
“secrets”: {
“criu”: “RANDOM-STRING”,
“rsync”: “RANDOM-STRING”
},
“server”: “https://images.linuxcontainers.org”,
“type”: “image”
},
“profiles”: [“python-flask-profile”],
“start”: false,
“stateful”: false,
“type”: “container”
}’

The API call works but in the incus monitor command I see this error:

location: des
metadata:
context:
class: task
description: Creating instance
err: Private images aren’t supported by the simplestreams protocol
operation: bcc8e228-09ca-49e8-aaaa-d25c6582e7b6
project: project1
level: debug
message: Failure for operation
timestamp: “2026-07-31T09:45:15.115128233Z”
type: logging

It is exactly the same image. Any idea what could be happening?

Thanks!

I don’t know why this wouldn’t have failed before but passing the secret or secrets key as shown above when dealing with a public simplestreams image server is definitely wrong.

Thank you!

That is taken directly from the API sample at the API documentation site. Where is the proper way of doing it documented?

Regards

You’ll want to look at the description for those keys in the API documentation, they usually tell you exactly in what context they are or aren’t valid.

In general when getting started with the API, it tends to be a LOT easier to use the incus CLI with --debug and see what API calls our client makes.

Thanks, @stgraber. I’ll try the --debug option.