Skip to content

Update prescriber

PATCH/v1/practices/{practiceId}/team/prescribers/{prescriberId}

Requires team:write. Set practiceStatus to inactive to remove prescribing access in this practice, or active to restore an existing association. This does not create membership or signing authority. Practice status applies to Test and Live. Shared identity and license edits require Affinity support.

Request example

Replace example values with your Test data. Check the field rules below before you send a request.

{
  "displayName": "<string>",
  "legalName": "<string>",
  "credentials": "<string>",
  "phone": "<string>",
  "address": {
    "city": "<string>",
    "country": "<string>",
    "line1": "<string>",
    "line2": "<string>",
    "postalCode": "<string>",
    "state": "<string>"
  },
  "practiceStatus": "active"
}
curl -X PATCH 'https://api.affinityrx.com/v1/practices/{practiceId}/team/prescribers/{prescriberId}' \
  -H "Authorization: Bearer $AFFINITY_API_KEY" \
  -H 'Affinity-Version: 2026-09-28' \
  -H 'Idempotency-Key: <Idempotency-Key>' \
  -H 'Content-Type: application/json' \
  --data @request.json

Response example

These examples show the body structure. Values can differ. Select a status code to see its response.

{
  "id": "prov_01j2y8m6jcc9tt24af5pw9x1bc",
  "name": "<string>",
  "legalName": "<string>",
  "credentials": "<string>",
  "phone": "<string>",
  "address": {
    "line1": "<string>",
    "line2": "<string>",
    "city": "<string>",
    "state": "<string>",
    "postalCode": "<string>",
    "country": "<string>"
  },
  "npi": "<string>",
  "practiceStatus": "<string>",
  "licenses": [
    {
      "id": "lic_01j2y8m6jcc9tt24af5pw9x1bc",
      "state": "<string>",
      "licenseNumber": "<string>",
      "expiresAt": "<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

practiceIdstringrequired

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

prescriberIdstringrequired

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

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.

Idempotency-Keystringrequired

Request body specification application/json

displayNamestring | null
Show displayName fields
Any of · 1: string

string

Any of · 2: null

null

legalNamestring | null
Show legalName fields
Any of · 1: string

string

Any of · 2: null

null

credentialsstring | null | null
Show credentials fields
Any of · 1: string | null
Any of · 1: string

string

Any of · 2: null

null

Any of · 2: null

null

phonestring | null | null
Show phone fields
Any of · 1: string | null
Any of · 1: string

string

Any of · 2: null

null

Any of · 2: null

null

addressobject | null | null
Show address fields
Any of · 1: object | null
Any of · 1: object
citystringrequired
countrystringrequired
line1stringrequired
line2string | null
Show line2 fields
Any of · 1: string

string

Any of · 2: null

null

postalCodestringrequired
statestringrequired
Any of · 2: null

null

Any of · 2: null

null

practiceStatusstring

Allowed: "active", "inactive"

Response specifications

200Successful response

application/json

idstringrequired

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

namestringrequired
legalNamestringrequired
credentialsstring | nullrequired
Show credentials fields
Any of · 1: string

string

Any of · 2: null

null

phonestring | nullrequired
Show phone fields
Any of · 1: string

string

Any of · 2: null

null

addressobject | nullrequired
Show address fields
Any of · 1: object
line1stringrequired
line2string | null
Show line2 fields
Any of · 1: string

string

Any of · 2: null

null

citystringrequired
statestringrequired
postalCodestringrequired
countrystringrequired
Any of · 2: null

null

npistringrequired
practiceStatusstringrequired
licensesobject[]required
Show licenses fields

Array items · object

idanyrequired
Show id fields
All of · 1: any

any

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

statestringrequired
licenseNumberstringrequired
expiresAtstring | nullrequired
Show expiresAt fields
Any of · 1: string

string

Any of · 2: null

null

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