List pharmacies
/v1/pharmaciesLists pharmacies available to the authenticated account, including approved invite-only relationships.
Request example
curl -X GET 'https://api.affinityrx.com/v1/pharmacies' \
-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.
{
"data": [
{
"access": "invited",
"catalogItemCount": 0,
"facilityType": "<string>",
"facilityLocations": [
{
"city": "<string>",
"country": "<string>",
"name": "<string>",
"state": "<string>"
}
],
"id": "pharm_01j2y8m6jcc9tt24af5pw9x1bc",
"livemode": false,
"logoUrl": "<string>",
"name": "<string>",
"object": "pharmacy",
"prescriptionsLast30Days": 0,
"profile": {
"description": "<string>",
"effectiveAt": "<string>",
"monthlyPrescriptionVolume": 0,
"rating": 0,
"ratingBasis": "<string>",
"ratingReviewCount": 0,
"recommendedRank": 0
},
"restrictedStates": [
"<string>"
],
"shippingOptions": [
{
"amountCents": 0,
"carrier": "<string>",
"currency": "USD",
"destinationTypes": [
"patient"
],
"estimatedDaysMax": 0,
"estimatedDaysMin": 0,
"id": "shp_01j2y8m6jcc9tt24af5pw9x1bc",
"label": "<string>",
"serviceLevel": "<string>",
"temperatures": [
"ambient"
]
}
],
"supportedStates": [
"<string>"
]
}
],
"hasMore": false,
"object": "list",
"url": "/v1/pharmacies"
}{
"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": 422,
"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.
Query parameters
endingBeforestring | nullShow schema
Any of · 1: string
string
Pattern: ^pharm_[0-7][0-9a-hjkmnp-tv-z]{25}$
Any of · 2: null
null
limitintegerDefault: 25
Minimum: 1
Maximum: 100
orgIdstring | nullShow schema
Any of · 1: string
string
Pattern: ^acct_[0-7][0-9a-hjkmnp-tv-z]{25}$
Any of · 2: null
null
pharmacyIdstring | nullShow schema
Any of · 1: string
string
Pattern: ^pharm_[0-7][0-9a-hjkmnp-tv-z]{25}$
Any of · 2: null
null
querystring | nullShow schema
Any of · 1: string
string
Any of · 2: null
null
shipsToStatestring | nullShow schema
Any of · 1: string
string
Any of · 2: null
null
startingAfterstring | nullShow schema
Any of · 1: string
string
Pattern: ^pharm_[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
dataobject[]requiredShow data fields
Array items · object
accessstringrequiredAllowed: "invited", "network"
catalogItemCountintegerrequiredMinimum: 0
facilityTypestringrequiredfacilityLocationsobject[]requiredShow facilityLocations fields
Array items · object
citystring | nullrequiredShow city fields
Any of · 1: string
string
Any of · 2: null
null
countrystring | nullrequiredShow country fields
Any of · 1: string
string
Any of · 2: null
null
namestringrequiredstatestring | nullrequiredShow state fields
Any of · 1: string
string
Any of · 2: null
null
idstringrequiredPattern: ^pharm_[0-7][0-9a-hjkmnp-tv-z]{25}$
livemodebooleanrequiredlogoUrlstring | nullrequiredShow logoUrl fields
Any of · 1: string
string
Any of · 2: null
null
namestringrequiredobjectstringrequiredAllowed: "pharmacy"
prescriptionsLast30DaysintegerrequiredMinimum: 0
profileobject | nullrequiredShow profile fields
Any of · 1: object
descriptionstringrequiredeffectiveAtstringrequiredmonthlyPrescriptionVolumeinteger | nullrequiredShow monthlyPrescriptionVolume fields
Any of · 1: integer
integer
Minimum: 0
Any of · 2: null
null
ratingnumber | string | nullrequiredShow rating fields
Any of · 1: number | string
Any of · 1: number
number
Minimum: 0
Maximum: 5
Any of · 2: string
string
Allowed: "Infinity", "-Infinity", "NaN"
Any of · 2: null
null
ratingBasisstring | nullrequiredShow ratingBasis fields
Any of · 1: string
string
Any of · 2: null
null
ratingReviewCountinteger | nullrequiredShow ratingReviewCount fields
Any of · 1: integer
integer
Minimum: 0
Any of · 2: null
null
recommendedRankinteger | nullrequiredShow recommendedRank fields
Any of · 1: integer
integer
Greater than: 0
Any of · 2: null
null
Any of · 2: null
null
restrictedStatesstring[]requiredShow restrictedStates fields
Array items · string
string
shippingOptionsobject[]requiredShow shippingOptions fields
Array items · object
amountCentsintegerrequiredMinimum: 0
carrierstring | nullrequiredShow carrier fields
Any of · 1: string
string
Any of · 2: null
null
currencystringrequiredAllowed: "USD"
destinationTypesstring[]requiredShow destinationTypes fields
Array items · string
string
Allowed: "patient", "practice"
estimatedDaysMaxinteger | nullrequiredShow estimatedDaysMax fields
Any of · 1: integer
integer
Minimum: 0
Any of · 2: null
null
estimatedDaysMininteger | nullrequiredShow estimatedDaysMin fields
Any of · 1: integer
integer
Minimum: 0
Any of · 2: null
null
idstringrequiredPattern: ^shp_[0-7][0-9a-hjkmnp-tv-z]{25}$
labelstringrequiredserviceLevelstringrequiredtemperaturesstring[]requiredShow temperatures fields
Array items · string
string
Allowed: "ambient", "refrigerated"
supportedStatesstring[]requiredShow supportedStates fields
Array items · string
string
hasMorebooleanrequiredobjectstringrequiredAllowed: "list"
urlstringrequiredAllowed: "/v1/pharmacies"
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
422Validation error
application/json
codestringrequireddataobjectdetailstringrequiredinstancestringrequiredrequestIdstringrequiredstatusintegerrequiredMinimum: 400
Maximum: 599
titlestringrequiredtraceIdstringtypestringrequiredFormat: uri
429Too many requests
application/json
codestringrequireddataobjectdetailstringrequiredinstancestringrequiredrequestIdstringrequiredstatusintegerrequiredMinimum: 400
Maximum: 599
titlestringrequiredtraceIdstringtypestringrequiredFormat: uri