---
title: "POST /billpay/bulk-create-order-control-numbers"
method: POST
path: "/billpay/bulk-create-order-control-numbers"
---

# POST /billpay/bulk-create-order-control-numbers

`POST /billpay/bulk-create-order-control-numbers`

Bulk creates BillPay Order Control Numbers (max 50 per request). Supports partial success: valid items are created while invalid items are reported in the errors array.

## Request body

- object
  - `controlNumbers` object[], required — Array of order control number items
    - `billReference` string — Custom bill reference (alphanumeric, max 20 chars)
    - `billAmount` number — Amount of the bill
    - `billDescription` string — Description of the bill
    - `billPaymentMode` 'ALLOW_PARTIAL_AND_OVER_PAYMENT' | 'EXACT' — Payment mode. Applied only when billAmount is set

## Response `200`

Bulk create result - may include partial success with per-item errors

- BulkCreateResponse
  - `billPayNumbers` string[] — Array of successfully created BillPay numbers
  - `created` number — Count of successfully created control numbers
  - `failed` number — Count of failed items
  - `errors` object[] — Present only when failed > 0
    - `index` number — 0-based index of the failed item in the request array
    - `reason` string — Error message for the failed item

## Other responses

- `400` — Validation Error
- `401` — Unauthorized

---

[API](https://skmtc.net/clickpesa/apis/core-api-openapi-specification.md) · [All operations](https://skmtc.net/clickpesa/apis/core-api-openapi-specification/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/clickpesa/core-api-openapi-specification/versions/9f70f35c5590/schema)
