> ## Documentation Index
> Fetch the complete documentation index at: https://docs.osmedeus.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Assets

> Query discovered assets and asset diff snapshots

# Assets

## List Assets

Get a paginated list of assets with optional workspace filtering.

**List all assets:**

```bash theme={null}
curl http://localhost:8002/osm/api/assets \
  -H "Authorization: Bearer $TOKEN"
```

**List assets with pagination:**

```bash theme={null}
curl "http://localhost:8002/osm/api/assets?offset=0&limit=100" \
  -H "Authorization: Bearer $TOKEN"
```

**Filter by workspace:**

```bash theme={null}
curl "http://localhost:8002/osm/api/assets?workspace=example.com" \
  -H "Authorization: Bearer $TOKEN"
```

**Combine workspace filter with pagination:**

```bash theme={null}
curl "http://localhost:8002/osm/api/assets?workspace=example.com&offset=50&limit=25" \
  -H "Authorization: Bearer $TOKEN"
```

**Response:**

```json theme={null}
{
  "data": [
    {
      "id": 1,
      "workspace": "example.com",
      "asset_value": "api.example.com",
      "url": "https://api.example.com",
      "input": "api.example.com",
      "scheme": "https",
      "method": "GET",
      "path": "/",
      "status_code": 200,
      "content_type": "application/json",
      "content_length": 4523,
      "title": "API Documentation",
      "words": 523,
      "lines": 89,
      "host_ip": "93.184.216.34",
      "a": ["93.184.216.34", "93.184.216.35"],
      "tls": "TLS 1.3",
      "asset_type": "web",
      "tech": ["nginx/1.21.0", "nodejs", "express"],
      "time": "245ms",
      "remarks": "production",
      "source": "httpx",
      "created_at": "2025-01-15T10:30:00Z",
      "updated_at": "2025-01-15T10:30:00Z"
    },
    {
      "id": 2,
      "workspace": "example.com",
      "asset_value": "admin.example.com",
      "url": "https://admin.example.com",
      "input": "admin.example.com",
      "scheme": "https",
      "method": "GET",
      "path": "/login",
      "status_code": 401,
      "content_type": "text/html",
      "content_length": 2156,
      "title": "Admin Login - Example Corp",
      "words": 156,
      "lines": 45,
      "host_ip": "93.184.216.36",
      "a": ["93.184.216.36"],
      "tls": "TLS 1.2",
      "asset_type": "web",
      "tech": ["nginx/1.20.0", "php/8.1", "wordpress"],
      "time": "312ms",
      "remarks": "admin-panel",
      "source": "httpx",
      "created_at": "2025-01-15T10:31:00Z",
      "updated_at": "2025-01-15T10:31:00Z"
    }
  ],
  "pagination": {
    "total": 500,
    "offset": 0,
    "limit": 20
  }
}
```

**Asset Fields Reference:**

| Field | Type | Description |
| - | - | - |
| `id` | int | Unique asset identifier |
| `workspace` | string | Workspace/scan target name |
| `asset_value` | string | Primary asset identifier (hostname/subdomain) |
| `url` | string | Full URL of the asset |
| `input` | string | Original input value |
| `scheme` | string | Protocol scheme (http, https) |
| `method` | string | HTTP method used |
| `path` | string | URL path |
| `status_code` | int | HTTP response status code |
| `content_type` | string | Response content type |
| `content_length` | int | Response body size in bytes |
| `title` | string | HTML page title |
| `words` | int | Word count in response |
| `lines` | int | Line count in response |
| `host_ip` | string | Resolved IP address |
| `a` | array | DNS A records |
| `tls` | string | TLS version information |
| `asset_type` | string | Asset type classification |
| `tech` | array | Detected technologies |
| `time` | string | Response time |
| `remarks` | string | Custom labels/remarks |
| `source` | string | Discovery source (httpx, nuclei, etc.) |
| `created_at` | timestamp | Creation timestamp |
| `updated_at` | timestamp | Last update timestamp |

***

## List Asset Diff Snapshots

Get a paginated list of stored asset diff snapshots. These snapshots capture changes in assets over time.

**List all asset diff snapshots:**

```bash theme={null}
curl http://localhost:8002/osm/api/assets/diffs \
  -H "Authorization: Bearer $TOKEN"
```

**List with pagination:**

```bash theme={null}
curl "http://localhost:8002/osm/api/assets/diffs?offset=0&limit=50" \
  -H "Authorization: Bearer $TOKEN"
```

**Filter by workspace:**

```bash theme={null}
curl "http://localhost:8002/osm/api/assets/diffs?workspace=example.com" \
  -H "Authorization: Bearer $TOKEN"
```

**Combine workspace filter with pagination:**

```bash theme={null}
curl "http://localhost:8002/osm/api/assets/diffs?workspace=example.com&offset=0&limit=25" \
  -H "Authorization: Bearer $TOKEN"
```

**Response:**

```json theme={null}
{
  "data": [
    {
      "id": 1,
      "workspace_name": "example.com",
      "from_time": "2025-01-14T00:00:00Z",
      "to_time": "2025-01-15T00:00:00Z",
      "total_added": 15,
      "total_removed": 3,
      "total_changed": 7,
      "diff_data": "{\"added\":[...],\"removed\":[...],\"changed\":[...]}",
      "created_at": "2025-01-15T10:30:00Z"
    },
    {
      "id": 2,
      "workspace_name": "example.com",
      "from_time": "2025-01-15T00:00:00Z",
      "to_time": "2025-01-16T00:00:00Z",
      "total_added": 8,
      "total_removed": 1,
      "total_changed": 12,
      "diff_data": "{\"added\":[...],\"removed\":[...],\"changed\":[...]}",
      "created_at": "2025-01-16T10:30:00Z"
    }
  ],
  "pagination": {
    "total": 30,
    "offset": 0,
    "limit": 20
  }
}
```

**Asset Diff Snapshot Fields Reference:**

| Field | Type | Description |
| - | - | - |
| `id` | int | Unique snapshot identifier |
| `workspace_name` | string | Workspace name for this diff |
| `from_time` | timestamp | Start time of the diff period |
| `to_time` | timestamp | End time of the diff period |
| `total_added` | int | Number of new assets added |
| `total_removed` | int | Number of assets removed |
| `total_changed` | int | Number of assets that changed |
| `diff_data` | string | JSON serialized diff data containing added, removed, and changed assets |
| `created_at` | timestamp | When the snapshot was created |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.