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

# Create a transaction.

`POST /api/v1/transactions`

## Request body

- CreateTransactionRequest
  - `customerId` string, uuid, nullable
  - `isToGoOrder` boolean — Determines if special tax considerations around to go orders should be applied with a given site's tax settings
  - `lineItems` LineItem[], required
    - `lineType` 'CatalogEntryLineItem' | 'SeatHeaderLineItem' | 'DiscountLineItem', required
    - `id` integer, required
    - `authorizedBy` EmployeeActor
      - `type` 'EmployeeActor' | 'IntegrationActor', required
  - `details` CreateDetail[], required
    - `timestamp` string, date-time, required
    - `tillId` string, uuid, nullable
    - `state` 'Pending' | 'AwaitingGratuity' | 'Completed'
    - `actor` Actor, required
      - `type` 'EmployeeActor' | 'IntegrationActor', required
    - `source` Source, required
      - `sourceType` 'StationSource' | 'IntegrationSource', required
    - `sessionId` string, uuid, nullable
  - `salesTaxCollected` SalesTaxInfo[], nullable
    - `taxCodeId` integer, required
    - `amount` number, double, required
    - `taxableAmount` number, double, required
    - `shiftDate` string, date, nullable
  - `tenders` Tender[], nullable
    - `type` string, required
    - `amount` number, double, required
  - `hardware` Hardware — Indicates the type of hardware the requester is equipped with
    - `hasTicketPrinter` boolean
  - `serviceCharge` ServiceCharge
    - `amount` number, double
    - `percent` number, double, nullable

## Response `201`

Created

- Transaction
  - `id` integer, required
  - `number` string, required
  - `netAmount` number, double, required
  - `customerId` string, uuid, nullable
  - `isToGoOrder` boolean — Determines if special tax considerations around to go orders should be applied with a given site's tax settings
  - `details` Detail[], required
    - `timestamp` string, date-time, required
    - `tillId` string, uuid
    - `state` 'Pending' | 'AwaitingGratuity' | 'Completed'
    - `actor` Actor, required
      - `type` 'EmployeeActor' | 'IntegrationActor', required
    - `source` Source, required
      - `sourceType` 'StationSource' | 'IntegrationSource', required
    - `sessionId` string, uuid, required
  - `lineItems` LineItem[], nullable
    - `lineType` 'CatalogEntryLineItem' | 'SeatHeaderLineItem' | 'DiscountLineItem', required
    - `id` integer, required
    - `authorizedBy` EmployeeActor
      - `type` 'EmployeeActor' | 'IntegrationActor', required
  - `salesTaxCollected` SalesTaxInfo[], nullable
    - `taxCodeId` integer, required
    - `amount` number, double, required
    - `taxableAmount` number, double, required
    - `shiftDate` string, date, nullable
  - `tenders` Tender[], nullable
    - `type` string, required
    - `amount` number, double, required
  - `serviceCharge` ServiceCharge
    - `amount` number, double
    - `percent` number, double, nullable

## Other responses

- `400` — Bad Request
- `404` — Not Found
- `409` — Conflict

---

[API](https://skmtc.dev/centeredge/apis/advantage-api.md) · [All operations](https://skmtc.dev/centeredge/apis/advantage-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/centeredge/advantage-api/revisions/00cc7dde429b/schema)
