Skip to main content

Paginated cryptographic inventory

GET /api/v1/assets

Stable asset-ID cursor order. Filters apply before pagination; total is the number of matching assets in the authenticated tenant. Live data may change between pages. Search matches name, algorithm and owner, with ASCII case folding and literal substring semantics.

Allowed roles: admin, analyst, viewer.

Authentication​

The following OpenAPI alternatives describe accepted authentication. Browser mutations also require the canonical Origin header.

[
{
"organizationCredential": []
},
{
"browserSession": []
}
]

Parameters​

[
{
"name": "after",
"in": "query",
"schema": {
"type": "string",
"maxLength": 100
}
},
{
"name": "limit",
"in": "query",
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 100
}
},
{
"name": "q",
"in": "query",
"schema": {
"type": "string",
"maxLength": 200
}
},
{
"name": "severity",
"in": "query",
"schema": {
"enum": [
"critical",
"high",
"medium",
"low",
"unknown"
]
}
},
{
"name": "kind",
"in": "query",
"schema": {
"enum": [
"tls",
"ssh",
"code",
"library",
"key",
"cloud",
"runtime",
"certificate"
]
}
}
]

Request body​

No request body is defined.

Responses​

{
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AssetPage"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Missing/expired/revoked credential",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"403": {
"description": "Insufficient role",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"409": {
"description": "State or idempotency conflict",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"413": {
"description": "Body too large",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"415": {
"description": "Unsupported media type",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Request budget exhausted; respect Retry-After",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"headers": {
"Retry-After": {
"schema": {
"type": "integer",
"minimum": 1
},
"description": "Seconds until sufficient budget is expected; concurrent traffic may consume replenished capacity."
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "Not configured",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}

References such as #/components/schemas/Asset resolve in shared schemas. Download the OpenAPI contract for client generation. This page is generated; it describes the implemented development API, not planned endpoints.