Skip to content
Select themeSelect language

Read the project's sidecar settings: the instance ceiling joined with the override.

GET
/api/projects/{id}/sidecars
curl --request GET \
--url https://example.com/api/projects/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/sidecars \
--cookie supacloud_session=<supacloud_session>
id
required
string format: uuid

Project id

The registry joined with the project’s effective sidecar override

Media typeapplication/json

The project-settings sidecars projection: the registry joined with the effective project override. overridden is true when the project names any kind.

object
kinds
required
Array<object>

One kind’s settings row: the instance CEILING and the project’s effective state.

object
effective_enabled
required

The effective enablement for a task that requests the kind: instance_available && (override_enabled ?? true).

boolean
image

The project’s image override, or null to inherit the instance image.

string | null
instance_available
required

The instance CEILING: is this kind available on the instance at all? A project may never enable a kind this is false for.

boolean
instance_image
required

The image the instance resolves for this kind.

string
kind
required

Registry id ("test-db").

string
lifecycle
required

The kind’s lifecycle ("primary-container"), from the registry descriptor.

string
override_enabled

The project’s explicit statement, or null to inherit. A sparse override that names enabled: false narrows an instance-enabled kind.

boolean | null
params
required

The project’s kind-allowlisted params.

Array<object>

A key/value sidecar param (kind-allowlisted) on the wire.

object
key
required
string
value
required
string
overridden
required
boolean
Examplegenerated
{
"kinds": [
{
"effective_enabled": true,
"image": "example",
"instance_available": true,
"instance_image": "example",
"kind": "example",
"lifecycle": "example",
"override_enabled": true,
"params": [
{
"key": "example",
"value": "example"
}
]
}
],
"overridden": true
}

Structured client error

Media typeapplication/json

The canonical JSON body of every error response — the single source of truth the frontend binds to. Every AppError serializes as this exact shape, and the generated OpenAPI component ApiErrorBody (with its ErrorCode enum) is what the frontend error schema is generated from, so there is no hand-written error schema on either end.

object
code
required

Machine-readable, stable error code.

string
Allowed values: not_found unauthorized forbidden license_required license_expired bad_request unprocessable precondition_failed conflict method_not_allowed rate_limited too_many_requests quota_exceeded database_error docker_error vault_error internal_error
details
One of:
null
error
required

Human-readable message (the server’s English text; the client may localize by code).

string
Example
{
"code": "not_found"
}

Authentication required

Media typeapplication/json

The canonical JSON body of every error response — the single source of truth the frontend binds to. Every AppError serializes as this exact shape, and the generated OpenAPI component ApiErrorBody (with its ErrorCode enum) is what the frontend error schema is generated from, so there is no hand-written error schema on either end.

object
code
required

Machine-readable, stable error code.

string
Allowed values: not_found unauthorized forbidden license_required license_expired bad_request unprocessable precondition_failed conflict method_not_allowed rate_limited too_many_requests quota_exceeded database_error docker_error vault_error internal_error
details
One of:
null
error
required

Human-readable message (the server’s English text; the client may localize by code).

string
Example
{
"code": "not_found"
}

Permission denied

Media typeapplication/json

The canonical JSON body of every error response — the single source of truth the frontend binds to. Every AppError serializes as this exact shape, and the generated OpenAPI component ApiErrorBody (with its ErrorCode enum) is what the frontend error schema is generated from, so there is no hand-written error schema on either end.

object
code
required

Machine-readable, stable error code.

string
Allowed values: not_found unauthorized forbidden license_required license_expired bad_request unprocessable precondition_failed conflict method_not_allowed rate_limited too_many_requests quota_exceeded database_error docker_error vault_error internal_error
details
One of:
null
error
required

Human-readable message (the server’s English text; the client may localize by code).

string
Example
{
"code": "not_found"
}

Project not found

Media typeapplication/json

The canonical JSON body of every error response — the single source of truth the frontend binds to. Every AppError serializes as this exact shape, and the generated OpenAPI component ApiErrorBody (with its ErrorCode enum) is what the frontend error schema is generated from, so there is no hand-written error schema on either end.

object
code
required

Machine-readable, stable error code.

string
Allowed values: not_found unauthorized forbidden license_required license_expired bad_request unprocessable precondition_failed conflict method_not_allowed rate_limited too_many_requests quota_exceeded database_error docker_error vault_error internal_error
details
One of:
null
error
required

Human-readable message (the server’s English text; the client may localize by code).

string
Example
{
"code": "not_found"
}

Structured server error

Media typeapplication/json

The canonical JSON body of every error response — the single source of truth the frontend binds to. Every AppError serializes as this exact shape, and the generated OpenAPI component ApiErrorBody (with its ErrorCode enum) is what the frontend error schema is generated from, so there is no hand-written error schema on either end.

object
code
required

Machine-readable, stable error code.

string
Allowed values: not_found unauthorized forbidden license_required license_expired bad_request unprocessable precondition_failed conflict method_not_allowed rate_limited too_many_requests quota_exceeded database_error docker_error vault_error internal_error
details
One of:
null
error
required

Human-readable message (the server’s English text; the client may localize by code).

string
Example
{
"code": "not_found"
}