<!-- Generated from the canonical Teloring documentation source. Do not edit this file. -->

Canonical page: https://docs.teloring.com/api/update-agent-profile
Last modified: 2026-08-20T20:52:05.000Z

# Update an agent's profile

import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint";
import ParamsDetails from "@theme/ParamsDetails";
import RequestSchema from "@theme/RequestSchema";
import StatusCodes from "@theme/StatusCodes";
import OperationTabs from "@theme/OperationTabs";
import TabItem from "@theme/TabItem";
import Heading from "@theme/Heading";
import Translate from "@docusaurus/Translate";

<Heading
  as={"h1"}
  className={"openapi__heading"}
  children={"Update an agent's profile"}
>
</Heading>

<MethodEndpoint
  method={"patch"}
  path={"/agents/{agent_id}/profile"}
  context={"endpoint"}
>
  
</MethodEndpoint>



Update display name, timezone, language or contact details.

`timezone` is an IANA name such as `Asia/Jerusalem`, and it is validated — a typo
is a `400` rather than a profile that silently renders every timestamp in UTC.

Email, password and `role_id` are rejected here with `code: field_not_editable`.
The first two are identity, not profile; roles belong to
`PATCH /v1/agents/{agent_id}` under the `agents_teams` scope.

<Heading
  id={"request"}
  as={"h2"}
  className={"openapi-tabs__heading"}
>
  <Translate id="theme.openapi.request.title">Request</Translate>
</Heading>

<ParamsDetails
  {...require("./update-agent-profile.ParamsDetails.json")}
>
  
</ParamsDetails>

<RequestSchema
  {...require("./update-agent-profile.RequestSchema.json")}
>
  
</RequestSchema>

<StatusCodes
  {...require("./update-agent-profile.StatusCodes.json")}
>
  
</StatusCodes>
