> ## Documentation Index
> Fetch the complete documentation index at: https://docs.photon.codes/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Use Stable documentation by default. Honor an explicit Beta request or a URL under /docs/beta/. If the requested version conflicts with the installed CLI package or API origin, clarify the target before writing integration code.
> Pages under /docs/beta/ document Beta; other product pages document Stable. Keep the CLI package, commands, API origin, and credentials within the selected version. State the documentation version in your answer.
> For MCP search, always pass version: Stable or version: Beta. Unfiltered search mixes both versions. For filesystem reads, keep Beta queries under /beta/ and exclude /beta/ from Stable queries; discover paths before reading them.
> The public docs base is https://photon.codes/docs. Convert MCP page paths to public URLs under that base, preserving /beta/ when present. Read https://photon.codes/docs/skill.md for version selection and https://photon.codes/docs/llms.txt for the version indexes.

# Agent profile

> The Agent profile resource in the TypeScript, Python and Rust clients.

## Methods

<Tabs>
  <Tab title="TypeScript">
    **[Get agent profile](/docs/beta/api-client/sdk/projects/agent-profile/get)**

    ```typescript TypeScript theme={null}
    photon.projects.agentProfile.get(input: GetAgentProfileInput, options?: RequestOptions): Promise<GetAgentProfileOutput>
    ```

    `GET /v1/projects/{projectId}/agent-profile`

    **[Create agent avatar upload](/docs/beta/api-client/sdk/projects/agent-profile/create-avatar-upload)**

    ```typescript TypeScript theme={null}
    photon.projects.agentProfile.createAvatarUpload(input: CreateAgentProfileAvatarUploadInput, options?: RequestOptions): Promise<CreateAgentProfileAvatarUploadOutput>
    ```

    `POST /v1/projects/{projectId}/agent-profile/avatar/uploads`

    **[Commit agent avatar](/docs/beta/api-client/sdk/projects/agent-profile/commit-avatar)**

    ```typescript TypeScript theme={null}
    photon.projects.agentProfile.commitAvatar(input: CommitAgentProfileAvatarInput, options?: RequestOptions): Promise<CommitAgentProfileAvatarOutput>
    ```

    `PUT /v1/projects/{projectId}/agent-profile/avatar`

    **[Update agent profile](/docs/beta/api-client/sdk/projects/agent-profile/update)**

    ```typescript TypeScript theme={null}
    photon.projects.agentProfile.update(input: UpdateAgentProfileInput, options?: RequestOptions): Promise<UpdateAgentProfileOutput>
    ```

    `PATCH /v1/projects/{projectId}/agent-profile`

    **[Reset agent avatar](/docs/beta/api-client/sdk/projects/agent-profile/reset-avatar)**

    ```typescript TypeScript theme={null}
    photon.projects.agentProfile.resetAvatar(input: ResetAgentProfileAvatarInput, options?: RequestOptions): Promise<ResetAgentProfileAvatarOutput>
    ```

    `DELETE /v1/projects/{projectId}/agent-profile/avatar`
  </Tab>

  <Tab title="Python">
    **[Get agent profile](/docs/beta/api-client/sdk/projects/agent-profile/get)**

    ```python Python theme={null}
    photon.projects.agent_profile.get(input: GetAgentProfileInput) -> models.AgentProfile
    ```

    `GET /v1/projects/{projectId}/agent-profile`

    **[Create agent avatar upload](/docs/beta/api-client/sdk/projects/agent-profile/create-avatar-upload)**

    ```python Python theme={null}
    photon.projects.agent_profile.create_avatar_upload(input: CreateAgentProfileAvatarUploadInput) -> models.AgentProfileAvatarUpload
    ```

    `POST /v1/projects/{projectId}/agent-profile/avatar/uploads`

    **[Commit agent avatar](/docs/beta/api-client/sdk/projects/agent-profile/commit-avatar)**

    ```python Python theme={null}
    photon.projects.agent_profile.commit_avatar(input: CommitAgentProfileAvatarInput) -> models.AgentProfile
    ```

    `PUT /v1/projects/{projectId}/agent-profile/avatar`

    **[Update agent profile](/docs/beta/api-client/sdk/projects/agent-profile/update)**

    ```python Python theme={null}
    photon.projects.agent_profile.update(input: UpdateAgentProfileInput) -> models.AgentProfile
    ```

    `PATCH /v1/projects/{projectId}/agent-profile`

    **[Reset agent avatar](/docs/beta/api-client/sdk/projects/agent-profile/reset-avatar)**

    ```python Python theme={null}
    photon.projects.agent_profile.reset_avatar(input: ResetAgentProfileAvatarInput) -> models.AgentProfile
    ```

    `DELETE /v1/projects/{projectId}/agent-profile/avatar`
  </Tab>

  <Tab title="Rust">
    **[Get agent profile](/docs/beta/api-client/sdk/projects/agent-profile/get)**

    ```rust Rust theme={null}
    client.get_agent_profile(project_id: String).await -> Result<ResponseValue<types::AgentProfile>, Error<GetAgentProfileError>>
    ```

    `GET /v1/projects/{projectId}/agent-profile`

    **[Create agent avatar upload](/docs/beta/api-client/sdk/projects/agent-profile/create-avatar-upload)**

    ```rust Rust theme={null}
    client.create_agent_profile_avatar_upload(project_id: String, body: &types::CreateAgentProfileAvatarUploadRequest).await -> Result<ResponseValue<types::AgentProfileAvatarUpload>, Error<CreateAgentProfileAvatarUploadError>>
    ```

    `POST /v1/projects/{projectId}/agent-profile/avatar/uploads`

    **[Commit agent avatar](/docs/beta/api-client/sdk/projects/agent-profile/commit-avatar)**

    ```rust Rust theme={null}
    client.commit_agent_profile_avatar(idempotency_key: String, project_id: String, body: &types::CommitAgentProfileAvatarRequest).await -> Result<ResponseValue<types::AgentProfile>, Error<CommitAgentProfileAvatarError>>
    ```

    `PUT /v1/projects/{projectId}/agent-profile/avatar`

    **[Update agent profile](/docs/beta/api-client/sdk/projects/agent-profile/update)**

    ```rust Rust theme={null}
    client.update_agent_profile(idempotency_key: String, project_id: String, body: &types::UpdateAgentProfileRequest).await -> Result<ResponseValue<types::AgentProfile>, Error<UpdateAgentProfileError>>
    ```

    `PATCH /v1/projects/{projectId}/agent-profile`

    **[Reset agent avatar](/docs/beta/api-client/sdk/projects/agent-profile/reset-avatar)**

    ```rust Rust theme={null}
    client.reset_agent_profile_avatar(idempotency_key: String, project_id: String).await -> Result<ResponseValue<types::AgentProfile>, Error<ResetAgentProfileAvatarError>>
    ```

    `DELETE /v1/projects/{projectId}/agent-profile/avatar`
  </Tab>
</Tabs>

## Models

### AgentProfile

<ResponseField name="avatarUrl" type={"string (uri)"} required />

<ResponseField name="firstName" type={"string"} required />

<ResponseField name="lastName" type={"string | null"} required />

### AgentProfileAvatarUpload

<ResponseField name="expiresAt" type={"string (date-time)"} required />

<ResponseField name="formFields" type={"AgentProfileAvatarUploadFormFields"} required />

<ResponseField name="uploadId" type={"string"} required />

<ResponseField name="uploadUrl" type={"string (uri)"} required />


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.