---
title: "Agregar items a una cuenta abierta"
method: POST
path: "/service_tabs/{service_tab_id}/items"
tags: ["serviceTabs"]
---

# Agregar items a una cuenta abierta

`POST /service_tabs/{service_tab_id}/items`

Agrega uno o más consumos a la cuenta. Cada item queda registrado por
separado en el feed de actividad, igual que la cuenta que ve el cliente.
La respuesta trae la cuenta completa con su nuevo total.

Un item nombra algo que ya vendes (`price_id` o `product_id`) o se define
solo, con `name` y `amount_in_cents`. Son las mismas tres formas que
aceptan los items de un checkout. Los precios recurrentes no se aceptan:
una cuenta abierta solo cobra productos de pago único.

## Path parameters

- `service_tab_id` string, required

## Headers

- `X-SECRET-KEY` string, required

## Request body

- object
  - `items` ServiceTabsServiceTabIdItemsPostRequestBodyContentApplicationJsonSchemaItemsItems[], required
    - `price_id` string — Precio existente a cobrar
    - `product_id` string — Producto existente; se cobra su precio vigente
    - `name` string — Nombre del cobro manual, cuando no mandas `price_id` ni `product_id`
    - `amount_in_cents` integer — Monto del cobro manual, en centavos
    - `currency` string — Moneda del cobro manual. Por defecto, la de la cuenta abierta. Una cuenta no puede mezclar monedas: un item en otra moneda se rechaza con `422`.
    - `quantity` integer — Entero mayor a 0. Un lote con un item inválido no agrega ninguno.

## Response `201`

Items agregados

- ServiceTab
  - `id` string — ID de la cuenta abierta
  - `status` 'open' | 'closing' | 'paid' | 'voided' | 'abandoned' — Estado de la cuenta. `open` acepta items; `closing` ya está cerrada y espera el pago; `paid` se cobró; `voided` se anuló sin cobrar; `abandoned` se dejó vencer.
  - `display_name` string — Nombre con el que el comercio identifica la cuenta (mesa, cliente, cuarto)
  - `phone` string, nullable — Teléfono del cliente al momento de abrir la cuenta
  - `customer_id` string — ID del cliente dueño de la cuenta
  - `currency` string — Moneda de la cuenta
  - `total_in_cents` integer — Total consumido hasta ahora, en centavos
  - `payment_strategy` 'card_on_file' | 'preauthorization' — `card_on_file` cobra al cerrar la tarjeta guardada del cliente. `preauthorization` mantiene un hold del monto estimado y solo se puede activar desde el dashboard, porque requiere una autorización real del procesador.
  - `opening_commitment` 'none' | 'manual_amount' | 'product' | 'products' — Qué se comprometió al abrir la cuenta. Se infiere de la solicitud: `products` si mandaste `items`, `manual_amount` si mandaste `estimated_amount`, `none` si no mandaste ninguno.
  - `items` ServiceTabItem[] — Líneas vigentes de la cuenta (los items anulados no aparecen)
    - `id` string — ID del item, firmado y estable mientras el item exista
    - `price_id` string — ID del precio cobrado en esta línea
    - `name` string — Nombre del producto
    - `quantity` integer — Cantidad
    - `amount_in_cents` integer — Total de la línea (precio × cantidad), en centavos
    - `currency` string — Moneda de la línea
  - `authorized_amount_in_cents` integer — Monto preautorizado con hold sobre la tarjeta, en centavos. `0` cuando no hay preautorización.
  - `authorization_expires_at` string, date-time, nullable — Momento en que expira el hold de la preautorización
  - `checkout_url` string, nullable — Checkout que cierra la cuenta; pagarlo la marca como `paid`. Solo aparece mientras la cuenta se está cobrando (`closing` o `paid`): si un cobro con tarjeta se declina, la cuenta se reabre y el checkout de ese intento no se publica, porque el cliente no podría pagarlo.
  - `opened_at` string, date-time — Momento en que se abrió la cuenta
  - `closed_at` string, date-time, nullable — Momento en que se cerró la cuenta
  - `created_at` string, date-time

## Other responses

- `422` — No se enviaron items, no son válidos para una cuenta abierta, o la cuenta ya está cerrada

---

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