---
title: "Update Email Credentials"
method: PATCH
path: "/email/v1/emails/credentials/{emailId}"
tags: ["emailService"]
---

# Update Email Credentials

`PATCH /email/v1/emails/credentials/{emailId}`

Updates existing email credentials for IMAP and SMTP access. Only accessible by authorized users.

## Path parameters

- `emailId` integer, required

## Request body

- UpdateEmailCredentialsDto
  - `password` string
  - `imap_host` string
  - `imap_port` integer
  - `smtp_host` string, nullable
  - `smtp_port` integer, nullable

## Response `200`

OK

- EmailDetails
  - `id` integer
  - `added_by` integer
  - `auth_user_id` integer
  - `imap_host` string
  - `imap_port` integer
  - `smtp_host` string, nullable
  - `smtp_port` integer, nullable
  - `email` string
  - `name` string
  - `sender_name` string
  - `access_level` 'shared' | 'personal'
  - `status` 'pending_settings' | 'first_sync' | 'connected' | 'auth_fail'
  - `created_at` integer
  - `updated_at` integer
  - `oauth_provider` string, nullable
  - `crm_integration_enabled` boolean
  - `sync_folders` EmailSyncFolders[]
    - object[]
      - `folder_name` string, required
      - `path` string, required
      - `delimitter` string, required
      - `has_children` boolean, required
      - `is_root` boolean, required
      - `is_inbox` boolean
      - `is_draft` boolean
      - `is_sent` boolean
      - `is_junk` boolean
      - `is_trash` boolean
  - `folders` EmailFolders[]
    - EmailFolder[]
      - `id` integer
      - `email_id` integer
      - `parent_id` integer, nullable
      - `folder_name` string
      - `path` string
      - `delimitter` string
      - `is_trash` boolean
      - `is_spam` boolean
      - `is_draft` boolean
      - `is_junk` boolean
      - `is_sent` boolean
      - `is_inbox` boolean
      - `is_pending` boolean
      - `has_children` boolean
      - `is_root` boolean
      - `is_deleted` boolean
      - `message_count` integer
      - `unread_message_count` integer
  - `access_roles` EmailAccessRole[]
    - `user_id` integer
    - `name` 'viewer' | 'destroyer' | 'setter'

## Other responses

- `401` — Access token is missing or invalid
- `403` — Forbidden
- `404` — Resource not found
- `422` — Validation error response

---

[API](https://skmtc.net/uspacy/apis/uspacy-api-2.md) · [All operations](https://skmtc.net/uspacy/apis/uspacy-api-2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/uspacy/uspacy-api-2/versions/c3f48fd1c26b/schema)
