---
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.

# Copy program

Copy an existing program to create a new one synchronously. 

For more information about programs, refer to [Core objects](doc:setup-overview#program).

For information on what properties are copied, refer to [Cloned and exported program properties](doc:cc-cloned-and-exported-data).

This endpoint executes synchronously; meaning, a network timeout or similar delay could occur. In this case, an error is generated. To avoid this possibility, call the [Copy program (async)](ref:copyprogramasync) endpoint instead. 

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

 To get your Organization's programs, call the [List programs](ref:programs-1) endpoint, or view them in the [Pismo Control Center](doc:get-started-with-control-center).


# 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": {
    "schemas": {
      "BaseProgramID": {
        "type": "integer",
        "format": "int64",
        "description": "ID of program that was used to create this program.",
        "example": 2
      },
      "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"
          }
        }
      },
      "Brand": {
        "type": "string",
        "description": "Program's card brand.  **REQUIRED** for card-issuing programs.\n",
        "enum": [
          "VISA",
          "MASTERCARD",
          "ELO",
          "RUPAY",
          "PRIVATE",
          "CABAL",
          "GOODCARD",
          "GPN"
        ],
        "example": "VISA"
      },
      "CopyProgram": {
        "type": "object",
        "required": [
          "base_program_id",
          "name",
          "timezone",
          "currency_numeric_code",
          "country_code"
        ],
        "properties": {
          "base_program_id": {
            "$ref": "#/components/schemas/BaseProgramID"
          },
          "name": {
            "$ref": "#/components/schemas/ProgramName"
          },
          "timezone": {
            "$ref": "#/components/schemas/TimeZone"
          },
          "currency_numeric_code": {
            "$ref": "#/components/schemas/CurrencyNumericCode"
          },
          "country_code": {
            "$ref": "#/components/schemas/CountryCode"
          },
          "due_dates": {
            "$ref": "#/components/schemas/DueDates"
          },
          "brand": {
            "$ref": "#/components/schemas/Brand"
          },
          "bin": {
            "$ref": "#/components/schemas/Bin"
          },
          "language": {
            "$ref": "#/components/schemas/ProgramLanguage"
          },
          "cycle_closing": {
            "$ref": "#/components/schemas/ProgramCycleClosing"
          },
          "holiday_calendar_id": {
            "$ref": "#/components/schemas/ProgramHolidayCalendarId"
          }
        }
      },
      "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"
      },
      "CreatedAt": {
        "type": "string",
        "description": "Program creation datetime. Format = yyyy-mm-ddThh:mm:ss.",
        "example": "2021-07-06T13:11:05Z"
      },
      "CSS": {
        "type": "string",
        "description": "Card image. [Legacy - restricted]"
      },
      "CurrencyNumericCode": {
        "type": "string",
        "description": "Program ISO 4217 currency code.",
        "example": "986"
      },
      "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
      },
      "DueDates": {
        "type": "array",
        "description": "Array of available program due dates. Every program account specifies a due date to use.\n\nA due date is **REQUIRED** for Full balance credit programs.\n\nFor each due date, `day` and `active` are **REQUIRED**, as in the following example:\n```\n{\n    \"due_dates\": [\n          {\n            \"day\": 1,\n            \"active\": true\n          },\n          {\n            \"day\": 2,\n            \"active\": false\n          }\n    ]\n}\n```\n**Note:** The due date ID is passed as a **numeric value**. For example, for due date `1` (first day of the month) the ID could be something like `3063`. This is the value you should use. `day` must be between 1 and 28.\n",
        "items": {
          "$ref": "#/components/schemas/ProgramDueDate"
        }
      },
      "handler.HTTPError": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "Bad request code",
            "example": "EOA0017"
          },
          "message": {
            "type": "string",
            "description": "Bad request response",
            "example": "Bad Request"
          }
        }
      },
      "InitialCardStatus": {
        "type": "string",
        "enum": [
          "CREATED",
          "BLOCKED",
          "UNBLOCKED"
        ],
        "description": "Initial status for cards created in this program.",
        "example": "CREATED"
      },
      "PrintCardBoolean": {
        "type": "boolean",
        "description": "Should physical cards be issued by default on creation? Default is `false`. [Legacy - restricted]",
        "example": true
      },
      "Program": {
        "type": "object",
        "properties": {
          "bin": {
            "$ref": "#/components/schemas/Bin"
          },
          "brand": {
            "$ref": "#/components/schemas/Brand"
          },
          "css": {
            "$ref": "#/components/schemas/CSS"
          },
          "id": {
            "$ref": "#/components/schemas/ProgramID"
          },
          "base_program_id": {
            "$ref": "#/components/schemas/BaseProgramID"
          },
          "initial_card_status": {
            "$ref": "#/components/schemas/InitialCardStatus"
          },
          "name": {
            "$ref": "#/components/schemas/ProgramName"
          },
          "print_card": {
            "$ref": "#/components/schemas/PrintCardBoolean"
          },
          "provider": {
            "$ref": "#/components/schemas/Provider"
          },
          "type": {
            "$ref": "#/components/schemas/ProgramType"
          },
          "url_image": {
            "$ref": "#/components/schemas/UrlImage"
          },
          "currency_numeric_code": {
            "$ref": "#/components/schemas/CurrencyNumericCode"
          },
          "timezone": {
            "$ref": "#/components/schemas/TimeZone"
          },
          "country_code": {
            "$ref": "#/components/schemas/CountryCode"
          },
          "created_at": {
            "$ref": "#/components/schemas/CreatedAt"
          },
          "status": {
            "$ref": "#/components/schemas/ProgramStatus"
          },
          "language": {
            "$ref": "#/components/schemas/ProgramLanguage"
          },
          "cycle_closing": {
            "$ref": "#/components/schemas/ProgramCycleClosing"
          },
          "holiday_calendar_id": {
            "$ref": "#/components/schemas/ProgramHolidayCalendarId"
          }
        }
      },
      "ProgramDueDate": {
        "type": "object",
        "required": [
          "active",
          "day"
        ],
        "properties": {
          "active": {
            "$ref": "#/components/schemas/DueDateActiveBoolean"
          },
          "day": {
            "$ref": "#/components/schemas/DueDateDay"
          },
          "id": {
            "description": "Program due date ID",
            "type": "integer",
            "format": "int64",
            "example": 12345
          }
        }
      },
      "ProgramID": {
        "type": "integer",
        "format": "int64",
        "description": "Program ID",
        "example": 12345
      },
      "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"
      },
      "ProgramStatus": {
        "type": "string",
        "description": "Program status:\n * `ACTIVE` - A program is active when PCI settings and accounting stages are configured.\n * `PENDING` - A program is pending when PCI settings and accounting stages are not configured. A program that is pending is not ready for use.\n",
        "enum": [
          "ACTIVE",
          "PENDING"
        ],
        "example": "PENDING"
      },
      "ProgramType": {
        "type": "string",
        "description": "Program type:<br />\n  `CREDITO` — Full balance credit accounts<br />\n  `PRE-PAGO` — Full balance prepaid accounts<br />\n  `DEBITO` — Full balance debit accounts<br />\n  `MERCHANT` — Merchant accounts<br />\n  `CREDITO ZERO-BALANCE` — Zero balance credit accounts<br />\n  `PRE-PAGO ZERO-BALANCE` — Zero balance prepaid accounts<br />\n  `DEBITO ZERO-BALANCE` — Zero balance debit accounts<br />\n  `CURRENT ACCOUNTS` — Current accounts<br />\n  `INTERNAL ACCOUNTS` — Internal accounts<br />\n  `CORRESPONDENT ACCOUNTS` — Correspondent accounts<br />\n  `VOUCHER` - Prepaid voucher meal/food card<br />\n\nFor more information, refer to [Program types](https://developers.pismo.io/pismo-docs/docs/program-types)\n",
        "enum": [
          "CREDITO",
          "PRE-PAGO",
          "DEBITO",
          "MERCHANT",
          "CREDITO ZERO-BALANCE",
          "PRE-PAGO ZERO-BALANCE",
          "DEBITO ZERO-BALANCE",
          "CURRENT ACCOUNTS",
          "INTERNAL ACCOUNTS",
          "CORRESPONDENT ACCOUNTS",
          "VOUCHER"
        ],
        "example": "CREDITO"
      },
      "Provider": {
        "type": "object",
        "description": "[Legacy - restricted]",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Provider ID (outdated)",
            "example": 12
          },
          "name": {
            "type": "string",
            "description": "Provider name (outdated)",
            "example": "Acme Services"
          }
        }
      },
      "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"
      },
      "UrlImage": {
        "type": "string",
        "description": "Program image URL [Legacy - restricted]"
      }
    },
    "responses": {
      "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"
        }
      },
      "FailCreateChannelResponse": {
        "value": {
          "code": "EOA0022",
          "message": "Failed to create program channel"
        }
      },
      "FailCreateCorporateConfigurationResponse": {
        "value": {
          "code": "EOA0058",
          "message": "Failed to create corporate configuration"
        }
      },
      "FailCreateDueDatesResponse": {
        "value": {
          "code": "EOA0034",
          "message": "Failed to create program due dates"
        }
      },
      "FailCreateTransactionCategoryResponse": {
        "value": {
          "code": "EOA0035",
          "message": "Failed to create transaction category"
        }
      },
      "FieldRequiredResponse": {
        "value": {
          "code": "EOA0086",
          "message": "fieldName' field is required"
        }
      },
      "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"
        }
      },
      "InvalidCountryCodeResponse": {
        "value": {
          "code": "EOA0063",
          "message": "Invalid country_code: xxx"
        }
      },
      "InvalidCurrencyNumericCodeResponse": {
        "value": {
          "code": "EOA0033",
          "message": "Invalid currency_numeric_code: xxx"
        }
      },
      "InvalidChannelNameResponse": {
        "value": {
          "code": "EOA0021",
          "message": "Invalid channel name: xxx"
        }
      },
      "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)"
        }
      },
      "TransactionCategoryNotFoundResponse": {
        "value": {
          "code": "EOA0036",
          "message": "Failed to find a transaction category by description"
        }
      }
    },
    "securitySchemes": {
      "S2SAuthentication": {
        "type": "http",
        "scheme": "bearer",
        "description": "All requests must be previoulsy authenticated."
      }
    }
  },
  "security": [
    {
      "S2SAuthentication": []
    }
  ],
  "paths": {
    "/programs/v1/programs/copy": {
      "post": {
        "summary": "Copy program",
        "operationId": "CopyProgram",
        "tags": [
          "Programs"
        ],
        "description": "Copy an existing program to create a new one synchronously. \n\nFor more information about programs, refer to [Core objects](https://developers.pismo.io/pismo-docs/docs/setup-overview#program).\n\nFor information on what properties are copied, refer to [Cloned and exported program properties](https://developers.pismo.io/pismo-docs/docs/cc-cloned-and-exported-data).\n\nThis endpoint executes synchronously; meaning, a network timeout or similar delay could occur. In this case, an error is generated. To avoid this possibility, call the [Copy program (async)](https://developers.pismo.io/pismo-docs/reference/copyprogramasync) endpoint instead. \n\nThis endpoint generates a [Program created](https://developers.pismo.io/events/docs/programs-creation-1) event.\n\n To get your Organization's programs, call the [List programs](https://developers.pismo.io/pismo-docs/reference/programs-1) endpoint, or view them in the [Pismo Control Center](https://developers.pismo.io/pismo-docs/docs/get-started-with-control-center).\n",
        "x-codegen-request-body-name": "program",
        "requestBody": {
          "description": "Copy program request",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CopyProgram"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Program"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handler.HTTPError"
                },
                "examples": {
                  "missing-x-tenant": {
                    "$ref": "#/components/examples/ErrorMissingXTenantResponse"
                  },
                  "error-to-binder": {
                    "$ref": "#/components/examples/ErrorToBinderResponse"
                  },
                  "field-required": {
                    "$ref": "#/components/examples/FieldRequiredResponse"
                  },
                  "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"
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/404NotFound2"
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handler.HTTPError"
                },
                "examples": {
                  "invalid-channel-name": {
                    "$ref": "#/components/examples/InvalidChannelNameResponse"
                  },
                  "fail-create-channel": {
                    "$ref": "#/components/examples/FailCreateChannelResponse"
                  },
                  "fail-create-due-dates": {
                    "$ref": "#/components/examples/FailCreateDueDatesResponse"
                  },
                  "fail-create-transaction-category": {
                    "$ref": "#/components/examples/FailCreateTransactionCategoryResponse"
                  },
                  "transaction-category-not-found": {
                    "$ref": "#/components/examples/TransactionCategoryNotFoundResponse"
                  },
                  "fail-create-coporate-configuration": {
                    "$ref": "#/components/examples/FailCreateCorporateConfigurationResponse"
                  },
                  "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"
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
````