---
title: "Create pre-schedule"
method: POST
path: "/v1/pre-schedules"
tags: ["Schedules"]
---

# Create pre-schedule

`POST /v1/pre-schedules`

## Request

- Base URL: `https://sandbox.pismolabs.io/scheduler-payments`
- URL: `https://sandbox.pismolabs.io/scheduler-payments/v1/pre-schedules`
- Auth: HTTP bearer

Create a pre-schedule, which is executed by a direct call from the Pismo platform at the end of the closing cycle. To configure execution of a pre-schedule, contact your Pismo representative or call the [Execute pre-schedule](ref:post-execute-pre-schedule) endpoint.

This endpoint generates the [Scheduled payment created or modified](https://developers.pismo.io/events/docs/scheduler-payments-scheduled-payments-1) event with the `status` field set to `CREATED`.

Once the pre-schedule is created, its execution generates the following events.

- First execution of the pre-schedule on the start date generates the [Scheduled payment created or modified](https://developers.pismo.io/events/docs/scheduler-payments-scheduled-payments-1) event with the `status` field set to `IN_PROGRESS`.
- Last execution of the pre-schedule on the end date generates the [Scheduled payment created or modified](https://developers.pismo.io/events/docs/scheduler-payments-scheduled-payments-1) event with the `status` field set to `COMPLETED`.
- Each execution of the pre-schedule also generates the [Scheduled payment executed](https://developers.pismo.io/events/docs/scheduler-payments-scheduled-payments-execution-1) event with the corresponding execution status.

Refer to the [Payment scheduler](doc:payment-scheduler) guide for more information.

## Request body

- PreScheduleRequest: Request to create a new pre-schedule
  - `schedule_id` string, required: Schedule ID (idempotency field for this operation)
  - `schedule_details` PreScheduleDetails, required: Pre-schedule details
    - `statement` Statement
      - `id` integer: Pismo ID of the statement linked to the pre-schedule
  - `account_id` integer, required: Account ID
  - `amount` number, float, required: Credit or debit amount
  - `currency_code` string, required: Three-letter currency code of the operation in ISO 4217.
  - `processing_code` string, required: Processing code that identifies the credit or debit operation
  - `description` string: Optional text that describes the operation
  - `metadata` Metadata: This optional user-defined key-value object field can be used with external operations to provide additional context or supplementary custom information for the operation. The Pismo platform does not perform any validation or processing on this field. **Note**: This field must not be used to send Personally Identifiable Information (PII), Payment Card Industry (PCI) data, or any sensitive/regulated information. Metadata fields are intended for operational, non-sensitive data only. For sensitive data, use the specific parameters designed for that purpose. For more information, refer to [Get started with Pismo APIs](ref:get-started-with-pismo-apis#metadata).

## Response `200`

Request was processed successfully, existing schedule with the corresponding `schedule_id` returned.

- PreScheduleResponse: Response from the creation of a new pre-schedule from the migration process
  - `schedule_id` string: Schedule ID (idempotency field for this operation)

## Other responses

- `201`: Request was processed successfully, new pre-schedule created.
- `400`: Bad request
- `403`: Operation forbidden
- `500`: Internal server error

---

[API](https://skmtc.dev/pismo/apis/core-platform-payment-scheduler.md) - [All operations](https://skmtc.dev/pismo/apis/core-platform-payment-scheduler/llms.txt) - [OpenAPI document](https://skmtc.dev/pismo/apis/core-platform-payment-scheduler/revisions/85d7c15a4b75?raw)
