---
title: "Create a new Payment"
method: POST
path: "/payments/payment/"
tags: ["payments"]
---

# Create a new Payment

`POST /payments/payment/`

Create a new payment.

## Headers

- `Authorization` string, required
- `X-Api-Key` string, required
- `X-API-Version` string
- `Idempotency-Key` string

## Request body

- object
  - `erp_vendor_id` string — The vendor's unique identifier in your ERP system.
  - `location_id` integer — The Ottimate location (restaurant) ID for this payment.
  - `scheduled_date` string — The ISO 8601 date and time when the payment is scheduled to be sent.
  - `customer_account_number` string — Your account number with the vendor.
  - `memo` string — A memo or note to include with the payment.
  - `payment_number` string — Your internal identifier for this payment.
  - `ottimate_company_id` integer — The Ottimate company ID associated with this payment.
  - `invoices` PaymentsPaymentPostRequestBodyContentApplicationJsonSchemaInvoicesItems[] — The list of invoices included in this payment.
    - `invoice_number` string — The invoice number as it appears in your system.
    - `total_amount` string — The total amount of the invoice being paid.
    - `date` string — The invoice date in YYYY-MM-DD format.
    - `currency` string — The ISO 4217 currency code for the invoice amount.

## Response `201`

Successfully created

- PaymentsPostPaymentsPaymentResponse201
  - `id` string — The unique identifier of the newly created payment.

## Other responses

- `400` — Bad request - Invalid parameters or request format
- `403` — Forbidden - Access denied or insufficient permissions

## Changes

- **2026-08-22** `75aab60eedc9` — 2 breaking, 1 warning
  - for the `header` request parameter `Idempotency-Key`, the minLength was increased from `0` to `1`
  - added the pattern `^[A-Za-z0-9._\-+=/]{1,128}$` to the `header` request parameter `Idempotency-Key`
  - for the `header` request parameter `Idempotency-Key`, the maxLength was set to `128`
- **2026-08-19** `c0b5cf6c7a72` — 1 info
  - added the non-success response with the status `403`
- **2026-08-17** `c231509a03cf` — 1 breaking, 2 info
  - the `message` response's property type/format changed from `string`/`` to ``/`` for status `400`
  - the response property `code` became required for the status `400`
  - the response property `message` became required for the status `400`
- **2026-08-13** `1f089f3e34d9` — 3 breaking
  - the response property `code` became optional for the status `400`
  - the response property `message` became optional for the status `400`
  - the `message` response's property type/format changed from ``/`` to `string`/`` for status `400`

[Change history](https://skmtc.dev/ottimate/apis/api-reference/changes/payments/payment/post.md)

---

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