---
updatedAt: 2026-05-04T20:47:50.000Z
---

Fetch the complete documentation index at: https://developers.pismo.io/pismo-docs/llms.txt. Use this file to discover all available pages before exploring further.

# Update program

Update a program.

This endpoint generates a [Program updated](https://developers.pismo.io/events/docs/programs-update-1) event.

**Note:** Due date is a **REQUIRED** field for [Full balance credit programs](doc:full-balance-credit-program) types.


# OpenAPI definition

```json
{
  "openapi": "3.0.1",
  "info": {
    "title": "Platform setup - Programs",
    "description": "Endpoints to handle Programs",
    "version": "v1.0",
    "contact": {
      "name": "Pismo Support",
      "url": "https://developers.pismo.io/support/"
    },
    "license": {
      "name": "Copyright Pismo"
    }
  },
  "servers": [
    {
      "url": "https://sandbox.pismolabs.io",
      "description": "Sandbox API server for testing"
    }
  ],
  "tags": [
    {
      "name": "Programs",
      "description": "Create and manage programs"
    }
  ],
  "components": {
    "parameters": {
      "ProgramIdPath": {
        "description": "Program ID",
        "in": "path",
        "name": "id",
        "required": true,
        "schema": {
          "type": "integer",
          "format": "int64"
        },
        "example": 12345
      }
    },
    "schemas": {
      "Bin": {
        "type": "object",
        "description": "Bank Identification Number (BIN) object. **REQUIRED** for card-issuing programs. \n",
        "properties": {
          "start_range": {
            "type": "string",
            "description": "BIN range start.  **REQUIRED** for card-issuing programs.",
            "example": "0"
          },
          "end_range": {
            "type": "string",
            "description": "BIN range end.  **REQUIRED** for card-issuing programs.",
            "example": "999999999"
          },
          "value": {
            "type": "string",
            "description": "Card network-issued Bank Identification Number (BIN). \n6 or 8-digit BIN identifying the card network, issuer, and product.\n **REQUIRED** for card-issuing programs.\n",
            "example": "999999"
          }
        }
      },
      "CountryCode": {
        "type": "string",
        "description": "<a href=\"https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3\" target=\"_blank\">ISO 3166 Alpha-3</a> program country code. For example, `BRA` = Brazil.",
        "example": "BRA"
      },
      "DueDateActiveBoolean": {
        "type": "boolean",
        "description": "Is due date active?",
        "example": true
      },
      "DueDateDay": {
        "type": "integer",
        "format": "int32",
        "description": "Day of the month (1 to 28) for the statement due date.",
        "example": 10
      },
      "DueDatesPatch": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ProgramDueDatePatch"
        }
      },
      "handler.HTTPError": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "Bad request code",
            "example": "EOA0017"
          },
          "message": {
            "type": "string",
            "description": "Bad request response",
            "example": "Bad Request"
          }
        }
      },
      "ProgramDueDatePatch": {
        "type": "object",
        "properties": {
          "active": {
            "$ref": "#/components/schemas/DueDateActiveBoolean"
          },
          "day": {
            "$ref": "#/components/schemas/DueDateDay"
          }
        }
      },
      "ProgramName": {
        "type": "string",
        "description": "Program name",
        "maxLength": 50,
        "example": "Acme debit program"
      },
      "ProgramLanguage": {
        "type": "string",
        "description": "Program Language:\n\n* `en-US` - US English\n* `pt-BR` - Brazilian Portuguese\n\nDefault is `en-US`\n",
        "enum": [
          "pt-BR",
          "en-US"
        ],
        "example": "en-US"
      },
      "ProgramHolidayCalendarId": {
        "type": "string",
        "description": "Program holiday calendar ID",
        "maxLength": 36,
        "example": "0c78714f-3e88-40f3-9eda-debd356faabc"
      },
      "ProgramCycleClosing": {
        "type": "string",
        "description": "Program cicle closing. \n\nThis field is used for things like accrual basis, interest calculation, taxes, penalties, tiers, and more.  \n\nFormat = HH:MM:SS. Default is null.\n",
        "example": "23:59:59"
      },
      "ProgramPatch": {
        "type": "object",
        "properties": {
          "bin": {
            "$ref": "#/components/schemas/Bin"
          },
          "name": {
            "$ref": "#/components/schemas/ProgramName"
          },
          "timezone": {
            "$ref": "#/components/schemas/TimeZone"
          },
          "country_code": {
            "$ref": "#/components/schemas/CountryCode"
          },
          "due_dates": {
            "$ref": "#/components/schemas/DueDatesPatch"
          },
          "language": {
            "$ref": "#/components/schemas/ProgramLanguage"
          },
          "cycle_closing": {
            "$ref": "#/components/schemas/ProgramCycleClosing"
          },
          "holiday_calendar_id": {
            "$ref": "#/components/schemas/ProgramHolidayCalendarId"
          }
        }
      },
      "TimeZone": {
        "type": "string",
        "description": "Program timezone. This is the <a href=\"https://en.wikipedia.org/wiki/List_of_tz_database_time_zones\" target=\"_blank\"> IANA (Internet Assigned Numbers Authority) time zone database</a> \"Region/City\" format.\n",
        "example": "America/Anchorage"
      }
    },
    "responses": {
      "204NoContent": {
        "description": "No Content"
      },
      "404NotFound2": {
        "description": "Not Found",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/handler.HTTPError"
            },
            "examples": {
              "program-not-found": {
                "$ref": "#/components/examples/ProgramNotFoundResponse"
              },
              "brand-not-found": {
                "$ref": "#/components/examples/BrandNotFoundResponse"
              }
            }
          }
        }
      }
    },
    "examples": {
      "BinEndRangeNotAValidNumberResponse": {
        "value": {
          "code": "EOA0040",
          "message": "bin.end_range is not a valid number"
        }
      },
      "BinStartRangeNotAValidNumberResponse": {
        "value": {
          "code": "EOA0040",
          "message": "bin.start_range is not a valid number"
        }
      },
      "BinValueNotAValidNumberResponse": {
        "value": {
          "code": "EOA0040",
          "message": "bin.value is not a valid number"
        }
      },
      "BodyParsingError2Response": {
        "value": {
          "code": "EOA0011",
          "message": "Error parsing utils body with message: "
        }
      },
      "BodyParsingErrorResponse": {
        "value": {
          "code": "EOA0008",
          "message": "Error parsing utils body with message: "
        }
      },
      "CardInformationBinBrandRequiredResponse": {
        "value": {
          "code": "EOA0073",
          "message": "Card information is required (Bin and Brand)"
        }
      },
      "BrandNotFoundResponse": {
        "value": {
          "code": "EOA0064",
          "message": "Brand not found"
        }
      },
      "CardInformationRequiredResponse": {
        "value": {
          "code": "EOA0054",
          "message": "Card information is required (Bin, Brand and DueDate)"
        }
      },
      "ConnectionFailErrorResponse": {
        "value": {
          "code": "EOA0010",
          "message": "Connection failed with message: "
        }
      },
      "ConnectionFailResponse": {
        "value": {
          "code": "EOA0009",
          "message": "Connection failed with message: "
        }
      },
      "ErrorMissingXTenantResponse": {
        "value": {
          "code": "EOA0017",
          "message": "Missing x-tenant header"
        }
      },
      "ErrorToBinderResponse": {
        "value": {
          "code": "EOA0018",
          "message": "Error to Binder"
        }
      },
      "FailCreateDueDatesResponse": {
        "value": {
          "code": "EOA0034",
          "message": "Failed to create program due dates"
        }
      },
      "GenericError2Response": {
        "value": {
          "code": "EOA0016",
          "message": "Something went wrong, please try again later"
        }
      },
      "GenericErrorResponse": {
        "value": {
          "code": "EOA0015",
          "message": "Something went wrong, please try again later"
        }
      },
      "InvalidBin68Response": {
        "value": {
          "code": "EOA0037",
          "message": "Bin must be 6 or 8 digits"
        }
      },
      "InvalidBinRange6Response": {
        "value": {
          "code": "EOA0038",
          "message": "When a BIN is 6, the range can be up to 9 digits"
        }
      },
      "InvalidBinRange8Response": {
        "value": {
          "code": "EOA0039",
          "message": "When a BIN is 8, the range can be up to 7 digits"
        }
      },
      "InvalidBrandOverwriteResponse": {
        "value": {
          "code": "EOA0059",
          "message": "It is not possible to update the Brand value, the value is already filled"
        }
      },
      "InvalidCountryCodeResponse": {
        "value": {
          "code": "EOA0063",
          "message": "Invalid country_code: xxx"
        }
      },
      "InvalidCurrencyNumericCodeResponse": {
        "value": {
          "code": "EOA0033",
          "message": "Invalid currency_numeric_code: xxx"
        }
      },
      "InvalidDueDatesResponse": {
        "value": {
          "code": "EOA0082",
          "message": "Due dates need at least one active day"
        }
      },
      "InvalidRequestResponse": {
        "value": {
          "code": "EOA0080",
          "message": "Invalid request"
        }
      },
      "InvalidTimezoneResponse": {
        "value": {
          "code": "EOA0029",
          "message": "Invalid timezone: xxx"
        }
      },
      "ProgramNotFoundResponse": {
        "value": {
          "code": "EOA0020",
          "message": "Program x not found"
        }
      },
      "ShouldNotContainCardInformationResponse": {
        "value": {
          "code": "EOA0055",
          "message": "Should not contain card information (Bin, Brand and DueDate)"
        }
      }
    },
    "securitySchemes": {
      "S2SAuthentication": {
        "type": "http",
        "scheme": "bearer",
        "description": "All requests must be previoulsy authenticated."
      }
    }
  },
  "security": [
    {
      "S2SAuthentication": []
    }
  ],
  "paths": {
    "/programs/v1/programs/{id}": {
      "patch": {
        "summary": "Update program",
        "description": "Update a program.\n\nThis endpoint generates a [Program updated](https://developers.pismo.io/events/docs/programs-update-1) event.\n\n**Note:** Due date is a **REQUIRED** field for [Full balance credit programs](https://developers.pismo.io/pismo-docs/docs/full-balance-credit-program) types.\n",
        "operationId": "UpdateProgramInfo",
        "tags": [
          "Programs"
        ],
        "x-codegen-request-body-name": "program",
        "parameters": [
          {
            "$ref": "#/components/parameters/ProgramIdPath"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProgramPatch"
              }
            }
          }
        },
        "responses": {
          "204": {
            "$ref": "#/components/responses/204NoContent"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handler.HTTPError"
                },
                "examples": {
                  "missing-x-tenant": {
                    "$ref": "#/components/examples/ErrorMissingXTenantResponse"
                  },
                  "invalid-request": {
                    "$ref": "#/components/examples/InvalidRequestResponse"
                  },
                  "error-to-binder": {
                    "$ref": "#/components/examples/ErrorToBinderResponse"
                  },
                  "invalid-timezone": {
                    "$ref": "#/components/examples/InvalidTimezoneResponse"
                  },
                  "invalid-currency-numeric-code": {
                    "$ref": "#/components/examples/InvalidCurrencyNumericCodeResponse"
                  },
                  "invalid-country-code": {
                    "$ref": "#/components/examples/InvalidCountryCodeResponse"
                  },
                  "should-not-contain-card-info": {
                    "$ref": "#/components/examples/ShouldNotContainCardInformationResponse"
                  },
                  "card-info-bin-brand-required": {
                    "$ref": "#/components/examples/CardInformationBinBrandRequiredResponse"
                  },
                  "card-info-required": {
                    "$ref": "#/components/examples/CardInformationRequiredResponse"
                  },
                  "invalid-bin-value": {
                    "$ref": "#/components/examples/BinValueNotAValidNumberResponse"
                  },
                  "invalid-bin-start-range": {
                    "$ref": "#/components/examples/BinStartRangeNotAValidNumberResponse"
                  },
                  "invalid-bin-end-range": {
                    "$ref": "#/components/examples/BinEndRangeNotAValidNumberResponse"
                  },
                  "invalid-bin": {
                    "$ref": "#/components/examples/InvalidBin68Response"
                  },
                  "invalid-bin-6-range": {
                    "$ref": "#/components/examples/InvalidBinRange6Response"
                  },
                  "invalid-bin-8-range": {
                    "$ref": "#/components/examples/InvalidBinRange8Response"
                  },
                  "invalid-due-dates": {
                    "$ref": "#/components/examples/InvalidDueDatesResponse"
                  },
                  "invalid-brand-orverwrite": {
                    "$ref": "#/components/examples/InvalidBrandOverwriteResponse"
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/404NotFound2"
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handler.HTTPError"
                },
                "examples": {
                  "fail-create-due-dates": {
                    "$ref": "#/components/examples/FailCreateDueDatesResponse"
                  },
                  "connection-fail": {
                    "$ref": "#/components/examples/ConnectionFailResponse"
                  },
                  "connection-fail-2": {
                    "$ref": "#/components/examples/ConnectionFailErrorResponse"
                  },
                  "body-parsing-error": {
                    "$ref": "#/components/examples/BodyParsingErrorResponse"
                  },
                  "body-parsing-error-2": {
                    "$ref": "#/components/examples/BodyParsingError2Response"
                  },
                  "generic-error": {
                    "$ref": "#/components/examples/GenericErrorResponse"
                  },
                  "generic-error-2": {
                    "$ref": "#/components/examples/GenericError2Response"
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
```