---
updatedAt: 2026-04-29T19:39:21.000Z
agentTools:
  siteIndex: https://developers.pismo.io/llms.txt
  projectIndex: https://developers.pismo.io/pismo-docs/llms.txt
---

# Update features by account status

Update features by account status at the program or organization level.
<b>Note:</b> This only applies to full balance credit card programs, and only features that were previously configured using [Configure features by account status](ref:postfeaturesbyaccountstatus) can be updated using this endpoint.

You can toggle the following features on or off for a particular account status by setting them to `true` or `false`, respectively. <b>By default, all these features are on (`true`)</b>. In the `FEATURES OBJECT` body parameter, `newKey`, `newKey-1`, and so on, must be one of these features.
* `close-statements`: If `false`, the platform won't perform any cycle closings if the account has the specified status.
* `late-payment-fee`: If `false`, the platform won't charge any late payment fees if the account has the specified status.
* `overlimit`: If `false`, the platform won't charge any overlimit fees if the account has the specified status.

When modifying an existing account status, all the features previously configured must be provided.
<b>Note:</b> If you send a feature name that does not exist, the endpoint returns an error.

A status can be removed if the `remove_status` flag is set to `true`.  

The configuration can be reset if the `reset_configuration` flag is set to `true`. Resetting the configuration causes all the features to go back to their default values (`true`).
<b>Note:</b> if you set `reset_configuration` to true, and also try to update some features for that status, the endpoint generates the following error:
<b>Request body is missing: account_statuses field is not allowed when it is set to reset this configuration.</b>

You can use the [List statuses](ref:v4-get-account-status) endpoint to list all the account statuses defined for your organization.           


# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "Revolving credit - Configurations",
    "version": "2.74.0",
    "description": "Endpoints for setting up the revolving credit product",
    "contact": {
      "name": "API Support",
      "url": "https://developers.pismo.io/support/"
    },
    "license": {
      "name": "Copyright Pismo",
      "identifier": "Pismo"
    }
  },
  "servers": [
    {
      "url": "https://sandbox.pismolabs.io/credit-cycle-configurations",
      "description": "Sandbox API server for testing"
    }
  ],
  "tags": [
    {
      "name": "Features by account status",
      "description": "Endpoints to toggle features on or off by account status (at program or organization level)"
    }
  ],
  "components": {
    "schemas": {
      "StandardErrorResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "Standard error code",
            "example": "1020030"
          },
          "message": {
            "type": "string",
            "description": "Error message",
            "example": "An error occurred when attempting to execute request."
          }
        }
      },
      "FeaturesByAccountStatusResponse": {
        "type": "object",
        "properties": {
          "program_id": {
            "type": "number",
            "description": "Program ID",
            "format": "int64",
            "example": 123
          },
          "account_statuses": {
            "type": "array",
            "description": "List of account statuses with the corresponding features marked to be disabled/enabled",
            "items": {
              "$ref": "#/components/schemas/AccountStatusItemResponse"
            }
          }
        },
        "required": [
          "account_statuses"
        ]
      },
      "FeaturesByAccountStatusPatchRequest": {
        "type": "object",
        "properties": {
          "reset_configuration": {
            "type": "boolean",
            "description": "Reset configuration?",
            "example": true
          },
          "program_id": {
            "type": "number",
            "description": "Program ID",
            "format": "int64",
            "example": 123
          },
          "account_statuses": {
            "type": "array",
            "description": "List of account statuses with the corresponding features marked to be disabled/enabled",
            "items": {
              "$ref": "#/components/schemas/AccountStatusPatchItemRequest"
            }
          }
        },
        "required": [
          "account_statuses"
        ]
      },
      "AccountStatusItemResponse": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Account status name",
            "example": "FULL_CANCELLATION"
          },
          "features": {
            "type": "object",
            "description": "Map of features and the corresponding enabled/disabled status",
            "properties": {
              "close-statements": {
                "type": "boolean"
              },
              "overlimit": {
                "type": "boolean"
              },
              "late-payment-fee": {
                "type": "boolean"
              }
            },
            "example": {
              "close-statements": false,
              "overlimit": true
            }
          }
        },
        "example": {
          "value": [
            {
              "name": "DEFINITIVE_CANCELLATION",
              "features": {
                "close-statements": false
              }
            },
            {
              "name": "BLOCKED",
              "features": {
                "close-statements": false,
                "overlimit": false
              }
            }
          ]
        }
      },
      "AccountStatusPatchItemRequest": {
        "type": "object",
        "properties": {
          "remove_status": {
            "type": "boolean",
            "description": "Remove current status?",
            "example": true
          },
          "name": {
            "type": "string",
            "description": "Account status name",
            "example": "FULL_CANCELLATION"
          },
          "features": {
            "type": "object",
            "additionalProperties": {
              "type": "boolean"
            },
            "description": "Map of features and the corresponding enabled/disabled status",
            "example": {
              "close-statements": false,
              "overlimit": true
            }
          }
        },
        "example": {
          "value": [
            {
              "name": "DEFINITIVE_CANCELLATION",
              "features": {
                "close-statements": false
              }
            },
            {
              "remove_status": true,
              "name": "BLOCKED"
            }
          ]
        }
      }
    },
    "securitySchemes": {
      "BearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    }
  },
  "security": [
    {
      "BearerAuth": []
    }
  ],
  "paths": {
    "/v1/features-by-account-status": {
      "patch": {
        "summary": "Update features by account status",
        "description": "Update features by account status at the program or organization level.\n<b>Note:</b> This only applies to full balance credit card programs, and only features that were previously configured using [Configure features by account status](https://developers.pismo.io/pismo-docs/reference/postfeaturesbyaccountstatus) can be updated using this endpoint.\n\nYou can toggle the following features on or off for a particular account status by setting them to `true` or `false`, respectively. <b>By default, all these features are on (`true`)</b>. In the `FEATURES OBJECT` body parameter, `newKey`, `newKey-1`, and so on, must be one of these features.\n* `close-statements`: If `false`, the platform won't perform any cycle closings if the account has the specified status.\n* `late-payment-fee`: If `false`, the platform won't charge any late payment fees if the account has the specified status.\n* `overlimit`: If `false`, the platform won't charge any overlimit fees if the account has the specified status.\n\nWhen modifying an existing account status, all the features previously configured must be provided.\n<b>Note:</b> If you send a feature name that does not exist, the endpoint returns an error.\n\nA status can be removed if the `remove_status` flag is set to `true`.  \n\nThe configuration can be reset if the `reset_configuration` flag is set to `true`. Resetting the configuration causes all the features to go back to their default values (`true`).\n<b>Note:</b> if you set `reset_configuration` to true, and also try to update some features for that status, the endpoint generates the following error:\n<b>Request body is missing: account_statuses field is not allowed when it is set to reset this configuration.</b>\n\nYou can use the [List statuses](https://developers.pismo.io/pismo-docs/reference/v4-get-account-status) endpoint to list all the account statuses defined for your organization.           \n",
        "operationId": "patchFeaturesByAccountStatus",
        "tags": [
          "Features by account status"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/FeaturesByAccountStatusPatchRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FeaturesByAccountStatusResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StandardErrorResponse"
                },
                "examples": {
                  "Missing request header or param": {
                    "description": "x-tenant",
                    "value": {
                      "code": "EX0001",
                      "message": "Request header is missing: x-tenant"
                    }
                  },
                  "Status not configured": {
                    "description": "FULL_CANCELLATION",
                    "value": {
                      "code": "WCCC011",
                      "message": "Validation Error: The \"FULL_CANCELLATION\" account status was not found for this organization."
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StandardErrorResponse"
                },
                "examples": {
                  "Internal Server Error": {
                    "value": {
                      "code": "GN0001",
                      "message": "Generic Error"
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
```