---
title: "Changes to Upload customers via CSV file"
method: POST
path: "/customers/bulk/csv"
---

# Changes to Upload customers via CSV file

`POST /customers/bulk/csv`

> Every recorded change to this operation, newest first.
> 115 revisions in range; 2 not diffed.

## Timeline

Changed in 8 of 115 revisions.

- **2026-10-02** `dfe5a02f2fee`: 4 breaking, 2 info
- **2026-05-28** `d0bce562bffd`: 5 warning
- **2026-03-03** `efe0d983985f`: 2 breaking, 10 info
- **2026-02-25** `c62cf646aaeb`: 10 breaking, 2 warning
- **2026-02-19** `55dc3fc30633`: 2 breaking, 10 info
- **2026-02-13** `ecd31fe01b4e`: 10 breaking, 2 warning
- **2026-02-13** `2055da1ed488`: 2 breaking, 10 info
- **2026-02-05** `42f104b10868`: 4 breaking, 4 warning

## Changes

- **2026-10-02** `dfe5a02f2fee`: 4 breaking, 2 info
  - removed the required property `message` from the response with the `401` status
  - removed the required property `message` from the response with the `500` status
  - removed the required property `status` from the response with the `401` status
  - removed the required property `status` from the response with the `500` status
  - added the required property `reason` to the response with the `401` status
  - added the required property `reason` to the response with the `500` status
- **2026-05-28** `d0bce562bffd`: 5 warning
  - added the new `REQUEST_ID_MISSING` enum value to the `code` response property for the response status `401`
  - added the new `WALLET_SIGNATURE_BODY_MISMATCH` enum value to the `code` response property for the response status `401`
  - added the new `WALLET_SIGNATURE_INVALID` enum value to the `code` response property for the response status `401`
  - added the new `WALLET_SIGNATURE_MALFORMED` enum value to the `code` response property for the response status `401`
  - added the new `WALLET_SIGNATURE_MISSING` enum value to the `code` response property for the response status `401`
- **2026-03-03** `efe0d983985f`: 2 breaking, 10 info
  - the response's body type changed from no type to `object` for status `401`
  - the response's body type changed from no type to `object` for status `500`
  - removed `#/components/schemas/Error401_UNAUTHORIZED, #/components/schemas/Error401_INVALID_SIGNATURE` from the response body `oneOf` list for the response status `401`
  - removed `#/components/schemas/Error500_GRID_SWITCH_ERROR, #/components/schemas/Error500_INTERNAL_ERROR` from the response body `oneOf` list for the response status `500`
  - added the optional property `details` to the response with the `401` status
  - added the optional property `details` to the response with the `500` status
  - added the required property `code` to the response with the `401` status
  - added the required property `code` to the response with the `500` status
  - added the required property `message` to the response with the `401` status
  - added the required property `message` to the response with the `500` status
  - added the required property `status` to the response with the `401` status
  - added the required property `status` to the response with the `500` status
- **2026-02-25** `c62cf646aaeb`: 10 breaking, 2 warning
  - added `#/components/schemas/Error401_UNAUTHORIZED, #/components/schemas/Error401_INVALID_SIGNATURE` to the response body `oneOf` list for the response status `401`
  - added `#/components/schemas/Error500_GRID_SWITCH_ERROR, #/components/schemas/Error500_INTERNAL_ERROR` to the response body `oneOf` list for the response status `500`
  - the response's body type changed from `object` to no type for status `401`
  - the response's body type changed from `object` to no type for status `500`
  - removed the required property `code` from the response with the `401` status
  - removed the required property `code` from the response with the `500` status
  - removed the required property `message` from the response with the `401` status
  - removed the required property `message` from the response with the `500` status
  - removed the required property `status` from the response with the `401` status
  - removed the required property `status` from the response with the `500` status
  - removed the optional property `details` from the response with the `401` status
  - removed the optional property `details` from the response with the `500` status
