---
title: "Update client account"
method: PUT
path: "/clients/{client_id}/"
tags: ["client"]
---

# Update client account

`PUT /clients/{client_id}/`

## Request

- Base URL: `https://api.angelcam.com/v1`
- URL: `https://api.angelcam.com/v1/clients/{client_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: `client_manage`
  - API key in header `Authorization`
- TypeScript: <https://skmtc.dev/angelcam/apis/angelcam-api/docs/clients/:client_id/put.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `client_id` integer, required

## Request body

- object
  - `first_name` string: Clients first name
  - `last_name` string: Clients last name
  - `phone` string: Clients phone number
  - `invoice_to` 'me' | 'client': All services are invoice to reseller (me) or directly to client.
  - `limited_account` boolean: Limited clients cannot connect new cameras or purchase any services, by themselves.
  - `allowed_access` boolean: This option can be used to give away access to the client user account. A client action is required in order to get the access again. (It is only possible to change this value from true to false using this endpoint.)
  - `password` string: Set password for the client account. A special permission is required for the reseller account in order to use this option.

## Response `200`

Client object

- ClientObject
  - `id` integer, required: Client ID
  - `first_name` string, required: Clients first name
  - `last_name` string, required: Clients last name
  - `email` string, email, required: Clients email
  - `phone` string, nullable, required: Clients phone number
  - `invoice_to` 'me' | 'client', required: All services are invoice to reseller (me) or directly to client.
  - `limited_account` boolean, required: Limited clients cannot connect new cameras or purchase any services, by themselves.
  - `allowed_access` boolean, required: This field indicates if reseller can access clients cameras. Defualt is true, but client can refuse access.
  - `activated_at` string, datetime, nullable, required: Datetime, when client activated their account, or null in a case when the account is not activated yet at all.

## Other responses

- `400`: Body payload is invalid.
- `401`: Missing or invalid authorization.
- `403`: Missing permission.

---

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