---
title: "List Arrow services"
method: GET
path: "/arrow-clients/{uuid}/services/"
tags: ["arrow-clients"]
---

# List Arrow services

`GET /arrow-clients/{uuid}/services/`

## Request

- Base URL: `https://api.angelcam.com/v1`
- URL: `https://api.angelcam.com/v1/arrow-clients/{uuid}/services/`
- Auth: one of:
  - OAuth 2
    - Authorization code: `https://my.angelcam.com/oauth/authorize/`, token URL `https://my.angelcam.com/oauth/token/`
    - Password, token URL `https://api.angelcam.com/oauth/token/`
    - Scopes: `arrow_client_access`
  - API key in header `Authorization`
- TypeScript: <https://skmtc.dev/angelcam/apis/angelcam-api/docs/arrow-clients/:uuid/services/get.ts> (a function with typed inputs; its response is checked against the schema)

Get a list of services visible and available to a given Arrow client.

## Path parameters

- `uuid` string, uuid, required

## Response `200`

OK

- ArrowClientServicesResponse
  - `count` integer, required: Number of all services
  - `next` string, uri, nullable, required: Next page from pagination
  - `previous` string, uri, nullable, required: Previous page from pagination
  - `results` ArrowServiceObject[], required: A list of Arrow services
    - `id` string, required: Arrow service ID
    - `type` 'http' | 'rtsp', required: Type of the service.
    - `mac` string, mac, required: MAC address of the device providing this service. The MAC address will be valid only for services discovered via the network scan. In all other cases, it will be a fake MAC address starting with `FF:FF` prefix.
    - `ip` string, required: IP address used by the corresponding Arrow client to connect to the service (i.e. local IP address of the service).
    - `port` integer, required: Port number used by the corresponding Arrow client to connect to the service (i.e. the port which the service is listening on).
    - `flags` object: Service flags.
      - `static` boolean, required: If `true`, the service is fixed and cannot be deleted.
      - `discovered` boolean, required: If `true`, the service was discovered by the network scanner.
      - `custom` boolean, required: If `true`, the service was added manually using the API.
    - `hints` object: Various hints that may help with service identification. Please note that the hints are best-effort only. They may not be always correct.
      - `camera` boolean, required: If `true`, the service appears to be an RTSP server of an IP camera or an HTTP server of an IP camera providing an MJPEG stream.
      - `locked` boolean: The field is present only if the `camera` field is `true` and it indicates that the service may require authentication.
      - `stream` string, nullable: The field is present only if the `camera` field is `true` and it indicates that there is likely a video stream on the given endpoint.
    - `camera_ids` integer[], required: A list of cameras (their IDs) which use this service.

## Other responses

- `401`: Missing or invalid authorization.
- `403`: Missing permission.
- `404`: The specified resource was not found

---

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