- **2026-02-19** `55dc3fc30633`: 2 breaking, 10 info
  - the response's body type changed from no type to `object` for status `401`
  - the response's body type changed from no type to `object` for status `500`
  - removed `#/components/schemas/Error401_UNAUTHORIZED, #/components/schemas/Error401_INVALID_SIGNATURE` from the response body `oneOf` list for the response status `401`
  - removed `#/components/schemas/Error500_GRID_SWITCH_ERROR, #/components/schemas/Error500_INTERNAL_ERROR` from the response body `oneOf` list for the response status `500`
  - added the optional property `details` to the response with the `401` status
  - added the optional property `details` to the response with the `500` status
  - added the required property `code` to the response with the `401` status
  - added the required property `code` to the response with the `500` status
  - added the required property `message` to the response with the `401` status
  - added the required property `message` to the response with the `500` status
  - added the required property `status` to the response with the `401` status
  - added the required property `status` to the response with the `500` status
- **2026-02-13** `ecd31fe01b4e`: 10 breaking, 2 warning
  - added `#/components/schemas/Error401_UNAUTHORIZED, #/components/schemas/Error401_INVALID_SIGNATURE` to the response body `oneOf` list for the response status `401`
  - added `#/components/schemas/Error500_GRID_SWITCH_ERROR, #/components/schemas/Error500_INTERNAL_ERROR` to the response body `oneOf` list for the response status `500`
  - the response's body type changed from `object` to no type for status `401`
  - the response's body type changed from `object` to no type for status `500`
  - removed the required property `code` from the response with the `401` status
  - removed the required property `code` from the response with the `500` status
  - removed the required property `message` from the response with the `401` status
  - removed the required property `message` from the response with the `500` status
  - removed the required property `status` from the response with the `401` status
  - removed the required property `status` from the response with the `500` status
  - removed the optional property `details` from the response with the `401` status
  - removed the optional property `details` from the response with the `500` status
- **2026-02-13** `2055da1ed488`: 2 breaking, 10 info
  - the response's body type changed from no type to `object` for status `401`
  - the response's body type changed from no type to `object` for status `500`
  - removed `#/components/schemas/Error401_UNAUTHORIZED, #/components/schemas/Error401_INVALID_SIGNATURE` from the response body `oneOf` list for the response status `401`
  - removed `#/components/schemas/Error500_GRID_SWITCH_ERROR, #/components/schemas/Error500_INTERNAL_ERROR` from the response body `oneOf` list for the response status `500`
  - added the optional property `details` to the response with the `401` status
  - added the optional property `details` to the response with the `500` status
  - added the required property `code` to the response with the `401` status
  - added the required property `code` to the response with the `500` status
  - added the required property `message` to the response with the `401` status
  - added the required property `message` to the response with the `500` status
  - added the required property `status` to the response with the `401` status
  - added the required property `status` to the response with the `500` status
- **2026-02-05** `42f104b10868`: 4 breaking, 4 warning
  - the `status` response property const value `401` was removed for the status `401`
  - the `status` response property const value `401` was removed for the status `401`
  - the `status` response property const value `500` was removed for the status `500`
  - the `status` response property const value `500` was removed for the status `500`
  - added the new `401.00` enum value to the `oneOf[#/components/schemas/Error401_INVALID_SIGNATURE]/status` response property for the response status `401`
  - added the new `401.00` enum value to the `oneOf[#/components/schemas/Error401_UNAUTHORIZED]/status` response property for the response status `401`
  - added the new `500.00` enum value to the `oneOf[#/components/schemas/Error500_GRID_SWITCH_ERROR]/status` response property for the response status `500`
  - added the new `500.00` enum value to the `oneOf[#/components/schemas/Error500_INTERNAL_ERROR]/status` response property for the response status `500`

---

[Operation](https://skmtc.dev/lightsparkdev/apis/grid-api/docs/customers/bulk/csv/post.md) - [API](https://skmtc.dev/lightsparkdev/apis/grid-api.md) - [Page](https://skmtc.dev/lightsparkdev/apis/grid-api/changes/customers/bulk/csv/post)
