---
title: "Add Arrow service"
method: POST
path: "/arrow-clients/{uuid}/services/"
tags: ["arrow-clients"]
---

# Add Arrow service

`POST /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_manage`
  - API key in header `Authorization`
- TypeScript: <https://skmtc.dev/angelcam/apis/angelcam-api/docs/arrow-clients/:uuid/services/post.ts> (a function with typed inputs; its response is checked against the schema)

Add a custom service to the Arrow client service table.

This method is supported only if the `add_custom_service` capability is
signaled by the Arrow client. It can be used to access IP cameras in
the target network if the automatic service discovery does not find
them. The Arrow client will verify that the IP address belongs to the
same local network it is connected to. Other IP addresses will be
rejected for security reasons.

## Path parameters

- `uuid` string, uuid, required

## Request body

- ArrowClientAddServiceRequest
  - `type` 'http' | 'rtsp', required: Type of the target service
  - `ip` string, required: local IP address
  - `port` integer, required: service port

## Response `200`

OK

- ArrowClientAddServiceResponse
  - `service_id` string, required: Arrow service ID

## Other responses

- `400`: Body payload is invalid.
- `401`: Missing or invalid authorization.
- `403`: Missing permission.
- `404`: The specified resource was not found
- `405`: The specified method is not allowed for the resource
- `502`: Unable to contact the target gateway.

---

[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)
