# List account balance history config v2 List account balance history configurations by division, organization, or program ID. # OpenAPI definition ```json { "openapi": "3.0.0", "info": { "title": "Banking - Transaction banking", "version": "0.9.0", "description": "Transaction banking API", "contact": { "name": "API Support", "url": "https://developers.pismo.io/support/" }, "license": { "name": "Copyright Pismo" } }, "servers": [ { "url": "https://sandbox.pismolabs.io", "description": "Sandbox API server for testing" } ], "security": [ { "BearerAuth": [] } ], "tags": [ { "name": "Bank statements", "description": "Bank statements endpoints" } ], "components": { "parameters": { "AccountbalanceHistoryConfigOffsetQuery2": { "name": "balanceHistoryConfigOffset", "in": "query", "description": "Starting point for the results list. Default is `0`.", "schema": { "type": "integer", "format": "int32" }, "required": false, "example": 10 }, "AccountBalanceHistoryConfigLimitQueryv2": { "name": "balanceHistoryConfigLimit", "in": "query", "description": "Maximum number of items per page. Defaults to `10`", "schema": { "type": "integer", "format": "int32" }, "example": 10 }, "AccountBalanceHistoryConfigTargetTypeQueryv2": { "name": "targetType", "in": "query", "description": "Balance history configuration to list. If you don't specify a type, all types are listed.", "required": true, "schema": { "type": "string", "enum": [ "DIVISION", "ORGANIZATION", "PROGRAM" ] }, "example": "ORGANIZATION" } }, "schemas": { "AccountBalanceConfigId": { "type": "string", "description": "Balance history configuration ID", "format": "uuid", "maxLength": 52, "example": "ee665f37-340f-461e-b520-af3b1b61c6ee" }, "AccountBalanceConfigTargetTypev2": { "type": "string", "description": "Account balance history config target type", "enum": [ "ORGANIZATION", "PROGRAM", "DIVISION" ], "example": "DIVISION" }, "ListAccountBalanceHistoryConfigurationResponsev2": { "description": "Get account balance history configuration response object", "type": "object", "properties": { "pagination": { "$ref": "#/components/schemas/OffsetPagination" }, "items": { "type": "object", "properties": { "id": { "$ref": "#/components/schemas/AccountBalanceConfigId" }, "target_type": { "$ref": "#/components/schemas/AccountBalanceConfigTargetTypev2" }, "target_id": { "$ref": "#/components/schemas/TargetID" }, "cycle_closing_time": { "$ref": "#/components/schemas/CycleClosingTimeV2" }, "cycle_event_delay": { "$ref": "#/components/schemas/CycleEventDelay" }, "cycle_config_validity": { "$ref": "#/components/schemas/CycleConfigValidity" } }, "required": [ "id", "target_type", "target_id", "cycle_closing_time", "cycle_event_delay", "cycle_config_validity" ] } } }, "CycleClosingTimeV2": { "type": "string", "format": "time", "description": "Cycle closing time indicates what time of day the cycle closes for a division, organization, or program. This time uses the timezone configured for the corresponding division, organization, or program.", "pattern": "^(?:([01]?\\d|2[0-3]):([0-5]?\\d):)?([0-5]?\\d)$", "example": "23:00:00", "maxLength": 8 }, "CycleConfigValidity": { "type": "object", "description": "The start and end date/time indicating when the cycle configuration becomes valid or invalid.\n", "properties": { "start": { "type": "string", "format": "datetime", "description": "The date and time when the configuration becomes valid. Format = `yyyy-mm-dd:hr:mm:ss`.", "example": "2023-04-01T22:10:00Z" }, "end": { "type": "string", "format": "datetime", "description": "The date and time when the configuration ends. Format = `yyyy-mm-dd:hr:mm:ss`.", "example": "2023-05-01T22:10:00Z" } } }, "CycleEventDelay": { "type": "integer", "format": "int32", "description": "The cycle event delay specifies how many minutes after `cycle_closing_time` the account balance history event is issued for each account in the division.", "example": 15, "minimum": 5 }, "ErrorCode": { "description": "Error code\n`minLength: 1`\n`maxLength: 12`\n", "type": "string", "minLength": 1, "maxLength": 12, "example": "WPMT0017" }, "ErrorMessage": { "description": "Error message\n`minLength: 1`\n`maxLength: 1000`\n", "type": "string", "minLength": 1, "maxLength": 1000, "example": "Invalid JSON payload received: Error unmarshalling request" }, "ErrorResponse": { "type": "object", "properties": { "code": { "$ref": "#/components/schemas/ErrorCode" }, "message": { "$ref": "#/components/schemas/ErrorMessage" } } }, "HasNext": { "type": "boolean", "description": "Whether there are more pages after the current page (`true`) or not (`false`).", "example": true }, "MaxItemsPerPage": { "type": "integer", "format": "int32", "description": "Maximum number of items per page", "example": 10 }, "Offset": { "type": "integer", "format": "int32", "description": "Starting index of the result list. Default is 0.", "example": 10 }, "OffsetPagination": { "type": "object", "description": "Data related to list pagination using an offset parameter", "properties": { "has_next": { "$ref": "#/components/schemas/HasNext" }, "limit": { "$ref": "#/components/schemas/MaxItemsPerPage" }, "offset": { "$ref": "#/components/schemas/Offset" } } }, "TargetID": { "type": "string", "description": "Target ID. When `target_type` is `DIVISION`, this value is the division code. Likewise, when `target_type` is `PROGRAM`, the value is the program ID, and so on.", "maxLength": 60, "example": "my-division-code" } }, "responses": { "500InternalServer3": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "Generic internal error": { "value": { "code": "CMN9999", "message": "Internal error" } } } } } } }, "securitySchemes": { "BearerAuth": { "type": "http", "scheme": "bearer", "bearerFormat": "JWT" } } }, "paths": { "/bank-statements/v2/account-balances/history/config": { "get": { "summary": "List account balance history config v2", "description": "List account balance history configurations by division, organization, or program ID.", "operationId": "list-account-balance-history-configv2", "tags": [ "Bank statements" ], "parameters": [ { "$ref": "#/components/parameters/AccountBalanceHistoryConfigTargetTypeQueryv2" }, { "$ref": "#/components/parameters/AccountbalanceHistoryConfigOffsetQuery2" }, { "$ref": "#/components/parameters/AccountBalanceHistoryConfigLimitQueryv2" } ], "responses": { "200": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListAccountBalanceHistoryConfigurationResponsev2" }, "examples": { "Created account balance history config successfully": { "value": { "pagination": { "has_next": false, "limit": 10, "offset": 10 }, "items": [ { "id": "ee665f37-340f-461e-b520-af3b1b61c6ee", "target_type": "PROGRAM", "target_id": "42461", "cycle_closing_time": "23:59:59", "cycle_event_delay": 60, "cycle_config_validity": { "start": "2026-03-14T03:59:59Z" } }, { "id": "e1ba8d9a-88b1-4438-b9d9-d35b502bbc73", "target_type": "PROGRAM", "target_id": "39830", "cycle_closing_time": "23:59:59", "cycle_event_delay": 60, "cycle_config_validity": { "start": "2026-02-26T03:59:59Z" } } ] } } } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "division_code is a required field": { "value": { "code": "WCFG0002", "message": "division_code is a required field" } }, "division_code exceed size": { "value": { "code": "WCFG0002", "message": "division_code must be a maximum of 36 characters in length" } }, "cycle_closing_time is a required field": { "value": { "code": "WCFG0002", "message": "cycle_closing_time is a required field" } }, "cycle_closing_time exceed size": { "value": { "code": "WCFG0002", "message": "cycle_closing_time must be a maximum of 8 characters in length" } }, "cycle_closing_time invalid time format": { "value": { "code": "WCFG0002", "message": "cycle_closing_time has an invalid time format: {cycle_closing_time}" } }, "cycle_event_delay is a required field": { "value": { "code": "WCFG0002", "message": "cycle_event_delay is a required field" } }, "cycle_event_delay must be 5 minutes or greater": { "value": { "code": "WCFG0002", "message": "cycle_event_delay must be 5 or greater" } }, "cycle_event_delay exceed maximum minutes": { "value": { "code": "WCFG0002", "message": "cycle_event_delay must be 1,439 or less" } }, "Invalid JSON payload received": { "value": { "code": "WCFG0001", "message": "Invalid JSON payload received: Error unmarshalling request" } }, "Invalid request filter": { "value": { "code": "WCFG0002", "message": "Invalid request filter" } }, "Invalid request": { "value": { "code": "WCFG0002", "message": "Invalid request" } }, "Validation error": { "value": { "code": "WCFG0002", "message": "Validation error. The limit must be less than or equal to 100" } } } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "Division not found": { "value": { "code": "WCFG0003", "message": "Division not found" } } } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "Division already configured": { "value": { "code": "WCFG0004", "message": "Division already configured" } } } } } }, "500": { "$ref": "#/components/responses/500InternalServer3" } } } } } } ```