Skip to content

List pharmacies

GET/v1/pharmacies

Lists 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 | null
Show schema
Any of · 1: string

string

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

Any of · 2: null

null

limitinteger

Default: 25

Minimum: 1

Maximum: 100

orgIdstring | null
Show schema
Any of · 1: string

string

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

Any of · 2: null

null

pharmacyIdstring | null
Show schema
Any of · 1: string

string

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

Any of · 2: null

null

querystring | null
Show schema
Any of · 1: string

string

Any of · 2: null

null

shipsToStatestring | null
Show schema
Any of · 1: string

string

Any of · 2: null

null

startingAfterstring | null
Show schema
Any of · 1: string

string

Pattern: ^pharm_[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

dataobject[]required
Show data fields

Array items · object

accessstringrequired

Allowed: "invited", "network"

catalogItemCountintegerrequired

Minimum: 0

facilityTypestringrequired
facilityLocationsobject[]required
Show facilityLocations fields

Array items · object

citystring | nullrequired
Show city fields
Any of · 1: string

string

Any of · 2: null

null

countrystring | nullrequired
Show country fields
Any of · 1: string

string

Any of · 2: null

null

namestringrequired
statestring | nullrequired
Show state fields
Any of · 1: string

string

Any of · 2: null

null

idstringrequired

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

livemodebooleanrequired
logoUrlstring | nullrequired
Show logoUrl fields
Any of · 1: string

string

Any of · 2: null

null

namestringrequired
objectstringrequired

Allowed: "pharmacy"

prescriptionsLast30Daysintegerrequired

Minimum: 0

profileobject | nullrequired
Show profile fields
Any of · 1: object
descriptionstringrequired
effectiveAtstringrequired
monthlyPrescriptionVolumeinteger | nullrequired
Show monthlyPrescriptionVolume fields
Any of · 1: integer

integer

Minimum: 0

Any of · 2: null

null

ratingnumber | string | nullrequired
Show 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 | nullrequired
Show ratingBasis fields
Any of · 1: string

string

Any of · 2: null

null

ratingReviewCountinteger | nullrequired
Show ratingReviewCount fields
Any of · 1: integer

integer

Minimum: 0

Any of · 2: null

null

recommendedRankinteger | nullrequired
Show recommendedRank fields
Any of · 1: integer

integer

Greater than: 0

Any of · 2: null

null

Any of · 2: null

null

restrictedStatesstring[]required
Show restrictedStates fields

Array items · string

string

shippingOptionsobject[]required
Show shippingOptions fields

Array items · object

amountCentsintegerrequired

Minimum: 0

carrierstring | nullrequired
Show carrier fields
Any of · 1: string

string

Any of · 2: null

null

currencystringrequired

Allowed: "USD"

destinationTypesstring[]required
Show destinationTypes fields

Array items · string

string

Allowed: "patient", "practice"

estimatedDaysMaxinteger | nullrequired
Show estimatedDaysMax fields
Any of · 1: integer

integer

Minimum: 0

Any of · 2: null

null

estimatedDaysMininteger | nullrequired
Show estimatedDaysMin fields
Any of · 1: integer

integer

Minimum: 0

Any of · 2: null

null

idstringrequired

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

labelstringrequired
serviceLevelstringrequired
temperaturesstring[]required
Show temperatures fields

Array items · string

string

Allowed: "ambient", "refrigerated"

supportedStatesstring[]required
Show supportedStates fields

Array items · string

string

hasMorebooleanrequired
objectstringrequired

Allowed: "list"

urlstringrequired

Allowed: "/v1/pharmacies"

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

422Validation error

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