---
title: "Create an account to card routine"
method: POST
path: "/v1/routines/account-to-card"
tags: ["Routines"]
---

# Create an account to card routine

`POST /v1/routines/account-to-card`

## Request

- Base URL: `https://api-sandbox.astra.finance`
- URL: `https://api-sandbox.astra.finance/v1/routines/account-to-card`
- Auth: HTTP bearer

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

Create an account to card routine (aka `instant disbursement`)

> 🚧
>
> This endpoint requires an enhanced client configuration for instant disbursements. Please contact customer support if you are interested in this feature.

The destination card's network must be enabled for your client as well. Cards on Discover, Diners Club, UnionPay, Maestro and private-label networks, whose card numbers begin with 6, are accepted as a disbursement destination only for clients configured for them.

## Headers

- `Idempotency-Key` IdempotencyKey (unresolved $ref)

## Request body

- union
  - object
    - `name` string, required: The name of the Gross Debit Account-to-Card routine
    - `amount` number, float, required: The amount of the transfer in USD
    - `source` object, required
      - `id` string, required: The unique identifier of the source account in Astra
    - `destination` object, required
      - `id` string, required: The unique identifier of the destination account in Astra
      - `user_id` string: The unique identifier of the receiver in Astra (required if the destination.id does not belong to the authenticating User)
    - `settlement_mode` 'gross_debit', required: The Account-to-Card type
    - `debit_fee_percent` number, float: Fee percentage applied to the debit OCT transfer
    - `client_correlation_id` string, required: A unique descriptor used to correlate a routine with the ACH Debit transfer (must be 8 characters in length)
    - `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
  - object
    - `name` string, required: The name of the Net Debit Account-to-Card routine
    - `amount` number, float, required: The amount of the transfer in USD
    - `source` object, required
      - `id` string, required: The unique identifier of the source account in Astra
    - `destination` object, required
      - `id` string, required: The unique identifier of the destination account in Astra
      - `user_id` string, required: The unique identifier of the receiver in Astra
    - `settlement_mode` 'net_debit', required: The Account-to-Card type
    - `debit_fee_percent` number, float: Fee percentage applied to the debit OCT transfer
    - `client_correlation_id` string: A unique descriptor used to correlate a routine with the ACH Debit transfer (must be 8 characters in length)
    - `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
  - `status` string: The Routine's status on the platform (see [Routine Statuses](ref:routine-statuses))
  - `name` string: The name given for the Routine
  - `amount` number, float: The amount of the transfer
  - `source` object
    - `id` string: The unique identifier of the source account in Astra
  - `destination` object
    - `id` string: The unique identifier of the destination account in Astra
    - `user_id` string: The unique identifier of the receiver in Astra
  - `start_date` string, date-time: The date the Routine should start processing.
  - `created` string, date-time: The date the Routine was created
  - `active` boolean: Whether the routine is active (True) or paused (False). Defaults to True.
  - `payment_route` 'account_to_card': Payment route type
  - `type` 'one-time': The type of Routine
  - `blocked` boolean: Whether the routine has been blocked for any reason.
  - `debit_fee_percent` number, float: Fee percentage applied to the debit OCT transfer
  - `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

- `401`: Unauthorized

## Changes

- **2026-11-03** `1f0b2e859333`: 1 info
  - added the new optional `header` request parameter `Idempotency-Key`

[Operation history](https://skmtc.dev/astra/apis/astra-developer-api/changes/v1/routines/account-to-card/post.md)

---

[API](https://skmtc.dev/astra/apis/astra-developer-api.md) - [All operations](https://skmtc.dev/astra/apis/astra-developer-api/llms.txt) - [OpenAPI document](https://skmtc.dev/astra/apis/astra-developer-api/revisions/1f0b2e859333?raw)
