> For the complete documentation index, see [llms.txt](https://docs.aquanow.io/cams/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.aquanow.io/cams/api-reference/transfers.md).

# Transfers

## Transfers

> Retrieve a list of transfers with optional filtering and pagination.

```json
{"openapi":"3.0.3","info":{"title":"Aquanow CAMS REST API","version":"1.0"},"servers":[{"url":"https://cams.aquanow.com/api","description":"production"},{"url":"http://localhost:3001/api","description":"local"},{"url":"https://cams.dev.aquanow.com/api","description":"dev"},{"url":"https://cams.staging.aquanow.com/api","description":"staging"},{"url":"https://cams.cert.aquanow.com/api","description":"cert"},{"url":"https://marketdata.aquanow.com","description":"production market data"},{"url":"https://marketdata.staging.aquanow.com","description":"staging market data"},{"url":"https://marketdata.dev.aquanow.com","description":"dev market data"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer"}},"schemas":{"TransferStatus":{"title":"TransferStatus","type":"string","enum":["PROCESSING","COMPLETED","FAILED"]},"Transfer":{"type":"object","required":["transferId","sourceAccountId","sourceCustomerId","beneficiaryAccountId","beneficiaryId","transferQuantity","transferCurrency","transactionType","transactionStatus","requestedAt","completedAt"],"properties":{"transactionType":{"$ref":"#/components/schemas/TransactionType"},"transactionStatus":{"$ref":"#/components/schemas/TransactionStatus"},"transferId":{"type":"string","format":"uuid"},"sourceAccountId":{"type":"string","format":"uuid"},"sourceCustomerId":{"type":"string","format":"uuid"},"beneficiaryAccountId":{"type":"string","format":"uuid"},"beneficiaryId":{"type":"string","format":"uuid"},"transferQuantity":{"$ref":"#/components/schemas/Financial"},"transferCurrency":{"type":"string"},"transferReason":{"type":"string","maxLength":255,"nullable":true},"externalReferenceId":{"type":"string","nullable":true,"maxLength":255,"description":"Client-provided reference string to be stored with the transfer record"},"requestedAt":{"type":"string","format":"date-time"},"completedAt":{"type":"string","format":"date-time","nullable":true}}},"TransactionType":{"type":"string","enum":["DEPOSIT","WITHDRAWAL","TRANSFER"]},"TransactionStatus":{"type":"string","enum":["FAILED","PROCESSING","CONFIRMING","COMPLETED"]},"Financial":{"type":"string"}},"responses":{"400":{"description":"Validation Error"},"401":{"description":"Unauthorized"},"403":{"description":"Insufficient Privileges"},"4XX":{"description":"Client error"},"5XX":{"description":"Server error"}}},"paths":{"/v1/transfers":{"get":{"summary":"Transfers","description":"Retrieve a list of transfers with optional filtering and pagination.","tags":["Transfers"],"parameters":[{"name":"after","in":"query","required":false,"schema":{"type":"string"},"description":"When provided, specifies the last item returned in previous page, used to fetch the next page. Fetches the first page when omitted."},{"name":"limit","in":"query","required":false,"schema":{"type":"string","format":"integer"},"description":"When provided, specifies the number of items to return in the page. Uses default page size of 10 when omitted."},{"name":"transferId","in":"query","schema":{"type":"string","format":"uuid"},"description":"Filter by transfer ID"},{"name":"sourceAccountId","in":"query","schema":{"type":"string","format":"uuid"},"description":"Filter by source account ID"},{"name":"sourceCustomerId","in":"query","schema":{"type":"string","format":"uuid"},"description":"Filter by source customer ID"},{"name":"beneficiaryAccountId","in":"query","schema":{"type":"string","format":"uuid"},"description":"Filter by destination account id"},{"name":"beneficiaryId","in":"query","schema":{"type":"string","format":"uuid"},"description":"Filter by destination customer id"},{"name":"transferCurrency","in":"query","schema":{"type":"string"},"description":"Filter by transfer currency"},{"name":"externalReferenceId","in":"query","schema":{"type":"string"},"description":"Filter by client reference ID"},{"name":"transactionStatus","in":"query","schema":{"$ref":"#/components/schemas/TransferStatus"},"description":"Filter by status"},{"name":"requestedAtStart","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"requestedAtEnd","in":"query","schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"after":{"type":"string","description":"The token of the last item in the response","nullable":true},"totalCount":{"type":"string","format":"integer","description":"The total number of items in the entire filtered data set"},"items":{"type":"array","items":{"$ref":"#/components/schemas/Transfer"}}}}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"4XX":{"$ref":"#/components/responses/4XX"},"5XX":{"$ref":"#/components/responses/5XX"}},"operationId":"ListTransfers"}}}}
```

## Get transfer

> Retrieve a transfer by ID.

```json
{"openapi":"3.0.3","info":{"title":"Aquanow CAMS REST API","version":"1.0"},"servers":[{"url":"https://cams.aquanow.com/api","description":"production"},{"url":"http://localhost:3001/api","description":"local"},{"url":"https://cams.dev.aquanow.com/api","description":"dev"},{"url":"https://cams.staging.aquanow.com/api","description":"staging"},{"url":"https://cams.cert.aquanow.com/api","description":"cert"},{"url":"https://marketdata.aquanow.com","description":"production market data"},{"url":"https://marketdata.staging.aquanow.com","description":"staging market data"},{"url":"https://marketdata.dev.aquanow.com","description":"dev market data"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer"}},"schemas":{"Transfer":{"type":"object","required":["transferId","sourceAccountId","sourceCustomerId","beneficiaryAccountId","beneficiaryId","transferQuantity","transferCurrency","transactionType","transactionStatus","requestedAt","completedAt"],"properties":{"transactionType":{"$ref":"#/components/schemas/TransactionType"},"transactionStatus":{"$ref":"#/components/schemas/TransactionStatus"},"transferId":{"type":"string","format":"uuid"},"sourceAccountId":{"type":"string","format":"uuid"},"sourceCustomerId":{"type":"string","format":"uuid"},"beneficiaryAccountId":{"type":"string","format":"uuid"},"beneficiaryId":{"type":"string","format":"uuid"},"transferQuantity":{"$ref":"#/components/schemas/Financial"},"transferCurrency":{"type":"string"},"transferReason":{"type":"string","maxLength":255,"nullable":true},"externalReferenceId":{"type":"string","nullable":true,"maxLength":255,"description":"Client-provided reference string to be stored with the transfer record"},"requestedAt":{"type":"string","format":"date-time"},"completedAt":{"type":"string","format":"date-time","nullable":true}}},"TransactionType":{"type":"string","enum":["DEPOSIT","WITHDRAWAL","TRANSFER"]},"TransactionStatus":{"type":"string","enum":["FAILED","PROCESSING","CONFIRMING","COMPLETED"]},"Financial":{"type":"string"}},"responses":{"400":{"description":"Validation Error"},"401":{"description":"Unauthorized"},"403":{"description":"Insufficient Privileges"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"properties":{"id":{"type":"string"}}}}}},"4XX":{"description":"Client error"},"5XX":{"description":"Server error"}}},"paths":{"/v1/transfers/{transferId}":{"get":{"summary":"Get transfer","description":"Retrieve a transfer by ID.","tags":["Transfers"],"parameters":[{"name":"transferId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"The transfer ID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Transfer"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"4XX":{"$ref":"#/components/responses/4XX"},"5XX":{"$ref":"#/components/responses/5XX"}},"operationId":"GetTransferById"}}}}
```

## Create Transfer

> Transfer funds between accounts.

```json
{"openapi":"3.0.3","info":{"title":"Aquanow CAMS REST API","version":"1.0"},"servers":[{"url":"https://cams.aquanow.com/api","description":"production"},{"url":"http://localhost:3001/api","description":"local"},{"url":"https://cams.dev.aquanow.com/api","description":"dev"},{"url":"https://cams.staging.aquanow.com/api","description":"staging"},{"url":"https://cams.cert.aquanow.com/api","description":"cert"},{"url":"https://marketdata.aquanow.com","description":"production market data"},{"url":"https://marketdata.staging.aquanow.com","description":"staging market data"},{"url":"https://marketdata.dev.aquanow.com","description":"dev market data"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer"}},"parameters":{"X-Request-Id":{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string"},"description":"A client-supplied unique identifier for this request, used for safely retrying and deduplicating operations. When the same X-Request-Id is sent with multiple identical requests within a defined time window, the server treats them as the same logical operation and will not perform the side effect more than once. Instead, it will return the original result associated with that identifier, if available. The client should generate a collision-resistant value (for example, a UUID) and reuse it only when retrying the same operation."}},"schemas":{"RequestTransferInput":{"type":"object","required":["sourceAccountId","sourceCustomerId","beneficiaryAccountId","beneficiaryId","transferQuantity","transferCurrency"],"properties":{"sourceAccountId":{"type":"string","format":"uuid"},"sourceCustomerId":{"type":"string","format":"uuid"},"beneficiaryAccountId":{"type":"string","format":"uuid"},"beneficiaryId":{"type":"string","format":"uuid"},"transferQuantity":{"$ref":"#/components/schemas/Financial"},"transferCurrency":{"type":"string"},"transferReason":{"type":"string","maxLength":255,"nullable":true},"externalReferenceId":{"type":"string","nullable":true,"maxLength":255,"description":"Client-provided reference string to be stored with the transfer record"}}},"Financial":{"type":"string"},"Transfer":{"type":"object","required":["transferId","sourceAccountId","sourceCustomerId","beneficiaryAccountId","beneficiaryId","transferQuantity","transferCurrency","transactionType","transactionStatus","requestedAt","completedAt"],"properties":{"transactionType":{"$ref":"#/components/schemas/TransactionType"},"transactionStatus":{"$ref":"#/components/schemas/TransactionStatus"},"transferId":{"type":"string","format":"uuid"},"sourceAccountId":{"type":"string","format":"uuid"},"sourceCustomerId":{"type":"string","format":"uuid"},"beneficiaryAccountId":{"type":"string","format":"uuid"},"beneficiaryId":{"type":"string","format":"uuid"},"transferQuantity":{"$ref":"#/components/schemas/Financial"},"transferCurrency":{"type":"string"},"transferReason":{"type":"string","maxLength":255,"nullable":true},"externalReferenceId":{"type":"string","nullable":true,"maxLength":255,"description":"Client-provided reference string to be stored with the transfer record"},"requestedAt":{"type":"string","format":"date-time"},"completedAt":{"type":"string","format":"date-time","nullable":true}}},"TransactionType":{"type":"string","enum":["DEPOSIT","WITHDRAWAL","TRANSFER"]},"TransactionStatus":{"type":"string","enum":["FAILED","PROCESSING","CONFIRMING","COMPLETED"]}},"headers":{"X-Request-Id":{"description":"Unique identifier for this request. If the client supplied X-Request-Id, the same value is returned.","schema":{"type":"string"}}},"responses":{"400":{"description":"Validation Error"},"401":{"description":"Unauthorized"},"403":{"description":"Insufficient Privileges"},"409":{"description":"Duplicate request error","content":{"application/json":{"schema":{"properties":{"id":{"type":"string"}}}}}},"4XX":{"description":"Client error"},"5XX":{"description":"Server error"}}},"paths":{"/v1/transfers":{"post":{"summary":"Create Transfer","description":"Transfer funds between accounts.","tags":["Transfers"],"parameters":[{"$ref":"#/components/parameters/X-Request-Id"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestTransferInput"}}}},"responses":{"200":{"description":"Successful response","headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Transfer"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"409":{"$ref":"#/components/responses/409"},"4XX":{"$ref":"#/components/responses/4XX"},"5XX":{"$ref":"#/components/responses/5XX"}},"operationId":"RequestTransfer"}}}}
```
