---
title: "Request a cash operation"
method: POST
path: "/v1/persons/{person_id}/accounts/{account_id}/cash_operations"
tags: ["Cash Operations (Viacash)"]
---

# Request a cash operation

`POST /v1/persons/{person_id}/accounts/{account_id}/cash_operations`

This method requests the creation of a cash operation barcode for the customer to present at the POS of a participating Viacash retailer. Note that this endpoint requires a **change request.**<br> Once the customer confirms the change request, Viafintech processes the request and then the Solaris API returns a payload containing an [EAN-13 barcode](https://www.cognex.com/resources/symbologies/1-d-linear-barcodes/ean-13-barcodes) with an expiration date and a status.<br> Each person may only have one active (i.e., PENDING/CREATED) cash operation request of each type (payin/payout) at a time.<br> Ensure that the amount of the cash operation falls within the allowed range and does not exceed any daily limits. See the [Viacash documentation](https://docs.solarisgroup.com/guides/digital-banking/viacash/) for more information about limits.

## Path parameters

- `person_id` string, required
- `account_id` string, required

## Request body

- CreateCashOperationRequest
  - `idempotency_key` string, required — Use a randomly-generated UUID to ensure the uniqueness of the cash operation request.
  - `reference` string — End-to-end reference for the customer.
  - `provider` 'barzahlen', required — Must contain the value `barzahlen`.
  - `type` 'PAYIN' | 'PAYOUT', required — Indicates whether the cash operation is a `PAYOUT` (for withdrawals) or a `PAYIN` (for deposits).
  - `amount` Amount, required
    - `currency` 'EUR'
    - `unit` 'cents'
    - `value` integer, required

## Response `200`

Cash operation creation initiated successfully. The customer must confirm the change request.

- ChangeRequest
  - `change_request_id` string — ID of the change request that the customer must complete.
  - `id` string — ID of the cash operation.

## Other responses

- `400` — One of the following problems occurred: the person's status is invalid, the account's status is invalid, the cash operation exceeds the daily transfer limit, the customer has too many active cash operations, or the request properties have invalid values.
- `403` — Unauthorized action. See the examples for various scenarios in which the API would return a `403` error for this request.
- `404` — The person or account cannot be found.
- `429` — You have reached a rate limit of maximum created transactions per time period.
- `500` — Internal server error.

---

[API](https://skmtc.net/solarisgroup/apis/transactions.md) · [All operations](https://skmtc.net/solarisgroup/apis/transactions/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/solarisgroup/transactions/revisions/8df83424e244/schema)
