Skip to content

Read selling price

GET/v1/catalog/items/{catalogItemId}/selling-price

Requires selling_prices:read. Reads the platform override for this medication presentation. The same price applies to all pharmacies and passes to the platform’s practices. affinityPriceCents is the explicit Affinity default, or null when none is set.

Request example

curl -X GET 'https://api.affinityrx.com/v1/catalog/items/{catalogItemId}/selling-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>"
  },
  "purchaseAmountCents": 0,
  "requiresReview": false
}
{
  "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

catalogItemIdstringrequired

Pattern: ^cat_[0-7][0-9a-hjkmnp-tv-z]{25}$

Query parameters

practiceIdstring | null
Show schema
Any of · 1: string

string

Pattern: ^prac_[0-7][0-9a-hjkmnp-tv-z]{25}$

Any of · 2: null

null

Headers

Affinity-Versionstring

Selects 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 | nullrequired
Show 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

versionintegerrequired
currencystringrequired

Allowed: "USD"

affinityPriceCentsany & any | nullrequired
Show 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 | nullrequired
Show affinityBasis fields
Any of · 1: object
Any of · 1: object
kindstringrequired

Allowed: "item"

quantitystringrequired

Allowed: "1"

unitanyrequired
Show unit fields
All of · 1: any

any

Minimum length: 1

quantityPricesany | null
Show quantityPrices fields
Any of · 1: any

Array items · object

quantityany & anyrequired
Show quantity fields
All of · 1: any

any

Maximum length: 100

All of · 2: any

any

Pattern: ^(?:0|[1-9]\d*)(?:\.\d*[1-9])?$

amountCentsanyrequired
Show 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
kindstringrequired

Allowed: "package"

quantityany & anyrequired
Show quantity fields
All of · 1: any

any

Maximum length: 100

All of · 2: any

any

Pattern: ^(?:0|[1-9]\d*)(?:\.\d*[1-9])?$

unitanyrequired
Show unit fields
All of · 1: any

any

Minimum length: 1

Any of · 3: object
kindstringrequired

Allowed: "unit"

quantitystringrequired

Allowed: "1"

unitanyrequired
Show unit fields
All of · 1: any

any

Minimum length: 1

Any of · 2: null

null

basisobjectrequired
Show basis fields
Any of · 1: object
kindstringrequired

Allowed: "item"

quantitystringrequired

Allowed: "1"

unitanyrequired
Show unit fields
All of · 1: any

any

Minimum length: 1

quantityPricesany | null
Show quantityPrices fields
Any of · 1: any

Array items · object

quantityany & anyrequired
Show quantity fields
All of · 1: any

any

Maximum length: 100

All of · 2: any

any

Pattern: ^(?:0|[1-9]\d*)(?:\.\d*[1-9])?$

amountCentsanyrequired
Show 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
kindstringrequired

Allowed: "package"

quantityany & anyrequired
Show quantity fields
All of · 1: any

any

Maximum length: 100

All of · 2: any

any

Pattern: ^(?:0|[1-9]\d*)(?:\.\d*[1-9])?$

unitanyrequired
Show unit fields
All of · 1: any

any

Minimum length: 1

Any of · 3: object
kindstringrequired

Allowed: "unit"

quantitystringrequired

Allowed: "1"

unitanyrequired
Show unit fields
All of · 1: any

any

Minimum length: 1

purchaseAmountCentsintegerrequired
requiresReviewbooleanrequired
400HTTP 400

application/json

codestringrequired
dataobject
detailstringrequired
instancestringrequired
requestIdstringrequired
statusintegerrequired

Minimum: 400

Maximum: 599

titlestringrequired
traceIdstring
typestringrequired

Format: uri

401Unauthorized

application/json

codestringrequired
dataobject
detailstringrequired
instancestringrequired
requestIdstringrequired
statusintegerrequired

Minimum: 400

Maximum: 599

titlestringrequired
traceIdstring
typestringrequired

Format: uri

403Forbidden

application/json

codestringrequired
dataobject
detailstringrequired
instancestringrequired
requestIdstringrequired
statusintegerrequired

Minimum: 400

Maximum: 599

titlestringrequired
traceIdstring
typestringrequired

Format: uri

404Not found

application/json

codestringrequired
dataobject
detailstringrequired
instancestringrequired
requestIdstringrequired
statusintegerrequired

Minimum: 400

Maximum: 599

titlestringrequired
traceIdstring
typestringrequired

Format: uri

409Conflict

application/json

codestringrequired
dataobject
detailstringrequired
instancestringrequired
requestIdstringrequired
statusintegerrequired

Minimum: 400

Maximum: 599

titlestringrequired
traceIdstring
typestringrequired

Format: uri

429Too many requests

application/json

codestringrequired
dataobject
detailstringrequired
instancestringrequired
requestIdstringrequired
statusintegerrequired

Minimum: 400

Maximum: 599

titlestringrequired
traceIdstring
typestringrequired

Format: uri

Type to search…

↑↓ navigate↵ selectEsc close