Update prescriber
/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.jsonResponse 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
practiceIdstringrequiredPattern: ^prac_[0-7][0-9a-hjkmnp-tv-z]{25}$
prescriberIdstringrequiredPattern: ^prov_[0-7][0-9a-hjkmnp-tv-z]{25}$
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.
Idempotency-KeystringrequiredRequest body specification application/json
displayNamestring | nullShow displayName fields
Any of · 1: string
string
Any of · 2: null
null
legalNamestring | nullShow legalName fields
Any of · 1: string
string
Any of · 2: null
null
credentialsstring | null | nullShow credentials fields
Any of · 1: string | null
Any of · 1: string
string
Any of · 2: null
null
Any of · 2: null
null
phonestring | null | nullShow phone fields
Any of · 1: string | null
Any of · 1: string
string
Any of · 2: null
null
Any of · 2: null
null
addressobject | null | nullShow address fields
Any of · 1: object | null
Any of · 1: object
citystringrequiredcountrystringrequiredline1stringrequiredline2string | nullShow line2 fields
Any of · 1: string
string
Any of · 2: null
null
postalCodestringrequiredstatestringrequiredAny of · 2: null
null
Any of · 2: null
null
practiceStatusstringAllowed: "active", "inactive"
Response specifications
200Successful response
application/json
idstringrequiredPattern: ^prov_[0-7][0-9a-hjkmnp-tv-z]{25}$
namestringrequiredlegalNamestringrequiredcredentialsstring | nullrequiredShow credentials fields
Any of · 1: string
string
Any of · 2: null
null
phonestring | nullrequiredShow phone fields
Any of · 1: string
string
Any of · 2: null
null
addressobject | nullrequiredShow address fields
Any of · 1: object
line1stringrequiredline2string | nullShow line2 fields
Any of · 1: string
string
Any of · 2: null
null
citystringrequiredstatestringrequiredpostalCodestringrequiredcountrystringrequiredAny of · 2: null
null
npistringrequiredpracticeStatusstringrequiredlicensesobject[]requiredShow licenses fields
Array items · object
idanyrequiredShow id fields
All of · 1: any
any
Pattern: ^lic_[0-7][0-9a-hjkmnp-tv-z]{25}$
statestringrequiredlicenseNumberstringrequiredexpiresAtstring | nullrequiredShow expiresAt fields
Any of · 1: string
string
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