---
title: "Save program due date"
method: POST
path: "/statements-v2/v1/programs/{programId}/due-dates"
tags: ["Due date"]
---

# Save program due date

`POST /statements-v2/v1/programs/{programId}/due-dates`

## Request

- Base URL: `https://sandbox.pismolabs.io`
- URL: `https://sandbox.pismolabs.io/statements-v2/v1/programs/{programId}/due-dates`
- Auth: HTTP bearer

Save a program due date. Day **must** be between 1 and 28.
(**Note:** Due date is *required* for credit full-balance program types.)

When you execute this endpoint, the Pismo platform first checks to see if the specified due date already exists. If it finds an existing due date with the same values for `day` and `grace_period_days`, it considers this a match and determines that the specified due date <b>already exists</b>. In this case, there are two possibilities.
- If `active` has the same value in both the existing due date and the request, the request does nothing.
- If `active` has a different value in the request, the value of `active` in the existing due date is updated accordingly. In other words, you can use this endpoint to activate or deactivate an existing due date. <b>Note:</b>The preferred way of updating existing due dates is to use the [Update program due date](ref:updateprogramduedate) endpoint.

If the platform <b>does not</b> find a match, then it creates a new due date. (Note: This means that you could end up with two due dates that have the same value for `day`, 
but different values for `grace_period_days`.)

## Path parameters

- `programId` integer, required

## Headers

- `Authorization` string, required

## Request body

- ProgramDueDateSaveRequest
  - `day` integer, required: Due date day index
  - `active` boolean, required: Is program due date active? <b>Note:</b> If you set `active` from `true` to `false`, this just means that you are no longer able to assign the program due date to an account. Accounts that are already using the program due date continue to use it.
  - `grace_period_days` integer: Number of grace period days. This value overrides the value of the program parameter <b>Number of days before due date to set the closing date of the statement</b> for the specified account. You can change the grace period days for a statement any time before its due date.

## Response `201`

CREATED

- ProgramDueDateResponse
  - `program_due_date_id` integer: Program due date ID
  - `program_id` integer: Program ID
  - `day` integer: Due date day index
  - `active` boolean: Is program due date active? <b>Note:</b> If you set `active` from `true` to `false`, this just means that you are no longer able to assign the program due date to an account. Accounts that are already using the program due date continue to use it.
  - `exists_account` boolean: Does account exist?
  - `grace_period_days` integer: Number of grace period days. This value overrides the value of the program parameter <b>Number of days before due date to set the closing date of the statement</b> for the specified account. You can change the grace period days for a statement any time before its due date.

## Other responses

- `400`: Bad Request
- `500`: Internal Server Error

---

[API](https://skmtc.dev/pismo/apis/revolving-credit-statements.md) - [All operations](https://skmtc.dev/pismo/apis/revolving-credit-statements/llms.txt) - [OpenAPI document](https://skmtc.dev/pismo/apis/revolving-credit-statements/revisions/09f552b0f850?raw)
