---
title: "Create a new Routine"
method: POST
path: "/v1/routines"
tags: ["Routines"]
---

# Create a new Routine

`POST /v1/routines`

> 📘
>
> You can place the bearer `access_token` for a specific user into the Authentication section of this documentation 👉.

> 📘
>
> Use this Routine resource to request Card-to-Card and Account-to-Acccount (real-time, T+0, T+1, T+2, and T+4) payments.

> 🚧
>
> Used for reconciliation purposes, the `client_correlation_id` is a custom, alphanumeric string which gets appended to the transactions description by way of the Debit or ACH addenda. The limits are as follows:
> - Debit Transactions: 8 Characters
> - ACH Transactions: 80 Characters
> - RTP / FedNow Transactions: 140 Characters

This endpoint creates a new Routine for a User.

## Parameters

- `#/components/headers/Idempotency-Key` — unresolved $ref

## Request body

- object
  - `type` 'one-time' | 'recurring', required — The type of Routine
  - `name` string, required — The name given for the Routine
  - `payment_type` 'ach' | 'debit' | 'ledger', required — The type of payment
  - `source_id` string, required — The ID of the Source Account
  - `destination_id` string, required — The ID of the Destination Account
  - `destination_user_id` string — The User ID associated with the Destination Account (if peer-to-peer)
  - `amount` number, float, required — The amount of the transfer in USD
  - `start_date` string, date-time — Optional. The date the Routine should start processing. If not supplied
  - `preferred_settlement_speed` 'T+1' | 'T+2' | 'T+4' — The requested settlement speed for resulting transfers
  - `frequency` 'weekly' | 'bi-weekly' | 'monthly' — The frequency a repeating Routine should process
  - `client_correlation_id` string — An optional correlation id that will be added to ACH or Debit Addenda. This will also be included in the Transfer response.
  - `customer_debit_fee_percent_override` number, float — Optional parameter for applying a fee to a debit transfer through either an addition on the pull or a subtraction on the push. Contact your Astra admin to configure your clients to have this percentage fee be either additive or subtractive. For debit transfers only. Example amount: 1.25 = 1.25%
  - `ultimate_receiver_id` string — The User ID of the ultimate receiver of the Routine
  - `ultimate_sender_id` string — The User ID of the ultimate sender of the Routine

## Response `201`

Successful response

- object
  - `id` string — The unique ID of the Routine
  - `type` 'one-time' | 'recurring' — The type of Routine
  - `name` string — The name given for the Routine
  - `payment_type` 'ach' | 'debit' | 'ledger' — The type of payment
  - `source_id` string — The ID of the Source Account
  - `destination_id` string — The ID of the Destination Account
  - `destination_user_id` string — The User ID associated with the Destination Account (if peer-to-peer)
  - `amount` number, float — The amount of the transfer (when explicitly defined like one-time or recurring)
  - `start_date` string, date-time — The date the Routine should start processing.
  - `preferred_settlement_speed` 'T+1' | 'T+2' | 'T+4' — The requested settlement speed for resulting transfers
  - `frequency` 'weekly' | 'bi-weekly' | 'monthly' — The frequency a repeating Routine should process
  - `active` boolean — Whether the routine is active (True) or paused (False). Defaults to True.
  - `status` string — The Routine's status on the platform (see [Routine Statuses](https://docs.astra.finance/reference/routine-statuses))
  - `created` string, date-time — The date the Routine was created
  - `ultimate_receiver_id` string — The User ID of the ultimate receiver of the Routine
  - `ultimate_sender_id` string — The User ID of the ultimate sender of the Routine

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden

---

[API](https://skmtc.net/astra/apis/astra-developer-api.md) · [All operations](https://skmtc.net/astra/apis/astra-developer-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/astra/astra-developer-api/revisions/09f0430e5d33/schema)
