---
title: "Update an Existing Routine"
method: PUT
path: "/v1/routines/{id}"
tags: ["Routines"]
---

# Update an Existing Routine

`PUT /v1/routines/{id}`

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

This endpoint updates an existing Routine for a User.

> 🚧
>
> Routine types may not be changed. Any of the non-required parameters below may be updated with this endpoint, provided they are included in the model for that Routine type.

## Path parameters

- `id` string, required

## Request body

- object
  - `name` string — The name given for the Routine
  - `payment_type` 'ach' | 'debit' | 'ledger' — The type of Payment
  - `active` boolean — Whether the routine is active (True) or paused (False). Defaults to True.
  - `source_id` string — The ID of the Source Account
  - `destination_id` string — The ID of the Destination Account
  - `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 (timezone is "America/Los_Angeles")
  - `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 Addenda. This will also be included in the Transfer response.

## Response `200`

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
  - `active` boolean — Whether the routine is active (True) or paused (False). Defaults to True.
  - `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)
  - `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
  - `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 (timezone is "America/Los_Angeles")
  - `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 Addenda. This will also be included in the Transfer response.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `404` — Not Found

---

[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)
