---
title: "Place an order for an existing owned customer"
method: POST
path: "/v1/partner/orders"
tags: ["Partner Provisioning"]
---

# Place an order for an existing owned customer

`POST /v1/partner/orders`

## Request

- Base URL: `https://developers.servera.lt`
- URL: `https://developers.servera.lt/v1/partner/orders`
- Auth: HTTP bearer

Place a new order for a customer you already own (no customer creation). Same
pending-order + proforma flow as `/partner/provision`. `Idempotency-Key` required.

## Headers

- `Idempotency-Key` string, nullable

## Request body

- PartnerOrdersBody
  - `customer_id` integer, required: Existing customer you own (from a prior provision response).
  - `items` PartnerItem[], required: Products to order.
    - `product_id` integer, required: Allowed product id.
    - `billing_cycle` string, required: 'onetime' for hardware, or monthly/quarterly/semiannually/annually/biennially/triennially for a subscription.
    - `quantity` integer: How many.
    - `giveaway` boolean: If true, this line is a 100% giveaway (e.g. a free device bundled with a subscription): billed at full price with a -100% discount line on the invoice, netting to 0. The partner decides eligibility.
    - `giveaway_name` string, nullable: Localized label for the giveaway discount line (e.g. 'Dovana - irenginys nemokamai'). Shown on the invoice. Defaults to a generic label when omitted.
  - `reference` string, nullable
  - `send_emails` boolean
  - `start_date` string, nullable: Optional service start date (YYYY-MM-DD) for the whole order — recurring services are billed from this date instead of the payment date. Must be today or later. Omit to start from the payment date.

## Response `200`

Successful Response

- PartnerOrderResult
  - `customer_id` integer, required
  - `customer_created` boolean
  - `order_id` integer, required
  - `order_number` string, required
  - `status` 'pending' | 'active' | 'cancelled' | 'refunded', required
  - `invoice_id` integer, nullable
  - `invoice_number` string, nullable
  - `total` number, required
  - `currency` string
  - `pay_url` string, nullable
  - `reference` string, nullable

## Other responses

- `400`: Bad request — error is one of: no_items, too_many_items, product_not_allowed, invalid_cycle_for_product, product_not_found, idempotency_key_required
- `401`: Unauthorized — missing or invalid API key
- `403`: Forbidden — error is insufficient_scope (needs the partner:provision scope) or no_products_assigned
- `404`: Not found — error is customer_not_found_or_not_owned
- `422`: Validation Error

---

[API](https://skmtc.dev/servera/apis/servera-developers-api-2.md) · [All operations](https://skmtc.dev/servera/apis/servera-developers-api-2/llms.txt) · [OpenAPI document](https://skmtc.dev/servera/apis/servera-developers-api-2/revisions/2e744791e77f?raw)
