Skip to content
Select themeSelect language

`GET /api/resources/board` — one server-paginated page of the resources board (kind + connection-state filtered) plus the total + kind/error facets.

GET
/api/resources/board
curl --request GET \
--url https://example.com/api/resources/board
kind
string
conn_state
string

Connection-state tab: connected / error / untested (else all).

q
string

Free-text search over the resource name.

sort
string

Whitelisted sort column: name | kind | created_at | updated_at. Default name.

dir
string

asc | desc (default asc — the board is name-sorted A-Z).

limit
integer format: int64
offset
integer format: int64
include_facets
boolean

Recompute the kind/error facets (default true). The board sends false for a tab/page change (the facets depend only on the workspace).

Media typeapplication/json

GET /api/resources/board body — one page of resources + total + facets.

object
facets
One of:
null
items
required
Array<object>

What every HTTP handler returns — a resource row without secret material. The DB row already redacts secret_vault_path via #[serde(skip)]; this DTO mirrors the wire shape so external callers see the same fields they can supply on create.

object
config
required
created_at
required
string format: date-time
has_secret
required

true iff a secret is stored for this resource — useful to the UI for an “update secret” toggle, without ever leaking the secret itself.

boolean
id
required
string format: uuid
kind
required
string
last_test_ok

#358: the result of that last probe (Some(true)/Some(false)/None).

boolean | null
last_tested_at

#358: when the last test-connection probe ran (None = never tested).

string | null format: date-time
max_concurrent_uses

Issue #110: per-resource concurrency cap; None = unlimited.

integer | null format: int32
name
required
string
updated_at
required
string format: date-time
workspace_id
required
string format: uuid
total
required
integer format: int64
Examplegenerated
{
"facets": {
"error_count": 1,
"kinds": [
{
"count": 1,
"kind": "example"
}
],
"total": 1
},
"items": [
{
"config": "example",
"created_at": "2026-04-15T12:00:00Z",
"has_secret": true,
"id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"kind": "example",
"last_test_ok": true,
"last_tested_at": "2026-04-15T12:00:00Z",
"max_concurrent_uses": 1,
"name": "example",
"updated_at": "2026-04-15T12:00:00Z",
"workspace_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"
}
],
"total": 1
}