---
updatedAt: 2026-03-25T11:20:25.000Z
---

# Get savings balances

Reads details about a saving balances. It is assumed that a consent of the PSU to this access is already given and stored on the ASPSP system.
The addressed details of this account depends then on the stored consent addressed by consentId, respectively the OAuth2 access token.

# OpenAPI definition

```json
{
  "openapi": "3.0.1",
  "info": {
    "title": "OpenBanking Service For Loans and Savings",
    "description": "APIs for getting user consent on subject such as Account Information Services (AIS), Client Information and etc.\n\nThe result of this process is a consent resource. A link to this resource is returned to  the  AISP  within  this  process.\nThe TPP can retrieve the consent object by submitting a GET method on this resource.\nThis object contains the detailed access rights, the current validity and a Consent-ID token.   \n\nAbbreviations used in the documentation:\n  * TPP - Third Party Providers\n  * AIS - Account Information Service\n  * ASPSP - Account Servicing Payment Service Provider \n  * PSU - Payment Service User\n  * SCA - Strong Customer Authentication\n\nIn order to make test integration, please use  https://test-openbanking.tbcbank.ge\n",
    "version": "1.0"
  },
  "servers": [
    {
      "url": "https://test-api.tbcbank.ge/xs2a-sandbox"
    },
    {
      "url": "https://test-openbanking.tbcbank.ge"
    },
    {
      "url": "https://openbanking.tbcbank.ge"
    }
  ],
  "paths": {
    "/v2/savings/{resourceId}/balances": {
      "get": {
        "summary": "Get savings balances",
        "description": "Reads details about a saving balances. It is assumed that a consent of the PSU to this access is already given and stored on the ASPSP system.\r\nThe addressed details of this account depends then on the stored consent addressed by consentId, respectively the OAuth2 access token.",
        "tags": [
          "Savings"
        ],
        "security": [
          {
            "BearerAuthOAuth": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/ResourceId"
          },
          {
            "$ref": "#/components/parameters/X-Request-ID"
          },
          {
            "$ref": "#/components/parameters/ConsentIdHeader"
          },
          {
            "$ref": "#/components/parameters/PSU-IP-Address"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetSavingBalanceResponse"
                },
                "example": {
                  "resourceId": "123asd36-g54h-555g-6fgr-16dcf6c9gc27",
                  "balances": [
                    {
                      "balanceAmount": {
                        "currency": "USD",
                        "amount": "1121.08"
                      },
                      "balanceType": "OpeningBooked",
                      "referenceDate": "2024-11-01"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemDetails"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "parameters": {
      "ConsentIdHeader": {
        "description": "ID of the corresponding consent object as returned by an account information consent request.\n",
        "name": "consentId",
        "in": "header",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "X-Request-ID": {
        "name": "X-Request-ID",
        "in": "header",
        "description": "ID of the request, unique to the call, as determined by the initiating party.",
        "required": true,
        "example": "dca140c0-7db3-4cf3-9415-81b5a141f5f3",
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      },
      "PSU-IP-Address": {
        "name": "PSU-IP-Address",
        "in": "header",
        "description": "The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU.",
        "required": true,
        "example": "123.345.567.78",
        "schema": {
          "type": "string",
          "format": "ipv4 or ipv6"
        }
      },
      "ResourceId": {
        "name": "resourceId",
        "in": "path",
        "description": "The \"resourceId\" attribute of the data structure. Its value is constant at least throughout the lifecycle of a given consent.",
        "required": true,
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      }
    },
    "schemas": {
      "BalanceAmountResponse": {
        "type": "object",
        "properties": {
          "currency": {
            "type": "string",
            "description": "ISO 4217 Alpha 3 currency code.",
            "nullable": true
          },
          "amount": {
            "type": "string",
            "description": "The amount given with fractional digits, where fractions must be compliant to the currency definition. Up to 14 significant figures. Negative amounts are signed by minus. The decimal separator is a dot.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetSavingBalanceResponse": {
        "type": "object",
        "properties": {
          "resourceId": {
            "type": "string",
            "description": "Unique identifier for the savings account, represented as a string.",
            "nullable": true
          },
          "balances": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SavingBalanceResponse"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SavingBalanceResponse": {
        "type": "object",
        "properties": {
          "balanceAmount": {
            "$ref": "#/components/schemas/BalanceAmountResponse"
          },
          "balanceType": {
            "type": "string",
            "description": "The following balance types are defined:\r\n• \"closingBooked\": Balance of the account at the end of the pre-agreed account reporting period.It is the sum of the opening booked balance at the beginning of the period and all entries booked to the account during the pre-agreed account reporting period.\r\n• \"expected\": Balance composed of booked entries and pending items known at the time of calculation, which projects the end of day balance if everything is booked on the account and no other entry is posted.\r\n• \"openingBooked\": Book balance ofthe account at the beginning of the account reporting period. It always equals the closing book balance from the previous report.\r\n• \"interimAvailable\": Available balance calculated in the course of the account? servicer?s business day, at the time specified, and subject to further changes during the business day.The interim balance is calculated on the basis of booked credit and debit items during the calculation time/period specified.\r\n• \"interimBooked\": Balance calculated in the course of the account servicer's business day, at the time specified, and subject to further changes during the business day. The interim balance is calculated on the basis of booked credit and debit items during the calculation time/period specified.\r\n• \"forwardAvailable\": Forward available balance of money that is at the disposal of the account owner on the date specified.\r\n• \"nonInvoiced\": Only for card accounts, to be checked yet.",
            "nullable": true
          },
          "referenceDate": {
            "type": "string",
            "description": "Indicates the date of the balance.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ApiProblemDetails": {
        "description": "A machine-readable format for specifying errors in HTTP API responses.",
        "type": "object",
        "properties": {
          "type": {
            "description": "A URI reference [RFC3986] that identifies the problem type.",
            "type": "string"
          },
          "title": {
            "description": "A short, human-readable summary of the problem type.",
            "type": "string"
          },
          "status": {
            "description": "The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.",
            "type": "integer",
            "format": "int32"
          },
          "detail": {
            "description": "A human-readable explanation specific to this occurrence of the problem.",
            "type": "string"
          },
          "instance": {
            "description": "A URI reference that identifies the specific occurrence of the problem.  It may or may not yield further information if dereferenced.",
            "type": "string"
          },
          "traceId": {
            "description": "Message identification for searching errors",
            "type": "string"
          },
          "code": {
            "type": "string",
            "description": "Message codes defined for AIS for appropriate HTTP status code"
          }
        }
      }
    },
    "securitySchemes": {
      "BearerAuthOAuth": {
        "description": "Bearer Token. \n\nIs contained only, if an OAuth2 based authentication was performed in a pre-step or \nan OAuth2 based SCA was performed in a preceding AIS service in the same session.\n",
        "type": "http",
        "scheme": "bearer"
      }
    }
  },
  "security": [
    {}
  ],
  "x-readme": {
    "explorer-enabled": true,
    "proxy-enabled": true
  }
}
```