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

# Get savings account product

Get saving accounts product by product ID. Note that product ID is Pismo-generated.


# 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"
          }
        }
      },
      "SavingsAccountProcessingCodes": {
        "type": "object",
        "properties": {
          "interest_processing_code": {
            "type": "string",
            "description": "Processing code for interest calculation. <br> If you don't specify a value, the default is `009797`.",
            "example": "009797"
          },
          "detach_processing_code": {
            "type": "string",
            "description": "Processing code for detaching deposit feature from a bank account.<br>\nDetaching means the bank removes the deposit feature from the bank account.\nIf you don't specify a value, the default is `009696`.\n",
            "example": "009696"
          }
        }
      },
      "SavingsAccountProduct": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "The moment when a product is created.",
            "example": "2024-01-23T13:26:25.000Z"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "The moment when a product is updated.",
            "example": "2024-01-23T13:26:25.000Z"
          },
          "interest_plan_id": {
            "type": "string",
            "description": "Interest rate plan ID. This corresponds to the ID you created using the [Create interest plan version](https://developers.pismo.io/pismo-docs/reference/patch-v1-interest-plan)) endpoint.",
            "example": "263d509a-d5d0-4b3a-b909-ce1b9174beff"
          },
          "name": {
            "type": "string",
            "description": "The product name.",
            "example": "Tax 1 Default"
          },
          "accrual_model": {
            "type": "string",
            "description": "Interest accrual model configured at the product level and returned in both the creation event and API response.\nWith `DEPOSIT_BASIS`, the Pismo platform calculates accruals based on the net daily balance change (credits minus debits) at the end of each day.\nWith `BALANCE_BASIS`, accruals are calculated using the account's closing balance at the end of the day, regardless of whether any transactions occurred. For example, if an account has a balance of 1000 and no transactions are made during the day, the platform still uses 1000 as the accrual basis.\nAt creation, the interest plan determines the model: `BALANCE-CHANGE` maps to `DEPOSIT_BASIS`, and `CLOSING-BALANCE` maps to `BALANCE_BASIS`.\n",
            "enum": [
              "DEPOSIT_BASIS",
              "BALANCE_BASIS"
            ],
            "example": "DEPOSIT_BASIS"
          },
          "balance_type": {
            "type": "string",
            "description": "Which balance of the `balance_history` event is submitted when `accrual_model` is `BALANCE_BASIS`. `VALUE_DATED_BALANCE` uses the cleared balance (default). `LEDGER_BALANCE` includes uncleared funds.",
            "enum": [
              "VALUE_DATED_BALANCE",
              "LEDGER_BALANCE"
            ],
            "default": "VALUE_DATED_BALANCE",
            "example": "VALUE_DATED_BALANCE"
          },
          "min_amount": {
            "type": "number",
            "format": "float",
            "description": "Minimum amount for yield. If balance is below this value, yield is not calculated. If no value is provided, any available amount is treated as accrued interest.",
            "example": 1000
          },
          "processing_codes": {
            "$ref": "#/components/schemas/SavingsAccountProcessingCodes"
          },
          "product_id": {
            "type": "string",
            "description": "Product identifier.",
            "example": "2c336e9d-d04f-4fd0-8f6e-25808f48d70c"
          },
          "product_type": {
            "type": "string",
            "description": "Product type.",
            "enum": [
              "deposit",
              "savings-account"
            ]
          },
          "status": {
            "description": "Product status",
            "example": "ACTIVE",
            "type": "string",
            "enum": [
              "CREATED",
              "ACTIVE",
              "INACTIVE"
            ]
          },
          "start_date": {
            "type": "string",
            "format": "date",
            "description": "Define the earliest date from which the product can be attached to an account or program. Date is displayed in UTC.",
            "example": "2025-11-01"
          },
          "metadata": {
            "type": "object",
            "description": "The metadata object contains user-defined key-value pairs that provide additional context or custom information.<br>\nMetadata content is not controlled by the Pismo platform and is instead controlled by the user.<br>\n\n**Note**: This field must not be used to send Personally Identifiable Information (PII), Payment Card Industry (PCI) data, or any sensitive/regulated information. Metadata fields are intended for operational, non-sensitive data only. For sensitive data, use the specific parameters designed for that purpose. For more information, refer to [Get started with Pismo APIs](https://developers.pismo.io/pismo-docs/reference/get-started-with-pismo-apis#metadata).\n",
            "example": {
              "key": "value"
            }
          }
        }
      }
    },
    "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/savings-accounts/{productId}": {
      "get": {
        "tags": [
          "Product"
        ],
        "summary": "Get savings account product",
        "description": "Get saving accounts product by product ID. Note that product ID is Pismo-generated.\n",
        "operationId": "interest-bearing-v1-get-savings-account-products",
        "parameters": [
          {
            "$ref": "#/components/parameters/productId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SavingsAccountProduct"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400BadRequest"
          },
          "404": {
            "$ref": "#/components/responses/404NotFound"
          },
          "500": {
            "$ref": "#/components/responses/500InternalServer"
          }
        }
      }
    }
  },
  "security": [
    {
      "BearerAuth": []
    }
  ]
}
```