---
updatedAt: 2026-08-20T12:12:09.000Z
agentTools:
  projectIndex: https://developer.xentral.com/llms.txt
---

# 🔒 Update multiple sales prices V3

This endpoint is currently in Beta and available for testing. It may contain bugs, and breaking changes can occur at any time without prior notice. We do not recommend using Beta endpoints in production environments. Should you choose to use it in production, you assume full responsibility for any resulting issues.

This endpoint requires the following scopes: `salesPrice:update`.

Update multiple sales prices.

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "Xentral Business Documents API v3",
    "description": "The Xentral Business Documents API v3 for working with sales orders, offers, invoices, credit notes, delivery notes, return orders, purchase orders, proforma invoices and productions.\n\nIndividual endpoints marked as *Beta* may still change without prior notice — see the respective endpoint descriptions.\n\nRequest payloads may contain properties that an endpoint does not define; these are ignored rather than rejected. Nothing is stored for them and no error is returned, so check the response body to confirm which values were actually applied.",
    "contact": {
      "name": "API Support",
      "url": "https://xentral.com",
      "email": "api@xentral.com"
    },
    "version": "0.2.0"
  },
  "servers": [
    {
      "url": "https://{xentralId}.xentral.biz",
      "description": "Your xentral instance",
      "variables": {
        "xentralId": {
          "default": "my-company",
          "description": "Your Xentral instance ID"
        }
      }
    },
    {
      "url": "https://{domain}",
      "description": "Xentral with a custom domain",
      "variables": {
        "domain": {
          "default": "demo.xentral.com",
          "description": "Your Xentral custom domain"
        }
      }
    }
  ],
  "components": {
    "schemas": {
      "Money": {
        "description": "Money",
        "properties": {
          "amount": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "number"
              }
            ]
          },
          "currency": {
            "description": "Currency",
            "type": "string",
            "example": "EUR"
          }
        },
        "type": "object",
        "example": {
          "amount": "13.37",
          "currency": "EUR"
        },
        "additionalProperties": false
      },
      "SalesPriceUpdateData": {
        "description": "SalesPrice update payload",
        "required": [
          "id"
        ],
        "type": "object",
        "example": {
          "id": "1337"
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/SalesPriceUpdateFields"
          },
          {
            "properties": {
              "id": {
                "description": "Unique identifier of the sales price to update.",
                "type": "string",
                "pattern": "[0-9]+",
                "example": "1337"
              }
            },
            "type": "object"
          }
        ]
      },
      "SalesPriceUpdateFields": {
        "description": "Writable properties of a sales price",
        "properties": {
          "customer": {
            "description": "Customer this sales price applies to. Provide either customer or customerGroup, not both. Send both as null to make this the list price for all customers.",
            "properties": {
              "id": {
                "description": "Customer ID",
                "type": "string",
                "pattern": "[0-9]+",
                "example": "42"
              }
            },
            "type": [
              "object",
              "null"
            ],
            "example": {
              "id": "1337"
            }
          },
          "customerGroup": {
            "description": "Customer group this sales price applies to. Provide either customer or customerGroup, not both. Send both as null to make this the list price for all customers.",
            "properties": {
              "id": {
                "description": "Customer group ID",
                "type": "string",
                "pattern": "[0-9]+",
                "example": "42"
              }
            },
            "type": [
              "object",
              "null"
            ],
            "example": {
              "id": "1337"
            }
          },
          "price": {
            "$ref": "#/components/schemas/Money",
            "description": "Net sales price as amount and currency. Prices in Xentral are net B2B prices."
          },
          "quantity": {
            "description": "Minimum quantity of the product from which this sales price applies.",
            "type": "number",
            "format": "float",
            "example": 13.37
          },
          "packageAmount": {
            "description": "Quantity contained in one packaging unit for this sales price. Send null to clear it.",
            "type": [
              "number",
              "null"
            ],
            "format": "float",
            "example": 13.37
          },
          "customerProductNumber": {
            "description": "The product's article number as used by the customer. Send null to clear it.",
            "type": [
              "string",
              "null"
            ],
            "maxLength": 255,
            "example": "Number1"
          },
          "isNotCalculatedFromExchangeTable": {
            "description": "If true, this price is not converted via the currency exchange table.",
            "type": "boolean",
            "example": true
          },
          "hideInBulkPriceListing": {
            "description": "If true, this price is hidden in scale-price listings on documents.",
            "type": "boolean",
            "example": false
          },
          "remark": {
            "description": "Internal comment for this sales price. Send null to clear it.",
            "type": [
              "string",
              "null"
            ],
            "example": "remark example"
          },
          "validFrom": {
            "description": "Date from which this sales price is valid. Send null to remove the lower limit.",
            "type": [
              "string",
              "null"
            ],
            "format": "date",
            "example": "2025-01-01"
          },
          "expiresAt": {
            "description": "Date until which this sales price is valid. Send null to remove the upper limit.",
            "type": [
              "string",
              "null"
            ],
            "format": "date",
            "example": "2025-01-01"
          }
        },
        "type": "object"
      },
      "SalesPriceUpdateMultipleData": {
        "description": "The sales prices to update",
        "required": [
          "items"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalesPriceUpdateData"
            }
          }
        },
        "type": "object",
        "example": {
          "items": [
            {
              "id": "1337"
            }
          ]
        }
      }
    },
    "securitySchemes": {
      "BearerAuth": {
        "type": "http",
        "scheme": "bearer"
      }
    }
  },
  "security": [
    {
      "BearerAuth": []
    }
  ],
  "tags": [
    {
      "name": "SalesPrice",
      "description": "SalesPrice"
    }
  ],
  "paths": {
    "/api/v3/salesPrices": {
      "patch": {
        "tags": [
          "SalesPrice"
        ],
        "summary": "🔒 Update multiple sales prices V3",
        "description": "This endpoint is currently in Beta and available for testing. It may contain bugs, and breaking changes can occur at any time without prior notice. We do not recommend using Beta endpoints in production environments. Should you choose to use it in production, you assume full responsibility for any resulting issues.\n\nThis endpoint requires the following scopes: `salesPrice:update`.\n\nUpdate multiple sales prices.",
        "operationId": "PATCH::api-v3-salesprices",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SalesPriceUpdateMultipleData"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Failed validation",
            "content": {
              "application/problem+json": {
                "schema": {
                  "properties": {
                    "type": {
                      "description": "Error messages",
                      "type": "string",
                      "example": "https://api.xentral.biz/problems/request-validation"
                    },
                    "title": {
                      "description": "Error messages",
                      "type": "string",
                      "example": "Request payload validation failed."
                    },
                    "violations": {
                      "description": "Error messages",
                      "type": "object",
                      "example": {
                        "items": [
                          "The items field must be an array."
                        ]
                      }
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "message": {
                      "description": "Too Many Requests",
                      "type": "string",
                      "example": "Too Many Requests"
                    }
                  },
                  "type": "object"
                }
              }
            }
          }
        },
        "x-beta": true,
        "x-scopes": [
          "salesPrice:update"
        ]
      }
    }
  }
}
```