---
title: "Create a book transfer routine"
method: POST
path: "/v1/routines/book"
tags: ["Routines"]
---

# Create a book transfer routine

`POST /v1/routines/book`

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

Create a new book transfer routine (a book transfer between two Payment Instruments).

The `access_token` must be issued to the Business User that was created with the Business Profile ID attached to the client. This Business User is visible in the Dashboard under the `Account Identifiers` section in the [production Dashboard](https://dashboard.astra.finance/settings/business-profile) or the [sandbox Dashboard](https://dashboard-sandbox.astra.finance/settings/business-profile).

> 📘
>
> The resulting **Book Routine ID** (`id`) can be queried against [`GET /v1/routines/{id}`](https://docs.astra.finance/reference/get_v1-routines-id).
> The resulting **Book Transfer ID** can be queried against [`GET /v1/transfers/{transfer_id}`](https://docs.astra.finance/reference/get_v1-transfers-id).
> Both Routine and Transfer status updates will trigger the associated [Routine webhooks](https://docs.astra.finance/reference/routine-webhooks) and [Transfer webhooks](https://docs.astra.finance/reference/transfer-webhooks).

> 🚧
>
> In the event of any failure response, the routine is **not** created.

## Parameters

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

## Request body

- object
  - `name` string, required — The name of the book transfer routine
  - `amount` number, float, required — The amount of the transfer, in USD
  - `source` string, required — The Payment Instrument ID to originate the transfer
  - `destination` string, required — The Payment Instrument ID to receive the transfer

## Response `201`

The routine was created successfully.

- object
  - `id` string — The unique ID of the Routine
  - `name` string — The name given for the Routine
  - `amount` number, float — The amount of the transfer
  - `source` string — The Payment Instrument ID that originated the transfer
  - `destination` string — The Payment Instrument ID that received the transfer
  - `payment_route` 'book' — Payment route type
  - `start_date` string, date — The date the Routine should start processing.
  - `created` string, date-time — The date the Routine was created
  - `status` string — The Routine's status on the platform (see [Routine Statuses](https://docs.astra.finance/reference/routine-statuses))

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Returned when the `access_token` used was not generated for the Business User associated with the Client.

---

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