---
title: "List an asset's network services"
method: GET
path: "/v1/assets/{asset_id}/services"
tags: ["assets"]
---

# List an asset's network services

`GET /v1/assets/{asset_id}/services`

## Request

- Base URL: `https://api.ethiack.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.ethiack.com/v1/assets/{asset_id}/services`
- Auth: none declared

Return the network services discovered on one asset.

The same set the asset detail response embeds, on its own endpoint so
a panel can refresh services without re-fetching the asset. Reads the
``asset_network_service_details`` view through its Cerbos-scoped
service, so another organization's asset yields an empty list rather
than a denial — the asset itself is resolved first, so an asset the
caller cannot see still 404s.

Args:
    asset_id (int): Primary key of the owning asset.
    db (AsyncSession): Request-scoped database session.
    context (ActiveContext): Resolved caller identity and scope.
    query (AssetServiceListQuery): Pagination query params.
    pager (Paginator): Fills the response's navigation metadata.

Returns:
    AssetServiceListResponse: The asset's services, each with its
        detected technologies.

## Path parameters

- `asset_id` integer, required

## Query parameters

- `page` integer
- `per_page` integer: Page size. Values above 500 are clamped to it (or rejected, per REST__PAGINATION__PER_PAGE_OVER_MAX).

## Response `200`

Successful Response

- AssetServiceListResponse: The network services discovered on one asset. Attributes: services (list[AssetServiceResponse]): The asset's services.
  - `total` integer, nullable
  - `page` integer, nullable
  - `per_page` integer, nullable
  - `_links` object, nullable: RFC 8288 rel to URL. Always first; last unless the route opted out of counting; prev and next when applicable.
  - `services` AssetServiceResponse[], required
    - `id` integer, required
    - `port` integer, required
    - `protocol` string, required
    - `scheme` string, required
    - `name` string, required
    - `version` string, nullable
    - `description` string, nullable
    - `url` string, nullable
    - `last_change` string, date-time, nullable
    - `pic` string, nullable
    - `thumbnail` string, nullable
    - `response_length` integer, nullable
    - `changed` boolean, nullable
    - `technologies` string[]

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/ethiack/apis/ethiack-api.md) - [All operations](https://skmtc.dev/ethiack/apis/ethiack-api/llms.txt) - [OpenAPI document](https://skmtc.dev/ethiack/apis/ethiack-api/revisions/4eaba89bfebf?raw)
