List assets
GET /assets
Scope asset:read
Requires the asset:read scope.
Example
curl "https://api.autociso.io/api/v1/assets" \
-H "Authorization: Bearer <your-api-token>"import requests
response = requests.get(
"https://api.autociso.io/api/v1/assets",
headers={"Authorization": "Bearer <your-api-token>"},
)
print(response.json())const response = await fetch("https://api.autociso.io/api/v1/assets", {
method: "GET",
headers: { "Authorization": "Bearer <your-api-token>" },
});
console.log(await response.json());Response 200
{
"data": [
{
"assetName": "Google Workspace",
"createdAt": "2026-02-11T10:20:00Z",
"criticality": "HIGH",
"dataClassification": "CONFIDENTIAL",
"id": "ast_1hfz2k8w0c7d",
"kind": "SAAS",
"ownerId": "empl_1hgyun41rx48",
"supplierId": "sup_1hd8c2x7q0wn",
"updatedAt": "2026-09-28T14:03:00Z"
},
{
"assetName": "GitHub",
"createdAt": "2026-02-11T10:21:00Z",
"criticality": "CRITICAL",
"id": "ast_1hfz2m3r9t5b",
"kind": "SAAS",
"ownerId": "empl_1hgyv08q3k2m",
"updatedAt": "2026-10-02T08:47:00Z"
}
],
"error": null,
"meta": {
"limit": 25,
"offset": 0,
"total": 37
}
}Query parameters
limitintegerPage size.offsetintegerRows to skip (offset mode). Cannot be combined with cursor.cursorstringAn opaque cursor taken from meta.nextCursor of the previous page (cursor mode). Valid for 24 hours and bound to the token and the query; do not parse or construct it.sort[id]stringSort direction for id."asc" | "desc"sort[updatedAt]stringSort direction for updatedAt."asc" | "desc"filter[assetName][eq]stringFilter assetName (eq).filter[assetName][in]stringFilter assetName (in). Comma-separated, at most 50 values.filter[createdAt][gte]string (date-time)Filter createdAt (gte).filter[createdAt][lt]string (date-time)Filter createdAt (lt).filter[criticality][eq]stringFilter criticality (eq).filter[criticality][in]stringFilter criticality (in). Comma-separated, at most 50 values.filter[dataClassification][eq]stringFilter dataClassification (eq).filter[dataClassification][in]stringFilter dataClassification (in). Comma-separated, at most 50 values.filter[id][eq]stringFilter id (eq).filter[id][in]stringFilter id (in). Comma-separated, at most 50 values.filter[kind][eq]stringFilter kind (eq).filter[kind][in]stringFilter kind (in). Comma-separated, at most 50 values.filter[updatedAt][gte]string (date-time)Filter updatedAt (gte).filter[updatedAt][lt]string (date-time)Filter updatedAt (lt).
Returns
The data field of the standard { data, error, meta } envelope:
An array of object:
assetNamestring requiredAsset name.createdAtstring (date-time) requiredCreation time (UTC).criticalitystring requiredBusiness criticality.dataClassificationstringData classification, when set.idstring requiredAsset id (ast_).kindstring requiredCOTS, IN_HOUSE, SAAS, OSS, HARDWARE or DOMAIN.legacyIdstringStored legacy id (24 hex), only on assets created before ast_ ids.ownerIdstringOwning employee id (empl_), when set.supplierIdstringSupplier id (sup_), when set.updatedAtstring (date-time) requiredLast modification time (UTC); the incremental-sync field.
Errors
| Status | Code | Retry | Meaning |
|---|---|---|---|
| 400 | - | no | The request is invalid. |
| 401 | - | no | The token is missing, malformed, expired or revoked. |
| 402 | - | no | The organisation’s plan does not include the feature this route needs. |
| 403 | - | no | The token may not use this route. |
| 429 | - | yes | Rate limit or row budget exceeded; retry after the time in Retry-After. |
| 500 | - | no | Unexpected server error. |
| 503 | - | yes | A dependency is temporarily unavailable; retry later. |
Last reviewed: 2026-10-13
Was this page helpful?