# List dormancy configurations Lists all dormancy configurations for an organization. # 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": "Dormancy", "description": "Dormancy endpoints" } ], "components": { "parameters": { "CursorQuery": { "name": "cursor", "in": "query", "description": "Cursor to the next page of results. If no value is specified, it fetches the first page.", "schema": { "type": "string" }, "example": "1234" }, "LimitQuery4": { "name": "limit", "in": "query", "description": "Maximum number of items per page. Defaults to `10`", "schema": { "type": "integer", "format": "int32", "default": 10 }, "example": 20 }, "TargetTypeQuery": { "name": "targetType", "in": "query", "description": "Type of dormancy configuration to list. If you don't specify a type, all types are listed.", "schema": { "type": "string", "enum": [ "DIVISION", "PROGRAM" ] }, "required": false, "example": "DIVISION" } }, "schemas": { "AccountStatus": { "type": "string", "minLength": 1, "maxLength": 9, "description": "Account status
\n`minLength: 1`\n`maxLength: 9`\n", "example": "DORMANT" }, "AccountStatusReasonID": { "type": "integer", "format": "int64", "minimum": 1, "maximum": 4294967295, "description": "Account status reason ID
\n`minimum: 1`\n`maximum: 4294967295`\n", "example": 1438 }, "AccountStatusReasonExternalID": { "type": "string", "minLength": 1, "maximum": 120, "description": "External reason ID specifying account restrictions
\n`minimum: 1`\n`maximum: 120`\n", "example": "CREDIT_ONLY" }, "CheckTimezoneOrigin": { "type": "string", "description": "Specify whether the dormancy check uses the timezone of the account’s program or division. If not specified, the timezone of `target_id` is used.", "enum": [ "PROGRAM", "DIVISION" ], "example": "PROGRAM" }, "CurrentReasonExternalID": { "type": "string", "description": "The custom reason ID related to the `current_reason_id` specified in the dormancy restrictions.\nThe dormancy configuration checks to see whether the current `reason_external_id` matches the one in the configuration. If yes, the new `reason_external_id` is the `new_reason_external_id`.\n", "example": "CREDIT_ONLY" }, "CurrentReasonID": { "type": "integer", "description": "The dormancy configuration checks whether the current account `reason_id` is the same as the current account reason. If they are different, the dormancy configuration sets the reason to the value in the `reason_id` field.", "example": 13 }, "Cursor": { "type": "string", "description": "Cursor pointing to the next page of results", "example": "eyJJRCI6IjBjOGVhMTA4LWNhZTYtNDA2Mi1iMmQzLTFhMTZkNmJiNGIyOCIsIk9yZ0lEIjoiMDllYThhMDQtNWY5My0xMWVkLTliNmEtMDI0MmFjMTIwMDAyIn0=" }, "DenyForcedTransactionReactivation": { "type": "boolean", "description": "Whether an account under that dormancy configuration should be reactivated when a forced transaction is made to that account (`true`) or not (`false`).", "example": true, "default": false }, "DormancyCheckTime": { "type": "string", "format": "time", "description": "Dormancy check time
\nNote: The timezone is inherited from the customer's divisions or programs.\n", "pattern": "^(?:([01]?\\d|2[0-3]):([0-5]?\\d):)?([0-5]?\\d)$", "example": "09:00:00", "maxLength": 8 }, "DormancyConfigEndValid": { "type": "string", "description": "Date and time the dormancy configuration ceased to be valid. The field is omitted from the response if empty. Format = yyyy-mm-dd:hr:mm:ss.", "example": "2023-08-14T22:12:48.961Z" }, "DormancyConfigID": { "type": "string", "description": "Dormancy configuration ID generated internally", "format": "uuid", "example": "b993ba96-b3e8-4ef7-9cf7-7eee5ddafdab" }, "DormancyConfigStartValid": { "type": "string", "description": "Date and time the dormancy configuration starts to be valid. Format = yyyy-mm-dd:hr:mm:ss.", "example": "2024-10-18T17:45:26.930Z" }, "DormancyConfigValidityWithEnd": { "type": "object", "description": "The datetimes for dormancy configuration validity", "properties": { "start": { "$ref": "#/components/schemas/DormancyConfigStartValid" }, "end": { "$ref": "#/components/schemas/DormancyConfigEndValid" } } }, "DormancyRestrictions": { "type": "array", "description": "List of objects that contains the information related to account dormancy restrictions.
\nIf there is a restriction in the list and the account's current reason is different from the value in `current_reason_id`, the dormancy configuration sets the reason to the value of the `reason_id` field. However, If the account's current reason is identical to the one in `current_reason_id`, the dormancy configuration sets the value to the `new_reason_id` field; in other words, the value in `new_reason_id` is the result of `reason_id` plus `current_reason_id`.\n", "items": { "type": "object", "required": [ "current_reason_id", "new_reason_id" ], "properties": { "current_reason_id": { "$ref": "#/components/schemas/CurrentReasonID" }, "new_reason_id": { "$ref": "#/components/schemas/NewReasonID" }, "current_reason_external_id": { "$ref": "#/components/schemas/CurrentReasonExternalID" }, "new_reason_external_id": { "$ref": "#/components/schemas/NewReasonExternalID" } } } }, "DormancyTargetType": { "type": "string", "description": "Dormancy configuration target", "enum": [ "DIVISION", "PROGRAM" ], "example": "DIVISION" }, "DormantProcessingCodes": { "type": "array", "description": "List of processing codes that prevent account reactivation. If there are financial transactions in an account that were made with any of these codes, the account cannot be reactivated.", "items": { "$ref": "#/components/schemas/ValidProcessingCode" } }, "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" } } }, "InactivityDays": { "type": "integer", "format": "int32", "description": "Days the account must be inactive before it is transitioned to the specified status.", "example": 19 }, "ListDormancyConfigResponse": { "title": "ListDormancyConfigResponse", "type": "object", "properties": { "dormancy_configs": { "type": "array", "description": "List of dormancy configurations", "items": { "type": "object", "properties": { "id": { "$ref": "#/components/schemas/DormancyConfigID" }, "check_time": { "$ref": "#/components/schemas/DormancyCheckTime" }, "target_type": { "$ref": "#/components/schemas/DormancyTargetType" }, "target_id": { "$ref": "#/components/schemas/TargetID" }, "statuses": { "type": "array", "description": "List of objects containing all the information pertinent to an organization's valid account status", "items": { "type": "object", "properties": { "reactivation_with_last_restriction": { "$ref": "#/components/schemas/ReactivationWithLastRestriction" }, "status": { "$ref": "#/components/schemas/AccountStatus" }, "days": { "$ref": "#/components/schemas/InactivityDays" }, "reason_id": { "$ref": "#/components/schemas/AccountStatusReasonID" }, "reason_external_id": { "$ref": "#/components/schemas/AccountStatusReasonExternalID" }, "restrictions": { "$ref": "#/components/schemas/DormancyRestrictions" } } } }, "dormant_processing_codes": { "$ref": "#/components/schemas/DormantProcessingCodes" }, "dormancy_config_validity": { "$ref": "#/components/schemas/DormancyConfigValidityWithEnd" }, "deny_forced_transaction_reactivation": { "$ref": "#/components/schemas/DenyForcedTransactionReactivation" }, "check_timezone_origin": { "$ref": "#/components/schemas/CheckTimezoneOrigin" } } } }, "pagination": { "$ref": "#/components/schemas/Pagination" } } }, "MaxItemsPerPage": { "type": "integer", "format": "int32", "description": "Maximum number of items per page", "example": 10 }, "NewReasonExternalID": { "type": "string", "description": "The custom reason ID related to the `new_reason_id` specified in the dormancy restrictions.\n", "example": "DEBIT_ONLY" }, "NewReasonID": { "type": "integer", "description": "This is the reason ID when the current account `reason_id` value is the same as `current_reason_id`.", "example": 16 }, "Pagination": { "type": "object", "description": "Data related to list pagination using a cursor.", "properties": { "limit": { "$ref": "#/components/schemas/MaxItemsPerPage" }, "cursor": { "$ref": "#/components/schemas/Cursor" } } }, "ReactivationWithLastRestriction": { "type": "boolean", "description": "Whether the account should be reactivated to `normal` with its last manual change restriction (`true`) or not (`false`).", "example": false }, "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" }, "ValidProcessingCode": { "type": "string", "description": "Valid processing code used in transactions", "minLength": 1, "maxLength": 6, "example": "220040" } }, "responses": { "401Unauthorized": { "description": "Access token is missing or invalid" }, "403Forbidden": { "description": "The request has been lost" }, "404NotFound": { "description": "The specified resource was not found" }, "500InternalServer": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "Generic internal error": { "value": { "code": "ECMN9999", "message": "Internal error" } } } } } } }, "securitySchemes": { "BearerAuth": { "type": "http", "scheme": "bearer", "bearerFormat": "JWT" } } }, "paths": { "/corporate/v1/dormancy-config": { "get": { "summary": "List dormancy configurations", "operationId": "list-dormancy-configs", "description": "Lists all dormancy configurations for an organization.", "tags": [ "Dormancy" ], "parameters": [ { "$ref": "#/components/parameters/CursorQuery" }, { "$ref": "#/components/parameters/LimitQuery4" }, { "$ref": "#/components/parameters/TargetTypeQuery" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListDormancyConfigResponse" }, "examples": { "Dormancy configuration": { "value": { "dormancy_configs": [ { "id": "11bb6f64-15de-4d88-b77a-988f3e30dc55", "check_time": "09:00:00", "target_type": "DIVISION", "target_id": "my-division-code", "statuses": [ { "status": "DORMANT", "days": 99, "reason_id": 1419, "reason_external_id": "01", "restrictions": [ { "current_reason_id": 1421, "new_reason_id": 1618, "current_reason_external_id": "02", "new_reason_external_id": "03" } ], "reactivation_with_last_restriction": false }, { "status": "INACTIVE", "days": 120, "reason_id": 1419, "reason_external_id": "01", "restrictions": [ { "current_reason_id": 1618, "new_reason_id": 1619, "current_reason_external_id": "03", "new_reason_external_id": "04" } ], "reactivation_with_last_restriction": true } ], "dormant_processing_codes": [ "220040", "220042" ], "dormancy_config_validity": { "start": "2024-10-08T17:02:28.441Z", "end": "2024-10-08T17:03:31.878Z" }, "deny_forced_transaction_reactivation": true, "check_timezone_origin": "PROGRAM" } ], "pagination": { "limit": 10, "cursor": "eyJJRCI6IjBjOGVhMTA4LWNhZTYtNDA2Mi1iMmQzLTFhMTZkNmJiNGIyOCIsIk9yZ0lEIjoiMDllYThhMDQtNWY5My0xMWVkLTliNmEtMDI0MmFjMTIwMDAyIn0=" } } } } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "targetType one of": { "value": { "code": "WDOR0002", "message": "targetType param must be one of [DIVISION PROGRAM]" } }, "invalid cursor": { "value": { "code": "WCMN0004", "message": "Invalid cursor" } }, "limit exceeded maximum value": { "value": { "code": "WCMN0006", "message": "Limit must be less than or equal to 100" } } } } } }, "401": { "$ref": "#/components/responses/401Unauthorized" }, "403": { "$ref": "#/components/responses/403Forbidden" }, "404": { "$ref": "#/components/responses/404NotFound" }, "500": { "$ref": "#/components/responses/500InternalServer" } } } } } } ```