---
title: "Create a Transaction"
method: POST
path: "/v1/transactions"
tags: ["Transactions"]
---

# Create a Transaction

`POST /v1/transactions`

Create a new Transaction that can be funded

## Request body

- CreateTransactionRequest
  - `payorId` string, uuid, required — Indicates the Payor creating the Transaction and which matches the payorId on the provided source account
  - `sourceAccountName` string, required — The name of the source account that the new Transaction will be associated with and any funding containing the transactionShortCode will credit.
  - `transactionReference` string, required — The payors own reference for the transaction that can later be used for querying and retrieval.
  - `transactionMetadata` object — Optional metadata that will be attached to the created transaction and can that can be retrieved later.| The total length of all the keys and values provided in the metadata must be no more than 4000 chars.

## Response `201`

Transaction Created

- CreateTransactionResponse
  - `transactionId` string, uuid, required — The Id of the newly created transaction
  - `transactionShortCode` string, required — The short code for the transaction that can be used when sending funds into the platform

## Other responses

- `400` — Invalid request. See Error message payload for details of failure
- `401` — Invalid access token. May be expired or invalid
- `403` — The authentication does not have permissions to access the resource This usually occurs when there is a valid authentication instance (client or user) but they do not have the required permissions

---

[API](https://skmtc.net/velopaymentsapi/apis/velo-payments-apis.md) · [All operations](https://skmtc.net/velopaymentsapi/apis/velo-payments-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/velopaymentsapi/velo-payments-apis/versions/05c3f09fc50a/schema)
