Xentral Purchase Price API
PurchasePrices determine the prices used for the purchasing of products.
PurchasePrices determine the prices used for the purchasing of products.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/xentral-purchase-price-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: Xentral Account Purchase Price API
version: v0.1
description: Xentral is an ERP platform.
contact:
name: Xentral
url: https://xentral.com
email: api@xentral.com
servers:
- url: https://{xentralId}.xentral.biz
description: Your Xentral Instance
variables:
xentralId:
default: xentral
- url: https://{domain}
description: Xentral at a custom domain
variables:
domain:
default: xentral.com
security:
- BearerAuth: []
tags:
- name: Purchase Price
description: PurchasePrices determine the prices used for the purchasing of products.
paths:
/api/v1/purchasePrices:
post:
tags:
- Purchase Price
deprecated: true
operationId: purchasePrice.create
summary: Create purchase price V1
description: Creates new purchase price
requestBody:
description: ''
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- product
- fromQuantity
- price
- validFrom
- expiresAt
properties:
product:
description: Reference to another resource
type: object
additionalProperties: false
required:
- id
properties:
id:
type: string
pattern: \d+
example: '17'
description: Resource identifier.
example:
id: '1337'
supplier:
type: object
additionalProperties: false
required:
- id
properties:
id:
type: string
pattern: \d+
example: '17'
description: Resource identifier.
description: Reference to a supplier for this price
example:
id: '194'
isStandardSupplier:
description: Loose boolean type which accepts boolean, number 0 or 1 and string 'true' or 'false'
example: '''true'''
oneOf:
- type: boolean
- type: number
enum:
- 0
- 1
- type: string
enum:
- 'true'
- 'false'
- 'True'
- 'False'
- 'TRUE'
- 'FALSE'
supplierDesignation:
type: string
description: The designation of the supplier
example: Xentral
supplierItemNumber:
type: string
description: Supplier item number
example: 4992042-20
fromQuantity:
type: number
format: float
description: Minimum quantity for this price
example: 1
packageAmount:
type:
- number
- 'null'
format: float
description: Amount of items in a package
example: 10
price:
description: Price of the product
example:
amount: 7.3
currency: EUR
type: object
additionalProperties: false
properties:
amount:
x-description-missing: true
type: number
format: float
example: 7.3
currency:
x-description-missing: true
type: string
enum:
- EUR
- PLN
- CHF
- USD
- GBP
example: EUR
validFrom:
type:
- string
- 'null'
format: date
description: Date from which the price is valid
example: '2023-12-01'
expiresAt:
type:
- string
- 'null'
format: date
description: Date until which the price is valid
example: '2024-12-12'
examples:
Create purchase price:
value:
product:
id: '18'
supplier:
id: '194'
isStandardSupplier: true
supplierDesignation: Pillow 20x20
supplierItemNumber: 4992042-20
fromQuantity: 50
packageAmount: 10
validFrom: '2021-01-01'
expiresAt: null
price:
amount: 7.3
currency: EUR
responses:
'201':
description: Resource successfully created response
headers:
Location:
schema:
type: string
example: https://example.xentral.biz/api/users/17
description: URI of the created resource
content:
text/html:
schema:
type:
- string
- 'null'
enum:
- ''
'400':
description: IETF RFC 9457 Problem API compliant response
content:
application/problem+json:
schema:
oneOf:
- type: object
additionalProperties: false
required:
- type
- title
- violations
properties:
type:
type: string
enum:
- https://api.xentral.biz/problems/request-validation
title:
type: string
minLength: 1
example: Request payload validation failed.
violations:
oneOf:
- type: array
items:
type: object
example:
username:
- This value should not be blank.
email:
- This value is not a valid email address.
description: This field will be a mirrored request payload with only invalid fields and values replaced by error messages.
- type: object
example:
_:
- This value should contain at most `9` elements.
description: This field will be a mirrored request payload with only invalid fields and values replaced by error messages.
- type: object
additionalProperties: false
required:
- type
- title
- messages
properties:
type:
type: string
enum:
- https://api.xentral.biz/problems/generic-validation
title:
type: string
minLength: 1
messages:
type: array
items:
type: string
- type: object
additionalProperties: false
required:
- type
- title
- messages
properties:
type:
type: string
enum:
- https://api.xentral.biz/problems/conflict
title:
type: string
minLength: 1
messages:
type: array
items:
type: string
- type: object
additionalProperties: false
required:
- type
- title
- items
properties:
type:
type: string
enum:
- https://api.xentral.biz/problems/conflictItems
title:
type: string
minLength: 1
items:
type: array
items:
type: object
additionalProperties: false
required:
- id
- title
- messages
properties:
id:
type: integer
title:
type: string
minLength: 1
messages:
type: array
items:
type: string
- type: object
additionalProperties: false
required:
- type
- title
- scopes
properties:
type:
type: string
enum:
- https://developer.xentral.com/reference/problems#token-scopes
title:
type: string
minLength: 1
scopes:
type: array
items:
type: string
- type: object
additionalProperties: false
required:
- type
- title
- messages
properties:
type:
type: string
enum:
- https://api.xentral.biz/problems/generic-validation
title:
type: string
minLength: 1
messages:
type: object
additionalProperties:
type: array
items:
type: string
'401':
description: Unable to authenticate the client
content:
application/json:
schema:
type: object
properties:
message:
type: string
description: Error message explaining why the request failed.
example: 'Missing required scopes: customer:create.'
example:
message: 'Missing required scopes: customer:create.'
text/html:
schema:
type: string
example: Unauthorized
'403':
description: Unable to authorize the client
'415':
description: Resource representation send in the request is not supported.
'429':
description: Too many API calls made.
get:
tags:
- Purchase Price
deprecated: true
operationId: purchasePrice.list
summary: List purchase prices V1
parameters:
- name: filter
in: query
style: deepObject
schema:
type: array
items:
type: object
additionalProperties: false
properties:
key:
type: string
enum:
- id
- product
- supplier
- currency
- fromQuantity
- isValidAt
op:
type: string
enum:
- equals
- notEquals
- in
- notIn
- exactlyIn
- allIn
- allNotIn
- contains
- notContains
- startsWith
- endsWith
- greaterThan
- lessThan
- is
- lessThanOrEquals
- greaterThanOrEquals
value:
oneOf:
- type: string
description: Used for the operations 'equals', 'notEquals', 'contains', 'notContains', 'startsWith', 'endsWith' and 'is'.
title: String
- type: array
description: Used for the operations 'in', 'notIn', 'exactlyIn', 'allIn' and 'allNotIn'.
title: Array
items:
type: string
- in: query
name: page
required: false
style: deepObject
schema:
type: object
additionalProperties: false
required:
- number
- size
properties:
number:
type: string
pattern: \d+
description: Page number should be an integer greater than or equal to 1
size:
type: string
pattern: \d+
description: Page size should usually be an integer between 10 and 50.
- name: order
in: query
style: deepObject
schema:
type: array
items:
type: object
additionalProperties: false
properties:
field:
type: string
enum:
- id
dir:
type: string
enum:
- asc
- desc
description: Returns list of a purchase prices
responses:
'200':
description: Operation completed successfully.
content:
application/json:
schema:
type: object
additionalProperties: false
properties:
data:
type: array
items:
x-description-missing: true
type: object
additionalProperties: false
example:
id: '1'
product:
id: '5'
supplier:
id: '7'
isStandardSupplier: false
supplierDesignation: '123456'
fromQuantity: 1
packageAmount: 1
price:
amount: 12.92
currency: EUR
validFrom: null
expiresAt: '2024-12-12'
properties:
id:
type: string
pattern: \d+
example: '17'
description: Resource identifier.
product:
description: Reference to another resource
type: object
additionalProperties: false
required:
- id
properties:
id:
type: string
pattern: \d+
example: '17'
description: Resource identifier.
example:
id: '1337'
supplier:
type: object
additionalProperties: false
required:
- id
properties:
id:
type: string
pattern: \d+
example: '17'
description: Resource identifier.
description: Reference to a supplier for this price
example:
id: '194'
isStandardSupplier:
type: boolean
example: true
description: Sets the supplier to be the standard supplier for this product
supplierDesignation:
type: string
description: The designation of the supplier
example: Xentral
supplierItemNumber:
type: string
description: Supplier item number
example: 4992042-20
fromQuantity:
type: number
format: float
description: Minimum quantity for this price
example: 1
packageAmount:
type:
- number
- 'null'
format: float
description: Amount of items in a package
example: 10
price:
description: Price of the product
example:
amount: 7.3
currency: EUR
type: object
additionalProperties: false
properties:
amount:
x-description-missing: true
type: number
format: float
example: 7.3
currency:
x-description-missing: true
type: string
enum:
- EUR
- PLN
- CHF
- USD
- GBP
example: EUR
validFrom:
type:
- string
- 'null'
format: date
description: Date from which the price is valid
example: '2023-12-01'
expiresAt:
type:
- string
- 'null'
format: date
description: Date until which the price is valid
example: '2024-12-12'
extra:
type: object
required:
- totalCount
- page
additionalProperties: false
x-description-ignore: true
properties:
totalCount:
description: the total count of all items
type: integer
example: 1
page:
description: The pagination object containing the current page number and size
type: object
required:
- number
- size
additionalProperties: false
properties:
number:
description: The current page number
type: integer
example: 1
size:
description: The size of the pages
type: integer
example: 10
example:
number: 1
size: 10
example:
totalCount: 1
page:
number: 1
size: 10
examples:
Lists all purchase prices:
value:
data:
- id: '1'
product:
id: '5'
supplier:
id: '7'
isStandardSupplier: false
supplierDesignation: '123456'
supplierItemNumber: ''
fromQuantity: 1
packageAmount: 1
price:
amount: 12.92
currency: EUR
validFrom: null
expiresAt: null
- id: '2'
product:
id: '5'
supplier:
id: '7'
isStandardSupplier: false
supplierDesignation: '123456'
supplierItemNumber: ''
fromQuantity: 10
packageAmount: 1
price:
amount: 10.45
currency: EUR
validFrom: null
expiresAt: '2024-04-10'
extra:
totalCount: 2
page:
number: 1
size: 10
'400':
description: IETF RFC 9457 Problem API compliant response
content:
application/problem+json:
schema:
oneOf:
- type: object
additionalProperties: false
required:
- type
- title
- violations
properties:
type:
type: string
enum:
- https://api.xentral.biz/problems/request-validation
title:
type: string
minLength: 1
example: Request payload validation failed.
violations:
oneOf:
- type: array
items:
type: object
example:
username:
- This value should not be blank.
email:
- This value is not a valid email address.
description: This field will be a mirrored request payload with only invalid fields and values replaced by error messages.
- type: object
example:
_:
- This value should contain at most `9` elements.
description: This field will be a mirrored request payload with only invalid fields and values replaced by error messages.
- type: object
additionalProperties: false
required:
- type
- title
- messages
properties:
type:
type: string
enum:
- https://api.xentral.biz/problems/generic-validation
title:
type: string
minLength: 1
messages:
type: array
items:
type: string
- type: object
additionalProperties: false
required:
- type
- title
- messages
properties:
type:
type: string
enum:
- https://api.xentral.biz/problems/conflict
title:
type: string
minLength: 1
messages:
type: array
items:
type: string
- type: object
additionalProperties: false
required:
- type
- title
- items
properties:
type:
type: string
enum:
- https://api.xentral.biz/problems/conflictItems
title:
type: string
minLength: 1
items:
type: array
items:
type: object
additionalProperties: false
required:
- id
- title
- messages
properties:
id:
type: integer
title:
type: string
minLength: 1
messages:
type: array
items:
type: string
- type: object
additionalProperties: false
required:
- type
- title
- scopes
properties:
type:
type: string
enum:
- https://developer.xentral.com/reference/problems#token-scopes
title:
type: string
minLength: 1
scopes:
type: array
items:
type: string
- type: object
additionalProperties: false
required:
- type
- title
- messages
properties:
type:
type: string
enum:
- https://api.xentral.biz/problems/generic-validation
title:
type: string
minLength: 1
messages:
type: object
additionalProperties:
type: array
items:
type: string
'401':
description: Unable to authenticate the client
content:
application/json:
schema:
type: object
properties:
message:
type: string
description: Error message explaining why the request failed.
example: 'Missing required scopes: customer:create.'
example:
message: 'Missing required scopes: customer:create.'
text/html:
schema:
type: string
example: Unauthorized
'403':
description: Unable to authorize the client
'404':
description: Resource was not found or not enough access privileges
'406':
description: Requested resource representation does not exist.
'429':
description: Too many API calls made.
patch:
deprecated: true
tags:
- Purchase Price
operationId: purchasePrice.updateMultiple
summary: Update multiple purchase prices V1
description: Updates multiple purchase prices
requestBody:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
additionalProperties: false
required:
- id
properties:
id:
type: string
pattern: \d+
example: '17'
description: Resource identifier.
supplier:
type: object
additionalProperties: false
required:
- id
properties:
id:
type: string
pattern: \d+
example: '17'
description: Resource identifier.
description: Reference to a supplier for this price
example:
id: '194'
isStandardSupplier:
description: Loose boolean type which accepts boolean, number 0 or 1 and string 'true' or 'false'
example: '''true'''
oneOf:
- type: boolean
- type: number
enum:
- 0
- 1
- type: string
enum:
- 'true'
- 'false'
- 'True'
- 'False'
- 'TRUE'
- 'FALSE'
supplierDesignation:
type: string
description: The designation of the supplier
example: Xentral
supplierItemNumber:
type: string
description: Supplier item number
example: 4992042-20
fromQuantity:
type: number
format: float
description: Minimum quantity for this price
example: 1
packageAmount:
type:
- number
- 'null'
format: float
description: Amount of items in a package
example: 10
price:
description: Price of the product
example:
amount: 7.3
currency: EUR
type: object
additionalProperties: false
properties:
amount:
x-description-missing: true
type: number
format: float
example: 7.3
currency:
x-description-missing: true
type: string
enum:
- EUR
- PLN
- CHF
- USD
- GBP
example: EUR
validFrom:
type:
- string
- 'null'
format: date
description: Date from which the price is valid
example: '2023-12-01'
expiresAt:
type:
- string
- 'null'
format: date
description: Date until which the price is valid
example: '2024-12-12'
exa
# --- truncated at 32 KB (136 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/xentral/refs/heads/main/openapi/xentral-purchase-price-api-openapi.yml