---
title: "Update Tills in Bulk"
method: PUT
path: "/v2/locations/tills"
---

# Update Tills in Bulk

`PUT /v2/locations/tills`

Update up to 50 tills in a single request.

## Request body

- object[]
  - `identifierName` 'ID' | 'CODE' | 'EXTERNAL_ID', required — How to identify the target till. One of ID, CODE, EXTERNAL_ID (case-insensitive).
  - `identifierValue` string, required — The identifier value matching identifierName.
  - `name` string — Display name for the till. Cannot be null or empty. Max 100 characters. Accepts letters, digits, underscores, and spaces.
  - `description` string, nullable — Free-text description. Set to null to clear.
  - `isAdmin` boolean — Whether the till has admin access.
  - `isActive` boolean — Whether the till is active. Activation fails if the parent store is inactive. Deactivation fails if the till has active child entities.
  - `storeParentCode` string — Code of the parent store. Cannot be set to null. Provide a valid store code to change the parent store.
  - `externalIds` object, nullable — Key-value map of external identifiers. Omit to preserve. Pass null to clear all external identifiers. Pass {} to make no change. Set a key's value to null to remove that specific key. Maximum five entries. Keys and values must not exceed 200 characters each.
  - `customFields` object, nullable — Key-value map of custom field values. Omit to preserve. Pass null to clear all custom field values. Pass {} to make no change. Set a key's value to null to remove that specific key. Keys must match custom fields configured for the org.

## Response `200`

All tills updated successfully.

- BulkResponseList
  - `response` object[]
    - `entityId` integer — System ID of the updated concept. Present when the concept was identified, regardless of whether the update succeeded. Absent when the concept could not be identified, or when an unexpected error occurs.
    - `result` object — Echo of the submitted request object for this concept.
    - `errors` object[]
      - `status` boolean
      - `code` integer
      - `message` string
    - `warnings` object[]
      - `status` boolean
      - `code` integer
      - `message` string
  - `totalCount` integer — Total number of concept records in the request.
  - `failureCount` integer — Number of concepts that failed to update.

## Other responses

- `207` — Partial success — some tills updated, some failed.
- `400` — All items failed or request is invalid (e.g. more than 50 items, empty body).

---

[API](https://skmtc.net/capillarytech/apis/sample-api.md) · [All operations](https://skmtc.net/capillarytech/apis/sample-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/capillarytech/sample-api/revisions/de241f2ed9b3/schema)
