# Get dormancy configuration Retrieves a dormancy configuration by its ID. Also returns past configurations if you include a `showPrevious` query parameter set to 'true'. # 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": { "DormancyConfigIdPath": { "name": "dormancyConfigId", "in": "path", "description": "Dormancy configuration ID. This is the ID that the Pismo platform generates when you use [Create dormancy configuration](https://developers.pismo.io/pismo-docs/reference/post-dormancy-config-v2) to set up dormancy.", "schema": { "type": "string" }, "required": true, "example": "1234" }, "ShowPreviousQuery2": { "name": "showPrevious", "in": "query", "description": "If `true`, returns the previous dormancy configurations.\nFor example, if you use [Update dormancy configuration](https://developers.pismo.io/pismo-docs/reference/patch-dormancy-config) to update an existing dormancy configuration, specifying `true` in this field returns both the current dormancy configuration and the previous ones.
\nThere is no limit to how many previous dormancy configurations can be returned.\n", "example": true, "schema": { "type": "boolean", "default": false } } }, "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 }, "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" }, "DormancyConfigResponse": { "description": "Dormancy-config response object", "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 that contains all the information pertinent to an organization's valid account status", "items": { "type": "object", "properties": { "status": { "$ref": "#/components/schemas/AccountStatus" }, "days": { "$ref": "#/components/schemas/InactivityDays" }, "reason_id": { "$ref": "#/components/schemas/AccountStatusReasonID" } }, "required": [ "status", "days", "reason_id" ] } }, "dormant_processing_codes": { "$ref": "#/components/schemas/DormantProcessingCodes" }, "dormancy_config_validity": { "$ref": "#/components/schemas/DormancyConfigValidityWithEnd" }, "deny_forced_transaction_reactivation": { "$ref": "#/components/schemas/DenyForcedTransactionReactivation" }, "reactivation_exceptions_config": { "$ref": "#/components/schemas/ReactivationExceptionsConfig" } } }, "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" } } }, "DormancyConfigValidityWithoutEnd": { "type": "object", "description": "The datetimes for dormancy configuration validity", "properties": { "start": { "$ref": "#/components/schemas/DormancyConfigStartValid" } } }, "DormancyExceptionField": { "type": "string", "minLength": 1, "maxLength": 100, "description": "Specifies which transaction attribute is checked in order to determine whether a transaction is exempt from reactivating a dormant account.", "example": "soft_descriptor" }, "DormancyExceptionValues": { "type": "array", "description": "Lists the values that, when present in the specified field, prevent the account from being reactivated by that transaction.", "maxItems": 30, "items": { "$ref": "#/components/schemas/ValidExceptionValue" } }, "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" } } }, "GetDormancyConfigResponse": { "description": "Get dormancy-config response object", "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": { "status": { "$ref": "#/components/schemas/AccountStatus" }, "days": { "$ref": "#/components/schemas/InactivityDays" }, "reactivation_with_last_restriction": { "$ref": "#/components/schemas/ReactivationWithLastRestriction" }, "reason_id": { "$ref": "#/components/schemas/AccountStatusReasonID" }, "reason_external_id": { "$ref": "#/components/schemas/AccountStatusReasonExternalID" }, "restrictions": { "$ref": "#/components/schemas/DormancyRestrictions" } }, "required": [ "status", "days" ] } }, "dormant_processing_codes": { "$ref": "#/components/schemas/DormantProcessingCodes" }, "dormancy_config_validity": { "$ref": "#/components/schemas/DormancyConfigValidityWithoutEnd" }, "previous": { "$ref": "#/components/schemas/PreviousDormancyConfigs" }, "deny_forced_transaction_reactivation": { "$ref": "#/components/schemas/DenyForcedTransactionReactivation" }, "check_timezone_origin": { "$ref": "#/components/schemas/CheckTimezoneOrigin" }, "reactivation_exceptions_config": { "$ref": "#/components/schemas/ReactivationExceptionsConfig" } } }, "InactivityDays": { "type": "integer", "format": "int32", "description": "Days the account must be inactive before it is transitioned to the specified status.", "example": 19 }, "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 }, "PreviousDormancyConfigs": { "type": "array", "description": "List of previous dormancy configurations. This field is returned only if you pass the query string with `showPrevious` set to `true`.", "items": { "$ref": "#/components/schemas/DormancyConfigResponse" } }, "ReactivationWithLastRestriction": { "type": "boolean", "description": "Whether the account should be reactivated to `normal` with its last manual change restriction (`true`) or not (`false`).", "example": false }, "ReactivationExceptionsConfig": { "type": "object", "description": "Specifies configuration rules that allow certain transactions to bypass dormancy reactivation based on defined transaction attributes and their corresponding values.", "properties": { "field": { "$ref": "#/components/schemas/DormancyExceptionField" }, "values": { "$ref": "#/components/schemas/DormancyExceptionValues" } }, "required": [ "field", "values" ] }, "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" }, "ValidExceptionValue": { "type": "string", "description": "Transaction attribute values that exempt the transaction from reactivating a dormant account", "minLength": 1, "maxLength": 100, "example": "001" }, "ValidProcessingCode": { "type": "string", "description": "Valid processing code used in transactions", "minLength": 1, "maxLength": 6, "example": "220040" } }, "responses": { "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/{dormancyConfigId}": { "get": { "summary": "Get dormancy configuration", "operationId": "getDormancyConfig", "description": "Retrieves a dormancy configuration by its ID. Also returns past configurations if you include a `showPrevious` query parameter set to 'true'.\n", "parameters": [ { "$ref": "#/components/parameters/DormancyConfigIdPath" }, { "$ref": "#/components/parameters/ShowPreviousQuery2" } ], "tags": [ "Dormancy" ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetDormancyConfigResponse" }, "examples": { "Dormancy configuration": { "value": { "id": "72e32c36-b91d-4e87-9a23-923ef4e9a7e7", "check_time": "08:00:00", "target_type": "DIVISION", "target_id": "my-division-code", "statuses": [ { "status": "DORMANT", "days": 19, "reason_id": 1438, "reason_external_id": "CREDIT_ONLY_NO_FORCE_DEBIT_ALLOWED", "restrictions": [ { "current_reason_id": 1421, "new_reason_id": 1620, "current_reason_external_id": "DEBIT_ONLY", "new_reason_external_id": "NONE" } ], "reactivation_with_last_restriction": false }, { "status": "INACTIVE", "days": 110, "reason_id": 1441, "reason_external_id": "NONE_NO_FORCE_ALLOWED", "restrictions": [ { "current_reason_id": 1619, "new_reason_id": 1620, "current_reason_external_id": "ALL", "new_reason_external_id": "NONE" } ], "reactivation_with_last_restriction": true } ], "dormant_processing_codes": [ "220040", "220042" ], "dormancy_config_validity": { "start": "2024-10-18T17:45:26.930Z" }, "reactivation_exceptions_config": { "field": "soft_descriptor", "values": [ "001", "002", "003" ] }, "previous": [ { "id": "11bb6f64-15de-4d88-b77a-988f3e30dc55", "check_time": "09:00:00", "target_type": "DIVISION", "target_id": "my-division-code", "statuses": [ { "status": "DORMANT", "days": 199, "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": 110, "reason_id": 1419, "reason_external_id": "01", "restrictions": { "current_reason_id": 1618, "new_reason_id": 1438, "current_reason_external_id": "03", "new_reason_external_id": "05" }, "reactivation_with_last_restriction": true } ], "dormant_processing_codes": [ "220040", "220042" ], "dormancy_config_validity": { "start": "2024-10-08T17:54:21.540Z", "end": "2024-10-18T17:45:26.922Z" }, "deny_forced_transaction_reactivation": true, "check_timezone_origin": "PROGRAM", "reactivation_exceptions_config": { "field": "soft_descriptor", "values": [ "001", "002", "003" ] } } ] } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "Missing HTTP parameters": { "value": { "code": "WCMN0003", "message": "Missing HTTP parameters" } } } } } }, "404": { "description": "DormancyConfig Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "DormancyConfig Not Found": { "value": { "code": "WDOR0007", "message": "Dormancy configuration with ID {dormancyConfigId} not found" } } } } } }, "500": { "$ref": "#/components/responses/500InternalServer" } } } } } } ```