Error
A valid request URL is required to generate request examples{
"results": [
{
"reference": "prod-drill-bosch",
"status": "created"
}
],
"created": 1,
"skipped": 0,
"failed": 0
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123,
"fieldErrors": [
{
"field": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}Catalog
Bulk-import products
Creates many products from a batch of drafts through the SAME create path, returning a per-row report (created / skipped when it already exists / failed with a reason). Idempotent: re-posting the same batch skips existing rows. Invalid rows are REPORTED, not rejected — the batch still returns 200.
POST
/
v1
/
products
/
import
Error
A valid request URL is required to generate request examples{
"results": [
{
"reference": "prod-drill-bosch",
"status": "created"
}
],
"created": 1,
"skipped": 0,
"failed": 0
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123,
"fieldErrors": [
{
"field": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}Authorizations
Authorization: Bearer <token>. Accepts EITHER a Keycloak access token (scopes-in-token) OR an opaque POS session token; both resolve to the same pos.* scope vocabulary the route guards enforce.
Body
application/json
The batch of product drafts; each element is a CreateProductInput (see the create op).
Response
The per-row import outcome plus the created/skipped/failed totals.
The per-row import outcome plus the created/skipped/failed totals.

