---
updatedAt: 2026-04-22T18:05:56.000Z
agentTools:
  siteIndex: https://developers.pismo.io/llms.txt
  projectIndex: https://developers.pismo.io/pismo-docs/llms.txt
---

# Update deposit product

Update deposit by product ID. Note that product ID is Pismo-generated.<br>
This endpoint generates the [Deposit product updated](https://developers.pismo.io/events/docs/deposit-product-update-1) event.


# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "Banking - Interest-bearing accounts",
    "version": "1.0.0",
    "description": "API for interest-bearing account functionality",
    "contact": {
      "name": "API Support",
      "url": "https://developers.pismo.io/support/"
    },
    "license": {
      "name": "Copyright Pismo"
    }
  },
  "servers": [
    {
      "url": "https://sandbox.pismolabs.io/savings-products",
      "description": "Sandbox API server for testing"
    }
  ],
  "tags": [
    {
      "name": "Product",
      "description": "Endpoints that manage Interest-bearing accounts products"
    }
  ],
  "components": {
    "parameters": {
      "productId": {
        "description": "Product ID",
        "in": "path",
        "name": "productId",
        "required": true,
        "schema": {
          "type": "string"
        },
        "example": "2c336e9d-d04f-4fd0-8f6e-25808f48d70c"
      }
    },
    "schemas": {
      "ErrorResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "Error type code",
            "example": "EIBACC0003"
          },
          "details": {
            "type": "string",
            "description": "Error details",
            "example": "error EIBACC0008: Validation error [(Field 'Order' is invalid)]"
          },
          "message": {
            "description": "Error message",
            "example": "Bad Request",
            "type": "string"
          }
        }
      },
      "MaturityNotice": {
        "type": "object",
        "required": [
          "days_before_maturity",
          "description"
        ],
        "properties": {
          "days_before_maturity": {
            "type": "integer",
            "minimum": 1,
            "description": "Number of days before the account’s maturity date when the notice is sent. The value must be a positive integer greater than zero. Inputs such as zero, negative numbers, decimals, null, or non-numeric values result in `HTTP 400`. Each notice must use a distinct `days_before_maturity` value within the array.\n",
            "example": 30
          },
          "description": {
            "type": "string",
            "maxLength": 128,
            "description": "A short, human‑readable label for the notice. Each entry must include one description, and it cannot exceed 128 characters.\n",
            "example": "30-day advance notice"
          }
        }
      },
      "PatchProductRequest": {
        "type": "object",
        "description": "All fields are optional, but at least one of `status`, `min_amount`, `notices`, or `accrue_during_grace_period` must be included. If `status` is present, `reason` becomes required.\n",
        "properties": {
          "status": {
            "description": "Product status",
            "example": "ACTIVE",
            "type": "string",
            "enum": [
              "CREATED",
              "ACTIVE",
              "INACTIVE"
            ]
          },
          "reason": {
            "description": "Status update reason. Required when `status` is provided.",
            "example": "Activating product",
            "maxLength": 128,
            "type": "string"
          },
          "min_amount": {
            "description": "The minimum balance required to earn yield. When provided, must be greater than 0. Applied from the moment of a successful update (Not retroactive. Accounts already opened are not revalidated).",
            "example": 50,
            "type": "number"
          },
          "notices": {
            "type": "array",
            "maxItems": 3,
            "description": "Advance maturity notice configurations for deposit products only, rejected for savings‑account products. If this field is included in a savings‑account request, the API returns `HTTP 400`. When provided, the field must contain one to three entries, each with a unique `days_before_maturity` value. If the field is absent or the array is empty, no notices are configured.\n",
            "items": {
              "$ref": "#/components/schemas/MaturityNotice"
            },
            "example": [
              {
                "days_before_maturity": 60,
                "description": "Updated single 60-day notice"
              }
            ]
          },
          "accrue_during_grace_period": {
            "type": "boolean",
            "description": "Controls whether interest accrual continues during the post‑maturity grace period. Applies only to deposit products. The value is read live and takes effect on the next daily cycle. It does not alter the grace‑period lifecycle.",
            "example": false
          }
        }
      }
    },
    "securitySchemes": {
      "BearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    },
    "responses": {
      "400BadRequest": {
        "description": "Bad request",
        "content": {
          "application/json": {
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              ]
            },
            "examples": {
              "invalidRequestBody": {
                "summary": "Bad Request",
                "value": {
                  "code": "EIBACC0008",
                  "message": "Bad Request",
                  "details": "error EIBACC0008: Validation error [(Field 'Order' is invalid)]"
                }
              }
            }
          }
        }
      },
      "404NotFound": {
        "description": "Bad request",
        "content": {
          "application/json": {
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              ]
            },
            "examples": {
              "invalidRequestBody": {
                "summary": "Bad Request",
                "value": {
                  "code": "EIBACC0064",
                  "message": "Product not found"
                }
              }
            }
          }
        }
      },
      "500InternalServer": {
        "description": "Internal error",
        "content": {
          "application/json": {
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              ]
            },
            "examples": {
              "internalProcessingError": {
                "summary": "Internal processing error",
                "value": {
                  "code": "EIBACC0007",
                  "message": "Internal error",
                  "detail": "Internal error"
                }
              }
            }
          }
        }
      }
    }
  },
  "paths": {
    "/v1/deposits/{productId}": {
      "patch": {
        "tags": [
          "Product"
        ],
        "summary": "Update deposit product",
        "description": "Update deposit by product ID. Note that product ID is Pismo-generated.<br>\nThis endpoint generates the [Deposit product updated](https://developers.pismo.io/events/docs/deposit-product-update-1) event.\n",
        "operationId": "interest-bearing-v1-patch-deposit-product",
        "parameters": [
          {
            "$ref": "#/components/parameters/productId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchProductRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Success"
          },
          "400": {
            "$ref": "#/components/responses/400BadRequest"
          },
          "404": {
            "$ref": "#/components/responses/404NotFound"
          },
          "500": {
            "$ref": "#/components/responses/500InternalServer"
          }
        }
      }
    }
  },
  "security": [
    {
      "BearerAuth": []
    }
  ]
}
```