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

# Retrieve Arrow service

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

## Request

- Base URL: `https://api.angelcam.com/v1`
- URL: `https://api.angelcam.com/v1/arrow-clients/{uuid}/services/{service_id}/`
- 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/:service_id/get.ts> (a function with typed inputs; its response is checked against the schema)

Get details about a service visible and available to a given Arrow client.

## Path parameters

- `uuid` string, uuid, required
- `service_id` string, hex, required

## Response `200`

OK

- ArrowServiceObject
  - `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/a3b9b1d3e96a?raw)
