Read presentation price
/v1/catalog/items/{catalogItemId}/presentation-priceRequires selling_prices:read. Reads the Affinity default and this platform's override, shared by every pharmacy and inherited by all its practices. Missing defaults are null.
Request example
curl -X GET 'https://api.affinityrx.com/v1/catalog/items/{catalogItemId}/presentation-price' \
-H "Authorization: Bearer $AFFINITY_API_KEY" \
-H 'Affinity-Version: 2026-09-28'Response example
These examples show the body structure. Values can differ. Select a status code to see its response.
{
"amountCents": "<string>",
"version": 0,
"currency": "USD",
"affinityPriceCents": "<string>",
"affinityBasis": {
"kind": "item",
"quantity": "1",
"unit": "<string>",
"quantityPrices": "<string>"
},
"basis": {
"kind": "item",
"quantity": "1",
"unit": "<string>",
"quantityPrices": "<string>"
}
}{
"code": "<string>",
"data": "<string>",
"detail": "<string>",
"instance": "<string>",
"requestId": "<string>",
"status": 400,
"title": "<string>",
"traceId": "<string>",
"type": "<string>"
}{
"code": "<string>",
"data": "<string>",
"detail": "<string>",
"instance": "<string>",
"requestId": "<string>",
"status": 401,
"title": "<string>",
"traceId": "<string>",
"type": "<string>"
}{
"code": "<string>",
"data": "<string>",
"detail": "<string>",
"instance": "<string>",
"requestId": "<string>",
"status": 403,
"title": "<string>",
"traceId": "<string>",
"type": "<string>"
}{
"code": "<string>",
"data": "<string>",
"detail": "<string>",
"instance": "<string>",
"requestId": "<string>",
"status": 404,
"title": "<string>",
"traceId": "<string>",
"type": "<string>"
}{
"code": "<string>",
"data": "<string>",
"detail": "<string>",
"instance": "<string>",
"requestId": "<string>",
"status": 409,
"title": "<string>",
"traceId": "<string>",
"type": "<string>"
}{
"code": "<string>",
"data": "<string>",
"detail": "<string>",
"instance": "<string>",
"requestId": "<string>",
"status": 429,
"title": "<string>",
"traceId": "<string>",
"type": "<string>"
}Implementation specification
Use these field types and limits to build your integration. Download the OpenAPI document for the complete contract.
Path parameters
catalogItemIdstringrequiredPattern: ^cat_[0-7][0-9a-hjkmnp-tv-z]{25}$
Query parameters
practiceIdstring | nullShow schema
Any of · 1: string
string
Pattern: ^prac_[0-7][0-9a-hjkmnp-tv-z]{25}$
Any of · 2: null
null
Headers
Affinity-VersionstringSelects the HTTP API contract for this request only. When omitted, API-key requests use their service account’s stored version. Does not change the stored default.
Pin requests to 2026-09-28.
Response specifications
200Successful response
application/json
amountCentsany & any | nullrequiredShow amountCents fields
Any of · 1: any & any
All of · 1: any
any
Greater than: 0
All of · 2: any
any
Maximum: 2147483647
Any of · 2: null
null
versionintegerrequiredcurrencystringrequiredAllowed: "USD"
affinityPriceCentsany & any | nullrequiredShow affinityPriceCents fields
Any of · 1: any & any
All of · 1: any
any
Greater than: 0
All of · 2: any
any
Maximum: 2147483647
Any of · 2: null
null
affinityBasisobject | nullrequiredShow affinityBasis fields
Any of · 1: object
Any of · 1: object
kindstringrequiredAllowed: "item"
quantitystringrequiredAllowed: "1"
unitanyrequiredShow unit fields
All of · 1: any
any
Minimum length: 1
quantityPricesany | nullShow quantityPrices fields
Any of · 1: any
Array items · object
quantityany & anyrequiredShow quantity fields
All of · 1: any
any
Maximum length: 100
All of · 2: any
any
Pattern: ^(?:0|[1-9]\d*)(?:\.\d*[1-9])?$
amountCentsanyrequiredShow amountCents fields
All of · 1: any
any
Greater than: 0
All of · 1: any
any
Minimum items: 1
Any of · 2: null
null
Any of · 2: object
kindstringrequiredAllowed: "package"
quantityany & anyrequiredShow quantity fields
All of · 1: any
any
Maximum length: 100
All of · 2: any
any
Pattern: ^(?:0|[1-9]\d*)(?:\.\d*[1-9])?$
unitanyrequiredShow unit fields
All of · 1: any
any
Minimum length: 1
Any of · 3: object
kindstringrequiredAllowed: "unit"
quantitystringrequiredAllowed: "1"
unitanyrequiredShow unit fields
All of · 1: any
any
Minimum length: 1
Any of · 2: null
null
basisobject | nullrequiredShow basis fields
Any of · 1: object
Any of · 1: object
kindstringrequiredAllowed: "item"
quantitystringrequiredAllowed: "1"
unitanyrequiredShow unit fields
All of · 1: any
any
Minimum length: 1
quantityPricesany | nullShow quantityPrices fields
Any of · 1: any
Array items · object
quantityany & anyrequiredShow quantity fields
All of · 1: any
any
Maximum length: 100
All of · 2: any
any
Pattern: ^(?:0|[1-9]\d*)(?:\.\d*[1-9])?$
amountCentsanyrequiredShow amountCents fields
All of · 1: any
any
Greater than: 0
All of · 1: any
any
Minimum items: 1
Any of · 2: null
null
Any of · 2: object
kindstringrequiredAllowed: "package"
quantityany & anyrequiredShow quantity fields
All of · 1: any
any
Maximum length: 100
All of · 2: any
any
Pattern: ^(?:0|[1-9]\d*)(?:\.\d*[1-9])?$
unitanyrequiredShow unit fields
All of · 1: any
any
Minimum length: 1
Any of · 3: object
kindstringrequiredAllowed: "unit"
quantitystringrequiredAllowed: "1"
unitanyrequiredShow unit fields
All of · 1: any
any
Minimum length: 1
Any of · 2: null
null
400HTTP 400
application/json
codestringrequireddataobjectdetailstringrequiredinstancestringrequiredrequestIdstringrequiredstatusintegerrequiredMinimum: 400
Maximum: 599
titlestringrequiredtraceIdstringtypestringrequiredFormat: uri
401Unauthorized
application/json
codestringrequireddataobjectdetailstringrequiredinstancestringrequiredrequestIdstringrequiredstatusintegerrequiredMinimum: 400
Maximum: 599
titlestringrequiredtraceIdstringtypestringrequiredFormat: uri
403Forbidden
application/json
codestringrequireddataobjectdetailstringrequiredinstancestringrequiredrequestIdstringrequiredstatusintegerrequiredMinimum: 400
Maximum: 599
titlestringrequiredtraceIdstringtypestringrequiredFormat: uri
404Not found
application/json
codestringrequireddataobjectdetailstringrequiredinstancestringrequiredrequestIdstringrequiredstatusintegerrequiredMinimum: 400
Maximum: 599
titlestringrequiredtraceIdstringtypestringrequiredFormat: uri
409Conflict
application/json
codestringrequireddataobjectdetailstringrequiredinstancestringrequiredrequestIdstringrequiredstatusintegerrequiredMinimum: 400
Maximum: 599
titlestringrequiredtraceIdstringtypestringrequiredFormat: uri
429Too many requests
application/json
codestringrequireddataobjectdetailstringrequiredinstancestringrequiredrequestIdstringrequiredstatusintegerrequiredMinimum: 400
Maximum: 599
titlestringrequiredtraceIdstringtypestringrequiredFormat: uri