Skip to main content
POST
Partially capture serial numbers for a package line

Authorizations

Authorization
string
header
required

API key issued per entity via Settings > Developers > API Keys. Each key carries scopes (e.g. orders:read, products:write). Bearer token format: Authorization: Bearer ark_live_ent_Test keys use ark_test_ent_. Both are issued per entity
via Settings > Developers > API Keys.

Headers

Idempotency-Key
string

Client-supplied idempotency key (UUID recommended). Same key within 24h returns the cached response.

Maximum string length: 255

Body

application/json
package_item_id
string<uuid>
required

UUID of fulfillment.package_items row to capture against.

product_id
string<uuid>
required

UUID of the product. Used for per-product serial_config lookup.

order_id
string<uuid> | null

Optional. Parent order UUID for order-state gate validation.

package_id
string<uuid> | null

Optional. Parent package UUID.

raw_barcodes
string[]

Raw scanned strings. The canonical parseScan runs barcode normalization (prefix strip, format parse, lot extraction). Prefer this over serial_numbers[].

serial_numbers
string[]

Pre-parsed serial numbers. Use raw_barcodes when possible; serial_numbers bypasses barcode parsing.

lot_number
string | null

Override lot number. If omitted, parsed from raw_barcodes via parseScan.

expiry_date
string<date> | null

Override expiry date. If omitted, parsed from raw_barcodes via parseScan.

notes
string | null

Optional operator notes stored on the serial row.

source
string | null

Optional capture source tag (e.g. 'scanner', 'manual', 'api').

Response

Partial or complete capture result

data
object