---
title: "Update a login"
method: POST
path: "/logins/update"
tags: ["Logins"]
---

# Update a login

`POST /logins/update`

Updates an existing login with optional credentials

## Request body

- object
  - `id` string, required — ID of the login to update
  - `name` string, required — Name of the login for identification
  - `authenticationUrl` string, required — URL of the authentication page
  - `homeUrl` string, required — URL of the home page of the domain
  - `iconUrl` string — Optional icon URL or data URL for the login logo.
  - `loginConfiguration` object, required — Values for fields required to complete authentication. Sensitive credentials are optional for upsert operations.
    - `username` string — Username for authentication
    - `twoFactorAuthConfiguration` object, nullable — Configuration for two-factor authentication. Sensitive credentials are optional for upsert.
      - `method` 'Email' | 'SMS' | 'TOTP', required — Method used for 2FA verification
      - `alwaysRequired` boolean, required — Whether 2FA is always required, if it is not, the workflow will make a determination based upon the text displayed on the site.
      - `twoFactorAuthEmail` string — The email which the 2FA codes will be sent to, which our system will use to associate to the created login. Required when method is Email.
      - `totpSecretKey` string — Secret key used for TOTP generation. Optional for upsert operations - only provide if updating.
    - `additionalCredentials` object[] — Additional key-value credentials
      - `id` string — Unique identifier for the additional credential
      - `key` string, required — Key for the additional credential
      - `value` string, required — Value for the additional credential
    - `password` string — Password for authentication. Optional for upsert operations - only provide if updating.
  - `persistSession` boolean — Whether to persist the session after authentication
  - `isManualAuthentication` boolean — Whether this login requires manual authentication
  - `useLLMLoginDetection` boolean — Whether to use LLM-powered login detection. If false, uses URL-based detection instead.
  - `loginDetectionPrompt` string — Custom prompt to use for LLM-based login detection. Describes what the logged-out experience looks like.
  - `loginInstructionsPrompt` string — Custom instructions for the login agent. Provides guidance on how to complete the login flow for this specific site.
  - `supportConcurrentLogins` boolean — Whether to allow concurrent logins using this login. When false, a lock is acquired before login to prevent simultaneous sessions.
  - `supportsAgentConcurrency` boolean — Whether this login supports concurrent usage by multiple agents. When false (default), only one agent can use this login at a time.
  - `autoRetryOnServiceDown` boolean — Whether to automatically retry scheduled executions when the target service appears to be down.
  - `autoRetryDelayMinutes` integer — Number of minutes to wait before retrying when service down is detected. Defaults to 30.
  - `autoRetryMaxAttempts` integer — Maximum number of service-down retry attempts before giving up. Defaults to 3.

## Response `200`

Login updated successfully

- ObjectIdOrganizationIdName0
  - `id` string, required — Unique identifier for the login
  - `organizationId` string, required — ID of the organization that owns this login.
  - `name` string, required — Name of the login
  - `authenticationUrl` string, required — URL of the authentication page
  - `homeUrl` string, required — URL of the home page
  - `iconUrl` string, nullable, required — Icon URL or data URL for the login logo. Null if no custom logo is set.
  - `loginConfiguration` LoginConfiguration, required — Values for fields required to complete authentication. Sensitive credentials are excluded for security.
    - `username` string — Username for authentication
    - `twoFactorAuthConfiguration` object, nullable — Configuration for two-factor authentication
      - `method` 'Email' | 'SMS' | 'TOTP', required — Method used for 2FA verification
      - `alwaysRequired` boolean, required — Whether 2FA is always required, if it is not, the workflow will make a determination based upon the text displayed on the site.
      - `twoFactorAuthEmail` string — The email which the 2FA codes will be sent to, which our system will use to associate to the created login. Required when method is Email.
    - `additionalCredentials` object[] — Additional key-value credentials
      - `id` string — Unique identifier for the additional credential
      - `key` string, required — Key for the additional credential
      - `value` string, required — Value for the additional credential
  - `createdAt` string, required — Timestamp when the login was created
  - `updatedAt` string, required — Timestamp when the login was last updated
  - `persistSession` boolean, required — Whether to persist the session after authentication
  - `isManualAuthentication` boolean, required — Whether this login requires manual authentication
  - `useLLMLoginDetection` boolean — Whether to use LLM-powered login detection. If false, uses URL-based detection instead.
  - `loginDetectionPrompt` string — Custom prompt to use for LLM-based login detection. Describes what the logged-out experience looks like.
  - `loginInstructionsPrompt` string — Custom instructions for the login agent. Provides guidance on how to complete the login flow for this specific site.
  - `supportConcurrentLogins` boolean, required — Whether to allow concurrent logins using this login. When false, a lock is acquired before login to prevent simultaneous sessions.
  - `supportsAgentConcurrency` boolean, required — Whether this login supports concurrent usage by multiple agents. When false (default), only one agent can use this login at a time.
  - `autoRetryOnServiceDown` boolean, required — Whether to automatically retry scheduled executions when the target service appears to be down.
  - `autoRetryDelayMinutes` integer, required — Number of minutes to wait before retrying when service down is detected.
  - `autoRetryMaxAttempts` integer, required — Maximum number of service-down retry attempts before giving up.

## Other responses

- `400` — Invalid request parameters
- `404` — Login not found

---

[API](https://skmtc.dev/kaizenautomation/apis/kaizen-api.md) · [All operations](https://skmtc.dev/kaizenautomation/apis/kaizen-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/kaizenautomation/kaizen-api/revisions/4aa3664ceff2/schema)
